windows 的tracert 和linux tracert 哪个用的是tcp哪个是udp?

windows 的tracert 用的是tcp还是udp,原理过程是什么。linux tracert 是tcp还是udp? 原理过程是什么。

tracert是Windows下常用的命令行工具,UNIX下的是traceroute。都是基于UDP协议的路由探测。工作原理和过程:通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。   Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。   Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。   在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1。   C:\>tracert 172.16.0.99 -d   Tracing route to 172.16.0.99 over a maximum of 30 hops   1 2s 3s 2s 10,0.0,1   2 75 ms 83 ms 88 ms 192.168.0.1   3 73 ms 79 ms 93 ms 172.16.0.99   Trace complete.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-27
都是用的tcp
简单来说
就是你发一个包到目的地
这个包每经过一个路由器他的生存值TTL就不够用了 就会返回一个包
然后再发一个包TTL值多一跳的 当他路过第二个路由器就会回来
再发第三个
以此类推
直到到达目的地
你就能看到这个包走到目的经过了哪些路由器本回答被网友采纳