IPv6協議的特性綜述
在網絡中,地址資源告急,這也就促使IPv6協議的使用。在很多文章中,我們都看到過相關的不少問題,但是不管再怎么樣,問題總會被解決,IPv6協議的推廣使用也是必然的趨勢。那么我們現在來看看IPv6協議所具備的特殊的性能。
1.擴展地址
IPv6協議的地址結構中除了把32位地址空間擴展到了128位外,還對IP主機可能獲得的不同類型地址作了一些調整。IPv6中取消了廣播地址而代之以任意點播地址。IPv4中用于指定一個網絡接口的單播地址和用于指定由一個或多個主機偵聽的組播地址基本不變。
2.簡化的包頭
IPv6中包括總長為40字節的8個字段(其中兩個是源地址和目的地址)。它與IPv4包頭的不同在于,IPv4中包含至少12個不同字段,且長度在沒有選項時為20字節,但在包含選項時可達60字節。IPv6使用了固定格式的包頭并減少了需要檢查和處理的字段的數量,這將使得選路的效率更高。
包頭的簡化使得IP的某些工作方式發生了變化。一方面,所有包頭長度統一,因此不再需要包頭長度字段。此外,通過修改包分段的規則可以在包頭中去掉一些字段。IPv6協議中的分段只能由源節點進行:該包所經過的中間路由器不能再進行任何分段。***,去掉IP頭校驗和不會影響可靠性,這主要是因為頭校驗和將由更高層協議(UDP和TCP)負責。
3.對擴展和選項支持的改進
在IPv4中可以在IP頭的尾部加入選項,與此不同,IPv6中把選項加在單獨的擴展頭中。通過這種方法,選項頭只有在必要的時候才需要檢查和處理。下面和第7章將對此有更多的討論。
為便于說明,考慮以下兩種不同類型的擴展部分:分段頭和選路頭。IPv6中的分段只發生在源節點上,因此需要考慮分段擴展頭的節點只有源節點和目的節點。源節點負責分段并創建擴展頭,該擴展頭將放在IPv6頭和下一個高層協議頭之間。目的節點接收該包并使用擴展頭進行重裝。所有中間節點都可以安全地忽略該分段擴展頭,這樣就提高了包選路的效率。
另一種選擇方案中,逐跳(hop-by-hop)選項擴展頭要求包的路徑上的每一個節點都處理該頭字段。這種情況下,每個路由器必須在處理IPv6協議的包頭的同時也處理逐跳選項。***個逐跳選項被定義用于超長IP包(巨型凈荷)。包含巨型凈荷的包需要受到特別對待,因為并不是所有鏈路都有能力處理那樣長的傳輸單元,且路由器希望盡量避免把它們發送到不能處理的網絡上。因此,這就需要在包經過的每個節點上都對選項進行檢查。
4.流
在IPv4中,對所有包大致同等對待,這意味著每個包都是由中間路由器按照自己的方式來處理的。路由器并不跟蹤任意兩臺主機間發送的包,因此不能“記住”如何對將來的包進行處理。IPv6協議實現了流概念,其定義如RFC1883中所述:流指的是從一個特定源發向一個特定(單播或者是組播)目的地的包序列,源點希望中間路由器對這些包進行特殊處理。
路由器需要對流進行跟蹤并保持一定的信息,這些信息在流中的每個包中都是不變的。
這種方法使路由器可以對流中的包進行高效處理。對流中的包的處理可以與其他包不同,但無論如何,對于它們的處理更快,因為路由器無需對每個包頭重新處理。