skype 为什么可以通过网络打电话?
【转】Skype的通信原理
1、Skype网络结构
与常规的电信业务网络不同的是,Skype的网络中除了注册服务器,没有其他任何集中的服务器,只是将用户节点分为普通节点和超级节点。Skype的系统连接结构。
注册服务器是Skype惟一需要维护的设备,它负责完成客户端的注册,存储并管理用户名和密码信息,当用户登录系统时,对用户进行身份认证。注册服务器还需要检验并保证用户名的全球惟一性。
普通节点即普通主机终端,只需要下载了Skype的应用,就具有提供语音呼叫和文本消息传送的能力。
超级节点实际上是满足某些要求的普通节点,这些要求包括:具有公网地址、具有足够的CPU、存储空间足够大、具有足够的网络带宽。也就是说,任何符合条件的主机终端都可以成为超级节点,当然前提是加载了Skype应用。
2、skype网络电话原理
无线skype电话的工作原理,通过USB接口,与电脑相连接,从而实现skypein、skypeout的功能。而2.4G多子机无线数码电话的功能则体现在接收与拨打普通电话上。需在电脑上运用skype 软件进行的网络电话、网络会议、查找联系人、浏览来电记录等操作,通过双功能无线手机同样可实现。它基于独创的全新技术,以高清晰的电话音质,丰富完备的功能,和超值低价格在全球同类产品中脱颖而出,在技术上处于领先地位。因为skype间用户通话费用全免,而SWP-36288 Skype Phone数字无蝇电话机使用户通话时免去了固定电话机电缆连接线的束缚,可以随时自由自在的移动,还可以方便地在普通电话与Skype电话之间任意切换。真正的给用户带来了方便、快捷、实惠、省钱。因此,该产品深受消费者的好评与青睐
USB-B2K类似一个电话适配器,一个连接到PC的USB接口,一个连接到PSTN外线的RJ11接口,一个连接到内线普通电话机或无绳电话机的RJ11接口。拥有了它以后,所有普通电话机或者无绳电话机都可以用来接听/拨打Skype电话
因为Skype的通讯协议是不公开的,而且通讯内容是加过密的,这两位完全在实验的基础上对Skype的通讯机制进行分析,分析结果很有参考价值。
通过分析得出的结论主要有三个:
1、Skype的通话质量较MSN和Yahoo的即时通信工具要好;
2、可以无缝的在NATs和防火墙后使用;
3、安装使用起来确实非常简单。
Skype与以往MSN等IM工具最大的不同在于基除了用户登录,其余工作基本不依赖中央服务器,Skype在穿透防火墙通讯时完全使用了Peer to Peer,而没用到中央服务器。上图中的小黑点是客户端,大黑点是超级节点(用于为其它客户端提供登录踏板及广播服务),灰色的点是Skype的登录服务器。
用户下载安装完Skype后,Skype客户端会发送一段HTTP 1.1的请求到中央服务器,告诉它我装完了一个什么样的版本:
GET /ui/0/97/en/installed HTTP/1.1
User-Agent: Skype™ Beta 0.97
Host: ui.skype.com
Cache-Control: no-cache
服务器会返回一个200 OK的信息:
HTTP/1.1 200 OK
Date: Tue, 20 Apr 2004 04:51:39 GMT
Server: Apache/2.0.47 (Debian GNU/Linux) PHP/4.3.5
mod_ssl/2.0.47 OpenSSL/0.9.7b
X-Powered-By: PHP/4.3.5
Cache-control: no-cache, must revalidate
Pragma: no-cache
Expires: 0
Content-Length: 0
Content-Type: text/html; charset=utf-8
Content-Language: en
客户端会进行登录初始化工作,这一步工作包含很多内容,针对三种不同类型的网络情况有三种不同的登录方式:
1、直接有公众网的IP
2、在内部网,可以通过TCP访问外部网络
3、在内部网,但只能通过有限的几个端口(例如80和443)访问外部网络
Skype在登录的时候会先使用UDP请求主机列表(host cache)中的IP,如果不行,就用TCP请求HC中的IP及端口,如果还不行,就用TCP请求HC中的IP及80端口,如果又不行,就再请求HC中的IP及443端口。如果这时候还不行,那就登录不了了。整个过程中传输的数据量大概在8k-10k,持续的时间在3至35秒。
Skype的主要组成部分-Skype通讯协议分析(2)1、端口
在Skype的连接属性对话框中可以设置监听的端口号,在安装的时候Skype会随机的选择一个端口作为监听的端口,这一点与HTTP协议等不同,Skype没有默认的服务端口。同时,它还会打开对80和443端口的监听。80是常见的HTTP服务默认端口,而443则是HTTPS服务的默认端口。
2、主机列表(HC,Host Cache)
这里的主机指的是可以提供踏板及广播服务的Super Node(SN)。通常它被存储在注册表里的:HKEY_CURRENT_USER / SOFTWARE / SKYPE / PHONE / LIB / CONNECTION / HOSTCACHE 中.一般情况下,运行两天后,HC中会有约200个机器地址及对应的端口号。
3、编解码器
要能语音通信,编解码器当然少不了。Global IP Sound在他的网站上专用明它为Skype提供点对点语音通讯软件:Global IP Sound provides voice processing software to Skype's peer-to-peer voice-communications software.Skype应该是使用了他们的编解码器实现的语音通讯。
skype打电话方法
1、下载运行,安装SKYPE应用程序。
2、安装完成之后登陆skype,如果没有skype账号,用msn的账号登陆也可以。如果没有账号就先注册一个。
3、登陆skype成功后,左侧边有功能栏,点击拨打电话。
4、在打开的拨号界面中,直接输入电话号码就可以打电话了。
5、页面默认的是拨打中国电话,如果要拨打其他国家的电话号码,请先在左边选择国家。
6、打电话是需要钱的,如果试用时间用完了,再拨打电话就会显示skype点数不足,这个时候就需要购买skype点数了。
7、点击购买skype点数就会直接跳转到一个页面,在这里可以查询到要拨打的国际长途的费率,选择合适的套餐付款之后就可以拨打电话了。