<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          連接IPv6和IPv4的NAT64

          作者: 時(shí)間:2008-10-24 來源:ednchina 收藏

            那些只運(yùn)行的主機(jī)在這幾年仍然可以用那些只在網(wǎng)絡(luò)上提供的服務(wù),,但是幾年后,堅(jiān)持想要和只運(yùn)行的網(wǎng)絡(luò)進(jìn)行聯(lián)系可能就會(huì)難上加難了。

          本文引用地址:http://www.ex-cimer.com/article/88964.htm

            互聯(lián)網(wǎng)工程小組(IETF)一直在思考使與未來之間進(jìn)行交流的方式。這樣一來,我們就不需要升級(jí)現(xiàn)有的設(shè)備了。為了使在明尼阿波利斯明年11月份舉行的IETF大會(huì)能夠取得更多的進(jìn)展,最近他們?cè)诿商乩麪柵e行了為期兩天的會(huì)議。

            而IETF所面臨的問題是,盡管IPv4與IPv6有某種家族相似性,但是二者之間還是有本質(zhì)區(qū)別的:IPv4使用的是32位地址,而IPv6使用的則是128位地址。那么你怎樣才能使你的僅有IPv4地址的系統(tǒng)與僅有IPv6地址的系統(tǒng)進(jìn)行交流呢?

                 

            其實(shí)很簡(jiǎn)單:你把數(shù)據(jù)包翻譯過來不就結(jié)了么?IETF幾年前就在實(shí)施一項(xiàng)名為SIIT(Stateless IP and ICMP Translation)的項(xiàng)目,目的就是實(shí)現(xiàn)IPv4向IPv6的過渡。但是,SIIT面臨的一個(gè)最大問題是:一一對(duì)應(yīng)問題。

            這就造成了兩方面的問題:將來不會(huì)有足夠的IPv4地址來使用(這就是我們吧IPv6放在首位的原因),所以在IPv6-to-IPv4這個(gè)問題上,必須是對(duì)個(gè)系統(tǒng)共用一個(gè)IPv4地址。這相對(duì)來說是比較容易實(shí)現(xiàn)的:只需實(shí)用SIIT,然后定期的對(duì)IPv4進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換。NAT- PT(Network Address Translation-Protocol Translation)使用的就是這項(xiàng)技術(shù),把SIIT協(xié)議轉(zhuǎn)換技術(shù)和IPv4網(wǎng)絡(luò)中動(dòng)態(tài)地址轉(zhuǎn)換技術(shù)(NAT)結(jié)合在一起,它利用了 SIIT技術(shù)的工作機(jī)制,同時(shí)又利用傳統(tǒng)的IPv4下的NAT技術(shù)來動(dòng)態(tài)地給訪問IPv4節(jié)點(diǎn)的IPv6節(jié)點(diǎn)分配IPv4地址,很好地解決了SIIT技術(shù)中全局IPv4地址池規(guī)模有限的問題。

            完美的系統(tǒng)應(yīng)該是對(duì)大部分網(wǎng)絡(luò)而言,你只需要簡(jiǎn)單的在IPv6和IPv4之間制定一些規(guī)則,網(wǎng)絡(luò)就能很好的工作。對(duì)某些協(xié)議,像FTP,VoIP,或者點(diǎn)對(duì)點(diǎn)應(yīng)用將會(huì)拒絕,因?yàn)楫?dāng)一個(gè)IPv6系統(tǒng)通告IPv4主機(jī)她的IPv6地址時(shí),IPv4主機(jī)將無法使用IPv6地址。歸根到底,欺騙DNS的方式并不是IETF推薦的方式,所以,最終被宣布成為歷史,不再推薦使用。

            我一直在參與NAT64的提案,其他諸如NAT6和SNAT-PT都與NAT-PT一樣存在不同程度的缺憾。舉例來說:如果主機(jī)實(shí)施的是 DNSSEC安全DNS協(xié)議,他顯然不會(huì)接受合成的IPv6地址虛假記錄。但是,主機(jī)可以修改在履行DNSSEC驗(yàn)證之后,創(chuàng)建自己的地址。

            從SIIT和NAT-PT規(guī)定到現(xiàn)在的十年時(shí)間里,IETF在NAT方面做了大量的工作,特別是在NAT設(shè)備如ICE,STUN和TURN和點(diǎn)對(duì)點(diǎn)的應(yīng)用等方面。他們大部分都可以被應(yīng)用在IPv6-to-IPv4 NATs和IPv6點(diǎn)對(duì)點(diǎn)應(yīng)用(如果不是NAT,他們必須要能夠繞過放過墻)。所以即使需要對(duì)IPv6主機(jī)做一些性能上的提升,就這一問題還是能達(dá)成一個(gè)合理的規(guī)范的。

            但是還有一個(gè)問題就是IPv4客戶端與IPv6服務(wù)器之間的對(duì)話。雖然轉(zhuǎn)換可以在很多相似的地方實(shí)施,但問題是:在低端不可能將128位的IPv6地址編碼城32位的IPv4地址去響應(yīng)一個(gè)虛假的DNS。在蒙特利爾會(huì)議上有相當(dāng)多的討論是關(guān)于是否有解決IPv4客戶端到IPv6服務(wù)器問題的其他方式?,F(xiàn)在,能運(yùn)行IPv6的服務(wù)器是也可以運(yùn)行IPv4的,但在因特網(wǎng)上還是有許多只運(yùn)行IPv4的服務(wù)器。但是,像美國(guó)軍方這樣的大用戶表示,他們將來有能力解決IPv4客戶端到IPv6主機(jī)之間的問題。

            這個(gè)問題我們遺留下來看能否做出一個(gè)折中的方案來解決兩邊的問題,要么盡快拿出一個(gè)IPv6-to-IPv4的方案要么就花一點(diǎn)時(shí)間來解決IPv4-to-IPv6的問題。

            另一個(gè)有趣的方法是Dual Stack Lite(不是拼寫錯(cuò)誤,是實(shí)際名稱)。它是基于這一觀點(diǎn)的:如果你在一個(gè)IPv6網(wǎng)絡(luò)上提供進(jìn)行過網(wǎng)絡(luò)轉(zhuǎn)換的IPv4隧道連接,無論(否則)只運(yùn)行 IPv6的主機(jī)或者是主機(jī)只能運(yùn)行IPv4的都可以連接目的地為IPv4的主機(jī)。DS-Lite的巧妙之處在于雖然通常IPv4的數(shù)據(jù)包被IPv6主機(jī)或者僅對(duì)IPv4服務(wù)的家庭路由器的轉(zhuǎn)發(fā)是通過隧道方式進(jìn)行的,但是ISP網(wǎng)絡(luò)處的網(wǎng)絡(luò)地址轉(zhuǎn)換盒子關(guān)心的只是來自IPv6的數(shù)據(jù)包,所以所有的主機(jī)都是用地址192.168.0.1是沒有問題的。有趣的是,這使得發(fā)生在這個(gè)網(wǎng)絡(luò)地址轉(zhuǎn)換盒的“運(yùn)營(yíng)商級(jí)的NAT ”(用DS -Lite的說法)幾乎是NAT64由轉(zhuǎn)換的。IETF已經(jīng)決定將像DS-Lite之類的方案標(biāo)準(zhǔn)化。

            最終,一個(gè)以IVI命名的解決方案更新了NAT-PT,SII T類之間映射某些IPv4和IPv6地址。(IVI在中國(guó)表示國(guó)際疫苗研究所)

           

            總的來說,那些只運(yùn)行IPv6的主機(jī)在這幾年仍然可以用那些只在IPv4網(wǎng)絡(luò)上提供的服務(wù),但是幾年后,IPv4堅(jiān)持想要和只運(yùn)行IPv6的網(wǎng)絡(luò)進(jìn)行聯(lián)系可能就會(huì)難上加難了。



          關(guān)鍵詞: IPv6 IPv4 NAT-PT

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();