소개
이 문서에서는 하드웨어 ip glean throttle 기능이 예제와 이 기능의 의도에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 Nexus 7000 Series 스위치 컨피그레이션에 대한 기본 지식을 보유하고 있는 것이 좋습니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Nexus 7000(릴리스 6.2.x 이상)
- F2e 시리즈 라인 카드
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
라인 카드에서 수신 IP 패킷을 전달할 때 다음 홉에 대한 ARP(Address Resolution Protocol) 요청이 확인되지 않으면 라인 카드는 ARP 요청을 생성하기 위해 수퍼바이저에게 패킷을 전달합니다. ARP 요청이 수퍼바이저에 응답하면 다음 홉의 MAC 주소가 확인되고 하드웨어가 프로그래밍됩니다.
수퍼바이저가 ARP 항목을 확인할 수 없는 경우, 라인 카드는 해당 주소로 향하는 모든 패킷을 수퍼바이저에게 전송합니다. 수퍼바이저는 ARP 항목이 해결될 때까지 무기한 ARP 요청을 생성합니다. 과도한 트래픽으로부터 수퍼바이저의 프로세서(CPU)를 보호하기 위해 Glean이라는 하드웨어 레이트 리미터가 있습니다.
단일 대상 IP가 유지 보수 또는 하드웨어 문제로 인해 네트워크에서 드롭되고, 이로 인해 단일 대상 IP로 향하는 모든 트래픽이 갑자기 CPU로 전송되는 문제가 발생할 수 있습니다. 레이트 리미터가 제자리에 있으므로 CPU는 높지 않지만 이 단일 대상 IP는 전체 레이트 리미터를 사용하고 CPU에 대한 다른 합법적인 IP의 액세스를 제공하지 않습니다. 하드웨어 ip Glean throttle이 생성된 것은 이 시나리오를 위한 것입니다.
하드웨어 ip glean throttle 컨피그레이션으로 알 수 없는 각 대상 IP의 라우팅된 트래픽이 ARP 확인을 위한 CPU post HWRL(Hardware Rate Limiter) 작업에 도달합니다. 대상에 연결할 수 없으면 /32 삭제 인접성이 하드웨어에 생성됩니다. 그러면 동일한 next-hop IP 주소에 대한 추가 패킷이 수퍼바이저에 전달되지 않습니다. 이 삭제 인접성이 추가되지만 후속 패킷은 삭제되지만 수퍼바이저는 다음 홉이 해결될 때까지 ARP 요청을 계속 생성합니다. 삭제 인접성은 구성 가능한 짧은 기간 동안 설치됩니다. 타이머가 만료되면 한 패킷이 다시 CPU로 전송되고 프로세스가 반복됩니다. 이러한 방식으로 설치되는 항목의 수는 기본적으로 1000개로 제한되지만 원하는 수의 항목을 더 많이 구성할 수 있습니다. 이는 RIB(Routing Information Base) 테이블 크기에 대한 영향을 제한하기 위한 것입니다.
랩 테스트
이 경우 172.28.191.200의 서버가 있는데, 이 서버는 하드웨어 장애로 인해 다운되었으며 현재 트래픽을 서비스할 수 없습니다.
참고: 호스트에 대한 ARP 항목이 없고 인접성이 생성되지 않습니다.
N7K# show ip route vrf VRF_ABC 172.28.191.200
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.192/28, ubest/mbest: 1/0, attached >>> There is no /32 entry
*via 172.28.191.195, Vlan1601, [0/0], 02:01:17, direct
트래픽은 ARP 요청을 생성하기 위해 수퍼바이저에게 전송됩니다.
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
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
특정 모듈에 대한 혼합 속도 제한기는 모듈당 초당 100개의 패킷으로 트래픽을 제한합니다. 일부 패킷이 삭제되는 것을 확인할 수 있습니다.
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에 설치됩니다.
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
하드웨어 프로그래밍을 보면 삭제 인덱스가 설치됩니다.
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
이제 하드웨어 레이트 리미터에 드롭이 표시되지 않음을 확인할 수 있습니다.
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
관련 정보