簡單分析IPv6硬件平臺的技術要求
隨著IPv4地址的枯竭,IPv6技術離我們原來越近,各種媒體對IPv6技術也進行了比較廣泛的介紹和報道,主流網絡設備供應商紛紛推出自己支持IPv6的產品,但同時也看到IPv6技術還遠遠沒有達到普及的程度,其實從IPv6技術本身來說,還有很多亟待解決的問題,特別是過渡到IPv6技術之后,IPv6硬件平臺有什么要求?從IPv6如何過渡到規模應用階段來說,尤其是在保護用戶投資方面,異常重要。
IPv6過渡期的技術特點
應該說,處于過渡期的IPv6技術最大特點莫過于不斷的升級,IPv4發展了幾十年,在路由協議、QoS、組播、報文頭擴展、狀態機備份、安全等方面還在不斷地完善中,相信IPv6在標準建設、協議棧開發方面還有巨大的工作要完成。因此,在相當長的一段時間內,IPv6將會面臨不斷升級完善的局面。為了兼容現有的IPv4技術,盡快地獲取生存空間,支持IPv6的網絡設備更多的要在雙棧環境下運行,“兼容性”大于“先進性”,在確保兼容性的前提下,如何在應用支持方面,能夠做到比IPv4更具優勢是過渡期IPv6開發的重點。
那么,如何更好地體現IPv6的技術優勢呢?對硬件平臺的要求應該是我們考慮的重點。一般而言,目前的硬件平臺主要是分為ASIC平臺和可編程硬件平臺(NP、FPGA等)。下面從幾個角度來分析一下這種不同,可以讓我們對IPv6技術有一個更為全面的認識。
軟件升級支持
針對處在過渡期的IPv6技術會不斷升級的特點,NP等可編程硬件顯然具備更強的優勢。NP對于硬件的技術優勢主要在于方便優化、升級,從而很容易增加新特性。由于IPv6網絡處于新生時期,協議、特性的更新是頻繁的,這就要求IPv6設備能較快的更新換代。從另一個角度,IPv6設計的一個宗旨是方便用戶應用層的擴展,因此NP可以根據用戶需求設計出實用的私有特性。而ASIC目前能夠做的只能是IPv6協議已經固化的轉發功能,無法做到支持擴展方面的功能,只能依靠設備中的CPU解決。這樣的后果是讓整個設備的轉發速率下降到一個無法接受的水平(幾百Kpps),并且會威脅到設備的穩定性。因此,從這個角度來說,選擇可編程的硬件平臺設備可以更好地保護用戶的投資。
路由表容量問題
IPv6采用128位地址,路由表占用空間在容量不變時要增大到原來的4倍,而ASIC中的硬件轉發的路由表存儲在ASIC專用的地址空間中,硬件地址表空間很有限,一般情況下也就在幾十K的水平,因此ASIC平臺在IPv6的環境中,如果保持IPv4一樣的地址表空間將會大大提高成本,因此IPv6硬件平臺在設計上需要盡量節省私有空間大小而提高路由表容量。在實際的應用環境中,在過渡期,設備往往運行在雙棧環境下,同時面臨IPv6和IPv4的路由表需求,因此對地址空間的要求將大于目前的純IPv4環境。
選項頭和擴展頭的支持
IPv6的選項頭更能遠遠強于IPv4的IP選項,對于擴展頭的處理也更加豐富。其中所有轉發結點都要處理路由擴展頭、逐跳選項頭和地址選項頭。逐跳選項與地址選項目的是為了支持特殊應用(如安全、管理)而預留的,中間結點需要根據某種策略來處理。目前RFC2460并未定義成熟而有意義的選項,其潛力尚未發揮。因此,當需要使用這些選項頭實現用戶特殊需求,或者IPv6協議有擴展升級的時候,只有NP等可編程硬件能很快適應這些變化并升級系統,而用ASIC實現則難以快速應對協議升級和市場需求變化。
報文轉發效率
IPv6協議的一個設計思想是減輕轉發的負擔,采用以下了幾個思路:
1、基本報文頭長度固定,沒有多余的頭部長度字段;
2、轉發結點并不計算校驗和;
3、中間結點不得分片。
相對于其它硬件平臺來說,ASIC平臺最大的優勢就在于“硬件”轉發,也就是說直接通過ASIC硬件查表實現數據的快速轉發。在轉發性能、轉發延遲方面,在IPv4的環境中ASIC平臺相對其它平臺有幾乎大一個甚至更多數量級的優勢,然而隨著IPv6的這些特點的產生,其它硬件平臺在IP報文頭上的開銷將大大減小,導致其它平臺和ASIC平臺之間的差距在縮小。
QoS的實施
作為從IPv4衍生而來的IPv6技術,并沒有改變IP技術的最本質特點面向無連接的網絡,因此IPv4所面臨的所有QoS問題,在IPv6中同樣存在。IPv6協議在IP Base(基本)和Extension(擴展)報頭中包含了少量特定于QoS的服務元素,包括流量類別(Traffic Class)和相應的流標簽(Flow Label)。由于報文頭的簡化,QoS處理和實施的效率會有所提高。但我們也應該看到,隨著IP網絡規模的增大和應用業務的日益復雜,IP網絡日益已經成為一個“補丁”網絡。至今為止在IPv4網絡中的QoS技術和標準還在不斷產生,而IPv6的QoS問題還根本沒有被廣泛提及,隊列機制、調度機制等標準的制定工作還處于初級階段。這些機制將牽涉到隊列的緩沖區、處理策略等等,IPv4環境下的ASIC的這些處理機制都是固化在芯片中,而在現有的環境下,用ASIC實現將來的IPv6的QoS策略顯然不現實,采用可編程硬件將是有效實現將來的QoS策略的唯一選擇。
過渡時期的策略
NAT-PT屬于一種IPv4到IPv6的過渡策略,目的是進行IPv4到IPv6報文頭部的轉換。由于轉換涉及到高層協議(如FTP)內部的IP地址等信息,必然需要面對完整的IP報文進行解析。因此NAT-PT結點在轉換報文前,首先需要將IPv6分片報文重組,會需要緩沖大量亂序報文并記錄超時。硬件實現時需要大量的空間和定時器。
另外,IPv6的ACLv6(訪問控制列表)也涉及到報文重組,ACLv6更強大的功能在于擴展頭地址的解析。ACLv6可以根據IPv6報文任意擴展頭的內容、傳輸層協議的標志等做為策略參數并做決策。強大的ACL特性是NAT-PT、IPsecv6、防攻擊設計、防火墻的重要基礎。NP等可編程硬件很容易以較低成本實現豐富的ACL特性。
在VPN的應用中,當轉發報文的出口為Tunnel(如GRE)時,處理會更復雜一些,需要根據Tunnel類型和特性對報文的重新封裝、嵌套、查路由表、分片等等,以適應復雜應用與組網。同時,對于類似GRE的Tunnel,用戶可以自定義豐富的附加屬性信息以滿足需求。NP相對于硬件比較容易的升級以處理豐富的Tunnel特性。
從以上的應用分析可以看出,NP等可編程硬件平臺更適合作為過渡時期的IPv6硬件平臺。