Arp

Es un [|protocolo]  de [|nivel de red]  (mismo nivel que IPV4 e IPV6) responsable de encontrar la dirección hardware ( [|Ethernet] [|MAC] ) que corresponde a una determinada [|dirección IP] . Para ello se envía un paquete (ARP request) a la dirección de difusión de la red (broadcast (MAC = FF FF FF FF FF FF)) que contiene la [|dirección IP]  por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP reply) con la dirección [|Ethernet]  que le corresponde. Cada máquina mantiene una [|caché]  con las direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de [|Internet] <span style="font-family: Arial,sans-serif; font-size: 10pt;"> ser independiente de la dirección <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|Ethernet] <span style="font-family: Arial,sans-serif; font-size: 10pt;">, pero esto sólo funciona si todas las máquinas lo soportan. <span style="font-family: Arial,sans-serif; font-size: 10pt;">ARP está documentado en el <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|RFC] <span style="font-family: Arial,sans-serif; font-size: 10pt;"> (Request For Comments) 826. <span style="font-family: Arial,sans-serif; font-size: 10pt;">El protocolo <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|RARP] <span style="font-family: Arial,sans-serif; font-size: 10pt;"> realiza la operación inversa y se encuentra descrito en el <span style="color: #3366bb; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|RFC 903] <span style="font-family: Arial,sans-serif; font-size: 10pt;">. <span style="font-family: Arial,sans-serif; font-size: 10pt;">En <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|Ethernet] <span style="font-family: Arial,sans-serif; font-size: 10pt;">, la capa de enlace trabaja con direcciones físicas. El protocolo ARP se encarga de traducir las direcciones <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|IP] <span style="font-family: Arial,sans-serif; font-size: 10pt;"> a direcciones <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|MAC] <span style="font-family: Arial,sans-serif; font-size: 10pt;"> (direcciones físicas). Para realizar esta conversión, el nivel de enlace utiliza las tablas ARP, cada interfaz tiene tanto una <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|dirección IP] <span style="font-family: Arial,sans-serif; font-size: 10pt;"> como una dirección física <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt; text-decoration: none;">[|MAC] <span style="font-family: Arial,sans-serif; font-size: 10pt;">. <span style="font-family: Arial,sans-serif; font-size: 10pt;">ARP se utiliza en 4 casos referentes a la comunicación entre 2 hosts:
 * <span style="font-family: Arial,sans-serif; font-size: 10pt;">ArpARP **<span style="font-family: Arial,sans-serif; font-size: 10pt;"> son las siglas en inglés de **<span style="font-family: Arial,sans-serif; font-size: 10pt;">A **<span style="font-family: Arial,sans-serif; font-size: 10pt;">ddress **<span style="font-family: Arial,sans-serif; font-size: 10pt;">R **<span style="font-family: Arial,sans-serif; font-size: 10pt;">esolution **<span style="font-family: Arial,sans-serif; font-size: 10pt;">P **<span style="font-family: Arial,sans-serif; font-size: 10pt;">rotocol (Protocolo de resolución de direcciones).
 * 1) <span style="font-family: Arial,sans-serif; font-size: 10pt;">1. Cuando 2 hosts están en la misma red y uno quiere enviar un paquete a otro.
 * 2) <span style="font-family: Arial,sans-serif; font-size: 10pt;">2. Cuando 2 host están sobre redes diferentes y deben usar un gateway/router para alcanzar otro host.
 * 3) <span style="font-family: Arial,sans-serif; font-size: 10pt;">3. Cuando un router necesita enviar un paquete a un host a través de otro router.
 * 4) <span style="font-family: Arial,sans-serif; font-size: 10pt;">4. Cuando un router necesita enviar un paquete a un host de la misma red.

<span style="background-color: white; font-family: Arial,sans-serif; font-size: 10pt;">La filosofía es la misma que tendríamos para localizar al señor "X" entre 150 personas: preguntar por su nombre a todo el mundo, y el señor "X" nos responderá. Así, cuando a "A" le llegue un mensaje con dirección origen <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt;">[|IP] <span style="background-color: white; font-family: Arial,sans-serif; font-size: 10pt;"> y no tenga esa dirección en su tabla ARP, enviará su trama ARP a la dirección broadcast (física), con la IP de la que quiere conocer su dirección física. Entonces, el equipo cuya <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt;">[|dirección IP] <span style="background-color: white; font-family: Arial,sans-serif; font-size: 10pt;"> coincida con la preguntada, responderá a "A" enviándole su dirección física. En este momento "A" ya puede agregar la entrada de esa IP a su tabla ARP. Las entradas de la tabla se borran cada cierto tiempo, ya que las direcciones físicas de la red pueden cambiar (Ej: si se estropea una tarjeta de red y hay que sustituirla, o simplemente algún usuario de la red cambia de dirección IP). <span style="background-color: white; font-family: Arial,sans-serif; font-size: 10pt;">Si A quiere enviar una trama a la <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt;">[|dirección IP] <span style="background-color: white; font-family: Arial,sans-serif; font-size: 10pt;"> de B (misma red), mirará su tabla ARP para poner en la trama la dirección destino física correspondiente a la IP de B. De esta forma, cuando les llegue a todos la trama, no tendrán que deshacerla para comprobar si el mensaje es para ellos, sino que se hace con la dirección física. <span style="background-color: white; font-family: Arial,sans-serif; font-size: 10pt;">Una vez en el router, éste consultará su tabla de encaminamiento, obteniendo el próximo nodo (salto) para llegar al destino, y saca el mensaje por la interfaz correspondiente. Esto se repite por todos los nodos, hasta llegar al último router, que es el que comparte el medio con el host destino. Aquí el proceso cambia: la interfaz del router tendrá que averiguar la dirección física de la <span style="color: #0645ad; font-family: Arial,sans-serif; font-size: 10pt;">[|IP] <span style="background-color: white; font-family: Arial,sans-serif; font-size: 10pt;"> destino que le ha llegado. Lo hace mirando su tabla ARP, y en caso de no existir la entrada correspondiente a la IP, la obtiene realizando una multidifusión