[發(fā)明專(zhuān)利]一種支持NAT穿越的實(shí)時(shí)多媒體數(shù)據(jù)P2P傳輸方案有效
| 申請(qǐng)?zhí)枺?/td> | 201010152585.0 | 申請(qǐng)日: | 2010-04-16 |
| 公開(kāi)(公告)號(hào): | CN101848235A | 公開(kāi)(公告)日: | 2010-09-29 |
| 發(fā)明(設(shè)計(jì))人: | 泮華杰;樓奕華;李未 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京航空航天大學(xué) |
| 主分類(lèi)號(hào): | H04L29/08 | 分類(lèi)號(hào): | H04L29/08;H04L29/06;H04L29/12 |
| 代理公司: | 北京科迪生專(zhuān)利代理有限責(zé)任公司 11251 | 代理人: | 李新華 |
| 地址: | 100191*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 支持 nat 穿越 實(shí)時(shí) 多媒體 數(shù)據(jù) p2p 傳輸 方案 | ||
發(fā)明領(lǐng)域
本發(fā)明屬于多媒體數(shù)據(jù)傳輸領(lǐng)域,涉及一種在互聯(lián)網(wǎng)上點(diǎn)對(duì)點(diǎn)傳輸實(shí)時(shí)多媒體數(shù)據(jù)的方法。
發(fā)明背景
一般而言,多媒體視頻會(huì)議系統(tǒng)的服務(wù)器端都位于internet上,擁有各自獨(dú)立的IP地址,但大多數(shù)會(huì)議系統(tǒng)的客戶(hù)端卻都是位于NAT設(shè)備之后,通過(guò)NAT設(shè)備連接到Internet,這樣的結(jié)構(gòu)給多媒體視頻會(huì)議系統(tǒng)的開(kāi)發(fā)帶來(lái)了很多問(wèn)題,例如,通常情況下NAT設(shè)備被配置為不允許外部的主動(dòng)連接,因此很難直接向NAT內(nèi)的用戶(hù)主動(dòng)發(fā)送音視頻數(shù)據(jù)。同時(shí),大量的音視頻數(shù)據(jù)通過(guò)服務(wù)器轉(zhuǎn)發(fā)給客戶(hù)端造成了運(yùn)行、帶寬等壓力。
為了突破NAT的限制,配置NAT設(shè)備,對(duì)外部網(wǎng)絡(luò)開(kāi)放某些端口,利用NAT設(shè)備向內(nèi)部網(wǎng)絡(luò)的某臺(tái)主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)。這種做法缺乏靈活性,并且要求具有NAT設(shè)備的管理員權(quán)限,對(duì)于普通用戶(hù)而言,難以實(shí)現(xiàn)。
因此,NSPC的做法是在系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧中安裝新的協(xié)議層,所有客戶(hù)端安裝同樣的協(xié)議層,并在服務(wù)器上部署一個(gè)小型輔助管理程序。通過(guò)這一協(xié)議層完成了NAT防火墻的穿越功能。它通過(guò)標(biāo)準(zhǔn)的套接字接口給應(yīng)用程序提供服務(wù),給來(lái)自上層應(yīng)用程序的多媒體數(shù)據(jù)添加新的報(bào)文頭,然后將封包后的數(shù)據(jù)轉(zhuǎn)交給更底層的系統(tǒng)UDP傳輸層。對(duì)于來(lái)自底層的數(shù)據(jù)報(bào)文,該協(xié)議解包數(shù)據(jù)報(bào)文,并把報(bào)文數(shù)據(jù)推送給應(yīng)用程序。這一方法符合網(wǎng)絡(luò)的分層設(shè)計(jì)原則,并且能夠很快應(yīng)用到原有的系統(tǒng)中。同時(shí)為了減少服務(wù)器數(shù)據(jù)轉(zhuǎn)發(fā)的運(yùn)行壓力,NSPC實(shí)現(xiàn)了實(shí)時(shí)多媒體數(shù)據(jù)在客戶(hù)端之間的P2P傳輸。
綜上所述,本發(fā)明的任務(wù)在于解決NAT防火墻給多媒體應(yīng)用帶來(lái)的通訊問(wèn)題。同時(shí),在UDP協(xié)議的基礎(chǔ)上實(shí)現(xiàn)了一個(gè)新的網(wǎng)絡(luò)協(xié)議,支持多媒體數(shù)據(jù)的點(diǎn)對(duì)點(diǎn)傳播,能夠廣泛的用于各種多媒體應(yīng)用程序,提供跨躍NAT防火墻的多媒體實(shí)時(shí)通訊技術(shù)。
發(fā)明內(nèi)容
本發(fā)明提出了一種支持NAT穿越的實(shí)時(shí)多媒體數(shù)據(jù)傳輸方案,并具體包括以下步驟:1)NSPC創(chuàng)建一個(gè)UDP套接字,并為該套接字隨機(jī)綁定一個(gè)端口,記該端口號(hào)值為G_Port。NSPC利用該套接字判斷NSPC所在客戶(hù)端的NAT類(lèi)型,并建立與其他NSPC之間的NAT穿越通道;(2)發(fā)送數(shù)據(jù)時(shí),NSPC獲取上層應(yīng)用程序的數(shù)據(jù)報(bào)文,查詢(xún)NSPC套接字控制列表,檢索出該報(bào)文所屬的套接字以及接收端的NAT地址,完成對(duì)報(bào)文的封裝并將報(bào)文發(fā)送到網(wǎng)絡(luò);(3)接收數(shù)據(jù)時(shí),NSPC獲取端口G_Port上到達(dá)的UDP數(shù)據(jù)報(bào)文,判斷報(bào)文是否經(jīng)過(guò)NSPC封裝,若是則去除報(bào)文的封裝并將數(shù)據(jù)推送給相應(yīng)的應(yīng)用程序,等待進(jìn)一步處理。
根據(jù)本方案的一個(gè)方面,其中步驟(1)進(jìn)一步包括:NSPC在第一次被調(diào)用時(shí),創(chuàng)建一個(gè)UDP套接字,并為該套接字隨機(jī)綁定一個(gè)端口,記該端口的端口號(hào)為G_Port,所有的NSPC報(bào)文均通過(guò)該套接字接收和發(fā)送;NSPC向位于公網(wǎng)的服務(wù)程序發(fā)送NAT類(lèi)型測(cè)試報(bào)文,根據(jù)返回報(bào)文判斷自身所處NAT類(lèi)型;NSPC在發(fā)送數(shù)據(jù)前向服務(wù)程序查詢(xún)接收端的NAT類(lèi)型,并由服務(wù)器告知接收端先向發(fā)送端做NAT反向穿越。
根據(jù)本方案的另一個(gè)方面,其中步驟(2)對(duì)數(shù)據(jù)報(bào)文的封裝包括:在數(shù)據(jù)段頭部添加發(fā)送端應(yīng)用程序所用套接字的本地端口號(hào),即源端口號(hào);在數(shù)據(jù)段頭部添加接收端應(yīng)用程序套接字的本地端口號(hào),即目的端口號(hào)。
根據(jù)本方案的另一個(gè)方面,其中步驟(2)發(fā)送數(shù)據(jù)時(shí),在傳輸層,NSPC獲取應(yīng)用程序發(fā)送的UDP數(shù)據(jù)報(bào)文,修改報(bào)文頭部的源端口字段值為G_Port值,并通過(guò)G_Port端口將該UDP數(shù)據(jù)報(bào)文推送到網(wǎng)絡(luò)層。
根據(jù)本方案的另一個(gè)方面,其中步驟(3)接收數(shù)據(jù)時(shí),NSPC偵聽(tīng)所有發(fā)往G_Port的UDP數(shù)據(jù)報(bào)文,丟棄未經(jīng)過(guò)NSPC封裝的數(shù)據(jù)報(bào)文;在傳輸層,NSPC讀取UDP報(bào)文中數(shù)據(jù)段頭部封裝的接收端應(yīng)用程序所用套接字的端口號(hào),將該端口號(hào)寫(xiě)入U(xiǎn)DP報(bào)文頭的目的端口字段,重新計(jì)算UDP報(bào)文的校驗(yàn)碼,將數(shù)據(jù)包向上推送給該目的端口對(duì)應(yīng)的套接字;在傳輸層之上,應(yīng)用層之下,NSPC再次獲取數(shù)據(jù),去除封裝在報(bào)文數(shù)據(jù)段頭部的附加數(shù)據(jù),附加數(shù)據(jù)包括:發(fā)送端應(yīng)用程序所用套接字的端口號(hào)和接收端應(yīng)用程序所用套接字的端口號(hào);最后,NSPC將數(shù)據(jù)推送給相應(yīng)的應(yīng)用程序。
附圖說(shuō)明
圖1給出了NSPC識(shí)別客戶(hù)端不同NAT類(lèi)型的過(guò)程;
圖2示出了NSPC實(shí)現(xiàn)NAT穿越的過(guò)程;
圖3示出了NSPC在網(wǎng)絡(luò)協(xié)議棧中的相對(duì)位置;
圖4示出了NSPC數(shù)據(jù)報(bào)文的封裝;
圖5示出了NSPC數(shù)據(jù)報(bào)文的發(fā)送與接收流程。
具體實(shí)施方式
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京航空航天大學(xué),未經(jīng)北京航空航天大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010152585.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 實(shí)時(shí)解碼系統(tǒng)與實(shí)時(shí)解碼方法
- 實(shí)時(shí)穩(wěn)定
- 實(shí)時(shí)監(jiān)控裝置、實(shí)時(shí)監(jiān)控系統(tǒng)以及實(shí)時(shí)監(jiān)控方法
- 實(shí)時(shí)或準(zhǔn)實(shí)時(shí)流傳輸
- 實(shí)時(shí)或準(zhǔn)實(shí)時(shí)流傳輸
- 實(shí)時(shí)通信方法和實(shí)時(shí)通信系統(tǒng)
- 實(shí)時(shí)更新
- 實(shí)時(shí)內(nèi)核
- 用于通信網(wǎng)絡(luò)的網(wǎng)絡(luò)設(shè)備及相關(guān)方法
- 實(shí)時(shí)量化方法及實(shí)時(shí)量化系統(tǒng)





