1. Internet Control Message Protocol for the IPv6 特征

ICMPv6 Message 格式解析
- Type:表明消息的类型- 0~127 表示差错报文类型- 1:目的不可达错误(数据包无法被转发到目的节点或上层协议)
- 2:数据包过大错误(报文超过出接口的MTU)
- 3:时间超时错误
- 4:参数错误
 
- 128~255 表示消息报文类型- 128:回送请求报文(Request)
- 129:回送应答报文(Reply)
 
 
- 0~127 表示差错报文类型
- Code:表示此消息类型的细分类型
- Checksum:ICMPv6的校验和
3. ICMPv6 报文类型对应表
| Type | Code | 消息名 | 
|---|---|---|
| 1 | 0 | 没有路由到达目的地 | 
| 1 | 1 | 与目的地的通信由于管理被禁止 | 
| 1 | 2 | 超过了源地址的范围 | 
| 1 | 3 | 地址不可达 | 
| 1 | 4 | 端口不可达 | 
| 1 | 5 | 源地址的入口/出口策略失败 | 
| 1 | 6 | 拒绝路由到达目的地 | 
| 2 | 0 | 包太大 | 
| 3 | 0 | 传输过程中“hop-limit”超时 | 
| 3 | 1 | 分片重组超时 | 
| 4 | 0 | 参数错误 | 
| 4 | 1 | 错误的首部字段 | 
| 4 | 2 | 不可识别的Next Header类型 | 
| 4 | 3 | 不可识别的IPv6选项 | 
| 100 | x | 私有实验用 | 
| 101 | x | 私有实验用 | 
| 127 | x | ICMPv6差错报文扩展保留 | 
| 128 | 0 | 回显请求 | 
| 129 | 0 | 回显应答 | 
| 133 | x | 路由请求 | 
| 134 | x | 路由通告 | 
| 135 | x | 邻居请求 | 
| 136 | x | 邻居通告 | 
| 137 | x | 重定向 | 
| 143 | x | MLDv2 (Multicast Listener Report Message v2) | 
| 200 | x | 私有实验用 | 
| 201 | x | 私有实验用 | 
| 255 | x | ICMPv6消息报文扩展保留 | 
4. Path MTU 发现协议(PMTU)
可以动态发现整条传输路径上各链路的MTU值,减少由于重传带来的额外流量开销
- 在 IPv4 中,报文如果过大,必须要分片进行发送- 在每个节点发送报文之前,设备都会根据发送接口的最大传输单元 MTU 来对报文进行分片
 
- 在 IPv6 中,为了减少中间转发设备的处理压力,中间转发设备不对 IPv6 报文进行分片,报文的分片将在源节点进行- 当中间转发设备的接口收到一个报文后,如果发现报文长度比转发接口的 MTU 值大,则会将其丢弃
- 同时将转发接口的 MTU 值通过 ICMPv6 报文的 “Packet Too Big” 消息发给源端主机,告知源端口主机转发接口的 MTU,源端主机以该值重新发送 IPv6 报文
 
 
                         
                                

