Está en la página 1de 18

ARP (Address Resolution Protocol)

¿Cómo Funciona ARP?


El protocolo ARP se publicó en Noviembre de 1982 como RFC 826 por David C. Plumier. Como la seguridad
en las tecnologías de la información no era un factor importante en aquella época, el objetivo era simplemente
proporcionar funcionalidad. ARP transforma direcciones IP a direcciones MAC.
Un ejemplo:
Si el cliente C necesita enviar un paquete al servidor S, tiene que saber cual es la dirección MAC de S si
ambas máquinas están dentro de la misma subred. Incluso si S reside en una red diferente, C aún ecesita la
MAC -en este caso, la dirección del router que reenviará el paquete. El router se hará cargo de todo lo demás.

Para averiguar la dirección MAC, C retransmite una solicitud ARP a todas las máquinas de la red local,
preguntando “¿Quién tiene la dirección IP a.b.c.d?”. La máquina que tiene dicha dirección IP responde
indicándole al cliente su dirección MAC (Figura 1). Como se muestra en la Figura 2, un paquete ARP se
transporta como información dentro de una trama Ethernet. Para permitir que esto pueda hacerse, el valor de
0x8006 se coloca en la cabecera de la trama en el campo tipo – esto le indica al destino que se trata de un
paquete ARP.

Tipo de Hardware (HT)


Especifica el tipo de hardware. Por ejemplo: Ethernet o Packet Radio Net.
Tipo de Protocolo (PT)
Específica el tipo de protocolo
Longitud de la dirección de Hardware (HAL)
Especifica la longitud(en bytes) de la dirección hardware del paquete
Longitud de la dirección Protocolo (PAL)
Especifica la longitud(en bytes) de las direcciones del protocolo en el paquete.
Operacion (OP)
Especifica si se trata de una petición(1) o una solicitud(2) ARP.
Dirección de Hardware Remitente (SHA)
Dirección de Protocolo Remitente (SPA)
Dirección de Hardware Destino (THA)
Dirección de Protocolo Destino (TPA)
Para el paquete de solicitud, la dirección hardware de destino es el único campo indefinido del paquete.

Como sería muy costoso el tener que retransmitir solicitudes ARP y esperar las respuestas antes de enviar
datos, cada pila IP contienen una tabla ARP, también conocida como ARP caché (Figura 3). La caché
contiene una tabla con las direcciones IP y las direcciones MAC correspondientes. La tabla puede albergar
entradas estáticas (por ejemplo, aquellas generadas por un usuario) y entradas dinámicas (aquellas que ha
ido aprendiendo a través del protocolo ARP). Las entradas dinámicas a menudo son válidas para períodos
cortos de tiempo, normalmente unos cuantos minutos.

OTRO

En comunicaciones, ARP (del inglés Address Resolution Protocol o, en español, Protocolo de resolución de
direcciones) es un protocolo de la capa de enlace de datos 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
IPpor 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 ser independiente de la dirección Ethernet, pero esto sólo funciona si todas
las máquinas lo soportan.

ARP está documentado en el RFC 826. El protocolo RARP realiza la operación inversa y se encuentra
descrito en el RFC 903.

En Ethernet, la capa de enlace trabaja con direcciones físicas. El protocolo ARP se encarga de traducir las
direcciones IP a direcciones MAC (direcciones físicas). Para realizar esta conversión, el nivel de enlace utiliza
las tablas ARP, cada interfaz tiene tanto una dirección IP como una dirección física MAC.

ARP se utiliza en 4 casos referentes a la comunicación entre 2 hosts:

1. Cuando 2 hosts están en la misma red y uno quiere enviar un paquete a otro.
2. Cuando 2 host están sobre redes diferentes y deben usar un gateway/router para alcanzar otro host.
3. Cuando un router necesita enviar un paquete a un host a través de otro router.
4. Cuando un router necesita enviar un paquete a un host de la misma red.

Tablas ARP

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 IP y no tenga esa dirección en su caché de la tabla ARP, enviará su trama ARP a la dirección
broadcast (física = FF:FF:FF:FF:FF:FF), con la IP de la que quiere conocer su dirección física. Entonces, el
equipo cuya dirección IP 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 la caché de 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).

Reverse ARP e Inverse ARP

Reverse ARP(RARP)

RARP es un protocolo utilizado para obtener la dirección IP perteneciente a un determinado hardware


electrónico que se encuentra en la mayoría de las veces en una red Ethernet. RARP utiliza el mismo
mecanismo que ARP. La respuesta que se devuelve de una solicitud es la dirección de protocolo de la
estación origen, no la dirección de la estación destino de la solicitud. Para poder usar RARP todas las
direcciones MAC deben estar configuradas en un servidor central para que transfiera una dirección IP. Las
especificaciones del RARP se encuentran en RFC 903. El RARP además de encontrarlo en las redes Ethernet
está disponible en otras redes de área local como lo son la Interfaz de Fibra de Distribución de Datos y las
redes LAN Token Ring, entre otras. RARP ya no es usado, fue reemplazado por BOOTP (protocolo de red
que es usado para obtener una dirección IP de un servidor), el cual fue tiempo más tarde sustituido por el
Protocolo de Configuración Dinámica de host (DHCP).

Inverse ARP (InARP)

La función del InARP es traducir las direcciones de la capa de red (capa 3) a direcciones de la capa de enlace
de dato (capa 2).Es mas efectivo que usar el envió de mensaje ARP en cada circuito virtual para cada
dirección que desee resolver y más flexible porque no depende de una configuración estática. InARP no envía
solicitudes porque conoce la dirección de la estación destino. InARP sucede cada 60 segundos por defecto en
los circuitos virtuales que se encuentran activos. Cuando se envía un mensaje completo de información
llamado full status message podemos conocer si un circuito esta activo. Cuando el router reconoce que se
encuentra un circuito activo, en el circuito virtual, envía un Inverse ARP, en caso de que no haya sido ya
ejecutado con el comando frame-relay map. InARP es implementada como una extensión del protocolo ARP,
la cual utiliza el mismo formato de paquete como el ARP, difiere porque usa el código de operación distinto.
ARP Proxy

