论文摘要
P2P网络技术的出现在很大程度上颠覆了目前已有的网络服务提供方式,其影响的范围涵盖了文件共享、即时消息、分布式存储、分布式计算以及流媒体等。以P2P网络为基础的服务系统具有高可靠性、高可扩展性和高容错性,而且发展非常迅速。在这些系统中,服务器不再是网络的主宰,个人用户联合起来成为网络的主体,个人的影响得到了极大程度的增强。SIP协议是近年来新出现的一种VoIP信令协议,其目的是要给用户提供一种非常方便的网络电话服务,而且由于SIP协议是基于文本的协议,易于扩展,可以很方便的把其它服务融入SIP系统。虽然SIP协议在设计的时候就借鉴了P2P的思想,但SIP系统并不是一个纯粹的P2P网络。SIP系统在迅速发展的同时,不可避免的遇到了性能瓶颈。IETF组织已经开始着手对SIP协议进行改造,他们改造的方向就是利用P2P技术来优化SIP协议。P2P的拓扑结构可以分为集中式、完全分布式和混和式三类,完全分布式又可以分为结构化和非结构化两种。完全分布式结构化拓扑支持有序的、可扩展的和确定性的查找,而网络会话系统需要有质量保证,因此完全分布式结构化的拓扑更适合用于承载SIP会话系统。本文首先对比介绍了Chord、CAN、Tapestry和Pastry四种分布式结构化拓扑,然后选择Pastry作为SIP会话系统的底层网络,在本文里,这种SIP会话系统被称为P2P-SIP系统。在P2P-SIP系统中,用户的注册信息通过Pastry的路由机制分布到网络的各个节点上,系统中的每个节点都提供SIP系统中客户端和服务器的功能。当某个节点需要和另一个节点之间通信时,首先根据同样的机制获取通信对方的注册节点,然后把注册节点作为SIP系统中的代理服务器来发起通信邀请,其余的过程和SIP系统相似。传统的SIP系统还支持电话会议,通过IP组播来把会议内容传送到各个参与方,而在P2P—SIP系统中,由于底层的Pastry采用了前缀匹配的路由算法,可以很方便的创建基于关键字的多播树,而且这类多播树具有很好的容错性,比IP组播更有优势。在P2P-SIP系统中,用户的注册信息以及SIP信令都要经过中间多个节点,因此安全问题也是一个非常重要的问题,本文通过引入公钥体制来解决P2P-SIP系统中两个节点间的内容安全。该系统的另一个问题是和现有系统的兼容,在本文中通过引入一些特殊的P2P-SIP节点来解决P2P-SIP系统和SIP系统的兼容。