P2P SIP原理和应用
构化P2P架构采用纯分布式的消息传递机制,根据关键字进行节点查找定位。目前构化网络的主流查询定位方法是采用分布式哈希表(DHT)技术,这也是目前扩展性最好的P2P路由方式之一。
DHT将节点管理的资源或文档作为"关键字",将节点的IP地址作为"数值",组成关键字-数值对,并能根据关键字查找数值。DHT技术中的存储和查询是分布在多个节点上进行的,对单一节点的依赖性低,容易实现网络上任一节点的无序加入或退出,对整个网络性能影响较低。
DHT各节点并不要维护整个网络的信息,只需存储其临近后继节点信息,因此通过较少的路由就可以到达目标节点。DHT又取消了泛洪算法,有效地减少了节点信息的发送操作数量,增强了P2P网络的扩展性。
在实际应用中,出于冗余度以及延时的考虑,大部分DHT总是在节点的虚拟标识与关键字最接近的节点上备份冗余信息,这样也避免了单一节点失效的问题。
但是基于DHT的网络拓扑结构的维护和修复也比Gnutella模型和Kazaa模型等无结构的系统要复杂得多,有时甚至出现"绕路"的问题。
目前基于DHT的研究项目主要还集中在具有相同能力的较小规模的网络中,对于大规模的Internet部署还在研究中。同时大量实际的P2P应用还大都是基于无结构的拓扑和泛洪广播机制,采用DHT方式的P2P系统缺乏在Internet中大规模真实部署的成功实例。
4 P2P SIP网络架构
P2P网络[3]的优点是没有中心服务器,节点间直接通信、交换资源和文档,并且可以扩展到分布式的负载分担网络。从理论分析看,P2P网络可以降低C/S结构网络中的"单点故障"和"性能瓶颈"问题。作为C/S结构网络一种的SIP网络也可以利用P2P技术来实现,并且具有以下特点:
去中心化,避免中心SIP服务器的单点故障隐患;
增强SIP网络的扩展性,降低网络中的存储、计算、带宽等性能瓶颈;
提高网络的高可用性,采用P2P网络全分布的架构来提高网络的健壮性;
降低成本,充分利用节点闲置的处理能力、存储和带宽资源。
P2P SIP网络利用SIP协议的扩展和承载来完成P2P层叠加网络节点的加入、定位、查找和路由,降低P2P私有协议带来的扩展性和兼容性问题,实现不同P2P网络的互通。
P2P SIP网络以SIP协议为基础,无需大规模改动现有设备,并且无需改动VoIP终端设备,只要升级现有SIP服务器的软件,即可实现SIP网络的P2P化,提升网络的处理能力和可用性。
在P2P SIP网络中,原来管理一个域的单节点SIP服务器变成多台P2P SIP服务器(称为PN节点),PN之间通过P2P机制互联,彼此分担负载,构成一个逻辑上的重叠网络。每个节点将和它相连的下一节点当作下一跳PN可以承担原来服务中压力最大的部分,比如注册、代理和计费。用户连接到任一PN,都可以有效使用服务。部分PN的宕机或故障不会影响到整个P2P SIP网络的正常运行。当需要扩大P2P SIP网络的容量,加入新的PN就可以了[4]。
P2P SIP网络有两个重要操作:一是对P2P节点的操作,包括节点注册和离开,实现重叠网络的维护[5];另一个是用户层面的操作,包括用户的注册、资源定位、会话建立等。
4.1 P2P SIP节点操作
P2P节点在地理上散布各处,逻辑上根据选用的P2P机制的不同可以是环形的(Chord协议)、矩阵的(CAN协议)、网状的(Pastry协议和Tapestry协议)。基本的P2P节点至少包括注册和代理两种功能。从运营角度出发,还需要部署全局认证服务器、全局账务服务器和网管服务器等等,用于管理全部用户和所有节点。
每个节点在网络中都有一个节点ID号,该ID号由节点IP地址和端口号进行哈希运算获得,节点信息被存储在一张DHT表中。每个节点负责存储对应信息,如用户注册信息等。
当一个节点申请加入网络中时,先定位一个缺省的网络节点,并发送SIP REGISTER消息给该缺省节点,申请加入网络。如果该缺省节点是负责对应区域的节点,则响应200OK消息,并允许新加入节点加入网络。响应消息中包含邻近节点的信息。
如果缺省节点不是负责对应信息区域的节点,则通过SIP 302响应提供新加入节点前转的网络节点。新加入节点向前转节点发送SIP REGISTER消息,申请加入。前转节点根据自己是否是负责该区域的节点对REGISTER消息进行处理。上述过程一直持续到找到对应的节点为止。
当新加入节点成功加入网络后,新加入节点存储所需要负责的用户信息如用户注册信息,同时通知网络中其它节点更新自己的信息。
4.2 P2P SIP用户注册操作
在P2P SIP网络中,每个用户被看成是一个资源,以资源ID标识,资源ID由资源名称经哈希运算获得。
当用户申请注册时,首先生成对应的资源ID。用户所在的节点通过查找路由表,找到一个
- SIP:会话初始化协议基本介绍(12-01)
- 基于SIP协议的语音网关开发设计(01-06)
- 花果山虚拟运营商NGN解决方案(01-09)
- 演进中的VoIP来电ID技术 (01-11)
- 下一代网络中的SIP-I协议(01-27)
- NGN SIP 域内的标准化(01-27)