取消
显示结果 
搜索替代 
您的意思是: 
cancel
5625
查看次数
50
有帮助
4
评论
Luke Huang
Cisco Employee
Cisco Employee
原文链接

介绍
本文档描述了 hardware ip glean throttle 功能及其配置比例(examples)的工作原理。

本文档使用以下场景来做测试
Nexus 7000 with Release 6.2.x and later
F2e series line card
本文档所使用的设备,是 LAB 环境。如果您的网络有在线业务,请务必理解本文档所提供 CLIs 可能对您网络造成的影响。

背景信息
当 IP 数据包进入板卡 linecard/interface,如果此时设备没有完成对应 IP 报文的 ARP 解析,那么 linecard 就会将此 IP 报文送去引擎/CPU 做 ARP 解析处理。如果引擎完成了对应的 ARP 解析,那么设备会将解析之后的 MAC address 编程在硬件中,后续的 IP 报文都会是硬件转发。
如果引擎一直不能解析此 ARP(引擎发出 ARP request,但是没有收到任何 ARP reply),那么 linecard 就会把所有未完成 ARP 解析的报文都送去引擎处理。引擎会持续产生 ARP request,知道 ARP 解析完成。N7K 默认有 hardware rate limiter 来防止 CPU 被类似流量攻击,对应的项目是 glean.
如果目的 IP 设备已经从网络中离线(关机或者维护),那么去往此目的 IP 的报文就会突然都送去 CPU/引擎 处理。因为 hardware rate limiter(glean) 的保护,CPU 利用率不会特别高,但是单一目的 IP 离线的设备,此流量可能会占满 CPU rate limiter 的资源,其他需要完成 ARP 解析的报文可能没有机会被送去 CPU,ARP 解析失败会导致流量转发异常。为了避免此类问题,可以使用 hardware ip glean throttle 功能。

当 hardware ip glean throttle 配置以后,针对每一个目的 IP,仅有一个数据包被送往 CPU 来解析 ARP。之后引擎会产生一个 /32 的 drop 邻接表条目,将此 /32 drop 条目安装到 hardware,后续的去往相同目的 IP 的&ARP 解析未完成的数据包都会直接被丢弃,不会再送去 CPU。CPU 会持续解析 ARP。Drop adjacency 邻接表条目只是短时间生效,这个时间段是可以人为控制的。一旦这个时间超时,linecard 会再发送一个(相同目的 IP,每次仅允许一个)数据包给 CPU。Hardware ip glean throttle 默认的数量是1000,可人为修改。这种 /32 drop adj 的数量会影响 路由表 RIB 的大小。

LAB 测试
本 LAB 的目的 IP 是 172.28.191.200, 模拟目的 IP 设备从网络中离线,不能正常接收流量。
NOTE: 此时在 N7K 没有 172.28.191.200的 ARP 和邻接表。
LAB 输出
N7K# show ip route vrf VRF_ABC 172.28.191.200
172.28.191.192/28, ubest/mbest: 1/0, attached >>> 没有 /32的条目
*via 172.28.191.195, Vlan1601, [0/0], 02:01:17, direct
目的 IP 是 172.28.191.200的流量,会被送去引擎来产生 ARP request,尝试完成 ARP 解析。
LAB 输出
N7K# show system internal forwarding vrf VRF_ABC ipv4 route 172.28.191.200 detail
slot 1
=======
RPF Flags legend:
S - Directly attached route (S_Star)
V - RPF valid
M - SMAC IP check enabled
G - SGT valid
E - RPF External table valid
172.28.191.192/28 , sup-eth2 <<<<<<< Sup-eth2 代表此报文会送去引擎
Dev: 0 , Idx: 0x65fb , Prio: 0x8487 , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x5a , LIFB: 0 , LIF: sup-eth2 (0x1fe1 ), DI: 0xc01
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000
172.28.191.192/28 , sup-eth2
Dev: 1 , Idx: 0x65fb , Prio: 0x8487 , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x5a , LIFB: 0 , LIF: sup-eth2 (0x1fe1 ), DI: 0xc01
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000
172.28.191.192/28 , sup-eth2
Dev: 2 , Idx: 0x65fb , Prio: 0x8487 , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x5a , LIFB: 0 , LIF: sup-eth2 (0x1fe1 ), DI: 0xc01
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000
172.28.191.192/28 , sup-eth2
Dev: 5 , Idx: 0x65f1 , Prio: 0x84f2 , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x5a , LIFB: 0 , LIF: sup-eth2 (0x1fe1 ), DI: 0xc01
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000

