2.4. Encaminamiento IP

Ahora nos ocuparemos del problema de encontrar el puesto al que se env�an los datagramas bas�ndose en la direcci�n IP. La diferentes partes de las direcciones se manejan de forma distinta; es su trabajo configurar los ficheros que indican como se trata cada parte.

2.4.1. Redes IP

Cuando escribe una carta a alguien, normalmente pone una direcci�n completa en el sobre especificando el pa�s, la provincia y el c�digo postal. Despu�s la echa al buz�n, la oficina de correos la har� llegar a su destino: se enviar� al pa�s indicado, donde el servicio nacional la enviar� a la provincia y la regi�n adecuada. La ventaja de este esquema jerarquizado es obvia: mande donde mande la carta, la oficina de correos local apenas debe conocer a qu� direcci�n remitir la carta, es m�s, a la oficina no le importa por d�nde viajar� esta siempre que llegue al pa�s de destino.

Las redes IP est�n estructuradas de forma similar. Toda Internet consiste en varias redes, denominadas sistemas aut�nomos. Cada sistema realiza un encaminamiento interno entre los puestos que lo forman, por lo que la tarea de remitir un datagrama se reduce a encontrar un camino a la red del puesto de destino. Tan pronto como el datagrama se entrega a cualquier puesto en esa red particular, el resto del proceso se realiza exclusivamente en la misma red.

2.4.2. Subredes

Esta estructura se refleja dividiendo la direcci�n IP en la parte del puesto y la de red, como se explic� anteriormente. Por defecto, la red de destino se obtiene a partir de la parte de red de la direcci�n IP. De este modo, los puestos con n�meros id�nticos de red IP deben encontrarse en la misma red.[1]

Tambi�n tiene sentido proporcionar un esquema similar dentro de la red, ya que �sta puede constar de un grupo de cientos de redes m�s reducidas, con las unidades m�s peque�as haciendo de redes f�sicas como Ethernets. Por lo tanto, IP permite subdividir una red IP en varias subredes.

Una subred se responsabiliza de enviar datagramas a un cierto rango de direcciones IP. Esto es una extensi�n del concepto de dividir campos de bits, como en las clases A, B, y C. De cualquier forma, la parte de red se extiende ahora para incluir algunos bits de la parte del puesto. El n�mero de bits que se interpreta como el n�mero de subred viene dado por la llamada m�scara de subred o m�scara de red. Este es tambi�n un n�mero de 32 bits, que especifica la m�scara de bit para la parte de red de la direcci�n IP.

La red del campus de la Groucho Marx University es un ejemplo de este tipo de redes. Tiene un n�mero de red de clase B 149.76.0.0, y su m�scara de red es 255.255.0.0.

Internamente, la red del campus de la GMU consta de varias redes m�s peque�as, como son las LANs de varios departamentos. De modo que el rango de direcciones IP se divide en 254 subredes: desde 149.76.1.0 hasta 149.76.254.0. Por ejemplo, al departamento de F�sica Te�rica se le ha asignado 149.76.12.0. La dorsal del campus es una red por derecho propio, y se le ha asignado 149.76.1.0. Estas subredes comparten el mismo n�mero de red, mientras que el tercer octeto se usa para distinguirlas entre s�. Utilizar�n as� una m�scara de subred de 255.255.255.0.

Figura 2-1 muestra como 149.76.12.4, la direcci�n de quark, se interpreta de forma distinta cuando la direcci�n viene dada como una red de clase B ordinaria y cuando se usa como subred. >>>>>>> 1.7

Es dificil notar que la t�cnica de generar subredes es �nicamente una divisi�n interna de la red. Las subredes se generan por el propietario de la red (o el administrador). Frecuentemente, las subredes se crean para reflejar l�mites determinados, ya sean f�sicos (entre dos Ethernets), administrativos (entre dos departamentos), o geogr�ficos (entre dos ubicaciones distintas), y la autoridad de cada subred se delega a alguna persona de contacto. De todos modos, la estructura afecta solo al funcionamiento interno de la red y es completamente invisible para el mundo exterior.

2.4.3. Pasarelas

La divisi�n en subredes no solo es un beneficio para la administraci�n; es frecuentemente una consecuencia natural de l�mites de hardware. El alcance de un puesto en una red f�sica determinada, tal como una Ethernet, es muy limitado: solo se puede comunicar con puestos de la red donde �l mismo se encuentra. Solo se puede acceder a los dem�s puestos a trav�s de m�quinas con una utilidad especial denominadas pasarelas. Una pasarela es un puesto que est� conectado simult�neamente a dos o m�s redes f�sicas y est� configurado para intercambiar paquetes entre ellas.

