抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >


ICMP 协议

ICMP

RFC 792

ICMP: 网络控制消息协议,协议号 1, 是一个网络层协议.

用于在网络中传递差错和控制消息的协议.

ICMP 报文格式

ICMP 报文格式

TYPE: 类型,8bit, 表示 ICMP 消息类型.

Code: 值,8bit, 表示消息类型中的不同信息.

Checksum: 校验和,16bit, (只校验 ICMP 数据包).


Ethernet_II Header Type=0x0800 IP

IP Header Protocol=1 ICMP

差错检测

ICMP Echo Request (ICMP 请求消息)

Type 8 Code 0

ICMP Echo Reply (ICMP 回应消息)

Type 0 Code 0

使用 ICMP 协议设备会发送一个 ICMP Echo Request 消息,当对方设备收到该消息时,会回应一个 ICMP Echo Reply 消息,只要发送请求消息的设备收到了对应的 ICMP Echo Reply, 则认为网络可以通信.

ICMP 消息类型和编码类型

ICMP 消息类型和编码类型

不可达消息类型

Type=3 code=0 网络不可达

Type=3 code=1 主机不可达

Type=3 code=2 协议不可达

Type=3 code=3 端口不可达

ping 应用

>ping 192.168.1.6

正在 Ping 192.168.1.6 具有 32 字节的数据:
来自 192.168.1.6 的回复: 字节=32 时间=82ms TTL=248
来自 192.168.1.6 的回复: 字节=32 时间=49ms TTL=248
来自 192.168.1.6 的回复: 字节=32 时间=48ms TTL=248
来自 192.168.1.6 的回复: 字节=32 时间=283ms TTL=248

192.168.1.6 的 Ping 统计信息:
数据包: 已发送 = 4, 已接收 = 4, 丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 48ms, 最长 = 283ms, 平均 = 115ms

ICMP 重定向

数据包控制

ICMP 重定向是 ICMP 控制报文的一种,当网关设备从接口收到用户数据后,如果数据的出口与入接口相同,则网关设备会向用户发送一个 ICMP 重定向报文,用于通知用户将目的地址下一跳直接设置为最优路径,从而优化用户数据转发.

然而,需要注意的是,由于安全性和潜在的攻击风险,许多网络管理员会禁用或限制 ICMP 重定向消息的传输。这是因为恶意用户可能利用 ICMP 重定向来欺骗主机,导致数据包被发送到错误的路径上.

Tracert 应用

>tracert baidu.com

通过最多 30 个跃点跟踪
到 baidu.com [11x.xx.xx.66] 的路由:

1 6 ms 4 ms 2 ms H3C [192.168.20.1]
2 * * * 请求超时。
3 27 ms 3 ms 28 ms 22x.xx.xx.1
4 6 ms 9 ms 33 ms 11x.xx.xx.5
5 * * * 请求超时。
6 25 ms * 21 ms 22x.xx.xx.229
7 * * * 请求超时。
8 23 ms 28 ms * 22x.xx.xx.62
9 26 ms * * 21x.xx.xx.189
10 30 ms 26 ms * 21x.xx.xx.170
11 52 ms 34 ms 50 ms 11x.xx.xx.162
12 124 ms 45 ms 37 ms 22x.xx.xx.134
13 * * * 请求超时。
14 * * * 请求超时。
15 * * * 请求超时。
16 * * * 请求超时。
17 27 ms 26 ms 31 ms 11x.xx.xx.66

跟踪完成。

Tracert: 路径追踪,基于 ICMP 的另一种工具,可以显示报文到达目的地的路径,检测网络丢包以及时延的有效手段,同时可以帮助管理员发现网络中的环路.

基于 IP 报文头中的 TTL 字段来逐跳追踪报文的转发路径,并且返回数据报文达到目的主机的路径详细信息,显示每个路径所消耗的时间.

工作原理

    1. 源端设备将 TTL 值设置为 1, 该报文到达第一个节点后,TTL 超时,于是该节点向源端点发送一个 TTL 超时消息,该消息携带了该设备的 IP 地址和到达该设备使用的时间.
    1. 源端设备将 TTL 值设置为 2, 该报文到达第二个节点后,TTL 超时,于是该节点向源端点发送一个 TTL 超时消息,该消息携带了该设备的 IP 地址和到达该设备使用的时间.
    1. 反复此过程,直到报文到达目的地.

最后一个设备 应用层发数据时将 UDP 设置特别大目的端口值 到达目的地返回端口不可达.

推荐阅读
kafka的管理使用 kafka的管理使用 BFD协议原理与配置 BFD协议原理与配置 IP编址 IP编址 记一次仅在 IPv4 环境下访问 IPv6 网络的经历 记一次仅在 IPv4 环境下访问 IPv6 网络的经历 VRF 虚拟路由转发 VRF 虚拟路由转发 kafka的介绍 kafka的介绍

留言区

Are You A Robot?