glean rate limiter 默认的配置,每个板卡都是 100 pps, 可以看到 glean 项目的 Dropped 在增长:
LAB输出
N7K# show hardware rate-limiter
Units for Config: packets per second
Allowed, Dropped & Total: aggregated since last clear counters
rl-1: STP and Fabricpath-ISIS
rl-2: L3-ISIS and OTV-ISIS
rl-3: UDLD, LACP, CDP and LLDP
rl-4: Q-in-Q and ARP request
rl-5: IGMP, NTP, DHCP-Snoop, Port-Security, Mgmt and Copy traffic

Module: 1
R-L Class Config Allowed Dropped Total
+------------------+--------+---------------+---------------+-----------------+
L3 mtu 500 0 0 0
L3 ttl 500 0 0 0
L3 control 10000 0 0 0
L3 glean 100 3326 3190 6516
L3 mcast dirconn 3000 0 0 0
L3 mcast loc-grp 3000 0 0 0
L3 mcast rpf-leak 500 0 0 0
L2 storm-ctrl Disable
access-list-log 100 0 0 0
copy 30000 1877 0 1877
receive 30000 318 0 318

当配置 hardware ip glean throttle 命令之后:
N7K(config)#hardware ip glean throttle

路由表 RIB 会出现一条 /32的条目:
LAB 输出
N7K# show ip route 172.28.191.200 vrf VRF-ABC
IP Route Table for VRF "VRF-ABC"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%' in via output denotes VRF

172.28.191.200/32, ubest/mbest: 1/0, attached
*via 172.28.191.200, Vlan1601, [250/0], 00:01:37, am

查看硬件转发表项,会发现对应的条目不再送往 CPU, 而是会被 drop
LAB 输出
N7K# show system internal forwarding vrf VRF_ABC ipv4 route 172.28.191.200 detail

slot 1
=======

RPF Flags legend:
S - Directly attached route (S_Star)
V - RPF valid
M - SMAC IP check enabled
G - SGT valid
E - RPF External table valid
172.28.191.200/32 , Drop <<<<<< 会被丢弃
Dev: 0 , Idx: 0x1a5 , Prio: 0x8b61 , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x8913 , LIFB: 0 , LIF: Drop (0x0 ), DI: 0x0
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000
172.28.191.200/32 , Drop
Dev: 1 , Idx: 0x1a5 , Prio: 0x8b61 , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x8913 , LIFB: 0 , LIF: Drop (0x0 ), DI: 0x0
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000
172.28.191.200/32 , Drop
Dev: 2 , Idx: 0x1a5 , Prio: 0x8b61 , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x8913 , LIFB: 0 , LIF: Drop (0x0 ), DI: 0x0
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000
172.28.191.200/32 , Drop
Dev: 5 , Idx: 0x1e1 , Prio: 0x88ee , RPF Flags: VS , DGT: 0 , VPN: 9
RPF_Intf_5: Vlan1601 (0x19 )
AdjIdx: 0x8914 , LIFB: 0 , LIF: Drop (0x0 ), DI: 0x0
DMAC: 0000.0000.0000 SMAC: 0000.0000.0000
此时观察 hardware rate-limiter, glean 已经没有 drop 了
switch# clear hardware rate-limiter all
N7K# show hardware rate-limiter

Units for Config: packets per second
Allowed, Dropped & Total: aggregated since last clear counters
rl-1: STP and Fabricpath-ISIS
rl-2: L3-ISIS and OTV-ISIS
rl-3: UDLD, LACP, CDP and LLDP
rl-4: Q-in-Q and ARP request
rl-5: IGMP, NTP, DHCP-Snoop, Port-Security, Mgmt and Copy traffic

Module: 1
R-L Class Config Allowed Dropped Total
+------------------+--------+---------------+---------------+-----------------+
L3 mtu 500 0 0 0
L3 ttl 500 0 0 0
L3 control 10000 0 0 0
L3 glean 100 0 0 0
L3 mcast dirconn 3000 0 0 0
L3 mcast loc-grp 3000 0 0 0
L3 mcast rpf-leak 500 0 0 0
L2 storm-ctrl Disable
access-list-log 100 0 0 0
copy 30000 1877 0 1877
receive 30000 318 0 318

评论
Yanli Sun
Community Manager
Community Manager
感谢专家分享
fortune
VIP Alumni
VIP Alumni
感谢专家分享,学习了!
wilson_yong
Community Member
感谢专家分享
CSCO12370587
Level 1
Level 1
感谢专家分享,学习了!
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接