¿Por qué ipv6 especifica una dirección de 128 bits, cuando solo hay 48 bits en las direcciones MAC?

37

Entonces, estoy leyendo para un examen de redes, y me pregunto si me he perdido algo básico. ¿Existe la necesidad de más direcciones IP que direcciones MAC, y cómo se asignaría a un nodo con un adaptador de red muchas direcciones IP en ese caso?

Lorentz Vedeler
fuente
2
+1 a pesar de que es obvio que MAC debe ser único solo para dispositivos dentro de una red local (conectado al mismo bus) mientras que la capa de Internet consolida todas las redes locales en una red global por la cual el principio fundamental de diseño, divide una conquista, prescribe precisamente ese local las redes desconocen las direcciones locales dentro de las otras redes locales para comunicarse con éxito a través del esquema de IP global y, además, puede conectar redes locales no basadas en Ethernet a Internet. Por lo tanto, estoy interesado en saber cuál sería la respuesta si IP exigiera Ethernet solo en el nivel inferior.
Val
1
La transición de IPv4 a IPv6 fue, y es, tan lenta y costosa que no queremos enfrentar otra transición nunca más. 128 bits tienen posibilidades razonables de ser suficiente "para siempre". tools.ietf.org/html/rfc1606 es una gran versión humorística de eso ("A medida que el protocolo IP versión 9 llega al final de su vida útil, una vez más debido al agotamiento del espacio, ...")
Beni Cherniavsky- Paskin
@ BeniCherniavsky-Paskin, la transición es lenta porque los NAT mitigan la necesidad. Nuevamente, esto nos muestra que no necesitamos el espacio de direcciones local para cubrir el espacio de direcciones global.
Val

Respuestas:

40

Las direcciones MAC solo deben ser únicas en un dominio de difusión local, no global, por lo que la reutilización de las direcciones MAC en diferentes redes generalmente no es un problema.

Internet no es un dominio de transmisión global y, por lo tanto, debe dividirse en muchos bloques de direcciones asignados a diferentes ISP y cada ISP divide sus bloques en bloques más pequeños para diferentes clientes / servicios. Para permitir que cada uno de estos bloques más pequeños contenga muchas direcciones MAC, debe tener el espacio IP mucho más grande que el espacio de direcciones MAC.

Teun Vink
fuente
8
También por agregación. 48 bits serían más que suficientes direcciones IP (40k por persona), pero eso significaría que cada enrutador necesita mirar una tabla plana de más de 2 PB, esa tecnología no existe.
ytti
1
@ytti: Al menos hasta que todos tengamos nanorobots con IP habilitado en nuestros torrente sanguíneo
BlueRaja - Danny Pflughoeft
1
Probablemente puedan usar linklocal, ya que solo unos pocos interactuarían fuera de la red local.
ytti
1
En el papel , se supone que son únicos a nivel mundial. Sin embargo, se sabe que la realidad difiere.
Ricky Beam
44
Esto justificaría otra pregunta. Pero la dirección MAC se realiza a partir del número OUI de 24b o 36b que compra de IEEE, que debería ser único, pero en la práctica para ahorrar 1300USD, algunas personas usan OUI de otras personas, o algunas personas fabrican NIC con MAC no único. Si bien la dirección MAC es 48b, en realidad es solo 46b, ya que 1 bit determina si es unidifusión / multidifusión y 1 bit si es global / local, si el bit de alcance local está activado, entonces todas las apuestas están desactivadas por unicidad.
ytti
16

No todos los tipos de interfaces de red usan direcciones MAC. Las direcciones MAC se asocian principalmente con Ethernet, aunque muchos otros estándares de red lo utilizan. Sin embargo, una dirección IPv6 todavía se puede asignar a una interfaz de red que no utiliza direcciones MAC para la capa 2.

También es de destacar que una dirección MAC se puede convertir en una porción de host IPv6 a través de la conversión EUI-64 (utilizada principalmente para la configuración automática sin estado), insertando los valores hexadecimales FFFE entre los 24 bits más a la izquierda y más a la derecha de la dirección MAC de 48 bits, y el séptimo bit se invierte.

Entonces, por ejemplo, 0c: 3a: bb: 2a: cd: 23 se puede convertir a la parte del host de una dirección IPv6 de autoconfiguración sin estado. 0c en las direcciones MAC anteriores, representadas como 0000 1100 en binario, se convertiría en 0000 1110 en binario o 0e en hexadecimal. Por lo tanto, la porción de host final EUI-64 de la dirección IPv6, convertida de la dirección MAC, sería 0e: 3a: bb: ff: fe: 2a: cd: 23.

WaxTrax
fuente
1
También debe voltear la dirección MAC 'bit local'
ytti
Olvidé esa parte: edité mi respuesta para reflejar la información. Gracias por atrapar eso :-)
WaxTrax
Script tonto para hacerlo automáticamente: 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 traducción de la dirección MAC a EUI-64 para su uso en la asignación de IP parece ser algo posterior, el IPv6 original sobre el estándar Ethernet (RFC 2464) especificó direcciones MAC con prefijo cero.
Peter Green
6

Además, hay algunos protocolos de capa 2 con más de 48 bits en su MAC, por ejemplo, Fibre Channel tiene 64 bits (o 128 bits aparentemente según Wikipedia) al igual que FireWire (bueno, un poco), por lo que pueden caber en un / 64 sin el potencial de superposición.

LapTop006
fuente
4

IPv6 SLAAC solo puede generar una dirección por prefijo, ya que utiliza el MAC para generar una dirección razonablemente única. Las extensiones de privacidad pueden generar una o más direcciones seudoaleatorias que luego se comprueban para detectar superposiciones en el segmento local. Por supuesto, los administradores locales pueden asignar tantas direcciones estáticas como deseen; es su trabajo asegurarse de que no se superpongan.

[Por razonablemente único quiero decir que la probabilidad de una colisión es nula. Y si lo hace, ¡primero tendrá un problema de capa 2! (dos máquinas en el mismo segmento con el mismo MAC)]

Ricky Beam
fuente
Las extensiones de privacidad falsas fueron una ocurrencia tardía cuando la gente se dio cuenta de que la configuración automática basada en MAC era una pesadilla de privacidad. No es una de las fuerzas impulsoras en el diseño de IPv6
Peter Green
La mayor parte de IPv6 es una idea de último momento ... Aquellos que no aprenden de la historia están condenados a repetirlo.
Ricky Beam
2

Creo que fundamentalmente se reduce a dos puntos clave.

  1. Las direcciones de Internet no solo deben ser globalmente únicas, sino que también deben ser globalmente enrutables. Enrutar la dirección de cada máquina individualmente daría como resultado tablas de enrutamiento prohibitivamente grandes. Los diseñadores de IPv6 soñaron con un sistema de enrutamiento jerárquico * para mantener pequeñas las tablas de enrutamiento.
  2. Los diseñadores de IPv6 querían la configuración automática sin estado. La configuración automática sin estado requiere que la parte "host" de la dirección sea grande, para acomodar una dirección de enlace existente o para acomodar un número aleatorio lo suficientemente grande como para que las colisiones sean muy improbables.

Ponga estos puntos juntos y necesitará que las partes "host" y "red" de una dirección sean grandes. Ciertamente más de 32 bits cada uno. 64 bits cada uno fue probablemente exagerado pero mejor exagerado que quedarse sin nada.

* El sueño realmente no funcionó porque Internet no es una jerarquía fija, pero no se trata de lo que realmente sucedió en los 20 años más o menos desde que se introdujo IPv6, se trata de lo que impulsó el diseño.

Peter Green
fuente