畢業(yè)論文-基于Sip的P2P設計和原理分析(終稿)_第1頁
畢業(yè)論文-基于Sip的P2P設計和原理分析(終稿)_第2頁
畢業(yè)論文-基于Sip的P2P設計和原理分析(終稿)_第3頁
畢業(yè)論文-基于Sip的P2P設計和原理分析(終稿)_第4頁
畢業(yè)論文-基于Sip的P2P設計和原理分析(終稿)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于Sip的P2P設計和原理分析1.

SIP網絡2.

P2P技術在互聯(lián)網上的應用3.

P2P網絡架構3.1.

集中目錄式網絡架構3.2.

純P2P網絡架構3.3.

混合式P2P網絡架構3.4.

結構化P2P網絡架構3.5.

三種結構的P2P(DHT,樹形,網狀)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é)議(SessionDescriptionProtocol)4.3.

SAP:會話通知協(xié)議(SessionAnnouncementProtocol)4.4.

RTP(Real-timeTransportProtocol)4.5.

RTCP(RealtimeTransportControlProtocol)5.

ICE(InteractiveConnectivityEstablishment)5.1.

ICE基于SIP工作方法6.

基于SIP的P2P網絡架構6.1.

P2PSIP節(jié)點操作6.2.

P2PSIP用戶注冊操作6.3.

P2PSIP會話建立操作7.

基于ICE的SIPNAT解決方案設計和實現(xiàn)8.

結束語1.

SIP網絡

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

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

SIP網絡采用客戶端/服務器(C/S)的網絡架構,按域劃分用戶。每個域的SIP服務器管理著本域內的用戶,用戶在使用SIP業(yè)務時,需要注冊到SIP服務器。各用戶之間的通信需要由SIP服務器來進行路由,因此存在SIP服務器的“單點故障”和“性能瓶頸”等問題。

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

P2P技術在互聯(lián)網上的應用

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

很多基于P2P技術如共享MP3格式音樂文件的Napster服務、SETI@Home計劃,尤其是Skype應用的成功,使得P2P技術成為業(yè)界關注的焦點。3.

P2P網絡架構P2P網絡的技術核心是解決分布式節(jié)點之間的資源定位,這需要合適的網絡架構,發(fā)展至今共經歷了3代網絡架構。3.1.

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

純P2P網絡架構

純P2P網絡架構采用的是廣播式的P2P模型。在這種架構下,沒有集中的中央服務器,每個用戶節(jié)點隨機接入到網絡,并與自己相鄰的一組節(jié)點通過端到端連接構成一個邏輯覆蓋的網絡。節(jié)點之間的內容查詢和內容共享都是直接通過相鄰節(jié)點以廣播方式接力傳遞。為了避免循環(huán)搜索現(xiàn)象,每個節(jié)點會記錄其搜索軌跡。Gnutella模型是現(xiàn)在應用最廣泛的純P2P網絡架構,采用泛洪式的節(jié)點搜索算法,解決了網絡結構中心化的問題,擴展性和容錯性較好。但是Gnutella網絡可用性較差,易被病毒攻擊,并且極大地消耗了網絡帶寬,很容易造成網絡擁塞與不穩(wěn)定。3.3.

混合式P2P網絡架構

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

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

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

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

結構化P2P網絡架構

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

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

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

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

但是基于DHT的網絡拓撲結構的維護和修復也比Gnutella模型和Kazaa模型等無結構的系統(tǒng)要復雜得多,有時甚至出現(xiàn)“繞路”的問題。目前基于DHT的研究項目主要還集中在具有相同能力的較小規(guī)模的網絡中,對于大規(guī)模的Internet部署還在研究中。同時大量實際的P2P應用還大都是基于無結構的拓撲和泛洪廣播機制,采用DHT方式的P2P系統(tǒng)缺乏在Internet中大規(guī)模真實部署的成功實例。3.5.

三種結構的P2P(DHT,樹形,網狀)

(1)DHT結構

分布式哈希表(DHT)[1]是一種功能強大的工具,它的提出引起了學術界一股研究DHT的熱潮。雖然DHT具有各種各樣的實現(xiàn)方式,但是具有共同的特征,即都是一個環(huán)行拓撲結構,在這個結構里每個節(jié)點具有一個唯一的節(jié)點標識(ID),節(jié)點ID是一個128位的哈希值。每個節(jié)點都在路由表里保存了其他前驅、后繼節(jié)點的ID。如圖1(a)所示。通過這些路由信息,可以方便地找到其他節(jié)點。這種結構多用于文件共享和作為底層結構用于流媒體傳輸[2]。

