SIP協議是當前VoIP和IM等多媒體協議的呼叫建立協議。P2P技術提供了分布式的網絡架構中通信節點之間得對等通信能力,P2P網絡架構經歷了集中目錄式網絡架構、純P2P網絡架構、混合式P2P網絡架構和結構化P2P網絡架構。通過引入P2P技術,SIP網絡的能力可以得到增強。P2PSIP網絡主要有兩個重要的操作:對P2P節點的操作和用戶層面的操作。
1 SIP網絡
會話發起協議(SIP)是互聯網工程任務組(IETF)制定的多媒體通信應用層控制協議,用于建立、修改和終止多媒體會話。SIP協議借鑒了超文本傳輸協議(HTTP)、簡單郵件傳輸協議(SMTP)等,采用基于文本協議控制方式,支持代理、重定向、登記定位用戶等功能[1]。
SIP憑借其簡單、易于擴展、便于實現等諸多優點而得到了廣泛應用。3GPP等標準化組織已經選擇SIP作為下一代網絡(NGN)和3G多媒體子系統(IMS)中的通信協議,業界已廣泛應用了多種基于SIP的多媒體業務[2]。
SIP網絡采用客戶端/服務器(C/S)的網絡架構,按域劃分用戶。每個域的SIP服務器管理著本域內的用戶,用戶在使用SIP業務時,需要注冊到SIP服務器。各用戶之間的通信需要由SIP服務器來進行路由,因此存在SIP服務器的“單點故障”和“性能瓶頸”等問題。
目前有多種提升SIP服務器處理能力的方案,如采用高處理能力的服務器、采用多服務器間的N+1或熱備份方案,或者采用多服務器負載均衡技術。
2 P2P技術在互聯網上的應用
P2P技術本身并不是新的概念或技術,它的原理是將網絡上的通信節點作為平等的通信終端,任意兩個通信節點之間既互為“服務器”又互為“客戶端”。這一點與互聯網的基礎協議TCP/IP一致,TCP/IP也沒有服務器或客戶端的概念,任意兩個節點之間是平等通信的。隨著互聯網應用的擴展,P2P技術得到了廣泛的應用。P2P網絡采用分布式對象定位機制,使得信息或媒體流在節點之間直接傳送,降低了中轉開銷,從而提高了網絡的可擴展性,節省了網絡帶寬。
很多基于P2P技術如共享MP3格式音樂文件的Napster服務、SETI@Home計劃,尤其是Skype應用的成功,使得P2P技術成為業界關注的焦點。
3 P2P網絡架構
P2P 網絡的技術核心是解決分布式節點之間的資源定位,這需要合適的網絡架構,發展至今共經歷了3代網絡架構。
3.1集中目錄式網絡架構
最早出現的P2P應用模式就是集中目錄式P2P網絡,Napster是該架構模型最典型的代表。用戶需要登錄到中心目錄服務器,通過目錄服務器查詢存儲各個節點的資源信息。這種結構的最大特點是所有的資料都是存貯在各個用戶節點中。用戶獲取資源時,節點根據網絡流量和延遲等信息選擇合適的節點建立直接連接,而不必經過中央服務器。
3.2純P2P網絡架構
純P2P網絡架構采用的是廣播式的P2P模型。在這種架構下,沒有集中的中央服務器,每個用戶節點隨機接入到網絡,并與自己相鄰的一組節點通過端到端連接構成一個邏輯覆蓋的網絡。節點之間的內容查詢和內容共享都是直接通過相鄰節點以廣播方式接力傳遞。為了避免循環搜索現象,每個節點會記錄其搜索軌跡。
Gnutella模型是現在應用最廣泛的純P2P網絡架構,采用泛洪式的節點搜索算法,解決了網絡結構中心化的問題,擴展性和容錯性較好。但是Gnutella網絡可用性較差,易被病毒攻擊,并且極大地消耗了網絡帶寬,很容易造成網絡擁塞與不穩定。
3.3混合式P2P網絡架構
混合式P2P網絡在純P2P網絡架構基礎上加入了超級節點的概念。在這種網絡下,將節點按能力 (計算能力、內存大小、連接帶寬、網絡滯留時間等)不同區分為普通節點和超級節點兩類。超級節點與其臨近的若干普通節點之間構成一個自治的簇,簇內采用基于集中目錄式的P2P模式,而整個P2P網絡中各個不同的簇之間再通過純P2P的模式將超級節點相連。有時甚至也可以在各個超級節點之間再次選取性能最優的節點,或者另外引入一新的性能最優的節點作為索引節點來保存整個網絡中可以利用的超級節點信息,并且負責維護整個網絡的結構。
普通節點的文件搜索先在本簇內進行,只有查詢結果不充分時再通過超級節點之間進行有限的泛洪。同時,每個簇中的超級節點監控著所有普通節點的行為,從而確保一些惡意的攻擊行為能在網絡局部得到控制,也在一定程度上提高了整個網絡的負載平衡。
混合式P2P網絡架構綜合了集中目錄式P2P快速查找和純P2P去中心化的優勢,Kazaa模型是P2P混合模型的典型代表。
然而,由于超級節點本身的脆弱性也可能導致其簇內的節點處于孤立狀態,因此這種局部索引的方法仍然存在一定的局限性。這導致了結構化的P2P網絡模型的出現。
3.4結構化P2P網絡架構
結構化P2P架構采用純分布式的消息傳遞機制,根據關鍵字進行節點查找定位。目前結構化網絡的主流查詢定位方法是采用分布式哈希表(DHT)技術,這也是目前擴展性最好的P2P路由方式之一。