Internet协议版本6(IPv6)标头详细解读

2021年3月24日13:58:44 发表评论 1,135 次浏览

先决条件:Internet协议版本6简介

IP版本6是Internet协议的新版本, 就复杂性和效率而言, 它比IP版本4更好。让我们看一下IP版本6的标头, 并了解它与IPv4标头的区别。

IP版本6标头格式:

Internet协议版本6(IPv6)标头1

版本(4位):指示包含位序列0110的Internet协议版本。

流量等级(8位):

流量类别字段指示IPv6数据包的类别或优先级, 类似于

服务领域

在IPv4数据包中。它可以帮助路由器根据数据包的优先级处理流量。如果路由器发生拥塞, 则优先级最低的数据包将被丢弃。

截至目前, 仅使用4位(其余位仍在研究中), 其中0到7分配给拥塞控制流量, 而8到15分配给非控制流量。

拥塞控制流量的优先级分配:

Internet协议版本6(IPv6)标头2

不受控制的数据流量主要用于音频/视频数据。因此, 我们将不受控制的数据流量赋予更高的优先级。

允许源节点设置优先级, 但是路由器可以更改优先级。因此, 目标不应期望与源节点设置的优先级相同。

流标签(20位):源使用"流标签"字段标记属于同一流的数据包, 以请求中间IPv6路由器进行特殊处理, 例如非默认服务质量或实时服务。为了区分流, 中间路由器可以使用数据包的源地址, 目的地址和流标签。在源和目标之间可能存在多个流, 因为许多进程可能同时运行。不支持流标签字段功能的路由器或主机, 对于默认路由器处理, 流标签字段设置为0。在设置流标签时, 也应由source指定流的生存期。

有效载荷长度(16位):它是一个16位(无符号整数)字段, 指示有效负载的总大小, 该大小告诉路由器有关特定数据包在其有效负载中包含的信息量。有效负载长度字段包括扩展头(如果有)和上层数据包。如果有效载荷长度大于65, 535字节(有效载荷最多可以使用16位指示65, 535字节), 则有效载荷长度字段将设置为0, 并且逐跳选项扩展中使用了巨型载荷选项标头。

下一个标题(8位):Next Header指示紧随IPv6头之后的扩展头的类型(如果存在)。而在某些情况下, 它指示包含在上层数据包中的协议, 例如TCP, UDP。

跳数限制(8位):跳数限制字段与IPv4数据包中的TTL相同。它指示允许传输IPv6数据包的最大中间节点数。每个转发包的节点的值都会减1, 如果值减为0, 则会丢弃包。这用于丢弃由于某些路由错误而陷入无限循环的包。

源地址(128位):源地址是数据包原始源的128位IPv6地址。

目的地址(128位):目标地址字段指示最终目标的IPv6地址(在大多数情况下)。所有中间节点都可以使用此信息来正确路由数据包。

扩展头:为了纠正局限性IPv4选项字段在IPversion 6中引入了扩展头。扩展头机制是IPv6体系结构中非常重要的部分。 IPv6固定标头的Next Header字段指向第一个扩展标头, 而该第一个扩展标头指向第二个扩展标头, 依此类推。

Internet协议版本6(IPv6)标头3

IPv6数据包可能包含零个, 一个或多个扩展头, 但是这些扩展头应按建议的顺序出现:

Internet协议版本6(IPv6)标头4

规则 :

逐跳选项标头(如果存在)应始终放在IPv6基本标头之后。

约定:

  1. 除目标标头外, 任何扩展标头最多只能出现一次, 因为目标标头在列表本身中两次出现。
  2. 如果在路由头之前存在目标头, 则将由路由头中指定的所有中间节点检查该目标头。
  3. 如果目标标头出现在上层的正上方, 那么它将仅由目标节点检查。

给定顺序, 所有扩展头应链接到IPv6数据包中, 并且每个扩展头均工作:

Internet协议版本6(IPv6)标头5

参考文献

:

https://www.ietf.org/rfc/rfc2460.txt

https://www.ietf.org/rfc/rfc3697.txt

https://www.cisco.com/en/US/technologies/tk648/tk872/technologies_white_paper0900aecd8054d37d.html

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: