Documente Academic
Documente Profesional
Documente Cultură
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.
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)
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 }
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
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
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