Introduzione
In questo documento viene descritto come verificare la riscrittura di Nexus MAC sugli switch a nastro.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Piattaforma NXOS
- Routing
- ELAM
Componenti usati
Nome |
Piattaforma |
Version |
N9K1 |
N9K-C93108TC-EX |
9.3(10) |
N9K2 |
N9K-C93108TC-EX |
9.3(10) |
N9K3 |
N9K-C93108TC-EX |
9.3(10) |
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.
Topologia

Introduzione
Durante il processo di routing IP, quando i pacchetti attraversano la rete dall'origine alla destinazione, gli indirizzi MAC di origine e destinazione vengono aggiornati a ciascun hop, mentre gli indirizzi IP di origine e destinazione rimangono invariati. Quando un pacchetto raggiunge un router, il router analizza l'indirizzo IP di destinazione per determinare l'hop successivo sul percorso verso la destinazione finale. Il router inoltra quindi il pacchetto all'hop successivo scambiando l'indirizzo mac di destinazione con l'indirizzo mac dell'interfaccia hop successivo e aggiornando l'indirizzo mac di origine al proprio indirizzo mac delle interfacce in uscita.
Questo swap assicura che il pacchetto possa essere consegnato correttamente al router successivo o alla destinazione finale sulla rete locale. Nel frattempo, gli indirizzi IP di origine e di destinazione rimangono costanti per tutto il viaggio, in quanto vengono utilizzati per mantenere il percorso end-to-end e garantire che il pacchetto raggiunga la destinazione corretta attraverso potenzialmente più segmenti di rete.
Verifica riscrittura MAC
Per verificare se la riscrittura del mac viene eseguita correttamente sugli switch Nexus 9K basati su nastro, è necessario verificare due componenti, l'indirizzo mac dell'hop successivo e la decisione di inoltro Nexus.
Nell'esempio, se Nexus sta ricevendo un pacchetto con i Mac di origine e destinazione mostrati, questi MAC vengono riscritti per raggiungere la destinazione:
N9K2# debug platform internal tah elam
N9K2(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
N9K2(TAH-elam-insel6)# set outer ipv4 dst_ip 172.16.1.2
N9K2(TAH-elam-insel6)# start
N9K2(TAH-elam-insel6)# report
SUGARBOWL ELAM REPORT SUMMARY
slot - 1, asic - 0, slice - 0
============================
Incoming Interface: Eth1/1
Src Idx : 0x1, Src BD : 4100
Outgoing Interface Info: dmod 1, dpid 17
Dst Idx : 0x5, Dst BD : 4101
Packet Type: IPv4
Dst mac address: 70:0F:6A:95:1C:F9
Src mac address: 70:0F:6A:5E:6A:3F
Dst IPv4 address: 172.16.1.2
Src IPv4 address: 172.16.1.1
Ver = 4, DSCP = 0, Don't Fragment = 0
Proto = 1, TTL = 255, More Fragments = 0
Hdr len = 20, Pkt len = 84, Checksum = 0x9ebb
L4 Protocol : 1
ICMP type : 8
ICMP code : 0
Verifica MAC hop successivo
In questo documento, per verificare l'indirizzo mac dell'hop successivo, è possibile controllare le tabelle ARP e di routing.
Per questo esempio, il N9K2 verrà esaminato su come riscrivere l'indirizzo mac per la destinazione 172.16.1.2.
Verifica tabella di routing
N9K2# show ip route 172.16.1.2
<Snipped>
172.16.1.2/32, ubest/mbest: 1/0
*via 192.168.1.2, [1/0], 00:09:30, static
Il percorso verso l'hop successivo deve essere controllato finché non viene trovata un'interfaccia fisica come interfaccia in uscita.
N9K2# show ip route 192.168.1.2
<Snipped>
192.168.1.2/32, ubest/mbest: 1/0, attached
*via 192.168.1.2, Eth1/2, [250/0], 00:12:23, am
Dopo aver rilevato e appreso un percorso collegato tramite Gestione adiacenze (am), è possibile procedere con il controllo della voce ARP per l'hop successivo
N9K2# show ip arp 192.168.1.2
<Snipped>
IP ARP Table
Total number of entries: 1
Address Age mac Address Interface Flags
192.168.1.2 00:14:56 700f.6a5e.6d5b Ethernet1/2
700f.6a5e.6d5b è il mac che Nexus deve usare come mac di destinazione per la riscrittura del routing.
Verifica decisione inoltro Nexus (riscrittura MAC)
Al fine di verificare la decisione di inoltro Nexus deve essere presa una cattura ELAM, in particolare il rapporto dettagliato è utilizzato nella sezione RW.
N9K2# debug platform internal tah elam
N9K2(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
N9K2(TAH-elam-insel6)# set outer ipv4 dst_ip 172.16.1.2
N9K2(TAH-elam-insel6)# start
Eseguire il ping verso la destinazione
N9K1# ping 172.16.1.2 source 172.16.1.1
PING 172.16.1.2 (172.16.1.2) from 172.16.1.1: 56 data bytes
64 bytes from 172.16.1.2: icmp_seq=0 ttl=253 time=0.906 ms
64 bytes from 172.16.1.2: icmp_seq=1 ttl=253 time=0.599 ms
64 bytes from 172.16.1.2: icmp_seq=2 ttl=253 time=0.589 ms
64 bytes from 172.16.1.2: icmp_seq=3 ttl=253 time=0.556 ms
64 bytes from 172.16.1.2: icmp_seq=4 ttl=253 time=0.55 ms
--- 172.16.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.55/0.64/0.906 ms
Una volta che il pacchetto ha raggiunto la N9K2, Nexus deve eseguire una ricerca (lu) nella tabella adiacente Tah L3 per raccogliere il mac di destinazione, Nexus deve inserire questo mac nella riscrittura (rw).
N9K2(TAH-elam-insel6)# report detail | i i lurw_vec.dst_addr
GBL_C++: [MSG] sug_lurw_vec.dst_addr: 0x700F6A5E6D5B
Nexus sta determinando l'utilizzo di mac 700F6A5E6D5B come indirizzo mac di destinazione per la riscrittura del pacchetto. Con queste informazioni è possibile confermare che Nexus stia eseguendo la riscrittura corretta, così come è corrispondente all'indirizzo mac di destinazione preso dalle uscite precedenti (70:0f:6a:5e:6d:5b).
Verifica indirizzo MAC di origine successivo
Per l'indirizzo mac di origine del pacchetto Nexus deve utilizzare l'indirizzo mac dell'interfaccia di uscita che sta utilizzando per raggiungere 172.16.1.2, per questo esempio Nexus userà l'indirizzo mac Ethernet 1/2 dell'interfaccia.
N9K2# show interface ethernet 1/2 mac-address
--------------------------------------------------------------------------------
Interface mac-Address Burn-in mac-Address
--------------------------------------------------------------------------------
Ethernet1/2 700f.6a95.1cf9 700f.6a95.1cfb
Verifica finale
La verifica può essere effettuata nel dispositivo dell'hop successivo, ad esempio un ELAM può essere eseguito in N9K3
Per questo esempio con gli output precedenti si prevede che Nexus utilizzi:
Source mac: 700f.6a95.1cf9
MAC di destinazione: 70:0f:6a:5e:6d:5b
N9K3# debug platform internal tah elam
N9K3(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
N9K3(TAH-elam-insel6)# set outer ipv4 dst_ip 172.16.1.2
N9K3(TAH-elam-insel6)# start
N9K3(TAH-elam-insel6)# report
SUGARBOWL ELAM REPORT SUMMARY
slot - 1, asic - 0, slice - 0
============================
Incoming Interface: Eth1/1
Src Idx : 0x5, Src BD : 4101
Outgoing Interface Info: dmod 0, dpid 0
Dst Idx : 0x5bf, Dst BD : 4101
Packet Type: IPv4
Dst mac address: 70:0F:6A:5E:6D:5B
Src mac address: 70:0F:6A:95:1C:F9
Sup hit: 1, Sup Idx: 2788
Dst IPv4 address: 172.16.1.2
Src IPv4 address: 172.16.1.1
Ver = 4, DSCP = 0, Don't Fragment = 0
Proto = 1, TTL = 254, More Fragments = 0
Hdr len = 20, Pkt len = 84, Checksum = 0x9fc0