狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

通過(guò)NAT穿透實(shí)現(xiàn)P2P文件分享與傳輸系統(tǒng)原理說(shuō)明

admin
2017年7月27日 9:44 本文熱度 7976

由于p2p網(wǎng)絡(luò)中使用udp報(bào)文,所以只介紹udp穿透。

1. NAT類型

  NAT(Network Address Translation, 網(wǎng)絡(luò)地址轉(zhuǎn)換),是指在IP包通過(guò)路由設(shè)備時(shí),修改其IP地址信息的技術(shù)。一般應(yīng)用是,通過(guò)將內(nèi)網(wǎng)地址轉(zhuǎn)換為公網(wǎng)地址,從而實(shí)現(xiàn)多臺(tái)主機(jī)使用一個(gè)IP地址訪問(wèn)互聯(lián)網(wǎng),在很多網(wǎng)絡(luò)環(huán)境中,均可見到。這項(xiàng)技術(shù)的好處我們暫且不談,對(duì)我們來(lái)說(shuō)它的“壞處”是顯而易見的,因?yàn)橹虚g存在了NAT,給我們的p2p網(wǎng)絡(luò)中主機(jī)之間的通信造成了不小的麻煩。下面開始先簡(jiǎn)單了解一下NAT的類型。(這里只做簡(jiǎn)單介紹,針對(duì)“一對(duì)多”的NAT映射。更加詳細(xì)、嚴(yán)謹(jǐn)?shù)恼f(shuō)明,請(qǐng)看Wikipedia和相關(guān)文檔 - RFC xxxx。)

  一般來(lái)說(shuō),可以把它分為“對(duì)稱型NAT”和“非對(duì)稱型NAT(也叫錐形NAT)”。所謂“對(duì)稱”,是指內(nèi)部地址與不同的外部地址進(jìn)行通信的時(shí)候,NAT為會(huì)話綁定不同的IP和端口。

  對(duì)于NAT可分為“不限型”、“IP受限型”和“IP-端口受限型”:

  • 不限:內(nèi)網(wǎng)主機(jī)Peer通過(guò)NAT訪問(wèn)外網(wǎng)Peer1:port1建立了會(huì)話,NAT為其分配了ip:port地址,則任何外網(wǎng)主機(jī)均可通過(guò)ip:port訪問(wèn)內(nèi)網(wǎng)主機(jī)Peer
  • IP受限:內(nèi)網(wǎng)主機(jī)Peer通過(guò)NAT與外網(wǎng)Peer1:port1建立了會(huì)話,NAT為其分配了ip:port地址,則只有Peer1可以通過(guò)ip:port訪問(wèn)內(nèi)網(wǎng)主機(jī)Peer
  • IP-Port受限:內(nèi)網(wǎng)主機(jī)Peer通過(guò)NAT與外網(wǎng)Peer1:port1建立了會(huì)話,NAT為其分配了ip:port地址,則只有Peer1,且從port1發(fā)出的會(huì)話,可以通過(guò)ip:port訪問(wèn)內(nèi)網(wǎng)主機(jī)Peer

     

  正確的判斷NAT類型,在p2p網(wǎng)絡(luò)中的NAT穿透中,是很重要的。NAT類型的判斷,是由Stun Server來(lái)實(shí)現(xiàn),據(jù)我所知,有現(xiàn)成的,也有開源項(xiàng)目,這里將不做介紹~

2. NAT 打洞

  通過(guò)以上NAT的特點(diǎn)可知,為了能訪問(wèn)位于受限NAT后面的內(nèi)網(wǎng)主機(jī)Peer,必須讓該內(nèi)網(wǎng)主機(jī)先主動(dòng)向自己發(fā)送會(huì)話。但是,如何通知內(nèi)網(wǎng)主機(jī)來(lái)做這件事呢?這就需要借助NAT Server來(lái)實(shí)現(xiàn)。NAT Server需要保持可以隨時(shí)向Peer發(fā)送命令的能力,首先就是NAT Server必須位于公網(wǎng)(-_-!),Peer定時(shí)向NAT Server發(fā)送心跳包。由之前的分析可知,NAT Server可以無(wú)障礙的向Peer發(fā)送各種指令。如果你對(duì)發(fā)送心跳包的間隔拿捏不定,不妨設(shè)置為10秒。

  下面是NAT Server的基本流程

       

  1) 外網(wǎng)主機(jī)向NAT Server發(fā)送打洞請(qǐng)求

  2) NAT Server向Peer發(fā)送打洞命令

  3) Peer向外網(wǎng)主機(jī)發(fā)送連接報(bào)文

  4) NAT為外網(wǎng)主機(jī)打開了訪問(wèn)內(nèi)網(wǎng)Peer的權(quán)限,打洞完成。

3. 其他

  根據(jù)以上的打洞技術(shù),可以在多種NAT情況下實(shí)現(xiàn)穿透,但對(duì)于部分情況,例如,兩個(gè)客戶端都處于受限型NAT后面,而其中又至少有一個(gè)處于對(duì)稱型NAT后面,這種技術(shù)就無(wú)能為力了,此時(shí)可以采用“地址-端口預(yù)測(cè)”的方法(據(jù)說(shuō)迅雷使用了這項(xiàng)技術(shù),據(jù)說(shuō)而已),所謂“端口預(yù)測(cè)”,是猜測(cè)NAT給內(nèi)網(wǎng)主機(jī)分配地址和端口的算法,比如這篇文章的第一幅圖里,ip1:port1和ip2:port2,ip1和ip2,port1和port2很可能在數(shù)值上相差不遠(yuǎn),比如可能是61.22.3.1:13304, 61.22.3.1:13305,這時(shí),通過(guò)多發(fā)幾個(gè)端口,就有可能實(shí)現(xiàn)打通。實(shí)在不行,就只能通過(guò)服務(wù)器中轉(zhuǎn)了。下面羅列一下在各種NAT情況之下,實(shí)現(xiàn)Peer和Peer1之間互聯(lián)的方法:

  我們把情況假設(shè)在p2p網(wǎng)絡(luò)中,Peer1向Peer索取數(shù)據(jù)

  


該文章在 2017/7/27 9:44:20 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved