Introduccin:
Las tcnicas para rutear pueden clasificarse de dos formas disjuntas. Una de las clasificaciones considera lo siguiente:
Ruteo esttico Ruteo dinmico
Donde lo que diferencia una estrategia de otra es la administracin del ruteo, siendo en el primer caso en forma manual y en el segundo caso automatizada. La segunda clasificacin se aplica slo al ruteo dinmico, particularmente en la forma en que determina el camino mnimo entre todos los nodos:
Algoritmo de ruteo global: estado enlace Algoritmo de ruteo descentralizado: vector distancia
Bsicamente la diferencia es que en el primer caso el algoritmo que corre cada nodo requiere un conocimiento total de la topologa, mientras que en el segundo caso el algoritmo opera en forma distribuida conociendo slo el costo de llegar a sus vecinos.
999 infinito. p(v): nodo previo a lo largo del camino de costo mnimo desde el nodo origen hasta el nodo v M: conjunto de todos los nodos N: conjunto de nodos para los que se conoce el camino mnimo desde el origen dado adyacente(x,y) devuelve Verdadero si x e y son nodos adyacentes lista_adyacentes(x): retorna el conjunto de nodos adyacentes al nodo x // es un comentario Suponemos el nodo origen es A
//Inicializacion N={A} foreachvin(M{A})do ifadyacente(A,v)then D(v)=c(A,v) p(v)=A//inicializoelpredecesordelnodov else D(v)=999 fi done //fininicializacion //Iteracion
WhileN<>Mdo minCW=999;//valorcostominimo minW=1;//nodominimo //Entrelosnodosrestantes(noenN)buscoeldemenorcostoaA foreachwnotinNdo ifminCW>D(w)then minCW=D(w) minW=w fi done add(N,minW)//agregominWenN //ParacadaadyacenteaminWpuedoactualizarlesucostoaA //siesqueesmenoryendoporminW foreachtinlista_adyacentes(minW)do ifD(t)>minCW+c(minW,t)then p(t)=minW//guardoelpredecesor D(t)=minCW+c(minW,t) fi done done
A continuacin se muestra un ejemplo de topologa y las iteraciones del algoritmo segn el libro Kurose
donde: minw considera el costo mnimo para alcanzar Y desde cualquier de todos los vecinos de Z (incluso considerando un camino que pase por el mismo X)
El ejemplo dado por Kurose es un tanto complejo de entender si no se comprende totalmente la formula presentada. El ejemplo es el siguiente:
Las sumas se obtienen de: DE(A,A) = 1 DE(A,B) = 8 + 1 + 2 + 2 + 1 = 14 DE(A,D) = 2 + 2 + 1 = 5 DE(B,A)= 1 + 1 + 2 + 2 + 1 = 7 DE(B,B)= 8 DE(B,D)= 2 + 2 + 1 = 5 DE(C,A) = 1 + 1 + 2 + 2 = 6 DE(C,B) = 8 + 1 DE(C,D) = 2 + 2 = 4 DE(D,A) = 1 + 1 + 2 = 4 DE(D,B) = 8 + 1 + 2 = 11 DE(D,D) = 2 Luego el camino mnimo es el menor valor de cada fila y se alcanza por el nodo adyacente indicado en la columna donde est dicho mnimo.