admin管理员组

文章数量:1534848

2024年3月29日发(作者:)

第26卷第7期 电脑开发与应用 

文章编号:1003—5850(2013)07—0035—03 

Skype网络电话技术探析 

张志丽 

(山西经贸职业学院信息工程系,太原030024) 

摘要:Skype网络电话技术是近年来兴起的对传统电信业冲击较大的一项技术,拥有全球近3亿的用户数,2012 

年被微软收购以来使用率上涨了58%,已成为全球最重要的网络通讯服务。对其网络结构及运行机制进行了深入探 

析,特别是用户登录过程、搜索机制等,为以后国内网络电话技术研究提供了借鉴和参考。 

关键词:Skype,P2P,登录服务器,超级节点 

中图分类号:TP393.4 文献标识码:A 

An Analysis of the Skype Internet Telephone Technology 

ZHANG Zhi—li 

(Shanxi Institute ofEconomws and Business,Department ofInformation Engineering,Tcdyuan,030024,China) 

Abstract:Skype internet telephony is a new technology which has a greater impact to the traditional telecom 

munications industry in recent years.The skype internet telephony has nearly 300 million users in the world.Its utiliza 

tion rose 58%since acquired by Microsoft in 2012.Now,it has become the world’S most important network communica 

tions services.This paper analysis’S the network structure and operational mechanism depth.Specifically the user login 

process,search mechanism and SO on.This work provided references for the domestic internet telephony technology in 

future. 

Key words:skype,P2P,login server,super node 

1 Skype简介 

Skype是由TOM在线和Skype Technologies S.A. 

责验证并保存用户登录信息,记录、统计Skype网络 

运行日志等。 

2-2普通节点 

联合推出的互联网即时语音沟通工具。它采用P2P 

网络技术,不依赖于中心服务器,这不但增加了其安 

全性,而且也易于保证优质的实时通话质量。 

普通节点就是安装了Skype软件的终端,实现一 

般的语音呼叫、即时消息和文件传送功能。 

2.3超级节点 

超级节点是从普通节点中按一定规则选举出来 

2 Skype网络结构 

Skype网络中有两种节点:普通节点、超级节点, 

结合了纯P2Pt 】和混合式P2P的特点,设定超级节点 

作为分布式中心实体,减轻Skype网络登录服务器的 

的任意一台具有公网IP的主机。它既具有普通节点 

的功能,同时还保持与部分普通节点的TCP连接,接 

运行负担,因此Skype为全分布式架构。Skype的登录 

服务器(1ogin server)全球只有几个点,如图l所示。 

2.1登录服务器(Iogin server) 

受普通节点的用户搜索任务,充当部分普通节点通话 

过程中的中转者角色。某个节点是否成为一个超级节 

点不由其自身决定,后文中简称其为SN。 

3 Skype运行机制 

Skype用户可通过Skype的官方网站方便下载客 

登录服务器是Skype官方运行的中心服务器,负 

收稿日期:2013—03—11。修回日期:2013—06—10 

作者简介:张志丽,女,1981年生,硕士,助教,研究方向:计算机应用技术,计算机网络,网络安全。 

36・ (总0520) Skype网络电话技术探析 2013年第7期 

户端软件,在安装并启动客户端软件后,需要注册/ 

验证用户名,由于Skype采用分布式P2P网络结构, 

用户向登录服务器注册/验证之前必须与SN建立 

TCP连接,然后通过SN登录login server。 

图1 Skype网络结构 

搜索好友过程,采用全球索引技术(global index 

technology);通话过程,信令通过TCP传输,而语音数 

据则尽量通过UDP传输,以便提高传输效率;传输过 

程,采用端到端的多种编码、加密技术,保证通话的安 

全性。Skype运行流程如图2所示。 

警 ’ 

◆ 

