Sunteți pe pagina 1din 28

Enrutamiento por vector de distancia

Los algoritmos de enrutamiento por vector distancia operan haciendo que cada enrutador mantenga una tabla que da la mejor distancia conocida a cada destino y la lnea que puede usar para llegar ah. Estas tablas se actualizan intercambiando informacin con los vecinos.

vector de distancia (tabla de enrutamiento)

(a)Subred (b) Entradas desde A, I, H, K, nueva tabla de rutas para J.

Algoritmo de Bellman-Ford
Se compone de los siguientes pasos: Cada nodo calcula la distancia entre l mismo y todos los dems dentro de un AS y almacena esta informacin en una tabla. Cada nodo enva su tabla a todos los nodos vecinos. Cuando un nodo recibe las tablas de distancias de sus vecinos, ste calcula la ruta ms corta a los dems nodos y actualiza su tabla para reflejar los cambios.

Algoritmo de Bellman-Ford
Algoritmo distribuido Cada nodo mantiene un vector de estimaciones de distancias Dx=[ Dx(y) para todos los y ] Cada nodo tiene los costes de enlaces a los vecinos c(x,v) Para minimizar los saltos simplemente se supone c(x,v)=1 Funcionamiento Peridicamente cada nodo enva su vector Dx a sus vecinos Cuando recibe una actualizacin de estimacin de un vecino v Actualiza su propia estimacin (eq de Bellman-Ford) Dx(y) = minv{ c(x,v)+Dv(y) } Converge hacia dx(y)
con condiciones mnimas (no actualizar todos a la vez)

Algoritmo de Bellman-Ford
BellmanFord(Grafo G, nodo_origen s) // inicializamos el grafo. Ponemos distancias a INFINITO menos el nodo origen que tiene distancia 0 for v V[G] do distancia[v]=INFINITO predecesor[v]=NIL distancia[s]=0 // relajamos cada arista del grafo tantas veces como nmero de nodos -1 haya en el grafo for i=1 to |V[G]-1| do for (u, v) E[G] do if distancia[v]>distancia[u] + peso(u, v) then distancia[v] = distancia[u] + peso (u, v) predecesor[v] = u // comprobamos si hay ciclos negativo for (u, v) E[G] do if distancia[v] > distancia[u] + peso(u, v) then print ("Hay ciclo negativo") return FALSE return TRUE

Algoritmo de Bellman-Ford
Las desventajas principales del algoritmo de Bellman-Ford en este ajuste son: No escala bien Los cambios en la topologa de red no se reflejan rpidamente ya que las actualizaciones se distribuyen nodo por nodo. Contando hasta el infinito (si un fallo de enlace o nodo hace que un nodo sea inalcanzable desde un conjunto de otros nodos, stos pueden estar siempre aumentando gradualmente sus clculos de distancia a l, y mientras tanto puede haber bucles de enrutamiento)

Ejemplo basado en el algoritmo de Bellman-Ford distribuido (Ecuacin de Bellman-Ford)

dx(y) : coste mnimo del camino de x a y Entonces: dx(y) = minv { c(x,v) + dv(y) } Ejemplo: du(y)=4 dv(y)=3 dw(y)=2 dx(y)=min { c(x,u) + du(y), c(x,v) + dv(y), c(x,w) + dw(y) } dx(y)=min { 1+4, 2+3, 2+2 }

RIP (Algoritmo Bellman-Ford o Ford-Fullkerson)


Protocolo vector-distancia Fue el protocolo de la ARPANET y de la Internet Es uno de los protocolos ms difundidos y es soportado por diversos sistemas tales como enrutadores de todos los fabricantes, Servidores Win2000 y Linux Usa los saltos como mtrica nica Tiene un lmite o infinito de 16 saltos

IGRP
Es un protocolo vector-distancia propietario de Cisco, excepto IGRP-ISO Fue diseado como una mejora para RIP Utiliza cuatro parmetros para el clculo de la mtrica Tiene mejoras para evitar los problemas tpicos de los protocolos vector-distancia

