理解並取證:ipv6與ipv4在報文結構上的區別
為了更好的學習ipv6,應該首先來理解ipv6的報文結構,建議理解ipv6的報文結構時,採用「對比法」對照ipv4的報文結構,更形象的理解ipv6與ipv4報文結構的相同與差異。
如下圖12.6所示、ipv6的報文結構所示,展示了ipv6報文的體系結構。本小節將以分析ipv6首部報文中的每一字段的作用與意義作為目標。
n版本:標識ip報文的版本,其作用與ipv4的版本一樣。但是值為6。
n流量類別:指示ipv6資料流通訊類別或優先順序。功能類似於ipv4的服務型別(tos)字段。用於服務質量(qos)功能,長度為8位。
n流標籤
n載荷長度:16
位負載長度表示ipv6報文中負載的長度,而不是整個ipv6資料報文的長度。沒有包括整個ipv6報文中的主首部的長度。
n長度為8位。代替ipv4中的協議字段,因為ipv6提出了擴充套件首部的思想,該欄位就是指示下乙個擴充套件首部的標識,也就是ipv6資料報的下乙個首部。如果乙個ipv6報文沒有下乙個首部的引入,那麼該字段就和ipv4中的協議欄位的作用相同。指示使用的上層協議型別。
n跳數限制:該欄位8位長度。替代ipv4的ttl(生命期)字段,指示在路由器之間的**次數來限定ipv6報文的生命週期。每經過路由器一次**,該字段減1,減到0時就把這個包丟棄。
n與ipv4中的源ip位址作用一樣,只是用128位元進行表示。
n與ipv4中的目標ip位址作用一樣,只是用128位元進行表示。
ipv6的報文結構與ipv4的區別:
為了更好的理解ipv6報文結構,本小節將以對照ipv4與ipv6的報文結構圖12.6與圖12.7所示,理解ipv4與ipv6報文的區別。ipv6的報文結構做出了較大的改動,主要的變化如下所述:
n引入了多首部的概念:這 與ipv4單一報文首部包括所有欄位有很大區別。ipv6支援乙個主首部與多個擴充套件首部,這樣做的目的在於讓資料報文的結構更清晰,層次化更明顯,也可在ipv6的報文中存放更多的資訊。
nipv6改變了ipv4報文首部的部分欄位名稱與格式:ipv6的報文首部刪除了ipv4中定義的幾個字段,以減少ipv6首部的長度,達到提高效率的目的,只保留了資料**所必須的重要資訊在ipv6的主首部中。其它的字段被放到ipv6的擴充套件首部中。更具體的講:版本、源位址、目標位址三個欄位在ipv6沒有發生改變,其作用與名稱和ipv4一樣。ipv4的ttl欄位在ipv6報文中被重名為「跳數限制」字段;ipv4的「服務型別(tos)」欄位在ipv6中被重新命名為「流量類別」,被重新命名的兩個欄位的作用卻與ipv4相同。新增加了乙個「流標籤」字段,該字段的作用已在本章的12
.1.2小節做了說明。這裡不再重述。ipv6的報文刪除了ipv4中的「標識」、「標記」、「片偏移」字段,因為ipv6的主首部的長度是固定不變的值。有了擴充套件首部的原因,所以ipv6很少再出現分片的問題,所以上述的字段在ipv6中將顯得多餘,故將其從ipv6的首部報文中刪除。
nipv6與ipv4相較,ipv6取消了「首部校驗」字段:這也是因為ipv6擴充套件首部的出現,高層的協議與ipv6的主首部進行了分離。在ipv6的主首部中對高層協議的錯誤校驗將變得多餘,所以將其刪除,這將為網路中間裝置或者計算機節省了執行校驗的時間延遲,提高了**較率。
關於ipv6的擴充套件首部與資料分片的問題
ipv6
資料傳送所需要的公共資訊被放到首部報文中,而上層協議資訊、分片資料資訊等被放入到ipv6的擴充套件首部中,並且ipv6的主要首部是固定長度,這樣做可以保證網路的中間裝置(路由器)以最高的效率進行資料**。因為ipv4使用「選項」欄位來改變報文的長度,比如:資料驗證、分片等都被ipv4的選項欄位所包括,那麼路由器需要對這些選項欄位作特殊的處理,這就降低了資料**的效能。
比如在ipv4的環境中,如下圖12.8所示的資料傳遞分片所示:如果在ipv4的網路環境中傳遞資料,假設源主機需要傳送大小為3000位元組的資料,分別需要穿越mtu為1500、300、1500的網段,首先在第乙個mtu為1500的鏈路上將3000位元組的資料分成2個單位進行傳遞,每個單位大小為1500;然後路由器讓分片重新組合,並且在經過第二個mtu為300的鏈路上將3000位元組的資料分成10個單位,每個單位的大小為300;然後到達下乙個路由
器時,需要反覆的執行分片與重組,從某種意義上來講,這加重了網路中間裝置(路由器)的工作負荷。而ipv6則省去了這一繁鎖的過程,ipv6將分片的過程控制在源主機完成,中間網路裝置(路由器)不再執行分片與重組,這對於提高中間網路裝置(路由器)的工作效率很有幫助如下
圖12.8
所示。
注意:ipv6雖然將資料分片控制在源主機,但是對上層協議的申明與大的資料的拆分在ipv6中還是需要的。在ipv4中使用「選項」字段,來申明上層協議,如果有需要就對大的資料報文進行拆分。可見「選項」欄位在ipv4中的作用是非常重要的,但是ipv6報文結構中,卻去掉了該選項,那麼在ipv6中將使有什麼樣的技術來申明上層協議,以及對大的資料報文進行分片?
ipv6
的上層協議申明與資料分片都在擴充套件首部中完成,因為在主首部只包括必須的資訊,並且每乙個ipv6的主首部的結構都一樣。既然ipv6在擴充套件首部完成上層協議的申明與資料分片,那麼ipv6的擴充套件報文首部與主首部之間存在乙個什麼的關係,主首部又如何知道同乙個通訊會話的下乙個擴充套件首部是什麼?
上述的問題可以通過理解ipv6報文結構中的「下乙個首部」欄位來完成主首部與擴充套件首部的鏈結。如下圖12.9所示ipv6的主首部與擴充套件首部之間的關係所示:當某台ipv6的主機向另一台目標主機傳送ping資料時,在ipv6的主首部中是不會包含icmpv6的任何資料的,因為在主首部中只會包含必須的ipv6通訊字段,其它的全部在擴充套件首部中體現。但是在主首部中有乙個字段叫做「下乙個首部」並使用16進製制數申明下乙個首部的值,比如:3a就表示下乙個首部為icmpv6的資料,如果沒有ipv6的資料分片,「下乙個首部」 欄位將直接申明上層協議。如果存在資料分片,「下乙個首部」欄位將指示,擴充套件首部為「2c」表示下乙個首部是乙個資料分片,然後在資料分片的擴充套件首部中還會有乙個「下乙個首部」 字段,此時該字段的值為「3a」表示下乙個首部為icmpv6的資料。總而言之,如果沒有資料分片的存在,「下乙個首部」欄位將直接申明上層協議;如果有資料分片的存在,「下乙個首部」 字段申明為資料分片,然後再在資料分片的「下乙個首部」欄位中申明上層協議。
意注:一切理論層面的分析都將是空泛與枯燥的,將空泛的理論轉換為有理可依的取證的實驗,並有益於通過
ccna
的認證,完成工作需求是本書的宗旨,關於如何取證
ipv6
的主首部報文的過程如下所示。
IPV4與IPV6的區別
在windows 7以上系統中,在設定本地ip位址的時候經常會看到同事含有ipv4協議項與ipv6協議項,並不同於以往windows xp系統中僅有tcp ip協議項,不少朋友都覺得比較奇怪,詢問編輯ipv4與ipv6的區別,下面編輯就為大家權威的介紹下ipv4與ipv6有什麼區別。目前的全球網際網...
IPv4與IPv6之間的區別
ipv4和ipv6是是目前使用的兩種internet協議版本,ipv4和ipv6協議之間存在各種差異,包括它們的功能,但關鍵的一點是它生成的位址 位址空間 的數量的區別。下面我們就來具體的給大家介紹ipv4和ipv6協議之間的區別。1 位址長度 ipv4協議具有32位 4位元組 位址長度 ipv6協...
IPv6為啥無法相容IPv4
隨著 ietf 的大牛公開承認 ipv6 設計中的最大敗筆是沒有做到和 ipv4 的向下相容 國內一些所謂的先知先覺者又跳了出來,這一說法成為推銷自己產品和 理念 的又一手段甚至工具,提出了一些所謂的能夠和 ipv4 相容的 超越了 ietf 的ipv6 的下一代網際網路技術!相容包括向下相容和向上...