Tracert是检测网络丢包及时延的有效手段,同时可以帮助管理员发现网络中的路由环路

Tracert常用的配置参数如下:
-a (source-ip-address)参数:指定tracert报文的源地址。
-f (first-ttl)参数:指定初始TTL。缺省值是1。
-m (max-ttl)参数:指定最大TTL。缺省值是30。
-name参数:使能显示每一跳的主机名。
-p (port)参数:指定目的主机的UDP端口号。
Tracert原理
第一步:发送一个UDP报文,TTL值为1
RTA向目的端主机B发送一个UDP报文,TTL值为1,目的UDP端口号是大于30000的一个数,因为在大多数情况下,大于30000的UDP端口号是任何一个应用程序都不可能使用的端口号。
第一跳(RTB)收到源端发出的UDP报文后,判断出报文的目的IP地址不是本机IP地址,将TTL值减1后,判断出TTL值等于0,则丢弃报文并向源端发送一个ICMP超时(Time Exceeded)报文(该报文中含有第一跳的IP地址10.0.0.2),这样源端就得到了RTB的地址。
第二步:发送一个UDP报文,TTL值为2
源端收到RTB的ICMP超时报文后,再次向目的端发送一个UDP报文,TTL值为2。
第二跳(RTC)收到源端发出的UDP报文后,回应一个ICMP超时报文,这样源端就得到了RTC的地址(20.0.0.2)。
第N步:发送一个UDP报文,TTL值为N
以上过程不断进行,直到目的端收到源端发送的UDP报文后,判断出目的IP地址是本机IP地址,则处理此报文。根据报文中的目的UDP端口号寻找占用此端口号的上层协议,因目的端没有应用程序使用该UDP端口号,则向源端返回一个ICMP端口不可达(Destination Unreachable)报文。
源端收到ICMP端口不可达报文后,判断出UDP报文已经到达目的端,则停止Tracert程序,从而得到数据报文从源端到目的端所经历的路径(10.0.0.2;20.0.0.2;30.0.0.2)
总结:
tracert原理就是利用UDP+ICMP不可达消息
免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:5分钟看懂tracert技术原理-traceroute工作原理 https://www.bxbdf.com/a/145450.shtml