Perché ipv6 specifica un indirizzo a 128 bit, quando ci sono solo 48 bit negli indirizzi MAC?


37

Quindi, sto leggendo per un esame di rete e mi chiedo solo se ho perso qualcosa di base. È necessario disporre di più indirizzi IP rispetto agli indirizzi MAC e in che modo a un nodo con una scheda di rete verrebbero assegnati più indirizzi IP in quel caso?


2
+1 nonostante sia ovvio che MAC deve essere unico solo per i dispositivi all'interno di una rete locale (connessa allo stesso bus) mentre il livello Internet consolida tutte le reti locali in una rete globale per cui il principio di progettazione fondamentale, dividere una conquista, prescrive precisamente quel locale le reti non sono consapevoli degli indirizzi locali all'interno delle altre reti locali per comunicare correttamente tramite lo schema IP globale e, inoltre, è possibile collegare a Internet reti locali non basate su Ethernet. Quindi, sono interessato a sapere quale sarebbe la risposta se IP richiedesse solo Ethernet al livello inferiore.
Val

1
La transizione da IPv4 a IPv6 è stata - ed è - così lenta e costosa che non vogliamo più affrontare un'altra transizione. 128 bit hanno ragionevoli possibilità di essere abbastanza "per sempre". tools.ietf.org/html/rfc1606 è una grande idea umoristica al riguardo ("Dato che il protocollo IP versione 9 arriva alla fine della sua vita utile, ancora una volta a causa dell'esaurimento dello spazio, ...")
Beni Cherniavsky- Paskin,

@ BeniCherniavsky-Paskin, la transizione è lenta perché i NAT mitigano la necessità. Ancora una volta, questo ci mostra che non abbiamo bisogno dello spazio degli indirizzi locali per coprire lo spazio degli indirizzi globale.
Val

Risposte:


40

Gli indirizzi MAC devono essere univoci solo in un dominio di trasmissione locale, non a livello globale, quindi il riutilizzo di indirizzi MAC in reti diverse di solito non è un problema.

Internet non è un dominio di trasmissione globale e quindi deve essere diviso in molti blocchi di indirizzi assegnati a diversi ISP e ogni ISP divide i suoi blocchi in blocchi più piccoli per clienti / servizi diversi. Per consentire a ciascuno di questi blocchi più piccoli di contenere molti indirizzi MAC, è necessario disporre di uno spazio IP molto più grande dello spazio degli indirizzi MAC.


8
Anche a causa dell'aggregazione. 48 bit sarebbero indirizzi IP più che sufficienti (40k a persona), ma ciò significherebbe che ogni router deve guardare una tabella piatta di oltre 2 PB, che la tecnologia non esiste.
ytti

1
@ytti: Almeno fino a quando non avremo tutti i nanorobot con ip abilitati nei nostri
flussi di

1
Probabilmente possono usare linklocal poiché solo pochi si interfacciano al di fuori della rete locale.
ytti,

1
Sulla carta , dovrebbero essere unici a livello globale. Tuttavia, si sa che la realtà differisce.
Ricky Beam,

4
Ciò meriterebbe un'altra domanda. Ma l'indirizzo MAC viene ottenuto dal numero OUI 24b o 36b acquistato dall'IEEE, che dovrebbe essere univoco, ma in pratica per risparmiare 1300USD alcune persone usano OUI di altre persone o alcune persone producono NIC con MAC non univoco. Mentre l'indirizzo MAC è 48b, in realtà è solo 46b, poiché 1 bit determina se è unicast / multicast e 1 bit se è globale / locale, se il bit dell'ambito locale è attivo, quindi tutte le scommesse sono disattivate per unicità.
ytti,

16

Non tutti i tipi di interfacce di rete utilizzano indirizzi MAC. Gli indirizzi MAC sono per lo più associati a Ethernet, anche se molti altri standard di rete lo utilizzano. Tuttavia, è ancora possibile assegnare un indirizzo IPv6 a un'interfaccia di rete che non utilizza indirizzi MAC per il livello 2.

