首页
学习
活动
专区
工具
TVP
发布
技术百科首页 >ICMP >跟踪路由(Traceroute)是如何使用ICMP报文的?

跟踪路由(Traceroute)是如何使用ICMP报文的?

词条归属:ICMP

跟踪路由(Traceroute)是一种常用的网络诊断工具,用于跟踪数据包从源主机到目的主机的路由路径,并测量每个路由器的响应时间。Traceroute使用ICMP(Internet Control Message Protocol)协议发送一系列的ICMP报文,不断地增加TTL(Time To Live)的值,以便逐步跟踪数据包经过的路由器,并记录下每个路由器的IP地址和响应时间等信息。

Traceroute命令通常使用以下步骤进行操作:

发送第一个ICMP报文

Traceroute命令向目标主机发送一个ICMP Echo Request报文,并将TTL设置为1,使得数据包只能到达第一跳路由器。第一跳路由器将收到ICMP Echo Request报文,并将TTL减1,如果TTL变成了0,路由器就会返回一个ICMP Time Exceeded报文,表示数据包已经超时。

发送第二个ICMP报文

Traceroute命令再次向目标主机发送一个ICMP Echo Request报文,并将TTL设置为2,使得数据包能够到达第二跳路由器。第二跳路由器将收到ICMP Echo Request报文,并将TTL减1,如果TTL变成了0,路由器就会返回一个ICMP Time Exceeded报文。

重复以上过程

Traceroute命令不断地增加TTL的值,向目标主机发送ICMP报文,并记录下每个路由器的IP地址和响应时间等信息,直到数据包到达目标主机为止。

显示跟踪结果

Traceroute命令将跟踪结果显示在屏幕上,包括每个路由器的IP地址和响应时间等信息,以及数据包从源主机到目的主机的路由路径。

相关文章
TCP/IP之ICMP协议差错报告报文(5种)网络探询报文(2组)例外情况ICMP报文封装到IP数据报中传输ICMP的应用举例: Traceroute
在互联网传输过程中,IP数据报难免会出现差错,通常出现差错,处理方法就是丢弃,但是一般,出现差错后,会发送ICMP报文给主机,告诉它一些差错信息,以及对当前的网络状态进行一个探寻。
desperate633
2018-08-22
4.4K0
第20章 ICMP
72. 源主机ping 目的设备时,如果网络工作正常,则目的设备在接收到该报文后,将会向源主机回应ICMP( )报文。 B
week
2018-08-27
6330
traceroute 工作原理
ICMP 的一个重要应用就是分组网间探测 PING(Packet InterNet Groper),用来测试两台主机之间的连通性。PING 使用了 ICMP 回送请求与回送回答报文。PING 是应用层直接使用网络层 ICMP 的一个例子。他没有通过传输层的 TCP 或 UDP。
全栈程序员站长
2022-08-28
8100
能ping通traceroute不通
traceroute路由跟踪是利用IP数据包的TTL值来实现的,Linux 下 traceroute 首先发出 TTL = 1 的UDP 数据包,第一个路由器将 TTL 减 1 得 0 后就不再继续转发此数据包,而是返回一个 ICMP 超时报文,traceroute 从超时报文中即可提取出数据包所经过的第一个网关的 IP 地址。然后又发送了一个 TTL = 2 的 UDP 数据包,由此可获得第二个网关的 IP 地址。依次递增 TTL 便获得了沿途所有网关的 IP 地址。
大大大黑白格子
2020-06-10
13.6K0
Linux命令:traceroute命令(路由跟踪)
traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。
全栈程序员站长
2022-07-05
3.9K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券