我爱电脑技术论坛's Archiver

tianshiren 发表于 2008-6-12 16:24

Ping命令的使用还有这么多要注意的

网络工程师都会用到Ping,它是检查路由问题的有效办法。但也常听工程师抱怨:不可能,怎么会不通呢?
[2e%mQJ r Fxl.t:db0k
  这样的困惑一般发生在自认为路由设置正确的时候。举几个笔者遇到的问题,欢迎读者补充(可发邮件给我,或贴到《网络世界》论坛给大家借鉴)。+fe b}.w:E

t rg,e lZZB   最简单的三种情况:1.太心急。即网线刚插到交换机上就想Ping通网关,忽略了生成树的收敛时间。当然,较新的交换机都支持快速生成树,或者有的管理员干脆 把用户端口(access port)的生成树协议关掉,问题就解决了。2.访问控制。不管中间跨越了多少跳,只要有节点(包括端节点)对ICMP进行了过滤,Ping不通是正常的。最常见的就是防火墙的行为。3.某些路由器端口是不允许用户Ping的。eV5X"I-Q0i!ICB#n
Wf4Cf%Zl
  还遇到过这样的情形,更为隐蔽。B-GQ"n)uz7Xh8rJ

/IUR-e/X-K bR8L   1.网络因设备间的时延太大,造成ICMP echo报文无法在缺省时间(2秒)内收到。时延的原因有若干,比如线路(卫星网时延上下星为540毫秒),路由器处理时延,或路由设计不合理造成迂回路径。使用扩展Ping,增加timed out时间,可Ping通的话就属路由时延太大问题。
Lu+P1Zn&n+H d
*[&{tV:L[   2.引入NAT的场合会造成单向Ping通。NAT可以起到隐蔽内部地址的作用,当由内Ping外时,可以Ping通是因为NAT表的映射关系存在,当由外发起Ping内网主机时,就无从查找边界路由器的NAT表项了。
5Gj f"G OB8j h/P
F6p6L x6B#e   3.多路由负载均衡场合。比如Ping远端目的主机,成功的reply和timed out交错出现,结果发现在网关路由器上存在两条到目的网段的路由,两条路由权重相等,但经查一条路由存在问题。
}JIT6XZ %W ^:x eY u2r(E#Q
  4.IP地址分配不连续。地址规划出现问题象是在网络中埋了地雷,地址重叠或掩码划分不连续都可能在Ping时出现问题。比如一个极端情况,A、B两台主机,经过多跳相连,A能Ping通B的网关,而且B的网关设置正确,但A、B就是Ping不通。经查,在B的网卡上还设有第二个地址,并且这个地址与A所在的网段重叠。
f/_"v0K/Er LV;a)IM
  5.指定源地址的扩展Ping。登陆到路由器上,Ping远程主机,当ICMP echo request从串行广域网接口发出去的时候,路由器会指定某个IP地址作为源IP,这个IP地址可能不是此接口的IP或这个接口根本没有IP地址。而某个下游路由器可能并没有到这个IP网段的路由,导致不能Ping通。可以采用扩展Ping,指定好源IP地址。-G#F7d#yij(]T;y

-eb l(ZHDa   当主机网关和中间路由的配置认为正确时,出现Ping问题也是很普遍的现象。此时应该忘掉“不可能”几个字,把Ping的扩展参数和反馈信息、traceroute、路由器debug、以及端口镜像和Sniffer等工具结合起来进行分析。BV6^.H!KS7p&x5fz
m YW3W i7q u*ql
  比如,当A、B两台主机经过多跳路由器相连时,二者网关设置正确,在A上可以Ping通B,但在B上不能Ping通A。可以通过在交换机做镜像,并用Sniffer抓包,来找出ICMP 报文终止于何处,报文内容是什么,就可以发现ICMP报文中的源IP地址并非预期的那样,此时很容易想象出可能是路由器的NAT功能使然,这样就能够逐步地发现一些被忽视的问题。而Ping不通时的反馈信息是“destination_net_unreachable”还是“timed out”也是有区别的。

289955742 发表于 2008-6-18 22:59

有点看不懂...:)15)

123369asd 发表于 2008-6-19 16:31

说得不错.谢谢指点.

laio2008 发表于 2008-7-22 15:05

不是很懂(Qt*e+N$j Z2WR,`J2G
又懂一点点

页: [1]
   

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.