admin 管理员组

文章数量: 1086019


2024年6月2日发(作者:网店详情页模板)

维普资讯

第32卷 

第19期 计算机工程 

2006年10月 

、,bt。32 

№l9 

Computer Engineering October 2O06 

网络与迢I信・ 文章编号:11wlo一.3428(2oo6)19_一l141—IJ2 文献标识码:A 中圈分类号:TP393 

基于SIP的P2P.VolP框架的研究 

叶德谦,张树国 

(燕山大学中德信息技术研究所,秦皇岛066004) 

摘要:SIP协议是VolP领域中最重要的协议之一。在现有的SIP协议里使用了服务器,带来了需要手工配置、维护,以及扩展性较差等 

问题。为解决这些问题,该文在分析目前VolP系统的基础上,借鉴Skype结构,结合哈希表查询P2P网络,提出了一种纯P2P—VolP结构, 

这种结构具有零配置和易于扩展等特点。 

关健诃:会话初始协议;对等网络;分布式哈希表;Chord 

Research on P2P.V0IP Framework Based Oil SIP 

YE Deqian,ZHANG Shuguo 

(ICDZ,Yanshan University,Qinhuangdao 066004) 

[Abstract]SIP is one of the most important protocol in the area of VolR Since dedicated serves are used,SIP systems are typically needed tO be 

configured and maintained by hand,and the scalability is limited.To solve these problems,the paper analyses the VoIP and Skype system,and 

proposes a pure P2P—VolP architecture based on DHT overlay.The architecture is self—organized and provides good scalability. 

[Key words]Session initiation protocol(sIP);Peer tO Peer(P2P);Distributed Hash table(DHT);Chord 

会话初始协议(Session Initiation Protocol,SIP)…是一套 

优点。 

用于创建、修改、终止IP会话,具有p2pt2 3性质的信令协议, 

1相关协议简介 

这些IP会话包括通过IP网络进行的多媒体会议、IP电话等, 

1.1 Chord协议 

具有简单、可升级、健壮、有弹性、可扩展等优点。现有的 

Chord是由麻省理工学院设计的一种分布式可扩展的查 

SIP应用已经继承了大部分的P2P特性,所有的SIP服务器 

找和路由协议。Chord通过将(key,value)对中的key(3 ̄H文件 

都是可以选择的,即使利用服务器的时候,在会话建立之后, 

名)和网络节点进行哈希计算,并将结果映射到相同的值空 

媒体直接在用户代理之间传递。但是并没有完全实现P2P, 

间,将(key,value)对存储在最接近key的哈希值的节点上。 

目前利用SIP建立起来的VolP体系,是集中式的用户定位, 

由于逻辑上可以将所有的节点看作一个按照节点的哈希值排 

端到端的媒体传输,属于C/S模式或混合模式,不是真正意 

列的环,在这个结构的每个节点都至少保存了LogN个入13 

义上的P2P系统。随着用户的增加,服务器的维护与配置的 

(或状态)在它的查询表里,可以找到其他节点。它的重复和 

开销也随之增加,面临着服务器瓶颈的问题。 

递归查询直接映射到SIP的重定向和代理特性。因此路由算 

对等网络也称(Peer to Peer,P2P) j,建立在互联网架构 

法采用了类似二分查找的方法,每次查找发送的消息数为 

上,系统的每个节点在网络中具有相同的地位、相互协作形 

O(1og(N))。 

成的虚拟子网,系统中没有服务器和客户之别,有效地解决 

1.2如何构成DHT环形结构 

现有网络中服务器瓶颈问题,可充分地利用网络的资源。对 

Chord有一个环形的拓扑结构,环上的每个节点可以是 

等网络中关键的技术是如何是实现分布式对象的定位,目前 

个服务器,也可以是一个对等点,对纯P2P结构来说,由 

主要采用两个机制:洪泛机制(flooding)和分布式哈希表 

于带宽、CPU、内存的差别,节点的性能可能不一样,选择 

(Distributed Hash Table,DHT)机制,如Canljl,Chord 

些高性能的节点为超级节点,一般的节点连接到这些超级 

Plaxton ,TapstrI61等,其基本思路是应用系统通过安全散列 

节点上,这和基于Kazza”l的Skype 很相像,其拓扑结构如 

算法(Secure Hash Algorithm,SHA)把访问资源映射到某个 

