十一假日结束后,回到单位 发现网管有告警,说一台交换机ping时延抖动有问题,然后用自己的电脑ping这台交换机发现是ping时延抖动现象,因为担心其他交换机有问题,马上ping另外一台交换机发现正常。
可以清晰看到左边一台有明显的时延抖动,于是马上检查故障, 1)是不是上行链路出现故障,影响到这个问题,当检查交换机的收光功率时,发现收光和发光都在正常值范围 。 2) 检查交换机自身有没有环路问题,引起故障,也没有找到正常 3) 查看交换机设备是否健康,发现也没有问题
后来查了下文档: 1) 如上图所示,服务器A ping 服务器B时,ICMP报文完整路线为:服务器A的CPU--->服务器A的网卡--->交换机转发平面--->服务器B的网卡--->服务器B的CPU--->服务器B的网卡--->交换机转发平面--->服务器A的网卡--->服务器A的CPU。该过程不经过交换机的控制平面,全部通过转发平面的硬件转发,时延非常低。 2) 服务器A ping 交换机时,ICM P报文完整路线为:服务器A的CPU--->服务器A的网卡--->交换机转发平面--->交换机CPU--->交换机转发平面--->服务器A的网卡--->服务器A的CPU。该过程需要经过交换机的控制平面,这也正是出现延时和抖动的原因。因为交换机的CPU能力会明显弱于服务器的CPU能力(交换机的核心职责是转发报文,真正性能由转发芯片决定,而服务器的核心职责就是计算,CPU能力非常强),而且交换机的CPU会优先用于协议控制(如系统内各模块的交互、各种定时器的响应、协议的计算、表项的下发和删除等),其次才是诊断(如ping功能、debugging功能等)。交换机内部的控制程序对CPU的占用并不是完全稳定的,当有协议和控制需求时(如收到上送的协议报文、内部定时器的到期、表项的生成和老化等),就可能会对ICMP的响应不够及时,对外表现为ping的延时抖动。 3) 交换器 ping 服务器A时,ICMP报文完整路线为:交换机CPU--->交换机转发平面--->服务器A的网卡--->服务器A的CPU--->服务器A的网卡--->交换机转发平面--->交换机CPU。相比服务器 ping 交换机而言,此过程需要交换机CPU两次参与,且此时交换机要对ping命令做处理和响应,所以ping的延时和抖动就会表现得更为突出一些。
所以交换机的转发芯片不具备ICMP直接回包的能力,ICMP报文都是需要上送CPU进行处理响应的,所以有抖动代表的是设备CPU的任务调度忙闲程度存在差异,不代表转发芯片的过路报文转发时延。 从ping 交换机时延抖动 出现的CPU利用率60%,没有出现只有40%,设备PING响应时延长短匹配另外60%的CPU利用率也在常规安全范围内,因为是作二层交换机,不会影响当前运行的STP等二层协议状态,也不会影响设备运管,所以把网络告警现象手动消除 |