¿Cuál es el uso exacto de una dirección MAC?


126

Entiendo que las direcciones IP son jerárquicas, por lo que los enrutadores de Internet saben en qué dirección reenviar un paquete. Con las direcciones MAC, no hay jerarquía y, por lo tanto, el reenvío de paquetes no sería posible. Por lo tanto, las direcciones MAC no se utilizan para la transferencia de paquetes.

No creo que se quede ahí sin motivo. Entonces mi pregunta es, ¿dónde entra exactamente en juego una dirección MAC durante una transferencia de paquetes?

Respuestas:


57

TL; DR> Las direcciones MAC son un componente de bajo nivel de una red Ethernet (y algunos otros estándares similares, como WiFi). Permiten que un dispositivo se comunique con una máquina en la red física local (LAN) y no se pueden enrutar a través de Internet, porque el hardware físico podría, en teoría, estar enchufado en cualquier parte del mundo.

Por el contrario, las direcciones IP cubren todo el Internet, y los enrutadores las usan para averiguar dónde enviar datos, incluso si necesita múltiples saltos para llegar a su destino, pero no son útiles para interactuar con el hardware físico en su red local.

Si alguna vez encontramos un estándar mejor que Ethernet, es posible que no use direcciones MAC, pero el tráfico IP de Internet podría fluir a través de él, incluso si otras personas en Internet nunca hubieran oído hablar de él.

Si alguna vez encontramos un estándar mejor que el IP (por ejemplo, IPv6 si todas las direcciones IPv4 se agotaran), la mayoría del hardware Ethernet podría transportar el nuevo tipo de tráfico sin modificaciones, y una simple actualización de software / firmware solucionaría la mayor parte del resto.

Las direcciones MAC son necesarias para que una red local Ethernet (o wifi) funcione. Permiten que un dispositivo de red atraiga la atención de un único dispositivo conectado directamente, aunque la conexión física sea compartida. Esto puede ser importante cuando miles de dispositivos están conectados entre sí dentro de una sola organización. No cumplen ninguna función en Internet en general.

Para comprender realmente la respuesta a esta pregunta, debe comprender el modelo OSI (a veces conocido como el de 7 capas) .

Para que la comunicación tenga lugar entre 2 aplicaciones que se ejecutan en máquinas separadas que no tienen una conexión física directa, se necesita mucho trabajo.

En los viejos tiempos, cada aplicación sabría exactamente qué instrucciones de código de máquina necesitaban ejecutarse para producir una señal apropiada que llegaría y podría ser decodificada por la aplicación en el otro extremo. Toda la comunicación era efectivamente punto a punto, y el software tenía que escribirse para adaptarse a la situación exacta en la que se desplegaría. Obviamente, eso era insostenible.

En lugar de esto, el problema de la red se dividió en capas, y cada capa sabía cómo hablar con la capa correspondiente en una máquina remota y cómo comunicarse con la capa debajo (y a veces por encima) en su máquina local. No sabía nada sobre ninguna otra capa en su lugar, por lo que su navegador web no necesita preocuparse si se ejecuta en una máquina que utiliza un token ring, ethernet o red wifi, y definitivamente no necesita saber qué hardware la máquina remota usa.

Para que esto funcione, el modelo de 7 capas utiliza un sistema similar a los sobres anidados; la aplicación crea sus datos y los envuelve en un sobre para que el sistema operativo los entregue. El sistema operativo lo envuelve en otro sobre y lo pasa al controlador de red. El controlador de red envuelve esto en otro sobre y lo coloca en el cable físico. Y así.

La capa inferior, capa 1 , es la capa física. Esta es la capa de cables y transistores y ondas de radio, y en esta capa, la comunicación es principalmente una corriente de unos y ceros. Los datos van a todas partes que están físicamente conectados. Conecte el puerto de red de su computadora a su conmutador con un cable CAT-5.

La capa 2 es la capa de enlace de datos. Esto proporciona una estructura a los unos y los otros, algunas capacidades de detección y corrección de errores, y alguna indicación sobre qué dispositivo conectado físicamente (las conexiones físicas aquí pueden ser realmente wifi) debería prestar atención al mensaje. Esta es la capa en la que entran en juego las direcciones MAC, y volveremos a ella más adelante. Pero las direcciones MAC no son la única posibilidad en esta capa. Las redes Token Ring, por ejemplo, necesitan una implementación de enlace de datos diferente.

La capa 3 es la capa de red. Esta es la capa en la que trabaja IP (aunque tampoco es el único protocolo de capa de red), y es esto lo que permite a las computadoras enviar un mensaje que puede llegar a cualquier máquina en cualquier lugar de la "red". No es necesario que haya una conexión directa entre las máquinas en cuestión.