La técnica ARP Proxy consiste en que un host, generalmente un router, responde a peticiones ARP
destinadas a un host que se encuentra fuera de la red local. Por fingir su identidad el router es responsable de
enrutar el paquete hacia su destino real. La técnica ARP Proxy permite a los host de una subred alcanzar
subredes remotas sin la necesidad de configurar el enrutamiento o la puerta predeterminada de enlace
(Gateway). ARP Proxy se define en RFC 1027.

Usos

Uno de los usos de la técnica ARP Proxy es cuando en una implementación más antigua de IPv4 no puede
deducir si el host destino se encuentra en la misma red lógica que el host de origen. En estos casos, el ARP
envía solicitudes de ARP para la dirección IPv4 de destino. Si en la interfaz del router desactivamos el Proxy
ARP, entonces los host no podrán comunicarse fuera de la red local. Otro caso en donde utilizamos el ARP
Proxy es cuando un host cree que está conectado directamente a la misma red lógica del host de destino.
Esto sucede cuando se configura el host con una máscara de red inapropiada. Otro uso que le podemos dar a
la técnica ARP Proxy es cuando se trata de un host que no está configurado con un Gateway predeterminado.
El ARP Proxy permite que los dispositivos de una red accedan a subredes remotas sin tener que configurar el
enrutamiento o el Gateway por defecto

Ventajas

La principal ventaja del uso de la técnica ARP Proxy es que se puede agregar a un solo enrutador en la red,
esto permite que no se distorsione las tablas de encaminamiento de los otros enrutadores de la red. Es
recomendable que el ARP Proxy sea utilizado en redes donde los host IP no se encuentren configurados con
ninguna puerta de enlace predeterminada.

Desventajas

Los anfitriones no tienen ni idea de los detalles físicos de la red y suponen que es una red plana la cual llega a
cualquier destino con tan solo hacer una solicitud ARP. Pero como todo el ARP tiene su desventaja las cuales
son:

 Aumenta la cantidad de trafico ARP en su segmento


 Posee grandes tablas ARP para manejar la asignación de dirección IP a MAC
 La seguridad puede ser expuesta. Un host puede simular ser otro host con el fin de interceptar los
paquetes, esto es llamado “spoofing”
 No funciona para redes que no utilicen el protocolo ARP para la resolución de direcciones

Exploración ARP

Una exploración ARP es una petición construida con una dirección IP del remitente de todo ceros. El término
es utilizado específicamente en direcciones IPv4 detección de conflictos (RFC 5227). Antes de comenzar a
utilizar una dirección IPv4 (si recibió de configuración manual, DHCP, o de cualquier otra manera), una serie
implementara esta especificación que debe comprobar para ver si la dirección ya está en uso, mediante la
transmisión de paquetes ARP exploración.

Alcance de Funcionamiento

El Protocolo de resolución de direcciones es una solicitud y un protocolo de respuesta que ejecuta


encapsulado por el protocolo de línea. Se comunica dentro de los límites de una sola red, nunca encaminado
a través de los nodos de interconexión de redes. , Este establecimiento pone ARP en la capa de enlace del
conjunto de protocolos de Internet; mientras que en la interconexión de sistemas abiertos (OSI), normalmente
se describe como residentes entre las capas 2 y 3, el ARP está rodeado por protocolos de capa 2, sin
embargo, ARP no se desarrolló en el marco de OSI.
Funcionamiento I

Si A quiere enviar una trama a la dirección IP 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.

Funcionamiento II

Si A quiere enviar un mensaje a C (un nodo que no esté en la misma red), el mensaje deberá salir de la red.
Así, A envía la trama a la dirección física de salida del router. Esta dirección física la obtendrá a partir de
la IP del router, utilizando la tabla ARP. Si esta entrada no está en la tabla, mandará un mensaje ARP a
esa IP (llegará a todos), para que le conteste indicándole su dirección física.

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 IP destino que le ha llegado. Lo hace mirando su tabla
ARP, y en caso de no existir la entrada correspondiente a la IP, mandará un mensaje ARP a esa IP (llegará a
todos), para que le conteste indicándole su dirección física.

Estructura del Paquete

El Protocolo de resolución de direcciones utiliza un formato simple mensaje que contiene una solicitud de
resolución de dirección o respuesta. El tamaño del mensaje ARP depende de la capa superior y menor
tamaño de dirección de capa, que se da por el tipo de protocolo de red (por lo general IPv4) en uso y el tipo de
capa de enlace virtual que el protocolo de capa superior se ejecuta en el hardware o. El encabezado del
mensaje especifica estos tipos, así como el tamaño de las direcciones de cada uno. El encabezado del
mensaje se completa con el código de operación para la solicitud (1) y la respuesta (2). La carga útil del
paquete consta de cuatro direcciones, el hardware y la dirección de protocolo del remitente y el receptor hosts.