图1所示。 

标识空间(全局唯一标识符),在给定资源标识符(0ID)后,系 

决定成为超级节点或者普通节点都在当地实现,当一个 

统利用分布式查询协议找对象所依附的节点,再进行资源的 

节点启动时,是一个普通节点,当普通节点检测到自己有足 

访问。该定位机制改变现有网络中以服务器为中心的模型, 

够的性能和可靠性时,就把自己升级为超级节点,一个有高 

使任意两个主机之问可交换数据、共享信息,具有良好的扩 

性能和可靠性的节点可能强迫成为一个超级节点,当存在的 

展性、负载平衡。 

选定用Chord作为DHT来建立纯P2P的SIP体系结构。 

基金 目:燕山大学博士基金资助项目(B一00131);教育部留学回国 

在这种结构中SIP可以通过应用P2P取代DNS来实现下一跳 

人员科研基金资助项目(2001498) 

查找的方式,实现各种DHT功能,例如:端点发现,用户注 

作者筒介:叶德谦(1954--),男,教授、博士,主研方向:数据仓库, 

册,失效点探测,用户定位,建立会话。和现有的IP电话相 

人工智能和SIP应用;张树国,硕士生 

比,有可扩展性和可靠性,不需要维护和配置,协同工作的 

收稿日囊:2005—10—16 E-mail:icdz@sina.corn 

141— 

维普资讯

超级节点离开或者达到能力极限时,能够变成普通节点。存 

在的节点影响到它的邻近节点成为超级节点。 

,、

:二二 

普 节点 

_-l, 。。●◆= ~- 

超级节点 

。____.■

~ 

●.. 

、 

:二) 一 一 

图1DHT的环形拓扑 

2纯P2P的SIP会话结构体系 

2.1童IL件构成 

纯P2P结构的SIP电话节点由注册模块、防火墙和NAT 

探测模块、用户界面、用户定位模块、DHT模块、SIP模块、 

媒体流模块组成。注册模块:当一个节点启动,用户用他的标 

识码进入网络的时候,注册模块启动进行NAT和防火墙探 

测,对等节点发现和SIP注册。用户界面:该模块和用户交 

互,保存好友名单中,调用用户定位模块来定位好友。用户 

定位模块:这个模块调用SIP模块,如果节点是超级节点, 

DHT模块定位用户。DHT模块:该模块的作用是当节点是超 

级节点时,维护DHT节点的信息(如Chord查询表)和执行 

DHT逻辑。他的API包括findjoin leave等。SIP模块:SIP 

协议是用来进行定位其他的用户,登记用户,呼叫建立,和 

即时消息。用户位置一经确立, 

启动1 用户界面 j 

会话建立和即时消息传送就能 

 jL1—— — 

直接通过SIP模块传送,API 

..—

L }——L —:— 

I注册 用户定位  11 

允许接收和发送SIP请求与应 

L_-广— IT—厂—一 媒i 

答,维护会话和注册状态。媒 

体模块:该模块和SIP的操作有 

 』\ l —1觳I--.  1l 

很大的独立性。DHT模块通过 

I1防火墙i

穿透1

 

 

』— 

sIP模块 

【流l

j 

 

I 

SIP消息和其他的节点进行交 

圉2节点组件 

流。结构如图2所示。 

2.2节点启动和对等点发现 

在实际应用中,节点可以通过P2P或基于SIP的方式进 

行用户查找。当节点启动后,用户输入标识码,如 

zhang@ysu.edu。节点可以通过DNS找到可能的SIP服务器 

地址,并发送sip注册消息,也可以发现可能的超级节点进 

入P2P网络。一旦发现Chord中的节点,通过Chord关键字 

加入到Chord DHT中。 

2.3用户注册 

用户探测到超级节点后,会选择其中的两个发送SIP 

REGISTER消息,进行注册。两个超级节点用来解决冗余, 

消息中的T0和Form标题头符合本地用户标识码,如: 

sip:alice@home.com。Request—URI符合超级节点的地址, 

sip:1 92.2.1.2:5060。 

个普通节点就是一个SIP用户代理,超级节点看作是 

用户代理和注册员。超级节点代表附属节点向DHT中的目的 

超级节点发送REGISTER消息,它和其他超级节点一起加入 

到DHT中,并积极参与用户定位查找。普通节点周期性地发 

