Estado de enlace

Estado de enlace Se basa en que un router o encaminador comunica a los restantes nodos de la red, identifica cuáles son sus vecinos y a qué distancia está de ellos. Con la información que un nodo de la red recibe de todos los demás, puede construir un "mapa" de la red y sobre él calcular los caminos óptimos. El encaminamiento por estado de enlace nace en 1979 cuando en ARPANET sustituyó al método de vector de distancias.


Funcionamiento

Lo podemos dividir en cinco pasos fundamentales:

1. Descubrir a sus vecinos y sus direcciones
2. Medir el costo a cada uno de sus vecinos
3. Construir el paquete con la información recabada
4. Enviar este paquete al resto de routers.
5. Calcular la ruta mínima al resto de routers


Determinar los vecinos de cada nodo. Lo primero que debe hacer un router al activarse es averiguar quienes son sus vecinos. Para ello, manda un paquete especial dependiendo que protocolo se utiliza, si es OSPF utilizara HELLO por cada línea punto a punto. Todo router que reciba este paquete debe responder indicando su identidad.

Cálculo del coste a los vecinos. Para medir el retardo a cada nodo, el router manda un paquete especial ECHO a través de la línea el cual debe volver a su origen. El tiempo de ida y vuelta dividido entre dos nodos da una aproximación razonable del costo a cada vecino de la red.

Elaboración de paquete de estado de enlace. El siguiente paso consiste en que cada router construye un paquete con todos los datos que informan del estado de la red. La estructura de este paquete es la siguiente:

  • Identidad del router
  • Secuencia
  • Edad
  • Lista de nodos vecinos

El problema de esta etapa es el momento de la creación de estos paquetes. Hay varias alternativas como hacerlo de manera periódica o bien cuando haya ocurrido un evento en la red como la caída de un nodo.

Distribución del paquete de estado de enlace. Es la parte más complicada del algoritmo. Básicamente lo que hace, es repartir el paquete por toda la red por inundación. Para controlarla, cada paquete incluye un número de secuencia que aumenta con cada paquete nuevo enviado. Cada router contiene una tabla con toda la información de tal manera que:

  • Si recibe un paquete nuevo, este se envía por todas las líneas excepto por la que llega.
  • Si se trata de un duplicado, lo elimina.
  • Si es un paquete con secuencia menor que el mayor visto hasta el momento, lo rechaza.

A pesar de todo, surgen ciertos problemas como el reinicio de la secuencia. Si ocurre esto, se producirá un caos en la red. Este problema se soluciona usando secuencias de 32 bits, lo suficientemente grandes para no tener que poner la secuencia a 0 suponiendo que se envía un paquete por segundo. Otros conflictos surgen en el caso de caída de un router (reinicio del número de secuencia) o si se recibe un número de secuencia equivocado por haberse modificado alguno de sus bits durante la transmisión.

La solución para esto, es introducir la edad de cada paquete e ir disminuyéndola en un intervalo pequeño de tiempo. Cuando la edad llegue a 0, estos paquetes son descartados. Además, este método permite que los paquetes no circulen de manera indefinida por la red.

Cálculo de ruta mínima. Una vez que el router ha completado la recopilación de información, puede construir el grafo de la subred. De esta manera, se puede utilizar el algoritmo de Dijkstra para calcular el camino más corto a todos los nodos.

Other Languages