CONTENIDO
1.- Asignación de Nombres y
Direcciones
- Direcciones IP
- Clases de direcciones
- Restricciones en las clases de
direcciones - Sub redes y Mascara de
subred
2.- Debilidades de Direccionamiento IP
3.- Protocolo de
Resolución de Direcciones (ARP)
El protocolo de
IP usa
direcciones de IP para identificar los host y encaminar
los datos hacia
ellos. Todos los host deben tener una dirección de IP única para las
comunicaciones. El nombre de host se traduce a su
dirección de U' consultando el nombre en
una base de datos de
pares nombre-dirección.
Cuando se diseñaron las direcciones de IP, nadie
había soñado que llegase a haber millones de
computadoras
en el mundo y que muchas de ellas quisieran o necesitasen una
dirección de IP. Los diseñadores pensaron que
tenían que satisfacer las necesidades de una modesta
comunidad de
universidades, grupos de
investigación y organizaciones
gubernativas y militares.
Eligieron un diseño
que les parecía razonable por entonces. Una
dirección de IP es un número binario de 32 bits (4
octetos). Claramente, la dirección se eligió para
que encajase convenientemente en un registro de 32
bits de una computadora.
El espacio de direcciones resultado, es decir, el conjunto
de todos los números de direcciones posibles, contiene 2
31 (4.294.967.296) números.
La notación punto se inventó para
leer y escribir fácilmente las direcciones de IR Cada
octeto (S bits) de una dirección se convierte a su
número decimal, y los números se separan por
puntos. Por ejemplo, la dirección de
blintz.med.yale.edu es un número binario de 32 bits
que en la notación punto es:
10000010 10000100 0001001 1 0001
130.132.19.31
Tenga en cuenta que el mayor número que puede
aparecer en una posición dada 255, que corresponde al
número binario 1 1 1 1 1 1 1 1.
FORMATOS DE DIRECCIONES
Como se muestra en la
Figura 1, una dirección de IP tiene un formato de dos
partes que son la dirección de red y la
dirección local. La dirección de red identifica la red a la
que está conectado el nodo. La dirección local
identifica a un nodo particular dentro de la red de una organización.
Todas las computadoras
deben tener una dirección de IP única en el rango
de sistemas con los
que se comunican.
Dirección de | Dirección local |
Figura 1. Formato de una dirección de
IP
Toda organización que planee conectarse a la
Intemet debe conseguir un bloque de direcciones de IP
únicas. Las direcciones se consiguen de la autoridad de
registro
apropiada.
Por conveniencia, las NIC de registro
delegan grandes bloques de su espacio de direcciones de IP a los
proveedores de
servicio. De
esta forma las organizaciones
pueden obtener sus direcciones de sus proveedores de
servicios en
lugar de un NIC de
registro.
Durante muchos años, sólo había
tres tamaños de bloques de direcciones, grande, medio y
pequeño. Existían tres formatos diferentes de
direcciones de red para cada uno de los tamaños de
bloques. Los formatos de direcciones eran:
Clase A para redes muy
grandes.
Clase B para redes de tamaño
medio.
Clase C para redes pequeñas.
En la Figura 2 se muestran los formatos de las clases A,
B y C. Tenga en cuenta que las clases de direcciones tienen las
características que se muestran en la Tabla
1.
En los inicios de la Intemet, a las organizaciones con
redes muy grandes, como la Marina de Estados Unidos o
Digital Equipment Corporation, se les concedía direcciones
de Clase A. La parte de red de una dirección de Clase A
tiene una longitud de un octeto. Los tres octetos restantes de
una dirección de Clase A pertenecen a la parte local y se
usan para asignar números a los nodos.
Existen muy pocas direcciones de Clase A y la
mayoría de las organizaciones de gran tamaño han
tenido que conformarse con un bloque de direcciones de Clase B de
tamaño medio. La parte de red de una dirección de
Clase B es de dos octetos. Los dos octetos restantes de una
dirección de Clase B pertenecen a la parte local y se usan
para asignar números a los nodos.
Las organizaciones pequeñas reciben una o
más direcciones de Clase C. La parte de red de una
dirección de Clase C es de tres octetos. De esta forma
sólo queda un octeto para la parte local que se usa para
asignar números a los nodos.
Es
sencillo adivinar la clase de una dirección de IP. Basta
con mirar el primer número de la dirección en
formato de puntos. Los intervalos de números para cada una
de las clases se puede ver en la Tabla 1 y en la Figura
2
Figura 2
Además de las Clases A, B y C, existen dos
formatos especiales de direcciones, la Clase D y la Clase E. Las
direcciones de Clase D se usan para multienvío de
IP. El multienvío permite distribuir un mismo mensaje a un
grupo de
computadoras dispersas por una red. Las direcciones de
multienvío, permiten realizar aplicaciones de conferencia.
Las direcciones de Clase E se han reservado para uso
experimental.
Las direcciones de Clase D empiezan con un número
entre 224 y 239. Las direcciones de Clase E empiezan con un
número entre 240 y 255.
RESTRICCIONES EN LAS
CLASES DE DIRECCIONES
DIRECCIONES SIN CONEXIÓN A LA INTERNET
Se han reservado varios bloques de direcciones para su
uso en redes que no se van a conectar a la Internet y que
no van a necesitar conectividad con otra organización.
Estas direcciones son:
10.0.0.0- 10.255.255.255
172.16.0.0-172.31.255.255
192.168.0.0-192.168.255.255
Tenga en cuenta que puede haber muchas
organizaciones que usen estos números. Si su
compañía se fusiona con otra en algún
momento, o decide comunicarse con los clientes o los
proveedores mediante TCP/IP, puede haber conflictos de
direcciones. Sin embargo, puede registrar una red de Clase C y usarla
para las comunicaciones
externas. Se puede obtener software de envío que
mande la información entre ciertas computadoras y el
mundo exterior usando una red registrada de Clase C.
En la RFC 1918, Address Allocation for Private
Internets (Asignación de direcciones en internet
privadas), se tratan las ventajas e inconvenientes de usar estas
direcciones reservadas.
DIFUSION DIRIGIDA (Broadcast)
Se puede enviar un datagrama de IP a todos los host de
una red remota dada. Se hace poniendo la parte local de la
dirección completa a uno.
Por ejemplo, suponga que un administrador
quiere enviar un aviso a todos los nodos de la red Ethernet de Clase
C 201.49.16.0. La dirección de IP utilizada para la
difusión es:
201.49.16.255
Significa que a ningún host se le puede dar la
dirección 201.49.16.255. La dirección
131,18.255.255 se podría usar para enviar un mensaje a
todos los nodos de una red de Clase B completa. Tenga en cuenta
que si se pudiese asignar como número de subred el 255 a
una de las subredes, habría un problema. No
quedaría claro si una difusión a 130.15.255.255 iba
dirigida a esa subred o la red completa. Para evitarlo nunca se
asigna a una subred un número que sean todos
unos.
DIFUSION DIRIGIDA A UNA SUBRED
La difusión también se puede dirigir a una
subred concreta, que puede encontrarse di- rectamente conectada a
la subred o puede ser una subred remota desde el host origen. Por
ejemplo, si 131.18.7.0 es una subred de una red de Clase B, se
puede utilizar la dirección 130.18.7.255 para difundir un
mensaje a todos los nodos de esa subred.
Si la subred de destino es remota, el resultado de
enviar un datagrama de IP a la dirección de
difusión es que se transmitirá una copia del
datagrama al encaminador conectado a la subred 131.18.7.0.
Suponiendo que esta subred es una LAN, el
encaminador debería usar una dirección de
difusión física en el campo de
destino de la trama de Control de acceso
al medio (MAC) para dirigir el mensaje a todos los host de dicha
subred.
Tenga en cuenta que esto implica que no se puede asignar
a ningún sistema la
dirección reservada de IP 130.18.7.255.
DIFUSION LIMITADA
La dirección de IP 255.255.255.255 1, es decir,
una dirección con 32 unos, difunde un datagrama a todos
los sistemas en el
enlace local. Este tipo de difusión se usa, por ejemplo,
con los protocolos
BOOTP y DHCP, que el sistema utiliza
para obtener su dirección de IP y otros datos de
inicialización desde un servidor de
arranque. Un cliente en-
vía una solicitud de arranque a 255.255.255.255 y usa la
dirección reservada 0.0.0.0 como su dirección de
IP.
Una difusión se expande por la LAN
envolviendo el datagrama de IP en una trama cuya cabecera tiene
la dirección de difusión física a todos como
dirección de destino.
DIRECCION INTERNA (Loopback)
En el extremo opuesto de la difusión están
los mensajes que nunca abandonan el host lo- cal. Hay muchos host
que contienen procesos
clientes y
servidores.
Los clientes y servidores
locales se comunican mediante IP dentro del host. Para ello, usan
una dirección especial que se llama dirección
interna (loopback). Por convenio, cualquier
dirección que empieza con 127 se reserva con este
propósito. En la práctica sólo se usa la
dirección 127.0.0. 1. Tenga en cuenta que se ha reservado
un espacio de direcciones Clase A de 216
números con este propósito.
Es muy fácil ver en acción la
dirección interna. Por ejemplo el cliente y el
servidor de
Transferencia de archivos de
Chameleon se pueden ejecutar concurrentemente en
Microsoft Windows.
El cliente se conecta con el servidor en una
dirección interna 127.0.0.1. Cualquier
«transferencia de archivo»
que ejecuta el cliente lo único que hace es copiar los
archivos de un
directorio de la PC a otro. El servidor guarda un registro de la
actividad del cliente en la dirección
127.0.0.1.
Una organización que tenga direcciones de red de
Clase A o Clase B es muy probable que tenga una red de cierta
complejidad constituida por muchas LAN y varios enlaces de WAN.
Tiene sentido, entonces, dividir el espacio de estados de forma
que coincida con la estructura de
la red de acuerdo a una familia de
subredes. Para ello, la parte local de la dirección se
divide una parte de subred y una parte de sistema
de manera conveniente, como se muestra en la
Figura 3.
El tamaño de la parte de subred de una
dirección y la asignación de números a
subredes es responsabilidad de la
organización que «posee» esa parte del
espacio de direcciones.
Las direcciones de subred suelen dividirse en bytes. Una
organización con direcciones de Clase B, como por ejemplo
128.21 usará el tercer byte para identificar las subredes.
Por ejemplo:
128.121.1
128.121.2
128.121.3
Entonces el cuarto byte se usará para identificar
los host particulares de una subred.
Por otra parte, una organización con direcciones
de Clase C sólo tiene un byte de espacio de direcciones.
Podría elegir no realizar subredes o quizá usar 4
bits para direcciones de subred y 4 bits para direcciones de
host, como se muestra en la Figura 4. En esta figura, las
direcciones locales, 61, se expresan en binario como 0011 1101.
Los cuatro primeros bits identifican a una subred y los
últimos cuatro bits identifican el sistema.
MÁSCARAS DE SUBRED
El tráfico se encamina hacia un host consultando
las partes de red y subred de una dirección de IP. La
parte de red de una dirección de Clase A, B o C tiene un
tamaño fijo. Pero las organizaciones pueden decidir
sus propios tamaños de subred, por lo que
¿cómo pueden reconocer los encaminadores estos
campos? La respuesta es que hay que configurar los sistemas para
que conozcan el tamaño de la parte de subred de la
dirección.
El tamaño del campo de subred se almacena
realmente en un parámetro de configuración llamado
máscara de subred. La máscara de subred es
una secuencia de 32 bits. Los bits que corresponden a los campos
de red y subred de una dirección se ponen a 1 y los bits
para el campo del sistema se ponen a 0.
Por ejemplo, si se usa el tercer byte de las direcciones
que empiezan por 128.121 para identificar las subredes, la
máscara es:
11111111 11111111 11111111 00000000
Normalmente las máscaras de subred se expresan en
notación decimal con puntos. La máscara anterior se
puede escribir:
255.255.255.0
A veces la máscara se escribe en hexadecimal,
como
X`FF-FF-F'F-00
Los host y encaminadores conectados a una subred se
configuran con la máscara de la subred. Suele ser
común usar una única máscara de subred en
toda una internet de la
organización. Hay excepciones a esta práctica,
y algunas organizaciones usan varios tamaños diferentes de
subred.
Por ejemplo, si una red tiene muchas líneas punto
a punto, no sería conveniente usar los números de
subred ya que sólo hay dos sistemas en cada subred punto a
punto. Una organización podría decidir usar
máscaras de 14 bits (255.255.255.252) para sus
líneas punto a punto.
ARP (Protocolo de
Resolución de direcciones)
Antes de enviar un datagrama entre dos estaciones de una
LAN, debe envolverse en una trama con una cabecera y una cola. La
trama se envía a la su tarjeta de interfaz de red cuya
dirección física coincide con la dirección
física de destino en la cabecera de la trama.
Por tanto, para enviar un datagrama por una LAN, hay
que descubrir cuál es la dirección .física
del nodo de destino.
Afortunadamente, existe un procedimiento
para descubrir automáticamente la dirección
física. El Protocolo de resolución de
direcciones (AR.P – Address Resolution Protocol) ofrece un
método de
difusión para traducir automáticamente entre
dirección de IP y dirección
física.
Los sistemas de la red local usan ARP para descubrir
información sobre su propia
dirección física. Cuando un host quiere empezar a
comunicarse con un socio local, busca la dirección de IP
del otro en su tabla de ARP, que normalmente se mantiene en
memoria. Si no
existe una entrada para esa dirección de IP, el host
difunde una solicitud de ARP que contiene la dirección de
IP de destino, de acuerdo con la Figura 5.
El host de destino reconoce su dirección de IP y
lee la consulta. Lo primero que hace el host destino es
actualizar su propia tabla de traducción de direcciones
con la dirección física del origen. Es
lógico ya que, probablemente, el destino pronto
empezará una conversación con el origen. El host
destino envía de vuelta una respuesta que contiene su
propia dirección de la interfaz hardware.
Cuando el origen recibe la respuesta, actualiza su tabla
de ARP y ya está listo para transmitir datos por la
LAN.
Figura 5: Para determinar la dirección
física Pb de B, desde su dirección IP, Ib, (a) el
anfitrión A transmite por difusión una solicitud
ARP que contiene Ib a todas las máquinas
en la subred, y (b) el anfitrión B envía una
respuesta ARP que contiene el par (Ib,Pb).
ARP Sustituto (proxy
ARP)
Los términos ARP sustituto (proxy, ARP)
promiscuo y ARP hack, se refieren a la segunda técnica
utilizada para transformar un solo prefijo IP de red en dos
direcciones físicas. La técnica, que sólo se
aplica en redes que utilizan ARP para convertir direcciones de
red en direcciones físicas, se puede explicar mejor
mediante un ejemplo. En la figura 6 se ilustra la
situación.
En la figura, dos redes comparten una sola
dirección IP. Imagine que la etiquetada como Red
Principal era la red original y segunda, etiquetada como
Red Oculta, se agregó después. R, que es el
ruteador que conecta las dos redes, sabe qué anfitriones
residen en cada red física y utiliza ARP para mantener la
ilusión de que solamente existe una red. Para dar esa
apariencia, R mantiene totalmente oculta la localización
de los anfitriones, permitiendo que las demás máquinas
en la red se comuniquen como si estuvieran conectadas de manera
directa. En nuestro ejemplo, cuando el anfitrión H1
necesita comunicarse con el anfitrión H4, primero
llama a ARP para convertir la dirección IP de H4 en
una dirección física. Una vez que tiene la
dirección física, H1 puede enviarle directamente el
datagrama.
Debido a que el ruteador R corre software proxy ARP, R
captura la solicitud transmitida por difusión de Hi1
decide que la máquina en cuestión reside en la otra
red física y responde la solicitud ARP enviando su propia
dirección física. H1 recibe la respuesta ARP,
instala la asociación en su tabla ARP y la utiliza para
enviar a R los datagramas destinados a H4. Cuando R recibe
un datagrama, busca en una tabla especial de ruteo para
determinar cómo rutear el datagrama. R debe encaminar los
datagramas destinados a H4 a través de la red
oculta. a fin de permitir que los anfitriones en la red oculta
alcancen anfitriones en la red principal, R también
realiza el servicio de
ARP sustituto (proxy ARP) en dicha red.
Los ruteadores que utilizan la técnica de ARP
sustituto, tornan ventaja de una característica importante del protocolo
ARP, a saber, la confianza. ARP está basado en la idea de
que todas las máquinas cooperan y de que cualquier
respuesta es legitima. La mayor parte de los anfitriones instalan
asociaciones obtenidas por medio de ARP sin verificar su validez
y sin mantener una consistencia. Por lo tanto, puede suceder que
la tabla ARP asocie muchas direcciones IP en la misma
dirección física, sin embargo, esto no viola las
especificaciones del protocolo.
Algunas implantaciones de ARP no son tan poco exigentes
como otras. En particular, las implementaciones ARP
diseñadas para alertar a los administradores de posibles
violaciones de seguridad les
informarán siempre que dos direcciones IP distintas se
transformen en la misma dirección física de
hardware. El
propósito de alertar al administrador es
avisarle sobre el spoofing, situación en la que una
máquina indica ser otra para poder
interceptar paquetes. Las implantaciones de ARP en anfitriones
que alertan a los administradores del posible spoofing no
se pueden utilizar en redes que tienen ruteadores sustitutos ARP,
ya que el software generarla mensajes con gran
frecuencia.
La principal ventaja de ARP sustituto es que se puede
agregar a un solo ruteador en una red sin alterar las tablas de
ruteo en otros anfitriones o ruteadores en esa red. Por lo tanto,
el software ARP sustituto (proxy ARP) oculta completamente los
detalles de las conexiones físicas.
La principal desventaja de ARP sustituto es que no
trabaja para las redes a menos que utilicen ARP para la
definición de direcciones. Además, no se generaliza
para topologías de red más complejas (por
ejemplo, muchos ruteadores que interconectan dos redes
físicas), ni incorpora una forma razonable para el ruteo.
De hecho, la mayor parte de las implantaciones de ARP
confía en los administradores para el mantenimiento
manual de
máquinas y direcciones, haciendo que se ocupe tiempo y se tenga
propensión a los errores.
Figura 6 La técnica de APP sustituto (ARP
hack) permite que una dirección de red se comparta entre
dos redes físicas. El ruteador R contesta solicitudes ARP
en cada red para los anfitriones en otra, proporcionando su
dirección de hardware y ruteando datagramas de manera
correcta en cuanto llegan. En esencia, R miente sobre las
transformaciones de dirección IP a dirección
física.
Una máquina puede enviar una solicitud ARP
preguntando sobre su propia dirección IP.
Propósitos:
- detectar direcciones IP duplicadas
- forzar a que todos actualicen la entrada de la
cache correspondiente
Para ayudar a un nodo a descubrir su propia
dirección de IP se diseñó una variante del
ARP llamado ARP inverso (RARP – reverse ARP). El
objetivo era
que lo usasen las estaciones de trabajo sin disco y otros
dispositivos que necesitasen obtener configuración de red
de un servidor de red.
La estación que usa el protocolo ARP inverso
difunde una petición en la que indica su dirección
física y solicita su dirección de IP. Un servidor
de la red, configurado con una tabla de direcciones
físicas y las correspondientes direcciones de IP responde
a la petición.
ARP
inverso ha sido superado por el protocolo BOOTP y su
versión mejorada, el Protocolo de configuración
dinámica de host (DHCP – Dynamic Host
Configuration Protocol). Estos protocolos son
más potentes y se usan para conseguir un conjunto completo
de parámetros de configuración de un sistema
TCP/IP.
Figura 7 Ejemplo de un intercambio en el que se
utiliza el protocolo RARP. (a) la máquina A transmite por
difusión una solicitud RARP especificándose como
des- tino y (b) las máquinas autorizadas para proporcionar
el servicio RARP (C y D) responden directamente a
A.
El campo HARDWARE TYPE especifica un tipo de
interfaz de hardware para el que el transmisor busca una
respuesta; contiene el valor 1 para
Ehternet De forma similar, el campo PROTOCOL TYPE
especifica el tipo de dirección de protocolo de alto nivel
que proporcionó el transmisor. contiene 080016
para la dirección IP. El campo OPERATION especifica
una solicitud ARP (1), una respuesta ARP (2), una solicitud RARP
(3) o una respuesta RARP (4). Los campos HLEN y PLEN
permiten que ARP se utilice con redes arbitrarias ya que
éstas especifican la longitud de la dirección de
hardware y la longitud de la dirección del protocolo de
alto nivel. El transmisor proporciona sus direcciones IP y de
hardware, si las conoce, en los campos SENDER HA y SENDER
IP.
Cuando realiza una solicitud, el transmisor
también proporciona la dirección IP del objetivo
(ARP) o la dirección de hardware del objetivo
(RARP), utilizando los campos TARGET HA y TARGET IP. Antes
de que la máquina objetivo responda, completa las
direcciones faltantes, voltea los pares de objetivo y transmisor,
y cambia la operación a respuesta. Por lo tanto, una
respuesta transporta las direcciones tanto de hardware como de TP
del solicitante original, lo mismo que las direcciones de
hardware e IP de la máquina para la que se realizó
asignación.
Autor:
Carlos Gimenez