El
protocolo ARP.
Que es. Para que sirve ?
En una red Ethernet cuando queremos enviar un paquete IP entre
dos hosts conectados las únicas direcciones válidas
son las MAC y lo que circula son tramas Ethernet. Entonces y
volviendo al ejemplo de antes cuando queremos enviar un paquete
IP lo que se hace es meter el paquete dentro de una trama Ethernet
y enviar.
Formato de una cabecera ARP:

HLEN Longitud dirección hardware
PLEN Longitud dirección del protocolo
OPERACION Código de operación
(ARPreques ó ARPreply)
SENDER HA Dirección de origen hardware
SENDER IP Dirección de origen del protocolo
TARGET HA Dirección de destino hardware
Cual es el problema entonces ?
El problema radica en que que sabemos la dirección IP
del host de destino pero no su dirección MAC.
Como se soluciona esto ?
La solución está en que antes de enviar el paquete
IP se debe usar ARP para averiguar cual es la dirección
MAC del host destino de la conección que pretendemos
realizar.
Y como se hace ?.
ARP tiene dos tipos básicos de mensajes:
- mensaje de peticion o ARPrequest
- mensaje de respuesta o ARPreply
los dos viajan por nuestra red dentro de tramas Ethernet.
Cuando queremos enviar un paquete IP desde un host origen (A)
hacia un host destino (B) sucede:
(A) crea un mensaje o petición ARPrequest indicando:
- su dirección IP
- su dirección MAC
- dirección IP del host (B)
- campo de dirección MAC host (B) sin rellenar.
envia el ARPrequest a la dirección broadcast (todos
los hosts de la red) pero sólo contesta uno de ellos
(B). Entonces:
(B) crea un mensaje ARPreply:
- rellena el campo de dirección MAC con su MAC
- intercambia las direcciones origen y destino
- cambia el tipo de mensaje de ARPreques a ARPreply
- envia el mesnaje ARPrpely a (A).
Ya hay entonces información suficiente para establecer
cualquier comeunicación entre (A) y (B).
Esto lo podemos comprobar utilizando un sniffer de red como
Ethereal y filtrando por protocolos, en este caso ARP.
¿
Algún comentarío sobre este artículo ?
Pincha aquí
|