He estado leyendo sobre las diferencias entre las direcciones MAC e IP, y por qué las necesitamos a ambas.
Para resumir, las direcciones MAC son identificaciones físicas únicas e inmutables para cada dispositivo, mientras que las direcciones IP son asignadas, cambiables y virtuales. Para analogizar, las direcciones MAC son como personas que tienen nombres permanentes, y las direcciones IP son donde viven actualmente.
En el mundo real, vinculamos direcciones y nombres con la ayuda de una agenda telefónica. ¿Qué mecanismo vincula las direcciones IP a las direcciones MAC y dónde se encuentra este mecanismo en la red?
Respuestas:
El mecanismo se llama Protocolo de resolución de direcciones (ARP) . Cada ARP de dispositivo IPv4 de Ethernet para resolver direcciones MAC de Ethernet para IP de destino Las asignaciones de IP a mac se almacenan en la tabla ARP de cada dispositivo (la guía telefónica en su analogía).
Para simplificar: En la mayoría de los casos, para resolver la dirección MAC asociada con una dirección IP, envía un paquete ARP de difusión (a todos los dispositivos en la red), preguntando quién tiene esa dirección IP. El dispositivo con esa dirección IP responde al ARP (con su dirección MAC).
fuente
Como la pregunta fue etiquetada con IPv6, responderé por eso porque IPv6 es muy diferente de IPv4.
Para empezar, no existe ARPv6. La asignación entre la capa 2 y las direcciones IPv6 se realiza mediante el Protocolo de descubrimiento de vecinos (NDP), que se envía a través de ICMPv6. Por lo tanto, no debe ignorar ICMPv6 y filtrarlo, como es costumbre con la IP heredada. El NDP proporciona dos tipos de mensajes que son de interés aquí: Solicitud de vecinos y Publicidad de vecinos. Un nodo que quiere aprender una dirección de capa de enlace para una dirección IP en particular envía una Solicitud de vecino a la dirección de multidifusión de nodo solicitado de enlace local correspondiente : ya no hay transmisión para IPv6.
Por ejemplo, si la dirección en cuestión es
2001:db8::0011:2233:4455:6677
, entonces la dirección de multidifusión de nodo solicitado correspondiente esff02::1:ff55:6677
, y la dirección de multidifusión de ethernet correspondiente es33:33:ff:55:66:77
. Todos los nodos con una dirección que termina en*55:6677
pertenecen a ese grupo de multidifusión y escucharán eso, lo más probable es que solo sea el sistema de destino. La Solicitud de vecinos contiene también las direcciones IPv6 de unidifusión y la dirección MAC del sistema de solicitud.Al recibirlo, el nodo de destino responde con su Anuncio de vecino, que se envía a la dirección de unidifusión (capa de enlace e IPv6) del nodo solicitante. Por lo tanto, el nodo solicitante aprende la dirección MAC del nodo objetivo.
Y sí, la suplantación de NDP funciona de manera similar a la suplantación de ARP. Y no, IPsec no es la respuesta.
fuente
La mejor respuesta es buena. En caso de que ayude, aquí hay una descripción en términos de la analogía de su directorio telefónico. Términos reales de redes entre paréntesis.
Según su nombre (dirección IP), sabe que vive en su vecindario (dominio de difusión). Primero mire en su directorio telefónico (caché ARP) para ver si ya conoce su dirección (dirección MAC). Si no están en la guía telefónica, usted sale y grita (transmisión), "¿Dónde vive Steve?" Lo suficientemente fuerte como para que todos lo escuchen (solicitud ARP). Asumiendo que Steve en realidad vive allí y que está despierto, responde, solo a usted, sin gritar: "Aquí está mi dirección" (respuesta ARP). Lo anota en su directorio telefónico para referencia futura (almacenamiento en caché ARP).
fuente
Las direcciones MAC se pueden cambiar. En Linux, use ip o ifconfig para la mayoría de Windows. Consulte la configuración del controlador de su interfaz de red.
No conviertes nada. Las direcciones MAC están en la capa 2, IP en la capa 3 del modelo OSI. Para IPv4, ARP se utiliza para averiguar qué dirección MAC (capa 2) pertenece a una determinada dirección IP (capa 3). Para IPv6 se utiliza ICMPv6 (Descubrimiento de vecinos).
fuente
Protocolo de resolución de direcciones (ARP)
Dirección IP ---> ARP ---> Dirección MAC
Dirección MAC ---> RARP ---> Dirección IP
Dirección IP = Dirección lógica [32 bits]
Dirección MAC = Dirección física [48 bits]
Capa de red (IP) ----> ARP ---> Capa de enlace de datos (MAC)
Se necesita la dirección IP en la capa de red para identificar un host de origen / destino.
Se necesita la dirección MAC en la capa de enlace de datos para identificar un host de origen / destino.
fuente
La pila de red primero busca la IP de destino en su tabla de enrutamiento, a partir de esto determina dos cosas.
Tenga en cuenta que la dirección IP del siguiente salto es un concepto puramente local, nunca se convierte en parte de un paquete enviado por cable.
Si el paquete se va a enviar en una capa de enlace multipunto (por ejemplo, Ethernet, etc.), el sistema operativo busca el siguiente salto en su tabla arp (ipv4) o de descubrimiento de vecinos (ipv6). Si encuentra una entrada no obsoleta allí, entonces tiene la dirección MAC que necesita y puede enviar el paquete.
Si no tiene una entrada utilizable, pone en espera los paquetes destinados al próximo salto y envía una solicitud para encontrar la dirección MAC. Los mecanismos aquí difieren un poco entre v4 y v6.
En v4 se envían solicitudes arp. Esto normalmente se transmite, pero en algunos casos, si el host tiene una entrada obsoleta, puede intentar primero una solicitud de unidifusión y solo volver a emitir si eso falla. La respuesta es normalmente unicast.
En v6, las solicitudes de solicitud de vecinos se envían a una dirección de multidifusión generada a partir de la dirección del siguiente salto. El objetivo responde con un anuncio vecino de unidifusión. Los hosts también pueden enviar anuncios vecinos al grupo "multidifusión de todos los nodos" (también conocido como difusión efectiva) para actualizar las entradas en sus cachés de descubrimiento de vecinos vecinos.
fuente