路由追踪

​ 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" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