(2)樹形結構

P2P網絡樹形結構如圖1(b)所示。在這種結構中,所有的節(jié)點都被組織在一棵樹中,樹根只有子節(jié)點,樹葉只有父節(jié)點,其他節(jié)點既有子節(jié)點也有父節(jié)點。信息的流向沿著樹枝流動。最初的樹形結構多用于P2P流媒體直播[3-4]。

(3)網狀結構

網狀結構如圖1(c)所示,又叫無結構。顧名思義,這種結構中,所有的節(jié)點無規(guī)則地連在一起,沒有穩(wěn)定的關系,沒有父子關系。網狀結構[5]為P2P提供了最大的容忍性、動態(tài)適應性,在流媒體直播和點播應用中取得了極大的成功。當網絡變得很大時,常常會引入超級節(jié)點的概念,超級節(jié)點可以和任何一種以上結構結合起來組成新的結構,如KaZaA[6]。3.6.

BitTorrent工作原理BitTorrent軟件用戶首先從Web服務器上獲得下載文件的種子文件,種子文件中包含下載文件名及數(shù)據(jù)部分的哈希值,還包含一個或者多個的索引(Tracker)服務器地址。它的工作過程如下:客戶端向索引服務器發(fā)一個超文本傳輸協(xié)議(HTTP)的GET請求,并把它自己的私有信息和下載文件的哈希值放在GET的參數(shù)中;索引服務器根據(jù)請求的哈希值查找內部的數(shù)據(jù)字典,隨機地返回正在下載該文件的一組節(jié)點,客戶端連接這些節(jié)點,下載需要的文件片段。因此可以將索引服務器的文件下載過程簡單地分成兩個部分:與索引服務器通信的HTTP,與其他客戶端通信并傳輸數(shù)據(jù)的協(xié)議,我們稱為BitTorrent對等協(xié)議。BitTorrent軟件的工作原理如圖4所示。BitTorrent協(xié)議也處在不斷變化中,可以通過數(shù)據(jù)報協(xié)議(UDP)和DHT的方法獲得可用的傳輸節(jié)點信息,而不是僅僅通過原有的HTTP,這種方法使得BitTorrent應用更加靈活,提高BitTorrent用戶的下載體驗。

3.7.

eMule工作原理eMule軟件基于eDonkey協(xié)議改進后的協(xié)議,同時兼容eDonkey協(xié)議。每個eMule客戶端都預先設置好了一個服務器列表和一個本地共享文件列表,客戶端通過TCP連接到eMule服務器進行登錄,得到想要的文件的信息以及可用的客戶端的信息。一個客戶端可以從多個其他的EMule客戶端下載同一個文件,并從不同的客戶端取得不同的數(shù)據(jù)片段。eMule同時擴展了eDonkey的能力,允許客戶端之間互相交換關于服務器、其他客戶端和文件的信息。eMule服務器不保存任何文件,它只是文件位置信息的中心索引。eMule客戶端一啟動就會自動使用傳輸控制協(xié)議(TCP)連接到eMule服務器上。服務器給客戶端提供一個客戶端標識(ID),它僅在客戶端服務器連接的生命周期內有效。連接建立后,客戶端把其共享的文件列表發(fā)送給服務器。服務器將這個列表保存在內部數(shù)據(jù)庫內。eMule客戶端也會發(fā)送請求下載列表。連接建立以后,eMule服務器給客戶端返回一個列表,包括哪些客戶端可以提供請求文件的下載。然后,客戶端再和它們主動建立連接下載文件。圖5所示為eMule的工作原理。

3.8.

迅雷工作原理

迅雷是一款新型的基于多資源多線程技術的下載軟件,迅雷擁有比目前用戶常用的下載軟件快7~10倍的下載速度。迅雷的技術主要分成兩個部分,一部分是對現(xiàn)有Internet下載資源的搜索和整合,將現(xiàn)有Internet上的下載資源進行校驗,將相同校驗值的統(tǒng)一資源定位(URL)信息進行聚合。當用戶點擊某個下載連接時,迅雷服務器按照一定的策略返回該URL信息所在聚合的子集,并將該用戶的信息返回給迅雷服務器。另一部分是迅雷客戶端通過多資源多線程下載所需要的文件,提高下載速率。迅雷高速穩(wěn)定下載的根本原因在于同時整合多個穩(wěn)定服務器的資源實現(xiàn)多資源多線程的數(shù)據(jù)傳輸。多資源多線程技術使得迅雷在不降低用戶體驗的前提下,對服務器資源進行均衡,有效降低了服務器負載。