L 奠 _J 

 1纾  1

 ・一I【={蹦 ,tI L链接 

‘ 

In - , !  J

{ 挫索 K 

’ 

l¨ 竺 ……1 

f _Ⅲ 

I・:  JJl襻I 惭 …_』 I

! 1) 

图2 Skype运行机制不意图 

3.1登录 

图3是HC中只有一个SN节点信息时的登录过 

程。登录过程涉及到几个问题,下面分别来介绍。 

3.1.1端 口 

在网络链接设置中,每一个Skype客户端默认打 

开3个端口,其中一个是为了监听TCP和UDP链 

接,另外还打开80端口和443端口作为备用端口,以 

监听http和https链接。 

3.1.2 HC列表 

HC(host cache)是一个由SN的{IP,PORT}对组 

成的列表,由sC构建并周期性刷新。HC中需至少有 

l组可用的sN信息,即一个在线的Skype节点{IP, 

PORT}对信息,否则,用户将无法登录。HC存储在 

Windows注册表中,一般一个运行2天的SC的HC 

中包含最多200个sN人口信息,可以采用P2P中 

chord算法I2定位某个节点。 

图3 SC登录SN节点过程 

为了保障第1次启动后正常登录,在Skype程序 

中写入了一组引导超级节点(bootstrap super node), 

这些节点随着Skype版本的更新而变化,而在Skype 

之后的运行过程中,则由Skype程序动态监听并获取 

有效的SN节点信息,维持一个在线的、可到达的SN 

{IP,PORT}对列表。 

3.1.3第一次登录与后续登录 

第1次登录 

在安装完成第1次启动后,SC会向某些引导超 

级节点发送UDP数据报并且等待回应,然后与发回 

回应信息的节点建立TCP链接。在整个通话过程中 

sc只与其中一个引导超级节点保持链接。在交换一 

些TCP数据包后,Sc会从超级节点处获取到login 

server的地址,然后与之建立TCP链接,进行用户信 

息认证,该过程采用challenge—responset3认证机制,完 

成认证后关闭TCP链接。 

后续登录 

在SC第1次登录后,会建立自己的HC列表,周 

期性更新{IP,PORT}对。该更新过程中,SC向多个节 

点发送UDP数据报,若收到回应,则说明对方不是处 

在防火墙(UDP受限)的后面,而且其一定在线,这样 

将对方地址保存在HC中,以便在当前SN节点掉线 

的时候作为备选连接。若记录了多个这样的备选节 

点,SC会使用Skype软件自身的登录算法从HC中选 

第26卷第7期 电脑开发与应用 

择一个可到达的SN信息对,然后与之建立TCP链接。 

3.1.4登录节点位置 

Skype网络中的节点按其网络环境可分为以下3 

种,图4是它们登录过程中的不同之处。 

具有公网IP; 

位于端口受限的NAT后面; 

位于端口受限NAT和UDP受限防火墙后面。 

对于有公网IP的客户端,会直接向SN节点发 

送UDP包,之后与SN节点建立TCP连接;对于后两 

种客户端,借助STUN或TURN协议得到NAT或 

ifrewall类型信息,存储在其Windows注册表中并周 

期更新,这就是Skype能穿越NAT和firewall的原 

因,极大地方便了各种网络环境用户的使用。 

图4不I司位置节点登录不意图 

3.2搜索用户 

Skype采用非集中式的全球搜索目录151的全球搜索 

引擎,保证最小时延,确保了搜索用户的高效性和准 

确性。Skype官方保证能查到最近72 h内曾经登录过 

并且存在的用户,查询过程如下: 

(1)客户端向其SN发送TCP包,发出搜索请求; 

(2)SN返回4个可供查询节点的{IP:PORT}; 

(3)客户端向这4个节点发送UDP包,确认是否 

是要找的节点; 

(4)若未找到,客户端通过TCP继续向SN发出 

搜索请求; 

(5)SN返回8个可供查询节点的{IP:PORT}; 

(6)客户端向这8个节点发UDP包,确认是否是 

要找的节点; 

(7)以此类推,整个过程持续到发现用户或确认 

用户不存在。 

在该过程中,客户端平均联系的节点为8个,对 

于处于UDP受限防火墙之后的用户其查找结果则是 

存放在中转节点中。 

3.3连接建立和释放 

由于客户端可能处于3种不同的网络环境,这样 

会导致连接建立和释放过程的不同。如图5所示。双 

方都为公网IP的网络环境,直接通过TCP传输呼叫 

信令和呼叫释放信令;呼叫者为端口受限NAT,被叫 

者为公网IP的网络环境,通过中转节点建立TCP连 

接,然后双方直接传输呼叫和呼叫撤销信令;双方都在 

NAT和防火墙之后的网络环境,呼叫和呼叫释放信令 

均通过中转节点传输,而不是直接传输。 

此处的中转节点一般由SN节点充当,而且由哪 

个SN充当对用户是透明的。 

3.4多媒体传输和编码 

为了提高传输效率,语音数据则尽量通过UDP 

传输,对于双方都处于NAT和firewDl之后的客户端 

双方,则需通过TCP传输,如图5所示。对于由中转 

节点传输语音数据的情况,我们无需担心用户通话被 

窃听,因为Skype采用了对消息进行端到端加密的机 

制,通过与GlobalIPSound公司合作,引入语音质量 

增强软件,专门针对互联网的特点,从而降低了业务 

对带宽的要求。在2012年,Skype创造了名为“Opus” 

的全新音频编码,整合了自身的“SILK”和Xiph.Org 

的“CELT”代码,能够在窄带宽情况下达到CD级别 

的音质。 

匹 通m 令j -通 传输语音数据H 器 

NA T  ̄l,ltl 

为公 P r—1一TcP连接并传输呼呲

I铽H 信令r—1 传输语音数据广1呼叫撤销嚣 信令j 

舣片郝为端u受 AT和 烈 呼lJ【I情令和语音数据 . 中转节点迎l TCP 

l胛受 firewall后面f— 均山L}『转甘点通i尘I℃P传输r 传输呼¨ll撇销信令 

图5 3种网络环境中信令和语音数据传输方式 

4 结束语 

从网络的角度对Skype的运行机制进行了分析 

总结,其采用混合式P2P的网络结构,不但增强了安 

全性,而且提高了语音传输效率,支持网络的无限扩 

展。此外,Skype强大的端到端加密机制更是为其赢得 

了大众的青睐。微软总裁、Skype首席执行官Tony声 

称微软将在2013年第l季度停止提供Messenger服 

务,并将其一亿用户整合到Skype中,Skype有可能成 

为有史以来对电信领域冲击力最大的技术。 

参考文献: 

【1】(美)Robert Flenner.Java P2P技术内幕[M】.北京:人民邮电 

出版社.2003. 

[2】Run ̄ng Zhou,Kai Hwang.Trust Overlay Networks for Global 

Reputation Aggregation in P2P Gird Computing【J】.IEEE 

IPDPS一2006,2006(12):1-15. 

【3】Wei Liang,Wenye Wang.On Performance Analysis of 

Challenge/response Based authentication in Wireless Networks 

[J/OL].WWW.elsevier.con/locate/comnet.2004—08—09. 

【4]贾姗姗.基于SIP协议的VoIP系统中NAT穿越方案的研 

究与实现【D】.北京:北京邮电大学,2009. 

[5】周思炜.基于P2P SIP的网络语音系统中数据转发机制研 

究【D】.武汉:华中科技大学,2009. 

本文标签: 节点用户登录技术网络