Tipo de hardware (HTYPE) Este campo especifica el tipo de protocolo de red. Ejemplo: Ethernet es 1. Tipo de
protocolo (PTYPE) Este campo especifica el protocolo de interconexión de redes para las que se destina la
petición ARP. Para IPv4, esto tiene el valor 0x0800. Los valores permitidos pType comparten un espacio de
numeración con los de EtherType. [3] [4] [5] Longitud Hardware (HLEN) Longitud (en octetos) de una dirección
de hardware. Ethernet Tamaño de direcciones es de 6. Longitud del Protocolo (PLEN) Longitud (en octetos)
de direcciones utilizadas en el protocolo de capa superior. (El protocolo de capa superior especificado en
PTYPE.) IPv4 tamaño de la dirección es de 4. Operación Especifica la operación que el emisor está
realizando: 1 para la petición, 2 para la respuesta. Dirección de hardware del remitente (SHA) dirección de
medios de comunicación del remitente. Remitente dirección de protocolo (SPA) dirección de la interconexión
del remitente. Dirección de hardware de destino (THA) dirección de los medios de comunicación del receptor
previsto. Este campo se ignora en las solicitudes. Target dirección de protocolo (TPA) dirección de la
interconexión del receptor previsto. Valores de los parámetros del protocolo ARP se han normalizado y se
mantienen por la Autoridad de Números Asignados de Internet (IANA).

Generación del paquete ARP

Si una aplicación desea enviar datos a una determinado dirección IP de destino, el mecanismo de
encaminamiento IP determina primero la dirección IP del siguiente salto del paquete (que puede ser el propio
Host de destino o un “router”) y el dispositivo hardware al que se debería enviar. Si se trata de una red
802.3./4/5, deberá consultarse al modulo ARP para mapear el par <tipo de protocolo, dirección de destino> a
una dirección física.

El modulo ARP intenta hallar la dirección en su caché. Si encuentra el par buscado, devuelve la
correspondiente dirección física de 48 bits al llamador (el manejador de dispositivo). Si no lo encuentra,
descarta el paquete (se asume que al ser un protocolo de alto nivel volverá a transmitirlo) y genera un
broadcast de red para una solicitud ARP.

Recepción del paquete ARP

Cuando un host recibe un paquete ARP (Bien un broadcast o una respuesta punto a punto), el dispositivo
receptor le pasa el paquete al modulo ARP.

Ejemplo

Por ejemplo, los ordenadores Matterhorn y Washington están en una oficina, conectados entre sí en una red
de área local de la oficina mediante cables Ethernet y conmutadores de red, sin gateways o routers
intermedios. Matterhorn quiere enviar un paquete a Washington. A través de otros medios, se determina que
la dirección IP de Washington es 192.168.0.55, pero para enviar el mensaje también tiene que saber la
dirección MAC de Washington. En primer lugar, Matterhorn utiliza una tabla caché ARP para buscar
192.168.0.55 en todos los registros existentes la dirección MAC de Washington (00: eb: 24: B2: 05: ac). Si el
caché no ha dado ningún resultado para 192.168.0.55, Matterhorn envía un mensaje ARP broadcast (destino
FF: FF: FF: FF: FF: FF de dirección MAC, que es aceptada por todos los equipos), solicitando una respuesta
para 192.168.0.55 . Washington responde con su dirección MAC (y su IP). Washington puede insertar una
entrada para Matterhorn en su propia tabla ARP para su uso futuro. La información de la respuesta se
almacena en caché en la tabla ARP del Matterhorn y el mensaje que se puede enviar.

OTRO

1. Protocolo ARP

MAC. Conociendo la dirección de red del host remoto, ARP averigua su dirección MAC en el mismo segmento
de red.Supongamos por ejemplo que un router recibe un paquete IP destinado a un host perteneciente a una
de las redes directamente conectadas al mismo. El paquete sólo contiene una dirección IP de 32 bits. Para
generar la cabecera de la trama a nivel de enlace, el router precisa conocer la dirección física MAC del
destinatario. El router averigua la dirección MAC a partir de la dirección de red. Esta función se denomina
resolución de direcciones (address resolution).
Cuando un router asigna una dirección de red a una dirección física MAC, lo hace accediendo a la tabla de
cache ARP. Dicha tabla contiene las direcciones físicas MAC que se corresponden con cada dirección de red.
Si la dirección no figura en el cache, el router envía una petición ARP a todos los hosts para localizar la
dirección física MAC. El host que reconozca su dirección de red en el paquete ARP, contesta con su dirección
física MAC. El router entonces encamina el paquete al host destino, y actualiza la cache ARP con la nueva
dirección.
2. Protocolo ARP Inverso (InARP)
El protocolo ARP Inverso (InARP) permite averiguar y asignar las direcciones de protocolo que corresponden
a una determinada dirección hardware. Normalmente, este protocolo se utiliza en equipos con líneas Frame
Relay que pueden tener DLCIs configurados, el equivalente en Frame Relay a una dirección hardware, y que
están asociados a un Circuito Virtual permanente, pero no se conoce la dirección de protocolo del equipo que
está al otro lado de la conexión. También se puede utilizar este protocolo en otras redes con circunstancias
similares.
El protocolo InARP básico opera esencialmente igual que el ARP con la excepción de que InARP no envía
paquetes de broadcast. Esto es debido a que la dirección hardware del equipo remoto es conocida (es el
DLCI). Cuando un circuito se activa por primera vez, éste envía un paquete InARP en el que se inserta
información sobre su dirección hardware, dirección de protocolo y la dirección hardware del equipo remoto.
Este paquete se envía directamente al equipo remoto y, cuando éste lo recibe debe poner la dirección de
protocolo y la dirección hardware en su cache ARP igual que lo
haría con cualquier paquete ARP que le llegue.
La diferencia con respecto a un paquete ARP es que cuando un equipo recibe un paquete InARP asume
directamente que es para él y no continúa propagándolo. Además, cada vez que se recibe una petición
InARP, el equipo debe contestar con un paquete de respuesta enviándolo a la dirección origen del equipo que
realizó la petición y en el que se introduce información de la dirección de protocolo del equipo que está
respondiendo. Cuando el equipo que realizó la petición recibe la respuesta InARP, debe actualizar sus
entradas en la tabla ARP con la nueva dirección de protocolo. Las direcciones aprendidas mediante InARP
pueden ser refrescadas o invalidadas bajo determinadas circunstancias. Resumiendo, el protocolo ARP
Inverso (InARP) permite a un equipo Frame Relay descubrir la dirección de protocolo del equipo que se
encuentra en el otro extremo de la línea.

