摘要
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系统的兼容。
The appearnce of the P2P(peer-to-peer) network technology have greatly changed the manner of network services, such as Files Sharing, Instant Message, Distributed Storage, Distributed Computing and Streaming Media. The systems those based on P2P have the characters that high reliability, high expansibility and high tolerance. And they are also excellent at evolution speed. In these systems, the servers are not master any longer. Instead, many individuals join together and play the most important role. SIP, which was developed several years ago, is the controlling protocol of VoIP. It meant to offer a service of network-phone. The SIP is very easy to be expanded. While developing the SIP protocol, people took the idea of P2P into account. But, the SIP system is not a pure P2P network. So, when the SIP system became bigger and bigger, the problems came-performance and expansibility.
The topology of P2P network can be divided into three kinds. The first is central topology, the second is pure distributed topology and the third is intergradation of the first and the second. The second topology, pure distributed topology, can be divided into two kinds, the structural and no-structrual. The topology which is pure distributed and structural sustains ordinal and right search, and network phone system need Qos, so the pure distributed structural topology fits to be the base of SIP system. In this paper, the writer introduces four P2P systems which have the pure distributed structural topology. They are Chord, CAN, Tapestry and Pastry, and Pastry is chosen to be the base of SIP systems. This SIP system is called P2P-SIP. In P2P-SIP systems, users register their information onto other peers according to one special mechanism. Every peer of P2P-SIP needs to have the function of client and servers in traditional SIP system. When one wants to communicate with the other one, it first gets peer which have the other peer's information and consider it as the server in this communication. The other processes are the same as traditional SIP system. In P2P-SIP system, Pastry adopts the prefix-match arithmetic. This characteristic is used to construct the multi-broadcast tree that bases on content. The multi-broadcast tree is better than IP multicast which is used in traditional SIP system when launch a phone conference. In P2P-SIP systems, users register their information on others peers, so the security is also a very important. This paper introduces the public-key mechanism to assure the security of communication content. The other problem of P2P-SIP is how to be compatible with the traditional SIP system. Some special peers are designed to solve this problem in this paper.
引文
[1] 郑纬民,胡进锋,代亚非等.对等计算研究概论.中国计算机学会通信.第1卷第2期.2005年7月.38-53页.
[2] Antony Rawstron and Peter Druschel. Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems. In Proc. ACMSOSP'01, Banff, Canada, October 2001.
[3] Antony Rowstron, Anne-Marie Kermarrec, Miguel Castro and Peter Druschel. Scribe: The design of a large-scale event notification infrastructure. In the proceedings of 3rd International WorkShop on Networked Group Communication(NGC2001), UCL, London, UK, November 2001.
[4] Peter Druschel and Antony Rowstron. PAST: A large-scale, persistent peer-to-peer storage utility. In Proc. HotOS Ⅷ, Schloss Elmau, Germany, May 2001.
[5] Kundan Singh and Henning Schulzrinne Peer-to-peer Interact Telephony using SIP. In New York Metro Area Networking Workshop, New York, NY, Sep 2004.
[6] Miguel Castro, Peter Druschel, Anne-Marie Kermareec and Antony Rowstron. Scalable application-level anycast for highly dynamic groups. In Proc of the Networked Group Communication(NGC 2003). Munich 2003.
[7] Mignel Castro, Mighael B. Jones, Anne-Marie Kermarrec and etc. An Evaluation of Scalable Application-level Multicast Built Using Peer-to-Peer Overlays. In Proc. of IEEE INF OCOM 2003, San Francisco, CA, USA, April, 2003.
[8] Ben Y. Zhao, Ling Huang, Jeremy Stribling and etc. Tapestry: A Resilient Global-Scale Overlay for Service Deployment. In IEEE Journal on Selected Areas in Communication, January 2004.
[9] Ion Stoica, Robert Morris, David Liben-Nowell and etc. Chord: A Scalable Peer-to-Peer Lookup Protocol for Interact Applications. In SIGCOMM, San Diego, CA, USA, Aug 2001.
[10] Sylvia Ratnasamy. A Scalable Content-Addressable Network. In Proceedings of ACM SIGCOMM, 2001.
[11] 罗杰文.Peer to Peer(P2P)综述.中科院计算机研究所2005年11月.
[12] Bjorn Knutsson, Honghui Lu and Wei Xu. Peer-to-Peer Support for Massively Multiplayer Games. In INFOCOM, January 2004.
[13] 宋建涛.对等计算中的若干问题研究.学位论文.复旦大学.万方数据2004年5月.
[14] 柏海寰.对等网络中分散式查找的研究及其应用.学位论文.上海交通大学.万方数据.2004年6月
[15] 邹福泰.基于分布式哈希表的对等系统关键技术研究.学位论文.上海交通大学.万方数据.2004年11月.
[16] 刘东琦.在VOCAL系统中SIP协议栈的分析.学位论文.北京邮电大学.万方数据.2004年6月
[17] 张峰.SIP协议研究与实现.学位论文.南京邮电学院.万方数据.2004年4月.
[18] 祝正运.SIP协议栈的研究与实现.学位论文.浙江大学.万方数据2005年2月.
[19] 叶得谦,张树国.基于SIP的P2P-VoIP框架的研究.计算机工程第32卷第19期. 2006年10月.
[20] 杨战宏.对P2P和SIP结合的初步探讨.电信科学.第5期.2006年5月.
[21] 曹建,姚琴琴,陆建德.一种新的基于P2P-SIP分布式节点发现的网络电话研究与设计.微电子学与计算机.第23卷增刊.2006年.
[22] 周海华,边恩炯等.下一代网络SIP原理与应用.机械工业出版社.2006年6月.
[23] J. Rosenberg, et al. "SIP: Session Initiation Protocol". IETF RFC3261. June 2002.
[24] J. Rosenberg, et al. "Session Initiation Protocol(SIP) Extension for Instant Messaging". IETF RFC3428 December 2002.
[25] R. Mahy, et al. " A Call Control and Multi-party usage framework for the Session Initiation Protocol(SIP)". IETF draft-ietf-sipping-cc-framework-03 October 27, 2003.