Las capas 4-7 son protocolos de nivel superior. Se alejan cada vez más del hardware y se acercan a la aplicación. TCP, por ejemplo, se ubica sobre IP y proporciona mecanismos que reenvían automáticamente los mensajes cuando se pierden.

Por lo tanto, las direcciones MAC funcionan en la capa 2 y permiten que 2 máquinas que están físicamente conectadas entre sí envíen mensajes que serán ignorados por otras máquinas que comparten la misma conexión física.

Supongamos que tengo una aplicación que quiere enviar algunos datos a la máquina con la dirección IP 8.8.8.8

La capa 3 envuelve los datos en un sobre que contiene, entre otras cosas, la dirección IP 8.8.8.8 y luego los entrega a la capa 2.

La capa 2 analiza esta dirección IP y decide a qué máquina está conectada directamente y puede manejar este mensaje. Tendrá una tabla de búsqueda de una selección de las direcciones IP conectadas directamente junto con la dirección MAC correspondiente de la tarjeta de red en esa máquina. Esta tabla de búsqueda se construye utilizando un protocolo llamado ARP, que permite que una tarjeta de red haga preguntas a los otros dispositivos conectados directamente. Ethernet reserva una dirección MAC especial, FF: FF: FF: FF: FF: FF, que permite que un dispositivo se comunique con todos los dispositivos conectados físicamente.

Si la dirección IP está en la tabla (o se puede resolver a través de ARP), envolverá el sobre de Capa 3 en un sobre de Capa 2 con la dirección MAC en el nuevo encabezado, y luego pasará el paquete completo al hardware en la Capa 1 La tarjeta de red con la dirección MAC correspondiente recibirá el mensaje y el controlador de red abrirá el sobre de capa 2 y pasará el contenido a la parte del sistema operativo que espera recibir mensajes en la dirección IP específica.

Alternativamente, si la dirección IP no está en la red local, el nuevo sobre tendrá la dirección MAC de la puerta de enlace predeterminada (es decir, el enrutador) configurada para esta interfaz de red, y el hardware transportará el paquete al enrutador.

El enrutador nota su propia dirección MAC en el sobre de la capa 2 y abre el paquete de nivel 2. Analiza la dirección IP en el sobre de nivel 3 y determina dónde debe ir el mensaje, que probablemente será el enrutador de su ISP. Si el enrutador usa NAT (o similar), incluso puede modificar el sobre de nivel 3 en este punto, para mantener privadas sus direcciones IP internas. Luego envolverá el sobre de nivel 3 en un nuevo sobre de nivel 2 dirigido a la dirección MAC del enrutador del ISP, y enviará el mensaje allí.

Este proceso de quitar el sobre externo y envolver el contenido en un nuevo sobre dirigido al siguiente paso en la cadena continuará hasta que el mensaje llegue a la máquina de destino.

Los sobres continuarán siendo arrancados a medida que el mensaje vuelva a subir las capas hasta que finalmente llegue a su destinatario, que será una aplicación en algún lugar que, con suerte, sabrá qué hacer con el mensaje, pero no tendrá idea de cómo llegó el mensaje ni todos los pasos necesarios para devolver la respuesta a la máquina original.

¡Pero todo funciona, casi como magia!

Tenga en cuenta que los conmutadores de red pueden usar direcciones MAC para optimizar el flujo del tráfico de red. Si bien un concentrador de Ethernet simplemente reenvía todo el tráfico entrante a todos sus puertos, en cambio, un conmutador puede reenviar el tráfico solo al puerto único al que está conectada la dirección MAC de destino del paquete. Esto aumenta el ancho de banda efectivo de la red; al apuntar a puertos específicos, el conmutador evita reenviar tráfico en segmentos innecesarios de la red. El conmutador utilizará ARP o rastreo de paquetes para identificar qué dispositivos están conectados a qué puerto. Los conmutadores ignoran por completo el contenido de los paquetes de capa 2.


¡Hola! gracias por la respuesta. Por lo que he leído, tu respuesta es la mejor. Sería increíble si pudiera incluir algunos conceptos más como ARP y NAT dentro de su escenario.
Vishnu Vivek

1
Se agregó referencia a ARP y conmutadores de red. No creo que NAT tenga nada que ver con las direcciones MAC, ya que es una función de capa 3 ...
Bill Michell

@BillMichell: en IPv6, la MAC u otra identificación local ('hardware') se puede usar para componer la IP.
Luciano

La respuesta es Wiki de la comunidad. Probablemente pueda editarlo para incluir esta información adicional si cree que ayudará a responder la pregunta del OP.
Bill Michell

Esto necesita un TL; DR.
AJMansfield

113

¿Para qué se usan las direcciones MAC?

