ipv6協議報文格式
阿新 • • 發佈:2019-02-17
一、ipv6的基本格式
ipv6報文格式從簡單性來看,比ipv4較簡單,而且ipv6的基本頭部的長度是固定的。相較與ipv4,ipv6去掉了一些頭部,把這些頭部全部弄到了後面的擴充套件投不中。ipv6的報文格式如下:
二、擴充套件首部格式:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------------------ | option type | opt data len |options data +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------------------ Option type: 8bit,標識選項型別;
Opt data len: 8bit 選項資料欄位的長度;
Option data:可變長度,依選項型別而不同的資料;
選項型別的最高兩個位元,指明當IPV6節點無法識別這個選項時的處理方式:
00: 跳過這個選項,繼續處理首部
01:丟棄這個包
10:丟棄這個包,並給源地址傳送一個“引數錯誤”的icmp,同時指標指向無法識別的選項型別
11:丟棄這個包,並且如果目的地址不是組播地址時,給源地址傳送一個引數錯誤的icmp,同時指標指向無法識別的選項型別
選項的第三個位元:
0:選項資料不會改變選路
1:選項資料可能改變選路
4、Hop-by-Hop選項頭部
用IPV6首部的”下一個首部“為0(0x00)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | next header | hdr ext len | |
| | . . . options .
. . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next header: 8bits, 緊跟在hop-by-hop選項首部後面的首部型別式
Hdr Ext len:8 bits hop-by-hop選項首部的長度,不包括開始的8個八位組
options: 可變長度,包含一個或多個TLV的選項
5、路由首部
next header = 43標識;用於IPV6源節點列出到目的節點的路徑中所應"訪問"的一個或多箇中間節點,格式如下: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | next header | Hdr Ext Len | Routing Type | Segments Left |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
. . . type-specific data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next header: 8bit 緊跟在路由首部後面的首部型別 Hdr Ext Len: 8bit 路由首部長度,不包括開始的8個八位組
Routing Type: 8bit 標識路由頭部型別
Segements left:8bit 到達目的節點前仍然應當訪問的中間節點數
type-specific data: 可變長度,格式由路由型別(routing type)來決定
6、分片首部
next header = 44標識;在ipv6中,只有源節點才可以分片,中間路由器不能分片,當傳送的資料包長度大於MTU時,就需要分片,分片首部的格式如下:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | next header | reserved | fragment offset | Res | m |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ next header: 8bit 同上
reserved : 3bit,保留
fragment offset: 13bit,分片偏移量。首部後面的資料相對於原包中可分片部分的開始位置處的偏移量
Res:2bit,保留,用0填充,接收時忽略
M flag:標識是否還有分片(1: 分片;0:最後一個分片)
Identification:32 bit,識別符號
例子如下圖:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | next header | hdr ext len | |
| | . . . options .
. . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ next header: 8bit 同上 Hdr Ext Len: 8bit 目的選項首部長度,不包括開始的8個八位組
options:可變長度。一個或多個TLV格式的選項
8、無下一個首部:
next header = 59 (0x3b)