Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Notas sobre Internet

[Home]  [Inicio]  [Índice]


 Prev.

Apéndice A1.  Subdireccionamiento (II)

§5  Calcular las direcciones base y broadcast 

Siguiendo con el ejemplo anterior en el que una máquina A de Net1 tiene la dirección  207.240.56.66 y la máscara 255.255.255.224, es fácil deducir que las direcciones de base y de difusión ( § 3) de dicha subred son las siguientes:

11001111.11110000.00111000.01000010    dirección 207.240.56.66

11111111.11111111.11111111.11100000    Máscara  255.255.255.224

<----------- 27 bits -------->              Prefijo extendido de red.

11001111.11110000.00111000.01000000    dirección base de Net1  207.240.56.64

11001111.11110000.00111000.01011111    dirección de difusión de Net1 207.240.56.95

Estas direcciones NO deben ser asignadas a ningún host de la subred, y pueden calcularse mediante el siguiente procedimiento:  La dirección base se obtiene realizando un Y lógico (AND) entre la dirección de una cualquiera de las máquinas de la subred y la dirección de máscara. La dirección de difusión se calcula mediante un OR exclusivo (XOR) entre el complemento a uno de la dirección base y la máscara de subred [5]. A continuación se muestra el resultado de ambas operaciones para el caso anterior.

Cálculo de la dirección base:

11001111.11110000.00111000.01000010    A dirección 207.240.56.66

11111111.11111111.11111111.11100000    M máscara de subred 255.255.255.224

-----------------------------------    Y lógico entre A y M: ( A AND M )

11001111.11110000.00111000.01000000    Resultado (dirección base):  207.240.56.64

Cálculo de la dirección de difusión:

11001111.11110000.00111000.01000000    B dirección base

00110000.00001111.11000111.10111111    inversión de B (~ B)

11111111.11111111.11111111.11100000    M máscara de subred

-----------------------------------    OR exclusivo entre ~B y M: (~B OR M)

11001111.11110000.00111000.01011111    Resultado (dirección de difusión):  207.240.56.95

§6  Cómo seguir el camino

Continuando con el primer supuesto del ejemplo ( §4.1), es interesante considerar qué ocurre con el paquete de la máquina A de dirección 207.240.56.66 que debe ser enviado a la dirección 207.240.56.98 de una máquina B que, como hemos visto, dependiendo de la máscara de subred, puede estar situada en la misma subred o en otra distinta.

Fig. 6

Para empezar, supongamos que la máscara de Net1 es 255.255.255.192. En este caso, la estación A sabe que B se encuentra en su propia red (fig. 6) y antes de enviar el mensaje propiamente dicho, envía un paquete en modo difusión ("Broadcast") a todas las estaciones, preguntando quién tiene la dirección 207.240.56.98 (destino del paquete). Esta pregunta es genérica, y utiliza el hecho de que las tarjetas de red están construidas de forma que atienden los mensajes cuya dirección MAC de destino coincida con el suyo propio y los que tienen la dirección de destino FF:FF:FF:FF:FF:FF. Cuando la estación B "escucha" la pregunta y comprueba que se refieren a ella, envía una respuesta a la máquina A. Esta respuesta contiene su propia dirección MAC ( H12.4) e IP, con lo que A puede construir los marcos ("Frames") que contienen el mensaje con la dirección (MAC) adecuada y enviarlos a B.

Esta parte del trabajo es realizada por ARP ("Address Resolution Protocol"). Un protocolo de los denominados "de resolución", porque su trabajo consiste en descubrir la dirección de bajo nivel (MAC) que corresponde a una dirección de alto nivel (dirección IP de un host). Los mensajes de "Broadcast" de ARP utilzan a su vez el protocolo UDP ("User Datagram Protocol"), cuya descripción puede encontrarse en RFC 768.

Para facilitar el trabajo, el resultado de las resoluciones ARP obtenidas por cada host, se van guardando en un área de memoria denominada caché arp, en la que se guardan las relaciones dirección-IP/dirección-MAC que se van encontrando. De esta forma no son necesarias nuevas resoluciones para las ya realizadas. El contenido de esta memoria puede ser inspeccionada mediante el comando arp -a, disponible en Windows y Linux. Por ejemplo, en una máquina Windows cuya dirección IP es 192.168.1.5, se obtiene el siguiente resultado:

C:\WINDOWS>arp -a

Interfaz: 192.168.1.5 on Interface 0x2000003
  Dirección IP     Dirección física    Tipo
  192.168.1.1      00-a0-c5-5b-d0-e9   dinámico
  192.168.1.2      00-07-e9-40-70-c6   dinámico
  192.168.1.4      00-10-a4-01-ff-f1   dinámico

Como puede verse, aunque al tratar de conexiones TCP/IP, generalmente se manejan direcciones IP; un concepto de alto nivel que pertenecen a la capa de red (  H12.2). En realidad, el direccionamiento dentro de cada subred se realiza utilizando las direcciones MAC, que pertenecen a la capa de enlace.


