关闭

traceroute命令(unix)/tracert命令(windows)的工作原理

标签: tracerouteunixtracertwindows工作原理
4347人阅读 评论(0) 收藏 举报
分类:

traceroute命令(unix)/tracert命令(windows)的工作原理


    traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而后者用于windows系统中。

    先来看一个例子,在windows的CMD下,输入tracert www.baidu.com,结果如下图所示:



    从上图中可以看出,这个命令得出了一些往返时间和路由器的IP地址。那么它具体是如何工作的呢?其实,这个命令是用来跟踪一个分组从源点到终点的路径,也是ICMP(Internet Control Message Protocol,网际控制协议)的一个应用。其从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报。第一个数据报P1的生存时间TTL设置为1,当P1到达路径上的第一个路由器R1时,路由器R1先收下它,接着把TTL的值减1。由于TTL等于0,R1就把P1丢弃了,并向源主机发送一个ICMP时间超过差错报告报文。源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时,TTL为1,但减1后TTL变为了0。R2就丢弃P2,并向源主机发送一个ICMP时间超过差错报告报文。这样一直继续下去。当最后一个数据报刚刚到达目的主机时,数据报的TTL是1,。主机不转发数据报,也不把TTL的值减1。但是因为IP数据报中封装的数据是不可达的,所以目的主机就向源主机发送一个ICMP终点不可达差错报告报文。

    经过上述的过程后,大家可以看到,就像上图一样,本地主机通过各个路由器以及远程主机返回的这些ICMP报文,知道了这些路由信息,即目的主机所经过的路由器的IP地址,以及到达其中每一个路由器的往返时间。从而实现了跟踪的功能。
2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:125126次
    • 积分:2212
    • 等级:
    • 排名:第17874名
    • 原创:77篇
    • 转载:6篇
    • 译文:0篇
    • 评论:26条
    最新评论