首页 > 编程知识 正文

tracert命令的功能,traceroute的协议

时间:2023-05-05 11:38:59 阅读:58944 作者:4697

TraceRoute程序的实现主要涉及使用IP报头生存时间(TTL )字段。

设置TTL字段是为了防止数据报因选择错误或其他硬件软件而在网络上不断移动,并指定数据报的生存时间。 TTL的初始值由源主机设置,当数据报通过路由器时,处理该数据报的路由器必须从TTL值中减去数据报在路由器上停留的秒数。 但是,实际上大多数路由器只将TTL的值减少1,所以TTL字段最终实现为跳计数器。 当TTL字段的值减少到0时,路由器将销毁数据报而不传输,生成ICMP超时错误消息并将其发送到源主机,以通知发生错误。 跟踪程序的密钥是返回的这个ICMP超时错误消息的源地址是经由路由器的IP地址。 因此,通过依次递增TTL字段的值,可获得数据报通过该传输路径的路径信息。

TraceRoute程序在具体实现时,使目的地主机发送ICMP回声请求(Echo request )消息,并重复递增IP报头TTL字段中的值。 成功的叔叔TTL为1,当此数据报到达中间的第一个路由器时,TTL的值将减少为0,从而导致超时错误,因此路由器将生成ICMP超时错误消息并将其返回给源主机。 然后,主机将数据报的TTL值递增1,以便IP消息到达下一个路由器,下一个路由器生成ICMP超时错误消息并将其返回给源主机。 重复此过程,直到数据报到达最终目标主机。 在这种情况下,目标主机将返回ICMP回显(Echo replay )消息。 因此,源主机只通过对每个返回的ICMP消息进行分析处理,就能够掌握数据报从源主机到目的地主机为止的路径信息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。