路由追踪
tracert从源主机向目的主机发送一连串的IP数据报,数据包中封装的是无法交付的UDP用户数据报。第一个数据报P1的生存时间TTL设置为1.当P1到达路径上的第一个路由器R1时,路由器R1收下它,接着把TTL值减1。由于TTL值等于零了,R1就把P1丢弃了,并向源主机发送一个ICMP时间超时报文。
源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时TTL值为1,但减1后TTL值变为零了。R2就丢弃P2,并向源主机发送一个ICMP时间超过的差错报文。这样一直继续下去。当最后一数据报刚刚到达目的主机时,数据报的TTL是1。主机不转发数据报,也不把TTL值减1。但因IP数据报中分装的是无法交付的运输层UDP用户数据报,一次目的主机要向源主机发送ICMP终点不可达差错报告报文。
这样,源主机达到了自己的目的,因为这些路由器和最后目的主机发来的ICMP报文正好给出了源主机想知道的路由器信息——到达目的主机所经过的路由器的IP地址,以及到这其中的每一个路由器的往返时间。
C:\Users\29>tracert www.baidu.com
通过最多 30 个跃点跟踪
到 www.a.shifen.com [39.156.66.18] 的路由:
1 2 ms 2 ms 4 ms 10.10.70.11
2 7 ms * 8 ms 172.16.253.1
3 5 ms 2 ms 2 ms 111.20.192.125
4 * * * 请求超时。
5 * * * 请求超时。
6 * * 3 ms 221.183.47.149
7 27 ms 23 ms 40 ms 221.183.37.157
8 * * * 请求超时。
9 * * * 请求超时。
10 * * * 请求超时。
11 * * * 请求超时。
12 * * * 请求超时。
13 * * * 请求超时。
14 * * * 请求超时。
15 23 ms 24 ms 22 ms 39.156.66.18
跟踪完成。
命令执行过程中*:核心路由器可能禁ping但其任可以进行数据的转发。windows中 使用tracert进行路由追踪,Linux中使用tracertoute进行路由追踪。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2924854739@qq.com
文章标题:路由追踪
本文作者:DROBP
发布时间:2019-08-23, 15:28:56
最后更新:2019-08-25, 11:53:05
原始链接:https://DROBP.github.io/2019/08/23/路由追踪/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。