P2PSIP系统子网间会话建立延迟的研究

2011-03-16 06:22辉,
计算机工程与设计 2011年2期
关键词:子网路由数量

田 辉, 庄 雷

(郑州大学信息工程学院,河南郑州450001)

0 引 言

SIP(会话初始化协议)是基于信令的协议,它广泛的用于多媒体会话的建立、修改和终止。传统的SIP需要设置注册服务器、代理服务器等中央服务器,完成用户注册、搜索定位和呼叫会话控制等功能,因而存在服务器的单点失效和性能瓶颈问题。P2PSIP系统继承了P2P网络的很多优点,然而引入DHT就增加了用户注册和会话建立延迟,然而延迟是通讯系统比较敏感的。单层P2PSIP结构[1-2]比较简单,但是当节点数量比较大时系统的性能会下降并且会话建立的延迟会随之增大。分层 P2PSIP结构考虑到了节点的异构性和实际通讯量的分布,一定程度上解决了不同覆盖网之间的连接和会话建立延迟的问题。但是分层P2PSIP结构[3-4]没有解决子网间会话建立延迟问题。

通过对IP网络电话的延迟数据分析,分层P2PSIP网络中上层覆盖网中路由的每跳平均延迟时间大于子网内部每跳平均延迟时间。子网间用户会话建立的延迟很大一部分来源于上层覆盖网中的路由延迟。(1)DHT算法[5]定位效率非常高,在一跳内就可以完成对资源的定位。利用该算法的特性就可以最大限度的减少消息在上层覆盖网路由跳数。超级节点(或者路由节点)是根据其处理能力、带宽和稳定性从子网中选择出来的,所以由这些节点组成的上层覆盖网可以很好的适应单跳DHT算法的要求。

1 相关工作

1.1 现有P2P-SIP系统分类

(1)单层P2PSIP系统

在这类方案中,底层覆盖网采用基于分布式哈希表(DHT)的结构化网络架构,所有的节点形成一个单一的网络,使用同一种DHT算法。例如基于Chord协议的单层P2PSIP系统、Locality-Aware Peer-to-Peer SIP[2]等。底层覆盖网采用Chord协议的单层P2PSIP系统如图1所示。

这类方案充分利用了网络高扩展性、高可靠性和高健壮性的特点,且易于实现但是未考虑节点的异构性,且当节点数量比较大的情况下呼叫建立和用户注册的平均延迟会难以容忍。

(2)分层P2PSIP系统

图1 单层P2PSIP结构

这类方案把节点分成若干子网,每个子网选出一个节点,这些选出的节点组成上层网络。上层网络只使用一种全局的DHT算法。不同子网可以使用不同的DHT算法。例如:Transit-StubP2PSIP[3]、H-P2PSIP[4]。用户节点分为超级节点(或者是Router)和普通节点。超级节点组成上层网,普通节点组成各个子网。上层网负责子网间会话建立,对于子网来说上层网相当于路由器的功能。分层结构的P2PSIP系统结构如图2所示。

图2 分层P2PSIP结构

每一个组织或者企业都可以有自己的覆盖网。不同覆盖网之间也有会话的请求,但是不同的覆盖网使用不同的DHT算法就不能相互定位无法进行通话。同时,如果系统有过多的用户节点,会话建立和注册的开销就会难以忍受。考虑到人们经常趋向于给处于同一地理区域内的人打电话,那么就可以认为大部分的通话在区域内部发生。按照地理位置来划分子网就可以减少会话建立和用户注册的延迟。所以分层的P2P-SIP系统可以一定程度上解决节点数量过大和节点异构性带来的延迟和连通性问题。但是子网间会话建立延迟问题没有得到解决。随着子网数量的不断增加和地区间合作交流的不断增加,子网间用户之间的会话延迟问题就会变的越来越突出。

1.2 单跳DHT算法((1)lookup)简介

