<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > P2P SIP原理和應用

P2P SIP原理和應用

作者: 時(shí)間:2017-06-08 來(lái)源:網(wǎng)絡(luò ) 收藏

1 SIP網(wǎng)絡(luò )

會(huì )話(huà)發(fā)起協(xié)議(SIP)是互聯(lián)網(wǎng)工程任務(wù)組(IETF)制定的多媒體通信應用層控制協(xié)議,用于建立、修改和終止多媒體會(huì )話(huà)。SIP協(xié)議借鑒了超文本傳輸協(xié)議(HTTP)、簡(jiǎn)單郵件傳輸協(xié)議(SMTP)等,采用基于文本協(xié)議控制方式,支持代理、重定向、登記定位用戶(hù)等功能[1]。

SIP憑借其簡(jiǎn)單、易于擴展、便于實(shí)現等諸多優(yōu)點(diǎn)而得到了廣泛應用。3GPP等標準化組織已經(jīng)選擇SIP作為下一代網(wǎng)絡(luò )(NGN)和3G多媒體子系統(IMS)中的通信協(xié)議,業(yè)界已廣泛應用了多種基于SIP的多媒體業(yè)務(wù)[2]。

SIP網(wǎng)絡(luò )采用客戶(hù)端/服務(wù)器(C/S)的網(wǎng)絡(luò )架構,按域劃分用戶(hù)。每個(gè)域的SIP服務(wù)器管理著(zhù)本域內的用戶(hù),用戶(hù)在使用SIP業(yè)務(wù)時(shí),需要注冊到SIP服務(wù)器。各用戶(hù)之間的通信需要由SIP服務(wù)器來(lái)進(jìn)行路由,因此存在SIP服務(wù)器的“單點(diǎn)故障”和“性能瓶頸”等問(wèn)題。

目前有多種提升SIP服務(wù)器處理能力的方案,如采用高處理能力的服務(wù)器、采用多服務(wù)器間的N+1或熱備份方案,或者采用多服務(wù)器負載均衡技術(shù)。

2 技術(shù)在互聯(lián)網(wǎng)上的應用

技術(shù)本身并不是新的概念或技術(shù),它的原理是將網(wǎng)絡(luò )上的通信節點(diǎn)作為平等的通信終端,任意兩個(gè)通信節點(diǎn)之間既互為“服務(wù)器”又互為“客戶(hù)端”。這一點(diǎn)與互聯(lián)網(wǎng)的基礎協(xié)議TCP/IP一致,TCP/IP也沒(méi)有服務(wù)器或客戶(hù)端的概念,任意兩個(gè)節點(diǎn)之間是平等通信的。隨著(zhù)互聯(lián)網(wǎng)應用的擴展,技術(shù)得到了廣泛的應用。P2P網(wǎng)絡(luò )采用分布式對象定位機制,使得信息或媒體流在節點(diǎn)之間直接傳送,降低了中轉開(kāi)銷(xiāo),從而提高了網(wǎng)絡(luò )的可擴展性,節省了網(wǎng)絡(luò )帶寬。

很多基于P2P技術(shù)如共享MP3格式音樂(lè )文件的Napster服務(wù)、@Home">SETI@Home計劃,尤其是Skype應用的成功,使得P2P技術(shù)成為業(yè)界關(guān)注的焦點(diǎn)。

3 P2P網(wǎng)絡(luò )架構

P2P 網(wǎng)絡(luò )的技術(shù)核心是解決分布式節點(diǎn)之間的資源定位,這需要合適的網(wǎng)絡(luò )架構,發(fā)展至今共經(jīng)歷了3代網(wǎng)絡(luò )架構。

3.1集中目錄式網(wǎng)絡(luò )架構

最早出現的P2P應用模式就是集中目錄式P2P網(wǎng)絡(luò ),Napster是該架構模型最典型的代表。用戶(hù)需要登錄到中心目錄服務(wù)器,通過(guò)目錄服務(wù)器查詢(xún)存儲各個(gè)節點(diǎn)的資源信息。這種結構的最大特點(diǎn)是所有的資料都是存貯在各個(gè)用戶(hù)節點(diǎn)中。用戶(hù)獲取資源時(shí),節點(diǎn)根據網(wǎng)絡(luò )流量和延遲等信息選擇合適的節點(diǎn)建立直接連接,而不必經(jīng)過(guò)中央服務(wù)器。

