IPv6协议规范
发布时间:2021-07-20 15:01:39作者:V小编阅读:0
IPv6 是个啥?
IPv6(Internet Protocol Version 6)是互联网协议的第六版,设计出来是为了取代 IPv4。相比 IPv4,它有几大升级:
1. 地址空间大得离谱
IPv6 把地址从 32 位升级到 128 位,意味着地址数量多到用不完!这不仅支持更多设备,还让地址自动配置更简单。它还改进了多播(组播)功能,新增了“任播地址”,可以把数据包发给一组节点里最近的那个。
2. 报文头更简洁
IPv6 把 IPv4 报文头里一些用不上的字段砍掉了,或者改成可选的,处理起来更快,带宽占用也更少。
3. 扩展和选项更灵活
选项的编码方式变了,方便转发,还能更轻松地加新功能。
4. 流标签
新增了一个 20 位的流标签,发送方可以用它标记一串数据包,让网络把它们当一个整体处理。
5. 安全功能
IPv6 内置了认证、数据完整性保护,还有可选的加密功能,安全性更强。
IPv6 报文头长啥样?
IPv6 的报文头固定 40 字节,结构简单明了:
版本(4 位):固定是 6,表示 IPv6。
流量类别(8 位):用来管理网络流量,方便区分服务或拥塞控制。
流标签(20 位):标记数据流,方便网络处理。
有效载荷长度(16 位):报文头后面的数据长度,单位是字节,包括扩展头。
下一个报文头(8 位):指明下一个头的类型(可能是扩展头或上层协议头)。
跳数限制(8 位):每个转发节点减 1,减到 0 就丢包(但目标节点不会因为这个丢包)。
源地址和目标地址:各 128 位,分别是发送方和接收方的地址。
扩展头是个啥?
IPv6 不用把所有信息塞进主报文头,可选信息放进扩展头,夹在 IPv6 报文头和上层协议头之间。常见的扩展头有:
1. 逐跳选项(Hop-by-Hop Options)
必须跟在 IPv6 报文头后,沿途每个节点都可以检查或处理(不过现在节点可以配置忽略它)。
2. 路由头(Routing Header)
让发送方指定数据包途经的中间节点,类似 IPv4 的源路由。
3. 分段头(Fragment Header)
用来把大包分成小片段,只有源节点能分段,路由器不掺和。
4. 目标选项(Destination Options)
只给目标节点看,包含一些额外信息。
5. 认证头(Authentication Header)
确保数据没被篡改。
6. 封装安全载荷(ESP)
提供加密和数据保护。
扩展头的顺序有推荐:IPv6 头 → 逐跳选项 → 目标选项(第一轮) → 路由头 → 分段头 → 认证头 → ESP → 目标选项(第二轮) → 上层协议头。
分段咋搞?
IPv6 跟 IPv4 不一样,分段只在源节点做,路由器不参与。如果数据包太大,源节点会用分段头把包切成小块,接收端再拼回去。每个分段包包含:
原始的 IPv6 报文头(改了载荷长度和下一个报文头字段)。
分段头,记录偏移量、是否最后一个片段、标识号。
实际的片段数据。
重组时,接收端按标识号、源地址、目标地址把片段拼回原样。如果 60 秒内拼不完整,就丢弃所有片段,并可能发 ICMP 超时错误。
流量类别和流标签干嘛用?
流量类别(8 位):帮网络管理流量,比如优先级或拥塞控制,具体用法看 RFC 2474 和 RFC 3168。
流标签(20 位):让发送方标记一串相关的数据包,网络可以优化处理,细节看 RFC 6437。
上层协议咋适配?
IPv6 地址变长了,上层协议(像 TCP、UDP)得调整校验和计算,包含 128 位地址。特别的:
UDP 默认必须算校验和,不能省。
ICMPv6 也得用伪报文头算校验和,保护数据不被篡改。
TCP 的 MSS(最大分段大小)得考虑 IPv6 报文头比 IPv4 大 20 字节。
数据包大小有啥要求?
最小链路 MTU:1280 字节,低于这个的链路得在更低层做分段。
建议 MTU:1500 字节或更大,方便隧道传输。
节点得能接收跟链路 MTU 一样大的包,建议支持重组后 1500 字节的包。
路径 MTU 发现(RFC 8201)强烈推荐,帮你找到路径上能支持的最大包大小。
安全咋整?
IPv6 跟 IPv4 差不多的安全问题:窃听、重放、伪造、删除、修改、中间人攻击、拒绝服务(DoS)。解决办法:
用 IPsec(RFC 4301)防窃听、篡改、中间人攻击。
传输层协议(像 TLS、SSH)也能保护应用层数据。
DoS 攻击没啥好办法,得靠其他机制。
IPv6 地址空间巨大,扫描地址难多了,隐私稍好,但地址暴露也可能更明显(RFC 7721)。
新扩展头和选项咋定义?
新扩展头不鼓励,除非现有扩展头真不行(RFC 6564)。
逐跳选项要慎用,节点可能忽略或丢弃。
推荐用目标选项头,兼容性更好。
新选项用 TLV(类型-长度-值)格式,类型字段高 2 位决定不识别时的动作(跳过、丢弃、发 ICMP 错误)。
跟 IPv4 比有啥不一样?
地址从 32 位到 128 位,数量多到炸。
报文头简化,选项放扩展头,处理更高效。
分段只在源节点做,路由器不掺和。
内置安全功能(IPsec)。
没有“生存时间”,改成“跳数限制”,不强制数据包生命周期。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
标题:IPv6协议规范
地址:http://www.vecloud.com.cn/article/314.html