Introduzione
In questo documento viene descritto il funzionamento della funzione hardware ip glean throttle con esempi e le intenzioni di questa funzione.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza di base della configurazione degli switch Nexus serie 7000.
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
- Nexus 7000 con release 6.2.x e successive
- Scheda di linea serie F2e
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Quando si inoltra un pacchetto IP in arrivo in una scheda di linea, se la richiesta ARP (Address Resolution Protocol) per l'hop successivo non viene risolta, la scheda di linea inoltra i pacchetti al supervisor per generare una richiesta ARP. Una volta che la richiesta ARP risponde al supervisore, risolve l'indirizzo MAC per l'hop successivo e programma l'hardware.
Se il supervisore non riesce a risolvere la voce ARP, la scheda di linea invia tutti i pacchetti destinati a quell'indirizzo al supervisore. Il supervisore genera richieste ARP a tempo indeterminato fino alla risoluzione della voce ARP. È presente un limitatore di velocità hardware chiamato glean posizionato per proteggere il processore (CPU) del supervisore da un traffico eccessivo.
Un problema che può verificarsi è rappresentato da un singolo indirizzo IP di destinazione che viene scaricato dalla rete a causa di un problema di manutenzione o hardware e che improvvisamente tutto il traffico ad esso destinato viene inviato alla CPU. Poiché il limitatore di velocità è in posizione, la CPU non diventa alta, ma questo IP di destinazione singolo può utilizzare l'intero limitatore di velocità e non fornire ad altri IP legittimi l'accesso alla CPU. È per questo scenario che è stata creata la regolazione dell'ingranaggio IP hardware.
Con la configurazione dell'accelerazione dell'ip hardware, il traffico indirizzato per ciascuna IP di destinazione sconosciuta raggiunge l'azione HWRL (Post Hardware Rate Limiter) della CPU per la risoluzione ARP. Una destinazione irraggiungibile determina la creazione di un'adiacenza di rilascio /32 nell'hardware. In questo modo, si impedisce che altri pacchetti indirizzati allo stesso indirizzo IP dell'hop successivo vengano inoltrati al supervisore. Quando si aggiunge questa adiacenza di drop, i pacchetti successivi vengono scartati ma il supervisore continua a generare le richieste ARP fino alla risoluzione dell'hop successivo. L'adiacenza di rilascio viene installata per un breve periodo di tempo, che è configurabile. Alla scadenza del timer, un pacchetto viene inviato di nuovo alla CPU e il processo si ripete. Il numero di voci installate in questo modo è limitato a 1000 per impostazione predefinita, ma è configurabile su un numero maggiore di voci desiderate. In questo modo si limita l'impatto sulle dimensioni della tabella RIB (Routing Information Base).
Test di laboratorio
In questo caso, il server 172.28.191.200 non è attivo a causa di un errore hardware e non è attualmente disponibile per il traffico.
Nota: Non esiste una voce ARP per l'host e non viene creata alcuna adiacenza.
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
Il traffico viene inviato al supervisore per generare una richiesta 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
Il glean rate limiter per il modulo specifico limita il traffico a 100 pacchetti al secondo, per modulo. Potete vedere che alcuni pacchetti vengono scartati.
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
Quando il comando hardware ip glean throttle è configurato:
N7K(config)#hardware ip glean throttle
Nella scheda RIB è installata un'adiacenza:
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
Quando si controlla la programmazione hardware, viene installato un indice di rilascio:
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
È possibile notare che il limitatore di velocità hardware non rileva alcuna perdita.
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
Informazioni correlate