Inoltre, un indirizzo MAC può essere convertito in una porzione host IPv6 tramite la conversione EUI-64 (utilizzata principalmente per l'autoconfigurazione senza stato), inserendo i valori esadecimali FFFE tra i 24 bit più a sinistra e più a destra dell'indirizzo MAC a 48 bit, e il settimo bit viene invertito.

Quindi, ad esempio, 0c: 3a: bb: 2a: cd: 23 può essere convertito nella porzione host di un indirizzo IPv6 di autoconfigurazione senza stato. 0c negli indirizzi MAC sopra indicati, rappresentato come 0000 1100 in binario, diventerebbe 0000 1110 in binario o 0e in esadecimale. Pertanto la parte host EUI-64 finale dell'indirizzo IPv6, convertita dall'indirizzo MAC, sarebbe 0e: 3a: bb: ff: fe: 2a: cd: 23.


1
Devi anche capovolgere l'indirizzo MAC "bit locale"
ytti

Mi sono dimenticato di quella parte - ho modificato la mia risposta per riflettere le informazioni. Grazie per averlo colto :-)
WaxTrax il

Script sciocco per farlo automaticamente: ruby ​​-e'EUI = (ARGV [1]); k = ARGV [0] .delete (":."). Scan (/. {6} /). Join ("fffe" ) .scan (/../); k [0] = "% 02x"% (k [0] .hex ^ 0b10); p EUI + ":" + k.join.scan (/..../) .join (":") '74: 66: 30: 42: 42: 42 2001: 67c: 17a0: 0
ytti

La traduzione dell'indirizzo MAC in EUI-64 per l'uso nell'allocazione IP sembra essere una cosa successiva, lo standard IPv6 over Ethernet originale (RFC 2464) ha specificato indirizzi MAC con zero prefissi.
Peter Green,

6

Inoltre, ci sono alcuni protocolli di livello 2 con più di 48 bit nel loro MAC, ad esempio Fibre Channel ha 64 bit (o 128 bit apparentemente secondo Wikipedia) così come FireWire (beh, un po '), quindi possono adattarsi a un / 64 senza il potenziale di sovrapposizione.


4

Lo SLAAC IPv6 può generare un solo indirizzo per prefisso poiché utilizza il MAC per generare un indirizzo ragionevolmente univoco. Le estensioni di privacy possono generare uno o più indirizzi pseudo-casuali che vengono quindi controllati per eventuali sovrapposizioni sul segmento locale. Naturalmente, gli amministratori locali possono assegnare tutti gli indirizzi statici che desiderano: il loro compito è garantire che non si sovrappongano.

[Per ragionevolmente unico intendo che la probabilità di una collisione è nulla. E se lo fa, avrai prima un problema di livello 2! (due macchine sullo stesso segmento con lo stesso MAC)]


Le estensioni della privacy di Afaict sono state ripensate quando le persone hanno capito che la configurazione automatica basata su MAC era un incubo per la privacy. Nessuna delle forze trainanti nella progettazione di IPv6
Peter Green,

Gran parte di IPv6 è un ripensamento ... Coloro che non imparano dalla storia sono condannati a ripeterlo.
Ricky Beam,

2

Penso che fondamentalmente si tratti di due punti chiave.

  1. Gli indirizzi Internet non devono solo essere univoci a livello globale, ma devono essere instradabili a livello globale. Il routing dell'indirizzo di ogni macchina individualmente comporterebbe tabelle di routing proibizionalmente grandi. I progettisti di IPv6 hanno sognato un sistema di routing gerarchico * per mantenere piccole le tabelle di routing.
  2. I progettisti di IPv6 volevano la configurazione automatica senza stato. La configurazione automatica senza stato richiede che la parte "host" dell'indirizzo sia grande, per contenere un indirizzo di collegamento esistente o per ospitare un numero casuale abbastanza grande da rendere improbabili le collisioni.

Metti insieme questi punti e hai bisogno che sia la parte "host" che la "rete" di un indirizzo siano grandi. Certamente più di 32 bit ciascuno. 64 bit ciascuno era probabilmente eccessivo ma migliore di quello che si esauriva.

* Il sogno non ha funzionato davvero perché Internet non è una gerarchia fissa, ma non si tratta di ciò che è realmente accaduto negli ultimi 20 anni dall'introduzione dell'IPv6, ma di ciò che ha guidato il design.

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.