MAC & IP

destino en misma red

a veces cuando un host debe mandar un mensaje, solo conoce la direccion IP del dispositivo de destino. el host necesitara conocer la direccion MAC de ese dispositivo

hay 2 direcciones primarias asignadas a un dispositivo en un Ethernet LAN:

  • direccion fisica (MAC) : usada para comunicacion NIC to NIC en la misma red Ethernet
  • direccion logica (IP) : usada para enviar el paquete desde el dispositivo de origen hasta destino.

destino en red remota

cuando la direccion IP (IPv4 o IPv6) de destino esta en una red remota, la direccion MAC de destino sera la direccion del default gateway. Ej.: la interface del router.

ARP

si se esta usando IPv4, el Address Resolution Protocol (ARP) es lo que se necesita para mapear direcciones IPv4 a MAC.

todos los dispositivos en una red Ethernet tiene un Ethernet MAC unico. Cuando un dispositivo envia un frame Ethernet de capa 2, contiene estas 2 direcciones:

  • direccion MAC de destino: es la direccion MAC del dispositivo en el mismo segmento de red. Si el host de destino esta en otra red, entonces la direccion MAC de destino sera el default gateway
  • direccion MAC de origen: es la direccion MAC del Ethernet NIC del host de origen.

funciones de ARP

  • resolver direcciones IPv4 a direcciones MAC
  • mantener una tabla de mapeo de direcciones IPv4 a direcciones MAC

cuando un paquete es enviado a la capa data link para ser encapsulado en un frame Ethernet, el dispositivo buscara la direccion de destino en su tabla ARP que este mapeada a la direccion IPv4. Esta tabla es guardada temporalmente en RAM.

  • si la direccion IPv4 de destino esta en la misma red que el host origen, el dispositivo va a buscar por la direccion IPv4 en la tabla ARP.
  • si la direccion IPv4 de destino esta en una red distinta que el host origen, el dispositivo va a buscar por la direccion IPv4 del default gateway en la tabla ARP.

los mensajes ARP son encapsulados directamente en el frame Ethernet informacion del header del ARP request:

  • direccion MAC de destino: FF-FF-FF-FF-FF-FF para que todos los NIC’s Ethernet reciban y procesen el request.
  • direccion MAC origen: direccion MAC del enviador del request.
  • type: 0x806.

los ARP request son broadcast, son inundados por todos los puertos del switch, excepto por el que entra. solo respondera el dispositivo con la direccion IPv4 que coincida con el request.

si no es respondido por ningun dispositivo o se vence el paquete (por un timestamp que lleva), el paquete se descarta porque no se puede crear un frame.

que usa IPv6

usa un proceso similar a IPv4 llamado ICMPv6 Neighbor Discovery (ND) usan solicitacion de vecinos y anuncios de mensajes de vecinos, similar a preguntas y respuestas de requests ARP.

remover entradas de una tabla ARP

se remueven las entradas, en un rango de tiempo que depende el sistema operativo del dispositivo.] algunos mantienen entradas entre 15 y 45 segundos

comandos para tablas ARP

show ip arp => muestra tabla ARP (windows) arp -a => muestra tabla ARP

problemas de ARP

el ARP broadcasting podria congestionar la red por un periodo de tiempo si muchos dispositivos se encendieran en paralelo

los switches de nivel empresarial pueden incluir tecnicas de miticacion conocididas como ARP inspection (DAI)

En IPv4, las solicitudes ARP son broadcast, por lo que todos los hosts de la LAN deben recibirlas y analizarlas. En IPv6, la detección de vecinos utiliza mensajes ICMPv6 enviados a direcciones multicast, especialmente a la dirección de multidifusión de nodo solicitado.

IPv6 neighbor discovery

el protocolo neighbor discovery protocol (o ND) es lo que se necesita para matchear direcciones IPv6 a direcciones MAC.

En IPv6, se minimiza el trafico de paquetes Neighbor Discovery manteniendo ND local a cada red link, estos paquetes son link-local y no broadcast como en IPv4.

mensajes - neighbor discovery

hay 5 tipos de mensajes para distintos servicios:

  • neighbor solicitation messages usados para mensajes device-to-device.
  • neighbor advertisement messages usados para mensajes device-to-device.
  • router solicitation messages usados para mensajes entre dispositivos y routers
  • router advertisement messages usados para mensajes entre dispositivos y routers
  • redirect message es usado para una seleccion mejor del next-hop