Últimos Cambios |
||
Blog personal: El hilo del laberinto |
Última Actualización:
30 de Junio de 1.996 - Domingo
El módulo ARP (Address Resolution Protocol) es el encargado de realizar las traducciones de direcciones lógicas a direcciones físicas. Esto es, traducir las direcciones IP utilizadas en las capas superiores a direcciones de dispositivos dependientes del hardware subyacente. Este hardware puede estar constituido por una red Ethernet, FDDI, un sistema AX.25, etc., cada uno de los cuales tiene sus propias características de direccionamiento. Este nivel, por tanto, aisla a las capas superiores (en especial a la capa IP) de los diferentes esquemas de nombramiento posibles a nivel físico.
Cuando un nodo de la red desea enviar un paquete a otra máquina debe averiguar su dirección física. La máquina fuente conoce sus propias direcciones IP y física (las direcciones de sus interfaces de red), pero toda la información que dispone sobre la máquina remota es su dirección IP. Para conocer la dirección física equivalente se envía un mensaje ARP Broadcast (en las redes sin la opción de Broadcast se suele confiar la tarea de resolver direcciones a un nodo conocido por los demás). Este mensaje lo reciben todas las máquinas de la red, pero sólo contesta la máquina solicitada. Este proceso, para el caso especial de una red Ethernet, se describe en [RFC826].
Existen situaciones, no obstante, en los que una máquina ni siquiera conoce su propia dirección IP. Es el caso, por ejemplo, de estaciones sin disco (en particular, terminales X-Window). En esta situación todas las estaciones son idénticas y ejecutan el mismo software (almacenado en una ROM o EPROM). La única diferencia entre ellas es la dirección física de su interfaz de red. Dado que para comunicarse con otros nodos necesitan conocer su propia dirección IP, realizan un proceso RARP (Reverse Address Resolution Protocol). Este consiste en el envío de un paquete RARP Broadcast. Este paquete es recibido, en particular, por una máquina (un servidor) que contiene una tabla de traducción entre direcciones físicas y direcciones IP. Dicha máquina envía a la primera una respuesta indicando qué dirección IP le corresponde. El procedimiento se describe en [RFC903].
Existen, todavía, dos extensiones al protocolo ARP a tener en
cuenta. El primero [RFC1293] describe un procedimiento por medio
del cual un sistema dado puede averiguar la o las direcciones del
nodo situado al otro extremo de un enlace punto a punto. Ello
resulta especialmente importante, por ejemplo, en redes de
circuitos virtuales como ATM y Frame Relay. La segunda extensión
[RFC1868] define un algoritmo a través del que un nodo concreto
puede anunciar su retirada de la red. Ello es muy útil en accesos
PROXY donde las direcciones asignadas a los nodos son dinámicas.
Recientemente se ha definido una extensión al protocolo RARP
[RFC1931] que permite la asignación de direcciones dinámicas a
estaciones sin disco. Su funcionamiento es muy similar al
protocolo DHCP [RFC1541] (Dynamic Host Configuration
Protocol).
Interfaz
PROC_ARP_BC
Este proceso se encarga de inicializar y finalizar el módulo ARP. Los mensajes admitidos son MSG_INIT y MSG_QUIT. Los campos de información son ignorados.
PROC_ARP_SUP
Este proceso es el encargado de realizar la traducción entre direcciones IP y direcciones físicas del dispositivo. Se sitúa entre la capa IP y el nivel físico. Admite mensajes MSG_MBUF con los campos siguientes:
Campo1: Ignorado
Campo2: Nombre del canal físico a través del cual se envía el
datagrama
Campo3: Dirección IP destino
En la implementación actual este proceso envía el mensaje directamente a la capa física, sin efectuar ninguna manipulación previa.
PROC_ARP_INF
Este proceso no es utilizado, dadas las características de la
implementación efectuada.
Implementación
Este Proyecto Fin de Carrera tiene como objetivo la implementación
de la torre de protocolos IP/UDP/TCP para su funcionamiento en
conexiones punto a punto, no en redes Broadcast. Debido a ello no
se necesita la traducción de direcciones. La gestión explícita de
direcciones dinámicas se realiza a través de las facilidades
proporcionadas por el protocolo PPP (Point-to-Point
Protocol).
Se ha elegido, no obstante, el implementar un nivel ARP
rudimentario para facilitar la actualización del sistema a redes
como la de RadioPaquete, utilizada por los
Radioaficionados de
todo el mundo (AX.25). Esta red es del tipo Broadcast y cada
estación tiene una dirección física asignada que coincide con el
indicativo de su operador.
Bibliografía
[KISS] "Proposed "Raw" (aka "KISS") TNC Functional Spec" Phil Karn, KA9Q Mike Cheppionis, K3MC 6 August 1986 [MACAX25] "MacAX25 Design Speficications" Tim Hayes, N2KBG Abril 1.995 [RFC826] RFC 826: "An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware" David C. Plummer Noviembre 1.982 [RFC903] RFC 903: "A Reverse Address Resolution Protocol" Ross Finlayson Timothy Mann Jeffrey Mogul Marvin Theimer Junio 1.984 [RFC1122] RFC1122: "Requirements for Internet Hosts -- Communication Layers" Robert Braden Octubre 1.989 [RFC1293] RFC 1293: "Inverse Address Resolution Protocol" T. Bradley C. Brown Enero 1.992 [RFC1541] RFC1541: "Dynamic Host Configuration Protocol" R. Droms Octubre 1993 [RFC1868] RFC 1868: "ARP Extension - UNARP" G. Malkin Noviembre 1.995 [RFC1931] RFC 1931: "Dynamic RARP Extensions for Automatic Network Address Acquisition" D. Brownell Abril 1996 [SMACK] "The SMACK Protocol" Jan Schiefer, DL5UE Dieter Deyke, DK5SG/N0PRA 27 de Febrero de 1.992 Original en Alemán. Traducción al Inglés por Mike Chace, G6DHU, en Febrero de 1.993
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS