Estoy leyendo sobre TCP / IP y otros protocolos y tecnologías relacionados. Las direcciones MAC se describen como (razonablemente :) únicas y con un gran espacio de posibilidades (varios cientos de billones), a la vez que se asignan a todas las interfaces de red. ¿Cuáles son las razones históricas y técnicas por las que se usan las direcciones IPv4 o IPv6 en lugar de las direcciones MAC para la comunicación entre redes?
¿Me estoy perdiendo algo fundamental o es solo una razón tonta (por ejemplo, construir sobre la tecnología heredada)?
networking
mac-address
ipv4
Félix Saparelli
fuente
fuente
Respuestas:
La dirección MAC puede ser única, pero no hay nada especial en el número que indique dónde está. MAC
00-00-00-00-00-00
podría estar al otro lado del planeta00-00-00-00-00-01
.IP es un esquema de numeración arbitrario impuesto de manera jerárquica en un grupo de computadoras para distinguirlas lógicamente como un grupo (eso es una subred). El envío de mensajes entre esos grupos se realiza mediante tablas de enrutamiento, divididas en varios niveles para que no tengamos que hacer un seguimiento de cada subred. Por ejemplo,
17.x.x.x
está dentro de la red de Apple. A partir de ahí, Apple sabrá dónde se encuentran cada una de sus miles de subredes y cómo llegar a ellas (nadie más necesita saber esta información, solo necesitan saber que 17.todo va a Apple).También es bastante fácil relacionar esto con otro par de sistemas. Tiene un número de identificación emitido por el estado, ¿por qué necesitaría una dirección postal si ese número de identificación ya es exclusivo para usted? Necesita la dirección de correo porque es un sistema arbitrario que describe dónde debe ir el destino único para las comunicaciones con usted.
fuente
Porque las tablas de enrutamiento se volverían imposiblemente grandes.
Las direcciones IP se asignan jerárquicamente, por lo que un enrutador puede agrupar rutas por prefijos de dirección. El número de sistemas autónomos presentes en la red ahora es lo suficientemente razonable como para caber en el hardware actual.
Por otro lado, la distribución de las direcciones MAC en la red es aleatoria y no tiene ninguna relación con la topología. La agrupación de rutas sería imposible, cada enrutador necesitaría hacer un seguimiento de las rutas para cada dispositivo que transmite el tráfico a través de él. Eso es lo que hacen los switches de capa 2, y eso no escala mucho más allá de un cierto número de hosts.
fuente
El mundo no funciona exclusivamente en Ethernet (al menos históricamente). La capa IP es independiente de la capa de hardware debajo de ella.
Los nodos PPP no tienen direcciones Mac. Tampoco arcnet, token ring, fddi, hppi. Es posible que esos otros estándares no sean tan relevantes hoy en día, pero Ethernet puede ser reemplazado por otras tecnologías en el futuro y sería transparente para la capa IP.
Hay una discusión más larga sobre cómo seguimos inventando nuevos protocolos de hardware y llamándolos ethernet, pero estoy divagando ...
fuente
Además del enrutamiento jerárquico de IP, tenerlos separados de las direcciones MAC le permite cambiar su tarjeta de red o computadora completa mientras conserva la misma dirección IP (y, por lo tanto, la topología de red lógica).
Esta abstracción permite una red mucho más flexible y mantenible.
fuente
Eche un vistazo al modelo OSI : http://en.wikipedia.org/wiki/OSI_model
Esto explica por qué no tiene sentido hacer un enrutamiento, un concepto de capa 3, decisiones basadas en un mecanismo físico de capa 2.
Las redes modernas se dividen en muchas capas diferentes para lograr su comunicación de extremo a extremo. Su tarjeta de red (a la que se dirige la dirección mac [dirección física]) solo debe ser responsable de comunicarse con sus pares en su red física.
La comunicación que puede realizar con su dirección MAC se limitará a otros dispositivos que residen en contacto físico con su máquina. En Internet, por ejemplo, no está físicamente conectado a cada máquina. Es por eso que utilizamos el mecanismo TCP / IP (una capa 3, dirección lógica) cuando necesitamos comunicarnos con una máquina a la que no estamos físicamente conectados.
fuente
b0fh es correcto, pero también porque las direcciones MAC no siempre son únicas.
Ver por ejemplo en escenarios de virtualización. Aquí varios hosts pueden servir máquinas virtuales con las mismas direcciones MAC.
fuente
Las tablas de enrutamiento para las direcciones MAC necesitarían casi todos los dispositivos con una dirección MAC en la lista. El enrutamiento a Internet para IP es una sola entrada 0.0.0.0/0. Para las clases de redes se dividen en 10.0.0.0/8 172.16.0.0/16 y 192.168.0.0/24. Muchos de estos se pueden agregar como 172.16.0.0/12 y 192.168.0.0/16 reduciendo aún más el tamaño de la tabla de enrutamiento.
Las rutas se buscan en orden inverso al número de un bit en su máscara. Esto hace que el enrutamiento a 192.168.100.0/24 funcione cuando hay una ruta para 192.168.0.0/16 y otra para 0.0.0.0/0 (ruta predeterminada).
EDITAR: Originalmente, el rango de IP se dividió en varias clases; A, B y C son los más significativos. La clase A constituía la primera mitad del rango de direcciones, el rango B el siguiente trimestre y el rango C los siguientes ocho del rango. Estas clases tenían máscaras de 8, 16 y 24 bits respectivamente. Más tarde, se abandonó el uso estricto de estas máscaras y la asignación de direcciones se realizó en una variedad de tamaños.
El tamaño de la asignación siempre es una potencia de 2 y se reservan las direcciones más bajas y más altas en cada asignación. Cada asignación también tendrá una dirección para un enrutador. Esta es a menudo la dirección no reservada más alta o más baja. La asignación práctica más pequeña es una dirección / 30.
IPv6 utiliza la misma forma de asignación con un / 64, la asignación más pequeña que puede aparecer en Internet. Típicamente, y al ISP se le asignará una asignación mucho mayor, que es todo lo que los enrutadores de Internet necesitarían saber. Las asignaciones esperadas se especifican en los RFC. El ISP necesitaría saber cómo enrutar su propia subred y qué direcciones enrutar a qué enrutadores de interconexión. Esto es significativamente más simple que saber cómo enrutar cada dirección mac.
fuente
Creo que el punto principal que intentan transmitir es que las direcciones MAC están determinadas por los proveedores, por lo que no existe un esquema de direccionamiento coherente que se pueda cumplir en una subred local debido a la gran variedad de fabricantes que hacen interfaces.
Las direcciones MAC se usan cuando la dirección de destino está en la subred local (192.168.0.x, por ejemplo). Cuando el tráfico no coincide con la subred local, la computadora se refiere a la tabla de enrutamiento. En general, la tabla de enrutamiento le indicará a cualquier tráfico que no coincida con la subred local (0.0.0.0) que se dirija a la puerta de enlace local, en cuyo punto cualquier afiliación a las direcciones MAC se elimina por completo. La única forma en que las direcciones MAC podrían usarse globalmente sería tener una subred plana, enorme y plana, que sería totalmente inviable.
fuente
La dirección MAC puede ser la misma en diferentes adaptadores de Ethernet en la misma máquina. SUN tenía una dirección MAC única para cada máquina. Entonces, las tarjetas de ethernet para las computadoras SUN no tenían una dirección MAC única, la máquina sí.
Entonces, cuando conectó la máquina a dos redes diferentes, tenía la misma dirección MAC en ambas redes.
fuente
Las direcciones MAC son las direcciones de la capa de enlace (2n) en el modelo ISO / OSI y el modelo TCP / IP . Significa que las direcciones MAC se usan para conectar nodos dentro de una red local (punto a punto). Las direcciones IP son las direcciones de la capa de red (tercera) dentro de Internet (de extremo a extremo).
Ambas direcciones se usan solo en su capa y no están destinadas a usarse fuera de ella.
fuente
La dirección MAC de una dirección IP de destino solo es útil, para la entrega de paquetes, dentro de un único dominio de difusión local.
fuente
La gente aquí declaró que el problema de usar direcciones MAC en lugar de direcciones IPv4 es el enrutamiento, porque las tablas de enrutamiento crecerían mucho, sin embargo, eso supone enrutadores IPv4. Es posible tener pequeñas tablas de enrutamiento, y si le interesa cómo, busque enrutamiento de espacio de nombres plano. Uno de los documentos que describe esa técnica es este: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf
fuente
Recuerdo que las direcciones MAC son realmente direcciones Ethernet. Las direcciones de Ethernet se dividen en dos partes: una parte del proveedor, que identifica al vendedor de la tarjeta ethernet y una parte de la dirección asignada por el proveedor. Depende del vendedor hacerlos únicos, o no.
Por lo tanto, el espacio de direcciones MAC de 48 bits no se usa de manera eficiente ni, como se mencionó varias veces anteriormente, jerárquicamente.
La dirección está diseñada para tener direcciones únicas en una red de red CSMA local.
Al menos, lo mejor que recuerdo.
Las direcciones IP están diseñadas para escalar de manera mucho más general y para resolver un problema diferente.
fuente