送REGISTER消息更新探测超级节点是否有效,超级节点会 

周期地向其他超级节点和附属节点发送OPTIONS消息以示 

其存活,并监控绑定到它的普通节点的状态。更新周期可以 

根据系统负载进行调节,如果在过去的周期内已经和附属节 

点联系,本周期就不再发送OPTIONS消息。过程见图3。 

当普通节点收到注册消息后,它转发到它的超级节点。 

当一个超级节点收到注册消息,并且发送者是注册到它的节 

142一 

点时,超级节点接收注册。如果发送者不是这个超级节点的 

所属的节点,超级节点可以决定是否接收新节点或者拒绝这 

个节点。如果超级节点想要拒绝它,它会转发这个新节点的 

消息到其他负载小于这个超级节点的超级节点。 

普通节点启动 

用户ID 

,一一— !

二~\ sIP注册 

/ 成功_ , R次注

册节

点 重定向 

, 

发 

EGIS

TER

,…一 

, — _二一一 

皇 一 

/ 失败 

I’~

启用bootstrap节点 

、 

L一 

\ 启动刷新计时器 

一 

超时 

图3普通节点注册 

2.4用户定位和呼III建立 

用户通过检查通信列表可以看到其他用户的在线状态, 

假如用户已经有了一个好友名单,节点在启动之初就定位那 

些好友,这些用户信息(包括好友列表)到整个P2P网络不依 

赖用户,用定位的记录找到最终的用户。一旦呼叫建立完毕, 

媒体数据包将做端对端发送。节点分别在发送即时消息或者 

媒体呼叫时用SIP消息。 

如果目的地址被缓存,例如,这个节点最近做了呼叫或 

者发送即时消息到目的地,接着缓存的地址被使用。如果终 

端缓存的IP地址没有反应,接着缓存信息删除,节点开始重 

新查询。基于SIP的查找和P2P查找同时进行,对于P2P查 

找,普通节点发送一个INVITE或MESSAGE消息,到他所 

依附的超级节点,超级节点完成SIP代理服务器的工作,超 

级节点通过掌握的DHT标识码来定位目的节点,传输路线确 

定以后,超级节点转送或重新定向数据包,重新定向,会有 

呼叫环路以外的超级节点介入,因而传输路线会优化。 

但是,当有要穿透防火墙和NAT时,就只能进行代理转 

发。在这种情况下,超级节点像B2BUA一样工作,它传播 

SIP消息到邻近节点。但是并行搜索将不能避免网络拥塞。 

过程如图4所示。 

图4用户呼叫和用户定位 

2.5节点关闭和失效 

当一个普通节点离开系统,它可发送注销消息,到它的 

超级节点,这样就会轮流把保存了它的节点关键字的点做注 

(下转第161页) 

维普资讯

(2)B诚实而A不诚实 

但是B可以验证签名,欺骗仍然不能成功。 

根据上面的讨论,可以得出,该协议满足公平性。 

当B诚实而A不诚实的时候,A可以在第1或第3步进 

行欺骗。假如A在第3步进行欺骗,也就是B已经得到正确 

的msgl并把msg2发给A,这时,A不想把RA发给B并试 

图得到RB。因为B没有得到R ,自然也不会把RB发给A。 

A只能求助于TTP,如果A不能提供正确的msg1和msg2, 

他也不能得到Re,而如果求助成功,根据信道条件的假设, 

A不能拦截TTP发往B的消息,也就是说在A得到RB的同 

时,A不能阻止B得到RA。所以A不能在第3步时进行成 

功欺骗。另外,此时B也得到了两个正确的消息msg1和 

msg2,即使得不到A发来的RA,B也可以成功地向TTP求 

助。再考虑A与I合谋的情况,因为msg1包含在B的签名 

消息msg2中,所以在向TTP求助时,不能把msg1换成I 

的签名消息,仍然不能成功欺骗。 

当A试图在协议的第1步进行欺骗时,也只能对签名消 

息msgl中的ETTP(ID ,R )做些改变,因为其它的信息都是B 

3结束语 

本文总结了公平交换协议对环境的特殊要求,并在充分 

考虑了这些环境要求的条件下,设计出了一个简单有效的乐 

观公平电子合同签署协议。并对所设计协议的安全性进行讨 

