史上最全!IPv6過渡技術全解析
IPv6浪潮來臨
隨著移動網際網路、物聯網、工業4.0等新興產業迅速發展,接入網路的終端數量呈指數級增長,從傳統的PC、手機,到未來無處不在的物聯網終端,都需要通過IP地址接入網際網路,預計2020年,全球將有500億裝置線上,地址需求數量是IPv4地址總數的十倍以上。目前IPv4地址已經全部分配完畢,地址緊缺的問題十分嚴峻。
經過二十多年的發展,IPv6已經是一個非常成熟的技術。IPv6具有更多地址數量、更小路由表、更好安全性等優點,可以有效解決當前IPv4面臨的問題。
2017年11月26,中共中央辦公廳、國務院辦公廳聯合印發了《推進網際網路協議第六版(IPv6)規模部署的行動計劃》(下稱《行動計劃》)。《行動計劃》要求,用5到10年時間,形成下一代網際網路自主技術體系和產業生態,建成全球最大規模的IPv6商業應用網路,實現下一代網際網路在經濟社會各領域深度融合應用,成為全球下一代網際網路發展的重要主導力量,IPv6的浪潮真正來臨了。
IPv6過渡技術介紹
由於IPv6本身不相容IPv4,大規模部署IPv6還面臨不少挑戰。目前可行的辦法是使用過渡技術,將IPv4逐漸演進到IPv6,當前主要有三種主流的過渡技術:
1. 雙線技術
雙棧示意圖
雙棧技術,是指在終端各類應用系統、運營支撐系統和各網路節點之間同時執行IPv4和IPv6協議棧(兩者具有相同的硬體平臺),從而實現分別與IPv4或IPv6節點間的資訊互通。
具有IPv4/IPv6雙協議棧的結點稱為雙棧節點,這些結點既可以收發IPv4報文,也可以收發IPv6報文。它們可以使用IPv4與IPv4結點互通,也可以直接使用IPv6與IPv6結點互通。雙棧節點同時包含IPv4和IPv6的網路層,但傳輸層協議(如TCP和UDP)的使用仍然是單一的。
雙棧協議模型
雙棧節點可以執行以下三種模式,靈活啟用/關閉IPv4/IPv6功能:
- 使能它們的IPv4棧並關閉它們的IPv6棧,表現為IPv4節點。
- 使能它們的IPv6棧並關閉它們的IPv4棧,表現為IPv6節點。
- 使能雙棧,同時開啟IPv4和IPv6協議。
雙棧模式的工作原理可以簡單描述為:
- 若目的地址是一個IPv4地址,則使用IPv4地址;
- 若目的地址是一個IPv6地址,則使用IPv6地址。使用IPv6地址時有可能要進行封裝。
雙棧技術是所有過渡技術的基礎,支援靈活地啟用或關閉節點的IPv4/IPv6功能,可以很好地過渡到純IPv6的環境。但同時,要求所有節點都支援雙棧,增加了改造和部署難度。
2. 隧道技術
隧道技術示意圖
基於IPv4隧道來傳送IPv6資料報文的隧道技術,是將IPv6報文封裝在IPv4報文中,這樣IPv6協議包就可以穿越IPv4網路進行通訊。因此被孤立的IPv6網路之間可以通過IPv6的隧道技術利用現有的IPv4網路互相通訊而無需對現有的IPv4網路做任何修改和升級。IPv6隧道可以配置在邊界路由器之間也可以配置在邊界路由器和主機之間,但是隧道兩端的節點都必須既支援IPv4協議棧又支援IPv6協議棧。
IPv6資料報在IPv4中的封裝
IPv4/IPv6隧道技術的實現機制:
- 隧道入口節點(封裝路由器)創立一個用於封裝的IPv4報文頭,並傳送此被封裝的分組。
- 隧道出口節點(解封裝路由器)接收此被封裝的分組,如果需要重新組裝此分組,移去IPv4報文頭,並處理收到的IPv6分組。
- 封裝路由器或許需要為每個隧道記錄維持軟狀態資訊,這類引數諸如隧道MTU,以便處理轉發的IPv6分組進隧道。
隧道技術封裝示意圖
IPv6隧道技術分為手動隧道和自動隧道:
(1) 手動隧道:即邊界裝置不能自動獲得隧道終點的IPv4地址,需要手工配置隧道終點的IPv4地址,報文才能正確傳送至隧道終點,通常用於路由器到路由器之間的隧道,常用的手動隧道技術如下:
- IPv6 over IPv4手動隧道
- GRE隧道
(2) 自動隧道: 即邊界裝置可以自動獲得隧道終點的IPv4地址,所以不需要手工配置終點的IPv4地址,一般的做法是隧道的兩個介面的IPv6地址採用內嵌IPv4地址的特殊IPv6地址形式,這樣路由裝置可以從IPv6報文中的目的IPv6地址中提取出IPv4地址,自動隧道可用於主機到主機,或者主機到路由器之間,常用的自動隧道技術如下:
- 6to4
- ISATAP
- 6RD
通過隧道技術,依靠現有IPv4設施,只要求隧道兩端裝置支援雙棧,即可實現多個孤立IPv6網路的的互通,但是隧道實施配置比較複雜,也不支援IPv4主機和IPv6主機直接通訊。
地址協議轉換技術
地址轉換技術示意圖
1. NAT-PT轉換技術
NAT-PT(Network Address Translation-Protocol Translation,網路地址轉換-協議轉換):由SIIT(Stateless IP/ICMP Translation,無狀態翻譯技術)協議轉換技術和動態地址翻譯(NAT)技術結合和演進而來,SIIT提供IPv4和IPv6一對一的對映轉換,NAT-PT支援在SIIT基礎上實現多對一或多對多的地址轉換。
NAT-PT分為靜態和動態兩種形式:
(1) 靜態NAT-PT:
靜態模式提供一對一的IPv6地址和IPv4地址的對映。IPv6單協議網路域內的節點要訪問IPv4單協議網路域內的每一個IPv4地址,都必須在NAT-PT閘道器中配置。每一個目的IPv4在NAT-PT閘道器中被對映成一個具有預定義NAT-PT字首的IPv6地址。在這種模式下,每一個IPv6對映到IPv4地址需要一個源IPv4地址。靜態配置適合經常線上,或者需要提供穩定連線的主機。
(2) 動態NAT-PT:
在動態 NAT-PT中,NAT-PT閘道器向IPv6網路通告一個96位的地址字首,並結合主機32位IPv4地址作為對IPv4網路中主機的標識。從IPv6網路中的主機向IPv4網路傳送的報文,其目的地址字首與NAT-PT釋出的地址字首相同,這些報文都被路由到NAT-PT閘道器,由NAT-PT閘道器對報文頭進行修改,取出其中的IPv4地址資訊,替換目的地址。同時,NAT-PT閘道器定義了IPv4地址池,它從地址池中取出一個地址來替換IPv6報文的源地址,從而完成從IPv6地址到IPv4地址的轉換。動態NAT-PT支援多個IPv6地址對映為一個IPv4地址,節省了IPv4地址空間。
NAT-PT支援IPv4和IPv6兩種協議的相互翻譯和轉換,但是存在如下問題:
- 屬於同一會話的請求和響應都必須通過同一NAT-PT裝置才能進行轉換,比較適合單一出口裝置的環境;
- 不能轉換IPv4報文頭的可選項部分;
- 缺少端到端的安全性。
因此,NAT-PT逐漸被廢棄,不推薦使用,最新的地址協議轉換技術是NAT64。
2. NAT64轉換技術
NAT64是一種有狀態的網路地址與協議轉換技術,一般只支援通過IPv6網路側使用者發起連線訪問IPv4側網路資源。但NAT64也支援通過手工配置靜態對映關係,實現IPv4網路主動發起連線訪問IPv6網路。其中,NAT64執行IPv4-IPv6有狀態的地址和協議轉換,DNS64實現域名地址解析,兩者配合工作,不需要在IPv6客戶端或IPv4伺服器端做任何修改。
DNS64主要是將DNS查詢資訊中的A記錄(IPv4地址)合成到AAAA記錄(IPv6地址)中,返回合成的AAAA記錄使用者給IPv6側使用者。DNS64也解決了NAT-PT中的DNS-ALG存在的缺陷。
NAT64 和DNS64流程圖
NAT64和DNS64的流程如下:
- IPv6主機發起到DNS64 server的IPv6域名解析請求(主機配置的DNS地址是DNS64),解析域名為www.abc.com;
- DNS64觸發到DNS server中查詢IPv6地址;
- 若能查詢到則返回域名對應的IPv6地址,若查詢不到,則返回空;
- DNS64再次觸發到DNS server中查詢IPv4地址;
- DNS server返回www.abc.com的IPv4記錄(192.168.1.1);
- DNS64合成IPv6地址(64::FF9B::192.168.1.1),並返回給IPv6主機;
- IPv6主機發起目的地址為64::FF9B::192.168.1.1的IPv6資料包;由於NAT64在IPv6域內通告配置的IPv6 Prefix,因此這個資料包轉發到NAT64裝置上;
- NAT64執行地址轉換和協議轉換,目的地址轉換為192.168.1.1,源地址根據地址狀態轉換(3ffe:100:200:1::1)->(172.16.1.1);在IPv4域內路由到IPv4 server;
- IPv4資料包返回,目的地址為172.16.1.1;
- NAT64根據已有記錄進行轉換,目的地址轉換為3ffe:100:200:1::1,源地址為加了IPv6字首的IPv4 server地址64::FF9B::192.168.1.1,傳送到IPv6主機,流程結束。
地址協議轉換技術對現有IPv4環境做少量改造(通常是更換出口閘道器),即可實現對外支援IPv6訪問,部署簡單便捷。
3. 如何選擇?
業務系統對穩定性有很高的要求,任何改造都不能影響現有業務的執行。當我們做IPv6升級改造的時候,面對眾多技術方案如何選擇,需要考慮到諸多情況:
- 實施部署的便捷性,週期不能太長,如何保證在國家或監管機構的規定時間內完成全部業務平臺的改造,並對外提供IPv6服務;
- 方案須支援雙棧,對後續的演進發展到純IPv6沒有障礙;
- 要考慮投資成本和影響面,分步進行,優先完成對外系統改造(如入口網站),再進行內網系統改造;
- 對現有業務的影響最小,已有的IPv4訪問不受影響;
- 技術的通用性,不同廠商產品能夠實現對接支援;
- 不增加過多的運維負擔,對IPv6網路的維護工作可以平穩過渡。
4. 三種技術對比
每種過渡技術都有各自的優點和缺點,結合金融行業的應用場景和需求,在不同的場景下我們需要選擇不同的過渡技術以實現IPv6改造:
- 對於新建業務系統的場景,推薦採用雙棧技術,同時支援IPv4和IPv6,一步到位實現最優改造;
- 對於多個孤立IPv6網路互通的場景,如多個IPv6的資料中心區域互聯,可以採用隧道技術,讓IPv6資料封裝到IPv4網路上傳輸,減少部署的成本和壓力;
- 對於已經上線的業務系統,建議採用地址協議轉換技術,對現網的改動最小,可以快速部署,投資成本最低,可支援後期逐漸演進到純IPv6環境。