3.2純P2P網(wǎng)絡(luò )架構

純P2P網(wǎng)絡(luò )架構采用的是廣播式的P2P模型。在這種架構下,沒(méi)有集中的中央服務(wù)器,每個(gè)用戶(hù)節點(diǎn)隨機接入到網(wǎng)絡(luò ),并與自己相鄰的一組節點(diǎn)通過(guò)端到端連接構成一個(gè)邏輯覆蓋的網(wǎng)絡(luò )。節點(diǎn)之間的內容查詢(xún)和內容共享都是直接通過(guò)相鄰節點(diǎn)以廣播方式接力傳遞。為了避免循環(huán)搜索現象,每個(gè)節點(diǎn)會(huì )記錄其搜索軌跡。

Gnutella模型是現在應用最廣泛的純P2P網(wǎng)絡(luò )架構,采用泛洪式的節點(diǎn)搜索算法,解決了網(wǎng)絡(luò )結構中心化的問(wèn)題,擴展性和容錯性較好。但是Gnutella網(wǎng)絡(luò )可用性較差,易被病毒攻擊,并且極大地消耗了網(wǎng)絡(luò )帶寬,很容易造成網(wǎng)絡(luò )擁塞與不穩定。

3.3混合式P2P網(wǎng)絡(luò )架構

混合式P2P網(wǎng)絡(luò )在純P2P網(wǎng)絡(luò )架構基礎上加入了超級節點(diǎn)的概念。在這種網(wǎng)絡(luò )下,將節點(diǎn)按能力 (計算能力、內存大小、連接帶寬、網(wǎng)絡(luò )滯留時(shí)間等)不同區分為普通節點(diǎn)和超級節點(diǎn)兩類(lèi)。超級節點(diǎn)與其臨近的若干普通節點(diǎn)之間構成一個(gè)自治的簇,簇內采用基于集中目錄式的P2P模式,而整個(gè)P2P網(wǎng)絡(luò )中各個(gè)不同的簇之間再通過(guò)純P2P的模式將超級節點(diǎn)相連。有時(shí)甚至也可以在各個(gè)超級節點(diǎn)之間再次選取性能最優(yōu)的節點(diǎn),或者另外引入一新的性能最優(yōu)的節點(diǎn)作為索引節點(diǎn)來(lái)保存整個(gè)網(wǎng)絡(luò )中可以利用的超級節點(diǎn)信息,并且負責維護整個(gè)網(wǎng)絡(luò )的結構。

普通節點(diǎn)的文件搜索先在本簇內進(jìn)行,只有查詢(xún)結果不充分時(shí)再通過(guò)超級節點(diǎn)之間進(jìn)行有限的泛洪。同時(shí),每個(gè)簇中的超級節點(diǎn)監控著(zhù)所有普通節點(diǎn)的行為,從而確保一些惡意的攻擊行為能在網(wǎng)絡(luò )局部得到控制,也在一定程度上提高了整個(gè)網(wǎng)絡(luò )的負載平衡。

混合式P2P網(wǎng)絡(luò )架構綜合了集中目錄式P2P快速查找和純P2P去中心化的優(yōu)勢,Kazaa模型是P2P混合模型的典型代表。

然而,由于超級節點(diǎn)本身的脆弱性也可能導致其簇內的節點(diǎn)處于孤立狀態(tài),因此這種局部索引的方法仍然存在一定的局限性。這導致了結構化的P2P網(wǎng)絡(luò )模型的出現。

3.4結構化P2P網(wǎng)絡(luò )架構

結構化P2P架構采用純分布式的消息傳遞機制,根據關(guān)鍵字進(jìn)行節點(diǎn)查找定位。目前結構化網(wǎng)絡(luò )的主流查詢(xún)定位方法是采用分布式哈希表(DHT)技術(shù),這也是目前擴展性最好的P2P路由方式之一。

