2008年11月12日星期三

使用Tracert命令探测网络故障(图)

这几天Blog不稳定,经常发生访问不到的情况,于是想起了tracert 这个工具,想一探究竟。
  Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
  Tracert 工作原理
  通过向目标发送不同 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。
下面是当网站无法访问时的Tracert的结果(点击看大图),可以看出,DNS解析正常,但是通讯在通过219.158.12.177这个路由时被禁止了。可以得出这样的结论:219.158.12.177这个路由的外端口不通或是它的策略禁止这个访问通讯通过。

下图是正常时的图,可以看出从本地到网站共经过了多少个路由。


最后,希望Blog能稳定一些,永远不要出现图一的情况

没有评论: