IPv6基本包头字段解释如下:
Version:版本号,长度为4 bit。对于IPv6,该值为6。 Traffic Class:流类别,长度为8 bit。等同于IPv4中的ToS字段,表示IPv6数据包的类或优先级,主要应用于QoS。 Flow Label:流标签,长度为20 bit。IPv6中的新增字段,用于区分实时流量,不同的流标签+源地址可以唯一确定一条数据流,中间网络设备可以根据这些信息更加高效率的区分数据流。 Payload Length:有效载荷长度,长度为16 bit。有效载荷是指紧跟IPv6包头的数据包的其他部分(即扩展包头和上层协议数据单元)。 Next Header:下一个包头,长度为8 bit。该字段定义紧跟在IPv6包头后面的第一个扩展包头(如果存在)的类型,或者上层协议数据单元中的协议类型(类似于IPv4的Protocol字段)。 Hop Limit:跳数限制,长度为8 bit。该字段类似于IPv4中的Time to Live字段,它定义了IP数据包所能经过的最大跳数。每经过一个路由器,该数值减去1,当该字段的值为0时,数据包将被丢弃。 Source Address:源地址,长度为128 bit。表示发送方的地址。 Destination Address:目的地址,长度为128 bit。表示接收方的地址。
-
逐跳选项包头:主要用于为在传送路径上的每跳转发指定发送参数,传送路径上的每台中间节点都要读取并处理该字段。
-
目的选项包头:携带了一些只有目的节点才会处理的信息。
-
路由包头:IPv6源节点用来强制数据包经过特定的设备。
-
分段包头:当报文长度超过MTU(Maximum Transmission Unit,最大传输单元)时就需要将报文分段发送,而在IPv6中,分段发送使用的是分段包头。
-
认证包头(AH):该包头由IPsec使用,提供认证、数据完整性以及重放保护。
-
封装安全净载包头(ESP):该包头由IPsec使用,提供认证、数据完整性以及重放保护和IPv6数据包的保密。
ipv6地址分类:
单播地址(Unicast Address):
标识一个接口,目的地址为单播地址的报文会被送到被标识的接口。在IPv6中,一个接口拥有多个IPv6地址是非常常见的现象。除了全球单播地址、唯一本地地址、链路本地地址这三种地址之外,IPv6还有一些特殊单播地址的存在:
-
未指定地址:0:0:0:0:0:0:0:0/128 或者::/128。该地址作为某些报文的源地址,比如作为重复地址检测时发送的邻居请求报文(NS)的源地址,或者DHCPv6初始化过程中客户端所发送的请求报文的源地址。
-
环回地址:0:0:0:0:0:0:0:1/128 或者::1/128,与IPv4中的127.0.0.1作用相同,用于本地回环,发往::/1的数据包实际上就是发给本地,可用于本地协议栈环回测试。
组播地址(Multicast Address):
标识多个接口,目的地址为组播地址的报文会被送到被标识的所有接口。只有加入相应组播组的设备接口才会侦听发往该组播地址的报文。
IPv6组播地址标识多个接口,一般用于“一对多”的通信场景。
IPv6组播地址只可以作为IPv6报文的目的地址。
任播地址(Anycast Address):
任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。
任播地址标识一组网络接口(通常属于不同的节点)。任播地址可以作为IPv6报文的源地址,也可以作为目的地址。