Las direcciones MAC son los conceptos básicos de bajo nivel que hacen que su red local basada en Ethernet funcione. Local significa que los dispositivos de red están conectados directamente a través de un cable o por WiFi o a través de un concentrador de red o conmutador de red.

Cada tarjeta de red tiene una dirección MAC única. Los paquetes que se envían en 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 propia dirección MAC del 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 difusión y se dirige a cada adaptador de red en la red.

¿Cómo funcionan juntas las direcciones IP y las direcciones MAC?

IP es un protocolo que se usa en una capa sobre Ethernet. Otro protocolo, por ejemplo, sería IPX. IP permite la conexión de diferentes redes locales y así formar una red corporativa o internet global.

Cuando su computadora desea enviar un paquete a alguna dirección IP xxxx, la primera verificación es si la dirección de destino está en la misma red IP que la computadora misma. Si xxxx está en la misma red, 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 deberíamos enviar el paquete (el siguiente salto, ya sea el final destino o el enrutador).

Como 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 de 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 aaaa?" Todos los dispositivos reciben ese paquete, pero solo el que tiene la dirección IP yyyy responderá con un paquete "Soy yo". El dispositivo que pregunta recibe la respuesta y ahora sabe que la dirección MAC de origen del paquete ARP 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 se me olvida mencionar: no hay enrutamiento basado en direcciones MAC. Las direcciones de Ethernet y MAC de bajo nivel solo pueden llegar a todos los dispositivos en la misma red (cableada o inalámbrica). Si tiene dos redes con un enrutador intermedio, no puede tener 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 Todos los dispositivos de la red A (también el enrutador) descartarán el paquete a esta dirección MAC.

El enrutamiento se realiza a nivel de IP. Simplemente visto, el enrutador solo está haciendo lo que describí anteriormente en la sección "¿Cómo funcionan juntas las direcciones IP y las direcciones MAC?". El enrutador recibirá paquetes para su propia dirección MAC pero para una dirección IP diferente. Luego verificará si puede alcanzar directamente 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 múltiples enrutadores configurados. Su enrutador doméstico solo tendrá un enrutador ascendente configurado, pero en la red troncal de Internet los enrutadores grandes tienen grandes tablas de enrutamiento para que conozcan las mejores formas para todos los paquetes.

Otros casos de uso para direcciones MAC

  1. Los conmutadores de red almacenan una lista de direcciones MAC vistas en cada puerto y solo reenvían paquetes a los puertos que necesitan ver el paquete.

  2. Los puntos de acceso inalámbrico a menudo usan direcciones MAC para el control de acceso. Solo permiten el acceso a dispositivos conocidos (la dirección MAC es única e identifica los dispositivos) con la frase de contraseña correcta.

  3. Los servidores DHCP usan la dirección MAC para identificar dispositivos y dan a algunos dispositivos direcciones IP fijas.


16
+1 por responder realmente la pregunta de una manera que las personas que aún no saben la respuesta puedan entender.
esponjoso

No puedo evitar sentir la necesidad de crear una increíble infografía / diagrama de alguna manera, ¡la forma en que interactúan MAC / IP es bastante interesante!
NRGdallas

1
buena respuesta sólo un detalle: las direcciones MAC también se utilizan para los dispositivos Ethernet y no fue usted describe básicamente es válido para cualquier capa de enlace de datos se utiliza con una pila IP
Kriss

Vale la pena señalar sobre los MAC de Wi-Fi: si bien en general son únicos y se pueden usar para identificar dispositivos, son fáciles de falsificar y enviar de forma inalámbrica . Si no hay otra encriptación / autenticación utilizada en la conexión, o si los otros mecanismos de encriptación / autenticación son débiles (por ejemplo: WEP), es muy trivial que un atacante se haga pasar por un dispositivo autorizado y se una a la red.
Iszi

1
@Rick Tienes razón, la IP de destino para una conexión no cambia. Pero en el párrafo citado estaba hablando del destino directo del paquete, que podría ser el enrutador, y el enrutador podría cambiar durante la conexión. Con respecto a su segundo comentario, cambié el texto a "dirección MAC de origen del paquete ARP". Espero que sea más claro.
Werner Henze

47

La dirección MAC (dirección de control de acceso a medios) en general es el identificador de dispositivos en una red. Por lo tanto, cada NIC (controlador de interfaz de red que se encuentra en un enrutador, PC, impresora de red, servidor, etc.) tiene direcciones MAC. Algunos servidores tienen más de una tarjeta de red integrada y, por lo tanto, tienen varias direcciones MAC. La dirección MAC tiene 6 bytes de longitud (6 octetos). La izquierda es el byte más significativo y la derecha el byte menos significativo. Como puede ver en la imagen a continuación, los primeros 3 Bytes son el Identificador Organizacionalmente Único . Esto indica el fabricante que hizo este dispositivo.

Aquí hay una lista de identificadores únicos de la organización : Standards.ieee.org

Aquí hay una alternativa a lo anterior: MAC-Vendor-Lookup

Algunos ejemplos de fabricantes conocidos comunes:

  • 00-05-5D (D-Link Systems Inc.)
  • 00-09-5B (Netgear Inc.)
  • 00-E0-4C (Realtek Semiconductor Corp.)
  • 00-E0-4F (Cisco Systems Inc.)
  • 00-E0-64 (Samsung Electronics)

Los últimos 3 bytes (3 octetos) son asignados aleatoriamente por el fabricante.

Como pjc50 declaró correctamente, la dirección MAC en una red Ethernet ayuda a los conmutadores a decidir qué paquete enviar a dónde. También hay una dirección MAC de difusión. ff: ff: ff: ff: ff: ff se utiliza para la dirección MAC de difusión. Tenga en cuenta que la dirección MAC se puede cambiar, ¡así que tenga cuidado de usarla como un identificador de dispositivo definido! La dirección MAC también se usa con el protocolo ARP (Protocolo de resolución de direcciones). Entonces, cómo funciona es que la PC A envía una Solicitud ARP a la PC B con su propia dirección IP, dirección MAC, la dirección IP del receptor y la dirección de transmisión mencionada anteriormente (ff: ff: ff: ff: ff : ff). Después de eso, la PC B verifica si se le envió el paquete o no. En caso afirmativo, la PC B envía su propia dirección MAC, dirección IP, la dirección MAC del receptor y la dirección IP del receptor. Los otros dispositivos descartan el paquete.

Tanto la PC A como la B generalmente guardan la conexión exitosa en el llamado ARP-Cache. La forma en que las PC guardan la conexión difiere de un dispositivo a otro. Si no conoce la dirección IP, puede obtener la dirección IP con el Protocolo de resolución de dirección inversa (RARP). Con RARP, el dispositivo se pone en contacto con un cliente central y le solicita la dirección IP. Pero este método apenas se usa hoy en día.

Las siguientes tecnologías utilizan el formato de identificador MAC-48:

  • Ethernet
  • Redes inalámbricas 802.11
  • Bluetooth
  • Anillo de token IEEE 802.5
  • la mayoría de las otras redes IEEE 802
  • FDDI
  • ATM (solo conexiones virtuales conmutadas, como parte de una dirección NSAP) Canal de fibra y SCSI conectado en serie (como parte de un nombre mundial)

44
Más exactamente que "todos los dispositivos (...) tienen direcciones MAC", cada NIC tiene una dirección MAC . (Sin tener en cuenta la capacidad de establecer una dirección MAC personalizada). No todas las impresoras tienen tarjetas de red integradas, y muchos servidores tienen más de una tarjeta de red y, por lo tanto, más de una dirección MAC.
un CVn

2
Digamos que la PC-1 envía un paquete a la PC-2. Ahora el Switch solo lee la dirección MAC de la PC-1 y la guarda en una tabla. Si desea más información sobre cómo funciona, lea esto: Cómo funcionan los conmutadores LAN :)
Meintjes

3
Otro punto es que la dirección MAC es cómo la NIC decide qué descartar y qué enviar al procesador para su manejo. Una trama de Ethernet que se encuentra en el cable tiene su dirección MAC de destino XOR'd con la dirección MAC de la NIC y si el resultado es todo 0, entonces es una trama destinada a esta NIC.
bbayles

77
-1: La pregunta preguntaba cómo se usan las direcciones MAC, no qué es una dirección MAC. La única parte de su respuesta que aborda la pregunta es la lista de viñetas al final, y no entra en muchos detalles.
Kevin

44
La imagen está tomada de wikipedia: en.wikipedia.org/wiki/File:MAC-48_Address.svg , las imágenes con licencia bajo Creative Commons deben atribuirse a sus autores cuando se usan.
Étienne

24

Que se utilizan para la transferencia de paquetes: en una red Ethernet, hay una serie de dispositivos, y la dirección MAC especifica qué dispositivo debe recibir el paquete. Los conmutadores Ethernet lo usarán para elegir en qué puerto enviar un paquete recibido.


55
Puede ser interesante observar que Ethernet originalmente era un medio de bus, donde todas las máquinas compartían físicamente los mismos medios (esto sigue siendo cierto para las redes inalámbricas). Entonces lógicamente funciona así.
LawrenceC

y sigue siendo cierto para las redes que todavía usan hubs :)
Doon

de ahora en adelante, los conmutadores son solo una instalación (realmente se extendió ampliamente con las LAN RJ-45) que podemos tener redes IP sin ellas (utilizando concentradores o 802.11)
kriss

7

Olvídese de la jerarquía en este caso, no es un tema muy importante.