OTRO
El protocolo ARP

El objetivo del protocolo ARP

El protocolo ARP tiene un papel clave entre los protocolos de capa de Internet relacionados con el protocolo
TCP/IP, ya que permite que se conozca la dirección física de una tarjeta de interfaz de red correspondiente a
una dirección IP. Por eso se llama Protocolo de Resolución de Dirección (en inglés ARP significa Address
Resolution Protocol).
Cada equipo conectado a la red tiene un número de identificación de 48 bits. Éste es un número único
establecido en la fábrica en el momento de fabricación de la tarjeta. Sin embargo, la comunicación en Internet
no utiliza directamente este número (ya que las direcciones de los equipos deberían cambiarse cada vez que
se cambia la tarjeta de interfaz de red), sino que utiliza una dirección lógica asignada por un organismo:
la dirección IP.
Para que las direcciones físicas se puedan conectar con las direcciones lógicas, el protocolo ARP interroga a
los equipos de la red para averiguar sus direcciones físicas y luego crea una tabla de búsqueda entre las
direcciones lógicas y físicas en una memoria caché.

Cuando un equipo debe comunicarse con otro, consulta la tabla de búsqueda. Si la dirección requerida no se
encuentra en la tabla, el protocolo ARP envía una solicitud a la red. Todos los equipos en la red comparan
esta dirección lógica con la suya. Si alguno de ellos se identifica con esta dirección, el equipo responderá al
ARP, que almacenará el par de direcciones en la tabla de búsqueda, y, a continuación, podrá establecerse la
comunicación.

El protocolo RARP

El protocolo RARP (Protocolo de Resolución de Dirección Inversa) es mucho menos utilizado. Es un tipo de
directorio inverso de direcciones lógicas y físicas.
En realidad, el protocolo RARP se usa esencialmente para las estaciones de trabajo sin discos duros que
desean conocer su dirección física.
El protocolo RARP le permite a la estación de trabajo averiguar su dirección IP desde una tabla de búsqueda
entre las direcciones MAC (direcciones físicas) y las direcciones IP alojadas por una pasarela ubicada en la
misma red de área local (LAN).

Para poder hacerlo, el administrador debe definir los parámetros de la pasarela (router) con la tabla de
búsqueda para las direcciones MAC/IP. A diferencia del ARP, este protocolo es estático. Por lo que la tabla de
búsqueda debe estar siempre actualizada para permitir la conexión de nuevas tarjetas de interfaz de red.

El protocolo RARP tiene varias limitaciones. Se necesita mucho tiempo de administración para mantener las
tablas importantes en los servidores. Esto se ve reflejado aun más en las grandes redes. Lo que plantea
problemas de recursos humanos, necesarios para el mantenimiento de las tablas de búsqueda y de capacidad
por parte del hardware que aloja la parte del servidor del protocolo RARP. Efectivamente, el protocolo RARP
permite que varios servidores respondan a solicitudes, pero no prevé mecanismos que garanticen que todos
los servidores puedan responder, ni que respondan en forma idéntica. Por lo que, en este tipo de arquitectura,
no podemos confiar en que un servidor RARP sepa si una dirección MAC se puede conectar con una
dirección IP, porque otros servidores ARP pueden tener una respuesta diferente. Otra limitación del protocolo
RARP es que un servidor sólo puede servir a una LAN.

Para solucionar los dos primeros problemas de administración, el protocolo RARP se puede remplazar por el
protocolo DRARP, que es su versión dinámica. Otro enfoque consiste en la utilización de un servidor DHCP
(Protocolo de configuración de host dinámico), que permite una resolución dinámica de las direcciones.
Además, el protocolo DHCP es compatible con el protocolo BOOTP (Protocolo de secuencia de arranque) y,
al igual que este protocolo, es enrutable, lo que le permite servir varias LAN. Sólo interactúa con el protocolo
IP.

RFC (PETICION DE COMENTARIOS)

¿Qué significa RFC?

Las RFC (Peticiones de comentarios) son un conjunto de documentos que sirven de referencia para la
comunidad de Internet, que describen, especifican y asisten en la implementación, estandarización y discusión
de la mayoría de las normas, los estándares, las tecnologías y los protocolos relacionados con Internet y las
redes en general.

¿Quién escribe estas RFC?

La sucesión de protocolos TCP/IP representa un conjunto de normas redactadas por una organización
llamada IETF (Grupo de Trabajo de Ingeniería de Internet). Esta organización publica oficialmente sus
informes en forma de peticiones, disponibles para todos, lo cual permite clarificar una gran cantidad de temas
relacionados con TCP/IP.
Cada uno de estos documentos representa una propuesta de especificación, que puede volverse obsoleta en
cualquier momento si se publica un nuevo documento RFC. Por lo tanto, las RFC son archivos de texto que
llevan el nombre "rfcxxxx.txt" donde xxxx es un número que se incrementa por cada RFC nueva. Actualmente
existen más de 2000. Esto representa un tamaño de aproximadamente 130 Mb (25 Mb comprimido). Sin
embargo, varios de estos archivos han sido remplazados por archivos más recientes.

En realidad, cualquier persona puede escribir una RFC y enviarla al coordinador del
IETF: rfc.editor@rfc.editor.org. Si se acepta, aparecerá una vez que los coordinadores la hayan evaluado.
RFC1543, cuyo título es Instrucciones para autores de RFC, explica cómo redactar una RFC.