Mtricas utilizadas por IGRP

Comparacin de RIP e IGRP

Ejemplo tpico: RIP (Routing Information Protocol)

Creacin de tablas de rutas

Problemas distancia-vector

Cuenta al infinito, inestabilidad y bucles Soluciones: Hold-down. Si un enlace se cae no lo actualizes en un tiempo para que de tiempo a todos los routers a enterarse Enviar no slo la distancia sino tambin el camino. Ms estado Split-horizon: No anunciar distancias a B de los caminos que envo a travs de B (resuelve algunos casos pero no todas las cuentas a infinito) Poison reverse. Todos los caminos que sean a travs de un vecino los anuncio a ese vecino como distancia infinita Triggered updates: enviar los cambios en cuanto se produzcan Ninguna elimina completamente las cuentas a infinito

El problema de la cuenta al infinito.


Existe un problema serio en la prctica, reacciona rpidamente a las buenas respuestas, pero lentamente a las malas.

Enrutamiento por estado de enlace


El concepto en que se basa se puede enunciar en cinco partes. Cada enrutador debe: descubrir a sus vecinos y conocer sus direcciones de red. medir el retardo o costo para cada uno de sus vecinos. construir un paquete que indique todo lo que acaba de aprender. enviar este paquete a todos los dems enrutadores calcular la ruta ms corta a todos los dems enrutadores

Conocimiento de los vecinos


Se realiza enviando un paquete HELLO a cada lnea punto a punto esperando que el otro extremo regrese una respuesta indicando quien es. Los nombre deben ser nicos.

Conocimiento de los vecinos


Lan con 9 enrutadores. (b) El grafo de la red (HELLOS)

Medicin del costo de la lnea


Se mide el retraso enviando un paquete especial ECHO a travs de la lnea considerar es si se inicia el temporizador de retardo al ponerse el paquete ECHO en la cola o cuando este se coloca al frente de la misma.

Medicin del costo de la lnea


Uso del ancho de banda y la carga para calcular la mtrica

Construccin de los paquetes de estado de enlace


El paquete contiene: la identidad del emisor un nmero de secuencia una edad una lista de vecinos con sus retardos.

Paquetes de estado de enlace


(a) Subred. (b) Los LSP para la subred

Distribucin del paquete de estado de enlace


Reparte el paquete por toda la red por inundacin con un nmero de secuencia Si recibe un paquete nuevo, este se enva por todas las lneas 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.

Paquete de estado de enlace


Problemas posibles reinicio de la secuencia cada de un enrutador nmero de secuencia equivocado Soluciones secuencias de 32 bits Inclusin de una edad.

Tabla de almacenamiento de paquetes del enrutador B

Link-state
Algoritmo de enrutamiento centralizado
Los nodos envan informacin del estado de sus enlaces (link-state) A un nodo central A todos los nodos Con la informacin sobre todos los enlaces (el grafo completo) se buscan las mejores rutas en el nodo central o en cada nodo La bsqueda de rutas no es distribuida (pero hay que distribuir la informacin) Para encontrar los caminos de mnimo coste se emplea el algoritmo de Dijkstra

Estado de Enlace vs Vector distancia


Ancho de banda. Puesto que la mtrica de retardo es la longitud de la cola, el vector distancia no considera el ancho de banda usado. Convergencia. El algoritmo por vector distancia tarda demasiado en converger. Informacin de la red. En vector distancia, cada router enva informacin slo a sus vecinos sobre toda la red. EE enva a todos los nodos de la red informacin es relativa a sus vecinos.

Estado de Enlace vs Vector distancia


Capacidad y uso de memoria. Con EE, el trfico de la red siempre es el mismo sin depender del tamao de la red. Guarda la topologa. La tabla por vector distancia slo guarda las distancias al resto de nodos. Sucesos en la red. Al no tener informacin sobre la topologa, el routing por vector distancia no se adapta tan bien a los cambios en la red como el basado en estado de enlace. El encaminamiento basado en vector distancia es mucho ms sencillo

S-ar putea să vă placă și