Cada pieza de hardware en su red local tiene una dirección MAC además de la dirección IP asignada por el enrutador o servidor local. ¿Para qué es exactamente esa dirección MAC?
La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios web de preguntas y respuestas impulsada por la comunidad.
La pregunta
El lector de superusuario Vishnu Vivek siente curiosidad por las direcciones MAC y su función:
Entiendo que las direcciones IP son jerárquicas, de modo que los enrutadores de Internet saben en qué dirección reenviar un paquete. Con direcciones MAC, no hay jerarquía y, por lo tanto, el reenvío de paquetes no sería posible. Por tanto, las direcciones MAC no se utilizan para la transferencia de paquetes.
No creo que se quede ahí sin ningún motivo. Entonces, mi pregunta es, ¿dónde entra en juego exactamente una dirección MAC durante una transferencia de paquetes?
¿Dónde de hecho? ¿Cuál es la función específica de la dirección MAC?
La respuesta
El colaborador de superusuario Werner Henze ofrece una idea de la función de la dirección MAC:
¿Para qué se utilizan las direcciones MAC?
Las direcciones MAC son los conceptos básicos de bajo nivel que hacen que su red basada en ethernet funcione.
Cada una de las tarjetas de red tiene una dirección MAC única. Los paquetes que se envían a través de Ethernet siempre provienen de una dirección MAC y se envían a una dirección MAC. Si un adaptador de red está recibiendo un paquete, está comparando la dirección MAC de destino del paquete con la dirección MAC del propio adaptador. Si las direcciones coinciden, el paquete se procesa; de lo contrario, se descarta.
Hay direcciones MAC especiales, una por ejemplo es ff: ff: ff: ff: ff: ff, que es la dirección de transmisión y direcciona cada adaptador de red en la red.
¿Cómo funcionan juntas las direcciones IP y MAC?
IP es un protocolo que se utiliza en una capa por encima de ethernet. Otro protocolo, por ejemplo, sería IPX.
Cuando su computadora desea enviar un paquete a alguna dirección IP x.x.x.x, la primera comprobación es si la dirección de destino está en la misma red IP que la propia computadora. Si x.x.x.x está en la misma red, entonces se puede acceder directamente a la IP de destino; de lo contrario, el paquete debe enviarse al enrutador configurado.
Hasta ahora las cosas parecen haber empeorado, porque ahora tenemos dos direcciones IP: una es la dirección de destino del paquete IP original, la otra es la IP del dispositivo al que debemos enviar el paquete (el siguiente salto, o el final destino o el enrutador).
Dado que Ethernet usa direcciones MAC, el remitente debe obtener la dirección MAC del siguiente salto. Hay un protocolo especial ARP (protocolo de resolución de direcciones) que se utiliza para eso. Una vez que el remitente ha recuperado la dirección MAC del siguiente salto, escribe esa dirección MAC de destino en el paquete y envía el paquete.
¿Cómo funciona ARP?
ARP en sí es un protocolo por encima de Ethernet, como IP o IPX. Cuando un dispositivo quiere saber la dirección MAC para una dirección IP determinada, envía un paquete a la dirección MAC de transmisión preguntando "¿Quién tiene la dirección IP y.y.y.y?" Todos los dispositivos reciben ese paquete, pero solo el que tiene la dirección IP y.y.y.y responderá con un paquete "Soy yo". El dispositivo que pregunta recibe la respuesta y ahora sabe que la dirección MAC de origen es la dirección MAC correcta para usar. Por supuesto, el resultado se almacenará en caché, por lo que el dispositivo no necesita resolver la dirección MAC cada vez.
Enrutamiento
Casi me olvido de mencionar: no hay enrutamiento basado en direcciones MAC. Las direcciones MAC y Ethernet de bajo nivel solo pueden llegar a todos los dispositivos del mismo red (cableada o inalámbrica). Si tiene dos redes con un enrutador en el medio, no puede hacer que un dispositivo en la red A envíe un paquete a la dirección MAC de un dispositivo en la red B. Ningún dispositivo en la red A tiene la dirección MAC del dispositivo en la red B, por lo que un El paquete a esta dirección MAC será descartado por todos los dispositivos en la red A (también por el enrutador).
El enrutamiento se realiza a nivel de IP. Simplemente visto, el enrutador está haciendo lo que describí anteriormente en la sección "¿Cómo funcionan juntas las direcciones IP y MAC?". El enrutador recibirá paquetes para su propia dirección MAC pero para una dirección IP diferente. Luego verificará si puede comunicarse directamente con la dirección IP de destino. Si es así, envía el paquete al objetivo. De lo contrario, el enrutador también tiene un enrutador ascendente configurado y enviará el paquete a ese enrutador.
Por supuesto, puede tener varios enrutadores configurados. Su enrutador doméstico solo tendrá un enrutador ascendente configurado, pero en la red troncal de Internet, los grandes enrutadores tienen grandes tablas de enrutamiento para que conozcan las mejores formas para todos los paquetes.
Otros casos de uso de direcciones MAC
- Los conmutadores de red almacenan una lista de direcciones MAC que se ven en cada puerto y solo reenvían paquetes a los puertos que necesitan ver el paquete.
- Los puntos de acceso inalámbricos suelen utilizar direcciones MAC para el control de acceso. Solo permiten el acceso a dispositivos conocidos (la dirección MAC es única e identifica dispositivos) con la contraseña correcta.
- Los servidores DHCP utilizan la dirección MAC para identificar dispositivos y dar a algunos dispositivos direcciones IP fijas.