Anda di halaman 1dari 4

Redes y Comunicaciones

Explicacin Prctica Capa de Red - Algoritmos de Ruteo

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.

Algoritomo de ruteo de estado enlace


Este algoritmo supone la premisa de que cada nodo en la red, conoce la topologa y el costo entre cada uno de los enlaces. Para ello se difunden las entidades y los costos de sus enlaces a cada nodo, por ejemplo utilizando broadcasts. En una primera instancia, se conocen slo las entidades y el costo a sus vecinos. A partir de este momento, se aprende la topologa del resto de la red al recibir las difusiones del estado de los enlaces de los dems nodos El algoritmo que procesa cada nodo es el ya conocido como Dijkstra, que calcula el camino mnimo de un nodo al resto de los nodos A continuacin se explica el algoritmo utilizando pseudocdigo y la siguiente notacin:
c(i,j): costo del enlace entre i y j. Si no estn conectados es infinito D(v): costo del camino mnimo desde el nodo origen hasta el nodo v. Es un valor parcial siendo

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

Iteraciones del algoritmo


Iteraciones 0 A 1 AD 2 ADE 3 ADEB 4 ADEBC 5 ADEBCF N 2,A 2,A 2,A D(B),p(b) 5,A 4,D 3,E D(C),p(C) 1,A 2,D 4,E 4,E 4,E 4,E D(D),p(D) D(E),p(E) D(F),p(F)

Algoritomo de ruteo de vector distancia


Este tipo de algoritmos parte de la base de no utilizar informacin global, siendo iterativos, asincrnicos y distribuidos. Para poder llevar a cabo su cometido, utiliza una estructura de datos llamada tabla de distancias. Esta tabla es manejada por cada nodo para calcular el camino mnimo a cada destino de la red. La tabla tiene una fila para cada destino de la red y una columna para cada vecino. Una entrada de la tabla de distancias para un nodo X que trata de rutear a un destino Y a travs del vecino Z ser: DX(Y,Z)=c(X,Z)+minw{DZ(Y,w)}

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.

Anda mungkin juga menyukai