應(yīng)用

技術(shù)

物聯(lián)網(wǎng)世界 >> 物聯(lián)網(wǎng)新聞 >> 物聯(lián)網(wǎng)熱點(diǎn)新聞
企業(yè)注冊個人注冊登錄

大話IPv6的隧道技術(shù)

2018-12-18 09:34 企業(yè)網(wǎng)

導(dǎo)讀:IPv6最開始設(shè)計并沒有隧道技術(shù),但I(xiàn)Pv4實(shí)在應(yīng)用太普及了,IPv6的網(wǎng)絡(luò)改造不可能將IPv4的網(wǎng)絡(luò)棄之不用,這樣就要讓IPv4和IPv6兩種協(xié)議在同一個網(wǎng)絡(luò)中共存。


圖蟲創(chuàng)意

IPv6最開始設(shè)計并沒有隧道技術(shù),但I(xiàn)Pv4實(shí)在應(yīng)用太普及了,IPv6的網(wǎng)絡(luò)改造不可能將IPv4的網(wǎng)絡(luò)棄之不用,這樣就要讓IPv4和IPv6兩種協(xié)議在同一個網(wǎng)絡(luò)中共存。使用中,有些地方IPv6和IPv6之間,或者IPv4和IPv4之間的網(wǎng)絡(luò)是隔離的,就需要將經(jīng)過IPv4網(wǎng)絡(luò)的IPv6打通,將經(jīng)過IPv6網(wǎng)絡(luò)的IPv4打通,IPv6隧道技術(shù)應(yīng)運(yùn)而生。隧道技術(shù)絕對是一種為了網(wǎng)絡(luò)融合設(shè)立的標(biāo)準(zhǔn),本質(zhì)上就是報文頭的多層疊加,這樣極大地降低網(wǎng)絡(luò)轉(zhuǎn)發(fā)效率,因?yàn)橐蕴W(wǎng)報文的最大長度是固定的,報文頭長度占比越大,轉(zhuǎn)發(fā)效率越低。不管是IPv6-Over-IPv4還是IPv4-Over-IPv6,其報文內(nèi)容都要包含兩個報文頭,而且IPv6報文頭本來就長,IPv4若本身就是MPLS網(wǎng)絡(luò),報文頭的內(nèi)容就更多了。

IPv6隧道已有不少種,比如:基于MPLS網(wǎng)絡(luò)跑IPv6的6PE技術(shù);基于GRE的IPv6隧道技術(shù),其可以在IPv4的GRE隧道上承載IPv6數(shù)據(jù)報文;基于UNDP的IPv6隧道技術(shù),其解決了傳統(tǒng)NAT不能夠支持IPv6-over-IPv4數(shù)據(jù)包穿越的問題,這種技術(shù)將IPv6數(shù)據(jù)封裝在UDP載荷中穿越NAT,叫做Teredo隧道;還有用于簡化隧道配置的代理技術(shù),提供自動的配置手段;ISATAP隧道、手工隧道、IPv4兼容IPv6自動隧道等等,IPv6隧道形式多樣,之所以這么多種,主要還是為了適配現(xiàn)有的IPv4網(wǎng)絡(luò),IPv4網(wǎng)絡(luò)中GRE、MPLS、NAT等技術(shù)應(yīng)用普遍,IPv6需要能夠穿透這些網(wǎng)絡(luò)才能真正達(dá)到與IPv4共存。IPv6隧道技術(shù)儼然已經(jīng)成為IPv6技術(shù)的重要組成部分。

如今,全網(wǎng)開啟建設(shè)IPv6網(wǎng)絡(luò)的熱潮,絕大多數(shù)是在現(xiàn)有的IPv4網(wǎng)絡(luò)上改造,即保持原有的IPv4網(wǎng)絡(luò)應(yīng)用不變,再開通IPv6網(wǎng)絡(luò)以便支持IPv6用戶,兩大網(wǎng)絡(luò)技術(shù)共存到處都需要隧道技術(shù)。在這里我們不去具體講這些隧道,每種隧道的特點(diǎn)和實(shí)現(xiàn)方式在網(wǎng)絡(luò)上都能搜索得到,掌握起來也并不復(fù)雜,每臺網(wǎng)絡(luò)設(shè)備都會提供每種隧道如何使用和配置的指導(dǎo)。但是,如果真正想要用起來,必須要注意一些技術(shù)坑,避免掉進(jìn)去,走很多彎路。

MTU問題

