Algoritmos de Enrutamiento

Algoritmos de Enrutamiento Estático:

Enrutamiento Por Trayectoria más Corta: La idea es armar un grafo de la subred, donde cada Nodo representa un Enrutador y cada Arco una línea de comunicación (ó enlace). Algoritmo encuentra la trayectoria más corta para escoger una ruta entre 2 enrutadores.

varios algoritmos según criterio:

Algoritmo de Dijkstra (1959) de etiquetado

  1. Cada nodo se etiqueta con su distancia al nodo de origen a través de la mejor trayectoria conocida ® B(2,A).
  2. Inicialmente no se conocen trayectorias ® D(¥,-)
  3. A medida que avanza algoritmo, y se encuentran trayectorias, pueden cambiar etiquetas de tentativa (nodo o ) a permanente (nodo ·).
  4. Ejplo. en Fig.5.5 de trayectoria más corta de A a D, dde se examinan por turno cada uno nodos adyacentes al nodo de trabajo, reetiquetando c/u con distancia desde A.

Inundación: Cada paquete de entrada se envía por c/u de las líneas de salida, excepto aquélla por la que llegó.

Inundación Selectiva: variante donde enrutadores envían paquetes no por todas, sino por las líneas que van aprox. en dirección correcta. Uso en aplicaciones militares, en caso falla de muchos routers, ó para actualizar todas las bases de datos distribuídas.

Enrutamiento Basado en Flujo: Algoritmo estático que usa la topología y también la carga de tráfico para enrutar.

Algoritmos de Enrutamiento Dinámico: veremos 2 algoritmos de enrutamiento dinámicos:Por Vector de Distancia, Por Estado de Enlace

Enrutamiento por Vector de Distancia : Opera haciendo que cada enrutador mantenga una Tabla (ó Vector) que da la mejor distancia conocida a cada destino y la línea a usar para llegar ahí.

RIP (Routing Info.Protocol), y en versiones de DECNet e IPX de Novell.

Enrutamiento Por Estado de Enlace (Link state ó SPF): Usado en ARPANET desde 1979, toma en cuenta además del Retardo, el Ancho de Banda, ya que algunas líneas pasaron de ser todas de 56 (kbps) a 230 y 1544 (kbps).

Postulados: cada enrutador debe hacer 5 pasos:

  1. Descubrir a sus vecinos y conocer sus direcciones de red. Al activarse un enrutador envía paquete especial de HOLA por cada línea PaP y espera que el otro extremo responda quién es (dirección globalmente única)
  2. Medir el Retardo ó costo para c/u de sus vecinos. Envía un paquete especial de ECO a través de la línea, que se regresa inmediatamente del otro lado, se mide tiempo de ida y vuelta (RTT: Round Trip Time), se divide por 2 (Retardo)
  3. Construir un paquete de Estado de Enlace. Con identidad del transmisor, Nº secuencia, Edad y Lista de vecinos con retardo a ese vecino. ( Fig.5.9 ). Se construye periódicamente ó con evento significativo
  4. Enviar este paquete a todos los demás enrutadores. Usa inundación para distribuir los paquetes de Estado de Enlace / se controla con nº secuencia de paq. (32 bits).

Enrutadores llevan registro de todos los pares (Router de origen, Secuencia) / si es nuevo, lo reenvían por líneas salvo la de arribo, si es duplicado se descarta y si nº secuencia menor, se rechaza. Solución a problemas de error en nº secuencia es Campo de Edad en cada paquete, que se disminuye una vez/seg, y cuando llega a cero, se descarta

  1. Calcular la Trayectoria más corta a los demás enrutadores. Con grupo completo de paq. de estado de enlace, puede construir grafo de subred completa y, Ejecutar Algoritmo de Dijkstra para calcular ruta más corta a todos los destinos y armar Tablas de Enrutamiento.