首页 理论教育 ICMPv6协议详解

ICMPv6协议详解

时间:2023-06-30 理论教育 版权反馈
【摘要】:ICMPv6 是IPv6 的一个组成部分,在IPv6 中的作用和在IPv4 中类似,用于传递差错报文以及其他需要注意的信息。ICMPv6 报文通常被IPv6 层当作高层协议报文,如同TCP 或UDP。图2-4-4ICMPv6 协议的数据封装格式2.ICMPv6 报文的格式ICMPv6 报文的格式如图2-4-5 所示。某些ICMPv6 报文还使用代码字段的值来进一步描述不同的条件。表2-4-1部分不同类型值的ICMPv6 报文的描述3.ICMPv6 回显请求和回显应答报文的格式及实例若“类型”字段值为128 和129,则表明此为ICMPv6 回显请求和回显应答报文。

ICMPv6协议详解

ICMPv6 是IPv6 的一个组成部分,在IPv6 中的作用和在IPv4 中类似,用于传递差错报文以及其他需要注意的信息。ICMPv6 报文通常被IPv6 层当作高层协议报文,如同TCP 或UDP。

1.ICMPv6 协议数据的封装

ICMPv6 报文是封装在IPv6 数据报中的,当IPv6 首部的“下一个包头”字段值是“58”时,表明封装的数据是ICMPv6 数据。ICMP 协议的数据封装格式如图2-4-4 所示。

图2-4-4 ICMPv6 协议的数据封装格式

2.ICMPv6 报文的格式

ICMPv6 报文的格式如图2-4-5 所示。

图2-4-5 ICMPv6 报文的格式

ICMPv6 报文格式和IPv4 的ICMP 报文格式类似,所有ICMPv6 报文的前4 字节都是一样的,但是其他字节则互不相同。

“类型”字段可以有15 个不同的值,以描述特定类型的ICMPv6 报文。某些ICMPv6 报文还使用代码字段的值来进一步描述不同的条件。

部分不同类型值的ICMPv6 报文的描述见表2-4-1。

表2-4-1 部分不同类型值的ICMPv6 报文的描述

3.ICMPv6 回显请求和回显应答报文的格式及实例(www.xing528.com)

若“类型”字段值为128 和129,则表明此为ICMPv6 回显请求和回显应答报文。回显请求和回显应答报文的格式如图2-4-6 所示。

图2-4-6 ICMPv6 回显请求和回显应答报文的格式

Wireshark 抓包的回显请求报文和回显应答报文实例如图2-4-7、图2-4-8 所示,这两个报文只有类型不同,标识符、序号及选项数据都是一样的,因为这两个报文是一问一答的响应数据报对。

图2-4-7 ICMPv6 回显请求报文实例

4.ICMPv6 超时报文的格式及实例

在ICMPv6 报文中,若“类型”字段值为3,则表明此为超时报文。ICMPv6 超时报文的格式如图2-4-9 所示。

利用Wireshark 抓包的ICMPv6 超时报文如图2-4-10 所示,其“类型”字段值为“03”。

ICMPv6 超时报文的产生原理与IPv4 的ICMP 超时报文产生原理类似。当路由器收到TTL 值为1 的数据报时,会向源主机发送ICMPv6 超时报文,该报文的数据部分是收到的数据报的IPv6 首部及IPv6 数据部分,并且丢弃收到的数据报。

图2-4-8 ICMPv6 回显应答报文实例

图2-4-9 ICMPv6 超时报文的格式

Tracert 工具就是利用了这个原理,可以得到从源主机到目的主机途经的所有路由器的IP 地址。Tracert 工具运行的结果如图2-4-11 所示,显示了从源主机2001: da8:207:2::8855 到目的主机iptv.bupt.edu.cn 途经的路由器的IPv6 地址,从抓包结果可见每个路由器发回的ICMPv6 超时报文。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