- IPv6 教程
- IPv6 - 首页
- IPv6 - 概述
- IPv6 - 特性
- IPv6 - 地址模式
- IPv6 - 地址类型
- IPv6 - 特殊地址
- IPv6 - 首部
- IPv6 - 通信
- IPv6 - 子网划分
- IPv6 - IPv4 到 IPv6
- IPv6 - 移动性
- IPv6 - 路由
- IPv6 - 总结
- IPv6 有用资源
- IPv6 - 快速指南
- IPv6 - 有用资源
IPv6 - 首部
IPv6 的奇妙之处在于它的首部。IPv6 地址是 IPv4 地址的 4 倍,但令人惊讶的是,IPv6 地址的首部仅为 IPv4 地址首部的 2 倍。IPv6 首部包含一个固定首部和零个或多个可选(扩展)首部。路由器所需的所有必要信息都保存在固定首部中。扩展首部包含可选信息,帮助路由器了解如何处理数据包/流。
固定首部
IPv6 固定首部长度为 40 字节,包含以下信息。
序号 | 字段及描述 |
---|---|
1 | 版本 (4 位):表示互联网协议的版本,即 0110。 |
2 | 流量类 (8 位):这 8 位分为两部分。最高有效 6 位用于服务类型,让路由器知道应该为该数据包提供什么服务。最低有效 2 位用于显式拥塞通知 (ECN)。 |
3 | 流标签 (20 位):此标签用于维护属于通信的数据包的顺序流。源对序列进行标记以帮助路由器识别特定数据包属于特定信息流。此字段有助于避免数据包的重新排序。它专为流媒体/实时媒体而设计。 |
4 | 有效负载长度 (16 位):此字段用于告诉路由器特定数据包在其有效负载中包含多少信息。有效负载由扩展首部和上层数据组成。使用 16 位,最多可以指示 65535 字节;但如果扩展首部包含逐跳扩展首部,则有效负载可能超过 65535 字节,并且此字段设置为 0。 |
5 | 下一个首部 (8 位):此字段用于指示扩展首部的类型,或者如果不存在扩展首部,则指示上层 PDU。上层 PDU 类型的值与 IPv4 的相同。 |
6 | 跳数限制 (8 位):此字段用于阻止数据包在网络中无限循环。这与 IPv4 中的 TTL 相同。跳数限制字段的值在经过一个链路(路由器/跳跃)时递减 1。当字段达到 0 时,数据包将被丢弃。 |
7 | 源地址 (128 位):此字段指示数据包发源地的地址。 |
8 | 目的地址 (128 位):此字段提供数据包预期接收方的地址。 |
扩展首部
在 IPv6 中,固定首部仅包含必要的信息,避免那些不需要或很少使用的信息。所有此类信息都以扩展首部的形式放在固定首部和上层首部之间。每个扩展首部都由一个不同的值标识。
当使用扩展首部时,IPv6 固定首部的下一个首部字段指向第一个扩展首部。如果还有一个扩展首部,则第一个扩展首部的“下一个首部”字段指向第二个扩展首部,依此类推。最后一个扩展首部的“下一个首部”字段指向上层首部。因此,所有首部都以链接列表的方式指向下一个首部。
如果下一个首部字段包含值 59,则表示此首部之后没有其他首部,甚至没有上层首部。
根据 RFC 2460,必须支持以下扩展首部
扩展首部的顺序应为
这些首部
1. 应由第一个和后续目的地处理。
2. 应由最终目的地处理。
扩展首部以链接列表的方式一个接一个地排列,如下图所示