Si la máscara de Net1 fuese 255.255.255.224, entonces B está en otra subred. En tal caso, para que el paquete pueda seguir su hipotético viaje, supongamos que en Net1 existe un nodo P que actúa de pasarela, puerta de enlace, o "Gateway" con otras redes. A tal efecto, además de la conexión con Net1, P debe disponer de conexión con otra red, para lo que dispondrá de dos adaptadores (tarjetas de red) distintos como mínimo. Cada uno con su propia dirección/máscara en función de la red donde conecta.

Nota:  Por regla general P conecta con una red cuyos nodos son a su vez pasarelas. Dicho en otras palabras: P dispone de conexión con Net1 y otra conexión con una red Net2 cuyos nodos son también pasarelas. Es la situación indicada en la figura 7 donde la subred Net2, que en este caso actúa como "Backbone" de la organización, está conectada a las pasarelas P, K, L y M.

A efectos prácticos es importante resaltar que la dirección IP de la puerta de enlace (en realidad una tarjeta de red de P), debe estar en la misma subred que el host local A. En caso contrario los mensajes éste no podrían salir de la subred [3]. Esta dirección (de la puerta de enlace), debe estar almacenada en cada equipo de la subred como uno más de los parámetros de conexión que exigen las comunicaciones TCP/IP . Por supuesto, la pasarela (P) debe ser un router, no sólo un host, que debe estar habilitado para enviar datagramas IP. Es frecuente que esta máquina realice también labores de "Firewall". Es decir, que realice algún tipo de filtrado de los datagramas que recibe desde el exterior, dirigidos a los equipos de Net1.


Si Net1 es una Ethernet, la dorsal Net2 una FDDI [6], y P es una máquina Linux, podemos suponer que sus adaptadores de red se denominan respectivamente eth0 y fddi0. Lo normal es que P sea designado como primer host de Net1, lo que supone que a eth0 se le asigna la dirección/máscara 207.240.56.65 / 255.255.255.224 cuya interpretación es:

11001111.11110000.00111000.01000001    dirección de eth0

<--- prefijo de red -----> <s><hst>    Reparto por zonas

11111111.11111111.11111111.11100000    Máscara de subred


Probablemente Net2 es la primera subred de la organización, y suponiendo que P es su nodo 7, a fddi0 le corresponde 207.240.56.39 / 255.255.255.224 cuya interpretación gráfica es:

11001111.11110000.00111000.00100111    dirección de fddi0

<--- prefijo de red -----> <s><hst>    Reparto por zonas

11111111.11111111.11111111.11100000    Máscara de subred


