久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

NAT穿透技術(shù)原理淺談 >>網(wǎng)絡(luò)協(xié)議 >>云安網(wǎng)

 逗咳嗽 2012-11-17

NAT穿透技術(shù)原理淺談

發(fā)布時(shí)間:2010-12-31 12:34文章來(lái)源:網(wǎng)絡(luò)文章作者:wildlee 點(diǎn)擊次數(shù): 577 次
摘要:NAT穿透技術(shù)原理淺談 原創(chuàng):wildlee 今天我們來(lái)看看NAT方面的技術(shù),,提起NAT技術(shù),,我們大家可能并不陌生,就真實(shí)的存在我們身邊,,只不過(guò)我們很少關(guān)注它.NAT是一種網(wǎng)絡(luò)地址翻譯技術(shù),, 將內(nèi)部私有IP地址改變成可以在公網(wǎng)上使用的:公網(wǎng)IP.其出現(xiàn)背景就是因?yàn)槲覀?..

NAT穿透技術(shù)原理淺談  原創(chuàng):wildlee

今天我們來(lái)看看NAT方面的技術(shù),提起NAT技術(shù),,我們大家可能并不陌生,就真實(shí)的存在我們身邊,,只不過(guò)我們很少關(guān)注它.NAT是一種網(wǎng)絡(luò)地址翻譯 技術(shù),,將內(nèi)部私有IP地址改變成可以在公網(wǎng)上使用的:公網(wǎng)IP.其出現(xiàn)背景就是因?yàn)槲覀儑?guó)家公網(wǎng)IP地址太少了不夠用,才使NAT技術(shù)興起.這里我就不具 體和大家細(xì)說(shuō)NAT是怎么轉(zhuǎn)換IP地址了,,技術(shù)原理不太難.NAT技術(shù)的使用從技術(shù)角度講是有利也有弊的.我們可以同時(shí)讓多個(gè)計(jì)算機(jī)同時(shí)聯(lián)網(wǎng),,同時(shí)也隱藏 了內(nèi)部地址,NAT對(duì)來(lái)自外部的數(shù)據(jù)查看其N(xiāo)AT映射記錄,,對(duì)沒(méi)有相應(yīng)記錄的數(shù)據(jù)包進(jìn)行拒絕,,無(wú)非提高了網(wǎng)絡(luò)的安全性.從另一個(gè)方面來(lái)看,NAT設(shè)備對(duì)數(shù)據(jù)包進(jìn)行編輯修改操作,,降低了發(fā)送數(shù)據(jù)的數(shù)率.由于技術(shù)的復(fù)雜性,,排錯(cuò)也變的困難了,我們?cè)趦?nèi)部對(duì)外發(fā)布一個(gè)服務(wù)器,,還得考慮這個(gè)端口映射問(wèn)題等.這也到罷了,,網(wǎng)絡(luò)盛行的今天,各種應(yīng)用不斷,,其協(xié)議應(yīng)用也各有不同,,有的根本無(wú)法通過(guò)NAT.這是最為頭疼的事.目前為了解決這些問(wèn)題,,已多現(xiàn)多種穿透技術(shù).一會(huì)我們細(xì)談.

 

NAT三種實(shí)現(xiàn)方式

靜態(tài)地址轉(zhuǎn)換:一個(gè)公網(wǎng)IP對(duì)應(yīng)一個(gè)內(nèi)部IP,一對(duì)一轉(zhuǎn)換

動(dòng)態(tài)地址轉(zhuǎn)換:N個(gè)公網(wǎng)IP對(duì)應(yīng)M個(gè)內(nèi)部Ip,不固定的一對(duì)一IP轉(zhuǎn)換關(guān)系.同一時(shí)間,有M-N個(gè)主機(jī)無(wú)法聯(lián)網(wǎng).

端口多路復(fù)用:對(duì)外只有一個(gè)公網(wǎng)IP,通過(guò)端口來(lái)區(qū)別不同內(nèi)部IP主機(jī)的數(shù)據(jù).

 

IP轉(zhuǎn)換策略

