IPv6知识概述 - IPv6报文

时间:2024-05-20 10:04:22

IPv6知识概述 - IPv6报文

IPv6报文结构

IPv6数据报文由两个基本组成部分:IP报头和有效载荷。
IP报头包含很多字段,这些字段标识了发送方,接收方和传输协议,并定义许多其他参数。路由器根据这些信息转发数据报文到最终目的地。IP报文中的有效载荷就是发送方给接收方的信息。其结构如下图所示:
IPv6知识概述 - IPv6报文
其中各字段的含义如下:
1)IPv6报头(IPv6 Header)
每一个Ipv6数据报文都必须包含报头,其长度固定为40bytes。

2)扩展报头(Extension Headers)
IPv6扩展报头是跟在基本IPv6报头后面的可选报头。IPv6数据报文可以包含一个或多个扩展报头,也可以没有扩展报头。IPv6报头和扩展报头代替了IPv4报头及其选项,增强了IPv6的功能及其扩展性。

3)上层协议数据单元(Upper Layer Protocol Data Unit)
上层协议数据单元一般由上层协议报头和它的有效载荷构成,有效载荷可以时ICMPv6报文,TCP报文,UDP报文等。

IPv6报头结构

IPv6报头包含8个字段,总长度为40bytes,其报头格式如下图所示:
IPv6知识概述 - IPv6报文
其中各字段的含义如下所示:
1)版本(Version)
该字段规定了IP协议的版本,值为6,长度为4bits

2)通信流类别(Traffic Class)
该字段与IPv4中的服务类型功能类似,表示IPv6数据报文的类别或者优先级。该字段长度为8bits。

3)流标签(Flow Label)
与IPv4相比,该字段时新增的,用以标识该数据报文属于源节点与目的节点之间的一个特定数据报文序列,它需要由中间路由器进行特殊处理。该字段长度为20bits。

4)有效载荷长度(Payload Length)
该字段标识IPv6数据报文有效载荷的长度。有效载荷是指紧跟IPv6报头的数据报文的其他部分(即扩展报头和上层协议数据单元)。该字段长度为16bits,能表示的最大长度为65535bytes的有效载荷,若超过该值则会被置为0。

5)下一个报头(Next Header)
该字段定义紧跟在IPv6报头后面的第一个扩展报头的类型,或者上层协议数据单元中的协议类型。该字段长度为8bits。

6)跳限制(Hop Limit)
该字段类似于IPv4中的Time to Live字段,其定义了IP数据报文索恩能够经过的最大跳数。每经过一个路由器,该数值减1,当该字段的值为0时,数据报文将被丢弃。该字段长度为8bits。

7)源地址(Source Address)
表示发送方的地址,长度为128bits。

8)目的地址(Destination Address)
表示接收方的地址,长度为128bits。

IPv6扩展报头

IPv6扩展报头是跟在IPv6基本报头后面的可选报头。在IPv4的报头中包含了所有的选项,因此每个中间路由器都必须检查这些选项是否存在,如果存在,就必须处理它们。这种设计方法会降低路由器转发IPv4数据包的效率。为了解决这种矛盾,在IPv6中,相关选项被移到了扩展报头中。中间路由器就不需要处理每一个可能出现的选项(在IPv6中,每一个中间路由器必需处理唯一的扩展报头是逐跳选项扩展报头),这种处理式方提高了路由器处理数据包的速度,也提高了其转发性能。
常用的扩展头部有以下几个:

  • 逐跳选项报头(Hop-by-Hop Option Header)
  • 路由报头
  • 目的选项报头
  • 分段报头
  • 认证报头
  • 封装安全有效载荷报头