Ping 出现TTL expired in transit错误原因分析及解决方法

寝室网络割接导致本本上不了网了,于是在其他地方ping本本的IP来试,结果出现了TTL expired in transit的提示,这种提示并不常见,如下图所示:

ping 和 tracert 的结果

用tracert来看路由状况,原来是出现路由环路导致TTL超时。

出现路由环路的解决方法是重新设定路由配置,避免环路。这个一般要由网络运营商来处理了。

回顾一下TTL的概念:

TTL是Time To Live的缩写,是指一个网络层的数据包(package)的生存周期,即数据包被路由器丢弃之前允许通过的路由跳数。 TTL由发送主机设置,以防止数据包不断在IP网络上永不终止地循环(考虑到网络有环路的情况)。转发IP数据包时,要求路由器至少将TTL减小1,减为0则丢弃该数据包。

因而出现以上TTL expired in transit的原因有两种:

1.源主机与目标主机之间的路由跳数超过了设定的TTL值,可以通过增加TTL值来避免,ping命令中可以用-i参数来指定
2.网络路由上出现路由环路,需要通过修改路由配置来解决
回顾下学过的知识,备忘

Ping 出现TTL expired in transit错误原因分析及解决办法

Ping 出现: TTL expired in transit. 今天发现电信送的一条固定IP地址出现问题,查确认属于是他们私自更改了我们的IP地址.电话通知电信大客经理...在下午接通知,已经改好!
我觉得还是自已测试一下,不能太相信别人的话,因此我通知他们稍等下.

1、我先PING了一下IP地址,结果发现:

C:/Documents and Settings/xm_dengwh>ping 218.xxx.xxx.xxx (这里是我们的IP地址)

Pinging 218.xx.xx.xx with 32 bytes of data: ,~FyC_%*

Reply from 218.85.151.173: TTL expired in transit. g/so3F%v .
Reply from 218.85.151.173: TTL expired in transit.
Reply from 218.85.151.173: TTL expired in transit.
Reply from 218.85.151.173: TTL expired in transit.

需要注意的是: 我的IP地址:218.xxx.xxx.xxx和218.85.151.173不同.

不是正常的TTL返回时间,从提示来看应该是TTL耗尽了,为什么TTL会耗尽呢?难道是路由器配置错误,形成环路了使数据包不停的在两个路由器之间传送,使TTL耗尽?为了证实我的猜想,我觉定使用tracert看一下所经过的路由器情况.
C:/Documents and Settings/xm_dengwh>tracert 218.85.xx.xx

Tracing route to mx2.bestcheer.com [218.85.xxx.xxx]
over a maximum of 30 hops:

1 10 ms 1 ms 1 ms 59.xx.xx.xx
2 1 ms 2 ms 1 ms 61.154.238.102
3 * * * Request timed out.
4 1 ms 3 ms 1 ms 218.85.151.173
5 * * * Request timed out.
6 2 ms 2 ms 1 ms 218.85.151.173
7 * * * Request timed out.
8 2 ms 2 ms 2 ms 218.85.151.173
9 * * * Request timed out.
10 * 2 ms 2 ms 218.85.151.173
11 * * * Request timed out.
12 3 ms 3 ms 3 ms 218.85.151.173

从结果来看,应该是第3hop转数据包到第4hop(218.85.151.173)上,然后又转第3hop上,因此数据在第3路由器与第4个路由器之间造成循环使数据不停的两个路由器之间转发.
马上通知电信公司,把路由配置错误,造成数据包循环的情况告诉他们,20分钟后问题解决.

(0)

相关推荐