專利名稱:支持p2p媒體傳輸?shù)膕ip軟交換系統(tǒng)及其實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),具體地說是一種支持P2P媒體傳輸?shù)腟IP 軟交換系統(tǒng)及其實現(xiàn)方法。
背景技術(shù):
SIP (會話初始協(xié)議)是由IETF (Internet工程任務(wù)組)MMUSIC (多 方多媒體會話控制)工作組定義的用于創(chuàng)建、修改和終止IP網(wǎng)上多媒體會 話的應(yīng)用層信令控制協(xié)議。目前SIP協(xié)議不斷完善,其最終目標(biāo)是為所有 Internet成功的應(yīng)用提供無所不在的接入。SIP協(xié)議以其更加開放、更易擴 展、與Internet緊密結(jié)合等特性逐步戰(zhàn)勝H.323、 MGCP等協(xié)議成為VoIP (Voice over Internet Protocol ,互聯(lián)網(wǎng)電話或者寬帶電話)的主流協(xié)議,正 得到越來越廣泛的支持。
P2P (peer-to-peer的縮寫,"點對點"或稱為對等聯(lián)網(wǎng))網(wǎng)絡(luò)是一種打 破了傳統(tǒng)Client/Server (客戶機/服務(wù)器)模式的分布式對等網(wǎng)絡(luò),網(wǎng)絡(luò)參與 者共享他們所擁有的一部分硬件資源,比如處理能力、存儲能力、網(wǎng)絡(luò)連 接能力、打印機等,這些共享資源由網(wǎng)絡(luò)提供服務(wù)和內(nèi)容,能被其它對等 節(jié)點直接訪問而無需經(jīng)過中間實體,網(wǎng)絡(luò)參與者既是資源(服務(wù)和內(nèi)容) 提供者,又是資源(服務(wù)和內(nèi)容)獲取者。P2P技術(shù)的發(fā)展以及P2P與網(wǎng) 絡(luò)技術(shù)的結(jié)合,將影響整個計算機網(wǎng)絡(luò)的概念和人們獲取信息的模式。在 大量數(shù)據(jù)傳輸?shù)念I(lǐng)域中,P2P能有效的減輕服務(wù)器的負擔(dān),增加系統(tǒng)的可擴 展性和健壯性。但是P2P分布式的特點導(dǎo)致了其可管理性和可控性較差, 這在很大程度上限制了 P2P的長期發(fā)展。
目前將SIP和P2P相結(jié)合發(fā)揮各自的優(yōu)勢是一個研究熱點,研究者們 基于P2P技術(shù)擴充了 SIP協(xié)議中資源分布和資源定位協(xié)議,充分利用SIP 協(xié)議簡單高效、通用性好的特點以及P2P技術(shù)高可擴展性和高魯棒性的特 點,這些擴展統(tǒng)稱為SIP P2P。根據(jù)SIP P2P中SIP協(xié)議和P2P協(xié)議不同的 結(jié)合方式,SIP P2P可以劃分為P2P over SIP和SIP over P2P兩種不同的類 型。所謂P2P over SIP,即利用SIP消息來維護P2P覆蓋網(wǎng)絡(luò),也就是SIP 以tunnel(隧道)的方式來傳送P2P的信令,SIP為P2P覆蓋網(wǎng)提供維護、 控制的功能,同時負責(zé)媒體會話的建立。所謂SIP over P2P,將SIP置于P2P 覆蓋網(wǎng)之上,由P2P覆蓋網(wǎng)完成資源定位和P2P網(wǎng)絡(luò)自身的維護,也就是 說標(biāo)準(zhǔn)SIP協(xié)議中的SIP服務(wù)器的資源存儲和資源定位功能由分布式的P2P 網(wǎng)絡(luò)替代完成。
但是現(xiàn)有SIP P2P相關(guān)研究過多地關(guān)注SIP協(xié)議的擴展或者SIP協(xié)議的
去中心化,過分強調(diào)分布式和去中心化所帶來的靈活性,忽略了P2P應(yīng)用 長期以來固有的問題一可控可管性差,缺乏能夠臝利、可持續(xù)發(fā)展的運營
模式。如何有效利用SIP協(xié)議所提供的良好會話建立和控制機制,整合P2P 網(wǎng)絡(luò)各種資源,提高P2P網(wǎng)絡(luò)各種資源的利用率和服務(wù)能力,是急需解決 的問題。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中P2P應(yīng)用的可控可管性差,缺乏能夠贏利、可持續(xù)發(fā) 展的運營模式的不足,本發(fā)明的目的在于提供一種信令控制交互由信令控 制服務(wù)器統(tǒng)一處理,適應(yīng)互聯(lián)網(wǎng)可控可管理、可運營的支持P2P媒體傳輸 的SIP軟交換系統(tǒng)及其實現(xiàn)方法。
為了解決上述技術(shù)問題,本發(fā)明是通過如下技術(shù)方案實現(xiàn)的 本發(fā)明支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)包括信令控制服務(wù)器、媒 體中繼服務(wù)器、超級中繼服務(wù)節(jié)點、STUN服務(wù)節(jié)點以及P2P客戶端或普 通客戶端,釆用擴展SIP協(xié)議作為信令控制層的通信協(xié)議,由處于系統(tǒng)中 心位置的信令控制服務(wù)器集中處理轉(zhuǎn)發(fā);媒體傳輸支持媒體中繼服務(wù)器轉(zhuǎn) 發(fā)、ICE方式的點對點直通和P2P網(wǎng)絡(luò)傳輸多條路徑,其中信令控制服 務(wù)器,為整個IP通信系統(tǒng)的控制中心,所有的SIP消息都經(jīng)信令控制服務(wù) 器轉(zhuǎn)發(fā),信令控制服務(wù)器接收來自P2P客戶端或普通客戶端的注冊請求, 并將注冊信息登記在信令控制服務(wù)器的數(shù)據(jù)庫中,負責(zé)所有多媒體通信會 話的建立、修改和拆除,負責(zé)為通信會話選擇媒體中繼服務(wù)器,提供一種 經(jīng)媒體中繼服務(wù)器轉(zhuǎn)發(fā)的媒體傳輸備選路徑;媒體中繼服務(wù)器,具有公網(wǎng) IP地址,處理來自信令控制服務(wù)器的中繼請求,為通信會話分配中繼端口, P2P客戶端或普通客戶端雙方均將媒體數(shù)據(jù)包發(fā)送到中繼端口 ,媒體中繼服 務(wù)器將來自于一方P2P客戶端或普通客戶端的媒體數(shù)據(jù)包轉(zhuǎn)發(fā)到另一 P2P 客戶端或普通客戶端;超級中繼服務(wù)節(jié)點,為一長期運行的中繼服務(wù)節(jié)點, 加入到P2P網(wǎng)絡(luò),作為P2P網(wǎng)絡(luò)的Bootstrap節(jié)點,處理來自P2P客戶端的 中繼請求,為通信會話分配中繼端口,中繼P2P客戶端之間的媒體數(shù)據(jù)包; STUN服務(wù)節(jié)點,加入到P2P網(wǎng)絡(luò),作為P2P網(wǎng)絡(luò)的Bootstrap節(jié)點,處理 來自P2P客戶端的STUN請求;P2P客戶端,在建立通信的信令控制交互 之后,與另一P2P客戶端之間進行ICE交互過程,為本次通信尋找ICE方 式點對點直通的媒體傳輸備選路徑;在P2P網(wǎng)絡(luò)中為本次通信尋找經(jīng)中繼 服務(wù)節(jié)點轉(zhuǎn)發(fā)的媒體傳輸備選路徑,當(dāng)檢測到自己滿足成為中繼服務(wù)節(jié)點 的條件時,P2P客戶端申請加入P2P網(wǎng)絡(luò),為其它P2P客戶端提供中繼服
所述P2P網(wǎng)絡(luò)具有兩層結(jié)構(gòu),即資源覆蓋網(wǎng)絡(luò)和服務(wù)覆蓋網(wǎng)絡(luò),其中 資源覆蓋網(wǎng)絡(luò)為服務(wù)覆蓋網(wǎng)絡(luò)提供統(tǒng)一的資源存儲、檢索功能;服務(wù)覆蓋 網(wǎng)絡(luò)面向不同的服務(wù)類型,每種服務(wù)類型均形成一個獨立的覆蓋網(wǎng)絡(luò),所
有服務(wù)覆蓋網(wǎng)絡(luò)使用統(tǒng) 一 的資源覆蓋網(wǎng)絡(luò)訪問接口發(fā)布和檢索服務(wù)信息;
P2P網(wǎng)絡(luò)支持的服務(wù)類型包括中繼服務(wù)和STUN服務(wù),其中中繼服務(wù)的服 務(wù)覆蓋網(wǎng)絡(luò)為無結(jié)構(gòu)網(wǎng)絡(luò),每個P2P客戶端節(jié)點從資源覆蓋網(wǎng)絡(luò)獲取大量 的中繼服務(wù)節(jié)點信息進行篩選,并緩存部分可用的服務(wù)節(jié)點,并且P2P客 戶端與中繼服務(wù)節(jié)點之間以及中繼服務(wù)節(jié)點與中繼服務(wù)節(jié)點之間周期性地 交互信息;STUN服務(wù)的服務(wù)覆蓋網(wǎng)絡(luò)為無結(jié)構(gòu)網(wǎng)絡(luò),每個P2P客戶端節(jié) 點從資源覆蓋網(wǎng)絡(luò)獲取STUN服務(wù)節(jié)點信息,緩存可用的STUN服務(wù)節(jié)點; 所述P2P客戶端從上到下劃分為相對獨立的SIP應(yīng)用層、P2P服務(wù)層和P2P 訪問層,下層為其上一層提供服務(wù);P2P服務(wù)層抽象所有的P2P服務(wù)類型, 服務(wù)類型之間相對獨立;所述超級中繼服務(wù)節(jié)點及STUN服務(wù)節(jié)點從上到 下分別劃分為P2P服務(wù)層和P2P訪問層,下層為其上一層提供服務(wù);P2P 服務(wù)層抽象所有的P2P服務(wù)類型,服務(wù)類型之間相對獨立。
本發(fā)明支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn)方法具有以下步驟:
系統(tǒng)初始化信令控制服務(wù)器、媒體中繼服務(wù)器、超級中繼服務(wù)節(jié)點 和STUN服務(wù)節(jié)點啟動并進行初始化;超級中繼服務(wù)節(jié)點加入到中繼服務(wù) 覆蓋網(wǎng)絡(luò);STUN服務(wù)節(jié)點加入到STUN服務(wù)覆蓋網(wǎng)絡(luò);P2P客戶端和普通 客戶端向信令控制服務(wù)器注冊;P2P客戶端連接到中繼服務(wù)覆蓋網(wǎng)絡(luò)和 STUN服務(wù)覆蓋網(wǎng)絡(luò);P2P客戶端進行自我評價,若評價通過則加入到中繼 服務(wù)覆蓋網(wǎng)絡(luò),成為中繼服務(wù)節(jié)點;客戶端之間通過控制信令交互建立通 信會話信令控制服務(wù)器處理并轉(zhuǎn)發(fā)控制信令,為本次通信選擇媒體中繼 服務(wù)器,提供一種經(jīng)媒體中繼服務(wù)器轉(zhuǎn)發(fā)的媒體傳輸備選路徑;P2P客戶端 根據(jù)控制信令交互判斷另一客戶端是否具有P2P功能;若通信雙方均為P2P 客戶端,P2P客戶端在中繼服務(wù)覆蓋網(wǎng)絡(luò)中為本次通信尋找經(jīng)中繼服務(wù)節(jié)點 轉(zhuǎn)發(fā)的P2P網(wǎng)絡(luò)媒體傳輸備選路徑;P2P客戶端主叫方對所有的媒體傳輸 備選路徑進行評價,選擇性能最優(yōu)的媒體傳輸路徑,P2P客戶端雙方切換媒 體傳輸至最優(yōu)的媒體傳輸路徑;P2P客戶端雙方仍保留其它備選的媒體傳輸 路徑;若當(dāng)前傳輸路徑失效而導(dǎo)致通話中斷,P2P客戶端雙方切換到備選的 媒體傳輸路徑;通信會話結(jié)東,P2P客戶端釋放P2P網(wǎng)絡(luò)媒體傳輸路徑, 信令控制服務(wù)器釋放經(jīng)媒體中繼服務(wù)器轉(zhuǎn)發(fā)的媒體傳輸路徑。
P2P客戶端在建立通信會話的控制信令交互中,攜帶ICE收集地址信 息,并在控制信令交互之后進行ICE連通性檢測,為本次通信尋找ICE方 式點對點直通的媒體傳輸備選路徑。
所述的根據(jù)在會話建立過程中控制信令交互來判斷另一客戶端是否具 有P2P功能具體如下
P2P客戶端發(fā)起呼叫時,設(shè)置INVITE消息SDP部分的參數(shù),用于表 明自己具有P2P功能;P2P客戶端被叫方應(yīng)答呼叫時,設(shè)置200OK消息SDP 部分的參數(shù);P2P客戶端主叫方檢查200OK消息SDP部分的參數(shù),即可判 斷通信被叫方是否具有P2P功能;P2P客戶端被叫方檢查INVTE消息SDP 部分的參數(shù),即可判斷通信主叫方是否具有P2P功能。
所述P2P客戶端在中繼服務(wù)覆蓋網(wǎng)絡(luò)中為本次通信尋找經(jīng)中繼服務(wù)節(jié)
點轉(zhuǎn)發(fā)的媒體傳輸備選路徑,其中P2P客戶端之間使用INFO消息進行交 互,步驟如下
1 ) P2P客戶端主叫方從目前可用的中繼服務(wù)節(jié)點中按優(yōu)先級選擇多個 中繼服務(wù)節(jié)點組成新的列表;
2) P2P客戶端主叫方構(gòu)造第一個INFO消息,將得到的中繼服務(wù)節(jié)點 信息填寫到該消息中,發(fā)送該消息到P2P客戶端被叫方;
3 ) P2P客戶端被叫方接收到第 一個INFO消息后,回送應(yīng)答消息給P2P 客戶端主叫方,并從第一個INFO消息中得到待選的中繼服務(wù)節(jié)點列表信 息;
4 ) P2P客戶端被叫方對中繼服務(wù)節(jié)點列表中的所有中繼服務(wù)節(jié)點進行 綜合評價,按優(yōu)先級重新排序;
5) P2P客戶端被叫方構(gòu)造第二個INFO消息,將新的中繼服務(wù)節(jié)點列 表信息填寫到該消息中,發(fā)送該消息到P2P客戶端主叫方;
6 )P2P客戶端主叫方接收到第二個INFO消息后,回送應(yīng)答消息給P2P 客戶端被叫方,并從第二個INFO消息中得到經(jīng)過P2P客戶端雙方評價的 中繼服務(wù)節(jié)點列表信息;
7) P2P客戶端主叫方取得上述中繼服務(wù)節(jié)點列表中的第一個中繼服務(wù) 節(jié)點,向該中繼服務(wù)節(jié)點請求中繼資源;若請求成功,則構(gòu)造第三個INFO 消息,將得到的中繼資源信息填寫到該消息中,發(fā)送該消息到P2P客戶端 被叫方,轉(zhuǎn)至步驟8);
若請求不成功,則將該中繼服務(wù)節(jié)點從中繼服務(wù)節(jié)點列表中刪除,重 復(fù)步驟7);若中繼服務(wù)節(jié)點列表為空,則本次P2P網(wǎng)絡(luò)傳輸路徑的選擇過 程失敗, 一段時間后,重新開始P2P網(wǎng)絡(luò)傳輸路徑的選擇過程;
8 ) P2P客戶端被叫方接收到第三個INFO消息后,回送應(yīng)答消息給P2P 客戶端主叫方,并從第三個INFO消息中得到待選的中繼服務(wù)節(jié)點信息,并 向該中繼服務(wù)節(jié)點請求中繼資源,若請求成功,則構(gòu)造第四個INFO消息, 將得到的中繼資源信息填寫到第四個INFO消息中,發(fā)送第四個INFO消息 到P2P客戶端主叫方;若請求不成功,P2P客戶端被叫方不作任何操作;
9 )P2P客戶端主叫方接收到第四個INFO消息后,回送應(yīng)答消息給P2P 客戶端被叫方,并從第四個INFO消息中得到待選的中繼服務(wù)節(jié)點信息;若 在一定時間內(nèi)沒有收到P2P客戶端被叫方的第四個INFO消息,則將待選 的中繼服務(wù)節(jié)點從中繼服務(wù)節(jié)點列表中刪除,重復(fù)步驟7 )。
所述P2P客戶端主叫方對所有的備選路徑進行評價具體為P2P客戶 端主叫方向備選路徑發(fā)送既定時間的測試數(shù)據(jù)流,計算測試數(shù)據(jù)流的丟包 率、延遲及抖動參數(shù)。
P2P客戶端之間使用 一次性加密密鑰對通信會話的媒體流數(shù)據(jù)包進行 加密,在通信會話建立過程中完成一次性加密密鑰的安全傳輸。
本發(fā)明具有以下有益效果及優(yōu)點
1. 具有很好的可控性和可管理性。本發(fā)明通信會話的信令控制部分由 處于中心位置的信令控制服務(wù)器集中處理轉(zhuǎn)發(fā),可實現(xiàn)完善的計費功能、 統(tǒng)計功能和監(jiān)控功能等,因此整個系統(tǒng)具有很好的可控性和可管理性。
2. 具有很好的兼容性。本發(fā)明信令控制交互采用標(biāo)準(zhǔn)SIP協(xié)議處理方
式,仍然沿用傳統(tǒng)的c/s模式,由處于中心位置的集中式的信令控制服務(wù) 器統(tǒng)一處理,只要符合標(biāo)準(zhǔn)SIP協(xié)議的SIP客戶端均可與本系統(tǒng)配合使用, 因此具有良好的兼容性。
3. 具有很高的可靠性。本發(fā)明P2P客戶端為通信會話同時維持著多條 媒體傳輸備選路徑,盡量減少因網(wǎng)絡(luò)的不穩(wěn)定性帶來的通信中斷,因此具 有很高的可靠性。
4. 具有很好的擴展性。本發(fā)明P2P客戶端的實現(xiàn)釆用標(biāo)準(zhǔn)SIP終端與 P2P功能松散耦合的方式,P2P功能部分以動態(tài)鏈接庫的形式為上層SIP應(yīng) 用提供接口 ,標(biāo)準(zhǔn)SIP終端僅需少量修改即可支持P2P功能,因此具有很 好的擴展性。
5. 有效改善通信質(zhì)量。本發(fā)明在通信建立后對多條媒體傳輸路徑進行 評價,選擇性能最優(yōu)的媒體傳輸路徑,有效改善了通信質(zhì)量。
6. 實現(xiàn)網(wǎng)絡(luò)負擔(dān)的分散化。本發(fā)明將更多的功能分散到客戶端,分散 了網(wǎng)絡(luò)負擔(dān),適應(yīng)了未來終端越來越職能化的要求。
圖l為本發(fā)明系統(tǒng)結(jié)構(gòu)圖2為本發(fā)明系統(tǒng)中P2P網(wǎng)絡(luò)結(jié)構(gòu)圖3為發(fā)明系統(tǒng)中P2P客戶端的協(xié)議層次結(jié)構(gòu)圖4為發(fā)明系統(tǒng)中超級中繼服務(wù)節(jié)點的協(xié)議層次結(jié)構(gòu)圖5為發(fā)明系統(tǒng)中STUN服務(wù)節(jié)點的協(xié)議層次結(jié)構(gòu)圖6為本發(fā)明方法P2P客戶端的自我評價機制流程圖7為本發(fā)明方法會話交互過程圖8為本發(fā)明方法P2P網(wǎng)絡(luò)傳輸路徑的選擇過程圖9為本發(fā)明方法媒體流 一 次性加密密鑰的協(xié)商過程圖。
具體實施例方式
1.系統(tǒng)結(jié)構(gòu)組成
如圖1所示,本發(fā)明支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)包括信令控 制服務(wù)器、媒體中繼服務(wù)器、超級中繼服務(wù)節(jié)點、STUN服務(wù)節(jié)點以及P2P 客戶端或普通客戶端,釆用擴展SIP協(xié)議作為信令控制層的通信協(xié)議,由 處于系統(tǒng)中心位置的信令控制服務(wù)器集中處理轉(zhuǎn)發(fā);媒體傳輸支持媒體中 繼服務(wù)器轉(zhuǎn)發(fā)、ICE方式的點對點直通和P2P網(wǎng)絡(luò)傳輸多條路徑;其中, P2P網(wǎng)絡(luò)傳輸路徑按照既定策略進行了優(yōu)化,最終由通信終端按既定評價機 制進行媒體傳輸路徑的選擇;媒體流傳輸釆用加密方式,加密密鑰由通信
雙方在通話建立過程中協(xié)商。會話建立過程的信令控制過程完全兼容標(biāo)準(zhǔn) 的SIP協(xié)議,因此系統(tǒng)兼容所有遵循SIP協(xié)議標(biāo)準(zhǔn)的客戶端,包括各種軟電
話、IP話機、移動通信終端等。其中
信令控制服務(wù)器,為整個IP通信系統(tǒng)的控制中心,所有的SIP消息都 經(jīng)信令控制服務(wù)器轉(zhuǎn)發(fā);提供標(biāo)準(zhǔn)的注冊服務(wù)器和代理服務(wù)器的功能,接 受來自P2P客戶端或普通客戶端的注冊請求,并將注冊信息登記在信令控 制服務(wù)器的數(shù)據(jù)庫中;負責(zé)所有多媒體通信會話的建立、修改和拆除;負 責(zé)為通信會話選擇媒體中繼服務(wù)器,提供 一 種經(jīng)媒體中繼服務(wù)器轉(zhuǎn)發(fā)的媒 體傳輸備選路徑;
媒體中繼服務(wù)器,具有公網(wǎng)IP地址,處理來自信令控制服務(wù)器的中繼 請求,為通信會話分配中繼端口, P2P客戶端或普通客戶端雙方均將媒體數(shù) 據(jù)包發(fā)送到中繼端口,媒體中繼服務(wù)器將來自于一方P2P客戶端或普通客 戶端的媒體數(shù)據(jù)包轉(zhuǎn)發(fā)到另一 P2P客戶端或普通客戶端,不對實時數(shù)據(jù)作 其它附加操作,盡量減少實時數(shù)據(jù)的轉(zhuǎn)發(fā)時延;
超級中繼服務(wù)節(jié)點,為一長期運行的中繼服務(wù)節(jié)點,加入到P2P網(wǎng)絡(luò), 作為P2P網(wǎng)絡(luò)的Bootstrap節(jié)點;處理來自P2P客戶端的中繼請求,為通信 會話分配中繼端口,中繼P2P客戶端之間的媒體數(shù)據(jù)包;
STUN服務(wù)節(jié)點,加入到P2P網(wǎng)絡(luò),作為P2P網(wǎng)絡(luò)的Bootstrap節(jié)點; 處理來自P2P客戶端的STUN請求,具有標(biāo)準(zhǔn)的STUN服務(wù)器功能;
P2P客戶端,除完全遵循標(biāo)準(zhǔn)SIP協(xié)議之外,還支持媒體流數(shù)據(jù)包的加 密處理、ICE功能以及P2P功能在建立通信的信令控制交互過程中,P2P 客戶端之間協(xié)商用于媒體流數(shù)據(jù)包加密的 一次性加密密鑰;在建立通信的 信令控制交互之后,與另一P2P客戶端之間進行ICE交互過程,為本次通 信尋找ICE方式點對點直通的媒體傳輸備選路徑;在P2P網(wǎng)絡(luò)中為本次通 信尋找經(jīng)中繼服務(wù)節(jié)點轉(zhuǎn)發(fā)的媒體傳輸備選路徑;當(dāng)檢測到自己滿足成為 中繼服務(wù)節(jié)點的條件時,P2P客戶端申請加入P2P網(wǎng)絡(luò),為其它P2P客戶 端提供中繼服務(wù)。隨著系統(tǒng)的不斷擴展,客戶端越來越多,同時提供中繼 服務(wù)的中繼服務(wù)節(jié)點也相應(yīng)增加。
所述的信令控制服務(wù)器和媒體中繼服務(wù)器均不具有P2P功能,即不加 入到P2P網(wǎng)絡(luò)或從P2P網(wǎng)絡(luò)中獲取資源;所述的超級中繼服務(wù)節(jié)點、STUN 服務(wù)節(jié)點均具有P2P功能,加入到P2P網(wǎng)絡(luò),為通信終端提供相應(yīng)的服務(wù), 部署在運行穩(wěn)定的機器上。
2. P2P網(wǎng)絡(luò)結(jié)構(gòu)
如圖2所示,所述P2P網(wǎng)絡(luò)具有兩層結(jié)構(gòu),即資源覆蓋網(wǎng)絡(luò)和服務(wù)覆 蓋網(wǎng)絡(luò),其中資源覆蓋網(wǎng)絡(luò)為服務(wù)覆蓋網(wǎng)絡(luò)提供統(tǒng)一的資源存儲、檢索功 能;服務(wù)覆蓋網(wǎng)絡(luò)面向不同的服務(wù)類型,每種服務(wù)類型均形成一個獨立的 覆蓋網(wǎng)絡(luò),所有服務(wù)覆蓋網(wǎng)絡(luò)使用統(tǒng)一的資源覆蓋網(wǎng)絡(luò)訪問接口發(fā)布和檢 索服務(wù)信息。
P2P網(wǎng)絡(luò)支持的服務(wù)類型包括中繼服務(wù)和STUN服務(wù),對于中繼服務(wù), P2P客戶端需要在很短的時間內(nèi)找到 一個可用的中繼服務(wù)節(jié)點,而且此中繼 服務(wù)節(jié)點到兩個通信終端的延遲都應(yīng)該比較小,因此必須充分挖掘中繼服 務(wù)覆蓋網(wǎng)絡(luò)的拓撲信息,相應(yīng)的資源覆蓋網(wǎng)絡(luò)釆用復(fù)雜的圖模型,每個客 戶端節(jié)點從資源覆蓋網(wǎng)絡(luò)獲取大量的服務(wù)節(jié)點信息,按照一定的策略對其 進行篩選,并緩存部分可用的服務(wù)節(jié)點,并且客戶端與中繼服務(wù)節(jié)點之間 以及中繼服務(wù)節(jié)點與中繼服務(wù)節(jié)點之間周期性地交互信息;對于STUN服 務(wù),因?qū)崟r性的要求不高,資源覆蓋網(wǎng)絡(luò)采用簡單的圖模型,每個P2P 客戶端節(jié)點從資源覆蓋網(wǎng)絡(luò)獲取STUN服務(wù)節(jié)點信息,緩存可用的STUN
服務(wù)節(jié)點。
3. P2P網(wǎng)絡(luò)組成實體的協(xié)議層次結(jié)構(gòu)
如圖3所示,所述P2P客戶端從上到下劃分為SIP應(yīng)用層、P2P服務(wù) 層和P2P訪問層,三者相對獨立,下層以動態(tài)鏈接庫的形式為其上層提供 服務(wù)。
如圖4和圖5所示,所述超級中繼服務(wù)節(jié)點及STUN服務(wù)節(jié)點從上到 下分別劃分為P2P服務(wù)層和P2P訪問層,兩者相對獨立,下層以動態(tài)鏈接 庫的形式為其上層提供服務(wù)。
SIP應(yīng)用層完成擴展SIP協(xié)議的控制,通過接口與P2P服務(wù)層交互,完 成對P2P網(wǎng)絡(luò)資源的訪問和使用。
P2P訪問層為P2P服務(wù)層提供開放的、透明的資源覆蓋網(wǎng)絡(luò)訪問接口, 被所有服務(wù)覆蓋網(wǎng)絡(luò)所共享,包括在資源覆蓋網(wǎng)絡(luò)中對服務(wù)資源進行存儲 和檢索。
P2P服務(wù)層抽象所有的P2P服務(wù)類型,服務(wù)類型之間相對獨立,每種 服務(wù)類型按照功能角色不同分為服務(wù)層客戶端邏輯和服務(wù)層服務(wù)器邏輯;
服務(wù)層客戶端邏輯為SIP應(yīng)用層提供訪問服務(wù)資源的接口,具體功能 包括
1) 服務(wù)節(jié)點評價對服務(wù)節(jié)點進行連通性、有效性和性能檢測;
2) 服務(wù)節(jié)點篩選按照既定策略對性能較好的服務(wù)節(jié)點進行擇優(yōu)選取;
3) 服務(wù)節(jié)點管理對服務(wù)節(jié)點進行多級緩存,動態(tài)、高效的管理服務(wù) 節(jié)點;
4) 自我評價機制對終端多項指標(biāo)進行自我評價,包括NAT類型、 網(wǎng)絡(luò)帶寬、CPU能力及占用率、內(nèi)存大小及使用率等;確定可以提供某種 服務(wù)時,向P2P網(wǎng)絡(luò)自舉成為服務(wù)節(jié)點;
5) 服務(wù)資源請求向服務(wù)節(jié)點請求特定的服務(wù)資源,為SIP應(yīng)用層提 供月艮務(wù)。
'服務(wù)層服務(wù)器邏輯為P2P客戶端提供特定的服務(wù)資源,具體功能包括: l)服務(wù)資源管理對本地的服務(wù)資源進行管理與統(tǒng)計,并對非正常釋 放的服務(wù)資源進行回收,保證資源可以再利用,為服務(wù)層客戶端邏輯提供
各種服務(wù)的實際承載能力;
2) 本地資源統(tǒng)計對本地CPU能力及占用率、內(nèi)存大小及使用率以 及帶寬參數(shù)進行收集、統(tǒng)計;
3) 提供資源服務(wù)響應(yīng)'服務(wù)層客戶端邏輯的服務(wù)資源請求,為之提供 相關(guān)服務(wù)。
4.系統(tǒng)實現(xiàn)方法 4.1實現(xiàn)方法綜述
本發(fā)明支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn)方法具有以下步驟:
系統(tǒng)初始化信令控制服務(wù)器、媒體中繼服務(wù)器、超級中繼服務(wù)節(jié)點 和STUN服務(wù)節(jié)點啟動并進行初始化;超級中繼服務(wù)節(jié)點加入到中繼服務(wù) 覆蓋網(wǎng)絡(luò);STUN服務(wù)節(jié)點加入到STUN服務(wù)覆蓋網(wǎng)絡(luò);
P2P客戶端和普通客戶端向信令控制服務(wù)器注冊;信令控制服務(wù)器接受 客戶端注冊并更新用戶信息數(shù)據(jù)庫;
P2P客戶端連接到中繼服務(wù)覆蓋網(wǎng)絡(luò)和STUN服務(wù)覆蓋網(wǎng)絡(luò);
P2P客戶端進行自我評價,若評價通過則加入到中繼服務(wù)覆蓋網(wǎng)絡(luò),成 為中繼服務(wù)節(jié)點;成為中繼服務(wù)節(jié)點的P2P客戶端等待來自其它P2P客戶 端的中繼資源請求,為之提供中繼服務(wù);
客戶端之間通過控制信令交互建立通信會話信令控制服務(wù)器處理并 轉(zhuǎn)發(fā)控制信令,為本次通信選擇媒體中繼服務(wù)器,提供一種經(jīng)媒體中繼服 務(wù)器轉(zhuǎn)發(fā)的媒體傳輸備選路徑;P2P客戶端根據(jù)控制信令交互判斷另 一客戶 端是否具有P2P功能;
若通信雙方均為P2P客戶端,P2P客戶端在上述控制信令交互中攜帶 ICE收集地址信息,并在控制信令交互之后進行ICE連通性檢測,為本次 通信尋找ICE方式點對點直通的媒體傳輸備選路徑;
若ICE連通性檢測結(jié)果為沒有實現(xiàn)局域網(wǎng)點對點直通,P2P客戶端在 中繼服務(wù)覆蓋網(wǎng)絡(luò)中為本次通信尋找經(jīng)中繼服務(wù)節(jié)點轉(zhuǎn)發(fā)的媒體傳輸備選 路徑;
P2P客戶端主叫方對所有的媒體傳輸備選路徑進行評價,選擇性能最優(yōu) 的媒體傳輸路徑,P2P客戶端雙方切換媒體傳輸至最優(yōu)的媒體傳輸路徑;
切換到最優(yōu)媒體傳輸路徑之后,P2P客戶端雙方仍保留其它備選的媒體 傳輸路徑,并周期性進行?;睿?br>
若當(dāng)前傳輸路徑失效而導(dǎo)致通話中斷,P2P客戶端雙方切換到備選的媒 體傳輸路徑;
通信會話結(jié)東,P2P客戶端釋放P2P網(wǎng)絡(luò)媒體傳輸路徑;信令控制服 務(wù)器釋放經(jīng)媒體中繼服務(wù)器轉(zhuǎn)發(fā)的媒體傳輸路徑。 4.2主要功能實體的工作步驟 4.2.1信令控制服務(wù)器
l)初始化,包括設(shè)定IP地址,端口號等,初始化用戶信息數(shù)據(jù)庫;
2) 等待客戶端的注冊;
3) 接收到客戶端注冊后,更新用戶信息數(shù)據(jù)庫;
4) 等待接收客戶端的通信請求;
5) 接收到客戶端的通信請求,為本次通信選擇媒體中繼服務(wù)器,修改 通信請求,判斷目的地并轉(zhuǎn)發(fā)通信請求;
4.2.2媒體中繼服務(wù)器
1) 初始化,包括設(shè)定IP地址,端口號等;
2) 等待接收信令控制服務(wù)器的中繼請求;
3) 接收到信令控制服務(wù)器的中繼請求,為通信會話分配中繼地址和端 口號,中繼通信雙方的媒體流數(shù)據(jù)包;
4.2.3超級中繼服務(wù)節(jié)點
1) 初始化,包括設(shè)定IP地址,端口號等;
2) 加入到中繼服務(wù)覆蓋網(wǎng)絡(luò);
3) 等待處理來自P2P客戶端的中繼請求;
4 )接收到P2P客戶端的中繼請求,為通信會話分配中繼地址和端口號, 中繼通信雙方的媒體流數(shù)據(jù)包;
4.2.4 STUN服務(wù)節(jié)點
1) 初始化,包括設(shè)定IP地址,端口號等;
2) 加入到STUN服務(wù)覆蓋網(wǎng)絡(luò);
3) 等待處理來自P2P客戶端的STUN請求
4 )接收到P2P客戶端的STUN請求,根據(jù)STUN請求的類型做出相應(yīng) 的回應(yīng);
4.2.5 P2P客戶端
l)初始化,包括設(shè)定IP地址,端口號等;
2 )注冊使用SIP協(xié)議中的REGISTER消息向信令控制服務(wù)器注冊;
3) 連接到中繼服務(wù)覆蓋網(wǎng)絡(luò)從中繼服務(wù)覆蓋網(wǎng)絡(luò)中獲取多個中繼服 務(wù)節(jié)點,并進行性能評價,按性能優(yōu)先級排序保存在緩存中;
4) 連接到STUN服務(wù)覆蓋網(wǎng)絡(luò)從STUN服務(wù)覆蓋網(wǎng)絡(luò)中獲取多個 STUN服務(wù)節(jié)點,并進行性能評價,按性能優(yōu)先級排序保存在緩存中;
5 )自我評價評價P2P客戶端本身是否符合成為中繼服務(wù)節(jié)點的條件, 參見4.3部分,若評價通過則加入到中繼服務(wù)覆蓋網(wǎng)絡(luò),成為中繼服務(wù)節(jié)點;
6 )成為中繼服務(wù)節(jié)點的P2P客戶端等待處理來自其它P2P客戶端的中
繼請求,為之提供中繼服務(wù);
7)與另一客戶端進行通信會話交互過程使用INVITE消息,經(jīng)信令 控制服務(wù)器處理轉(zhuǎn)發(fā),參見4.4部分;
4.3 P2P客戶端自我評價機制
P2P客戶端的中繼服務(wù)層客戶端邏輯進行自我評價過程,如圖6和圖1 所示,包括以下過程
14
對P2P客戶端本身的多項指標(biāo)進行檢測;包括網(wǎng)絡(luò)帶寬、CPU能力及 占用率、內(nèi)存大小及使用率等;
若滿足設(shè)定的閾值,使用STUN服務(wù)檢測P2P客戶端本身是否處在NAT 之后;
若處在NAT之后,則使用STUN服務(wù)判斷NAT的類型;
如果NAT的類型為全通性NAT(Full Cone NAT),則P2P客戶端成為中
繼服務(wù)節(jié)點,并加入到中繼服務(wù)覆蓋網(wǎng)絡(luò);
或者如果上述使用STUN服務(wù)檢測P2P客戶端本身是否處在NAT之后
的結(jié)果為不在NAT之后,則P2P客戶端成為中繼服務(wù)節(jié)點,并加入到中繼
服務(wù)覆蓋網(wǎng)絡(luò)。
4.4通信會話交互過程
如圖7所示,以P2P客戶端UA-1和P2P客戶端UA-2之間的通信會話 交互過程為例加以說明,步驟如下
1 ) P2P客戶端主叫方UA-1和P2P客戶端被叫方UA-2通過控制信令 INVITE/200OK/ACK消息的交互完成會話建立過程
信令控制服務(wù)器接收到INVITE消息后為此會話選擇了一個媒體中繼 服務(wù)器,在接收到INVITE消息和200OK消息后,向選定的媒體中繼服務(wù) 器發(fā)送中繼請求;媒體中繼服務(wù)器為之分配中繼端口,并將中繼地址和端 口信息放入中繼回應(yīng)回送給信令控制服務(wù)器;信令控制服務(wù)器根據(jù)中繼回 應(yīng)修改INVITE消息和200OK消息SDP部分的媒體流地址及端口信息,并 轉(zhuǎn)發(fā)INVITE消息和200OK消息;
P2P客戶端主叫方UA-1將INVITE消息SDP部分的"i="參數(shù)設(shè)置為 "sipp2p"; P2P客戶端被叫方UA-2將200OK消息SDP部分的"i="參數(shù) 設(shè)置^ "sipp2p"; P2P客戶端主叫方UA-1和P2P客戶端被叫方UA-2通過 檢查INVITE/200OK消息SDP部分的"i="參數(shù)是否為"sipp2p"得知通 信對端具有P2P功能。
2 ) P2P客戶端主叫方UA-1和P2P客戶端被叫方UA-2分別在INVITE 和200OK消息SDP部分攜帶ICE收集到的地址信息,并在控制信令交互 之后進行ICE連通性檢測;其中ICE收集到的地址信息按優(yōu)先級從高到低 包括
發(fā)送和接收媒體流的本地地址和端口;
若發(fā)送和接收媒體流的本地地址是私網(wǎng)地址,還包括通過STUN協(xié)議 獲得的NAT映射后地址。
3 )經(jīng)過ICE連通性檢測后,P2P客戶端主叫方UA-1和P2P客戶端被 叫方UA-2之間沒有實現(xiàn)局域網(wǎng)直通,在中繼服務(wù)覆蓋網(wǎng)絡(luò)中為本次通信尋 找經(jīng)中繼服務(wù)節(jié)點轉(zhuǎn)發(fā)的媒體傳輸備選路徑
4) P2P客戶端主叫方UA-1對所有的備選路徑進行評價,向備選路徑 發(fā)送既定時間的測試數(shù)據(jù)流,計算測試數(shù)據(jù)流的丟包率、延遲及抖動等參
數(shù),最終選擇了 P2P網(wǎng)絡(luò)傳輸路徑,P2P客戶端主叫方UA-1和P2P客戶端 被叫方UA-2切換媒體傳輸?shù)街欣^服務(wù)節(jié)點;
5 )媒體傳輸路徑選定后,P2P客戶端主叫方UA-1和P2P客戶端被叫 方UA-2仍保留著其它備選的傳輸路徑,并周期性進行?;睿?一旦當(dāng)前傳輸 路徑失效而導(dǎo)致通話中斷,可及時地切換到備選的媒體傳輸路徑;
6) P2P客戶端主叫方UA-1結(jié)東本通信會話,發(fā)送BYE消息到信令控 制服務(wù)器,并向P2P網(wǎng)絡(luò)傳輸路徑中的中繼服務(wù)節(jié)點發(fā)送中繼資源回收請 求,請求中繼服務(wù)節(jié)點回收中繼資源;信令控制服務(wù)器接收到BYE消息后, 向為此會話選定的媒體中繼服務(wù)器發(fā)送拆除請求,請求媒體中繼服務(wù)器回 收中繼資源,并轉(zhuǎn)發(fā)BYE消息到P2P客戶端被叫方UA-2, P2P客戶端被 叫方UA-2對BYE消息做出回應(yīng)。
4.5 P2P網(wǎng)絡(luò)傳輸路徑的選擇過程
如圖8所示,所述P2P客戶端在中繼服務(wù)覆蓋網(wǎng)絡(luò)中為本次通信尋找 經(jīng)中繼服務(wù)節(jié)點轉(zhuǎn)發(fā)的媒體傳輸備選路徑,其中P2P客戶端之間使用INFO 消息進行交互,步驟如下
1) P2P客戶端主叫方UA-1的SIP應(yīng)用層向P2P服務(wù)層請求目前可用 的中繼服務(wù)節(jié)點,P2P服務(wù)層從中繼服務(wù)節(jié)點緩存列表中按優(yōu)先級選擇多個 中繼服務(wù)節(jié)點組成新的列表,并按綜合評價值進行升序排序,返回到SIP 應(yīng)用層;
2 )P2P客戶端主叫方UA-1的SIP應(yīng)用層構(gòu)造第 一個INFO消息INFO-1, 將得到的中繼服務(wù)節(jié)點信息填寫到該消息的消息體中,發(fā)送該消息到P2P 客戶端被叫方UA-2;
3) P2P客戶端被叫方UA-2的SIP應(yīng)用層接收到第一個INFO消息 INFO-l后,回送應(yīng)答消息200OK給P2P客戶端主叫方,并從第一個INFO 消息INFO-l的消息體部分得到待選的中繼服務(wù)節(jié)點列表信息;
4 ) P2P客戶端被叫方UA-2的SIP應(yīng)用層請求P2P服務(wù)層對中繼服務(wù) 節(jié)點列表中的所有中繼服務(wù)節(jié)點進行綜合評價,將取得的延遲值與P2P客 戶端主叫方的延遲值相加作為服務(wù)節(jié)點新的延遲值,按優(yōu)先級延遲值重新 排序;
5 )P2P客戶端被叫方UA-2的SIP應(yīng)用層構(gòu)造第二個INFO消息INFO-2, 將新的中繼服務(wù)節(jié)點列表信息填寫到該消息的消息體中,發(fā)送該消息到P2P 客戶端主叫方UA-1;
6 ) P2P客戶端主叫方UA-1的SIP應(yīng)用層接收到INFO-2消息后,回送 應(yīng)答消息200OK給P2P客戶端被叫方,并從第二個INFO消息INFO-2的 消息體部分得到經(jīng)過P2P客戶端雙方評價的中繼服務(wù)節(jié)點列表信息;
7) P2P客戶端主叫方UA-1的SIP應(yīng)用層取得上述中繼服務(wù)節(jié)點列表 中的第一個中繼服務(wù)節(jié)點,請求P2P服務(wù)層向該中繼服務(wù)節(jié)點請求中繼資 源;若請求成功,則構(gòu)造第三個INFO消息INFO-3,將得到的中繼資源信
息(包括中繼服務(wù)節(jié)點的IP地址、服務(wù)控制端口、媒體中繼端口等)填寫
到該消息的消息體中,發(fā)送該消息到P2P客戶端被叫方UA-2,轉(zhuǎn)至步驟8 );
若請求不成功,則將該中繼服務(wù)節(jié)點從中繼服務(wù)節(jié)點列表中刪除,重 復(fù)步驟7);若中繼服務(wù)節(jié)點列表為空,則本次P2P網(wǎng)絡(luò)傳輸路徑的選擇過 程失敗, 一段時間后,重新開始P2P網(wǎng)絡(luò)傳輸路徑的選擇過程;
8) P2P客戶端被叫方UA-2的SIP應(yīng)用層接收到第三個INFO消息 INFO-3后,回送應(yīng)答消息200OK給P2P客戶端主叫方,并從第三個INFO 消息INFO-3的消息體部分得到待選的中繼服務(wù)節(jié)點信息,并向該中繼服務(wù) 節(jié)點請求中繼資源,若請求成功,則構(gòu)造第四個INFO消息INFO-4,將得 到的中繼資源信息(包括中繼服務(wù)節(jié)點的IP地址、服務(wù)控制端口、媒體中 繼端口等)填寫到第四個INFO消息INFO-4的消息體中,發(fā)送第四個INFO 消息INFO-4到P2P客戶端主叫方;若請求不成功,P2P客戶端被叫方UA-2 不作任何操作;
9) P2P客戶端主叫方UA-1的SIP應(yīng)用層接收到第四個INFO消息 INFO-4后,回送應(yīng)答消息200OK給P2P客戶端li叫方,并從第四個INFO 消息INFO-4的消息體部分得到待選的中繼服務(wù)節(jié)點信息;若在一定時間內(nèi) 沒有收到P2P客戶端被叫方的第四個INFO消息INFO-4,則將待選的中繼 服務(wù)節(jié)點從中繼服務(wù)節(jié)點列表中刪除,重復(fù)步驟7)。
4.6媒體流的安全傳輸
P2P客戶端之間使用 一次性加密密鑰對通信會話的媒體流數(shù)據(jù)包進行 加密。如圖9所示,在通信會話建立過程中,P2P客戶端之間完成一次性加 密密鑰的安全傳輸,具體如下
1 ) P2P客戶端主叫方產(chǎn)生為本次通信加密媒體流數(shù)據(jù)包的一次性加密 密鑰(p),將主叫SIPURI的用戶密碼(sa)作為對稱密鑰對一次性加密密 鑰進行加密,并在INVITE消息中擴展私有頭域攜帶加密后的 一次性加密密 鑰((p) sa)以及完整性驗證信息(MD5 (p));
2)信令控制服務(wù)器從INVITE消息中取得加密后的一次性加密密鑰, 用主叫SIPURI的用戶密碼(sa)對其進行解密(((p) sa) sa),再用被叫 SIPURI的用戶密碼(sb)對解密出來的一次性加密密鑰進行加密,并將新 加密后的一次性加密密鑰((p) sb)重新放入INVITE消息中轉(zhuǎn)發(fā)到P2P 客戶端被叫方;
3 ) P2P客戶端被叫方從INVITE消息中取得加密后的一次性加密密鑰 以及完整性驗證信息,用被叫SIPURI的用戶密碼(sb)對加密后的一次性 加密密鑰進行解密(((p) sb) sb),得到一次性加密密鑰,并進行完整性驗 證。
權(quán)利要求
1.一種支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng),其特征在于包括信令控制服務(wù)器、媒體中繼服務(wù)器、超級中繼服務(wù)節(jié)點、STUN服務(wù)節(jié)點以及P2P客戶端或普通客戶端,采用擴展SIP協(xié)議作為信令控制層的通信協(xié)議,由處于系統(tǒng)中心位置的信令控制服務(wù)器集中處理轉(zhuǎn)發(fā);媒體傳輸支持媒體中繼服務(wù)器轉(zhuǎn)發(fā)、ICE方式的點對點直通和P2P網(wǎng)絡(luò)傳輸多條路徑,其中信令控制服務(wù)器,為整個IP通信系統(tǒng)的控制中心,所有的SIP消息都經(jīng)信令控制服務(wù)器轉(zhuǎn)發(fā);接收來自P2P客戶端或普通客戶端的注冊請求,并將注冊信息登記在信令控制服務(wù)器的數(shù)據(jù)庫中;負責(zé)所有多媒體通信會話的建立、修改和拆除;負責(zé)為通信會話選擇媒體中繼服務(wù)器,提供一種經(jīng)媒體中繼服務(wù)器轉(zhuǎn)發(fā)的媒體傳輸備選路徑;媒體中繼服務(wù)器,具有公網(wǎng)IP地址,處理來自信令控制服務(wù)器的中繼請求,為通信會話分配中繼端口,P2P客戶端或普通客戶端雙方均將媒體數(shù)據(jù)包發(fā)送到中繼端口,媒體中繼服務(wù)器將來自于一方P2P客戶端或普通客戶端的媒體數(shù)據(jù)包轉(zhuǎn)發(fā)到另一P2P客戶端或普通客戶端;超級中繼服務(wù)節(jié)點,為一長期運行的中繼服務(wù)節(jié)點,加入到P2P網(wǎng)絡(luò),作為P2P網(wǎng)絡(luò)的Bootstrap節(jié)點;處理來自P2P客戶端的中繼請求,為通信會話分配中繼端口,中繼P2P客戶端之間的媒體數(shù)據(jù)包;STUN服務(wù)節(jié)點,加入到P2P網(wǎng)絡(luò),作為P2P網(wǎng)絡(luò)的Bootstrap節(jié)點;處理來自P2P客戶端的STUN請求;P2P客戶端,在建立通信的信令控制交互之后,與另一P2P客戶端之間進行ICE交互過程,為本次通信尋找ICE方式點對點直通的媒體傳輸備選路徑;在P2P網(wǎng)絡(luò)中為本次通信尋找經(jīng)中繼服務(wù)節(jié)點轉(zhuǎn)發(fā)的媒體傳輸備選路徑;當(dāng)檢測到自己滿足成為中繼服務(wù)節(jié)點的條件時,P2P客戶端申請加入P2P網(wǎng)絡(luò),為其它P2P客戶端提供中繼服務(wù)。
2. 按權(quán)利要求1所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng),其特征 在于所述P2P網(wǎng)絡(luò)具有兩層結(jié)構(gòu),即資源覆蓋網(wǎng)絡(luò)和服務(wù)覆蓋網(wǎng)絡(luò),其 中資源覆蓋網(wǎng)絡(luò)為服務(wù)覆蓋網(wǎng)絡(luò)提供統(tǒng)一的資源存儲、檢索功能;服務(wù)覆 蓋網(wǎng)絡(luò)面向不同的服務(wù)類型,每種服務(wù)類型均形成一個獨立的覆蓋網(wǎng)絡(luò), 所有服務(wù)覆蓋網(wǎng)絡(luò)使用統(tǒng) 一 的資源覆蓋網(wǎng)絡(luò)訪問接口發(fā)布和檢索服務(wù)信 息。
3.按權(quán)利要求2所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng),其特征 在于P2P網(wǎng)絡(luò)支持的服務(wù)類型包括中繼服務(wù)和STUN服務(wù),其中中繼服 務(wù)的服務(wù)覆蓋網(wǎng)絡(luò)為無結(jié)構(gòu)網(wǎng)絡(luò),每個P2P客戶端節(jié)點從資源覆蓋網(wǎng)絡(luò)獲 取大量的中繼服務(wù)節(jié)點信息進行篩選,并緩存部分可用的服務(wù)節(jié)點,并且 P2P客戶端與中繼服務(wù)節(jié)點之間以及中繼服務(wù)節(jié)點與中繼服務(wù)節(jié)點之間周期性地交互信息;STUN服務(wù)的服務(wù)覆蓋網(wǎng)絡(luò)為無結(jié)構(gòu)網(wǎng)絡(luò),每個P2P客 戶端節(jié)點從資源覆蓋網(wǎng)絡(luò)獲取STUN服務(wù)節(jié)點信息,緩存可用的STUN服 務(wù)節(jié)點。
4. 按權(quán)利要求1所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng),其特征 在于所述P2P客戶端從上到下劃分為相對獨立的SIP應(yīng)用層、P2P服務(wù) 層和P2P訪問層,下層為其上一層提供服務(wù);P2P服務(wù)層抽象所有的P2P 服務(wù)類型,服務(wù)類型之間相對獨立;所述超級中繼服務(wù)節(jié)點及STUN服務(wù)節(jié)點從上到下分別劃分為P2P服 務(wù)層和P2P訪問層,下層為其上一層提供服務(wù);P2P服務(wù)層抽象所有的P2P 服務(wù)類型,服務(wù)類型之間相對獨立。
5. —種支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn)方法,其特征在于 具有以下步驟系統(tǒng)初始化信令控制服務(wù)器、媒體中繼服務(wù)器、超級中繼服務(wù)節(jié)點 和STUN服務(wù)節(jié)點啟動并進行初始化;超級中繼服務(wù)節(jié)點加入到中繼服務(wù) 覆蓋網(wǎng)絡(luò);STUN服務(wù)節(jié)點加入到STUN服務(wù)覆蓋網(wǎng)絡(luò); P2P客戶端和普通客戶端向信令控制服務(wù)器注冊; P2P客戶端連接到中繼服務(wù)覆蓋網(wǎng)絡(luò)和STUN服務(wù)覆蓋網(wǎng)絡(luò); P2P客戶端進行自我評價,若評價通過則加入到中繼服務(wù)覆蓋網(wǎng)絡(luò),成 為中繼服務(wù)節(jié)點;客戶端之間通過控制信令交互建立通信會話信令控制服務(wù)器處理并 轉(zhuǎn)發(fā)控制信令,為本次通信選擇媒體中繼服務(wù)器,提供一種經(jīng)媒體中繼服 務(wù)器轉(zhuǎn)發(fā)的媒體傳輸備選路徑;P2P客戶端根據(jù)控制信令交互判斷另 一客戶 端是否具有P2P功能;若通信雙方均為P2P客戶端,P2P客戶端在中繼服務(wù)覆蓋網(wǎng)絡(luò)中為本 次通信尋找經(jīng)中繼服務(wù)節(jié)點轉(zhuǎn)發(fā)的P2P網(wǎng)絡(luò)媒體傳輸備選路徑;P2P客戶端主叫方對所有的媒體傳輸備選路徑進行評價,選擇性能最優(yōu) 的媒體傳輸路徑,P2P客戶端雙方切換媒體傳輸至最優(yōu)的媒體傳輸路徑;P2P客戶端雙方仍保留其它備選的媒體傳輸路徑;若當(dāng)前傳輸路徑失效而導(dǎo)致通話中斷,P2P客戶端雙方切換到備選的媒 體傳輸路徑;通信會話結(jié)東,P2P客戶端釋放P2P網(wǎng)絡(luò)媒體傳輸路徑;信令控制服 務(wù)器釋放經(jīng)媒體中繼服務(wù)器轉(zhuǎn)發(fā)的媒體傳輸路徑。
6. 按權(quán)利要求5所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn)方 法,其特征在于P2P客戶端在建立通信會話的控制信令交互中,攜帶ICE 收集地址信息,并在控制信令交互之后進行ICE連通性檢測,為本次通信 尋找ICE方式點對點直通的媒體傳輸備選路徑。
7. 按權(quán)利要求5所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn)方法,其特征在于所述的根據(jù)在會話建立過程中控制信令交互來判斷另一 客戶端是否具有P2P功能具體如下P2P客戶端發(fā)起呼叫時,設(shè)置INVITE消息SDP部分的參數(shù),用于表 明自己具有P2P功能;P2P客戶端被叫方應(yīng)答呼叫時,設(shè)置200OK消息SDP 部分的參數(shù);P2P客戶端主叫方檢查200OK消息SDP部分的參數(shù),即可判 斷通信被叫方是否具有P2P功能;P2P客戶端被叫方檢查INVTE消息SDP 部分的參數(shù),即可判斷通信主叫方是否具有P2P功能。
8.按權(quán)利要求5所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn)方 法,其特征在于所述P2P客戶端在中繼服務(wù)覆蓋網(wǎng)絡(luò)中為本次通信尋找 經(jīng)中繼服務(wù)節(jié)點轉(zhuǎn)發(fā)的媒體傳輸備選路徑,其中P2P客戶端之間使用INFO 消息進行交互,步驟如下(1) P2P客戶端主叫方從目前可用的中繼服務(wù)節(jié)點中按優(yōu)先級選擇多個 中繼服務(wù)節(jié)點組成新的列表;(2) P2P客戶端主叫方構(gòu)造第一個INFO消息,將得到的中繼服務(wù)節(jié)點 信息填寫到該消息中,發(fā)送該消息到P2P客戶端被叫方;(3)P2P客戶端被叫方接收到第一個INFO消息后,回送應(yīng)答消息給P2P 客戶端主叫方,并從第一個INFO消息中得到待選的中繼服務(wù)節(jié)點列表信(4) P2P客戶端被叫方對中繼服務(wù)節(jié)點列表中的所有中繼服務(wù)節(jié)點進行 綜合評價,按優(yōu)先級重新排序;(5) P2P客戶端被叫方構(gòu)造第二個INFO消息,將新的中繼服務(wù)節(jié)點列 表信息填寫到該消息中,發(fā)送該消息到P2P客戶端主叫方;(6)P2P客戶端主叫方接收到第二個INFO消息后,回送應(yīng)答消息給P2P 客戶端被叫方,并從第二個INFO消息中得到經(jīng)過P2P客戶端雙方評價的 中繼服務(wù)節(jié)點列表信息;(7) P2P客戶端主叫方取得上述中繼服務(wù)節(jié)點列表中的第一個中繼服務(wù) 節(jié)點,向該中繼服務(wù)節(jié)點請求中繼資源;若請求成功,則構(gòu)造第三個INFO 消息,將得到的中繼資源信息填寫到該消息中,發(fā)送該消息到P2P客戶端 被叫方,轉(zhuǎn)至步驟8);若請求不成功,則將該中繼服務(wù)節(jié)點從中繼服務(wù)節(jié)點列表中刪除,重 復(fù)步驟7);若中繼服務(wù)節(jié)點列表為空,則本次P2P網(wǎng)絡(luò)傳輸路徑的選擇過 程失敗, 一段時間后,重新開始P2P網(wǎng)絡(luò)傳輸路徑的選擇過程;(8)P2P客戶端被叫方接收到第三個INFO消息后,回送應(yīng)答消息給P2P 客戶端主叫方,并從第三個INFO消息中得到待選的中繼服務(wù)節(jié)點信息,并 向該中繼服務(wù)節(jié)點請求中繼資源,若請求成功,則構(gòu)造第四個INFO消息, 將得到的中繼資源信息填寫到第四個INFO消息中,發(fā)送第四個INFO消息 到P2P客戶端主叫方;若請求不成功,P2P客戶端被叫方不作任何操作;(9)P2P客戶端主叫方接收到第四個INFO消息后,回送應(yīng)答消息給P2P 客戶端被叫方,并從第四個INFO消息中得到待選的中繼服務(wù)節(jié)點信息;若 在一定時間內(nèi)沒有收到P2P客戶端被叫方的第四個INFO消息,則將待選 的中繼服務(wù)節(jié)點從中繼服務(wù)節(jié)點列表中刪除,重復(fù)步驟7)。
9. 按權(quán)利要求5所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn)方 法,其特征在于所述P2P客戶端主叫方對所有的備選路徑進行評價具體 為P2P客戶端主叫方向備選路徑發(fā)送既定時間的測試數(shù)據(jù)流,計算測試數(shù) 據(jù)流的丟包率、延遲及抖動參數(shù)。
10. 按權(quán)利要求5所述的支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)的實現(xiàn) 方法,其特征在于P2P客戶端之間使用一次性加密密鑰對通信會話的媒體 流數(shù)據(jù)包進行加密,在通信會話建立過程中完成 一次性加密密鑰的安全傳
全文摘要
本發(fā)明涉及一種支持P2P媒體傳輸?shù)腟IP軟交換系統(tǒng)及其實現(xiàn)方法,該系統(tǒng)包括信令控制服務(wù)器、媒體中繼服務(wù)器、超級中繼服務(wù)節(jié)點、STUN服務(wù)節(jié)點以及P2P客戶端或普通客戶端,采用擴展SIP協(xié)議作為信令控制層的通信協(xié)議,由處于系統(tǒng)中心位置的信令控制服務(wù)器集中處理轉(zhuǎn)發(fā);該方法包括系統(tǒng)初始化;向信令控制服務(wù)器注冊;P2P客戶端連接到中繼服務(wù)覆蓋網(wǎng)絡(luò)和STUN服務(wù)覆蓋網(wǎng)絡(luò),進行自我評價;客戶端之間建立通信會話;當(dāng)前傳輸路徑失效而導(dǎo)致通話中斷,P2P客戶端雙方切換到備選的媒體傳輸路徑。本發(fā)明具有很好的可控性、可管理性、兼容性、可靠性及擴展性,有效改善了通信質(zhì)量,實現(xiàn)網(wǎng)絡(luò)負擔(dān)的分散化,適應(yīng)未來終端的要求。
文檔編號H04L12/56GK101102310SQ20071001226
公開日2008年1月9日 申請日期2007年7月25日 優(yōu)先權(quán)日2007年7月25日
發(fā)明者波 于, 丹 劉, 偉 張, 張秀武, 磊 楊, 林鏡華, 賈軍營, 雷為民 申請人:中國科學(xué)院沈陽計算技術(shù)研究所有限公司