Perché gli switch non riscrivono gli indirizzi mac?


10

C'è un motivo particolare per cui gli switch Ethernet non cambiano l'indirizzo MAC di un pacchetto?

Serve per l'identificazione dell'host finale utilizzando l'indirizzo MAC o altro?


5
Supponiamo che il tuo nome fosse Kumar. Ti piacerebbe se le persone iniziassero a chiamarti "Jessica"?
Mike Pennington,

1
gli switch non riscrivono i pacchetti (frame); semplicemente li spostano da un'interfaccia all'altra. (nel caso di trasmissione / multicast, questo include la copia su più porte.)
Ricky Beam,

4
Riesci a pensare a un motivo valido per cui uno switch dovrebbe cambiare l'indirizzo MAC?
Teun Vink

Qualche risposta ti è stata d'aiuto? in tal caso, dovresti accettare la risposta in modo che la domanda non continui a comparire per sempre, cercando una risposta. In alternativa, potresti fornire e accettare la tua risposta.
Ron Maupin

Risposte:


10

Se uno switch dovesse modificare gli indirizzi MAC, ciò interromperebbe completamente la rete.

L'indirizzo MAC è un identificatore univoco utilizzato dagli host sulla rete locale.

Se lo switch dovesse modificare il MAC di destinazione, il frame non verrebbe recapitato all'host appropriato. Nel caso in cui, ad esempio, il frame venisse inondato, l'host di destinazione lo lascerebbe cadere perché non sarebbe più destinato all'host.

Se lo switch dovesse modificare l'indirizzo MAC di origine, l'host di destinazione userebbe questo indirizzo MAC per qualsiasi risposta (incluso l'aggiornamento di eventuali voci ARP con dati errati). Ciò comporterebbe la stessa situazione che ho già descritto, solo per tutto il traffico di ritorno.

Ciò potrebbe ulteriormente creare problemi con cose come 802.1X e altri meccanismi che utilizzano l'indirizzo MAC per identificare / classificare il dispositivo.

Potrebbero essere sviluppati meccanismi per fare questo? Sono sicuro che potrebbero. Ma non c'è motivo di farlo a questo punto e questo complicherebbe solo la rete e aggiungerebbe elaborazioni non necessarie. Non siamo vicini a esaurire il pool di indirizzi MAC disponibile, quindi non c'è bisogno di qualcosa come MAT (non so se il concetto di traduzione dell'indirizzo MAC esiste anche da qualche parte, quindi forse ho appena coniato un termine?).


4

La riscrittura degli indirizzi dei datagrammi avviene al livello 3, ad esempio quando i gateway (router o firewall) che eseguono NAT riscrivono gli indirizzi IP degli host sulla rete interna, in modo che appaiano tutti da uno (o pochi) indirizzi IP esterni sul gateway stesso.

La ragione per cui qualcosa di simile non sta accadendo a livello di livello 2 (dove usiamo gli indirizzi MAC per distinguere host e switch fa il movimento dei datagrammi, cioè i frame) è come detto nei commenti sopra che non ce n'è davvero bisogno.

Nel caso di livello tre con NAT, NAT risolve una serie di problemi:

  • Gli indirizzi IP vengono utilizzati per la comunicazione globale e è disponibile un pool limitato di indirizzi IP che deve essere condiviso. Utilizzando NAT, ci si assicura che un numero maggiore di host interni possa condividere un minor numero di indirizzi IP (comunemente solo uno) visibile su Internet pubblico.
  • La riscrittura degli indirizzi IP è considerata da alcuni, ma non da tutti, per aggiungere un livello di sicurezza mascherando gli indirizzi IP delle macchine interne.

Quindi, se seguiamo l'esempio NAT, non c'è davvero bisogno di una controparte di livello due di NAT.

  • Gli indirizzi MAC non vengono utilizzati a livello globale per indirizzare datagrammi su Internet, ma vengono utilizzati per inviare frame agli host giusti sulla sottorete locale. Poiché le sottoreti locali sono relativamente piccole e il numero di possibili indirizzi MAC è molto elevato, non si "esauriscono" gli indirizzi MAC disponibili a livello di livello 2. (L'opzione per riconfigurare manualmente gli indirizzi MAC delle schede di rete su un valore arbitrario non cambia questo)
  • E per il discutibile vantaggio in termini di sicurezza della riscrittura degli indirizzi dei datagrammi durante l'inoltro: poiché gli indirizzi MAC sono utilizzati solo all'interno di una sottorete locale, di solito si ha, in termini relativi, un controllo molto migliore dal punto di vista della sicurezza su quella sottorete (sia fisicamente che la maggior parte dei dispositivi coinvolti) rispetto alla controparte nel caso di livello 3, che è l'intera rete Internet (su cui noi come utenti connessi e ingegneri di rete in pratica non abbiamo alcun controllo di sicurezza).

Spero che questo faccia luce sul perché gli switch non riscrivono gli indirizzi MAC. L'unico caso di livello 3 che mi è venuto in mente è stato NAT, altri sicuramente possono fornire esempi di altri casi di livello 3 in cui le riscritture IP sono garantite (e perché tali tecnologie non hanno davvero senso sul livello di livello 2) .


3
Spot-on, ma ho un piccolo cavillo con la tua risposta. Hai detto che "non c'è davvero bisogno di una controparte di livello due di NAT" ... mentre non ho visto MAC NAT, ho visto tunneling a livello di mac. In alcune circostanze, ha senso passare a "tunnel" di indirizzi mac all'interno di altri indirizzi mac. La situazione che viene subito in mente è IEEE 802.1ah Provider Based Bridging (PBB) . In genere, viene utilizzato per ridimensionare i vlan disponibili / ridurre l'apprendimento dei mac negli anelli della metropolitana del fornitore di servizi
Mike Pennington,

1
@IllvilJa: Ben detto ..! Hai risolto un dubbio che mi confonde nelle ultime settimane. Poche settimane fa, ho pensato come segue ... "un router, quando si occupa di una WAN, tende a inserire il suo indirizzo MAC anziché l'indirizzo MAC di un mittente (su ciascun pacchetto) e passa i pacchetti al destinatario. Ma in caso di LAN, il router non inserisce il suo indirizzo MAC anziché l'indirizzo MAC di un mittente (su ciascun pacchetto) ma passa semplicemente i pacchetti tra mittente e destinatario "Ma dopo la tua spiegazione ho abbastanza chiarezza per distinguere tra" un router "e" un interruttore'. Grazie ancora..!
Maharan,

0

Riscrivere l'indirizzo MAC aggiungerebbe una notevole complessità (lo switch dovrebbe conoscere protocolli di livello superiore come arp in modo da poter riscrivere la risoluzione degli indirizzi), renderebbe più difficile la risoluzione dei problemi, impedirebbe il funzionamento di protocolli come STP e sarebbe generalmente una PITA. Inoltre, normalmente non è necessario.

Il che non significa che non sia possibile. ebtables (la controparte di livello 2 di iptables) ha alcune opzioni per la traduzione dell'indirizzo MAC. Ciò può essere utile se si dispone di switch che non utilizzano tabelle MAC per-vlan e si desidera eseguire un filtro di livello 2.

http://ebtables.netfilter.org/examples/example1.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.