La dirección MAC son direcciones para la capa 2 (capa de enlace) en los modelos ISO / OSI o TCP / IP. Las direcciones IP son de la capa 3 (capa de red) en los mismos modelos.

En una red de capa 2, por ejemplo, una red Ethernet común, existe un dominio de colisión, donde todo el equipo conectado puede recibir todas las tramas (datos de la unidad de capa 2) desde cualquier punto final. Pero nadie fuera de la red puede recibir estas tramas. Las direcciones MAC son direcciones en estos dominios.

Los paquetes son los datos de la unidad de capa 3, típicamente, paquetes IP. Viajan a través de uno o más dominios de colisión. Las direcciones IP son las direcciones en este dominio.

Los switches son dispositivos de capa 2 y reenvían marcos utilizando tablas de direcciones MAC. Los enrutadores son dispositivos de capa 3 y reenvían paquetes utilizando tablas de direcciones IP.


6

Ethernet asume que la otra computadora (la otra MAC) con la que quiere hablar está directamente accesible desde su adaptador de red. IP no. IP asume que puede alcanzar cualquier otra IP en todo el mundo y que si no puede alcanzarla en la subred actual, un enrutador la llevará allí, a pesar de NAT. La noción de puertas de enlace no existe en la capa 2 o Ethernet.

Si tiene varias máquinas conectadas a un conmutador y no necesita intercambiar tráfico con otras redes / Internet a través de un enrutador, entonces realmente no necesita tener IP en funcionamiento. Por supuesto, una aplicación tendría que implementar o proporcionar su propio protocolo por encima de la capa 2, ya que casi todos los sistemas operativos y aplicaciones suponen que siempre desea utilizar TCP / IP.

Recuerde siempre que 'Internet' en IP significa 'interconexión de redes', lo que significa que realmente se preocupa por obtener tráfico entre redes más que en una red, aunque obviamente también se puede usar (y se usa) para eso.


¡El primer párrafo es la respuesta perfecta! ¡Esclarecedor!
Milind R

6

La dirección MAC se usa en la transferencia física. Un adaptador de ethernet no sabe nada sobre IP. Por lo tanto, el adaptador de Ethernet utiliza la dirección MAC para dirigirse al receptor del paquete de datos.

Si el adaptador de Ethernet supiera algo sobre IP, entonces tenemos que actualizar todo nuestro firmware para cambiar a un nuevo protocolo (como IPv4 a IPV6).

Además, la dirección MAC contiene información sobre el fabricante.


3
Los enrutadores no usan la dirección MAC para enrutar nada. Usan direcciones IP. Los concentradores copian el tráfico no modificado de sus puertos, pero esto se llamaría puente, ya que el tráfico no atraviesa una red diferente, sino a través de la misma red.
LawrenceC

5

Se utiliza cuando el ARP (protocolo de resolución de direcciones) para IPv4 o el NDP (protocolo de descubrimiento de vecinos) para IPv6 traduce las direcciones IP en direcciones MAC para determinar a qué host único se deben enviar las tramas.


Esto está bastante cerca, pero no cubre todo el uso. Así es como un MAC se relaciona con TCP / IP, pero un MAC se usa para mucho más que eso. Sin embargo, esta es la primera respuesta a la que no le doy un -1 (trabajando desde la parte inferior de la página hacia arriba).
Mark Henderson

@ Mark Henderson Gracias por las críticas. Bueno, solo traté de responder la pregunta How MAC addresses were used in packet transfery luego asumí que estaba en un nivel de Ethernet. Y sí, es una respuesta simple, pero estoy respondiendo en un nivel que se adapta a mi propio nivel :)
Jesper Jensen

3

Para completar las respuestas de otros, agregaría que la dirección MAC es aún más crítica para los enrutadores que para los conmutadores. Lo que quiero decir con más crítico es que los conmutadores no son realmente necesarios para que exista una red IP. Si mira 20 años hacia atrás (antes de RJ-45), las redes IP locales funcionaron perfectamente sin interruptores. Las redes de Ethernet no enrutadas simplemente conectaban dispositivos en el mismo cable, (eche un vistazo a la tecnología de Ethernet X base-T, por ejemplo).

Por otro lado, las redes IP se inventaron para admitir el enrutamiento y se basan en esquemas de direccionamiento MAC e IP.

Enrutar paquetes en redes IP significa que cuando no se puede acceder directamente a la máquina de destino, primero se enviará a otra máquina (la puerta de enlace) que esté más cerca del objetivo de IP final.

En términos de encabezados de paquetes de red, significa que un paquete enviado a una puerta de enlace tendrá como objetivo en el encabezado de nivel de Ethernet la dirección MAC de la puerta de enlace, quedando sin cambios el encabezado de nivel de IP.

