admin管理员组文章数量:1531231
2024年6月6日发(作者:)
第9章 P2P VoIP的技术分析
类型;二是建立隧道,也就是通常所说的在NAT设备上进行“打洞”,完成输出和输入消息
的NAT穿越。应用程序启动时,在向超级节点进行连接时就完成了NAT和防火墙类型的检
测。通过中继节点传输消息时大部分通信都采用UDP连接,但如果UDP端口被防火墙阻止,
内部节点则会与中继节点建立TCP连接,用于消息的输入和输出。
9.3 Skype技术
9.3.1 Skype概述
Skype是由KaZaa于2003年发明的基于P2P技术的VoIP应用软件,用户可以通过Skype
在互联网上进行语音和文本的传输。Skype公司于2003年8月推出首个产品,截至2006年,
已经成为VoIP的顶级提供商,注册用户超过1亿,同时在线的用户数超过500万。仅从Skype
的功能上看,Skype是一款提供语音对话、即时消息、文件传输和电话会议的即时通信工具,
和MSN、QQ在功能上差别不大。但是Skype的底层构架和关键技术与以往的即时通信软件
有很大的不同,总的来说,有以下3点,这些也正是Skype取得巨大成功的重要原因。
(1)采用P2P系统结构。Skype系统采取了P2P系统结构,避免了中心服务设备的瓶颈
问题。
(2)NAT和防火墙穿越。Skype在设计中,考虑了NAT和防火墙的影响,实现了完整的
NAT和防火墙穿越方案。
(3)高效的音频编解码器。Skype的音频编解码器由专门开发商设计,可以在占用较少
带宽的情况下完成高质量的通话。
Skype是基于KaZaa框架的对等网络应用系统。与KaZaa的结构类似,Skype系统中的
节点可以分为两类:普通节点和超级节点。普通节点仅通过运行Skype应用来进行语音通话
和消息传递。超级节点也是一组运行Skype应用的节点,只不过超级节点必须具备一些特殊
条件:第一,超级节点必须具有一个公网IP;第二,超级节点的处理能力、存储能力和带宽
要高于普通节点。普通节点和超级节点都需要先通过登录服务器来加入Skype覆盖网。登录
服务器不是Skype覆盖网的组成部分,是一个特殊的控制节点。登录服务器记载了
Skype系
统的所有用户的登录信息(主要包括用户名和密码),同时还要验证用户的登录合法性,并保
证用户名字符串在整个Skype覆盖网上的唯一性。
由于Skype覆盖网采用的是对等网络的分布式组织方式,因此,每个Skype节点还必须
建立和维护一定的路由信息和拓扑维护信息。在本章后面的介绍中,普通Skype节点被称为
SC(Skype Client),超级节点被称为SN(Super Node),每个SC上保存的主机列表被称为
HC(Host Cache)
[2][5][6]
。
9.3.2 Skype的工作原理
1.Skype的网络结构
Skype的网络结构如图9-6所示。图中黑点代表普通节点,大黑点代表超级节点,灰色
的点是登录服务器。普通节点必须连接到超级节点,并且需要在Skype的登录服务器上注册
登录。Skype可以看作是一个叠加在互联网之上的网络,与传统的集中式VoIP通信方式最大
191
P2P技术全面解析
的不同在于其除了用户登录,其余工作基本不依赖中心服务器。每一个客户端都维护一个可
以到达的主机列表(HC),列表中包含可到达主机的IP地址和端口号信息。
2.Skype的主要功能构件
Skype节点的主要功能有监听特定端口的语音呼叫信
号、维护主机列表、使用宽频带音频编码、维护好友列表、
加密端到端传输的信息和确定NAT和防火墙信息。因此
其功能构件就是端口、主机列表、编解码器、好友列表,
加密及NAT与防火墙
[2][5][6]
。
(1)端口
打开Skype的连接属性对话框,其中可以设置监听的
端口号,Skype系统在运行中会监听该端口的语音呼叫。
安装Skype软件时系统会随机定义该端口,这点与SIP和
HTTP等其他网络应用程序不同,Skype没有特定的监听
端口。除了设置的监听端口号外,Skype节点同时也会监
听HTTP应用的80端口和HTTPS应用的443端口。
(2)主机列表
主机列表(HC)是Skype最重要的部分之一,在主
机列表中记录和维护当前Skype节点所连接到的一组超
级节点的IP地址和端口号。为了正常工作,在HC中需
要至少保证一条记录是当前可用的,即要保证列表中的一
图9-6 Skype的网络结构
个超级节点是当前可用的。一般Skype节点的HC中会保存有多个固定的由Skype提供商提
供的超级节点,以保证在HC中多数情况下都存在可用的超级节点。HC通常被保存在
Windows操作系统注册表中的HKEY_CURRENT_ USER/SOFTWARE/SKYPE/PHONE/
LIB/CONNECTION/HOSTCACHE键值下,HC的最大条目数为200条。Skype采用HC的原
因就是由于其采用的是P2P构架,要求每个Skype节点必须建立和维护一定的路由信息和拓
扑维护信息,其他P2P应用系统也使用的是相似的主机列表。
(3)编解码器
iSAC以及iPCM。
Skype使用了3种音频编码方案:由Global IP Sound公司开发的iLBC
、
Skype所采用的音频编码范围为50~8 000Hz,频带很宽,因此其编码方案称为宽频带编码
技术。
(4)好友列表
与传统的VoIP不同,Skype的好友列表并没有保存在登录服务器上,而是仅存储在本地
主机的Windows操作系统的注册表中,Skype对存储的内容还进行了数字签名和加密。由于
好友列表仅存储于用户本地的计算机中,这就使得用户在不同的计算机上登录Skype时,需
要重新构建好友列表。
(5)加密
Skype使用高级加密标准(AES,Advanced Encryption Standard)方式进行加密,这也是
美国政府使用的一个加密标准。Skype采用了256比特加密,即总共可以有1.1×10
77
个不同
192
版权声明:本文标题:9.3.2 Skype的工作原理_P2P技术全面解析_[共6页] 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1717674030a597405.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论