對(duì)于靜態(tài)與動(dòng)態(tài)地址轉(zhuǎn)換,;其數(shù)據(jù)包出站的時(shí)候,,進(jìn)行源地址轉(zhuǎn)換.我們稱(chēng)之為 SNAT[SOURCE ADDRESS].其內(nèi)部源IP變公網(wǎng)源IP.數(shù)據(jù)包入站的時(shí)候,進(jìn)行目標(biāo)地址轉(zhuǎn)換DNAT[DESTINATION ADDRESS],其外部公網(wǎng)宿IP變內(nèi)部宿IP.靜態(tài)與動(dòng)態(tài)不進(jìn)行端口轉(zhuǎn)換.而端口多路復(fù)用技術(shù).不但要轉(zhuǎn)換其IP地址,,還要進(jìn)行其傳輸層的端口轉(zhuǎn)換. 通過(guò)這唯一的端口號(hào)來(lái)區(qū)別不同的內(nèi)部數(shù)據(jù)[在通信過(guò)程中會(huì)建立一張內(nèi)部到外部映射表].我們稱(chēng)之NATP[NAT PORT]技術(shù).在我們家用網(wǎng)絡(luò)中,,大部分用的是端口多路復(fù)用技術(shù).在端口多路復(fù)用技術(shù)中,對(duì)數(shù)據(jù)的處理還分這么兩類(lèi):錐形NAT與對(duì)稱(chēng)型NAT.錐形NAT又分完全錐形NAT[FULL CONE]|受限錐形NAT[RESTRICTED CONE]|端口受限錐形NAT[PORT RESTRICTED CONE].

 

全完錐形NAT:將來(lái)自?xún)?nèi)部同一個(gè)IP地址同一個(gè)端口號(hào)的主機(jī)監(jiān)聽(tīng)/請(qǐng)求,,映射到公網(wǎng)IP某個(gè)端口的監(jiān)聽(tīng).任意外部IP地址與端口對(duì)其自己公網(wǎng)的IP這個(gè)映射后的端口訪問(wèn),,都將重新定位到內(nèi)部這個(gè)主機(jī).個(gè)人認(rèn)為在內(nèi)部發(fā)布服務(wù)器到外網(wǎng),此技術(shù)原理完全否合該技術(shù)原理,,當(dāng)然某些P2P中也可能利用該技術(shù).該技術(shù)中,,基于C/S架構(gòu)的應(yīng)用可以在任何一端發(fā)起連接.

 

受限錐形NAT:與完全 NAT不同的是,在公網(wǎng)映射端口后,,并不允許所有IP進(jìn)行對(duì)于該端口的訪問(wèn),,要想通信必需內(nèi)部主機(jī)對(duì)某個(gè)外部IP主機(jī)發(fā)起過(guò)連接,然后這個(gè)外部IP主機(jī)就 可以與該內(nèi)部主機(jī)通信了.但端口不做限制.如出站源IP為A端口為B,對(duì)于外部IP回復(fù),,宿IP為A宿端口可以是任意.NAPT設(shè)備都將成功轉(zhuǎn)發(fā)到內(nèi)部主 機(jī).NAPT設(shè)備根據(jù)映射記錄做出判斷.該技術(shù)中只能內(nèi)部主機(jī)先發(fā)起連接通信才可成功.

 

端口受限錐形NAT:該技術(shù)與受限錐形NAT相比更為嚴(yán)格.除具有受限錐形NAT特性.對(duì)于回復(fù)主機(jī)的源端口也有要求.哪我用端口B訪問(wèn)你,,對(duì)于外部主機(jī)的回復(fù)信宿端口也只能是B.否折通信失敗.該技術(shù)中只能內(nèi)部主機(jī)先發(fā)起連接通信才可成功.

 