También debe tener en cuenta que las direcciones MAC generalmente significan hoy en día MAC-48 (dirección del dispositivo físico) o EUI-48 (dirección del dispositivo lógico) o incluso las direcciones EUI-64 de 8 bytes utilizadas en redes más grandes. Históricamente, MAC fue inventado por Xerox para la tecnología Ethernet y luego reutilizado para otras tecnologías de transporte de red (802.11, Bluetooth, FibreChannel, BlueTooth) que necesitan identificar un dispositivo.

Como dije, puede usar otra capa 2 en lugar de ethernet, pero la mayoría usa una dirección MAC como identificador de red y el esquema de correspondencia MAC / IP subyacente se mantiene y aún puede usar ARP. Hasta donde yo sé, todas las pilas de IP se basan en la tabla de correspondencias entre las direcciones MAC y las direcciones IP.

Existen otros tipos de identificadores de nodos de dispositivo para pilas que no son IP. Por ejemplo, X.25 no se basa en direcciones MAC, sino en canales virtuales establecidos por conexión, o los dispositivos ATM se identifican en redes ATM utilizando SNPA. Pero ni X.25 ni ATM son pilas de IP (e incluso ATM usa el formato de direcciones MAC como parte de su SNA, equivalente aproximado de una dirección IP para ATM).


Los enrutadores no se preocupan por las direcciones MAC. Se preocupan por la asignación de subred a cada una de sus al menos 2 NIC, pero no por las direcciones MAC. Reenvían (es decir, copian) el tráfico de una IP a otra, no de una IP a un MAC ni nada de eso.
LawrenceC

44
@ultrasawblade, tu declaración es absurda . Si un enrutador está conectado a una red Ethernet, debe comunicarse utilizando el protocolo Ethernet. Los paquetes IP se encapsularán en la trama Ethernet. Lo que significa que es absolutamente necesario conocer las direcciones mac de todos los sistemas ** directamente hosts de Ethernet **. Un dispositivo de capa 3 no solo se comunica mágicamente en un protocolo de capa 3, sino que debe encapsular el protocolo de capa 3 dentro de un protocolo de capa 2, que luego se transmite a través del medio de capa 1.
Zoredache

3
No estoy de acuerdo con su primera oración: no son "más críticos" para los enrutadores que los conmutadores; tienen la misma importancia en toda la red Ethernet.
Mark Henderson el

1
Podría reemplazar la capa 2 subyacente con algo completamente diferente (aunque no sé qué) y la IP seguirá funcionando igual. Al protocolo IP (Capa 3) no le importa si MAC o algún otro esquema abordan los hosts individuales a continuación. Por supuesto, es necesario mantener el mapeo de IP a MAC, pero es difícil saber si ARP realmente "pertenece" a la capa 3 o la capa 2. El punto es que el protocolo de la capa 2 no tiene que ser Ethernet y a IP no le importa Necesito saber cuál es el protocolo de capa 2.
LawrenceC

2
@ Mark Henderson: como soy viejo, recuerdo un momento en que no había interruptores. No son realmente una pieza crítica del equipo que las redes IP pueden funcionar sin conmutadores. Los switches simplemente utilizaron un diseño de red de datos preexistente. Si actualmente los tenemos en todas partes es una consecuencia de la tecnología de punto a punto de RJ que reemplaza los autobuses antiguos. En otras palabras: las direcciones MAC no fueron inventadas para hacer que los conmutadores funcionen. Por otro lado, las redes IP se inventaron para fines de enrutamiento, por lo tanto, la relación MAC a IP es crítica.
kriss

2

Piense en los días previos al cambio (centros).

Si las personas son computadoras, entonces la dirección MAC es su nombre.

Imagina que muchas personas (las computadoras) están en la misma llamada telefónica. Todos hablan al mismo tiempo.

USTED (una computadora) escucha TODA esta charla, pero no sabe lo que debe escuchar, HASTA que alguien diga su nombre (su dirección MAC) al comienzo de una oración (un paquete).

"FRED, THERE IS ICE CREAM!"

Por supuesto, también escuchas las oraciones enviadas a la dirección de transmisión . Solo considera que es alguien gritando,

"EVERYONE, THERE IS ICE CREAM!"

A medida que más personas (computadoras) reciben la llamada de conferencia, más tiene que filtrar. La tecnología avanzada y los conmutadores nos permitieron hablar directamente con una persona (computadora / MAC) para que no tuvieran que trabajar tanto para filtrar todo ese ruido (y liberar más ancho de banda).

IP es muy similar en la analogía básica, pero tiene más características y capas además del direccionamiento MAC. Capas 2 y 3 en el modelo OSI , respectivamente.


