




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、..6.7.&.2.3.基于Sip的P2P設計和原理分析1.SIP網(wǎng)絡2.P2P技術在互聯(lián)網(wǎng)上的應用3.P2P網(wǎng)絡架構3.1.集中目錄式網(wǎng)絡架構3.2.純P2P網(wǎng)絡架構3.3.混合式P2P網(wǎng)絡架構3.4.結構化P2P網(wǎng)絡架構3.5.二種結構的P2P(DHT,樹形,網(wǎng)狀)3.6.BitTorrent工作原理3.7.eMule工作原理3.8.迅雷工作原理3.9.PPLive工作原理3.10.Skype工作原理4.SIP協(xié)議和voip4.1.SIP:會話初始化協(xié)議(SessionInitiationProtocol)4.2.SDP:會話描述協(xié)議(Sessi
2、onDescriptionProtocol)4.3.SAP:會話通知協(xié)議(SessionAnnouncementProtocol)4.4.4.RTP(RealtimeTransportProtocol)5.rolRTCP(RealtimeTransportContProtocol).ICE(InteractiveConnectivity結束語Establishment)1.51ICE基于SIP工作方法6.6-基于SIP的P2P網(wǎng)絡架構1.6.1.P2PSIP節(jié)點操作2.6點P2PSIP用戶注冊操作3.6.3.P2PSIP會話建立操作7.7.基于ICE的SIPNAT解決方案設計和實
3、現(xiàn)&1.SIP網(wǎng)絡會話發(fā)起協(xié)議(SIP)是互聯(lián)網(wǎng)工程任務組(IETF)制定的多媒體通信應用層控制協(xié)議,用于建立、修改和終止多媒體會話。SIP協(xié)議借鑒了超文本傳輸協(xié)議(HTTP)、簡單郵件傳輸協(xié)議(SMTP)等,采用基于文本協(xié)議控制方式,支持代理、重定向、登記定位用戶等功能1。SIP憑借其簡單、易于擴展、便于實現(xiàn)等諸多優(yōu)點而得到了廣泛應用。3GPP等標準化組織已經(jīng)選擇SIP作為下一代網(wǎng)絡(NGN)和3G多媒體子系統(tǒng)(IMS)中的通信協(xié)議,業(yè)界已廣泛應用了多種基于SIP的多媒體業(yè)務2。SIP網(wǎng)絡采用客戶端/服務器(C/S)的網(wǎng)絡架構,按域劃分用戶。每個域的SIP服務器管理著本域內(nèi)的用戶,用戶在使用
4、SIP業(yè)務時,需要注冊到SIP服務器。各用戶之間的通信需要由SIP服務器來進行路由,因此存在SIP服務器的“單點故障”和“性能瓶頸”等問題。目前有多種提升SIP服務器處理能力的方案,如采用高處理能力的服務器、采用多服務器間的N+1或熱備份方案,或者采用多服務器負載均衡技術。P2P技術在互聯(lián)網(wǎng)上的應用P2P技術本身并不是新的概念或技術,它的原理是將網(wǎng)絡上的通信節(jié)點作為平等的通信終端,任意兩個通信節(jié)點之間既互為“服務器”又互為“客戶端”。這一點與互聯(lián)網(wǎng)的基礎協(xié)議TCP/IP一致,TCP/IP也沒有服務器或客戶端的概念,任意兩個節(jié)點之間是平等通信的。隨著互聯(lián)網(wǎng)應用的擴展,P2P技術得到了廣泛的應用。
5、P2P網(wǎng)絡采用分布式對象定位機制,使得信息或媒體流在節(jié)點之間直接傳送,降低了中轉開銷,從而提高了網(wǎng)絡的可擴展性,節(jié)省了網(wǎng)絡帶寬。很多基于P2P技術如共享MP3格式音樂文件的Napster服務、SETIHome計劃,尤其是Skype應用的成功,使得P2P技術成為業(yè)界關注的焦點。P2P網(wǎng)絡架構P2P網(wǎng)絡的技術核心是解決分布式節(jié)點之間的資源定位,這需要合適的網(wǎng)絡架構,發(fā)展至今共經(jīng)歷了3代網(wǎng)絡架構。P2F怵系第構的發(fā)展集中目錄式網(wǎng)絡架構最早出現(xiàn)的P2P應用模式就是集中目錄式P2P網(wǎng)絡,Napster是該架構模型最典型的代表。用戶需要登錄到中心目錄服務器,通過目錄服務器查詢存儲各個節(jié)點的資源信息。這種結
6、構的最大特點是所有的資料都是存貯在各個用戶節(jié)點中。用戶獲取資源時,節(jié)點根據(jù)網(wǎng)絡流量和延遲等信息選擇合適的節(jié)點建立直接連接,而不必經(jīng)過中央服務器。純P2P網(wǎng)絡架構純P2P網(wǎng)絡架構采用的是廣播式的P2P模型。在這種架構下,沒有集中的中央服務器,每個用戶節(jié)點隨機接入到網(wǎng)絡,并與自己相鄰的一組節(jié)點通過端到端連接構成一個邏輯覆蓋的網(wǎng)絡。節(jié)點之間的內(nèi)容查詢和內(nèi)容共享都是直接通過相鄰節(jié)點以廣播方式接力傳遞。為了避免循環(huán)搜索現(xiàn)象,每個節(jié)點會記錄其搜索軌跡。Gnutella模型是現(xiàn)在應用最廣泛的純P2P網(wǎng)絡架構,采用泛洪式的節(jié)點搜索算法,解決了網(wǎng)絡結構中心化的問題,擴展性和容錯性較好。但是Gnutella網(wǎng)絡可
7、用性較差,易被病毒攻擊,并且極大地消耗了網(wǎng)絡帶寬,很容易造成網(wǎng)絡擁塞與不穩(wěn)定?;旌鲜絇2P網(wǎng)絡架構混合式P2P網(wǎng)絡在純P2P網(wǎng)絡架構基礎上加入了超級節(jié)點的概念。在這種網(wǎng)絡下,將節(jié)點按能力(計算能力、內(nèi)存大小、連接帶寬、網(wǎng)絡滯留時間等)不同區(qū)分為普通節(jié)點和超級節(jié)點兩類。超級節(jié)點與其臨近的若干普通節(jié)點之間構成一個自治的簇,簇內(nèi)采用基于集中目錄式的P2P模式,而整個P2P網(wǎng)絡中各個不同的簇之間再通過純P2P的模式將超級節(jié)點相連。有時甚至也可以在各個超級節(jié)點之間再次選取性能最優(yōu)的節(jié)點,或者另外引入一新的性能最優(yōu)的節(jié)點作為索引節(jié)點來保存整個網(wǎng)絡中可以利用的超級節(jié)點信息,并且負責維護整個網(wǎng)絡的結構。普通節(jié)
8、點的文件搜索先在本簇內(nèi)進行,只有查詢結果不充分時再通過超級節(jié)點之間進行有限的泛洪。同時,每個簇中的超級節(jié)點監(jiān)控著所有普通節(jié)點的行為,從而確保一些惡意的攻擊行為能在網(wǎng)絡局部得到控制,也在一定程度上提高了整個網(wǎng)絡的負載平衡。混合式P2P網(wǎng)絡架構綜合了集中目錄式P2P快速查找和純P2P去中心化的優(yōu)勢,Kazaa模型是P2P混合模型的典型代表。然而,由于超級節(jié)點本身的脆弱性也可能導致其簇內(nèi)的節(jié)點處于孤立狀態(tài),因此這種局部索引的方法仍然存在一定的局限性。這導致了結構化的P2P網(wǎng)絡模型的出現(xiàn)。3.4.結構化P2P網(wǎng)絡架構結構化P2P架構采用純分布式的消息傳遞機制,根據(jù)關鍵字進行節(jié)點查找定位。目前結構化網(wǎng)絡
9、的主流查詢定位方法是采用分布式哈希表(DHT)技術,這也是目前擴展性最好的P2P路由方式之一。DHT將節(jié)點管理的資源或文檔作為“關鍵字”,將節(jié)點的IP地址作為“數(shù)值”,組成關鍵字-數(shù)值對,并能根據(jù)關鍵字查找數(shù)值。DHT技術中的存儲和查詢是分布在多個節(jié)點上進行的,對單一節(jié)點的依賴性低,容易實現(xiàn)網(wǎng)絡上任一節(jié)點的無序加入或退出,對整個網(wǎng)絡性能影響較低。DHT各節(jié)點并不要維護整個網(wǎng)絡的信息,只需存儲其臨近后繼節(jié)點信息,因此通過較少的路由就可以到達目標節(jié)點。DHT又取消了泛洪算法,有效地減少了節(jié)點信息的發(fā)送操作數(shù)量,增強了P2P網(wǎng)絡的擴展性。在實際應用中,出于冗余度以及延時的考慮,大部分DHT總是在節(jié)點
10、的虛擬標識與關鍵字最接近的節(jié)點上備份冗余信息,這樣也避免了單一節(jié)點失效的問題。但是基于DHT的網(wǎng)絡拓撲結構的維護和修復也比Gnutella模型和Kazaa模型等無結構的系統(tǒng)要復雜得多,有時甚至出現(xiàn)“繞路”的問題。目前基于DHT的研究項目主要還集中在具有相同能力的較小規(guī)模的網(wǎng)絡中,對于大規(guī)模的Internet部署還在研究中。同時大量實際的P2P應用還大都是基于無結構的拓撲和泛洪廣播機制,采用DHT方式的P2P系統(tǒng)缺乏在Internet中大規(guī)模真實部署的成功實例。3.5.三種結構的P2P(DHT,樹形,網(wǎng)狀)DHT結構分布式哈希表(DHT)是一種功能強大的工具,它的提出引起了學術界一股研究DHT的
11、熱潮。雖然DHT具有各種各樣的實現(xiàn)方式,但是具有共同的特征,即都是一個環(huán)行拓撲結構,在這個結構里每個節(jié)點具有一個唯一的節(jié)點標識(ID),節(jié)點ID是一個128位的哈希值。每個節(jié)點都在路由表里保存了其他前驅(qū)、后繼節(jié)點的ID。如圖1(a)所示。通過這些路由信息,可以方便地找到其他節(jié)點。這種結構多用于文件共享和作為底層結構用于流媒體傳輸2。樹形結構P2P網(wǎng)絡樹形結構如圖1(b)所示。在這種結構中,所有的節(jié)點都被組織在一棵樹中,樹根只有子節(jié)點,樹葉只有父節(jié)點,其他節(jié)點既有子節(jié)點也有父節(jié)點。信息的流向沿著樹枝流動。最初的樹形結構多用于P2P流媒體直播3-4。網(wǎng)狀結構網(wǎng)狀結構如圖1(c)所示,又叫無結構。顧
12、名思義,這種結構中,所有的節(jié)點無規(guī)則地連在一起,沒有穩(wěn)定的關系,沒有父子關系。網(wǎng)狀結構為P2P提供了最大的容忍性、動態(tài)適應性,在流媒體直播和點播應用中取得了極大的成功。當網(wǎng)絡變得很大時,常常會引入超級節(jié)點的概念,超級節(jié)點可以和任何一種以上結構結合起來組成新的結構,如KaZaA6。3.6.BitTorrent工作原理BitTorrent軟件用戶首先從Web服務器上獲得下載文件的種子文件,種子文件中包含下載文件名及數(shù)據(jù)部分的哈希值,還包含一個或者多個的索引(Tracker)服務器地址。它的工作過程如下:客戶端向索引服務器發(fā)一個超文本傳輸協(xié)議(HTTP)的GET請求,并把它自己的私有信息和下載文件的
13、哈希值放在GET的參數(shù)中;索引服務器根據(jù)請求的哈希值查找內(nèi)部的數(shù)據(jù)字典,隨機地返回正在下載該文件的一組節(jié)點,客戶端連接這些節(jié)點,下載需要的文件片段。因此可以將索引服務器的文件下載過程簡單地分成兩個部分:與索引服務器通信的HTTP,與其他客戶端通信并傳輸數(shù)據(jù)的協(xié)議,我們稱為BitTorrent對等協(xié)議。BitTorrent軟件的工作原理如圖4所示oBitTorrent協(xié)議也處在不斷變化中,可以通過數(shù)據(jù)報協(xié)議(UDP)和DHT的方法獲得可用的傳輸節(jié)點信息,而不是僅僅通過原有的HTTP,這種方法使得BitTorrent應用更加靈活,提高BitTorrent用戶的下載體驗。ILetcher)Leech
14、er;F菽的容戶諸000*BitTorrent軟陣工作驚理3.8.迅雷工作原理3.7.eMule工作原理eMule軟件基于eDonkey協(xié)議改進后的協(xié)議,同時兼容eDonkey協(xié)議。每個eMule客戶端都預先設置好了一個服務器列表和一個本地共享文件列表,客戶端通過TCP連接到eMule服務器進行登錄,得到想要的文件的信息以及可用的客戶端的信息。一個客戶端可以從多個其他的EMule客戶端下載同一個文件,并從不同的客戶端取得不同的數(shù)據(jù)片段。eMule同時擴展了eDonkey的能力,允許客戶端之間互相交換關于服務器、其他客戶端和文件的信息。eMule服務器不保存任何文件,它只是文件位置信息的中心索引
15、。eMule客戶端一啟動就會自動使用傳輸控制協(xié)議(TCP)連接到eMule服務器上。服務器給客戶端提供一個客戶端標識(ID),它僅在客戶端服務器連接的生命周期內(nèi)有效。連接建立后,客戶端把其共享的文件列表發(fā)送給服務器。服務器將這個列表保存在內(nèi)部數(shù)據(jù)庫內(nèi)。eMule客戶端也會發(fā)送請求下載列表。連接建立以后,eMule服務器給客戶端返回一個列表,包括哪些客戶端可以提供請求文件的下載。然后,客戶端再和它們主動建TCP:rst控制師諛um:數(shù)爲慢協(xié)諛立連接下載文件。圖5所示為eMule的工作原理。圖已Mule軟祥工作原理迅雷是一款新型的基于多資源多線程技術的下載軟件,迅雷擁有比目前用戶常用的下載軟件快7
16、10倍的下載速度。迅雷的技術主要分成兩個部分,一部分是對現(xiàn)有Internet下載資源的搜索和整合,將現(xiàn)有Internet上的下載資源進行校驗,將相同校驗值的統(tǒng)一資源定位(URL)信息進行聚合。當用戶點擊某個下載連接時,迅雷服務器按照一定的策略返回該URL信息所在聚合的子集,并將該用戶的信息返回給迅雷服務器。另一部分是迅雷客戶端通過多資源多線程下載所需要的文件,提高下載速率。迅雷高速穩(wěn)定下載的根本原因在于同時整合多個穩(wěn)定服務器的資源實現(xiàn)多資源多線程的數(shù)據(jù)傳輸。多資源多線程技術使得迅雷在不降低用戶體驗的前提下,對服務器資源進行均衡,有效降低了服務器負載。每個用戶在網(wǎng)上下載的文件都會在迅雷的服務器中
17、進行數(shù)據(jù)記錄,如有其他用戶再下載同樣的文件,迅雷的服務器會在它的數(shù)據(jù)庫中搜索曾經(jīng)下載過這些文件的用戶,服務器再連接這些用戶,通過用戶已下載文件中的記錄進行判斷,如用戶下載文件中仍存在此文件(文件如改名或改變保存位置則無效),用戶將在不知不覺中扮演下載中間服務角色,上傳文件。3.9.PPLive工作原理PPLive軟件的工作機制和BitTorrent十分類似,PPLive將視頻文件分成大小相等的片段,第三方提供播放的視頻源,用戶啟磯PPLive以后,從PPLive服務器獲得頻道的列表,用戶點擊感興趣的頻道,然后從其他節(jié)點獲得數(shù)據(jù)文件,使用流媒體實時傳輸協(xié)議(RTP)和實時傳輸控制協(xié)議(RTCP)
18、進行數(shù)據(jù)的傳輸和控制。將數(shù)據(jù)下載到本地主機后,開放本地端口作為視頻服務器,PPLive的客戶端播放器連接此端口,任何同一個局域網(wǎng)內(nèi)的用戶都可以通過連接這個地址收看到點播的節(jié)目。圖6所示為PPLive的工作原理示意圖。310Skype工作原理Skype是網(wǎng)絡語音溝通工具。它可以提供免費高清晰的語音對話,也可以用來撥打國內(nèi)國際長途,還具備即時通訊所需的其他功能,比如文件傳輸、文字聊天等。Skype是在KaZaA的基礎上開發(fā)的,就像KaZaA樣,Skype本身也是基于覆蓋層的P2P網(wǎng)絡,在它里面有兩種類型的節(jié)點:普通節(jié)點和超級節(jié)點。普通節(jié)點是能傳輸語音和消息的一個功能實體;超級節(jié)點則類似于普通節(jié)點的
19、網(wǎng)絡網(wǎng)關,所有的普通節(jié)點必須與超級節(jié)點連接,并向Skype的登陸服務器注冊它自己來加入Skype網(wǎng)絡。Skype的登陸服務器上存有用戶名和密碼,并且授權特定的用戶加入Skype網(wǎng)絡,圖7所示為Skype的體系結構18。盤團了Skype怵系第構Skype的另一個突出特點就是能夠穿越地址轉換設備和防火墻。Skype能夠在最小傳輸帶寬32kb/s的網(wǎng)絡上提供高質(zhì)量的語音。Skype是使用P2P語音服務的代表。由于其具有超清晰語音質(zhì)量、極強的穿透防火墻能力、免費多方通話以及高保密性等優(yōu)點,成為互聯(lián)網(wǎng)上使用最多的P2P應用之一。SIP協(xié)議和voipSIP:會話初始化協(xié)議(SessionInitiatio
20、nProtocol)會話初始化協(xié)議(SIP)是一種應用層控制協(xié)議,它可用來創(chuàng)建、修改或終止多媒體會話,如因特網(wǎng)電話呼叫。SIP能夠邀請參與者加入已存在的會話,如組播會議?,F(xiàn)有的會話中可以添加或刪除媒體。SIP支持名稱映射和重定向服務,其支持用戶移動性。不管用戶網(wǎng)絡位置在哪,用戶只需維持單一外部可視標識符。SIP在五個方面支持創(chuàng)建和終止多媒體通信:用戶定位:決定用于通信的終端系統(tǒng)的確定;用戶可用性:決定被叫方是否愿意加入通信;用戶能力:媒體和媒體參數(shù)的確定;呼叫建立:響鈴“,主叫方和被叫方的會話參數(shù)的建立;呼叫管理:包括傳輸和終止會話、修改呼叫參數(shù)和調(diào)用服務。SIP可以結合其它IETF協(xié)議來建立
21、完善的多媒體結構,如提供實時數(shù)據(jù)傳輸和服務質(zhì)量(Q0S)反饋的實時傳輸協(xié)議(RTP)、提供流媒體發(fā)送控制的實時流協(xié)議(RTSP)、為公用交換電話網(wǎng)絡(PSTN)提供網(wǎng)關控制的媒體網(wǎng)關控制協(xié)議(MEGACO),以及描述多媒體會話的會話描述協(xié)議(SDP)。因此,SIP需要與其它協(xié)議協(xié)同作用來為用戶提供完善的服務。然而SIP的基本功能和操作并不依賴于這些協(xié)議。SIP提供了一組安全服務,包括防止拒絕服務攻擊、認證(用戶對用戶和代理對用戶)、完整性保護和加密及隱私服務。SIP同時支持IPv4和IPv6。關于因特網(wǎng)電話會話,SIP做如下工作:通過SIP地址識別主叫方和被叫方。當建立一個SIP呼叫時,主叫方
22、首先定位適合的服務器,然后發(fā)出一個SIP請求。最通常的SIP行為是邀請。SIP請求會被代理重定向或者觸發(fā)一系列的新SIP請求,而不是直接到達目的被叫方。用戶可以通過SIP服務器注冊他們的位置。SIP地址(URL)可以嵌入到網(wǎng)頁中,因此只要點擊一下就可以和對方建立呼叫會話。協(xié)議結構SIP信息可以在TCP上傳輸也可以在UDP上傳輸。SIP信息是基于文本的,采用UTF-8編碼中的ISO10646字符集。信息的每一行必須通過CRLF終止。大多數(shù)信息語法和頭字段類似于HTTP。SIP信息可以是請求信息也可以是響應信息。一個請求信息具有以下格式:MethodRequestURISIPversionMeth
23、od資源上所執(zhí)行的方法??赡艿姆椒ㄓ校篒nvite、Ack、Options、Bye、Cancel和Register。Request-URI指一個SIPURL或一個通用URI;是請求要被尋址到用戶或服務。SIPversion正在使用的SIP版本。響應信息頭的格式見下圖:SIPversionStatuscodeReasonphraseSIPversion正在使用的SIP版本。Status-code3位整數(shù)結果代碼,用于試圖了解和滿足請求要求。Reason-phrasestatuscode的原文描述。盡管sip有自己獨特的用戶代理和服務器,但是它并非自成一體圭寸閉工作,Sip支持融合多媒體服務,與很
24、多現(xiàn)有的協(xié)議協(xié)同工作。(SIP用戶代理、SIP注冊服務器、SIP代理服務器和SIP重定向服務器)通常情況下,兩個端點使用它來協(xié)商一次呼叫。這里的協(xié)商包括介質(zhì)(文本、語音等)、傳輸途徑(Realtimeprotocol)、編碼。一旦協(xié)商成功,兩端就會使用該方法進行通信,呼叫完成后,Sip指示斷開連接。因此sip是一種信令機制。sip還提供即時消息等等。SIP用戶代理(UA)是終端用戶設備,如用于創(chuàng)建和管理SIP會話的移動電話、多媒體手持設備、PC、PDA等。用戶代理客戶機發(fā)出消息。用戶代理服務器對消息進行響應。SIP注冊服務器是包含域中所有用戶代理的位置的數(shù)據(jù)庫。在SIP通信中,這些服務器會檢索
25、參與方的IP地址和其他相關信息,并將其發(fā)送到SIP代理服務器。SIP代理服務器接受SIPUA的會話請求并查詢SIP注冊服務器,獲取收件方UA的地址信息。然后,它將會話邀請信息直接轉發(fā)給收件方UA(如果它位于同一域中)或代理服務器(如果UA位于另一域中)。SIP重定向服務器允許SIP代理服務器將SIP會話邀請信息定向到外部域。SIP重定向服務器可以與SIP注冊服務器和SIP代理服務器同在一個硬件上。下圖說明了在預訂同一個ISP從而使用同一域的兩個用戶之間建立SIP會話的過程。用戶A使用SIP電話。用戶B有一臺PC,運行支持語音和視頻的軟客戶程序。加電后兩個用戶都在ISP網(wǎng)絡中的SIP代理服務器上
26、注冊了他們的空閑情況和IP地址。用戶A發(fā)起此呼叫,告訴SIP代理服務器要聯(lián)系用戶B。然后,SIP代理服務器向SIP注冊服務器發(fā)出請求,要求提供用戶B的IP地址,并收到用戶B的IP地址。SIP代理服務器轉發(fā)用戶A與用戶B進行通信的邀請信息(使用SDP),包括用戶A要使用的媒體。用戶B通知SIP代理服務器可以接受用戶A的邀請,且已做好接收消息的準備。SIP代理服務器將此消息傳達給用戶A,從而建立SIP會話。然后,用戶創(chuàng)建一個點到點RTP連接,實現(xiàn)用戶間的交互通信。1.呼叫用戶B2.查詢沒?在哪里?3.響應沒?SIP地址?4.頂呼叫5.響應6.響應7.多媒體通道已建立弓“事孚片決靜5IP電活&1P闇
27、尸43KiUM田ILdSDP:會話描述協(xié)議(SessionDescriptionProtocol)會話描述協(xié)議(SDP)為會話通知、會話邀請和其它形式的多媒體會話初始化等目的提供了多媒體會話描述。會話目錄用于協(xié)助多媒體會議的通告,并為會話參與者傳送相關設置信息。SDP即用于將這種信息傳輸?shù)浇邮斩恕DP完全是一種會話描述格式一它不屬于傳輸協(xié)議一它只使用不同的適當?shù)膫鬏攨f(xié)議,包括會話通知協(xié)議(SAP)、會話初始協(xié)議(SIP)、實時流協(xié)議(RTSP)、MIME擴展協(xié)議的電子郵件以及超文本傳輸協(xié)議(HTTP)SDP的設計宗旨是通用性,它可以應用于大范圍的網(wǎng)絡環(huán)境和應用程序,而不僅僅局限于組播會話目錄
28、,但SDP不支持會話內(nèi)容或媒體編碼的協(xié)商。在因特網(wǎng)組播骨干網(wǎng)(Mbone)中,會話目錄工具被用于通告多媒體會議,并為參與者傳送會議地址和參與者所需的會議特定工具信息,這由SDP完成。SDP連接好會話后,傳送足夠的信息給會話參與者。SDP信息發(fā)送利用了會話通知協(xié)議(SAP),它周期性地組播通知數(shù)據(jù)包到已知組播地址和端口處。這些信息是UDP數(shù)據(jù)包,其中包含SAP協(xié)議頭和文本有效載荷(textpayload)。這里文本有效載荷指的是SDP會話描述。此外信息也可以通過電子郵件或WWW(WorldWideWeb)進行發(fā)送。SDP文本信息包括:會話名稱和意圖;會話持續(xù)時間;構成會話的媒體;有關接收媒體的信
29、息(地址等)。協(xié)議結構SDP信息是文本信息,采用UTF-8編碼中的ISO10646字符集。SDP會話描述如下:(標注*符號的表示可選字段):v=(協(xié)議版本)o=(所有者/創(chuàng)建者和會話標識符)s=(會話名稱)i=*(會話信息)u=*(URI描述)e=*(Email地址)p=*(電話號碼)c=*(連接信息如果包含在所有媒體中,則不需要該字段)b=*(帶寬信息)一個或更多時間描述(如下所示):z=*(時間區(qū)域調(diào)整)k=*(加密密鑰)a=*(0個或多個會話屬性行)0個或多個媒體描述(如下所示)時間描述t=(會話活動時間)r=*(0或多次重復次數(shù))媒體描述m=(媒體名稱和傳輸?shù)刂罚﹊=*(媒體標題)c=
30、*(連接信息一如果包含在會話層則該字段可選)b=*(帶寬信息)k=*(加密密鑰)a=*(0個或多個會話屬性行)4.3.SAP:會話通知協(xié)議(SessionAnnouncementProtocol)會話通知協(xié)議(SAP)是一種通知協(xié)議,用于協(xié)助組播多媒體會議通告以及其它組播會話過程,并為會話參與者傳送相關設置信息。SAP廣播員周期性地向已知的組播地址和端口傳送通知數(shù)據(jù)包。通知傳送范圍與會話范圍相同,以確保通知接收端即為會話接收端。這對于協(xié)議的可擴展性來說也是很重要的,即確保本地會話通知在本地傳送。SAP收聽方(通過組播范圍區(qū)域通知協(xié)議或其它協(xié)議)知道其所在的組播范圍,并監(jiān)聽那些范圍內(nèi)的SAP地址
31、和端口。如此,收聽方最終會知道所有被通知會話,并允許那些會話加入。(人們)希望會話過程可以通過多種不同機制進行通知,而不僅僅是SAP。例如,會話的描述可以放置在一個web頁上,通過電子郵件或會話初始協(xié)議發(fā)送。為增強與其它機制間互操作性,需要提供應用層安全機制,而不是使用IPsec認證協(xié)議頭。協(xié)議結構3456781632bitV=1ARTECAuthlenMsgIDhashOriginatingSource(32or128bits)OptionalAuthenticationDataOptionalTimeoutOptionalPayloadType0PayloadV一3位版本號字段,該字段必須
32、設置為1。A地址類型,值為0或1:0:OriginatingSource字段包括一個32位的IPv4地址。1:OriginatingSource字段包括一個128位的IPv6地址。R一預留。SAP廣播員將它設置為0。SAP收聽方忽略該字段的內(nèi)容。T一信息類型,值為0或1:0:會話通知數(shù)據(jù)包1:會話刪除數(shù)據(jù)包E一加密位,值為0或1:1:對SAP數(shù)據(jù)包的有效載荷進行加密,并且Timeout字段必須被添加到數(shù)據(jù)包頭中。0:不對數(shù)據(jù)包進行加密且當前不存在Timeout字段。C一壓縮位。如果值為1,表示對有效載荷進行壓縮。AuthenticationLength8位無符號數(shù),跟在主要SAP頭后面,包含認
33、證數(shù)據(jù)。如果該值為0,表示當前沒有認證頭。MessageIdentifierHash結合RiginatingSource,提供全球唯一標識符,說明該通知的精確版本。OriginatingSource該字段包含信息OriginalSource的IP地址。如果A字段值為0,該地址指IPv4地址;否則指IPv6地址。按照網(wǎng)絡字節(jié)順序存儲該地址。Timeout一當會話有效載荷進行加密處理后,有效載荷中的詳細定時字段對不信任解密密鑰的收聽方而言已經(jīng)不可利用。在這種情況下,當會話到指定時間時,頭就包含另外32位的TimestampF字段狀態(tài)。該值是無符號數(shù),提供指定會話超時的NTP時間。按照網(wǎng)絡字節(jié)順序存
34、儲。PayloadType有效載荷類型字段是關于MIME內(nèi)容類型的說明,描述有效載荷的格式。這是一個可變長ASCII文本串,其后是單個零字節(jié)(ASCIINUL)。PayloadPayload字段包括各種子字段。RTP(Real-timeTransportProtocol)RTP(Real-timeTransportProtocol)是用于Internet上針對多媒體數(shù)據(jù)流的一種傳輸協(xié)議。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現(xiàn)流同步。RTP通常使用UDP來傳送數(shù)據(jù)RTCP(RealtimeTransportControlProtocol)實時傳輸控制協(xié)議:負責
35、管理傳輸質(zhì)量在當前應用進程之間交換控制信息。在RTP會話期間,各參與者周期性地傳送RTCP包,包中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計資料,因此,服務器可以利用這些信息動態(tài)地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,能以有效的反饋和最小的開銷使傳輸效率最佳化,故特別適合傳送網(wǎng)上的實時數(shù)據(jù)。ICEQnteractiveConnectivityEstablishment)IETF網(wǎng)絡工程任務(InternetEngineeringTaskForce)STUN(SessionTraversalUsingNAT)TURN(TraversalUsingRelayNAT)
36、ICE(InteractiveConnectivityEstablishment)5.1.ICE基于SIP工作方法冰的方法概述如圖所示:每個candidate是能接受別的節(jié)點發(fā)送數(shù)據(jù)的IP地址和端口,candidate有三種類型:本地候選:本地私有IP和端口NAT候選:Nat地址和端口relay候選:relay地址和端口ICE建立通信通道的步驟:caller收集候選人:客戶端發(fā)送ALLocate請求給服務器,指示服務器分配IP/port,服務器會將地址返回給客戶端。caller發(fā)送sip的invite命令:收集候選人,caller將他們編入invite消息中,并發(fā)送給被叫方。callee收集候
37、選人:在收到sip的invite請求后,收集候選人(同第一步);callee響應invite請求:被叫方發(fā)送臨時的響應(包含候選人)給呼叫方,例如sip183會話過程,該消息是轉發(fā)的。5檢查ICE的連通性:一旦caller收到對方的候選人后,雙方都開始檢查可使用的鏈路。首先檢查本地候選人(可分析NAT候選人,判斷是否操作此步)、檢查Nat候選人、檢查relay候選人.Callee發(fā)送180Ringing:表示被叫的電話開始響鈴Callee發(fā)送200OK:如果用戶接受呼叫,被叫者發(fā)送給呼叫者的最后答復呼叫者發(fā)送re-invite的sip命令:如果某一個選擇的鏈路和對方不不同則需要重新選擇鏈路,必
38、須重新發(fā)送invite命令Callee發(fā)送200Ok來回應re-invitecaller發(fā)送ACK:表示最后的確認發(fā)送給被叫者,表示呼叫鏈路建立成功。語音/視頻媒體開始傳輸:雙方都可以發(fā)送數(shù)據(jù)給對方,采用RTP協(xié)議!6.P2P網(wǎng)絡3的優(yōu)點是沒有中心服務器,節(jié)點間直接通信、交換資源和文檔,并且可以擴展到分布式的負載分擔網(wǎng)絡。從理論分析看,P2P網(wǎng)絡可以降低C/S結構網(wǎng)絡中的“單點故障”和“性能瓶頸”問題。作為C/S結構網(wǎng)絡一種的SIP網(wǎng)絡也可以利用P2P技術來實現(xiàn),并且具有以下特點:去中心化,避免中心SIP服務器的單點故障隱患;增強SIP網(wǎng)絡的擴展性,降低網(wǎng)絡中的存儲、計算、帶寬等性能瓶頸;提高
39、網(wǎng)絡的高可用性,采用P2P網(wǎng)絡全分布的架構來提高網(wǎng)絡的健壯性;降低成本,充分利用節(jié)點閑置的處理能力、存儲和帶寬資源。P2PSIP網(wǎng)絡利用SIP協(xié)議的擴展和承載來完成P2P層疊加網(wǎng)絡節(jié)點的加入、定位、查找和路由,降低P2P私有協(xié)議帶來的擴展性和兼容性問題,實現(xiàn)不同P2P網(wǎng)絡的互通。P2PSIP網(wǎng)絡以SIP協(xié)議為基礎,無需大規(guī)模改動現(xiàn)有設備,并且無需改動VoIP終端設備,只要升級現(xiàn)有SIP服務器的軟件,即可實現(xiàn)SIP網(wǎng)絡的P2P化,提升網(wǎng)絡的處理能力和可用性。在P2PSIP網(wǎng)絡中,原來管理一個域的單節(jié)點SIP服務器變成多臺P2PSIP服務器(稱為PN節(jié)點),PN之間通過P2P機制互聯(lián),彼此分擔負載
40、,構成一個邏輯上的重疊網(wǎng)絡。每個節(jié)點將和它相連的下一節(jié)點當作下一跳PN可以承擔原來服務中壓力最大的部分,比如注冊、代理和計費。用戶連接到任一PN,都可以有效使用服務。部分PN的宕機或故障不會影響到整個P2PSIP網(wǎng)絡的正常運行。當需要擴大P2PSIP網(wǎng)絡的容量,加入新的PN就可以了4。P2PSIP網(wǎng)絡有兩個重要操作:一是對P2P節(jié)點的操作,包括節(jié)點注冊和離開,實現(xiàn)重疊網(wǎng)絡的維護5;另一個是用戶層面的操作,包括用戶的注冊、資源定位、會話建立等。6.1.P2PSIP節(jié)點操作P2P節(jié)點在地理上散布各處,邏輯上根據(jù)選用的P2P機制的不同可以是環(huán)形的(Chord協(xié)議)、矩陣的(CAN協(xié)議)、網(wǎng)狀的(Pastry協(xié)議和Tapestry協(xié)議)?;镜腜2P節(jié)點至少包括注冊和代理兩種功能。從運營角度出發(fā),還需要部署全局認證服務器、全局賬務服務器和網(wǎng)管服務器等等,用于管理全部用戶和所有節(jié)點。每個節(jié)點在網(wǎng)絡中都有一個節(jié)點ID號,該ID號由節(jié)點IP地址和端口號進行哈希運算獲得,節(jié)點信息被存儲在一張DHT表中。每個節(jié)點負責存儲對應信息,如用戶注冊信息等。當一個節(jié)點申請加入網(wǎng)絡中時,先定位一個缺省的網(wǎng)絡節(jié)點,并發(fā)送SIPREGISTER消息給該缺省節(jié)點,申請加入網(wǎng)絡。如果該缺省節(jié)點是負責對應區(qū)域的節(jié)點,則響應2000K消息,并允許新加入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民辦學校教職工校企合作與產(chǎn)學研用合同
- 冷庫租賃與冷鏈物流信息化管理服務協(xié)議2025
- 二零二五年度個人委托代付款安全無憂服務合同
- 2025年西安貨運從業(yè)資格考試題目大全及答案
- 2025年巴彥淖爾貨運從業(yè)資格證模擬考試題
- 如何堅守誠信發(fā)言稿
- 后勤學院辦公樓保潔協(xié)議
- 小紅書品牌賬號年度運營規(guī)劃與服務合同
- 孔雀東南飛民間故事解讀:初中語文課程教案
- 農(nóng)業(yè)生產(chǎn)三農(nóng)村公共空間設計與治理
- 中小學生賭博危害課件
- 2024年河北石家莊同濟醫(yī)學中等專業(yè)學校招聘教師考試真題
- 2025年湖南汽車工程職業(yè)學院單招職業(yè)技能測試題庫及答案1套
- 2025年牡丹江大學單招職業(yè)適應性測試題庫及答案(典優(yōu))
- 2024年湖南工業(yè)職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 新視野大學英語(第四版)讀寫教程1(思政智慧版)課件 Unit 5 Friendship across border and gender
- 2023年北京市地質(zhì)礦產(chǎn)勘查院所屬事業(yè)單位招聘考試真題
- 世界著名童話故事英文繪本故事丑小鴨
- 行政許可執(zhí)法案卷自評表
- 配煤配礦管理辦法
- 什么是場(廠)內(nèi)專用機動車輛重點講義
評論
0/150
提交評論