管理员ping M9000的业务端口设备IP地址有丢包,Tracert至M9000这一跳时无规律出现星号。客户反馈业务观察暂无问题,就是ping M9000自身IP地址有丢包,要求分析原因。当通过Tracert操作检查时,发现当探测到M9000这一跳时,三次探测中无规律出现星号,即Tracert响应超时现象。
通过打开debug ip icmp开关,观察到如下debug信息输出:
*Apr 29 11:38:56:719 2016 H3C SOCKET/7/ICMP: -Slot=3.1;
ICMP Output:
ICMP Packet: src = 202.117.145.90, dst = 202.117.144.103
type = 11, code = 0 (ttl-exceeded)
Original IP: src = 202.117.144.103, dst = 101.7.8.9
proto = 17, first 8 bytes = B67E0035 00343992
*Apr 29 11:38:56:725 2016 H3C SOCKET/7/ICMP: -Slot=3.1;
ICMP Discard:ICMP reached rate limit.
从debug信息中可以确认,ICMP报文是由于达到了M9000设备接收速率上限被丢弃的。
M9000设备支持调整接收处理ICMP报文限速值,具体命令如下:
ip icmp error-interval用来配置发送ICMP差错报文对应的令牌桶容量和令牌刷新周期。
undo ip icmp error-interval用来恢复缺省情况
【命令】
ip icmp error-interval interval [ bucketsize ]
undo ip icmp error-interval
【缺省情况】
令牌桶容量为10,令牌刷新周期为100毫秒。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
interval:令牌刷新周期,取值范围0~2147483647,单位为毫秒。取值为0时,表示不限制ICMP差错报文的发送。
bucketsize:令牌桶中容纳的令牌数,取值范围1~200。
【使用指导】
如果网络中短时间内发送的ICMP差错报文过多,将可能导致网络拥塞。为了避免这种情况,用户可以控制设备在指定时间内发送ICMP差错报文的最大数目,目前采用令牌桶算法来实现。
用户可以设置令牌桶的容量,即令牌桶中可以同时容纳的令牌数;同时可以设置令牌桶的刷新周期,即每隔多长时间发放一个令牌到令牌桶中,直到令牌桶中的令牌数达到配置的容量。一个令牌表示允许发送一个ICMP差错报文,每当发送一个ICMP差错报文,则令牌桶中减少一个令牌。如果连续发送的ICMP差错报文超过了令牌桶的容量,则后续的ICMP差错报文将不能被发送出去,直到按照所设置的刷新频率将新的令牌放入令牌桶中。
【举例】
# 配置设备发送ICMP差错报文对应的令牌桶容量为40,令牌刷新周期为200毫秒。
[Sysname] ip icmp error-interval 200 40
M9000对本地接收的ICMP报文做限速处理,是为了加速对本地收发报文的保护,避免当网络中出现大量ICMP泛洪流量时,M9000处理其它更重要的协议报文出现延时甚至失败的可能。ICMP报文,特别是ping报文在网络中的重要性较低,因此不建议将前述命令参数调节得过大。
另外,该限制仅对M9000本地接收ICMP报文速率生效,对经M9000转发的ICMP报文无影响,因此该限速亦不会影响转发业务。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作