论,说明了该协议满足公平性以及其它重要属性。 

参考文颤 

1 Asokan.Optimistic Protocols for Fair Exchange[C].Proc.of the 4 

Conference on Computer nd Communiacation Security,1997:8—17. 

2 Micali S.Simple and Fast Optimistic Protocols for Fair Elcteronic 

Exchange[C].Proc.of Symposium on Principles of Distributed 

Computing,2003:12—19. 

3 Feng Bao.Analysis and Improvement of Micali’S Fair Contract 

可以检验的。A所能做的只有把ID 换成别的用户的身份识 

别码或者用随机数代替。虽然B不能对此进行检验,但是在 

Signing rotoPcol[C].Proc.of ICANN’04,Sydney,2004:176—187. 

4 Pagnia H.On the Impossibility of Fair Exchange Wihoutt a Trusted 

进行第3步B收到A发来的RA后,可以用TTP的公钥加密 

ID 和RA来验证RA的正确性。而且在双方出示的对方承认 

合同的证据中,如果msg1和msg2的结构不符合要求,则视 

为无效合同。这种欺骗并不能使得A获得比B更多的利益。 

在A与I合谋的情况下,A可以用I的签名消息代替msg1, 

Third Party[R].Darmstadt Universiyt of Technology,Technical 

Report:TUD—BS一1999—02,1999. 

5 Abadi M.Prudent Engineering Practice for Cryptographic Proto- 

cols[R].Digital Equipment Corporation Systems Research Center, 

ResearchReport:125.1994. 

(上接第142页) 

销处理。一个失效的节点不会影响余下的系统。在任何情况 

下,超级节点都可通过周期刷新检测到失效的普通节点。它 

可以通过OPTIONS消息发送到这些失效节点看看它们是否 

还有响应。 

当一个超级节点离开,所有它所属的节点需要更新到这 

个超级节点的DHT邻居超级节点上。如果超级节点关闭,它 

会平缓地发送它的节点记录到其他P2P节点。这样可以保障 

当DHT的节点关闭时,其他用户可以定位到这些节点。它会 

服务器还没有大量建立的情况下,这是一种利用SIP进行会 

话不错的选择。 

参考文献 

1 Rosenberg J,Schulzrinne H,Camarillo G,et a1.SIP:Session ̄iiattion 

rotPcol[oS].RFC 3261,2002—06. 

2 Peer-to—Peer Working Group Committees[Z].http://www.peer tO peer. 

Org. 

发送SIP注册消息到DHT节点,它会保持这些用户记录知道 

它离开。这无需通知普通节点。所属的普通节点将会在下次 

注册刷新和查询时连接到其他的那些保存它们记录的超级节 

点。如图5所示。 

3 Ratnasamy S,Frncias P,Hancley M,et a1.A Sealable Content—— 

Addressable Network[C].Proc.of ACMSIC COMM’01.2001-08. 

4 Stoica I,Morris R,Karger D,et a1.Chord:A Scalable Peer tO Peer 

Lookup Service for Intemet Applications[C].Proc.of ACM 

SIGC0MM,2001—08. 

5 Druschel P,Druschel P.Pastry:Scalable Distributd Objeect Location 

and Routing orf Large Scale Peer tO Peer System[C].Proc.of he 18 t

IFIP/ACM International Conference on Distributed Systems 

Platforms(Middleware 2001),2001—1 1. 

6 Zhao B Y,Kubiatowicz J,Joseph A.Tapstry:An Infrastructure for 

图5超级节点失效 

Fault Tolerant Wide Area Location and Routing[R].Computer 

Science Department,University of California at Berkeley,Tech. 

Report:UCB/CSD一0l一1 14.2001. 

3结束语 

本文将SIP和P2P领域这最新的研究成果结合,借鉴 

Skype的成功模式,提出了基于纯P2P的SIP电话模型,在 

7 Kazaa:Peer-to—peer File Sharing Software Application[Z].http://www 

kazaa.com. 

建立通话延迟增大的代价下,获得纯P2P结构中没有服务器 

的优点,在网络情况较好的情况下,在稍长的被叫摘机等待 

时间是能够忍受的。零配置给用户带来了方便,在目前SIP 

8 Skype:Free Internet Telephony that Just Works[Z].http://www. 

skype.com. 

l6l一 


本文标签: 节点 用户 协议 定位