隧道使用首先要考慮MTU問題,隧道的最大傳輸單元和分段:IPv6的MTU最小值為1280字節(jié),而經(jīng)過tunnel后又增加了IPv4的包頭使得數(shù)據(jù)包的MTU由1500減少到1480字節(jié)。帶有隧道封裝報文的報文頭要比正常報文長,一個報文在加封裝之前,還沒有超過最大以太幀長,加上MTU就可能超過了,這種處于邊界值的報文要處理好分片問題,否則就會因?yàn)閳笪拈L度問題而無法通過。隧道的MTU支持靜態(tài)指定和動態(tài)協(xié)商,我們可以將隧道的MTU改大一些,這樣避免出現(xiàn)加隧道后報文超過最大以太幀,要分片的問題,這樣處理得當(dāng)雖沒有問題,但轉(zhuǎn)發(fā)效率變低了。MTU加上了,也要考慮隧道鏈路上的其它設(shè)備是否支持,否則就會因?yàn)镸TU的大小設(shè)置差異,導(dǎo)致一些處于兩者之間的報文無法通過。有時這種情況還不容易排查,比如經(jīng)過隧道的BGP鄰居建立不起來,這就可能是BGP協(xié)議發(fā)送的長度不一的報文,有的無法通過所導(dǎo)致,這樣的問題分析起來找到MTU的原因并不容易,如果能提前做好設(shè)計規(guī)劃,就可以避免這點(diǎn)。

隧道鄰居建立問題

IPv6隧道有很多種,但是基本在一個網(wǎng)絡(luò)中只采用一種方式,而且一臺網(wǎng)絡(luò)設(shè)備也不支持同時配置兩種以上的隧道,至少兩個隧道之間的流量是無法互通的。所以,在隧道的類型選擇上,根據(jù)網(wǎng)絡(luò)需求最先要確定下來。隧道的建立非常簡單,只要隧道兩端的IP地址可達(dá),就可以建立起隧道。IPv6的隧道還不像VXLAN隧道那么豐富,不支持水平分割,所以多見的都是只有一個隧道,將處于獨(dú)立的兩部分網(wǎng)絡(luò)打通。既然只要可達(dá)就行,隧道兩端的IP地址可以二層互通,也可以三層互通,還可以在隧道經(jīng)過的鏈路上做各種的QoS。隧道類問題無外乎有無法建立、隧道震蕩、不通這三種問題,原因可能千奇百怪,因設(shè)備而異。表面上看隧道實(shí)現(xiàn)比較復(fù)雜,其實(shí)問題并不多,就將隧道外部轉(zhuǎn)發(fā)時,不看內(nèi)層即可,而看內(nèi)層轉(zhuǎn)發(fā)時,不關(guān)心外層就行,與IPv6其它技術(shù)相比,隧道技術(shù)表面上看起來嚇人,實(shí)際掌握起來并不復(fù)雜。

隧道安全

隧道要比普通的網(wǎng)絡(luò)轉(zhuǎn)發(fā)不安全,這是一定的,為何這樣講?是因?yàn)樗淼酪媾R內(nèi)外層兩方面疊加的安全威脅。如果IPv4地址被欺騙,任何人都可以向隧道內(nèi)想注入多少流量就注入多少流量,6over4還有可能受到地址欺騙攻擊,外部偽造的6over4包有可能侵入6over4域內(nèi)。由于隧道技術(shù)會在優(yōu)化過程中屏蔽掉有效載荷以及很多語音電話和FTP客戶端經(jīng)常使用的臨時端口,這將導(dǎo)致無法建立起有效的安全策略等問題。并且還可能導(dǎo)致網(wǎng)絡(luò)在連接時出現(xiàn)其它類型的潛在錯誤,按照邁克·莫里斯在《回歸思科子網(wǎng)》一文中所說的:“……次優(yōu)路由,最大傳輸單元的問題,以及硬件和軟件可擴(kuò)展性方面的風(fēng)險”都屬于可能出現(xiàn)的情況??傊?,隧道技術(shù)的安全問題將更加突出,對于那些特別關(guān)注網(wǎng)絡(luò)安全的數(shù)據(jù)中心,如何建立一條安全的隧道是一個長期研究的課題,現(xiàn)在還缺少專門針對隧道方面的安全防護(hù)技術(shù)。

IPv6隧道是打通IPv4網(wǎng)絡(luò)中的IPv6孤島,IPv6網(wǎng)絡(luò)中的IPv4孤島的必要技術(shù),經(jīng)過2018年全網(wǎng)大張旗鼓地建設(shè)以來,涉及IPv6隧道的應(yīng)用極小,絕大多數(shù)還是以開啟IPv4/IPv6雙棧為主要方式,隨著IPv6部署的深入化,有些局域網(wǎng)絡(luò)就可能涉及到隧道的應(yīng)用,到時就要認(rèn)真考慮本文所提到的問題。IPv6隧道雖然理論比較健全,但實(shí)際應(yīng)用案例卻很少,在實(shí)踐中也可能會遇到新的問題。在IPv6全網(wǎng)改造進(jìn)行的過程中,IPv6隧道作為一種應(yīng)用特性,必將在網(wǎng)絡(luò)改造中發(fā)揮重要作用。