文献[5]提出了单跳的DHT算法。与其它DHT算法不同的是,每个节点维护完全的成员信息,节点定位平均跳数为一跳。算法的适用于105到106节点规模大小的系统,并且假设成员关系的行为和Gnutella系统的成员关系行为相近。覆盖网中每个节点分配一个随机的M位的节点标示符。通过对节点标示符用2128取模使得标示符有序的分布在标示符环内。在环中每个节点有一个前驱和后继节点,并且周期性的向前驱和后继节点发送keep-alive消息。同时按照顺时针分配一个位的关键字。位的标示符环空间分为 个连续的片空间,并且每片的节点数相等。每片有一个片首,片首是该片空间的中间节点的后继节点。同时,每个片空间分为等大小的连续的标示符空间,称为组。每个组有一个组首。同样它是组空间的中间位置后继节点。

为了维护准确的全路由信息,定义一个成员关系事件,例如节点加入和离开。这些事件必须在一定时间内传达到每一个节点。节点、组首和片首分别完成自己的工作来支持这样的变化。单跳算法的缺点:①要求节点有良好的网络带宽;②覆盖网中的节点的稳定性影响节点定位的成功率,网络资源的消耗;③扩展性比较弱,节点数量的规模越大需要的消息量就越大。所以单跳算法对节点数量有限制。其最大的优点是定位速度快,一跳就可以完成定位工作。

1.3 关于(1)Lookup P2PSIP[6]系统

该系统把单跳算法应用于P2PSIP系统,该系统采用2层覆盖网架构,并且把系统的节点容量提高到了108。全局的关键字空间分为若干组,每一组分别选择一个Leader。Leader的作用相当于超级节点的功能,维护所在组的fingertable和上层覆盖网的 finger table。每个普通节点维护所在组的所有节点的信息。该架构的缺点:①没有考虑节点异构性,用户节点的处理能力,带宽,存储能力都有很大的不同。特别是片首和组首的选择是根据节点标示符取模后在环中的位置来选择的。当片首或者组首不稳定时整个系统性也会不稳定。除了超级节点选择根据节点能力外,其它部分是没有选择的。②没有考虑网络电话节点关系变化,单跳的前提是Gnutella相近的成员变化规律。表1是一份调查表。

表1 中国电话用户本地通话时间分布

表1可以看出通话时间小于1分钟的比例占到65.4%。虽然通话时间与在线时间没有必然的因果关系,但是可以合理的认为,系统节点变化频率比较大。如果在子网中采用单跳的DHT算法会给系统带来很大的开销。

2 上层覆盖网采用单跳DHT算法的分层P2PSIP系统

上层覆盖网采用单跳DHT算法的分层P2PSIP系统,简写为H1-P2PSIP系统。分层P2PSIP系统上层覆盖网与子网覆盖网采用不同的协议。上层覆盖网协议采用单跳DHT算法,子网覆盖网协议采用多跳算法,如CAN,Chord,Pastry和Tapestry。超级节点同时运行两个协议,普通节点运行本子网的协议。本方案的结构如图3所示。

2.1 会话建立延迟分析

文献[7]实验结果表明子网间会话建立的延迟远远大于子网内部会话建立的延迟,当节点数量为15000时,子网间会话建立的延迟是子网内部的4倍。通过对文献[8]分析,不同子网间每跳的平均延迟大约是子网内部的2倍,可以看出子网间会话建立时在上层网络内路由部分是消耗的时间是比较大的。

图3 H1-P2PSIP系统结构

首先计算子网内部资源定位的平均延迟和跳数。子网的节点数为i,若子网协议采用Chord算法,子网内会话建立平均跳数为logi,那么会话建立的平均延迟为0.5 logi。

(1)H1-P2PSIP系统子网间会话建立延迟分析,以子网协议使用Chord算法为例:

会话建立的平均跳数

会话建立的平均延迟

