IPv6封包由IPv6基本封包頭、IPv6擴充封包頭以及上層協定資料單元3部分組成。上層協定資料單元一般由上層協定封包頭和它的有效載荷構成,上層協定資料單元可以是一個ICMPv6封包、一個TCP封包或一個UDP封包。
1、IPv6基本封包頭
IPv6基本封包頭有8個字段,固定大小為40 Byte,每一個IPv6資料報都必須包含基本封包頭。基本封包頭提供封包轉發的基本資訊,由轉發路徑上的所有裝置解析。

IPv6基本封包頭主要字段的說明:
IPv4和IPv6的封包頭對比:
和IPv4相比, IPv6去除了分片、校驗和、選項等相關字段,隻增加了流标簽字段,簡化了 IPv6封包頭的處理,提高了處理效率。另外,IPv6為了更好支援各種選項處理,提出了擴充封包頭的概念,新增選項時不必修改現有結構就能做到,理論上可以無限擴充,在保持封包頭簡化的前提下,還具備了優異的靈活性。
2、IPv6擴充封包頭
在IPv4中,IPv4封包頭包含可選字段Options,内容涉及Security、Timestamp和Record Route等,這些Options可以将IPv4封包頭長度從20 Byte擴充到60Byte。在轉發過程中,處理攜帶這些Options的IPv4封包會占用裝置很多的資源,是以實際中也很少使用。
與IPv4不同, IPv6擴充封包頭長度不受40 Byte 的限制,這樣便于日後新增選項,這一特征加上選項的處理方式,使得 IPv6選項能被真正地使用。但是為了提高處理選項頭和傳輸層協定的性能,擴充封包頭總是8Byte 長度的整數倍。
IPv6擴充封包頭主要字段的說明:
3、IPv6擴充封包頭的排列順序
當超過一種擴充封包頭被用在同一個IPv6封包裡時,封包頭推薦按照下列順序出現:
- IPv6基本封包頭(IPv6 Header);
- 逐跳選項擴充封包頭(Hop-by-Hop Options Header);
- 目的選項擴充封包頭(Destination Options Header);
- 路由擴充封包頭(Routing Header);
- 分片擴充封包頭(Fragment Header);
- 認證擴充封包頭(Authentication Header);
- 封裝安全有效載荷擴充封包頭(Encapsulating Security Payload Header);
- 目的選項擴充封包頭(Destination Options Header,指那些将由IPv6封包的最終目的地處理的選項);
- 上層協定封包(Upper-Layer Header)
路由裝置根據基本封包頭中Next Header值來決定是否要處理擴充封包頭,并不是所有的擴充封包頭都需要被檢視和處理。除了目的選項擴充封包頭可能出現兩次(一次在路由擴充封包頭之前,另一次在上層協定封包之前),其餘擴充封包頭隻能出現一次。
- 逐跳選項擴充封包頭
逐跳選項擴充封包頭用來攜帶需要由轉發路徑上的每一跳路由器處理的資訊。它的Next Header協定号為0。一個逐跳選項擴充封包頭的Value區域是由一系列的Options區塊構成的,這讓它可以承載多份不同種類的資訊。
- 目的選項擴充封包頭
目的選項擴充封包頭用于攜帶需要由目前目的位址對應的節點處理的資訊。該節點可以是封包的最終目的地,也可以是源路由方案中的Endpoint節點。目的選項擴充封包頭的Next Header協定号為60,封包頭的格式及要求與逐跳選項擴充封包頭一緻。
- 路由擴充封包頭
路由擴充封包頭用來指明一個封包在網絡内需要依次經過的路徑點,用于源路由方案。封包發送者或網絡節點将路由擴充封包頭放入封包中,後續的網絡節點讀取路由擴充封包頭中的節點資訊,将封包依次轉發到指定的下一跳節點(Endpoint節點),并最終轉發到目的地。路由擴充封包頭可以使封包按照指定的轉發路線行進,而不使用預設的最短路徑。
- 分片擴充封包頭
- 認證擴充封包頭
- 封裝安全載荷擴充封包頭