论文部分内容阅读
基于P2P的SIP系统(P2P-SIP)将SIP和P2P结合起来,利用P2P的优势克服了SIP系统集中式的系统结构带来的单点失效、性能瓶颈等问题,特别适合应急通信、企业内部通信等场合的应用。利用P2P网络实现SIP用户的定位是P2P-SIP系统的核心思想,自然也就成为P2P-SIP研究中的一项重点内容。同时,网络中存在的大量的NAT (Network Address Translator,网络地址转换)打破了SIP和P2P的端到端的特性,如何穿越这些NAT也成为P2P-SIP研究中不可忽视的方面。
本文的主要工作如下:
(1)提出了P2P-SIP系统中的一种SIP用户查找与定位方法。
在P2P-SIP系统中,SIP用户的定位是通过P2P的资源查找算法实现的。P2P网络有多种,其资源查找算法也不尽相同,目前的P2P-SIP系统基本都采用Chord协议。Chord协议实现简单,能在较少的跳数内找到用户,但由于中间的一跳或多跳可能是时延较大的链路,会造成较大的时延,因而并不是理想的方法。本文利用底层网络的拓扑信息,将P2P网络进行逻辑分层,考虑用户的会话规律,即本地的会话业务量大这一特点,将本地用户划分在同一个逻辑子网内。定位用户时首先在本地的子网内查找,失败后才进入整个覆盖网中查找,从而尽可能的减少经过高延时链路的概率,减小定位用户的时间,进而大大缩短了平均会话建立时延。
(2)提出了一种P2P-SIP系统穿越NAT的方案。
由于P2P节点之间的信息交换是由SIP消息完成的,所以针对NAT穿越的问题,只需要实现SIP的NAT穿越即可。本文在分析了当前几种主要的NAT穿越方法及其不足的基础上,提出了一种基于STUN和TURN的穿越方案。其基本思想是根据NAT的不同采用不同的方式实现SIP信令的穿越,而媒体流的穿越则通过对所有可用媒体地址进行连接检查来实现。方案不需要对NAT作任何改动,在应用层上实现了SIP协议对所有NAT的有效穿越,避免了单独使用其它方法带来的缺陷。
本文首先介绍了SIP协议和P2P网络的基础知识,然后对P2P-SIP系统进行了分析,在此基础上提出了一种基于P2P的SIP用户查找与定位的方法,模拟该方法的性能,并对相关参数进行了讨论。最后针对NAT穿越问题,提出了一种NAT穿越方案,模拟分析表明,该方案可有效的穿越现有的NAT。