對(duì)稱(chēng)型NAT:內(nèi)部主機(jī)用同一IP與同一端口與外部多IP通信.NAPT設(shè)備為每個(gè)會(huì)話轉(zhuǎn)換了不同的源端口.不在轉(zhuǎn)換成相同的源端口.對(duì)于回復(fù)的數(shù)據(jù)包,,只有信宿IP地址與端口完全吻合才可進(jìn)入.當(dāng)然源IP也是要檢測(cè)的,,不可能隨意外部IP都能進(jìn)入的.

 

NAT穿透技術(shù)

為何會(huì)出現(xiàn)NAT穿透技 術(shù)?我們知道在NAPT技術(shù)應(yīng)用中,,要想實(shí)現(xiàn)通信,,端口是必需的.IP地址修改是必需的.現(xiàn)在是殘酷的.FTP應(yīng)用協(xié)議分控制端口與數(shù)據(jù)端口,悲劇的是數(shù) 據(jù)端口不是固定的,,協(xié)商成功后告知對(duì)方數(shù)據(jù)端口內(nèi)容是承載于應(yīng)用層之中.NAT設(shè)備無(wú)法對(duì)其進(jìn)行分析,,做出相應(yīng)的映射,從而導(dǎo)致通信失?。甐PN協(xié)議中的 PPTP協(xié)議,,在數(shù)據(jù)連接中協(xié)議部分根本沒(méi)有端口這一概念.要NAT如何做出決策?ipsec安全協(xié)議本身就是保證數(shù)據(jù)的安全并認(rèn)證通信源而發(fā)明,,對(duì)其網(wǎng) 絡(luò)層進(jìn)行IP效驗(yàn),,對(duì)傳輸入層進(jìn)行加密,對(duì)數(shù)據(jù)進(jìn)行加密.對(duì)于NAT來(lái)說(shuō)讓其通信這更是無(wú)稽之談.當(dāng)然無(wú)法穿過(guò)NAT的還有很多,,如語(yǔ)音VOIP中的 H.323與SIP協(xié)議.為了能讓這些協(xié)議成功應(yīng)用,,出現(xiàn)了五花八門(mén)的穿透NAT技術(shù).其技術(shù)有UPNP技術(shù).ALG[應(yīng)用層網(wǎng)關(guān)識(shí)別技術(shù)]SBC[會(huì)話 邊界控制]ICE[交互式連接建立]MIDCOM[中間盒技術(shù)]TURN[中繼NAT穿越]STUN技術(shù).TCP/UDP hole punching[TCP/UDP打洞技術(shù)]NAT-T技術(shù)…總之很多,原理各不相同,,我也沒(méi)有時(shí)間一個(gè)一個(gè)學(xué)習(xí)和分析.在此說(shuō)幾個(gè)應(yīng)用比較多點(diǎn)的例子.

 

ALG技術(shù):傳統(tǒng)的 NAT技術(shù)只能檢測(cè)網(wǎng)絡(luò)層與傳輸層地址,,你FTP不是在應(yīng)用層傳送端口地址嗎,?所以ALG技術(shù)就是一種應(yīng)用層地址識(shí)別技術(shù),根據(jù)不同的協(xié)議進(jìn)行檢測(cè),,然后 將發(fā)現(xiàn)的地址時(shí)行修改并通知NAT做相應(yīng)的映射記錄,,從而實(shí)現(xiàn)成功通信.對(duì)于該技術(shù),對(duì)于互聯(lián)網(wǎng)每一種新的協(xié)議支持都要更新其設(shè)備要不無(wú)法識(shí)別.?dāng)U展性 差.對(duì)于個(gè)別協(xié)議該技術(shù)無(wú)法解決問(wèn)題,,如IPSEC協(xié)議.

 

STUN技術(shù):通過(guò)STUN協(xié)議與第三方服務(wù)器建立連接,,推測(cè)出客戶端的NAT類(lèi)型.進(jìn)而通信.RFC3489/STUN協(xié)議過(guò)程[摘自cr0_3百度空間].STUN協(xié)議定義了三類(lèi)測(cè)試過(guò)程來(lái)檢測(cè)NAT類(lèi)型,如下所述:

Test1:STUN Client通過(guò)端口{IP-c1:Port-c1}向STUN Server{IP-s1:Port-s1}發(fā)送一個(gè)Binding Request(沒(méi)有設(shè)置任何屬性),。STUN Server收到該請(qǐng)求后,,通過(guò)端口{IP-s1:Port-s1}把它所看到的STUN Client的IP和端口{IP-m1,Port-m1}作為Binding Response的內(nèi)容回送給STUN Client。

Test1#2:STUN Client通過(guò)端口{IP-c1:Port-c1}向STUN Server{IP-s2:Port-s2}發(fā)送一個(gè)Binding Request(沒(méi)有設(shè)置任何屬性),。STUN Server收到該請(qǐng)求后,,通過(guò)端口{IP-s2:Port-s2}把它所看到的STUN Client的IP和端口{IP-m1#2,Port-m1#2}作為Binding Response的內(nèi)容回送給STUN Client。

Test2:STUN Client通過(guò)端口{IP-c1:Port-c1}向STUN Server{IP-s1:Port-s1}發(fā)送一個(gè)Binding Request(設(shè)置了Change IP和Change Port屬性),。STUN Server收到該請(qǐng)求后,,通過(guò)端口{IP-s2:Port-s2}把它所看到的STUN Client的IP和端口{IP-m2,Port-m2}作為Binding Response的內(nèi)容回送給STUN Client。

Test3:STUN Client通過(guò)端口{IP-c1:Port-c1}向STUN Server{IP-s1:Port-s1}發(fā)送一個(gè)Binding Request(設(shè)置了Change Port屬性),。STUN Server收到該請(qǐng)求后,,通過(guò)端口{IP-s1:Port-s2}把它所看到的STUN Client的IP和端口{IP-m3,Port-m3}作為Binding Response的內(nèi)容回送給STUN Client。


NAT類(lèi)型檢測(cè)過(guò)程如下

1. 進(jìn)行Test1,。如果STUN Client不能夠收到STUN Server的應(yīng)答(重復(fù)多次確認(rèn)),,那么說(shuō)明該STUN Client是UDP Blocked類(lèi)型(也有可能是STUN Server不可到達(dá),這里不考慮這種情形),;否則,,STUN Client把返回的{IP-m1,Port-m1}和本地的{IP-c1:Port-c1}進(jìn)行比較(只需要比較IP即可),如果相同,,說(shuō)明本機(jī)直接連 接于公網(wǎng),否則本機(jī)位于NAT之后,,但還需要進(jìn)一步判斷具體類(lèi)型,。

1.1. 如果本機(jī)直接連接于公網(wǎng),進(jìn)行Test2,。如果STUN Client不能夠收到STUN Server的應(yīng)答(重復(fù)多次確認(rèn)),,那么說(shuō)明該STUN Client是Symmetric Firewall類(lèi)型;否則,,該STUN Client是Open Internet類(lèi)型,。

1.2. 如果本機(jī)位于NAT之后,進(jìn)行Test2,。如果STUN Client能夠收到STUN Server的應(yīng)答,,那么說(shuō)明該STUN Client是Full Cone NAT,;否則,需要進(jìn)一步進(jìn)行測(cè)試,。

1.2.1. 進(jìn)行Test1#2,。STUN Client比較IP-m1和IP-m1#2是否相同,如果不相同,,那么說(shuō)明該STUN Client是Symmetric NAT類(lèi)型,;否則,需要進(jìn)一步進(jìn)行測(cè)試,。

1.2.1.1 進(jìn)行Test3,。如果STUN Client能夠收到STUN Server的應(yīng)答,那么說(shuō)明該STUN Client是Restricted Cone NAT類(lèi)型,;否則,,該STUN Client是Port Restricted Cone NAT類(lèi)型。

 

該技術(shù)大部分是針對(duì)P2P應(yīng)用環(huán)境中.

NAT-T技術(shù):其思想就是在ESP隧道模式下,,在外IP包頭與ESP報(bào)頭中間加入8個(gè)字節(jié)的UDP報(bào)關(guān),,使其N(xiāo)AT成功映射.