每個用戶在網上下載的文件都會在迅雷的服務器中進行數(shù)據(jù)記錄,如有其他用戶再下載同樣的文件,迅雷的服務器會在它的數(shù)據(jù)庫中搜索曾經下載過這些文件的用戶,服務器再連接這些用戶,通過用戶已下載文件中的記錄進行判斷,如用戶下載文件中仍存在此文件(文件如改名或改變保存位置則無效),用戶將在不知不覺中扮演下載中間服務角色,上傳文件。

3.9.

PPLive工作原理

PPLive軟件的工作機制和BitTorrent十分類似,PPLive將視頻文件分成大小相等的片段,第三方提供播放的視頻源,用戶啟礬PPLive以后,從PPLive服務器獲得頻道的列表,用戶點擊感興趣的頻道,然后從其他節(jié)點獲得數(shù)據(jù)文件,使用流媒體實時傳輸協(xié)議(RTP)和實時傳輸控制協(xié)議(RTCP)進行數(shù)據(jù)的傳輸和控制。將數(shù)據(jù)下載到本地主機后,開放本地端口作為視頻服務器,PPLive的客戶端播放器連接此端口,任何同一個局域網內的用戶都可以通過連接這個地址收看到點播的節(jié)目。圖6所示為PPLive的工作原理示意圖。

3.10.

Skype工作原理

Skype是網絡語音溝通工具。它可以提供免費高清晰的語音對話,也可以用來撥打國內國際長途,還具備即時通訊所需的其他功能,比如文件傳輸、文字聊天等。Skype是在KaZaA的基礎上開發(fā)的,就像KaZaA一樣,Skype本身也是基于覆蓋層的P2P網絡,在它里面有兩種類型的節(jié)點:普通節(jié)點和超級節(jié)點。普通節(jié)點是能傳輸語音和消息的一個功能實體;超級節(jié)點則類似于普通節(jié)點的網絡網關,所有的普通節(jié)點必須與超級節(jié)點連接,并向Skype的登陸服務器注冊它自己來加入Skype網絡。Skype的登陸服務器上存有用戶名和密碼,并且授權特定的用戶加入Skype網絡,圖7所示為Skype的體系結構[18]。

Skype的另一個突出特點就是能夠穿越地址轉換設備和防火墻。Skype能夠在最小傳輸帶寬32kb/s的網絡上提供高質量的語音。Skype是使用P2P語音服務的代表。由于其具有超清晰語音質量、極強的穿透防火墻能力、免費多方通話以及高保密性等優(yōu)點,成為互聯(lián)網上使用最多的P2P應用之一。

4.

SIP協(xié)議和voip4.1.

SIP:會話初始化協(xié)議(SessionInitiationProtocol)會話初始化協(xié)議(SIP)是一種應用層控制協(xié)議,它可用來創(chuàng)建、修改或終止多媒體會話,如因特網電話呼叫。SIP能夠邀請參與者加入已存在的會話,如組播會議?,F(xiàn)有的會話中可以添加或刪除媒體。SIP支持名稱映射和重定向服務,其支持用戶移動性。不管用戶網絡位置在哪,用戶只需維持單一外部可視標識符。SIP在五個方面支持創(chuàng)建和終止多媒體通信:

用戶定位:決定用于通信的終端系統(tǒng)的確定;

用戶可用性:決定被叫方是否愿意加入通信;

用戶能力:媒體和媒體參數(shù)的確定;

呼叫建立:“響鈴“,主叫方和被叫方的會話參數(shù)的建立;

呼叫管理:包括傳輸和終止會話、修改呼叫參數(shù)和調用服務。SIP可以結合其它IETF協(xié)議來建立完善的多媒體結構,如提供實時數(shù)據(jù)傳輸和服務質量(QOS)反饋的實時傳輸協(xié)議(RTP)、提供流媒體發(fā)送控制的實時流協(xié)議(RTSP)、為公用交換電話網絡(PSTN)提供網關控制的媒體網關控制協(xié)議(MEGACO),以及描述多媒體會話的會話描述協(xié)議(SDP)。因此,SIP需要與其它協(xié)議協(xié)同作用來為用戶提供完善的服務。然而SIP的基本功能和操作并不依賴于這些協(xié)議。SIP提供了一組安全服務,包括防止拒絕服務攻擊、認證(用戶對用戶和代理對用戶)、完整性保護和加密及隱私服務。SIP同時支持IPv4和IPv6。關于因特網電話會話,SIP做如下工作:通過SIP地址識別主叫方和被叫方。當建立一個SIP呼叫時,主叫方首先定位適合的服務器,然后發(fā)出一個SIP請求。最通常的SIP行為是邀請。SIP請求會被代理重定向或者觸發(fā)一系列的新SIP請求,而不是直接到達目的被叫方。用戶可以通過SIP服務器注冊他們的位置。SIP地址(URL)可以嵌入到網頁中,因此只要點擊一下就可以和對方建立呼叫會話。協(xié)議結構SIP信息可以在TCP上傳輸也可以在UDP上傳輸。SIP信息是基于文本的,采用UTF-8編碼中的ISO10646字符集。信息的每一行必須通過CRLF終止。大多數(shù)信息語法和頭字段類似于HTTP。SIP信息可以是請求信息也可以是響應信息。一個請求信息具有以下格式:MethodRequestURISIPversion

Method―資源上所執(zhí)行的方法??赡艿姆椒ㄓ校篒nvite、Ack、Options、Bye、Cancel和Register。

Request-URI―指一個SIPURL或一個通用URI;是請求要被尋址到用戶或服務。

SIPversion―正在使用的SIP版本。響應信息頭的格式見下圖:SIPversionStatuscodeReasonphrase

SIPversion―正在使用的SIP版本。

Status-code―3位整數(shù)結果代碼,用于試圖了解和滿足請求要求。

Reason-phrase―statuscode的原文描述。

盡管sip有自己獨特的用戶代理和服務器,但是它并非自成一體封閉工作,Sip支持融合多媒體服務,與很多現(xiàn)有的協(xié)議協(xié)同工作。(SIP用戶代理、SIP注冊服務器、SIP代理服務器和SIP重定向服務器)

通常情況下,兩個端點使用它來協(xié)商一次呼叫。這里的協(xié)商包括介質(文本、語音等)、傳輸途徑(Realtimeprotocol)、編碼。一旦協(xié)商成功,兩端就會使用該方法進行通信,呼叫完成后,sip指示斷開連接。因此sip是一種信令機制。sip還提供即時消息等等。

SIP用戶代理(UA)是終端用戶設備,如用于創(chuàng)建和管理SIP會話的移動電話、多媒體手持設備、PC、PDA等。用戶代理客戶機發(fā)出消息。用戶代理服務器對消息進行響應。SIP注冊服務器是包含域中所有用戶代理的位置的數(shù)據(jù)庫。在SIP通信中,這些服務器會檢索參與方的IP地址和其他相關信息,并將其發(fā)送到SIP代理服務器。SIP代理服務器接受SIPUA的會話請求并查詢SIP注冊服務器,獲取收件方UA的地址信息。然后,它將會話邀請信息直接轉發(fā)給收件方UA(如果它位于同一域中)或代理服務器(如果UA位于另一域中)。SIP重定向服務器允許SIP代理服務器將SIP會話邀請信息定向到外部域。SIP重定向服務器可以與SIP注冊服務器和SIP代理服務器同在一個硬件上。

下圖說明了在預訂同一個ISP從而使用同一域的兩個用戶之間建立SIP會話的過程。用戶A使用SIP電話。用戶B有一臺PC,運行支持語音和視頻的軟客戶程序。加電后兩個用戶都在ISP網絡中的SIP代理服務器上注冊了他們的空閑情況和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.多媒體通道已建立

4.2.

