理解並取證 IPv6與IPv4在報文結構上的區別

2021-09-03 06:17:37 字數 3408 閱讀 1055

理解並取證: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 的下一代網際網路技術!相容包括向下相容和向上...