1.6.1 El protocolo ARP
Como hemos comentado en el punto anterior, dos máquinas que quieren comunicarse en la misma red física, sólo podrán hacerlo si conocen sun direcciones físicas.
Existen diversas formas de resolver el problema. Si en la red
física puediera escogerse la numeración de las estaciones (p.e. red PRONET 10),
entonces podemos hacer que su número sea una función simple de su dirección
IP.
Pero en el caso de una red Ethernet, el problema no resulta tan
sencillo de resolver. Cada interfaz Ethernet tiene asignada una dirección
hardware de 48 bits, así pues, es imposible codificar la dirección hardware en
una dirección IP, además, si se sustituye el interfaz Ethernet, cambia la
dirección física de la estación.
Para resolver este problema, se diseño el protocolo de resolucion de direcciones (ARP, Adress Resolution Protocol), válido para todas las redes que soportan multidistribución.
La idea es simple, si una máquina A necesita saber la dirección
física de una máquina B, envia por multidifusión un paquete especial que pide a
la máquina con la dirección IP indicada que responda con su dirección física.
Una vez recibida la respuesta, A puede enviar paquetes a B directamente, pues
conoce su dirección física.
Debido a que la multidistribución es un recurso costoso (consume recursos de red, ya que todos los receptores deben procesar el paquete enviado), suele evitarse su uso lo más posible. Una de las formas de hacer esto es manteniendo en cada máquina una tabla relacionando direcciones IP con direcciones físicas. Además, como en cada petición ARP se encuentra la dirección IP y la dirección física del remitente, todas las máquinas activas pueden actualizar su tabla con el nuevo dato.
Al enviar un mensaje ARP de una máquina a otra, este debe viajar
en una trama física. Para que la máquina destino identifique la trama como ARP,
debe llevar un valor en el campo de tipo de trama que lo identifique como tal.
En Ethernet, este valor es 0806h (en hexadecimal).
El formato del mensaje ARP no es fijo, sino que depende que hardware de la red.
El formato de un mensaje ARP para Ethernet es el
siguiente:
El campo tipo de hardware (16 bits) especifica el tipo de
interfaz hardware del que se busca la dirección (1 para Ethernet). El campo
tipo de protocolo (16 bits) indica el tipo de protocolo del que el origen
ha enviado la dirección (0800h para IP).
Los campos de longitud de direcciones física y de protocolo
permiten usar ARP con diferentes hardware y protocolos.
El campo operación nos indica el tipo de operación en
concreto, si es una petición ARP o una respuesta a una petición.
El resto de los campos indican las direcciones IP y físicas
tanto del remitente como del destinatario.
[INDICE |
INDICE
RESUMIDO | SIGUIENTE |
ANTERIOR]