Como resumen podemos indicar que el esquema de interfaces del nodo P es el siguiente (el adaptador lo representa el dispositivo de loopback ya comentado ( § 3):

Adaptador

Dirección Máscara
eth0 207.240.56.65 255.255.255.224
fddi0 207.240.56.39 255.255.255.224
lo 127.0.0.1 255.0.0.0

En lo que sigue suponemos que las Ethernet Net3, Net4 y Net5 son las subredes 3, 4 y 5 de la organización, así que les corresponden las direcciones base 207.240.56.96; 207.240.56.128 y 207.240.56.160. Todas comparten la misma máscara de subred (la misma que Net1 y Net2). Las máquinas K, L y M son los nodos 3, 4 y 5 de Net2, por lo que sus direcciones son respectivamente:  207.240.56.35; 207.240.56.36 y 207.240.56.37.

§7  Tabla de rutas 

Además de los adaptadores físicos, el equipo P del ejemplo dispone de una tabla de rutas en la que cada fila señala una red accesible desde el nodo, cuyo aspecto es el siguiente:

Subred Máscara Pasarela Interfaz Comentario
207.240.56.32 255.255.255.224 - fddi0 Conexión de P a la dorsal Net2. El acceso a cualquier máquina de esta red es directo (no necesita pasarela)
207.240.56.64 255.255.255.224 - eth0 Conexión de P a la Ethernet Net1. Igual que el caso anterior.
207.240.56.96 255.255.255.224 207.240.56.35 fddi0 Conexión de P con cualquier máquina de la subred Net3. Los paquetes con este destino deben ser enviados al nodo K.
207.240.56.128 255.255.255.224 207.240.56.36 fddi0 Conexión de P con cualquier máquina de la subred Net4. Los paquetes deben ser enviados al nodo L
207.240.56.160 255.255.255.224 207.240.56.37 fddi0 Conexión de P con cualquier máquina de la subred Net5. Los paquetes deben ser enviados al nodo M.
... ... ... ... ...
0.0.0.0 0.0.0.0 207.240.56.35


La forma de decidir a quién debe enviarse el hipotético paquete recibido en P desde A y dirigido a 207.240.56.98, es el siguiente:  se realiza un Y lógico (AND) de la dirección de destino con cada máscara de la tabla, y otro AND de las direcciones de subred con la máscara. Si existe una coincidencia en los resultados el paquete se envía a la pasarela correspondiente.

En nuestro caso todas las máscaras son iguales, así que la primera operación sería:

11001111.11110000.00111000.01100010    destino 207.240.56.98

11111111.11111111.11111111.11100000    máscara 255.255.255.224

----------------------------------- 

11001111.11110000.00111000.01100000    Resultado: 207.240.56.96


Es fácil comprobar que la subred 207.240.56.96 es la que cumple la condición exigida, de forma que el paquete se enviará a la máquina K, desde donde finalmente alcanzará su destino.

Es frecuente que la tabla de rutas incluya una última entrada correspondiente a la subred  0.0.0.0 y máscara 0.0.0.0. Esta dirección corresponde al ruta por defecto a la que hemos hecho referencia repetidamente ( § 3). En este caso el primer resultado seria:

11001111.11110000.00111000.01100010    destino 207.240.56.98

00000000.00000000.00000000.00000000    máscara 0.0.0.0

----------------------------------- 

00000000.00000000.00000000.00000000    Resultado: 0.0.0.0


Como el AND entre la dirección de subred 0.0.0.0 y la máscara es igualmente 0.0.0.0, cualquiera que sea la dirección de destino ocurrirá siempre una ocurrencia con esta fila de la tabla. Por esta razón se la denomina encaminamiento o ruta por defecto, y está destinado a reconducir las direcciones desconocidas a un sitio concreto. En este caso suponemos que es el nodo L, donde los paquetes pueden ser procesados con fines estadísticos y finalmente descartados junto con un mensaje adecuado a su remitente.

Nota:  Actualmente (2004) el crecimiento de la Red ha hecho que los encaminadores de las grandes arterias de Internet ("Backbone routers") tengan del orden de 85,000 entradas en sus tablas de rutas. En los sistemas Windows la tabla de ruta puede ser consultada con el programa route.exe (en C:/Windows). En la página adjunta pueden verse más detalles al respecto (Ap. AW1)..

§7.1  Métrica de ruta

Además de coincidir con el encaminamiento por defecto, puede ocurrir que exista más de una concordancia en las entradas de la tabla y una dirección dada. En tal caso se decide por la que tiene una máscara mayor (tiene mayor número de unos), porque es la que implica mayor precisión. Evidentemente, el encaminamiento por defecto no tiene ningún uno en su composición por  lo que es la dirección elegida en último lugar (cuando no existe concordancia con ninguna otra entrada de la tabla).

Como los paquetes van dando saltos de enrutador en enrutador hasta que llegan a la subred de destino, el camino más corto (desde el punto de vista de las redes IP) es el que tiene menor número de saltos. Se denomina métrica de ruta el número de enrutadores a cruzar, y en consecuencia el mejor camino es el de métrica menor. La métrica de ruta a una red conectada directamente al routuer es cero. La de una red accesible a través de dos pasarelas es de dos. En el ejemplo de la figura 7 , la subred Net3 tiene una métrica de 1 en la tabla de rutas de la pasarela P.


§8  CIDR
  ("Classless Inter-Domain Routing").

El sistema de direcciones IP dividido en clases y subdirecciones (subnetting) se vio pronto saturado e incapaz de atender a la creciente demanda de la Red (una investigación de 1999 reveló que de 25.000 palabras de diccionarios americanos populares, sólo 1760 de ellas estaban libres para ser registradas como .com), lo que derivó en el denominado CIDR. Alguien ha definido a CIDR como un subdireccionamiento con esteroides [1], si bien este es solo otro intento de alargar la vida al viejo y agotado sistema IPv4 hasta que el nuevo IPv6 que lo reemplazará esté plenamente operativo.

La ruta de un equipo ya no es una dirección IP descompuesta en una dirección de red y otra de ordenador según lo indicado en sus cuatro primeros bits (su clase). Ahora una ruta es una combinación de dirección y máscara; no solamente se puede dividir una red en subredes, también se pueden combinar varias redes en una super-red, con solo que compartan el mismo prefijo de red. CIDR define estrategias para asignar direcciones y agruparlas; diseñadas para minimizar el tamaño de las tablas de rutas de alto nivel de Internet.

  Inicio.


[1]  Esta imagen de los "esteroides" parece ser muy común en la literatura informática. Podemos leer "subnetting with steroids",  "type library on steroids", etc.

[3]  Para esto es condición necesaria que la comparación lógica bit a bit AND de la dirección IP y la máscara de subred, corresponda con la comparación lógica bit a bit AND de la puerta de enlace predeterminada y su máscara de subred. Por ejemplo, un equipo que tiene un solo adaptador de red configurado con una dirección IP de 172.16.27.139 y una máscara de subred de 255.255.0.0 debe usar una puerta de enlace predeterminada con el formato 172.16.y.z. El identificador de red de esta interfaz de IP es 172.16.0.0.

[5]  El complemento a uno, o inverso, de un número binario es el resultado de cambiar sus unos por ceros y viceversa.

[6]  FDDI ("Fiber Distributed Data Interface")  Un estandar para distribuir datos por fibra óptica a una velocidad aproximada de 100 M-bits-por-segundo, 10 veces mas rápido que Ethernet y casi el doble que T-3.

 Prev.