Figura 2-2 muestra parte de la topolog�a de red en la Groucho Marx University (GMU). Los puestos que est�n en dos subredes al mismo tiempo se muestran con ambas direcciones.

Redes f�sicas diferentes deben pertenecer a redes IP distintas para que IP sea capaz de reconocer si un puesto est� en una red local o no. Por ejemplo, el n�mero de red 149.76.4.0 se reserva para los puestos en la LAN de matem�ticas. Cuando se manda un datagrama a quark, el software de red en erdos entiende inmediatamente por la direcci�n IP 149.76.12.4 que el puesto de destino est� en una red f�sica diferente, y por lo tanto s�lo puede ser alcanzado a trav�s de una pasarela (sophus por defecto).

sophus est� conectada a dos subredes distintas: el departamento de Matem�ticas y la dorsal del campus. Accede a cada una a trav�s de una interfaz diferente, eth0 y fddi0, respectivamente. Ahora bien, �que direcci�n IP se le debe asignar?. �Debemos darle una en la subred 149.76.1.0, o en la 149.76.4.0?

La respuesta es: “ambas.” sophus tiene asignadas la direcci�n 149.76.1.1 para su uso en la red 149.76.1.0 y la direcci�n 149.76.4.1 para la red 149.76.4.0. Una pasarela debe tener asignada una direcci�n IP para cada red a la que pertenezca. Estas direcciones—junto con la correspondiente m�scara de red—est�n vinculadas a la interfaz por la que se accede a la subred. De modo que el esquema de interfaces y direcciones de sophus ser�a este:

La �ltima entrada define la interfaz loopback lo, de la que hablamos anteriormente.

Generalmente, se puede ignorar la sutil diferencia entre destinar una direcci�n a un puesto o a su interfaz. En el caso de puestos que est�n solos en una red, como erdos, normalmente nos referiremos al puesto con "esta o aquella" direcci�n IP, aunque estrictamente hablando, sea la interfaz Ethernet la que tenga esa direcci�n IP. La distinci�n s�lo es realmente importante en el caso de referirse a una pasarela.

2.4.4. Tabla de encaminamiento

Ahora nos centraremos en como IP elige qu� pasarela usar para enviar un datagrama a una red remota.

Hemos visto que erdos, cuando env�a un datagrama a quark, comprueba la direcci�n de destino y encuentra que �sta no est� en la red local. erdos por lo tanto env�a el datagrama a la pasarela por defecto sophus, que se enfrenta ahora al mismo problema. sophus reconoce que quark no est� en ninguna de las redes a las que est� conectada directamente, de modo que todav�a tiene que encontrar otra pasarela a trav�s de la cual remitirlo. La elecci�n correcta deber�a ser niels, la pasarela del departamento de F�sicas. Por lo tanto sophus necesita informaci�n para asociar una red de destino con una pasarela adecuada.

Para esta tarea, IP usa una tabla que asocia redes con las pasarelas por las que estas pueden ser alcanzadas. Generalmente, debe incluirse tambi�n una entrada que abarque todo (el encaminamiento por defecto); esta es la pasarela asociada a la red 0.0.0.0. Todas las direcciones de destino se corresponden con este encaminamiento, ya que no se requiere ninguno de los 32 bits para ajustarse a �l, y por tanto los paquetes dirigidos a una red desconocida se env�ar�n al encaminamiento por defecto. En sophus, la tabla podr�a ser algo como esto:

Si es necesario usar un encaminamiento a una red a la que sophus est� conectada directamente, no se necesita una pasarela; en ese caso la columna de la pasarela contiene un gui�n.

El proceso que se sigue para identificar si una direcci�n de destino determinada corresponde con un encaminamiento es una operaci�n matem�tica. Es bastante simple, pero requiere conocimientos de aritm�tica binaria y l�gica: Un encaminamiento corresponde a un destino si la direcci�n de red operada l�gicamente por medio de AND con la m�scara de red es precisamente la direcci�n de destino operada l�gicamente por medio de AND con la m�scara de red.

Traducci�n: un encaminamiento corresponde si el n�mero de bits de la direcci�n de red especificada por la m�scara de red (empezando por el bit m�s a la izquierda, el orden m�s alto del byte uno de la direcci�n) corresponde al mismo n�mero de bits en la direcci�n de destino.

