• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于UPnP和STUN技術(shù)相結(jié)合的NAT穿越方法技術(shù)

    技術(shù)編號(hào):4159580 閱讀:394 留言:0更新日期:2012-04-11 18:40
    本發(fā)明專利技術(shù)涉及一種基于UPnP和STUN技術(shù)相結(jié)合的NAT穿越方法,該方法將UPnP和STUN進(jìn)行有效結(jié)合,在UPnP穿越NAT失敗后再采用STUN方法對(duì)NAT進(jìn)行二次穿越,通過汲取兩種穿越方法各自的優(yōu)點(diǎn)有效提高穿越成功率;對(duì)于對(duì)稱NAT的穿越,提出采用基于NAT添加端口映射的樣本值估計(jì)端口映射分布的方法進(jìn)行端口猜測(cè),以避免由于第三方代理轉(zhuǎn)發(fā)造成的缺陷和簡(jiǎn)單端口遞增猜測(cè)方法的盲目性;對(duì)于P2P流媒體系統(tǒng)中通信雙方都位于NAT后的情況,提出采用讓部分帶寬充裕位于外網(wǎng)的普通通信節(jié)點(diǎn)充當(dāng)輔助中繼節(jié)點(diǎn)的方法來緩解中繼服務(wù)器的壓力,從而有效消除系統(tǒng)通信瓶頸。

    A NAT traversal method based on UPnP and STUN Technology

    The present invention relates to UPnP and STUN technology based on the combination of NAT through the method, the method of UPnP and STUN are combined in UPnP through NAT after failed by the method of STUN NAT for two passes, improve their advantages by drawing two through effective methods through to power; for crossing symmetry NAT the NAT port mapping, the sample value estimation method of port mapping the distribution of the port on the speculation, to avoid the blindness of the third party proxy forwarding caused by defects and simple method for increasing speculation port; communication P2P streaming media system are located on both sides of the NAT, the part of the common communication bandwidth in the network node ample to act as an auxiliary relay node. Method to alleviate the pressure of the relay server, so as to effectively eliminate the communication bottleneck of the system.

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)涉及計(jì)算機(jī)網(wǎng)絡(luò)P2P流媒體
    ,特別涉及一種基于UPnP和STUN 技術(shù)相結(jié)合的NAT穿越方法。
    技術(shù)介紹
    隨著互聯(lián)網(wǎng)的發(fā)展和寬帶應(yīng)用的普及,利用網(wǎng)絡(luò)進(jìn)行流媒體直播正在成為網(wǎng)絡(luò) 應(yīng)用的熱點(diǎn)。傳統(tǒng)的基于客戶端/服務(wù)器架構(gòu)的流媒體系統(tǒng)由于服務(wù)器帶寬和處理能 力的限制導(dǎo)致其可擴(kuò)展性極差。P2P(Peer-to-Peer)對(duì)等網(wǎng)絡(luò)技術(shù)作為一種有效的解決 方案在最近幾年得到了極大的推廣。在P2P模式下,由于每個(gè)節(jié)點(diǎn)都具有客戶端和 服務(wù)器的功能,每個(gè)節(jié)點(diǎn)在從別的節(jié)點(diǎn)接收數(shù)據(jù)的同時(shí)還向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù),這 樣利用客戶端節(jié)點(diǎn)的上傳能力可以極大減輕流媒體服務(wù)器的負(fù)擔(dān)。另一方面,為了節(jié)省網(wǎng)絡(luò)地址空間和保障網(wǎng)絡(luò)安全,當(dāng)前互聯(lián)網(wǎng)中較多的采用 了 NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)技術(shù)。它是一種將IP地址從一個(gè)編址域映射到另外一個(gè)編址 域的方法,如最典型的應(yīng)用是把RFC1918定義的私有非注冊(cè)地址內(nèi)部隔離編址域映 射到能在互聯(lián)網(wǎng)路由的全局統(tǒng)一注冊(cè)地址外部編址域。NAT設(shè)備能夠?yàn)閮?nèi)網(wǎng)編址域 與外網(wǎng)編址域之間的每條網(wǎng)絡(luò)連接實(shí)施動(dòng)態(tài)IP地址轉(zhuǎn)換并設(shè)置相應(yīng)的報(bào)文過濾規(guī) 則,讓不滿足條件的報(bào)文不能夠穿透NAT。NAT可以很好地支持網(wǎng)頁瀏覽等基本的因特網(wǎng)應(yīng)用,對(duì)HTTP等端口固定的一 般應(yīng)用協(xié)議,只需要轉(zhuǎn)換TCP/UDP頭即可實(shí)現(xiàn)穿越;但是很難支持P2P流媒體應(yīng)用, 其原因包括(l)NAT的特點(diǎn)決定了只能由NAT內(nèi)的主機(jī)主動(dòng)向NAT外部的主機(jī)發(fā)起連接, 外部的主機(jī)想直接和NAT內(nèi)的主機(jī)建立連接是不被允許的。這意味著當(dāng)外網(wǎng)主機(jī)想 向內(nèi)網(wǎng)主機(jī)請(qǐng)求媒體數(shù)據(jù)時(shí)將無法建立連接,因而,兩臺(tái)主機(jī)無法進(jìn)行數(shù)據(jù)交換。 (2) NAT端口映射分為靜態(tài)和動(dòng)態(tài)兩種靜態(tài)映射是靜態(tài)添加內(nèi)部(^^匿,廠〃&臟)和外部(仏o她r,廠〃o咖)的映射關(guān)系;動(dòng)態(tài)映射是為內(nèi)外網(wǎng)主機(jī)的每次會(huì)話都建立一次映射,但不保證每次相同的會(huì)話添加相同的映射。由于P2P 流媒體系統(tǒng)中通信節(jié)點(diǎn)進(jìn)行多媒體通信使用的通信端口是連接建立時(shí)雙方動(dòng)態(tài)協(xié)商 的,因此無論哪種映射添加方式,都無法滿足P2P流媒體應(yīng)用中多個(gè)對(duì)等節(jié)點(diǎn)間動(dòng) 態(tài)通信的需要。因此,P2P流媒體應(yīng)用必須要在一定程度上解決NAT穿越的問題,否則系統(tǒng)將 無法正常工作。傳統(tǒng)NAT根據(jù)端口映射方式可分為以下幾種典型類型全NAT(Full Cone);受 限NAT(Restricted Cone);端口受限NAT(Port Restricted Cone);對(duì)稱NAT(Symmetric NAT),其中前三種NAT又可統(tǒng)稱為錐形NAT (Cone NAT)。它們的主要差別在于對(duì) 通過NAT的數(shù)據(jù)報(bào)文的過濾規(guī)則不同。目前常用的NAT穿越方法有如下幾種(1) 基于隧道的穿越通過把需要穿越的數(shù)據(jù)流封裝在某種隧道中,從而繞過 NAT,這是基于隧道穿越的基本思想。隧道機(jī)制需要多媒體終端和服務(wù)器能夠支持 隧道,這是一個(gè)比較大的限制條件。(2) UPnP: UPnP是即插即用技術(shù)在網(wǎng)絡(luò)環(huán)境中的擴(kuò)展,它通過用戶控制點(diǎn)向 NAT設(shè)備發(fā)送控制信息添加端口映射實(shí)現(xiàn)NAT穿越。UPnP不需要對(duì)現(xiàn)有設(shè)備進(jìn)行 改造,但要求集成NAT功能的網(wǎng)關(guān)或路由器支持UPnP功能。目前大多數(shù)大型網(wǎng)關(guān) 都支持UPnP解決方案并且配置簡(jiǎn)單,因而大多數(shù)P2P應(yīng)用都采用UPnP技術(shù)解決 NAT穿越問題。但是不排除在部分網(wǎng)絡(luò)環(huán)境下網(wǎng)關(guān)不支持UPnP功能或該功能被管 理員關(guān)閉。(3) STUN: STUN采用另一種思路實(shí)現(xiàn)NAT穿越,內(nèi)網(wǎng)中的主機(jī)通過位于外網(wǎng) 的穿越服務(wù)器預(yù)先得到出口 NAT上的對(duì)外地址,然后在與其它節(jié)點(diǎn)通信時(shí)直接使用 該對(duì)外地址作為自己的通信地址,這樣就可以實(shí)現(xiàn)NAT穿越。STUN協(xié)議最大的優(yōu) 點(diǎn)是無需對(duì)現(xiàn)有NAT設(shè)備做任何改動(dòng),同時(shí)STUN方式可在多個(gè)NAT串聯(lián)的網(wǎng)絡(luò) 環(huán)境中使用。STUN的局限性在于不適合支持TCP連接的穿越,另外STUN協(xié)議也 不支持對(duì)稱NAT的穿越。另外,還有基于穿越代理、轉(zhuǎn)發(fā)服務(wù)器(TURN)以及應(yīng)用層網(wǎng)關(guān)(ALG)等多種NAT 穿越方法。目前,多數(shù)P2P流媒體系統(tǒng)僅采用單一的NAT穿越方法,由于每種方法都有其 局限性或限制條件,同時(shí),當(dāng)幾種方法互相結(jié)合使用時(shí),難以找到恰當(dāng)?shù)慕Y(jié)合點(diǎn)使 每種方法都能正常工作,因而不能保證穿越成功率。另外對(duì)稱NAT的穿越目前尚沒 有較高效的穿越方法,都要借助第三方穿越代理輔助進(jìn)行穿越或采用簡(jiǎn)單的端口遞 增猜測(cè)方法。媒體數(shù)據(jù)在經(jīng)過第三方代理轉(zhuǎn)發(fā)時(shí)增大了數(shù)據(jù)包的延遲和丟包的可能 性,同時(shí)也增大了系統(tǒng)部署開銷;而現(xiàn)在較為通用的端口遞增猜測(cè)方法只是經(jīng)驗(yàn)性 的在NAT已添加的映射端口號(hào)上加1作為NAT下次添加的端口映射的猜測(cè)結(jié)果。 這種方法在數(shù)理統(tǒng)計(jì)上不是最優(yōu)的,因?yàn)闆]有充分根據(jù)NAT添加端口映射的樣本值分析NAT行為。同時(shí)對(duì)于通信雙方都位于NAT后的情況,由于誰也不知道對(duì)方NAT 映射的公網(wǎng)IP地址和端口號(hào),造成雙方都無法主動(dòng)發(fā)起連接請(qǐng)求。針對(duì)這種情況目 前較多采用基于中繼服務(wù)器的穿越方式,但由于每個(gè)中繼服務(wù)器都有通信負(fù)載的上 限, 一旦內(nèi)網(wǎng)節(jié)點(diǎn)通信超過服務(wù)器負(fù)載上限,容易造成中繼服務(wù)器崩潰;同時(shí)由于 服務(wù)器的帶寬有限,高并發(fā)的網(wǎng)絡(luò)流量將會(huì)使服務(wù)器網(wǎng)絡(luò)擁塞造成丟包,形成通信 瓶頸。
    技術(shù)實(shí)現(xiàn)思路
    本專利技術(shù)的目的在于,為了解決上述問題,本專利技術(shù)突破了現(xiàn)有技術(shù)當(dāng)中慣有的單 一的穿越方法,提出了,該方 法將兩種穿越方法有效的結(jié)合起來,,保證NAT穿越的成功率;對(duì)于對(duì)稱NAT的穿 越,提出采用基于NAT添加端口映射的樣本值估計(jì)端口映射分布的方法(簡(jiǎn)稱端口 添加樣本估計(jì))進(jìn)行端口猜測(cè),以避免由于第三方代理轉(zhuǎn)發(fā)造成的缺陷和簡(jiǎn)單端口 遞增猜測(cè)方法的盲目性;對(duì)于P2P流媒體系統(tǒng)中通信雙方都位于NAT后的情況,提 出采用讓部分帶寬充裕位于外網(wǎng)的普通通信節(jié)點(diǎn)充當(dāng)輔助中繼節(jié)點(diǎn)的方法(簡(jiǎn)稱節(jié) 點(diǎn)中繼輔助)來緩解中繼服務(wù)器的壓力,從而有效消除系統(tǒng)通信瓶頸。為實(shí)現(xiàn)上述目的,本專利技術(shù)的一種基于UPnP和STUN技術(shù)相結(jié)合的NAT穿越方 法的步驟包括-(1) 加入P2P流媒體系統(tǒng)的用戶節(jié)點(diǎn)首先通過簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議SSDP在內(nèi)網(wǎng) 中廣播搜索UPnP設(shè)備的消息void Search(char* name, const char* type); 根據(jù)UPnP標(biāo)準(zhǔn)要求,name為WANIPConnection, type為service,表示搜索 UPnP服務(wù);(2) 如果搜索UPnP服務(wù)成功,則通過簡(jiǎn)單對(duì)象訪問協(xié)議SOAP向NAT網(wǎng)關(guān)的 控制URL發(fā)送添加端口映射的請(qǐng)求void InvokeCommand(char* name, char* args); 其中,name為向UPnP設(shè)備下達(dá)的控制命令A(yù)ddPortMapping, args為UPnP標(biāo) 準(zhǔn)要求的若干參數(shù),填加端口映射后用戶節(jié)點(diǎn)就可與外網(wǎng)節(jié)點(diǎn)建立連接進(jìn)行數(shù)據(jù)交 互,從而實(shí)現(xiàn)NAT穿越;(3) 如果搜索失敗,則用戶節(jié)點(diǎn)啟動(dòng)STUN功能模塊對(duì)NAT進(jìn)行二次穿越 void GetMapAddr(int& extIP, int& extPort, NatType& natType);其中,extIP和extPort為STUN穿越獲得的NAT外部IP和端口 , natType是在穿越過本文檔來自技高網(wǎng)
    ...

    【技術(shù)保護(hù)點(diǎn)】
    一種基于UPnP和STUN技術(shù)相結(jié)合的NAT穿越方法,其步驟包括:?。ǎ保┘尤耄校玻辛髅襟w系統(tǒng)的用戶節(jié)點(diǎn),首先通過簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議SSDP在內(nèi)網(wǎng)中廣播搜索UPnP設(shè)備的消息:?。觯铮椋洹。樱澹幔颍悖瑁ǎ悖瑁幔颉郏荩睿幔恚?,c onst?。悖瑁幔颉郏荩簦穑澹弧「鶕?jù)UPnP標(biāo)準(zhǔn)要求,name為“WANIPConnection”,type為“service”,表示搜索UPnP服務(wù);?。ǎ玻┤绻阉鳎眨校睿蟹?wù)成功,則通過簡(jiǎn)單對(duì)象訪問協(xié)議SOAP向N AT網(wǎng)關(guān)的控制URL發(fā)送添加端口映射的請(qǐng)求:?。觯铮椋洹。桑睿觯铮耄澹茫铮恚恚幔睿洌ǎ悖瑁幔颉郏荩睿幔恚?,char↑[*]args); 其中,name為向UPnP設(shè)備下達(dá)的控制命令AddPortMapping,args為UP nP標(biāo)準(zhǔn)要求的若干參數(shù),填加端口映射后用戶節(jié)點(diǎn)就可與外網(wǎng)節(jié)點(diǎn)建立連接進(jìn)行數(shù)據(jù)交互,從而實(shí)現(xiàn)NAT穿越; (3)如果搜索失敗,則用戶節(jié)點(diǎn)啟動(dòng)STUN功能模塊對(duì)NAT進(jìn)行二次穿越:?。觯铮椋洹。牵澹簦停幔穑粒洌洌颍ǎ椋睿簦Γ澹簦桑? ,int&extPort,NatType&natType); 其中,extIP和extPort為STUN穿越獲得的NAT外部IP和端口,natType是在穿越過程中判斷的NAT類型。...

    【技術(shù)特征摘要】
    1、一種基于UPnP和STUN技術(shù)相結(jié)合的NAT穿越方法,其步驟包括(1)加入P2P流媒體系統(tǒng)的用戶節(jié)點(diǎn),首先通過簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議SSDP在內(nèi)網(wǎng)中廣播搜索UPnP設(shè)備的消息void Search(char*name,const char*type);根據(jù)UPnP標(biāo)準(zhǔn)要求,name為“WANIPConnection”,type為“service”,表示搜索UPnP服務(wù);(2)如果搜索UPnP服務(wù)成功,則通過簡(jiǎn)單對(duì)象訪問協(xié)議SOAP向NAT網(wǎng)關(guān)的控制URL發(fā)送添加端口映射的請(qǐng)求void InvokeCommand(char*name,char*args);其中,name為向UPnP設(shè)備下達(dá)的控制命令A(yù)ddPortMapping,args為UPnP標(biāo)準(zhǔn)要求的若干參數(shù),填加端口映射后用戶節(jié)點(diǎn)就可與外網(wǎng)節(jié)點(diǎn)建立連接進(jìn)行數(shù)據(jù)交互,從而實(shí)現(xiàn)NAT穿越;(3)如果搜索失敗,則用戶節(jié)點(diǎn)啟動(dòng)STUN功能模塊對(duì)NAT進(jìn)行二次穿越void GetMapAddr(int&amp;extIP,int&amp;extPort,NatType&amp;natType);其中,extIP和extPort為STUN穿越獲得的NAT外部IP和端口,natType是在穿越過程中判斷的NAT類型。2、根據(jù)權(quán)利要求1所述基于UPnP和STUN技術(shù)相結(jié)合的NAT穿越方法,其特征在于,所述(3)步驟進(jìn)一步包括1) 如果NAT是錐形NAT,該用戶節(jié)點(diǎn)用得到的外部地址端口與其它節(jié)點(diǎn)通信,實(shí)現(xiàn)NAT穿越;2) 若NAT是對(duì)稱NAT,則該用戶節(jié)點(diǎn)采用端口添加樣本估計(jì)法實(shí)行對(duì)NAT穿越;所述端口添加樣本估計(jì)法,其步驟包括位于對(duì)稱NAT后的用戶節(jié)點(diǎn)向位于外網(wǎng)的STUN服務(wù)器依次發(fā)起三次連接,并通過服務(wù)器反饋得到三次連接添加的映射端口,設(shè)為《,尸2,尸3,根據(jù)這三個(gè)數(shù)的變化規(guī)律做如下處理2a)若《,尸2,尸3為等差數(shù)列,則對(duì)稱NAT添加端口映射為依次遞增等差數(shù)列的公差d ,位于對(duì)稱NAT后的用戶節(jié)點(diǎn)在原外部端口的基礎(chǔ)上遞增d作為自己新的外部通信端口,并填入數(shù)據(jù)交互的負(fù)載中,就可與其它節(jié)點(diǎn)進(jìn)行通信;2b)若《,g,g不是等差數(shù)列,則添加的端口映射是隨機(jī)的,用戶節(jié)點(diǎn)根據(jù)添...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:王勁林,任浩魯逸峰,蘇少煒,馮偵探
    申請(qǐng)(專利權(quán))人:中國科學(xué)院聲學(xué)研究所
    類型:發(fā)明
    國別省市:11[中國|北京]

    網(wǎng)友詢問留言 已有0條評(píng)論
    • 還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 无码熟妇人妻AV影音先锋| 精品无码国产自产拍在线观看蜜 | 无码人妻丰满熟妇区BBBBXXXX| 久热中文字幕无码视频| 亚洲日韩精品无码专区加勒比 | 无码一区二区三区中文字幕| 久久久久无码精品国产app| 亚洲日韩精品无码一区二区三区 | 精品一区二区三区无码视频 | 亚洲精品无码av片| 亚洲精品无码你懂的网站| 亚洲中文字幕无码一去台湾| 13小箩利洗澡无码视频网站免费| 中文字幕无码中文字幕有码| 中文成人无码精品久久久不卡| 亚洲中文字幕无码av在线| 亚洲VA中文字幕不卡无码| 日韩加勒比一本无码精品| 亚洲午夜无码久久| 亚洲av日韩av无码| 亚洲AV无码精品色午夜果冻不卡 | 日韩a级无码免费视频| 熟妇人妻无码中文字幕老熟妇| 久久亚洲AV无码精品色午夜| 高h纯肉无码视频在线观看| 亚洲av无码天堂一区二区三区| 无码午夜人妻一区二区不卡视频| 亚洲国产日产无码精品| 无码国产精品一区二区免费模式 | 久久精品亚洲中文字幕无码网站| 中文字幕无码视频专区| 亚洲日韩国产AV无码无码精品| 无码专区久久综合久中文字幕| 在线a亚洲v天堂网2019无码| 国产免费AV片无码永久免费| 国产成人无码aa精品一区 | 亚洲第一极品精品无码久久| 东京热加勒比无码少妇| 亚洲日韩av无码| 十八禁无码免费网站| 无码粉嫩小泬无套在线观看 |