Los protocolos de enrutamiento para la capa de red son
usados para resolver peticiones de servicios de envío de paquetes de datos a
través de diferentes redes de datos. El punto más importante de esta sección es
mostrar algunos algoritmos de enrutamiento vector-distancia.
Intruducción
La capa de Red, dentro de una arquitectura de redes de datos, es la que se encarga de llevar los paquetes de datos desde el origen (estación transmisora) hasta el destino (estación receptora). Llegar a destino, en tiempo y forma, puede requerir que el algoritmo de ruteo, que es el encargado de escoger las rutas y las estructuras de datos, cumpla con ciertas propiedades que aseguren la eficiencia de su trabajo.
Estas propiedades son: corrección, estabilidad, robustez,
equitatividad, sencillez y optimalidad [Tan97, Tanenbaum].
La corrección y la sencillez casi no requieren
comentarios; no así la necesidad de robustez, la cual se refiere a que el
algoritmo debe ser diseñado para que funcione dentro de la red por años, sin
fallas generales. El algoritmo deberá estar preparado para manejar cambios de
topología y tráfico sin requerir el aborto de las actividades o el rearranque
de la red.
La equitatividad y la optimalidad resultan con frecuencia
contradictorias, ya que muchas veces se requiere una concesión entre la eficacia
global (optimización) y la equitatividad; es decir, antes de intentar encontrar
un justo medio entre estas dos, se debe decidir qué es lo que se busca
optimizar.
Minimizar el retardo de los paquetes (disminuyendo escalas
y ancho de banda) y maximizar el rendimiento total de la red sería la
combinación más apropiada para un algoritmo de ruteo.
Propósitos de los protocolos de enrutamiento y
los sistemas autónomos
El objetivo de un protocolo de enrutamiento es
crear y mantener una tabla de enrutamiento. Esta tabla contiene las redes
conocidas y los puertos asociados a dichas redes. Los routers utilizan
protocolos de enrutamiento para administrar la información recibida de otros
routers, la información que se conoce a partir de la configuración de sus
propias interfaces, y las rutas configuradas manualmente.
Los protocolos de enrutamiento aprenden todas
las rutas disponibles, incluyen las mejores rutas en las tablas de enrutamiento
y descartan las rutas que ya no son válidas. El router utiliza la información
en la tabla de enrutamiento para enviar los paquetes de datos.
El algoritmo de enrutamiento es fundamental para
el enrutamiento dinámico. Al haber cambios en la topología de una red, por
razones de crecimiento, reconfiguración o falla, la información conocida acerca
de la red también debe cambiar. La información conocida debe reflejar una
visión exacta y coherente de la nueva topología.
Cuando todos los routers de una red se
encuentran operando con la misma información, se dice que la red ha hecho
convergencia. Una rápida convergencia es deseable, ya que reduce el período de
tiempo durante el cual los routers toman decisiones de enrutamiento erróneas.
Los sistemas autónomos (AS) permiten la división de la red global en
subredes de menor tamaño, más manejables. Cada AS cuenta con su propio conjunto
de reglas y políticas, y con un único número AS que lo distingue de los demás
sistemas autónomos del mundo.
Algoritmos de Enrutamiento
El algoritmo de enrutamiento es la parte del software de
la capa de red encargada de decidir la línea de salida por la que se
transmitirá un paquete de entrada.
Si la subred usa datagramas entonces esta decisión debe
hacerse cada vez que llega un paquete de datos de entrada, debido a que la
mejor ruta podría haber cambiado desde la última vez.
Si la subred utiliza circuitos virtuales internamente, las
decisiones de enrutamiento se tomarán sólo al establecerse el circuito y los
paquetes seguirán la ruta previamente establecida.
Clasificación de Algoritmos de Enrutamiento
Los algoritmos de enrutamiento pueden agruparse en dos
clases principales:
Algoritmos No
adaptables: No basan sus decisiones de enrutamiento en mediciones o
estimaciones del tráfico ni en la topología. La decisión de qué ruta tomar de I
a J se calcula por adelantado, fuera de línea y se cargan en los routers al
iniciar la red. Éste procedimiento se llama enrutamiento estáticos.
Cuando se usa enrutamiento estático, el
administrador de la red configura manualmente la información acerca de las
redes remotas.
Debido a que las rutas estáticas deben configurarse
manualmente, cualquier cambio en la topología de la red requiere que el
administrador agregue o elimine las rutas estáticas afectadas por dichos
cambios. En una red de gran tamaño, el mantenimiento manual de las tablas de
enrutamiento puede requerir de una enorme cantidad de tiempo de administración.
En redes pequeñas, con pocos cambios, las rutas estáticas requieren muy poco
mantenimiento. Debido a los requisitos de administración adicionales, el
enrutamiento estático no tiene la escalabilidad o capacidad de adaptarse al
crecimiento del enrutamiento dinámico. Aun en redes de gran tamaño, a menudo se
configuran rutas estáticas, cuyo objetivo es satisfacer requerimientos
específicos, junto con un protocolo de enrutamiento dinámico.
Las operaciones con rutas estáticas pueden
dividirse en tres partes, como sigue:
- El administrador de red configura la ruta.
- El router instala la ruta en la tabla de enrutamiento.
- Los paquetes se enrutan de acuerdo a la ruta estática.
Algoritmos
Adaptables: En contraste con los algoritmos no adaptables, éstos cambian
sus decisiones de enrutamiento para reflejar los cambios de topología y de
tráfico. Difieren de los algoritmos estáticos en el lugar de obtención de su
información (ej. localmente, en los routers adyacentes o de todos), el momento
del cambio de sus rutas (ej. cada t seg., o cuando cambia la carga) y la
métrica usada para la optimalidad (ej. distancia, no de escalas, tiempo
estimado del tránsito). Este tipo de algoritmos no pueden ser demasiado complejos
ya que son implementados en los routers y deben ejecutarse en tiempo real con
recursos de CPU y la memoria con que el router dispone. En las siguientes
secciones estudiaremos una variedad de algoritmos de enrutamiento dinámicos,
que es el caso de estudio.