单位将原有的思科设备替换为华为设备,网络中心选择华为S9306交换机作为汇聚设备。在S9306的使用维护过程中,出现了Ping包不通的问题,经过对S9306的分析,发现问题都与S9300系列交换机上特有的称为ICMPREPLY FAST(快速回应)的机制有关。
故障现象
中心与S9306相关的网络拓扑如图1所示。
在PC网 关S9306的VLAN5视图下配置重定向,把PC上行的所有流量都重定向到SACG做安全认证,出现的问题是:
1.对S9306进行远程网管时,发现可以Ping通S9306的网管地址,但远程登录失败。
2.PC主动Ping S9306上的网关不通,但是S9306主动Ping pc能通。
图1 网络结构
故障排查
针对(1)S9306并没有告警。
针 对(2)首 先 查 看设备关键配置,主要是利用访问控制列表,针对VLAN 5做了一个源地址为xx.xx.5.128-255重定向为xx.xx.11.141的访问策略。其次打开icmp的debug,debugging ip icmp能 够看到基本的icmp信息。再次打开特定IP的icmp的debug,即做一个源地址和目的地址均为xx.xx.5.184的访问控制列表,能够显示特定IP的icmp从哪个接口进来,从哪个接口出去。1.在S9306上打开debugging ip icmp,对 于网 关S9306主动Ping PC的报文能够显示正常收发,但对于PC主动Ping网关的无法显示出来,因为S9306默认开启快Ping,PC主动Ping网关是在接口板CPU处理的,而debug显示的是主控板的信息。
2.仔细分析主动Ping和被动响应Ping的原理,网关S9306 Ping PC,请求和回应报文都是主控CPU处理。PC Ping网关,请求和响应报文都是接口板CPU处理。
3.关 闭 快 Ping(undo icmp-reply fast),此 时 互Ping都可以通;同时打开特定IP的icmp报文开关,debugging ip packet acl 3003,此时互Ping的报文都能够显示。
故障分析
华为S9306交换机上有种特有的机制称为ICMP-REPLY FAST(快 速 回应),即使在路由不通的情况下,对S9306进 行Ping包也能Ping通。这是因为当ICMP-REPLY FAST功能开启,当交换机收到Ping包时,它不会送往CPU去处理,而是立即回应可以Ping通,不管路由是否真的可达。
1.PC发给网关的报文(echo、echo-reply)都受到重定向的影响,到了Vlan11,同时由于受到系统缺省静态acl(到S9306本机的报文优先上送CPU)的作用,所以从Vlanif11上送CPU。
2.当快Ping开启时,PC 主 动 Ping(echo), 从Vlanif11上到接口板CPU,S9306回应(reply)报文直接从接口板CPU回应,不会去查表项,直接从Vlanif11发出去,导致丢弃。
3.当快Ping关闭,PC主动 Ping(echo),从 Vlanif11上到主控CPU,S9306回应(reply)报文是从主控CPU发起的,会去查表项,所以从Vlanif5发出去,Ping成功。
经验总结
1.在S9306交换机开局调试时建议将ICMP-REPLY FAST功能关闭。因为在做业务测试的时候,无法即时对每一条业务进行测试,大部分业务仍是通过Ping包来检测。
2.可将S9306交换机软件版本从V100R001C02版本升级到V100R001C03版本,就不会出现上送主机的报文被修改到其他VLAN后再上送,而是直接从本VLAN上送。