tracert工作原理

linux 上为traceroute

Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

首先,tracert送出一个TTL1IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL的数据包,发现第2个路由器...... tracert 每次将送出的数据包的TTL 1来发现另一个路由器,这个重复的动作一直持续到某个数据包 抵达目的地。当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息,一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

tracert 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,TracertTTL记数器加1,继续进行。(注意:默认是最多30跳就结束 )

                                                                                     图4-5-1 Tracert命令


                                                                                        图4-5-2 Tracert发送的数据包 (TTL递增顺序)


4-5-3 Tracert接收的数据包

  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tracert(也称为traceroute)是一种网络诊断工具,用于确定从源计算机到目标计算机的网络路径。它通过发送 ICMP Echo 请求消息,使用不同的 TTL(Time to Live)值,从而在每个路由器上跟踪数据包的路径,直到到达目标计算机或达到最大跃点数。每个路由器将返回一个 ICMP Time Exceeded 消息,这样 tracert 就可以确定网络路径。 以下是 tracert 的工作原理: 1. Tracert 向目标计算机发送一个 ICMP Echo 请求消息,并将 TTL 设置为 1。 2. 第一个路由器接收到 ICMP Echo 请求消息并减少 TTL 的值。如果 TTL 的值降为 0,则路由器将返回一个 ICMP Time Exceeded 消息。 3. Tracert 接收到 ICMP Time Exceeded 消息并记录第一个路由器的 IP 地址和响应时间。 4. Tracert 再次向目标计算机发送 ICMP Echo 请求消息,并将 TTL 设置为 2。 5. 第二个路由器接收到 ICMP Echo 请求消息并减少 TTL 的值。如果 TTL 的值降为 0,则路由器将返回一个 ICMP Time Exceeded 消息。 6. Tracert 接收到 ICMP Time Exceeded 消息并记录第二个路由器的 IP 地址和响应时间。 7. Tracert 重复上述步骤,直到到达目标计算机或达到最大跃点数。 8. Tracert 显示每个路由器的 IP 地址、响应时间和路由器名称(如果可用)。 通过 tracert,用户可以确定到目标计算机的网络路径,识别网络瓶颈和故障,并进行网络优化和故障排除。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值