(2)一般分层P2PSIP系统子网间会话建立延迟分析,以子网和上层覆盖网都使用Chord算法为例:

子网与子网用户会话建立的平均跳数

设定t为区域间会话建立的平均延迟

2.2 单跳DHT算法在上层覆盖网中应用的可行性分析

2.2.1 消耗网络带宽分析

多跳DHT算法如CAN,Chord,Pastry和Tapestry,这些算法可以使用户节点经过有限跳数内定位存储在系统中的对象。多跳DHT算法力求每个节点维护一个小的路由片段(典型的如(log))。因为我们预判系统的成员关系变化的非常频繁。所以存储一个小的片段就会使得成员关系变化时系统的维护代价较小。

多跳DHT算法在节点规模不大的系统中能很好的工作,可用于分层的P2PSIP系统的子层。每个节点维护一个路由片段,对节点性能要求比较低,节点变化只影响部分路由。子网所消耗的带宽是比较小的,这样的系统已经比较成熟。本文主要针对上层覆盖物进行研究。

上层网络节点是从子层中根据节点的处理能力、网络带宽和稳定性选择出来的,可以充分利用超级节点的这些特点。而超级节点高处理能力、大的网络带宽和相对稳定的状态都比较适用于单跳DHT算法。

在分析单跳DHT算法的开销定义了一些参数:

(1)系统中超级节点数(子网的数量)

(2)超级节点节点关系变化率(超级节点的稳定性)

(3)上层网络标示符环分片数

(4)每个固定时间段内节点发送keep-alive消息个数

(5)slicerev片首收集节点发出的事件通知时间间隔

(6)消息位数(bit)

上层覆盖需要的带宽为[5]

综上所述,节点越稳定系统需要的带宽越少。当超级节点的性能达到该算法的要求时,上层覆盖物能够良好的运行。

2.2.2 超级节点分析

可行性的关键在于超级节点是否能够满足单跳 DHT算法的要求,超级节点的性能直接影响上层网络的性能。

(1)超级节点稳定性

单跳 DHT算法前提是节点关系变化规律接近 Gnutella,那么从子网中选择保持在线状态时间不小于Gnutella节点在线状态时间的平均值的节点作为超级节点的候选节点,并且择优选取以取得更好的稳定性降低维持系统的开销。如果网络带宽有限制的话可以根据(1)式来限定 的大小即超级节点的稳定性,从而得出选择条件。

(2)超级节点的存储能力

每个节点的覆盖网路由信息包括:32位的IP地址、160位的数据对象关键字,所在子网的fingertable的大小为SMB,这个数值比较小。设节点数为,需要的存储空间=24B+MB。例如=10241024时消耗存储空间为(24+)MB。选择超级节点时存储能力不小于,而这个标准很容易满足。

(3)超级节点数量

子网根据实际位置信息来划分,每一个子网选出一个超级节点。那么超级节点数是和实际应用中参与到系统的区域数量相关的。区域数量由区域划分方案决定,文献[3]中提出了几种区域划分的方案。按照实际情况,105到106数量的子网数足够使用,超级节点的数量不会超出单跳DHT算法可以容忍的数量。

由上述分析,超级节点具有高处理能力、大的网络带宽和相对稳定的状态,并且单跳DHT算法得对节点的性能要求比较高和忽视节点异构性。上层覆盖网采用和子网覆盖网采用不同的并且是特殊的 DHT算法以降低会话建立的平均跳数和平均延迟。随着硬件飞速的发展和地区间通信量的日益增加,本方案通过牺牲适当的带宽和存储能力的代价来提高网络电话的性能是可取的。

3 会话建立延迟实例分析

用户A和B分别在域名为p2p1.com和p2p2.com的子网中。A现在要求与B建立一个会话,会话建立的步骤为:

(1)A发出INVITE消息,自己所在子网提出用户定位的请求。节点在自己所在子网的 DHT中查询上层覆盖网的入口节点。

