ICMP协议、ping和traceroute的使用

时间:2022/05/06 来源:专业视听网

关键词: ICMP协议、ping、traceroute

ICMP (Internet控制消息协议)是两个广泛使用的应用程序ping和traceroute的基础。本文我们将回顾该协议,并深入研究ping和traceroute如何工作以及如何有效地使用它们。

ICMP不是TCP/IP中的必须协议。在几乎每个操作系统中,如果使用IP、ICMP是一个强制扩展。顾名思义,ICMP发送和接收与IP如何工作相关的控制消息。例如,如果将消息发送到不存在的IP地址,则ICMP将向源报告该地址不存在。如果一个包被发送到网络中的一个设备,而现有的路由结构无法到达该设备,ICMP将发送一条消息,指示无法到达该网络。它也可能建议使用新的路线。

ICMP消息很少消耗大量带宽。事实上,如果有大量带宽消耗,那通常是恶意软件攻击的缘故。不幸的是,一些应用程序和操作系统使用发现进程来查看网络上当前处于活动状态的设备。这类进程通常涉及对网络中每个可能的地址进行回音检查,以查看哪些设备响应。更好的发现程序仅回音检查潜在设备的列表,如那些使用特定应用程序(如电子邮件或协作产品)的设备。

最常见的ICMP响应类型是错误消息或可访问性消息。如果IP包的路由或目的地有问题,以下是一些可以返回的错误代码:

超出跳数:包经过太多的路由器,已被丢弃。

目的地不可到达,表示在无法到达:主机、网络或端口。

可达性信息:

回显请求和应答,通常称为ping。

重定向:当路由器知道发送方使用的更好路径时使用。

Windows 10如何报告ping响应?在我们的计算机上,在命令窗口中,输入了ping 8.8.8.8。回应是这样的:

8.8.8.8的回复:字节32时间27ms TTL=55

TTL(生存时间)是通常所称的跳数的初始名称。包经过的每个路由器都是一跳。从这四个回复,我们知道我们可以到达服务器,响应时间大约是27ms。此外,我们可能可以假设Windows的默认跳数设置为64。因为每个路由器减少1跳数,我们可以确定到服务器的路由包含7跳。我向我自己的路由器发送了一个ping,验证了Windows 10的默认跳数,响应是TTL = 64。本地路由器是零跳。

热门技术探讨更多>>

同类产品或技术文章列表更多>>