请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科服务支持社区 点击关注
思科服务支持社区

  
 找回密码
 立即注册

扫一扫,访问微社区

搜索
热搜: 邮件服务器
查看: 152|回复: 2

[原创翻译] 理解 hardware ip glean throttle 功能及其使用场景

[复制链接]
发表于 2018-7-11 10:38:08 | 显示全部楼层 |阅读模式
原文链接

介绍
本文档描述了 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]
'%<string>' in via output denotes VRF <string>

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




  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分4 (2 评价)
发表于 2018-7-11 14:21:23 | 显示全部楼层
感谢专家分享
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分3 (1 评价)
发表于 2018-7-12 08:15:29 | 显示全部楼层
   感谢专家分享,学习了!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科服务支持社区  

GMT+8, 2018-7-21 17:19 , Processed in 0.086985 second(s), 34 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表