(2)上层覆盖网节点收到p2p1.com子网发来的定位请求后查询自己的finger table直接找到负责存储被呼叫方所在子网的入口节点地址的节点。

(3)B所在子网节点收到上层覆盖网的定位请求后,定位为到B。A得到了B的实际IP地址。

(4)最后的会话建立过程和P2P覆盖网无关,按照SIP协议的建立流程建立起点对点的会话连接。

第1、2、3步为用户定位的部分。我们研究的延迟问题主要来源于用户定位的延迟。第2步和其它分层的 P2PSIP系统不同。

设定网络中的节点数为108,划分为100个子网,每个子网节点数量为106。子网内部逻辑的每跳路由平均时间消耗1设定为50ms,上层覆盖网逻辑每跳路由平均时间消耗设定为21也就是100ms。并且子网采用Chord协议。

采用本方案的会话建立延迟为0.52450+100=850ms,其它分层 P2PSIP系统需要消耗的时间为1150ms。由此可以看出本文提出的H1-P2PSIP系统能够减少会话建立的延迟。如果上层覆盖网的规模扩大到105,也就是说子网划分为105个上层覆盖网消耗的带宽大约为25kbps。然而这个规模的子网数量远远超过实际应用能够到达的规模,消耗的带宽仍然是可以接受的。

通过实例分析表明,在消耗的带宽在合理的范围内的情况下本文所提出的方案可以减低用户会话建立的延迟,对系统服务性能的提高时很有意义的。

4 结束语

随着地区间交流合作的日益紧密,区域间电话量和用户会不断的增加。区域间会话建立的高延迟问题需要得到解决。本文通过研究单跳DHT算法,结合分层P2PSIP系统中超级节点高带宽和高稳定性的特点,把单跳DHT算法引入上层覆盖网协议。提出了H1-P2PSIP系统并且分析了该方案的可行性和系统中超级节点所需的性能。通过分析得出该方案在付出可以接受的代价情况下可以降低区域间会话建立的延迟。

[1]Singh K,Schulzrinne H.Peer-to-peer internet telephony using SIP[C].Proceedings of the International Workshop on Network and Operating Systems Support for Digital Audio and Video.New York:ACM,2005:63-68.

[2]Li Lichun,Ji Yang,Ma Tao,et al.Locality-aware peer-to-peer SIP[J].Parallel and Distributed Systems,14th IEEE International Conference,2008:295-302.

[3]Li Lichun,Shi Juwei,Lin Wenjie,et al.Transit-stub architecture for peer-to-peer SIP[J].Software Engineering and Advanced Applications,2007:175-184.

[4]Shi Juwei,Wang Yao,Gu Lanzhi,et al.A hierarchical peer-to-peer SIP system for heterogeneous overlays interworking[C].Proceedings of IEEE Global Telecommunications Conference,2007:93-97.

[5]Anjali Gupta,Barbara Liskov,Rodrigo Rodrigues.One hop lookups for peer-to-peer overlays[C].Proceedings of the 9th Conference on Hot Topics in Operating Systems,2003.

[6]Gu Lanzhi,Zhang Chunhong,Ji Yang,et al.An O(1)lookup and decentralized bootstrapping peer to peer SIP system[C].Proceedings of IEEE Consumer Communications and Networking Conference,2009:1-2.

[7]Zhang Chunhong,Shi Juwei,Li Lichun,et al.Signaling latency analysis of peer-to-peer SIP systems[C].Proceedings of IEEE Consumer Communications and Networking Conference,2008:505-509.

[8]Verizon business IP latency statistics[EB/OL].http://www.verizonbusiness.com/us/about/net work/latency,2010.

猜你喜欢
子网路由数量
考虑荷电状态的交直流微电网多模式协调控制策略
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
统一数量再比较
子网划分问题研究及应用
路由重分发时需要考虑的问题
航天器多子网时间同步系统设计与验证
头发的数量
我国博物馆数量达4510家