¿Cuáles son las RFC interesantes?

Las RFC más interesantes son las RFC recientes que tratan acerca de los protocolos o servicios más comunes:

Especificación RFC

Protocolo UDP (Protocolo de datagrama de usuario) RFC768

Protocolo IP RFC791

Protocolo ICMP (Protocolo de mensajes de control de Internet) RFC792

Protocolo TCP (Protocolo de control de transmisión) RFC793

Protocolo FTP (Protocolo de transferencia de archivos) RFC959


Correo electrónico RFC822

Protocolo Telnet RFC854

Protocolo NNTP (Protocolo de transferencia de noticias a través de la red) RFC977

Netbios RFC1001

Protocolo SLIP (Protocolo de línea serial de Internet) RFC1055

MIB RFC1156

TCP/IP RFC1180

Preguntas frecuentes para principiantes RFC1206

Preguntas frecuentes para usuarios experimentados RFC1207

Glosario de la red RFC1208

RFC (petición de comentarios) RFC1325

MIME (Extensiones multipropósito de correo Internet) RFC2045, RFC2046 yRFC2047

Asignación de direcciones IP para Intranet RFC1597

Protocolo PPP (Protocolo punto a punto) RFC1661

Números de puerto RFC3232

Protocolo HTTP RFC2068

Protocolo LDAPv3 RFC2251

Protocolo SMTP (Protocolo simple de transferencia de correo) RFC2821

¿Cómo se pueden obtener?


Estos documentos están disponibles en una gran cantidad de sitios FTP:

 ftp.inria.fr
 ftp.enst.fr
 ftp.imag.fr
El sitio web http://www.rfc-editor.org también permite descargar estos documentos y brinda la posibilidad de descargar el
archivo de más de 20 Mb que contiene todas las RFC.

NAT (NETWORK ADDRESS TRANSLATION)

Qué es y cómo funciona

Internet en sus inicios no fue pensado para ser una red tan extensa, por ese motivo se reservaron “sólo” 32 bits
para direcciones, el equivalente a 4.294.967.296 direcciones únicas, pero el hecho es que el número de
máquinas conectadas a Internet aumentó exponencialmente y las direcciones IP se agotaban. Por ello surgió
la NAT o Network Address Translation (en castellano, Traducción de Direcciones de Red)
La idea es sencilla, hacer que redes de ordenadores utilicen un rango de direcciones especiales (IPs privadas) y se
conecten a Internet usando una única dirección IP (IP pública). Gracias a este “parche”, las grandes empresas
sólo utilizarían una dirección IP y no tantas como máquinas hubiese en dicha empresa. También se utiliza para
conectar redes domésticas a Internet.

¿Cómo funciona?
En la NAT existen varios tipos de funcionamiento:

Estática
Una dirección IP privada se traduce siempre en una misma dirección IP pública. Este modo de funcionamiento
permitiría a un host dentro de la red ser visible desde Internet. (Ver imagen anterior)

Dinámica
El router tiene asignadas varias direcciones IP públicas, de modo que cada dirección IP privada se mapea
usando una de las direcciones IP públicas que el router tiene asignadas, de modo que a cada dirección IP
privada le corresponde al menos una dirección IP pública.

Cada vez que un host requiera una conexión a Internet, el router le asignará una dirección IP pública que no
esté siendo utilizada. En esta ocasión se aumenta la seguridad ya que dificulta que un host externo ingrese a
la red ya que las direcciones IP públicas van cambiando.
Sobrecarga
La NAT con sobrecarga o PAT (Port Address Translation) es el más común de todos los tipos, ya que es el
utilizado en los hogares. Se pueden mapear múltiples direcciones IP privadas a través de una dirección IP
pública, con lo que evitamos contratar más de una dirección IP pública. Además delahorro económico,
también se ahorran direcciones IPv4, ya que aunque la subred tenga muchas máquinas, todas salen a
Internet a través de una misma dirección IP pública.
Para poder hacer esto el router hace uso de los puertos. En los protocolos TCP y UDP se disponen de 65.536
puertos para establecer conexiones. De modo que cuando una máquina quiere establecer una conexión, el
router guarda su IP privada y el puerto de origen y los asocia a la IP pública y un puerto al azar. Cuando
llega información a este puerto elegido al azar, el router comprueba la tabla y lo reenvía a la IP privada y
puerto que correspondan.

Solapamiento
Cuando una dirección IP privada de una red es una dirección IP pública en uso, el router se encarga
de reemplazar dicha dirección IP por otra para evitar el conflicto de direcciones.

Ventajas de la NAT

El uso de la NAT tiene varias ventajas:

 La primera y más obvia, el gran ahorro de direcciones IPv4 que supone, recordemos que podemos
conectar múltiples máquinas de una red a Internet usando una única dirección IP pública.

 Seguridad. Las máquinas conectadas a la red mediante NAT no son visibles desde el exterior, por lo que
un atacante externo no podría averiguar si una máquina está conectada o no a la red.

 Mantenimiento de la red. Sólo sería necesario modificar la tabla de reenvío de un router para desviar
todo el tráfico hacia otra máquina mientras se llevan a cabo tareas de mantenimiento.

Desventajas de la NAT

Recordemos que la NAT es solo un parche, no una solución al verdadero problema, por tanto también tiene
una serie de desventajas asociadas a su uso:
 Checksums TCP y UDP: El router tiene que volver a calcular el checksum de cada paquete que
modifica. Por lo que se necesita mayor potencia de computación.

 No todas las aplicaciones y protocolos son compatibles con NAT. Hay protocolos que introducen el
