赞
踩
目录
1.1传输失败,general failure。这种故障一般是没有默认路由造成,可以用route print检查路由表是否存在0.0.0.0/0的默认路由情况。
2 ping的request消息已经发出,用其他经过节点ip地址回复的icmp错误
3 对回显正常导通的,有时是网络拥塞,ping的reply收到比正常超时严重。
5 还有就是ping的结果有时有回显,有的显示time out
日常会遇到ping不通某一个ip的问题,如何处理ping不通的问题呢?
ping一个目的ip地址,ping回显可能有四种情况:
1,错误回显
2,正常回显
3,回显超时time out
4,回显时通是不通time out
ping命令是执行icmp协议的一个探查网络通断的命令,就是源设备发出一串字母ping的request消息,携带标识码id和序列码seq,字符串如abcdefgh等参数,经过网络节点到达目的设备,目的设备把收到这串字母通过ping的reply消息,携带原来id和序列号seq字符串bcdefgh发给源侧ip地址。源侧收到后,比较参数一致就正常导通打印有对端ip,探查字符串长度,时延,回包ttl,和统计数据。。如目的侧网关发现有问题,或者源本地有问题,就会打印错误,若源侧发出request但没有收到reply侧消息,在定时器超时后就会打印time out。ping消息windows下默认发出四个request,超时定时器5s,正常返回消息后,隔1s发出一个ping的request。发四次。如下图:
wireshark显示如下:
当源和目的在同一个网段是,就先查询是否有目的ip的mac地址,有就直接发出request,没有就发出arp查询,查询失败,就打印错误,目的主机不可达,查询成功就发包,同时启动定时器,定时器超时前,收到reply,就打印一条消息,1s后,发出下一个seq加1,发出下一个request消息。就像老师发作业,点名,没人答应就认为未到,答应了,就让上台领。
当源和目的不在同一网段,就查询是否网关设置,有就检查是否有网关的mac地址,没有就发出arp查询,查询失败,就打印错误提示。查询到就发出ping的request到网关mac,网关转给目的方网关,目的方网关查询不到这个ip,就发出icmp错误消息,目的主机不可达给源侧。查询到就转给目的方。源侧发出request后就和上面的同网段处理方法一样,启动定时器,正常收到就1s后seq加1发出下一包。超时收不到,就打印time out。
这就像你打电话到一个单位找人,打到前台,告诉你要找谁谁,前台查询后,让相关人接电话,没找到,就会告诉你,人没在。事先,你得知道对方前台号码,而且要告知你找谁。
我们解决问题就根据ping的结果回显来判断。因为ping消息是icmp协议一种应用,自身和节点错误会在ping的回复消息里体现,ping不通时,我们根据回显打印的信息判断故障点。
错误回显里,有本地pc本身错误造成的回显和经过节点给出回显的区别。判断标准就是错误是否是本机ip显示还是经过节点的ip显示错误信息。
如下图:一个pc192.168.3.14,ping192.168.3.5,打印无法访问目的主机
网卡正常的话,有下面的打印。
如下图:pc的ip192.168.205.201/24,去ping同网段的ip192.168.205 .144,回显无法访问目的主机。
pc的ip192.168.205.201/24,去ping同网段的ip192.168.205 .1,
正常的ping过程是如下:
1、目的设备没有开机,或者开机但没有接入对应的广播域,导致arp查询消息没有得到应答。
2、目的ip不存在。
3、源设备自身路由错误(如自身ip的掩码配置错误),应该走默认网关的ping消息,认为是同一网段,发出arp查询消息,在广播域里没到得到应答。
用经过节点设备ip回显的错误信息:
这种情况一般是走默认路由的情况,ping的request已经发出,常见错误有以下几种:
ttl传输中过期 ttl exceeded 目标ip网段在经过的节点环境中存在路由环路
正常回显里包含信息,ttl,丢包率和来回时间。
这是我们关心一下reply的ttl,因为直连路由的ttl值64,128.255这三种的一种,走默认路由的经过一个路由器值减一,由此可以判断目的方到源主机经过的路由节点数。如下图,判断目的ip和源ip是同一广播域的,没有经过路由器。ping结果里有统计reply的最小时间,最大时间和平均时间,根据这些判断是否经过节点拥塞。一般局域网网内,不超过1ms,广域网ip不超过100ms,若出现几百甚至秒以上的回包,说明节点或者目标设备网络拥塞验证或者有突发包影响。
如下图:有时没有回包,有时有回包,但时延很大100多毫秒。
回显time out的,是ping的request发出,但没有对方设备reply消息没有收到,这可能原因
在规定时间没有收到request的reply消息,显示超时,一般定时器为5秒。
超时可能的原因:
a、检查一下目的设备的防火墙是否开启,是否拦截了ping的请求消息,导致高层收不到而没有回reply消息?
b、检查经过节点的路由是否正确是否送到错误地方?或者目的设备是否有回程路由。
c、回程路由的硬件网卡出口和ping的request的入口网卡不是同一个?
d、交换机vlan对应的接口全部down了,导致vlan状态down,vlan的对应路由没有生成。导致节点从路由器wan口发包到公网上去,而没有回包导致time out请求超时?
e、还有极端情况就是跨网段,环境中有突发性大包,超出某一个节点的传输最大速率,造成转发端口丢弃大量的包。现象会出现时通时断,某一段时间ping显示time out请求超时。这种情况可以查看交换机的收发情况,是否有大量丢弃的包。如有查找源头处理。
可能原因:
1、源设备环境存在路由错误或者环境里存在ip冲突,或者下一跳ip冲突,导致一些回包发给错误地方。
2、目的网络回程路由或者经过节点存在路由或者下一跳错误。
3、传输路径上质量不好,丢失一部分包,或者经过节点设备有突发流量,丢弃一些包。
出现这种情况,就在源和目的同时抓包,开启长ping -t命令,比对ping的消息的序号看看丢了那些?目的设备是否收到,是否正常回包,然后检查对应序号包的目的mac地址,是否错误?若丢在节点,就逐级镜像,确定丢在哪一级?并检查相应问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。