admin管理员组

文章数量:1531336

2024年6月20日发(作者:)

SKYPE分析解剖报告

Skype是由Kazaa于2003年发明的基于P2P技术的VoIP客户端,用户可以

通过Skype通过互联网进行语音和文本的传输。Skype的通讯协议是不公开的,

而且通讯内容是加过密的。Skype的主要优势在于:通话质量好,语音清晰,带

宽占用低,无缝地穿透NAT和防火墙,安装使用简单方便。

本文主要分析skype的网络结构、关键技术。

1 SKYPE组网结构

普通主机(SC)

超级结点(SN)

______ 连接关系

图1 Skype网络 有三种主要的实体,普通主机、超级结点、登陆服务器。

Skype是基于Peer to Peer对等网的。在这个对等网络中有两种结点,普通主

机和超级结点(SN)。普通主机结点是一个可以语音通话和发送文本消息的应用程

序;超级结点是一个普通结点的终点。任何一个有公网IP,足够的CPU,内存

资源和带宽的普通结点都将成为一个候选的超级结点。每个普通结点必须连接到

一个超级结点并且在登录服务器验证。除了Skype结点本身外,登录服务器也是

Skype网络中非常重要的组成部分,因为他存放着每个Skype用户的用户名和密

码。这个服务器来保证用户名的唯一性。从Skype1.2版开始,以后版本的Skype

把好友列表存储在登录服务器上。

除了登录服务器外,还有SkypeOut和SkypeIn服务器用来提供PC-to-PSTN

和PSTN-to-PC呼叫的桥接。SkypeOut和SkypeIn服务器在PC-to-PC模式的呼叫

中并没有扮演任何角色。登录服务器是Skype的P2P网络中唯一的中心组织。

上线和离线用户信息以分散的方式传播。

Skype可以看作是一个叠加在互联网之上的网络。每个Skype网络就是他

(SC)所能达到的范围,因而每个Skype客户端(SC)需要创建和维护一个它所

能达到结点的表,在Skype中,这个表被称为主机缓存(HC),包含了超级结点的

IP地址和端口号,从Skype1.0版本开始,HC被存储在一个XML文件中。

2 Skype软件组成

2.1 端口

在Skype的连接属性对话框中可以设置监听的端口号,在安装的时候Skype

会随机的选择一个端口作为监听的端口,这一点与HTTP协议等不同,Skype没

有默认的服务端口。同时,它还会打开对80和443端口的监听。80是常见的

HTTP服务默认端口,而443则是HTTPS服务的默认端口。

2.2 主机列表

主机列表提供了超级节点的IP地址和端口号,由Skype客户端程序按照一

定的规则创建和维护。一般情况下,在Skype运行两天后,HC中的SN地址及

对应的端口号会达到约200个。

在登录的时候,Skype试图建立一个TCP链接来与主机列表中任何条目交换

信息,如果不能与HC中任何条目建立TCP链接,Skype将试图与Skype内置的

7对IP地址和端口号对建立TCP链接。Skype客户端在Window xp中把这个主

本文标签: 结点服务器登录端口号端口