蔡廣平 鐘煒



摘要:闡述了幾種重要的基于翻譯的過渡技術,分析了其工作原理、技術特點、主要應用場景以及各技術的優缺點,同時探討了實際部署基于翻譯的IPv6過渡技術應考慮的相關問題。基于翻譯的IPv6過渡技術可以延長IPv4使用期限,實現IPv6和IPv4互聯互通,能夠最大限度地保護投資者利益,確保網絡平滑演進與過渡。選擇何種過渡方案涉及很多因素,需根據網絡特點等具體情況,選擇適合的過渡技術。
關鍵詞:IPv6過渡; 翻譯技術; 應用場景
Abstract: In this paper, we describe several important IPv6 transition technologies based on translation. We describe the working principle, technical characteristics, and advantages and limitations of each technique. We also discuss typical scenarios in which these techniques might be used. IPv6 transition technologies based on translation extend the lifetime of the IPv4 network and allow communication between IPv4 and IPv6. They protect network to the greatest possible extent, and ensure the smooth transition from IPv4 to IPv6. When choosing IPv6 transition technologies, many factors need to be taken into account. Transition technologies must be selected according to the networks individual characteristics.
Key words: IPv6 transition; translation technology; application scenarios
由于IPv4地址耗盡,2011年以來中國IPv4地址數量幾乎沒有新增,而三網融合、云計算和移動互聯網又需要大量的IP地址。通過發展IPv6來解決這一問題,業界早已達成共識,但是IPv6地址和IPv4地址并不兼容,運營商網絡、業務平臺、終端以及內容提供商網絡都無法在短期內全面支持IPv6,并且運營商網絡基礎不同,不同區域面臨的問題不盡相同,因此如何經濟、高效、平滑地過渡到IPv6是目前所面臨的難題。IPv6過渡技術方案眾多,但歸結起來主要有三大類:雙棧、隧道、翻譯。在向IPv6網絡演進初期,內容提供商和應用服務仍然以IPv4為主,如果新增用戶只采用IPv6地址,基于雙棧和隧道的過渡技術則不能解決IPv6用戶訪問IPv4 因特網的問題;若為新增用戶分配雙棧地址,又無法解決IPv4地址耗盡的問題;此外,由于全網均為雙棧僅為理論方案,因此在整個網絡向IPv6演進過程中,通過隧道或雙棧技術均無法實現IPv4和IPv6網絡的互訪互通,而基于翻譯的過渡技術可以解決此類關鍵問題。文章結合IPv6過渡技術開發與測試實際,探討基于翻譯的IPv6過渡關鍵技術,并分析各自特點,給出了典型部署,以及實際部署中應考慮的相關問題。
1 NAT444
NAT44是IPv4-IPv4的網絡地址轉換(NAT)技術,早在1994年已被提出(RFC1931)。當時NAT提出的背景是:在某一段時間內,一個局域網內只有少部分主機需要訪問外部網絡,大部分主機只需要訪問域內網絡,甚至有些主機從不訪問外部網絡。因此,在該局域網內可使用互聯網數字分配機構(IANA)預留的局部地址(RFC1918),此類地址在不同的局域網內可以重復使用。當域內某些主機需要訪問外部網絡時,通過NAT將局部地址轉換為全球唯一的全局地址,局域網只需要少量的全局地址。這些全局地址在不同的時刻可由域內不同的主機占用,極大地減少了對全局地址的占用,達到節省IPv4地址的目的。NAT44應用已非常普遍,是各類小型家用路由器的基本功能之一。
NAT444是指部署在運營商網絡內的NAT44設備,網絡模型如圖1所示。因特網服務提供商(ISP)網絡和用戶網絡均為IPv4網絡,服務提供商將IANA預留的局部地址分為兩類:用戶級局部地址和運營級局部地址。在用戶終端設備(CPE)和運營級設備各作一次NAT44,在用戶級將用戶級局部地址翻譯為運營級局部地址,在運營級再將運營級局部地址翻譯為全局公有地址。由于作了兩次NAT,因此把運營級NAT44稱之為NAT444,也稱為電信級NAT(CGN)或大規模NAT(LSN)。NAT444設備具有大容量、高性能的特點,可滿足高速數據吞吐需求;其機間或板間采用1:1或1:N安全備份,滿足電信級設備高可靠性要求;地址規劃與分配方式靈活多樣,用戶地址與端口號可預分配,與網管系統、AAA服務器、日志管理等配套可解決因引入NAT對用戶溯源、用戶行為分析等運維管理造成的影響。
NAT444主要優點為:
·NAT444實現了運營級IPv4地址復用與共享,可有效解決IPv4地址枯竭問題。
·用戶網絡和運營商接入網絡都可以保持現有IPv4網絡不變,只需在匯聚層或核心層增加NAT444設備即可,無需進行大規模設備替換,投資成本低、投資風險低。
·用戶和運營商網絡都為IPv4單棧,NAT444技術方案成熟,運維成本低。
·部署方式靈活,還可方便地和其他IPv6過渡技術配合使用,如IPv6快速部署(6RD)或雙棧。
因此NAT444不但適用于IPv6過渡初期,也可作為中長期演進方案。圖2給出了NAT444和6RD配合使用模型。圖3為NAT44和雙棧配合使用模型。
NAT444主要不足為:
·并未正真引入IPv6網絡,在過渡后期還需要進行設備更替。
·NAT破壞了IP網絡端對端通信的特點,對一些應用協議處理比較復雜。
·需對網管系統、行為分析系統等運維系統進行升級。
2 DS-LITE
雙棧指的是IPv4和IPv6協議棧,如果網絡節點支持雙棧,則該節點既可以處理IPv4分組,又可以處理IPv6分組。雙棧是理論上較完美的IPv6過渡方案,但實際中一方面全網雙棧是不現實的;另一方面對于新建網絡,若采用雙棧需同時占用IPv4和IPv6地址,并不能解決IPv4地址短缺的問題,若采用IPv6單棧,演進早期IPv6用戶無法訪問內容豐富的IPv4內容提供商網絡。輕量級雙棧(DS-LITE),旨在解決IPv4主機穿越運營商的純IPv6網絡(如接入網、匯聚網)訪問IPv4內容提供商網絡,以及通過IPv4-IPv4 NAT實現運營級IPv4地址復用,以解決IPv4地址匱乏問題[1]。
DS-LITE網絡模型如圖4所示,其中ISP 網絡為純IPv6網絡,用戶網絡中可能只有IPv4主機,也可能存在IPv6主機或雙棧主機(當雙棧主機用IPv6地址訪問網絡時可視為IPv6主機;反之可視為IPv4主機),為IPv4主機分配局部地址,對于IPv6主機地址分配和訪問IPv6網絡按照IPv6協議進行轉發與處理。B4(基于橋接的寬帶網關)和地址族過渡路由器(AFTR)是DS-LITE的兩個主要模塊,都支持雙棧。
B4是DS-LITE用戶接入模塊,存在于CPE或者直接駐留在終端設備中(如在無線應用場景中,無線終端不經CPE而直接接入ISP網絡),主要完成如下幾方面的功能:
·隧道建立,隧道封裝/解封裝
B4設備與AFTR之間建立多點對點的IPv4-in-IPv6(4in6)隧道,通過手動配置或DHCPv6等方式,B4可以獲取AFTR地址。對于來自IPv4主機的IPv4報文,B4完成隧道封裝;對于來自AFTR的4in6報文,B4完成隧道解封裝。
·分片和重組
封裝4in6隧道后報文長度可能會超過最大傳輸單元(MTU),通過路徑MTU發現協議(RFC1191)并不能可靠地解決這一問題。一種解決方法是增大B4與AFTR間鏈路的MTU值,另一種方法是采用分片與重組。B4需支持分片與重組,對于來自用戶的報文,封裝隧道后進行分片;對來自AFTR的4in6分片報文,在隧道解封裝前進行重組。
·DNS代理
運營商為B4僅分配IPv6地址,B4通過DHCPv6只能獲取到域名系統(DNS)服務器的IPv6地址,而不能獲取到IPv4地址,因此B4需要支持DNS代理,實現基于IPv4的DNS相關服務。
AFTR是ISP網絡中4in6隧道的匯聚點,主要可以完成如下幾方面的功能:
·隧道建立,隧道封裝/解封裝
AFTR與B4建立點對多點的IPv4-in-IPv6隧道,AFTR完成來自B4隧道報文的解封裝以及發往B4的IPv4報文的隧道封裝。
·分片和重組
與B4類似,AFTR需對來自B4的4in6分片報文先重組再解封裝;對發往B4的報文,封裝隧道后若超過MTU,需要進行分片。
·NAT44轉換
這是AFTR的主要功能,將IPv4局部地址轉換為IPv4全局地址,其轉換原理、轉換方式等與NAT44相同。但與NAT44不同的是:B4的IPv6地址(Softwire ID)也是NAT映射關系生成的主要因素之一,不同的B4下可以使用完全相同的IPv4局部地址。因此當兩個相同的IPv4局部地址所屬的Softwire ID不同時,所生成的NAT會話不同[2]。
DS-LITE 作為向IPv6演進的主要方案之一,主要優點為:
·剝離了ISP網絡、用戶網絡、因特網之間的耦合,ISP網絡發展IPv6網絡不受用戶網絡和因特網的影響,可獨立地直接演進到純IPv6網絡。
·為IPv4主機分配局部地址,不同B4下IPv4地址可完全相同,能夠有效解決IPv4地址短缺問題。
·用戶可以自主地決定是否采用IPv6網絡,并且當用戶過渡到IPv6時,對ISP網絡無額外要求。
·對于IPv6用戶直接按照IPv6協議處理,并且可以獲得更好的用戶體驗。
·4in6隧道可以在任意節點終結,AFTR部署靈活。
DS-LITE主要不足為:
·CPE等用戶接入設備需要更新升級,增加成本。
·因在AFTR需要做NAT44轉換,因此DS-LITE會繼承NAT44的一些不足。
·不能解決IPv6主機訪問IPv4網絡的問題。
3 NAT64
由于向IPv6網絡演進初期因特網仍然以IPv4為主,因此存在IPv6用戶無法訪問內容豐富的IPv4因特網問題。早在2000年因特網工程任務組(IETF)就提出IPv6-IPv4協議轉換的附帶協議轉換器的網絡地址轉換器(NAT-PT)技術(RFC2766),以解決這一問題。然而由于NAT-PT在實際應用中存在如與DNS耦合太緊等諸多缺陷,IETF于2007年廢棄了NAT-PT(RFC4966),不再推薦使用,為此IEFT又推出了NAT64[2]。
NAT64是一種IPv6-IPv4間的AFT,是一種有狀態的網絡地址和協議轉換技術,因此NAT64又稱為Stateful NAT64或Stateful AFT[3]。
NAT64模型如圖5所示,IPv6客戶端和IPv4 服務器分別位于純IPv6、純IPv4網絡中。NAT64 至少有一個接口與IPv6網絡相接,一個接口與IPv4網絡相接,且支持雙棧。DNS64是將域名解析的A(32 bits IPv4地址)查詢記錄翻譯成AAAA(128 bits IPv6地址)查詢記錄,供IPv6客戶端使用,其中由A到AAAA的地址翻譯格式由RFC6205規定。
NAT64和DNS64配合,可實現IPv6 客戶端訪問IPv4 服務器,具體流程為:
(1)IPv6 客戶端向DNS64發起某WWW地址(不妨稱為X)的AAAA域名查詢請求。
(2)DNS64查詢本地域名系統,若X對應的AAAA存在,則向IPv6 客戶端返回AAAA;若本地域名系統不存在,DNS64發起X的A域名查詢請求,獲得A域名后將A記錄轉換為AAAA記錄,然后將AAAA記錄返回給IPv6 主機。
(3)IPv6 客戶端獲得IPv4服務器對應的AAAA后,向IPv4 服務器發起建鏈請求,該建鏈報文的SIPv6為IPv6 客戶端的IPv6地址,DIPv6為AAAA記錄對應的IPv6地址,在IPv6網絡內該報文必須路由到NAT64。
(4)NAT64對建鏈報文進行IPv6-IPv4轉轉,其中DIPv4是從IPv6報文的DIPv6中通過約定格式解析獲取(RFC6205),SIPv4是按既定的NAT64規則從NAT64 IP池中獲取一個IPv4公網地址,此外也可對源端口號等作相應的轉換。
(5)IPv4 服務器響應IPv6 客戶端的請求。
(6)NAT64對來自IPv4 服務器的報文通過查詢IPv6-IPv4轉換狀態(NAT64會話)進行IPv4-IPv6轉換,將IPv4報文轉換為IPv6報文;若NAT64未查詢IPv6-IPv4轉換狀態,則丟棄報文。
由上述過程可見,對于IPv6 客戶端和IPv4 服務器感知不到NAT64是否存在以及報文是否作了NAT64,對于IPv6 客戶端訪問IPv4 服務器的方式與訪問位于純IPv6網絡的IPv6 服務器的方式完全一樣,因此NAT64對客戶端和服務器端都不可見。
一般情況下,在NAT64的應用場景中需IPv6主機首先向IPv4主機發起通信,如圖6所示。但通過設定NAT64靜態映射規則等方式,也可實現IPv4主機首先向IPv6主機發起通信[4-5]。
NAT64主要優點為:
·IPv6用戶可以訪問內容豐富的IPv4 因特網,實現IPv6和IPv4網絡的互通互訪。
·可以為新增用戶直接分配IPv6地址,無需占用已枯竭的IPv4地址,網絡業務發展不受限于IPv4地址的枯竭。
·IPv6用戶可直接訪問純IPv6的網絡服務和應用。
·運營商網絡可以只支持IPv6單棧,無需支持IPv4。
·通常只能由IPv6主機發起通信,安全性高。
NAT64主要不足為:
·運營商需要升級DNS,以支持A記錄與AAAA記錄間的翻譯。
·NAT64同NAT44一樣為有狀態翻譯,因此同樣會存在因翻譯帶來的不足。
4 IVI
IVI是另一種基于翻譯的過渡技術,羅馬數字用IV表示4,用VI表示6,因此用IVI表示IPv6-IPv4翻譯,或IPv4/IPv6融合與互聯互通。IVI同NAT64一樣,是IPv6和IPv4協議族間的轉換,但由于IVI通過事先設定的算法來實現IPv6-IPv4轉換,無需在轉換設備上維護IPv6-IPv4的映射關系,是種無狀態的翻譯技術,因此IVI也稱為無狀態地址族轉換(Stateless AFT)或被稱為無狀態NAT64(Stateless NAT64)[6]。
IVI的基本思想是:將IPv6主機地址在IPv4網絡中映射的IPv4地址內嵌在IPv6主機的IPv6地址中,IVI通過對IPv6主機的IPv6地址解析,就可以直接獲取到與之對應的IPv4地址,即IPv6主機地址必須是可以翻譯出IPv4地址的IPv6地址,因此運營商需為IPv6 主機分配特殊的IPv6地址,可通過手動配置或DHCPv6動態分配。IPv4主機在IPv6網絡中映射的IPv6地址必須包含IPv4主機地址,即必須是由IPv4主機地址轉換得到的IPv6地址,通常由IVI DNS完成IPv4主機地址到IPv6地址的轉換,IVI DNS工作原理與DNS64相同,完成A記錄和AAAA記錄的相互轉換。IPv6主機地址格式、IPv4主機映射成的IPv6地址格式均由RFC6205規定,這兩類地址的前綴必須使用運營商的路由前綴。
IVI主要應用場景如圖7所示,它支持IPv6本地網絡(IPv6 Network)訪問IPv4因特網(IPv4 Internet)、IPv4因特網訪問IPv6本地網絡、IPv6本地網絡訪問IPv4本地網絡、IPv4本地網絡訪問IPv6本地網絡。但對于IPv4本地網絡與IPv6本地網絡的互訪,通常需二者為同一運營商所管理。IVI支持IPv6主機發起的通信,也支持從IPv4主機發起的通信。
IVI的主要優點為:
·運營商可直接部署純IPv6網絡,有利于IPv6發展。
·可實現IPv6網絡與IPv4網絡的互通互訪問。
·IVI為無狀態翻譯,IPv6和IPv4主機都可以首先發起通信。
·通常只需翻譯IP層,無需修改傳輸層,實現簡單效率高,例如安全備份無需相互同步狀態等。
·部署性價比高于NAT64。
IVI主要不足為:
·IPv6主機地址與IPv4地址的映射為1:1(在其他文獻中有IVI通過端口復用等方式實現1:N,但實現比較復雜并未出現在RFC6219),IVI并不能解決IPv4地址枯竭問題。
·運營商需要升級DNS,以支持A記錄與AAAA記錄的翻譯。
·盡管為IVI為無狀態,但仍需ALG支持某些應用協議。
·安全性不及NAT64。
5 基于翻譯的過渡技術部署
CGN(在此將NAT444、DS-LITE、NAT64、IVI等基于翻譯的過渡技術都稱為CGN)設備形態按照與既有設備的關系可分為獨立式和插卡式兩類,獨立式是指CGN設備與現有設備(如寬帶遠程接入服務器(BRAS)或核心路由器(CR)等相互獨立,以旁掛于現有設備的方式部署;插卡式指現有設備提供空閑插槽,CGN設備以板卡形式與現有設備融合部署。按照部署層面不同,CGN部署分為集中式部署和分布式部署,集中式指CGN設備部署在網絡流量出口,如城域網核心層或移動分組域承載CE層;分布式指CGN設備部署在業務控制層,如BRAS。表1列出CGN設備的4種典型部署。
下面以NAT444部署為例,說明CGN部署對現網的影響,網絡拓撲如圖8所示。NAT444部署在城域網業務控制層,其中寬帶用戶接入BRAS節點采用插卡分布式部署,大客戶業務路由器(SR)節點采用獨立分布式部署,提供大流量的NAT轉換,并與AAA服務器、日志服務器等配套系統一起解決用戶溯源、單點認證、行為分析等問題,實現運營級NAT 服務。
對于SR旁掛NAT444獨立部署,用戶上行流經SR通過策略路由把需要NAT的流導入NAT444獨立設備,并作NAT后再次返回SR經CR接入骨干網;然后再返回下行流通過路由引導到NAT444。此外,該場景中插卡式和獨立式部署都采用1:1安全備份,獨立設備采用機間備份、插卡式采用板間備份,當主設備M出現故障,自動切換到備設備S。
AAA服務器從網管系統接收用戶地址映射關系信息,存儲在本地并維護各NAT444的用戶映射關系。網管系統對NAT444統一管理,如統一生成用戶地址映射關系表以及地址池,端口塊大小等參數信息,通過簡單網絡管理協議(SNMP)等協議下發配置信息到NAT444設備或AAA服務器。NAT444生成NAT日志,如每生成或老化一條NAT映射規則時則會產生一條日志信息,并及時上傳給日志服務器。日志服務器管理NAT日志信息,對日志信息分析統計,提供管理接口,響應用戶查詢日志信息。可見引入NAT需要對現網AAA服務器、網管系統等配套設備進行升級。此外,實際部署還需考慮安全管理、故障管理、性能需求以及機箱、線纜、環境等要素。
6 結束語
由于IPv4地址資源枯竭,過渡到IPv6 是網絡發展的必然趨勢。但是運營商網絡、業務平臺、終端以及內容提供商網絡都無法短期內全面支持IPv6,因此向IPv6過渡是長期的過程。基于翻譯的IPv6過渡技術可以延長IPv4使用期限、實現IPv6和IPv4互聯互通,最大限度地保護投資者利益,確保網絡平滑演進與過渡。此外,選擇何種過渡方案涉及很多因素,需根據網絡特點等具體情況,選擇適合的過渡技術。
參考文獻
[1] DURAND A, DROMS R, WOODYATT J. Dual-stack lite broadband deployments following IPv4 exhaustion[S] .IETF RFC 6333 .2011.
[2] 劉騰飛,秦雅娟,王利利. 代理移動IPv6下子網移動方案的實現與分析[J].重慶郵電學院學報(自然科學版), 2013 (3):372-378.
[3] BAGNULO M, MATTHEWS P,VAN BEIJNUM I. Stateful NAT64: Network address and protocol translation from IPv6 clients to IPv4 servers[S]. IETF RFC 6146.2011.
[4] 吳大鵬. IPv6的發展與現狀[J]. 數字通信,2010(2):16-19.
[5] 陳建軍, 邱偉, 黃孟俊, 趙宏鐘, 付強. 基于距離單元篩選的擴展目標檢測新方法[J].雷達科學與技術, 2012(3):294-300.
[6] LI X, BAO C,BAKER F. IP/ICMP translation algorithm[S]. IETF RFC 6145.2011.