RedHat Linux里trace使用的什么协议
发布网友
发布时间:2022-04-30 01:06
我来回答
共1个回答
热心网友
时间:2022-06-20 16:09
还是使用的ICMP协议,因为ICMP协议是IP的上层协议,而IP包含有TTL字段,而且trace主要是为了发现路由信息。工作原理如下:
当你输入一个trace route命令,traceroute发送一份ttl(存活时间)为1的数据报文给目的主机,当到第一个路由器的时候,路由器会将它的ttl值减1,如减1后ttl=0就丢掉该包,然后发一个表示超时的包回来.那样,我们就获得了到达第一个路由器的地址和时间(往返时间/2得到单程时间);然后,发一个ttl为2的包,那么就会停在途中的第2个路由器那里,同样也得到第2个路由器的时间...如此一直到到达目的地,traceroute会收到一个端口不可达信息,它计算收到这个信息所用时间,从而计算出到达目的主机所用时间。在traceroute运行过程中,它会依次显示经过的每一个路由器。