No necesita volver a pensar en los días preconfigurados. Las direcciones MAC están vivas y en buen estado y se utilizan en cada paquete que sale de su adaptador Ethernet hoy , ahora mismo.
Mark Henderson

Muy cierto. Pero ayuda con la analogía. Y las NIC todavía se comportan de la misma manera.
Randy James

2

La dirección MAC es necesaria porque hay varias direcciones conectadas al "bus" (la red Ethernet). Un remitente debe poder identificar al receptor, así como identificarse ante el receptor.

Todos los buses de hardware necesitan direccionamiento, porque múltiples remitentes y receptores comparten los mismos cables, y los mensajes tienen que ir a receptores específicos, y también identificar a los remitentes de origen.

I2C, PCI, Ethernet, lo que sea.

Tenemos varias direcciones en la interconexión de redes (dirección IP y dirección de hardware) porque una dirección de nivel de hardware solo es local en una red física en particular. A medida que un datagrama viaja de una red a otra, tiende a mantener su dirección de nivel de red, pero cambia las direcciones de hardware varias veces en el camino. Al pasar por algunas redes, es posible que no tenga una dirección de hardware, y en algunas otras puede tener una dirección de hardware que no sea una MAC de Ethernet. (Las direcciones de red pueden ser reescritas por una puerta de enlace NAT, por supuesto, pero las direcciones de hardware se eliminan y se reemplazan por diferentes cada vez que un paquete cruza un enrutador).


1

En los viejos tiempos, las redes eran autobuses compartidos. Cada dispositivo conectado en red se conectó al mismo cable o a un concentrador, lo que significaba que cada paquete que enviaba era recibido por cada dispositivo en la red.

El software de red era más simple entonces. Cada dispositivo tenía una dirección MAC, que se garantizaba que era única. No necesitaba ser otra cosa: lo único que hizo fue asegurarse de que no hubiera dos dispositivos en la misma red que tuvieran la misma dirección.

Si su dispositivo quisiera hablar con otro dispositivo, enviaría un paquete con la dirección MAC del destinatario y el destinatario lo recogería de la red. Todos los demás dispositivos lo ignorarían, no estaba dirigido a su dirección MAC.

Con el tiempo, las personas conectaban demasiados dispositivos a la red y no podían mantenerse al día con el tráfico, por lo que comenzaron a separar las redes y conectarían dos redes con conmutadores. Estos conmutadores tenían tablas enormes que les decían qué direcciones MAC estaban en cada red. Si vieron un paquete en una red dirigido a una dirección MAC en la otra red, copiarían el mensaje a la otra red. Sin embargo, no copiarían todos los mensajes, solo los que debían ir a la otra red.

Esto redujo la congestión y permitió que se conectaran más dispositivos en red y que se manejara más tráfico en general. Esta es una red de paquetes conmutados .

Sin embargo, no resolvió todos los problemas y sufrió una gran desventaja: a medida que las mesas de conmutación se hicieron más grandes, las redes se desaceleraron. Si conectó 5.000 máquinas a 50 redes diferentes, todas interconectadas con conmutadores, cada conmutador tenía que aprender las 5.000 direcciones MAC y enrutar los paquetes en función de eso.

Eso no fue un gran problema hasta que personas de diferentes instituciones, como universidades, quisieron conectar sus redes, y las tablas requeridas habrían sido tremendas. Hacer un seguimiento de unos cientos de miles de direcciones MAC hoy en día no parece ser un gran problema, pero en la década de 1970, cuando esto ocurría, los conmutadores eran computadoras, con memoria y velocidad limitadas, y rastreaban y cambiaban rápidamente los paquetes por unos pocos. Cien era un problema.

La solución fue ir a una red IP y usar enrutadores. Esto se basa en la red de paquetes conmutados basada en la dirección MAC. En lugar de datos sin procesar, los paquetes ahora contienen un paquete IP, un paquete dentro de un paquete.

Ahora las redes más grandes están conectadas con enrutadores. Estos esperan hasta que vean un paquete con su dirección MAC, luego sacan el paquete IP y examinan la dirección IP. Luego vuelven a envolver el paquete IP en otro paquete con un nuevo destinatario de dirección MAC y lo envían a una nueva red. Esa dirección MAC probablemente sea para otro enrutador en la nueva red, pero también podría ser la máquina con la dirección IP.

En las redes actuales, rara vez se ven concentradores y buses (excepto en redes inalámbricas, donde el medio es inherentemente compartido) y, en cambio, mi máquina se conecta directamente a un conmutador, que se conecta a un enrutador.

Mi máquina tiene una variedad de algoritmos y protocolos para que sepa cómo está configurada la red.

