SKYPE协议分析

SKYPE协议分析

ID:40567808

大小:129.50 KB

页数:6页

时间:2019-08-04

SKYPE协议分析_第1页
SKYPE协议分析_第2页
SKYPE协议分析_第3页
SKYPE协议分析_第4页
SKYPE协议分析_第5页
资源描述:

《SKYPE协议分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Skype协议分析  1、概述  Skype是由Kazaa于2003年发明的基于P2P技术的VoIP客户端,用户可以通过Skype通过互联网进行语音和文本的传输。Skype的通讯协议是不公开的,而且通讯内容是加过密的,哥伦比亚大学的Baset和Schulzrinne完全在实验的基础上对Skype的通讯机制进行分析,通过分析得出的结论主要有三个:   (1)Skype的通话质量较MSN和Yahoo的即时通信工具要好;  (2)可以无缝的在NATs和防火墙后使用;  (3)安装使用起来非常简单。  2、Skype的网络结构  Skype的节点有两

2、种:客户端(ordinarynode)和超级节点(supernode,SN)。客户端必须链接到超级节点,并且在Skype的中央服务器登录。中央服务器保存用户的用户名和密码,完成登录的认证工作。图1中的小黑点是客户端,大黑点是超级节点(用于为其它客户端提供登录跳板及广播服务),灰色的点是Skype的登录服务器。  Skype可以看作是一个叠加在互联网之上的网络。与以往MSN等IM工具最大的不同在于其除了用户登录,其余工作基本不依赖中央服务器。Skype在穿透防火墙通讯时完全使用了PeertoPeer,而没用到中央服务器。每一个客户端都维护一个可

3、以到达的主机列表(hostcache,HC),包括其IP地址和端口号。图1 Skype的网络结构  用户下载安装完Skype后,Skype客户端会发送一段HTTP1.1的请求到中央服务器,告诉它我装完了一个什么样的版本,服务器会返回一个200OK的信息。客户端会进行登录初始化工作,针对三种不同类型的网络情况有三种不同的登录方式:  (1)直接有公众网的IP  (2)在内部网,可以通过TCP访问外部网络  (3)在内部网,但只能通过有限的几个端口(例如80和443)访问外部网络  Skype在登录的时候会先使用UDP请求HC中的IP,如果不行,

4、就用TCP请求HC中的IP及端口,如果还不行。就用TCP请求HC中的IP及80端口,如果又不行,就再请求HC中的IP及443端口。如果这时候还不行,那就登录不了了。整个过程中传输的数据量大概在8k-10k,持续的时间在3至35秒。  3、Skype的主要组成部分  3.1 端口  在Skype的连接属性对话框中可以设置监听的端口号,在安装的时候Skype会随机的选择一个端口作为监听的端口,这一点与HTTP协议等不同,Skype没有默认的服务端口。同时,它还会打开对80和443端口的监听。80是常见的HTTP服务默认端口,而443则是HTTPS

5、服务的默认端口。  3.2 主机列表  这里的主机指的是可以提供跳板及广播服务的SN的IP地址和端口号,这是Skype最重要的部分之一,HC中至少要有一个可用的主机地址和端口号。通常它被存储在注册表里的HKEY_CURRENT_USER/SOFTWARE/Skype/PHONE/LIB/CONNEC-TION/HOSTCACHE中。一般情况下,在Skype运行两天后,HC中的SN地址及对应的端口号会达到约200个。  3.3 编解码器  Skype采用了iLBC、iSAC和一个保密的编解码器,能够对50-8,000Hz范围内的语音信号进行编码

6、。GlobalIPSound已经实现了iLBC和iSAC编解码器,其网站表明了Skype是他们的合作伙伴。由此来看Skype应该是使用了GlobalIPSound的编解码器实现的语音通讯。  3.4 好友列表  Skype的好友列表没有保存在服务器上,而是保存在本地的注册表中,并进行了加密。这就使得用户如果更换了另外一台电脑之后需要重新构建好友列表。  3.5 加密  Skype使用AES(AdvancedEncryptionStandard)加密标准,这也是美国政府使用的一个加密标准。Skype采用了256比特加密,可能的密钥有1.1×10

7、77个。  3.6 NAT与防火墙  Skype应该是使用了STUN和TURN协议来检测所处的NAT及防火墙环境。Skype定期的刷新这些信息,这些信息也是存储在注册表中的。与另外一个点对点文件共享系统Kazza不同,普通客户端无法阻止自己成为SuperNode(SN),就是说它随时可能被征用成为别人登录服务和广播服务的提供者,就是类似于BT中的种子提供者的角色。4、Skype的主要功能  Skype的功能主要可以分为:初始化,登录,用户搜索,呼叫建立与终止,媒体传输和状态消息。  4.1 初始化  第一次安装后,Skype会发送一段HTTP

8、1.1的请求给中央服务器,包括关键字“installed”以及所装Skype的版本号。以后的每次登录Skype都会向中央服务器发送一小段包含关键字“getlates

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。