【博客88】traceroute原理简述

内容: 最近实习做的跟计算机网络有关,在复习linux下的网络的命令,复习到traceroute这个命令,这个命令可以用来追踪路径。刚好想起了以前学习计算机网络课程的时候,书里有提到traceroute的原理,就记录一下。提到的书籍:计算机网络第七版

正题: 首先traceroute虽然是一个命令,但是其实是一个可执行文件,ping也类似。
该程序的功能:追踪本主机到目的主机的报文交换都经过了哪些路由器,实际工作流程如下:

1.构造一个UDP报文,TTL分别为1,当这个报文到达第一个路由器后,TTL减去1后为零,报文被丢弃,然后路由器发送ICMP报文(时间超过)给源主机。

2.构造UDP报文,TTL为2,同样的,第二个路由器会返回ICMP报文(时间超过)给源主机

(以此类推,注意发送过程中的UDP报文使用的端口都是非法端口,以使最后达到的时候无法交付,不然你就不知道什么时候应该停)…

3.直到TTL 到达某个值,而这个值可以使这个UDP报文刚好到达目的主机,由于报文的端口号不合法,目的主机返回ICMP(端口不可达)报文给源主机。

(上述过程中,路由器和目的主机返回的ICMP报文中均含有它们的地址,所以得到了路径。)

实际实现中,源主机每次发送三个相同TTL的UDP报文,因为现实中网络环境比较复杂,可能会有丢包情况发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值