DHT將節點(diǎn)管理的資源或文檔作為“關(guān)鍵字”,將節點(diǎn)的IP地址作為“數值”,組成關(guān)鍵字-數值對,并能根據關(guān)鍵字查找數值。DHT技術(shù)中的存儲和查詢(xún)是分布在多個(gè)節點(diǎn)上進(jìn)行的,對單一節點(diǎn)的依賴(lài)性低,容易實(shí)現網(wǎng)絡(luò )上任一節點(diǎn)的無(wú)序加入或退出,對整個(gè)網(wǎng)絡(luò )性能影響較低。

DHT各節點(diǎn)并不要維護整個(gè)網(wǎng)絡(luò )的信息,只需存儲其臨近后繼節點(diǎn)信息,因此通過(guò)較少的路由就可以到達目標節點(diǎn)。DHT又取消了泛洪算法,有效地減少了節點(diǎn)信息的發(fā)送操作數量,增強了P2P網(wǎng)絡(luò )的擴展性。

在實(shí)際應用中,出于冗余度以及延時(shí)的考慮,大部分DHT總是在節點(diǎn)的虛擬標識與關(guān)鍵字最接近的節點(diǎn)上備份冗余信息,這樣也避免了單一節點(diǎn)失效的問(wèn)題。

但是基于DHT的網(wǎng)絡(luò )拓撲結構的維護和修復也比Gnutella模型和Kazaa模型等無(wú)結構的系統要復雜得多,有時(shí)甚至出現“繞路”的問(wèn)題。

目前基于DHT的研究項目主要還集中在具有相同能力的較小規模的網(wǎng)絡(luò )中,對于大規模的Internet部署還在研究中。同時(shí)大量實(shí)際的P2P應用還大都是基于無(wú)結構的拓撲和泛洪廣播機制,采用DHT方式的P2P系統缺乏在Internet中大規模真實(shí)部署的成功實(shí)例。

4 P2PSIP網(wǎng)絡(luò )架構

P2P網(wǎng)絡(luò )[3]的優(yōu)點(diǎn)是沒(méi)有中心服務(wù)器,節點(diǎn)間直接通信、交換資源和文檔,并且可以擴展到分布式的負載分擔網(wǎng)絡(luò )。從理論分析看,P2P網(wǎng)絡(luò )可以降低C/S結構網(wǎng)絡(luò )中的“單點(diǎn)故障”和“性能瓶頸”問(wèn)題。作為C/S結構網(wǎng)絡(luò )一種的SIP網(wǎng)絡(luò )也可以利用P2P技術(shù)來(lái)實(shí)現,并且具有以下特點(diǎn):

去中心化,避免中心SIP服務(wù)器的單點(diǎn)故障隱患;
增強SIP網(wǎng)絡(luò )的擴展性,降低網(wǎng)絡(luò )中的存儲、計算、帶寬等性能瓶頸;
提高網(wǎng)絡(luò )的高可用性,采用P2P網(wǎng)絡(luò )全分布的架構來(lái)提高網(wǎng)絡(luò )的健壯性;
降低成本,充分利用節點(diǎn)閑置的處理能力、存儲和帶寬資源。

P2P SIP網(wǎng)絡(luò )利用SIP協(xié)議的擴展和承載來(lái)完成P2P層疊加網(wǎng)絡(luò )節點(diǎn)的加入、定位、查找和路由,降低P2P私有協(xié)議帶來(lái)的擴展性和兼容性問(wèn)題,實(shí)現不同P2P網(wǎng)絡(luò )的互通。

P2P SIP網(wǎng)絡(luò )以SIP協(xié)議為基礎,無(wú)需大規模改動(dòng)現有設備,并且無(wú)需改動(dòng)VoIP終端設備,只要升級現有SIP服務(wù)器的軟件,即可實(shí)現SIP網(wǎng)絡(luò )的P2P化,提升網(wǎng)絡(luò )的處理能力和可用性。

