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ù)保護(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)行二次穿越:?。觯铮椋洹。牵澹簦停幔穑粒洌洌颍ǎ椋睿簦Γ澹簦桑? ...
【技術(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&extIP,int&extPort,NatType&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[中國|北京]
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。