IPSec提供了端到端的IP通信的安全性,但在NAT環(huán)境下對(duì)IPSec的支持有 限,,AH協(xié)議是肯定不能進(jìn)行NAT的了,,這和AH設(shè)計(jì)的理念是相違背的;ESP協(xié)議在NAT環(huán)境下最多只能有一個(gè)VPN主機(jī)能建立VPN通道,,無(wú)法實(shí)現(xiàn)多 臺(tái)機(jī)器同時(shí)在NAT環(huán)境下進(jìn)行ESP通信,。

 

NAT穿越(NAT Traversal,NAT-T)就是為解決這個(gè) 問(wèn)題而提出的,,RFC3947,,3948中定義,在RFC4306中也加入了NAT-T的說(shuō)明,,但并沒(méi)廢除RFC3947,,3948,只是不區(qū)分階段1和 階段2,。該方法將ESP協(xié)議包封裝到UDP包中(在原ESP協(xié)議的IP包頭外添加新的IP頭和UDP頭),,使之可以在NAT環(huán)境下使用的一種方法,這樣在 NAT的內(nèi)部網(wǎng)中可以有多個(gè)IPSec主機(jī)建立VPN通道進(jìn)行通信,。

 

 AH封裝:AH封裝的校驗(yàn)從IP頭開(kāi)始,,如果NAT將IP的頭部改動(dòng),AH的校驗(yàn)就會(huì)失敗,,因此我們得出結(jié)論,,AH是無(wú)法與NAT共存的。ESP 封裝的傳輸模式:對(duì)于NAT來(lái)說(shuō),ESP封裝比AH的優(yōu)勢(shì)在于,,無(wú)論是加密還是完整性的校驗(yàn),,IP頭部都沒(méi)有被包括進(jìn)去。但是還是有新的問(wèn)題,,對(duì)于ESP 的傳輸模式,,NAT 無(wú)法更新上層校驗(yàn)和。TCP 和 UDP 報(bào)頭包含一個(gè)校驗(yàn)和,,它整合了源和目標(biāo) IP 地址和端口號(hào)的值,。當(dāng) NAT 改變了某個(gè)包的 IP 地址和(或)端口號(hào)時(shí),它通常要更新 TCP 或 UDP 校驗(yàn)和,。當(dāng) TCP 或 UDP 校驗(yàn)和使用了 ESP 來(lái)加密時(shí),,它就無(wú)法更新這個(gè)校驗(yàn)和。由于地址或端口已經(jīng)被 NAT 更改,,目的地的校驗(yàn)和檢驗(yàn)就會(huì)失敗,。雖然 UDP 校驗(yàn)和是可選的,但是 TCP 校驗(yàn)和卻是必需的,。

 

  ESP封裝的隧道模式:從ESP隧道模式的封裝中,,我們可以發(fā)現(xiàn),ESP隧道模式將整個(gè)原始的IP包整個(gè)進(jìn)行了加密,,且在ESP的頭部外面新加了一層IP 頭部,,所以NAT如果只改變最前面的IP地址對(duì)后面受到保護(hù)的部分是不會(huì)有影響的。因此,,IPsec只有采用ESP的隧道模式來(lái)封裝數(shù)據(jù)時(shí)才能與NAT共 存,。ESP的傳輸模式,因?yàn)門(mén)CP部分被加密,,NAT無(wú)法對(duì)TCP校驗(yàn)和進(jìn)行修改,,不兼容。ESP的隧道模式,,由于NAT改動(dòng)外部的IP而不能改動(dòng)被加密 的原始IP,,使得只有這種情況下才能與NAT共存。

至于UDP打洞穿透技術(shù)請(qǐng)參看:http://www./2010_02_152.html

其它技術(shù)就不說(shuō)了,,看不過(guò)來(lái)了東西太多了.文中有兩個(gè)細(xì)節(jié)部分感覺(jué)寫(xiě)的非常好,,我就沒(méi)有自己在去寫(xiě)拿來(lái)用了.也不知道原作者是誰(shuí)對(duì)不住了.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多