puerto de origen dentro de la zona de datos de un paquete, por lo que el router no lo modifica y la
aplicación no funciona correctamente.
OTRO

El principio de NAT
La conversión de direcciones de red o NAT se desarrolló para resolver la falta dedirecciones IP con el protocolo
IPv4 (dentro de poco tiempo el protocolo IPv6resolverá este problema).
De hecho, en las direcciones IPv4 la cantidad de direcciones IP enrutables (que son únicas en el mundo) no es suficiente
para permitir que todos los equipos que lo requieran estén conectados a Internet.

Por lo tanto, el principio de NAT consiste en utilizar una conexión de pasarela a Internet, que tenga al menos una interfaz
de red conectada a la red interna y al menos una interfaz de red conectada a Internet (con una dirección IP enrutable)
para poder conectar todos los equipos a la red.

Es cuestión de crear, al nivel de la pasarela, una conversión de paquetes desde la red interna hacia la red externa.

Por lo tanto, se configura cada equipo en la red que necesite acceso a Internet para que utilice una pasarela de NAT (al
especificar la dirección IP de la pasarela en el campo "Gateway" [Pasarela] con sus parámetros TCP/IP). Cuando un
equipo de red envía una solicitud a Internet, la pasarela hace la solicitud en su lugar, recibe la respuesta y la envía al
equipo que hizo la solicitud.
Debido a que la pasarela oculta completamente las direcciones internas en la red, el mecanismo de
conversión de direcciones de red brinda una funciónsegura. De hecho, para un observador externo de la red,
todas las solicitudes parecen provenir de la dirección IP de pasarela.

Espacio de la dirección

La organización que administra el espacio de direcciones públicas (direcciones IP enrutables) es la Agencia


de Asignación de Números de Internet (IANA, Internet Assigned Number Authority). RFC 1918 define un
espacio de dirección privada que permite que cualquier organización asigne direcciones IP a equipos en su
red interna sin correr el riesgo de entrar en conflicto con una dirección IP pública asignada por la IANA. Estas
direcciones conocidas como no enrutables corresponden a las siguientes series de direcciones:
 Clase A: desde 10.0.0.0 hasta 10.255.255.255;
 Clase B: desde 10.16.0.0 hasta 172.31.255.255;
 Clase C: desde 192.168.0.0 hasta 192.168.255.55
Todos los equipos de una red interna, conectados a Internet a través de un router y que no posean una
dirección IP pública, deben utilizar una dirección que se encuentre dentro de estas series. Para redes
domésticas pequeñas, generalmente se utiliza la serie de direcciones comprendidas entre 192.168.0.1 y
192.168.0.255.

Conversión estática

El principio de NAT estática consiste en vincular una dirección IP pública con una dirección IP interna privada
en la red. Por lo tanto, el router (o más precisamente la pasarela) permite que una dirección IP privada (por
ejemplo192.168.0.1) esté vinculada con una dirección IP enrutable pública en Internet y lleva a cabo la
conversión, en cualquier dirección, al cambiar la dirección en el paquete IP.
Por consiguiente, la conversión de direcciones de red estática permite que equipos de una red interna estén
conectados a Internet de manera transparente, pero no resuelve el problema de falta de direcciones, en la
medida en que ndirecciones IP enrutables son necesarias para conectar n equipos a la red interna.

Conversión dinámica

La NAT dinámica permite que diversos equipos con direcciones privadas compartan una dirección IP
enrutable (o un número reducido de direcciones IP enrutables). Entonces visto desde afuera, todos los
equipos de la red interna prácticamente poseen la misma dirección IP. Ésta es la razón por la cual a veces se
utiliza el término "enmascaramiento IP" para indicar la conversión de direcciones de red dinámica.
Para poder "multiplexar" (compartir) las diferentes direcciones IP en una o varias direcciones IP enrutables, la
NAT dinámica utiliza la Conversión de direcciones por puerto (PAT, Port Address Translation), es decir, la
asignación de un puerto de origen diferente para cada solicitud, de manera que se pueda mantener una
correspondencia entre las solicitudes que provienen de la red interna y las respuestas de los equipos en
Internet, todas enviadas a la dirección IP del router.

Habilitación de puertos

La conversión de direcciones de red sólo permite solicitudes provenientes de la red interna hacia la red
externa, con lo cual es imposible que un equipo externo envíe un paquete a un equipo de la red interna. En
otras palabras, los equipos de la red interna no pueden funcionar como un servidor con respecto a la red
externa.
Por esta razón, existe una extensión NAT llamada "habilitación de puertos" omapeo de puertos que consiste
en configurar la pasarela para enviar todos los paquetes recibidos en un puerto particular a un equipo
específico de la red interna. Por lo tanto, si la red externa necesita acceder a un servidor Web (puerto 80) que
funciona en un equipo 192.168.1.2, será necesario definir una regla de habilitación de puertos en la pasarela,
con lo cual se redirigirán todos los paquetes TCP recibidos en el puerto 80 al equipo 192.168.1.2.

Activación de puertos

La mayoría de las aplicaciones cliente-servidor realiza una solicitud a través de un host remoto en un puerto
determinado y a su vez abre un puerto para recuperar los datos. Sin embargo, ciertas aplicaciones utilizan
más de un puerto para intercambiar datos con el servidor. Éste es el caso, por ejemplo, del FTP, para el que
se establece una conexión por el puerto 21, pero los datos se transfieren por el puerto 20. Por lo tanto, con
NAT, después de una solicitud de conexión en el puerto 21 de un servidor FTP remoto, la pasarela espera una
conexión en un solo puerto y rechazará la solicitud de conexión en el puerto 20 del cliente.
Existe un mecanismo derivado de la NAT llamado "activación de puertos" que permite autorizar la conexión
con determinados puertos (habilitación de puertos) si se completa una condición (solicitud). Por lo tanto, se
trata de una habilitación de puertos condicional que permite que un puerto se abra sólo cuando una aplicación
lo solicita. De esta manera, el puerto no permanece permanentemente abierto.

SUBNETTING

Conceptos Basicos (Introduccion)


A medida que las redes crecen aumentando el numero de segmentos, mas direcciones de red (IP) son
necesarios ya que cada segmento requiere un numero propio. La InterNIC(Network Information Centers
cooperation), sin embargo, no puede manejar un numero ilimitado de direcciones de red ya que se estan
acabando rapidamente debido a la alta demanda proveniente de la comunidad de Internet. Es por esto que los
administradores de redes deberan trabajar con lo poco que tienen para acomodarse mejor a los
requerimientos de la red y la reducida oferta de direcciones.

Una manera de lograrlo es tomar las direcciones que son asignadas a la red y expandir su capacidad con
subredes. Subnetting (implementar subredes) permite incrementar el numero de redes disponibles sin solicitar
otra direccion IP.

Es importante saber que las direccion IP estan clasificadas acorde a un nivel por clase, siendo asi que existen
cinco clases de direcciones IP, las cuales son las siguientes:

* Clase A: permite alrededor de 16,000,000 hosts conectados a la red. Este tipo de direcciones son poco
comunes, y se agotaron, ya que debido a sus caracteristicas solo existian unas pocas miles de este tipo de
direcciones.

* Clase B: permite alrededor de 65,000 hosts conectados a la red. Lamentablemente este tipo de direcciones
ya no se ofrecen, y son sumamente costosas, por las comodidades que brinda (amplia gama de direcciones
IP), pero representan un gran desperdicio de direcciones, ya que muy pocas redes Clase B llegan a conectar
65,000 hosts, un ejemplo es la red de la Universidad Simon Bolivar (159.90)

* Clase C: permite solo 254 hosts conectados a la red, y son actualmente la sunicas ofresidas a la venta. Se
ha logrado implementar un metodo que permite usionarvarias direcciones Clase C, enmascarandolas como
una sola red. Este metodo se conoce como CIDR (Classless InterDomain Routing).

* Clase D: utilizada para propositos de multicast.

* Clase E: utilizada actualmente para fines experimentales.

Las direcciones IP son globalmente unicas, y tienen una estructura jerarquica de la forma <parte de red> +
<parte de host>. Tienen una notacion de la siguiente manera:

* 10.3.2.4 (Clase A, pues el primer numero esta entre 0 y 127).


* 159.90.10.185 (Clase B, pues el primer numero esta entre 128 y 191).
* 192.12.69.77 (Clase C, pues el primer numero esta entre 192 y 223).
* 224.0.0.0 (Clase D, pues es en este numero donde comienzan, hasta 239).
* 240.0.0.0 (Clase E, pues es en este numero donde empiezan).

La idea principal de las direcicones IP era que cada <parte de red> identificara exactamente una red fisica.
Pero resulto que esta meta tenia unos cuantos defectos. Por ejemplo, un red implementada en una
universidad que tiene muchas redes internas decide conectarse a INternet. Para cada red, sin importar cuan
peque#a, se necesita una direccion Clase C, por lo menos. Aun peor, para cada red con mas de 255 hosts se
necesitaria una direccion Clase B. Esto representa un gran desperdicio de direcciones, e ineficiencia en la
asignacion de direcciones IP, sin contar los altos costos.

Peor aun, en dado caso que se llegaran muchas de las direcciones IP en una red Clase B, esto representa un
aumento en el tiempo de envio de paquetes ya que la tabla de redireccionamiento de los routers aumentaria
notablemente, y la busqueda del destino en esta tabla tomaria mucho tiempo. A medida que se agregan hosts
se hace mas grande la tabla de ireccionamiento(routing table), lo que trae como consecuencia un aumento en
los costos de los routers y una degradacion en el erformancedel router.

* Subnetting: la solucion

Una gran solucion a este problema es ofrecida por el subnetting(implementacion de subredes), lo que permite
reducir el numero total de redes a ser asignadas. La idea es tomar una <parte de red> de una direccion de IP
y asignar las direcciones IP de esa <parte de red> a varias redes fisicas, que seran ahora referidas como
subredes. Pero hay que hacer ciertas cosas para que esto funcione. Primero, las subredes deben de estar
cerca unas de otras, debido a que a un punto distante en el Internet todas lucirian igual a una sola red,
teniendo solo una <parte de red> en comun. Esto significa que un router solo estaria habilitado para
seleccionar una sola ruta para llegar a cualquiera de las subredes, asi que es mejor que se encuentren
ubicadas en la misma direccion. No es que no vaya a funcionar si se encuentran muy separadas, solo que
funcionara mucho mejor el sistema de subredes si le logra tenerlas en la misma direccion general. Un ejemplo
practico de utilizacion de subnetting es en una universidad con una red Clase B (como la USB) que tenga
muchas redes fisicas. Desde afuera de la universidad, todo lo que se necesita saber para alcanzar cualquier
subred dentro de la red principal es la direccion del router que conecta a la universidad con el resto del
Internet.

El mecanismo con el cual se puede lograr compartir un numero de red ( < parte de red > ) entre distintas redes
involucra la configuracion de todos los nodos en cada subnet con una mascara de red, la misma para todos
los nodos dentro de una subred. Con las mascaras de redes se logra jerarquizar aun mas la estructura
jerarquica de un IP, que como se dijo antes esta constituida por <parde de red> + <parte de host>, incluyendo
un nuevo nivel de jerarquia que llamaremos <numero de subnet>. Como ya se sabe, todo los hosts en una
misma red tienen la misma <parte de red>, pero ahora todos los host en la misma red fisica tendran el mismo
<numero de subnet>, lo que hace que los hosts en la misma red, pero en distintas redes fisicas compartan la
<parte de red> pero no el <numero de subnet>, y esto como se puede notar ayuda notablemente en la
transmision de informacion, pues se complementa las tablas de direccionamiento con otro campo que ayudara
a mejorar la eficiencia de envio de paquetes.

Para entender mejor el funcionamiento de las mascaras de red, supongamos que se quiere dividir una red
Clase B en varias redes. Podriamos utilizar una mascara de red de la forma 255.255.255.0 (lo que pasado a
binario son 1s en los primeros 24 bits y 0s en los ultimos 8). Por lo tanto podriamos pensar que ahora los
primeros 24 bits de una direccion IP representan la <parte de red> y los ultimos 8 la <parte de host>. Como
los primeros 16 bits identifican una red Clase B, podemos pensar que que la direccion no tiene dos sino tres
partes: la <parte de red> + <parte de subnet> + <parte de host>.

* Como funciona?
Lo que subnetting significa para un host es que ahora esta configurado con una direccion IP y una mascara de
red para la subred a la cual se encuentra conectado. Cuando un host quiere enviar un paquete a una cierta
direccion IP, lo primero que hace es realizar un operacion de Y (AND) de bits entre su propia mascara de red
y la direccion de destino. Si el resultado es igual a la numero de subnet del host que envia el paquete,
entonces sabe que el host de destino esta en la misma subred y el paquete de entregado directamente a
traves de la subred. Si el resultado no es igual, el paquete necesita ser enviado a un router para ser enviado
desde este a otra subred.

Asi como el trabajo de envio de un host cambia en una subred, tambien el trabajo de un router se ve afectado
cuando se introduce la implementacion de subnetting. Normalmente para satisfacer la estructura jerarquica de
<parte de red> + <parte de host> el router tiene una tabla de direccionamiento que formada por campos de la
forma <Numero_de_Red,Prox_Salto>. Para soportar subnetting la tabla ahora debe estar conformada por
entradas de la forma <Numero_de_Subred,Mascara_de_Subred,Proximo_Salto>. Para encontrar el lugar
correcto en la tabla, el router aplica una operacion AND entre la direccion de destino del paquete y la
Mascara_de_Subred para cada una de las entradas, y cada vez revisa si el resultado es igual al
Numero_de_Subred de la entrada en turno. Si esto sucede, entonces esta es la entrada correcta a utilizar, y el
router envia el paquete envia el paquete al router o a la interfaz especificada en el campo Proximo_Salto.

El algoritmo para el envio de datagrams se puede describir de la siguiente manera:


D = direccion IP de destino
para cada entrada en la tabla de direccionamiento<Numero_de_Subred, Mascara_de_Subred,
Proximo_Salto>
D1 = Mascara_de_Subred & D
si (D1 = Numero_de_Subred)
si (Proximo_Salto es una interfaz)
entrega el datagram directo a su destino
sino
entrega el datagram al router en Proximo_Salto

Normalmente en una tabla de direccionamiento se tiene un campo para el router predeterminado (default
router), en dado caso que no se logre ningun matching ocurra. A pesar de ser funcional, este algoritmo resulta
ineficiente pues realiza una busqueda lineal a lo largo de toda la tabla, dandose los casos en que se puedan
comparar repetidamente la direccion de destino con una mascara de subred que puede no ser diferente todas
las veces.

* Recomendaciones

Es bueno aclarar unos ciertos puntos sobre subnetting. No es necesario seleccionar una mascara con todos
los bits 1s continuos, pero evitar esta estructura acarreara mayores complicaciones administrativas, ya que no
sera posible ver una parte de una direccion IP y decir ese es el numero de subred. Tambien puede fallar al
hacer implementaciones que asumen que nadie utiliza mascara que no-continuas, por esto no es
recomendable.

Tambien es importante saber que podemos poner multiples subredes en una misma red fisica. El efecto que
esto tendria es que se debera forzar a los hosts en la misma red, pero en diferentes subredes, a hablar a
traves de routers. Esto puede ser util para razones administrativas como por ejemplo separar distintos
departamentos en una misma LAN, pero acarrea un aumento en los costos de la estructura o topologia de la
red.

Como habiamos mencionado antes, desde afuera de la red que se encuentra divida en subredes, los routers
ven a la red como una red fisica sencilla y unica, viendo las colecciones de subredes tan solo pro la <parte de
red> del IP, y guardan una entrada en su tabla de direccionamiento para saber como llegar a esa red. Dentro
de la red los routers necesitan estar capacitados para para direccionar paquetes a la correcta subred de
destino. Es por esta razon que no todas las partes de la internet ven exactamente la misma informacion de
rutaje. Por ejemplo, un roouter en una red puede tener informacion de como llegar a otra subred cercana, pero
no tiene ninguna entrada sobre otra subred en la red. El envia el paquete al router correspondiente (o al
default router), y este ultimo se encarga de ver si sabe a donde enviarlo, si no, sigue el envio a otro router
hasta que se consigue uno que sepa a donde enviarlo.

* Conclusion

En conclusion, subnetting nos permite resolver los problemas de escalabilidad de dos maneras. Primero,
mejora nuestra eficiencia en la asignacion de direcciones permitiendo no utilizar una nueva direccion Clase C
o Clase B cada vez que necesitemos agregar una nueva red fisica. Segundo, nos ayuda a agregar
informacion. Desde una distancia rasonable, una coleccion compleja de redes fisicas puede hacerse ver como
una red sencilla, logrando asi que la cantidad de informacion que los routers necesitan para enviar datagrams
a esas redes sea reducida.

También podría gustarte