Cuando la implementaci�n de IP busca el mejor encaminamiento hasta un destino, puede que encuentre varias entradas que correspondan a la direcci�n del objetivo. Por ejemplo, sabemos que el encaminamiento por defecto corresponde a todos los destinos, pero los datagramas destinados a redes unidas localmente tambi�n corresponder�n a su encaminamiento local. �C�mo IP decide que encaminamiento usar? Es aqu� donde la m�scara de red representa un papel importante. Mientras que los dos enrutamientos corresponden al destino, uno de ellos tiene una m�scara de red mayor que la del otro. Se dijo anteriormente que la m�scara de red se usa para dividir los espacios de las direcciones en redes m�s peque�as. Cuanto mayor es una m�scara de red, mejor especifica la correspondencia a la direcci�n de un objetivo; cuando se env�an datagramas, siempre se deber�a elegir el enrutamiento que tenga la mayor m�scara de red. El encaminamiento por defecto tiene una m�scara de red de cero bits, y en la configuraci�n mostrada anteriormente, las redes enlazadas localmente tienen una m�scara de red de 24 bits. Si un datagrama corresponde a una de estas redes, ser� enrutado al dispositivo apropiado en vez de seguir el encaminamiento por defecto porque el enrutamiento de la red local corresponde a un mayor n�mero de bits. Los �nicos datagramas que se encaminan a trav�s del encaminamiento por defecto son aquellos que no corresponden a ning�n otro enrutamiento.

Se puede construir tablas de encaminamiento siguiendo distintos m�todos. En el caso de LANs peque�as, normalmente lo m�s eficiente es construirlas a mano y nutrirlas de IP usando el comando route en el momento del arranque (vease Cap�tulo 5). Para redes mayores, se construyen y ajustan en tiempo de ejecuci�n por los demonios de encaminamiento; estos demonios corren en puestos centrales de la red e intercambian informaci�n de enrutamiento para calcular caminos “�ptimos” entre los miembros de la red.

Dependiendo del tama�o de la red, se necesitar� usar diferentes protocolos de encaminamiento. Para enrutar dentro de sistemas aut�nomos (tales como el campus de Groucho Marx) se usan los protocolos de encaminamiento interno. El m�s importante de �stos es el Routing Information Protocol (RIP), que es implementado por el demonio BSD routed. Para enrutar entre sistemas aut�nomos se tienen que usar protocolos de encaminamiento externo como External Gateway Protocol (EGP) o Border Gateway Protocol (BGP); estos protocolos, incluido RIP, han sido implementados en el demonio gated de la Universidad de Cornell.

2.4.5. M�trica de encaminamiento

Hay que contar con los encaminamientos din�micos para elegir la mejor ruta hasta nuestro puesto o red de destino bas�ndonos en el n�mero de saltos. Los saltos son las pasarelas que un datagrama debe atravesar antes de llegar al puesto o la red. Cuanto m�s corta sea una ruta en mejor consideraci�n la tendr� RIP. Las rutas muy largas con 16 saltos o m�s son consideradas como inusable y son descartadas.

RIP controla la informaci�n interna de encaminamiento de su red local, pero tiene que ejecutar gated en todos los puestos. En el momento del arranque, gated comprueba todas las interfaces de red activas. Si hay m�s de una interfaz activa (sin contar la interfaz loopback), asume que el puesto est� intercambiando paquetes entre varias redes e intercambia y emite activamente informaci�n de encaminamiento. De cualquier forma, las actualizaciones de RIP solo se recibir�n pasivamente y se pondr� al d�a la tabla de encaminamiento local.

Cuando se transmite informaci�n seg�n la tabla de encaminamiento local, gated calcula la longitud de la ruta atendiendo al llamado valor m�trico asociado a la entrada de la tabla de encaminamiento. Este valor m�trico lo decide el administrador del sistema cuando configura el encaminamiento, y debe reflejar el valor actual de la ruta.[2] Por tanto, la m�trica de la ruta a una subred a la que el puesto est� directamente conectada debe ser siempre cero, mientras que una ruta que vaya a trav�s de dos pasarelas debe tener una m�trica de dos. De todos modos, no deber� preocuparse por las m�tricas si no usa RIP o gated.

Notas

[1]

Los sistemas aut�nomos son ligeramente m�s generales. En ellos se puede comprender m�s de una red IP.

[2]

El valor de una ruta puede imaginarse, en casos simples, como el n�mero de saltos requeridos para alcanzar el destino. Aunque calcular apropiadamente los valores de las rutas en dise�os de redes complejas puede ser una gran dificultad.