在P2P SIP網(wǎng)絡(luò )中,原來(lái)管理一個(gè)域的單節點(diǎn)SIP服務(wù)器變成多臺P2P SIP服務(wù)器(稱(chēng)為PN節點(diǎn)),PN之間通過(guò)P2P機制互聯(lián),彼此分擔負載,構成一個(gè)邏輯上的重疊網(wǎng)絡(luò )。每個(gè)節點(diǎn)將和它相連的下一節點(diǎn)當作下一跳PN可以承擔原來(lái)服務(wù)中壓力最大的部分,比如注冊、代理和計費。用戶(hù)連接到任一PN,都可以有效使用服務(wù)。部分PN的宕機或故障不會(huì )影響到整個(gè)P2P SIP網(wǎng)絡(luò )的正常運行。當需要擴大P2P SIP網(wǎng)絡(luò )的容量,加入新的PN就可以了[4]。

本文引用地址:http://dyxdggzs.com/article/201706/351835.htm

P2P SIP網(wǎng)絡(luò )有兩個(gè)重要操作:一是對P2P節點(diǎn)的操作,包括節點(diǎn)注冊和離開(kāi),實(shí)現重疊網(wǎng)絡(luò )的維護[5];另一個(gè)是用戶(hù)層面的操作,包括用戶(hù)的注冊、資源定位、會(huì )話(huà)建立等。

4.1P2PSIP節點(diǎn)操作

P2P節點(diǎn)在地理上散布各處,邏輯上根據選用的P2P機制的不同可以是環(huán)形的(Chord協(xié)議)、矩陣的(CAN協(xié)議)、網(wǎng)狀的(Pastry協(xié)議和Tapestry協(xié)議)?;镜腜2P節點(diǎn)至少包括注冊和代理兩種功能。從運營(yíng)角度出發(fā),還需要部署全局認證服務(wù)器、全局賬務(wù)服務(wù)器和網(wǎng)管服務(wù)器等等,用于管理全部用戶(hù)和所有節點(diǎn)。

每個(gè)節點(diǎn)在網(wǎng)絡(luò )中都有一個(gè)節點(diǎn)ID號,該ID號由節點(diǎn)IP地址和端口號進(jìn)行哈希運算獲得,節點(diǎn)信息被存儲在一張DHT表中。每個(gè)節點(diǎn)負責存儲對應信息,如用戶(hù)注冊信息等。

當一個(gè)節點(diǎn)申請加入網(wǎng)絡(luò )中時(shí),先定位一個(gè)缺省的網(wǎng)絡(luò )節點(diǎn),并發(fā)送SIP REGISTER消息給該缺省節點(diǎn),申請加入網(wǎng)絡(luò )。如果該缺省節點(diǎn)是負責對應區域的節點(diǎn),則響應200OK消息,并允許新加入節點(diǎn)加入網(wǎng)絡(luò )。響應消息中包含鄰近節點(diǎn)的信息。

如果缺省節點(diǎn)不是負責對應信息區域的節點(diǎn),則通過(guò)SIP 302響應提供新加入節點(diǎn)前轉的網(wǎng)絡(luò )節點(diǎn)。新加入節點(diǎn)向前轉節點(diǎn)發(fā)送SIP REGISTER消息,申請加入。前轉節點(diǎn)根據自己是否是負責該區域的節點(diǎn)對REGISTER消息進(jìn)行處理。上述過(guò)程一直持續到找到對應的節點(diǎn)為止。

當新加入節點(diǎn)成功加入網(wǎng)絡(luò )后,新加入節點(diǎn)存儲所需要負責的用戶(hù)信息如用戶(hù)注冊信息,同時(shí)通知網(wǎng)絡(luò )中其它節點(diǎn)更新自己的信息。

4.2P2PSIP用戶(hù)注冊操作

在P2P SIP網(wǎng)絡(luò )中,每個(gè)用戶(hù)被看成是一個(gè)資源,以資源ID標識,資源ID由資源名稱(chēng)經(jīng)哈希運算獲得。

當用戶(hù)申請注冊時(shí),首先生成對應的資源ID。用戶(hù)所在的節點(diǎn)通過(guò)查找路由表,找到一個(gè)資源ID和節點(diǎn)ID最接近的節點(diǎn),并向該節點(diǎn)發(fā)送REGISTER消息。如果該最近節點(diǎn)是負責該資源ID的節點(diǎn),它會(huì )將用戶(hù)名稱(chēng)和IP地址存儲在注冊表中,并回送200OK消息給用戶(hù)節點(diǎn)。