SDP:會話描述協(xié)議(SessionDescriptionProtocol)會話描述協(xié)議(SDP)為會話通知、會話邀請和其它形式的多媒體會話初始化等目的提供了多媒體會話描述。會話目錄用于協(xié)助多媒體會議的通告,并為會話參與者傳送相關設置信息。SDP即用于將這種信息傳輸?shù)浇邮斩?。SDP完全是一種會話描述格式―它不屬于傳輸協(xié)議―它只使用不同的適當?shù)膫鬏攨f(xié)議,包括會話通知協(xié)議(SAP)、會話初始協(xié)議(SIP)、實時流協(xié)議(RTSP)、MIME擴展協(xié)議的電子郵件以及超文本傳輸協(xié)議(HTTP)。SDP的設計宗旨是通用性,它可以應用于大范圍的網絡環(huán)境和應用程序,而不僅僅局限于組播會話目錄,但SDP不支持會話內容或媒體編碼的協(xié)商。在因特網組播骨干網(Mbone)中,會話目錄工具被用于通告多媒體會議,并為參與者傳送會議地址和參與者所需的會議特定工具信息,這由SDP完成。SDP連接好會話后,傳送足夠的信息給會話參與者。SDP信息發(fā)送利用了會話通知協(xié)議(SAP),它周期性地組播通知數(shù)據(jù)包到已知組播地址和端口處。這些信息是UDP數(shù)據(jù)包,其中包含SAP協(xié)議頭和文本有效載荷(textpayload)。這里文本有效載荷指的是SDP會話描述。此外信息也可以通過電子郵件或WWW(WorldWideWeb)進行發(fā)送。SDP文本信息包括:

會話名稱和意圖;

會話持續(xù)時間;

構成會話的媒體;

有關接收媒體的信息(地址等)。協(xié)議結構SDP信息是文本信息,采用UTF-8編碼中的ISO10646字符集。SDP會話描述如下:(標注*符號的表示可選字段):

v=(協(xié)議版本)

o=(所有者/創(chuàng)建者和會話標識符)

s=(會話名稱)

i=*(會話信息)

u=*(URI描述)

e=*(Email地址)

p=*(電話號碼)

c=*(連接信息―如果包含在所有媒體中,則不需要該字段)

b=*(帶寬信息)一個或更多時間描述(如下所示):

z=*(時間區(qū)域調整)

k=*(加密密鑰)

a=*(0個或多個會話屬性行)

0個或多個媒體描述(如下所示)時間描述

t=(會話活動時間)

r=*(0或多次重復次數(shù))媒體描述

m=(媒體名稱和傳輸?shù)刂罚?/p>

i=*(媒體標題)

c=*(連接信息—如果包含在會話層則該字段可選)

b=*(帶寬信息)

k=*(加密密鑰)

a=*(0個或多個會話屬性行)

4.3.

SAP:會話通知協(xié)議(SessionAnnouncementProtocol)會話通知協(xié)議(SAP)是一種通知協(xié)議,用于協(xié)助組播多媒體會議通告以及其它組播會話過程,并為會話參與者傳送相關設置信息。SAP廣播員周期性地向已知的組播地址和端口傳送通知數(shù)據(jù)包。通知傳送范圍與會話范圍相同,以確保通知接收端即為會話接收端。這對于協(xié)議的可擴展性來說也是很重要的,即確保本地會話通知在本地傳送。SAP收聽方(通過組播范圍區(qū)域通知協(xié)議或其它協(xié)議)知道其所在的組播范圍,并監(jiān)聽那些范圍內的SAP地址和端口。如此,收聽方最終會知道所有被通知會話,并允許那些會話加入。(人們)希望會話過程可以通過多種不同機制進行通知,而不僅僅是SAP。例如,會話的描述可以放置在一個web頁上,通過電子郵件或會話初始協(xié)議發(fā)送。為增強與其它機制間互操作性,需要提供應用層安全機制,而不是使用IPsec認證協(xié)議頭。協(xié)議結構3456781632bitV=1ARTECAuthlenMsgIDhashOriginatingSource(32or128bits)OptionalAuthenticationDataOptionalTimeoutOptionalPayloadType

0

PayloadV―3位版本號字段,該字段必須設置為1。A―地址類型,值為0或1:

0:OriginatingSource字段包括一個32位的IPv4地址。

1:OriginatingSource字段包括一個128位的IPv6地址。R―預留。SAP廣播員將它設置為0。SAP收聽方忽略該字段的內容。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,表示對有效載荷進行壓縮。AuthenticationLength―8位無符號數(shù),跟在主要SAP頭后面,包含認證數(shù)據(jù)。如果該值為0,表示當前沒有認證頭。MessageIdentifierHash―結合RiginatingSource,提供全球唯一標識符,說明該通知的精確版本。OriginatingSource―該字段包含信息OriginalSource的IP地址。如果A字段值為0,該地址指IPv4地址;否則指IPv6地址。按照網絡字節(jié)順序存儲該地址。Timeout―當會話有效載荷進行加密處理后,有效載荷中的詳細定時字段對不信任解密密鑰的收聽方而言已經不可利用。在這種情況下,當會話到指定時間時,頭就包含另外32位的TimestampF字段狀態(tài)。該值是無符號數(shù),提供指定會話超時的NTP時間。按照網絡字節(jié)順序存儲。PayloadType―有效載荷類型字段是關于MIME內容類型的說明,描述有效載荷的格式。這是一個可變長ASCII文本串,其后是單個零字節(jié)(ASCIINUL)。Payload―Payload字段包括各種子字段。