Si envío un paquete IP a una máquina en mi red local, mi máquina lo colocará dentro de un paquete con la dirección MAC correcta. Los conmutadores lo cambiarán a la red correcta localmente, y la máquina a la que está destinado lo recibirá porque tiene la dirección MAC correcta. Sacarán el paquete IP y comprobarán que la dirección IP también está destinada a él, y actuarán en consecuencia.

Si envío un paquete IP destinado a una máquina en otro lugar en Internet, mi máquina sabe enviarlo al enrutador, por lo que lo coloca dentro de un paquete con la dirección MAC del enrutador. De nuevo, se cambia localmente en mi red hasta que llega a la red en la que está enrutador, luego el enrutador lo toma, saca el paquete IP, examina el paquete IP y, según su conocimiento de Internet, lo envía a otro enrutador en otra red, envolviéndola en un paquete con la dirección MAC para el enrutador previsto o la computadora de destino.

Hay muchos pequeños detalles que he pasado por alto, y algunos algoritmos y protocolos realmente interesantes en juego que hacen que todo funcione, pero esa es la historia básica de lo que la dirección MAC hace por nosotros, incluso hoy.


1
Comenzaste bien, pero lo perdiste en el medio donde comienzas a hablar de redes interconectadas. Los cambios no eran comunes hasta los años 90, pero la ruta existía 20 años antes de eso.
Mark Henderson

-1

La diferencia fundamental es que el fabricante asigna MAC al tiempo de fabricación, mientras que la dirección IP se asigna al tiempo de conexión.

MAC es necesario porque puede usarse para identificar un dispositivo antes de conectarse a la red; sin embargo, debido a que está asignado estáticamente, se distribuye de manera bastante aleatoria, por lo que no es adecuado para un enrutamiento eficiente en más de una sola red (hacerlo requeriría que cada dispositivo en el planeta tenga una gran tabla de enrutamiento para todos los demás dispositivos en el planeta ) Por lo tanto, la dirección IP es necesaria porque se asigna en el momento de la conexión, y la forma en que se asigna permite un enrutamiento de larga distancia más eficiente (con IP, la mayoría de los dispositivos solo necesitan conocer sus redes adyacentes).

Si solo hay una dirección IP, los dispositivos a los que no se les haya asignado una dirección IP no podrán saber qué mensaje están destinados a ellos. ¿Cómo determinaría que este DHCP está destinado a usted y no a otra persona que también solicita la asignación de dirección aproximadamente al mismo tiempo?

Por supuesto, los MAC también se usan para otras partes del envío de paquetes, pero la mayoría de esos usos son bastante incidentales y pueden (al menos en teoría) ser reemplazados por un número asignado dinámicamente (por ejemplo, dirección IP).


+1 por qué no solo seguimos usando direcciones MAC.
deed02392

3
El primer párrafo es técnicamente correcto, pero esa no es la diferencia raíz. La diferencia fundamental es que un MAC pertenece a Ethernet y una IP pertenece a TCP / IP. Puede ejecutar TCP / IP sobre múltiples protocolos de Capa 2 (ATM, por ejemplo), y hay más que solo TCP / IP que se ejecuta sobre Etherhet. No existe "antes de conectarse a la red", pero sí "Antes de obtener una dirección IP de DHCP". Pero el MAC todavía se usa después de eso, ya que se encuentra en una capa diferente en el modelo OSI. El último párrafo es francamente incorrecto: no hay reemplazo para una dirección MAC en la red.
Mark Henderson

@ MarkHenderson: Mi punto es que MAC que pertenece a Ethernet e IP a TCP / IP es prácticamente un accidente histórico; teóricamente, si rediseñamos toda la pila de Internet desde cero (e ignoramos OSI y la compatibilidad con otras redes), sería posible reemplazar la mayoría de los usos del número asignado de fábrica (por ejemplo, MAC) con un número asignado dinámicamente (por ejemplo, IP), excepto que hay una cantidad de paquetes que deben enviarse / recibirse antes de que se pueda adquirir un número asignado dinámicamente, por lo que es necesario un identificador único global asignado por la fábrica.
Lie Ryan

@MarkHenderson: OMI, diciendo que necesitamos MAC e IP porque MAC es la capa 2 e IP es la capa 3 es como decir "lo necesitamos porque habíamos diseñado Internet para ser así", pierde el punto y no proporciona información útil lo que. Lo que estoy respondiendo aquí es por qué son necesarios identificadores asignados de fábrica y asignados dinámicamente debido a la naturaleza del problema, y ​​lo que conlleva una pila de Internet sin ninguno de ellos (pérdida de eficiencia de enrutamiento para ninguna identificación asignada dinámicamente y dificultad de direccionamiento exclusivo de un dispositivo antes de la asignación de ID dinámica para ninguna ID asignada de fábrica).
Lie Ryan

@LieRyan, en realidad podemos cambiar la dirección MAC de nuestra PC .......
Pacerier
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.