如果該最近節點(diǎn)不是負責該資源ID的節點(diǎn),則通過(guò)302消息通知用戶(hù)節點(diǎn)需要注冊到下一節點(diǎn)。下一節點(diǎn)按照和上一節點(diǎn)同樣的方式進(jìn)行處理,直至找到對應的處理節點(diǎn)。對應的處理節點(diǎn)發(fā)送200OK消息給用戶(hù)節點(diǎn),并存儲用戶(hù)的名字和IP地址。

4.3P2PSIP會(huì )話(huà)建立操作

用戶(hù)注冊成功后,可以和其他用戶(hù)進(jìn)行會(huì )話(huà)。在會(huì )話(huà)前,會(huì )議發(fā)起方需要確定會(huì )話(huà)接收方的地址。發(fā)起方首先生成接收方的資源ID,并確定一個(gè)和資源ID最近的節點(diǎn)。然后發(fā)送INVITE消息給該最近節點(diǎn),直到查找到負責接收方的節點(diǎn)。如果接收方用戶(hù)沒(méi)有注冊,則負責節點(diǎn)通知發(fā)送方停止會(huì )話(huà);如果接收方已正常注冊,負責節點(diǎn)將接收方用戶(hù)的IP地址通過(guò)302響應通過(guò)發(fā)送方。

在獲得了接收方的IP地址后,發(fā)起方和接收方就可以按照傳統SIP協(xié)議的方式建立會(huì )議。

5 結束語(yǔ)

利用P2P技術(shù)的分布處理和無(wú)中心的架構來(lái)建設SIP網(wǎng)絡(luò )是網(wǎng)絡(luò )發(fā)展的一個(gè)重要方向。從現在的P2P SIP網(wǎng)絡(luò )的應用和實(shí)踐看,這種結合方案還有很多挑戰,主要表現在:

P2P技術(shù)還不成熟,資源動(dòng)態(tài)分布的優(yōu)化,資源恢復技術(shù)還在進(jìn)一步研究中?,F有的P2P應用主要還是集中在非實(shí)時(shí)的互聯(lián)網(wǎng)數據應用上,對于實(shí)時(shí)的通信節點(diǎn),以及資源的快速分配定位,還有很多需要P2PSIP網(wǎng)絡(luò )研究的領(lǐng)域。

P2P的成功應用目前還只是在互聯(lián)網(wǎng)領(lǐng)域的非實(shí)時(shí)應用,對于SIP應用,特別是實(shí)時(shí)通信要求高的呼叫處理而言,基于P2P的SIP網(wǎng)絡(luò )還需要進(jìn)行優(yōu)化。P2PSIP網(wǎng)絡(luò )利用在去中心化的節點(diǎn)群集來(lái)代替原SIP網(wǎng)絡(luò )中的服務(wù)器,現有的P2P技術(shù)發(fā)現,在P2PSIP網(wǎng)絡(luò )中對等通信方的查找時(shí)間原大于普通SIP網(wǎng)絡(luò )的對等通信方查找時(shí)間。實(shí)驗發(fā)現,兩種網(wǎng)絡(luò )的查找實(shí)驗時(shí)間比超過(guò)4倍。

P2P對于帶寬和資源的消耗,路由效率低下是P2P技術(shù)取得成功應用的難點(diǎn)?,F有的成功的P2P應用大都利用“免費”的互聯(lián)網(wǎng)資源,包括帶寬、存儲、計算能力等。對于一個(gè)可運營(yíng)可管理的P2PSIP網(wǎng)絡(luò )而言,需要提高P2P網(wǎng)絡(luò )技術(shù)對資源的使用效率。

P2PSIP網(wǎng)絡(luò )結構復雜,對于運營(yíng)商的管理帶來(lái)了很大的困難。如何實(shí)現可運營(yíng)可管理的P2PSIP網(wǎng)絡(luò )是目前業(yè)界的一個(gè)重要課題。



關(guān)鍵詞: P2P SiP

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>