Skype 协议分析 1、概述 Skype 是由Kazaa 于 2003 年发明的基于P2P 技术的VoIP 客户端,用户可以通过Skype通过互联网进行语音和文本的传输
Skype 的通讯协议是不公开的,而且通讯内容是加过密的,哥伦比亚大学的Baset 和 Schulzrinne 完全在实验的基础上对Skype 的通讯机制 进行分析,通过分析得出的结论主要有三个: ( 1) Skype 的通话质量较MSN 和 Yahoo 的即时通信工具要好; ( 2)可以无缝的在NATs 和防火墙后使用; ( 3)安装使用起来非常简单
2、 Skype 的网络结构 Skype 的节点有两种:客户端(ordinary node)和超级节点(super node, SN)
客户端必须链接到超级节点,并且在Skype 的中央服务器登录
中央服务器保存用户的用户名和密码,完成登录的认证工作
图1 中的小黑 点是客户端,大黑点是超级节点(用于为其它客户端提供登录跳板及广播服务),灰色的点是Skype 的登录服务器
Skype 可以看作是一个叠加在互联网之上的网络
与以 往 MSN 等 IM 工具最大的不同在于其除了用户登录,其余工作基本不依赖中央服务器
Skype 在穿透防火墙通讯时完全使用了Peer to Peer,而没用到中央服务器
每一个客户端都维护一个可以到达的主机列表( host cache, HC),包括其IP 地址和端口号
图 1 Skype 的网络结构 用户下载安装完Skype 后,Skype 客户端会发送一段HTTP 1
1 的请求到中央服务器,告诉它我装完了一个什么样的版本,服务器会返回一个200 OK 的信息
客户端会进行登录初始化工作,针对三种不同类型的网络情况有三种不同的登录方式: ( 1)直接有公众网的IP ( 2)在内部网,可以通过TCP 访问外部网络 (