首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解Tracert的工作原理

了解Tracert的工作原理
EN

Server Fault用户
提问于 2012-12-17 02:25:24
回答 2查看 180关注 0票数 2

根据我到目前为止收集到的信息,Tracert通过发送3条ICMP回波消息来工作。从TTL值1开始,对于数据包遇到的每一个路由器,TTL值都会减少。对于第一个路由器,1-1 = 0,因此ICMP“时间超过”消息将被发送回发件人机器。接下来,发送机将TTL值增加到2,第二个路由器的循环重复(2->1->0)等等。

如果我的未完好无损,请纠正我。

我很好奇为什么ICMP“时间超过”消息不会被Tracert显示在命令提示符中,因为它实际上是一条错误消息?这个周期只是在继续。

谢谢。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-12-17 02:38:26

正如您所说,“时间超过”“错误”消息由tracert显示为获得该错误所需的ms #。该错误证明第1、第2、第3等路由器收到了数据包,并在其上有该路由器的地址,因此tracert知道数据包正在走的路径。当他们不回来的时候,你就可以打印出*Request timed out作为那个路由器的地址。

票数 1
EN

Server Fault用户

发布于 2012-12-17 02:36:27

没有显示“错误消息”(它实际上不是错误,而是礼貌信息),因为它没有由tracert发送到stderr。我不认为当程序期望并正确处理数据时,通过发送无关的错误消息可以收集到什么值。

你的其他解释是正确的。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/458580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档