4.4.

RTP(Real-timeTransportProtocol)RTP(Real-timeTransportProtocol)是用于Internet上針對多媒體數(shù)據(jù)流的一種傳輸協(xié)議。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現(xiàn)流同步。RTP通常使用UDP來傳送數(shù)據(jù)

4.5.

RTCP(RealtimeTransportControlProtocol)實時傳輸控制協(xié)議:負責管理傳輸質量在當前應用進程之間交換控制信息。在RTP會話期間,各參與者周期性地傳送RTCP包,包中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計資料,因此,服務器可以利用這些信息動態(tài)地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,能以有效的反饋和最小的開銷使傳輸效率最佳化,故特別適合傳送網上的實時數(shù)據(jù)。

5.

ICE(InteractiveConnectivityEstablishment)IETF網絡工程任務(InternetEngineeringTaskForce)STUN(SessionTraversalUsingNAT)TURN(TraversalUsingRelayNAT)ICE(InteractiveConnectivityEstablishment)

5.1.

ICE基于SIP工作方法冰的方法概述如圖所示:每個candidate是能接受別的節(jié)點發(fā)送數(shù)據(jù)的IP地址和端口,candidate有三種類型:1.本地候選:本地私有IP和端口2.NAT候選:Nat地址和端口3.relay候選:relay地址和端口

ICE建立通信通道的步驟:1.caller收集候選人:客戶端發(fā)送ALLocate請求給服務器,指示服務器分配IP/port,服務器會將地址返回給客戶端。。。2.caller發(fā)送sip的invite命令:收集候選人,caller將他們編入invite消息中,并發(fā)送給被叫方。3.callee收集候選人:在收到sip的invite請求后,收集候選人(同第一步);4.callee響應invite請求:被叫方發(fā)送臨時的響應(包含候選人)給呼叫方,例如sip183會話過程,該消息是轉發(fā)的。5.檢查ICE的連通性:一旦caller收到對方的候選人后,雙方都開始檢查可使用的鏈路。

首先檢查本地候選人(可分析NAT候選人,判斷是否操作此步)、檢查Nat候選人、檢查relay候選人.6.Callee發(fā)送180Ringing:表示被叫的電話開始響鈴7.Callee發(fā)送200OK:如果用戶接受呼叫,被叫者發(fā)送給呼叫者的最后答復8.呼叫者發(fā)送re-invite的sip命令:如果某一個選擇的鏈路和對方不不同則需要重新選擇鏈路,必須重新發(fā)送invite命令9.Callee發(fā)送200Ok來回應re-invite10.caller發(fā)送ACK:表示最后的確認發(fā)送給被叫者,表示呼叫鏈路建立成功。11.語音/視頻媒體開始傳輸:雙方都可以發(fā)送數(shù)據(jù)給對方,采用RTP協(xié)議!

6.

基于SIP的P2P網絡架構

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

去中心化,避免中心SIP服務器的單點故障隱患;

增強SIP網絡的擴展性,降低網絡中的存儲、計算、帶寬等性能瓶頸;

提高網絡的高可用性,采用P2P網絡全分布的架構來提高網絡的健壯性;

降低成本,充分利用節(jié)點閑置的處理能力、存儲和帶寬資源。

P2PSIP網絡利用SIP協(xié)議的擴展和承載來完成P2P層疊加網絡節(jié)點的加入、定位、查找和路由,降低P2P私有協(xié)議帶來的擴展性和兼容性問題,實現(xiàn)不同P2P網絡的互通。

P2PSIP網絡以SIP協(xié)議為基礎,無需大規(guī)模改動現(xiàn)有設備,并且無需改動VoIP終端設備,只要升級現(xiàn)有SIP服務器的軟件,即可實現(xiàn)SIP網絡的P2P化,提升網絡的處理能力和可用性。

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

P2PSIP網絡有兩個重要操作:一是對P2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論