Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Topologia

Introduzione

Verifica riscrittura MAC

Verifica MAC hop successivo

Verifica tabella di routing

Verifica decisione inoltro Nexus (riscrittura MAC)

Verifica indirizzo MAC di origine successivo

Verifica finale

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