跟踪路由的原理

上一篇文章中我们知道“跟踪路由”实质上是利用ICMP进行的,本节就“跟踪路由”的原理进行讲解。
1.跟踪路由的命令
  • Windows版本:tracert命令
  • Linux版本:traceroute命令
2.跟踪路由的作用
跟踪一个分组从源点到终点的路由信息—–到达目的主机所经过的路由器的IP地址,以及到达其中的每一个路由器的往返时间。

跟踪路由的原理

ps:图中“像”字手动更正为“向”
注:上图序号12那一行在知识整理的时候有疑惑,该行是路由器的地址还是所追踪的目的地址,结果是所追踪的目的地址故经历了11个路由器。大家可以根据下面的跟踪路由的工作原理讲解验证一下,或者根据下图理解。

跟踪路由的原理


3.跟踪路由的工作原理
向目的主机发送一连串的IP数据报,利用数据报首部中的生存时间TTL字段,对TTL1开始不断地设置,且数据报中封装的是无法交付的UDP用户数据报(使用了非法的端口号),
根据TTLUDP获得来自路由器或目的主机发送ICMP差错报告报文,进而知道源主机想知道的路由信息。

详细讲解如下:
  1. 第一个数据报的生存时间TTL设置为1当其到达路径上的第一个路由器时,路由器收下它,接着把TTL1,此时TTL=0,路由器将数据报丢弃且发送时间超过报文。
  2. 第二个数据报的生存时间TTL设置为2,…….
  3. 第三个数据报的生存时间TTL设置为3,  …….
  4. 一直继续……..
  5. 直到最后一个数据报刚刚到达目的主机时数据报的TTL1主机不转发数据报,也不把TTL值减1.但数据报中封装的是无法交付的UDP用户数据报,此时目的主机向源主机发送ICMP终点不可达差错报告报文。

图解:PC0向PC1进行路由追踪过程

跟踪路由的原理

跟踪路由的原理

注:
发送数据报的次数是按照时间线的顺序进行的,即第一次发完且收到回复,才进行下一次
总结:
路由器收到ICMP报文的操作:
对数据报中TTL字段值先减一,再判断
  • TTL=0,丢弃且发送ICMP时间超过报文
  • TTL>0,转发

目的主机收到ICMP报文的操作:
对数据报中TTL字段值无操作,但因为数据报中封装的是无法交付的UDP用户数据报(使用了非法的端口号),因此目的主机要向源主机发送ICMP终点不可达差错报告报文

END


原文始发于微信公众号(计算机408):跟踪路由的原理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/261179.html

(0)
码上实战的头像码上实战

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!