Por que o ipv6 especifica o endereço de 128 bits, quando existem apenas 48 bits nos endereços MAC?

37

Então, estou lendo para um exame de rede e estou me perguntando se perdi algo básico. Há necessidade de mais endereços IP do que endereços MAC e como um nó com um adaptador de rede receberia muitos endereços IP nesse caso?

Lorentz Vedeler
fonte
2
+1, apesar de ser óbvio que o MAC deve ser exclusivo apenas para dispositivos em uma rede local (conectada ao mesmo barramento), enquanto a camada da Internet consolida todas as redes locais em uma rede global, na qual o princípio fundamental do projeto divide uma conquista, prescreve precisamente que o local as redes desconhecem os endereços locais nas outras redes locais para se comunicar com sucesso por meio do esquema IP global e, além disso, você pode conectar redes locais não baseadas em Ethernet à Internet. Portanto, estou interessado em saber qual seria a resposta se o IP exigisse apenas Ethernet no nível inferior.
Val
11
A transição do IPv4 para o IPv6 foi - e é - tão lenta e cara que não queremos mais enfrentar outra transição. 128 bits têm chances razoáveis ​​de serem suficientes "para sempre". tools.ietf.org/html/rfc1606 é um exemplo bem humorado disso ("Como o protocolo IP versão 9 chega ao fim de sua vida útil, mais uma vez devido à exaustão do espaço de endereço, ...")
Beni Cherniavsky- Paskin
@ BeniCherniavsky-Paskin, a transição é lenta porque os NATs atenuam a necessidade. Novamente, isso nos mostra que não precisamos do espaço de endereço local para cobrir o espaço de endereço global.
Val

Respostas:

40

Os endereços MAC só precisam ser exclusivos em um domínio de transmissão local, e não globalmente; portanto, a reutilização de endereços MAC em redes diferentes geralmente não é um problema.

A Internet não é um domínio de transmissão global e, portanto, precisa ser dividida em muitos blocos de endereços atribuídos a diferentes ISPs, e cada ISP divide seus blocos em blocos menores para diferentes clientes / serviços. Para permitir que cada um desses blocos menores contenha muitos endereços MAC, você precisa ter o espaço IP muito maior que o espaço de endereço MAC.

Teun Vink
fonte
8
Também por causa da agregação. 48bits seriam endereços IP mais do que suficientes (40k por pessoa), mas isso significaria que cada roteador precisa olhar para uma tabela plana de mais de 2PB, que a tecnologia não existe.
usar o seguinte código
11
@ytti: Pelo menos até que todos nós temos nanorobôs ip-habilitado em nossa corrente sanguínea
BlueRaja - Danny Pflughoeft
11
Eles provavelmente podem usar o linklocal, pois apenas alguns deles teriam interface fora da rede local.
usar o seguinte comando
11
No papel , eles deveriam ser globalmente únicos. No entanto, sabe-se que a realidade difere.
Ricky feixe
4
Isso justificaria outra pergunta. Mas o endereço MAC é feito a partir do número OUI 24b ou 36b que você compra no IEEE, que deve ser único, mas, na prática, para economizar US $ 1300, algumas pessoas usam a OUI de outras pessoas ou outras fabricam NIC com MAC não exclusivo. Enquanto o endereço MAC é 48b, na verdade é apenas 46b, pois 1 bit determina se é unicast / multicast e 1 bit é global / local, se o bit de escopo local estiver ativado, todas as apostas serão desativadas por exclusividade.
usar o seguinte comando
16

Nem todos os tipos de interfaces de rede usam endereços MAC. Os endereços MAC são principalmente associados à Ethernet, embora muitos outros padrões de rede o usem. No entanto, um endereço IPv6 ainda pode ser atribuído a uma interface de rede que não usa endereços MAC para a Camada 2.

Observe também que um endereço MAC pode ser convertido em uma parte do host IPv6 por meio da conversão EUI-64 (usada principalmente para configuração automática sem estado), inserindo os valores hexadecimais FFFE entre os 24 bits mais à esquerda e mais à direita do endereço MAC de 48 bits, e o sétimo bit é invertido.

Portanto, por exemplo, 0c: 3a: bb: 2a: cd: 23 pode ser convertido na parte do host de um endereço IPv6 de configuração automática sem estado. 0c nos endereços MAC acima, representados como 0000 1100 em binário, se tornaria 0000 1110 em binário ou 0e em hexadecimal. Portanto, a parte final do host EUI-64 do endereço IPv6, convertida do endereço MAC, seria 0e: 3a: bb: ff: fe: 2a: cd: 23.

WaxTrax
fonte
11
Você também precisa inverter o endereço MAC 'local bit'
ytti
Esqueci essa parte - editei minha resposta para refletir as informações. Obrigado por pegar isso :-)
WaxTrax
Script tolo para fazê-lo 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
A conversão do endereço MAC para EUI-64 para uso na alocação de IP parece ser uma coisa posterior; o padrão IPv6 sobre Ethernet original (RFC 2464) especificava endereços MAC com prefixo zero.
Peter Green
6

Além disso, existem alguns protocolos da camada 2 com mais de 48 bits no MAC, por exemplo, o Fibre Channel possui 64 bits (ou 128 bits aparentemente de acordo com a Wikipedia), assim como o FireWire (bem, meio), para que eles possam se encaixar em um / 64 sem o potencial de sobreposição.

LapTop006
fonte
4

O IPv6 SLAAC pode gerar apenas um endereço por prefixo, pois está usando o MAC para gerar um endereço razoavelmente exclusivo. As extensões de privacidade podem gerar um ou mais endereços pseudo-aleatórios, que são verificados quanto a sobreposições no segmento local. Obviamente, os administradores locais podem atribuir quantos endereços estáticos desejarem - o trabalho deles é garantir que não haja sobreposições.

[Por razoavelmente único, quero dizer que a probabilidade de uma colisão é nula. E se isso acontecer, você terá um problema de camada 2 primeiro! (duas máquinas no mesmo segmento com o mesmo MAC)]

Ricky Beam
fonte
As extensões de privacidade abafadas foram uma reflexão tardia quando as pessoas perceberam que o autoconfig baseado em MAC era um pesadelo de privacidade. Não uma das forças motrizes na concepção do IPv6
Peter Green
A maior parte do IPv6 é uma reflexão tardia ... Aqueles que não aprendem com a história estão condenados a repeti-la.
Ricky Beam
2

Eu acho que fundamentalmente se resume a dois pontos-chave.

  1. Os endereços da Internet não precisam apenas ser globalmente únicos, eles precisam ser roteáveis ​​globalmente. Encaminhar o endereço de cada máquina individualmente resultaria em tabelas de roteamento proibitivamente grandes. Os projetistas do IPv6 sonhavam com um sistema de roteamento hierárquico * para manter pequenas as tabelas de roteamento.
  2. Os projetistas do IPv6 queriam a configuração automática sem estado. A configuração automática sem estado exige que a parte "host" do endereço seja grande, para acomodar um endereço de link existente ou para acomodar um número aleatório grande o suficiente para que as colisões sejam muito improváveis.

Coloque esses pontos juntos e você precisará que as partes "host" e "rede" de um endereço sejam grandes. Certamente mais de 32 bits cada. Cada um de 64 bits provavelmente foi um exagero, mas um exagero melhor do que acabar.

* O sonho não deu certo porque a Internet não é uma hierarquia fixa, mas não se trata do que realmente aconteceu nos últimos 20 anos desde a introdução do IPv6, é sobre o que impulsionou o design.

Peter Green
fonte