Está en la página 1de 19

SEÑALES Y COMUNICACIONES

TRABAJO

ALGORITMOS Y MÉTODOS DE ENRUTAMIENTO

Estudiante:
KAREN LORENA RUIZ

Docente:
ORLANDO CRISTANCHO

INGENIERÍA DE SISTEMAS

BOGOTÁ 30 DE ABRIL DE 2020


1.MÉTODOS DE ENRUTAMIENTO

● ENRUTAMIENTO ESTÁTICO​: ​El ruteo estático es la forma más sencilla y que 


menos conocimientos exige para configurar las tablas de ruteo en un 
dispositivo. Es un método manual que requiere que el administrador indique 
explícitamente en cada equipo las redes que puede alcanzar y por qué 
camino hacerlo. 
 
La ventaja de este método, además de la simpleza para configurarlo, es que 
no supone ninguna sobrecarga adicional sobre los routers y los enlaces en 
una red. Sin embargo, las desventajas principales son determinantes en 
muchos casos para no escoger este método. 
 
Por un lado, configurar rutas estáticas en una red de más de unos pocos 
routers puede volverse un trabajo muy engorroso para el administrador, 
además de aumentar la probabilidad de cometer un error, en cuyo caso puede 
llegar a ser bastante dificultoso encontrar dicho error. Pero además, existe un 
problema aún más importante: la redundancia. Cuando se utiliza ruteo 
estático en una red con redundancia y hay un fallo en un enlace el 
administrador debe modificar las rutas manualmente, lo cual implica un 
tiempo de respuesta ante una falla mucho mayor que si se utiliza un método 
automático. 
 

¿Cómo configurar un enrutamiento estático? 

Si tomamos como ejemplo la siguiente imagen, y en particular los 


enrutadores R1 y R2, para crear un enrutamiento estático en R1, debemos 
configurar tres parámetros en R1: 

● La ​subred 
● La ​máscara d ​ e la subred 
● La ​interfaz ​de salida de R1 (S0/0/0) o el siguiente salto (​next-hop​), es 
decir la dirección IP (172.16.4.2) configurada en la interfaz del siguiente 
enrutador, que es R2. 
● ENRUTAMIENTO DINÁMICO​:El enrutamiento adaptativo, también llamado 
enrutamiento dinámico, es un proceso para determinar la ruta óptima que 
debe seguir un paquete de datos a través de una red para llegar a un destino 
específico. El enrutamiento adaptativo se puede comparar con un viajero 
tomando una ruta diferente hacia el trabajo después de saber que el tráfico 
en su ruta habitual está retrasado. 
 
El enrutamiento adaptativo utiliza algoritmos y protocolos de enrutamiento 
que leen y responden a cambios en la topología de la red. Además de Open 
Shortest Path First (OSPF), otros protocolos de enrutamiento que facilitan el 
enrutamiento adaptativo incluyen el protocolo de Sistema Intermedio a 
Sistema Intermedio (IS-IS) para redes grandes como internet y el protocolo de 
información de enrutamiento (RIP) para transporte de corta distancia. 
 
Al igual que el GPS, que utiliza información sobre las condiciones del camino 
para redirigir a los conductores, el enrutamiento adaptativo utiliza 
información sobre la congestión de la red y la disponibilidad del nodo para 
dirigir los paquetes. Cuando un paquete llega a un nodo, el nodo utiliza 
información compartida entre routers de red para calcular qué ruta es la más 
adecuada. Si la ruta predeterminada está congestionada, el paquete se envía 
a lo largo de una ruta de acceso diferente y la información se comparte entre 
routers de red. 
 
Ventajas y retos del enrutamiento adaptativo 
 
El propósito del enrutamiento adaptativo es ayudar a prevenir fallos en la 
entrega de paquetes, mejorar el rendimiento de la red y aliviar la congestión 
de la red. El enrutamiento adaptativo puede causar que los nodos se 
sobrecarguen, sin embargo, debido a las complejas decisiones de 
procesamiento que toman. Dado que los enrutadores comparten información 
sobre la topología de red, el enrutamiento adaptativo puede ser menos seguro 
que los procesos de enrutamiento no adaptativos, y requiere más ancho de 
banda. 

● ENRUTAMIENTO POR VECTOR DE DISTANCIAS: 


El vector de distancias es un método de enrutamiento. Se trata de uno de los 
más importantes junto con el de estado de enlace. Utiliza el algoritmo de 
Bellman-Ford para calcular las rutas. Fue el algoritmo original de ARPANET. 
Se usó en DECNET, IPX y Appletalk. Lo usa el protocolo RIP (Routing 
Information Protocol), que hasta 1988 era el único utilizado en Internet. 
También se utiliza en los protocolos propietarios ampliamente extendidos 
IGRP y EIGRP de Cisco. 
FUNCIONAMIENTO 
El enrutamiento de un protocolo basado en vector de distancias requiere que 
un ​router​ informe a sus vecinos de los cambios en la topología 
periódicamente y en algunos casos cuando se detecta un cambio en la 
topología de la red. Comparado a los protocolos de ​estado de enlace​, que 
necesitan que un ​router​ informe a todos los nodos de una red acerca de los 
cambios en su topología, los algoritmos de vector de distancias tienen mucha 
menos complejidad computacional. Además, las principales características 
de los diferentes algoritmos VD (vector de distancias) son siempre las 
mismas. 
El algoritmo VD se basa en calcular la dirección y la distancia hasta cualquier 
enlace en la red. El costo de alcanzar un destino se lleva a cabo usando 
cálculos matemáticos como la métrica del camino. ​RIP​ cuenta los saltos 
efectuados hasta llegar al destino mientras que I​ GRP​ utiliza otra información 
como el retardo y el ancho de banda. 
Los cambios son detectados periódicamente ya que la tabla de enrutamiento 
de cada router se envía a todos los vecinos que usan el mismo protocolo. Una 
vez que el router tiene toda la información, actualiza su tabla e informa a sus 
vecinos de los mismos. Este proceso se conoce también como “enrutamiento 
por rumor” ya que los nodos utilizan la información de sus vecinos y no 
pueden comprobar a ciencia cierta si ésta es verdadera o no. 
El a
​ lgoritmo de Bellman-Ford​ se adapta perfectamente al modo de 
aprendizaje de los nodos que “nacen”, es decir, cuando se conectan a la red. 
A medida que el algoritmo progresa, el nuevo nodo va adquiriendo más 
información sobre el resto de nodos de la red. Este algoritmo converge 
rápidamente cuando se conectan nuevos nodos. Por ello se suele decir que 
las buenas noticias viajan rápido por la red. 

 
LIMITACIONES 
Un problema es el de la transmisión de malas noticias por la red tales como la 
ruptura de un enlace o la desaparición de un nodo. Este algoritmo converge 
lentamente en estos casos. Aunque el principal inconveniente de este 
algoritmo es el de la cuenta a infinito. 
El algoritmo Bellman-Ford utilizado en VD no previene de la aparición de 
bucles. Aunque protocolos como IGRP están modificados para detectar 
bucles en la red. El problema de la cuenta a infinito es que hace que los 
costes o distancias se incrementen indefinidamente sin que el algoritmo 
llegue a converger nunca. 
Para ilustrarlo, tomemos como ejemplo el de la figura. 
 
● Inicialmente A está desactivado. Cuando A se activa, B se entera de 
que A existe al recibir su vector distancia y actualizar su tabla 
indicando que A dista 1. 
● El nodo C se entera de que A existe porque B le indica que tiene un 
enlace hacia A de coste 1. Entonces C actualiza su tabla 
registrando una trayectoria hacia A de coste 2. 
● Si el nodo A se desconecta entonces B no recibe el VD de A. Sin 
embargo el nodo C le dice que tiene una trayectoria hasta A de 
distancia 2. B no sabe que la trayectoria de C a A pasa por el mismo 
y por tanto cree que puede llegar a A a través de C por lo que 
actualiza su tabla registrando la distancia 2 + 1 = 3 hasta A 
● En el siguiente intercambio, el nodo C comprueba que sus vecinos 
B y D tienen una trayectoria hasta A de distancia 3. C calcula su 
propia distancia hasta A en 3 + 1 = 4. En los siguientes 
intercambios, los nodos elevan ilimitadamente su distancia a A 
(cuenta a infinito). 
Mientras no se interrumpa la cuenta a infinito, el algoritmo no converge. 
Aunque se han propuesto diversas soluciones a este problema 
 
● ENRUTAMIENTO POR ESTADO DE ENLACE: 
 
Los protocolos de estado-enlace o SPF (Shortest Path First = Primero el 
camino más corto) requieren que cada router tenga información de la 
topología completa de la red, es decir, que todos los routers tengan un mapa 
que muestre a los demás routers y las redes que conectan. 
 
Los routers envían periódicamente mensajes cortos para comprobar el 
estado de todos los enlaces con routers vecinos. Si el router vecino está 
activo, se define el enlace como activo (up) y en caso contrario se define el 
enlace como inactivo o caído (down). 
 
Los routers difunden la información sobre el estado de sus enlaces 
conocidos a los routers vecinos. Esta información sólo se envía cuando se 
produce un cambio. 
 
En cada router la información de la topología de la red se almacena en forma 
de árbol, donde los routers se corresponden con los nodos y las redes 
accesibles con los arcos o enlaces entre nodos. El propio router será el nodo 
raíz y las ramas son todas las rutas posibles hacia cada red destino. 
 
Los routers transmiten este grafo a los routers adyacentes. Una vez que llega 
la información a cada router, se evalúa y se calcula cual es la ruta más 
adecuada para cada destino, para ello se utiliza el algoritmo Dijkstra que se 
encarga de recalcular las rutas más cortas.  
 
El router elabora una lista de las mejores rutas a las redes de destino y de las 
interfaces que permiten llegar a ellas. Esta información se incluye en la tabla 
de encaminamiento. 
 
Entre los inconvenientes de los protocolos de estado-enlace es que los 
routers que los usan requieren más memoria y más capacidad de 
procesamiento, que los que usan protocolos de enrutamiento por 
vector-distancia. Los routers deben tener la memoria suficiente para 
almacenar la tabla de encaminamiento, el árbol completo con la topología de 
la red y los sucesivos pasos del algoritmo de Dijkstra para el cálculo de la 
distancia más corta. Además se requiere de una potencia mayor de proceso 
de datos para poder ejecutar el algoritmo de Dijkstra. 
 
Cuando se inician los routers de la red, el ancho de banda consumido por los 
algoritmos de estado-enlace es alto ya que todos los routers envían la 
información inicial a los demás. Esta acción genera un gran volumen de 
tráfico y reduce temporalmente el ancho de banda disponible para el tráfico 
de los usuarios. Después de esta disminución inicial de la eficiencia de la red, 
los protocolos de enrutamiento de estado-enlace generalmente consumen un 
ancho de banda mínimo, sólo para envíos ocasionales de mensajes que 
informan de algún cambio en la topología. 
 
Los protocolos de estado-enlace convergen más rápidamente que los de 
vector-distancia, puesto que se envía menos cantidad de información y 
menos veces. 
 
El protocolo OSPF es un protocolo de estado-enlace. 
Protocolo OSPF  
El protocolo OSPF, Open Short Path First (Primero la ruta más corta), es uno 
de los protocolos del estado-enlace más importantes. Este protocolo 
estándar descrito en el RFC 2328 se caracteriza por: 
● Realizar la actualización de la información de encaminamiento según 
el algoritmo de estado-enlace.  
● Utilizar el algoritmo SPF (Short Path First) para calcular el costo más 
bajo hasta un destino.  
● Poder determinar la red destino del mensaje utilizando máscaras 
diferentes a la máscara por defecto de la clase a la que pertenece el 
equipo destino. Es un protocolo classless o sin clases  
● Soportar tipos de servicio. Los administradores de red pueden instalar 
múltiples rutas hacia un destino dado, una por cada tipo de servicio. 
● Proporcionar balanceo de carga entre rutas de igual peso. Si un 
administrador especifica múltiples rutas hacia un destino con el 
mismo coste, el protocolo OSPF distribuye el tráfico entre todas las 
rutas de la misma manera. Esta es una diferencia importante con 
respecto a RIP que calcula una sola ruta para cada destino.  
● Permitir la partición en áreas y sistemas autónomos para el 
encaminamiento independiente en cada área. Los anuncios del estado 
de los enlaces se envían a todos los routers de un área.  
● Realizar la localización automática de routers vecinos.  
● Permitir la propagación de rutas aprendidas de fuentes externas.  
● Propagar entre los enlaces las tablas de encaminamiento sólo cuando 
se detecta un cambio en la configuración de la red, ya que cuando se 
realizan actualizaciones, se produce un gran volumen de tráfico en la 
red.  
● El protocolo OSPF supera las limitaciones de otros protocolos; como, 
por ejemplo, RIP que converge lentamente y a veces elige rutas lentas 
porque no tiene en cuenta aspectos críticos como el ancho de banda a 
la hora de determinar la ruta. 
 
2. Algoritmos de enrutamiento: 

● Algoritmo de Dijkstra: 
También llamado algoritmo de caminos mínimos, es un algoritmo para la 
determinación del camino más corto dado un vértice origen al resto de 
vértices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger 
Dijkstra, quien lo describió por primera vez en 1959. 
 
Aplicaciones:​En múltiples aplicaciones donde se aplican los grafos, es 
necesario conocer el camino de menor costo entre dos vértices dados: 
 
● Distribución de productos a una red de establecimientos comerciales. 
● Distribución de correos postales. 
Sea G = (V, A) un grafo dirigido ponderado. 
El problema del camino más corto de un vértice a otro consiste en determinar 
el camino de menor costo, desde un vértice u a otro vértice v. El costo de un 
camino es la suma de los costos (pesos) de los arcos que lo conforman. 
 

Características del algoritmo 

● Es un algoritmo greddy. 
● Trabaja por etapas, y toma en cada etapa la mejor solución sin considerar 
consecuencias futuras. 
● El óptimo encontrado en una etapa puede modificarse posteriormente si 
surge una solución mejor. 

PASOS DEL ALGORITMO 

Algoritmo 24.1: Algoritmo de Dijkstra.​ ​Inicialización.

● Sea V un conjunto de vértices de un grafo.


● Sea C una matriz de costos de las aristas del grafo, donde en C[u,v] se
almacena el costo de la arista entre u y v.
● Sea S un conjunto que contendrá los vértices para los cuales ya se tiene
determinado el camino mínimo.
● Sea D un arreglo unidimensional tal que D[v] es el costo del camino mínimo
del vértice origen al vértice v.
● Sea P un arreglo unidimensional tal que P[v] es el vértice predecesor de v en
el camino mínimo que se tiene construido.
● Sea v inicial el vértice origen. Recordar que el Algoritmo Dijkstra determina
los caminos mínimos que existen partiendo de un vértice origen al resto de
los vértices.
Algoritmo de Floyd - Warshall
Es un ​algoritmo​ de análisis sobre ​grafos​ que permite encontrar el camino mínimo en
grafos dirigidos ponderados. El algoritmo encuentra el camino entre todos los pares de
vértices en una única ejecución, constituyendo un ejemplo de ​programación dinámica​.
CARACTERÍSTICAS:
● Obtiene la mejor ruta entre todo par de nodos.
● Trabaja con la matriz D inicializada con las distancias directas entre todo par
de nodos.
● La iteración se produce sobre nodos intermedios, o sea para todo elemento
de la matriz se prueba si lo mejor para ir de i a j es a través de un nodo
intermedio elegido o como estaba anteriormente, y esto se prueba con todos
los nodos de la red. Una vez probados todos los nodos de la red como nodos
intermedios, la matriz resultante da la mejor distancia entre todo par de
nodos.
● El algoritmo da sólo la menor distancia; se debe manejar información
adicional para encontrar ​tablas de encaminamiento​.
● Hasta no hallar la última matriz no se encuentran las distancias mínimas.
● Su complejidad es del orden de N​3​.
FUNCIÓN:

Compara todos los posibles caminos a través del grafo entre cada par de
vértices. El algoritmo es capaz de hacer esto con sólo V​3​ comparaciones, lo hace
mejorando una estimación del camino más corto entre dos vértices, hasta que se
sabe que la estimación es óptima.
Sea un grafo G con conjunto de vértices V, numerados de 1 a N. Sea además
una función caminoMinimo(i,j,k) que devuelve el camino mínimo de i a j usando
únicamente los vértices de 1 a k como puntos intermedios en el camino. Ahora,
dada esta función, el objetivo es encontrar el camino mínimo desde cada i a cada
j usando únicamente los vértices de 1 hasta k + 1.

Hay dos candidatos para este camino: un camino mínimo, que utiliza únicamente
los vértices del conjunto (1...k); o bien existe un camino que va desde i hasta k +
1, después de k + 1 hasta j que es mejor. Sabemos que el camino óptimo de i a j
que únicamente utiliza los vértices de 1 hasta k está definido por
caminoMinimo(i,j,k), y está claro que si hubiera un camino mejor de i a k + 1 a j,
la longitud de este camino sería la concatenación del camino mínimo de i a k + 1
(utilizando vértices de (1...k)) y el camino mínimo de k + 1 a j (que también utiliza
los vértices en (1...k)).

Por lo tanto, podemos definir caminoMinimo(i,j,k) de forma recursiva:


CaminoMinimo(i,j,k) =
min(CaminoMinimo(i,j,k-1),CaminoMinimo(i,k,k-1)+CaminoMinimo(k,j,k-1));
CaminoMinimo(i,j,0) = pesoArista(i,j);

Esta fórmula es la base del algoritmo Floyd-Warshall. Funciona ejecutando


primero CaminoMinimo(i,j,1) para todos los pares (i,j), usándolos para después
hallar CaminoMinimo(i,j,2) para todos los pares (i,j)... Este proceso continúa
hasta que k = n, y habremos encontrado el camino más corto para todos los
pares de vértices (i,j) usando algún vértice intermedio.

Para que haya coherencia numérica, Floyd-Warshall supone que no hay ​ciclos
negativos (de hecho, entre cualquier pareja de vértices que forme parte de un
ciclo negativo, el camino mínimo no está bien definido porque el camino puede
ser infinitamente pequeño). No obstante, si hay ciclos negativos, Floyd-Warshall
puede ser usado para detectarlos. Si ejecutamos el algoritmo una vez más,
algunos caminos pueden decrementarse pero no garantiza que, entre todos los
vértices, caminos entre los cuales puedan ser infinitamente pequeños, el camino
se reduzca. Si los números de la diagonal de la matriz de caminos son negativos,
es condición necesaria y suficiente para que este vértice pertenezca a un ciclo
negativo.

PSEUDOCÓDIGO
ALGORITMOS DE BELLMAN-FORD

Este tipo de algoritmo eran originales de ruteo de la ARPANET. Su modo de


funcionamiento es el siguiente:

● Cada ruteador mantiene una tabla (un vector) que almacena las mejores
distancias conocidas a cada destino y las líneas a usar para cada destino. Se
actualizan las tablas intercambiando información con los vecinos.
● La tabla de un ruteador almacena una entrada para cada uno de los ruteadores
en la subred (los ruteadores son los índices). Las entradas almacenan la línea
preferida de salida y una estimación del tiempo o la distancia al destino. Se
pueden usar métricas distintas (saltos, retrasos, etc.).
● Cada ruteador tiene que medir las distancias a sus vecinos. Por ejemplo, si la
métrica es el retraso, el ruteador la puede medir usando paquetes de eco.
● Cada T msegs los ruteadores intercambian sus tablas con sus vecinos. Un
ruteador usa las tablas de sus vecinos y sus mediciones de las distancias a sus
vecinos para calcular una nueva tabla.

Pros y contras del algoritmo:

Este algoritmo funciona en teoría, pero tiene un gran problema en la práctica: aunque
converge en la respuesta correcta, puede hacerlo de forma lentamente. En particular,
reacciona con rapidez a las buenas noticias, pero con lentitud ante las malas.

Ejemplo:
Aquí tenemos un ejemplo de cómo se actualiza la tabla de encaminamiento del nodo J,
supóngase que se reciben 4 vectores de retardos de los nodos vecinos al enrutador J.
El retardo desde J a sus vecinos A,I,H,K, es de 8,10,12,6 mseg, respectivamente.

Por ejemplo, para estimar el valor a C, se procedería de la siguiente forma, se sabe que
los tiempos son 25,18,19 y 36 mseg, el menor de estos es 18, que es ofrecido por el
enrutador I, luego J actualizará la distancia a C, con 18 + lo que tarda en llegar a I, que
es 10, luego sería 18+10 =28 y la línea de salida sería I.

Algoritmos aislados. 
Algoritmos de inundación: 

Se trata de un método de encaminamiento bastante simple. Al recibir un paquete, el


nodo lo retransmite por todos sus enlaces, excepto aquél por el que le llegó el paquete.

El principal inconveniente que plantea este método es el gran número de paquetes que
se generan, que llegaría a ser infinito si no se establece alguna forma de limitación.
Existen diversas posibilidades para ello. Por ejemplo, cada nodo puede mantener una
lista de los paquetes ya transmitidos, y al recibir un duplicado destruirlo y no
retransmitirlo. Otra posibilidad, más simple, es limitar el tiempo de vida del paquete. En
uno de sus campos puede incluirse un contador de saltos, que se decrementará cada
vez que el paquete atraviese un enlace; Cuando el contador llega a cero el paquete se
descarta. El valor del contador puede inicializarse al diámetro de la red.

Este método de encaminamiento permite encontrar todas las rutas posibles entre origen
y destino, entre ellas la ruta mínima; por lo que puede utilizarse como métrica para
comparar con otros métodos o para establecer la ruta de un circuito virtual. Por el
mismo motivo es, además, muy robusto lo que hace adecuada su aplicación en
entornos militares.

El gran número de paquetes que se generan al utilizar este tipo de encaminamiento


presenta el inconveniente de que, en condiciones de carga alta de la subred, puede
incrementar sensiblemente el retardo de los paquetes transportados por ella

Ventajas y desventajas de la inundación

Aunque la inundación es poco adecuada para la comunicación punto a punto ordinaria,


para difusión puede merecer consideración seria. El problema de la inundación como
técnica de difusión es el mismo que tiene como algoritmo de encaminamiento punto a
punto: genera demasiados paquetes y consume demasiado ancho de banda.

Problema​: si la topología presenta bucles el paquete estará dando vueltas de manera


indefinida. Como consecuencia, se consume capacidad de red ilimitada.
Solución​: La solución pasa por limitar la vida del paquete en la red, es decir, establecer
una caducidad. Cuando se genera un paquete se incluye en un campo el número
máximo de saltos que éste puede dar. Cada vez que ese paquete es conmutado el
campo "número de saltos" se decrementa en una unidad hasta que sea cero, en cuyo
caso los nodos ya no lo conmutan, sino que lo descartan. De esta manera aseguramos
una existencia limitada de paquete dentro de la red.
Es necesario establecer el valor inicial del contador lo suficientemente alto como para
que el paquete sea capaz de llegar al destino, pero tampoco excesivamente alto para
que no consuma muchos recursos. La decisión que se adopta es inicializar el contador
al número de saltos necesario para llegar desde cualquier nodo de la red a otro (El valor
es el mismo para todos los paquetes generados, sea cual sea el nodo de la red que lo
haga).
Otra solución es determinar si un nodo ha conmutado ya ese paquete. En este caso, un
nodo origen marca el paquete generado con un número de secuencia de tal forma que
la unicidad de ese paquete viene dada por el par (origen, secuencia). Cuando un nodo
conmuta un paquete mira en tabla; si ya lo ha conmutado lo descarta, y si no lo ha
conmutado lo introduce en la tabla. Como ventaja respecto de la solución anterior se
consume menos capacidad de red, pero posee el inconveniente de que la tecnología del
nodo es muy compleja y el tamaño de las tablas puede ser muy grande. Además esta
solución puede dar mayores retardos que la anterior.

Concluyendo, la inundación es buena si tenemos la red sobredimensionada, ya que no


tendríamos tantas limitaciones en cuanto a ocupación de recursos. En este caso, la
inundación es el algoritmo más robusto y óptimo, ya que encuentra todas las rutas,
entre ellas la mejor.

Por último, queda solucionar el problema de multiplicidad de paquetes en el nodo


destino, pero eso queda para los niveles superiores de la jerarquía OSI.

ALGORITMO DE APRENDIZAJE (Backward Learning):

Son los usados en redes locales. Cuando llega un paquete a un nodo con destino a otro
nodo cualquiera, se hace lo siguiente:

Si no se conoce el nodo destino se inunda y se incrementa el campo número de saltos


dados por el paquete.(al contrario que en inundación, donde se decrementa).

Si el destino se conoce, se envía el paquete por la ruta que se indica en las tablas.

El aprendizaje se basa en que partimos de no tener ninguna información de control, y


según se van produciendo inundaciones se aprende. Cuando llega un paquete se mira
el origen , el puerto a través del que ha llegado y el número de saltos dados por ese
paquete hasta que ha llegado. Si no teníamos ninguna entrada en la tabla de
Enrutamiento con el nodo del que ha llegado o si la teníamos pero con numero de saltos
mayor (mayor distancia) se actualizan las tablas. Para evitar que un paquete esté dando
vueltas eternamente en la red y por lo tanto consuma recursos innecesariamente, se
limita el número de saltos que éste puede dar.

En principio, cuando todos los nodos hayan aprendido las mejores rutas se acabará la
inundación. Sin embargo, a las entradas se les asocia un tiempo de vida, que se
renueva cada vez que se hace uso de la entrada. Si transcurrido el tiempo de vida la
entrada no ha sido empleada se borra, volviendo a inundar. Así se logra que la red se
adapte a los cambios.

Veamos esto con un ejemplo. Sea la red de la figura siguiente:


Red ejemplo para ​algoritmo aislado

Al nodo C le llega por la puerta 1 un paquete con origen en A y destino D. Puede ser
que C no sepa dónde está situado el nodo D pero aprende que A es accesible por la
puerta 1, y escribe esta información en su tabla de Enrutamiento. Así, si le llega luego
un paquete con destino al nodo A, lo mandará por la puerta 1.

Problema​: la inundación consume recursos indefinidamente y pueden aparecer bucles.


Esto puede evitarse añadiendo un poco de control: en los paquetes se introduce
información sobre el número de saltos que ha realizado éste (se tiene un contador que
se incrementa en cada salto); cuando este número llega a un valor máximo, se descarta
el paquete. De esta forma podemos cuantificar distancias además de conocer la
conectividad entre dos nodos.

Este tipo de algoritmos es óptimo (consiguen la mejor ruta, ya que en realidad


consiguen todas), siempre que se controle que no se saturen los enlaces de los nodos.

Estos algoritmos se llaman de Backward Learning, o aprendizaje hacia atrás, debido a


que la forma que tienen de aprender los nodos es a través de la información que les
llega del nodo origen.

ALGORITMO DE DIFUSIÓN:​Queremos conseguir que un paquete que sale de un nodo


llegue a todos los demás. Este procedimiento encuentra una aplicación directa para un
Enrutamiento basado en estado de enlaces, puesto que la información sobre los
estados de los enlaces se difunde a toda la red
En general, lo que se hará será mandar paquetes a todos los nodos y marcarlos para
deshabilitarlos si vuelven a pasar (para evitar bucles). Veremos cuatro métodos de
conseguir la difusión:

1er método:​ consiste en enviar paquetes a todos los demás nodos (tráfico unicast).
Este método es poco eficiente porque por un mismo nodo pasan varios paquetes
iguales, además de que no elimina el problema de la formación de bucles. Por ejemplo,
en la red de la Figura 7, para encaminar de A a D hay que difundir de A a todos los
demás nodos, incluyendo D; entonces, entramos en un bucle.
2o método: ​hace una inundación: se manda un paquete de un nodo origen a todos los
demás. Este tampoco es un buen método, porque consume muchos recursos y también
puede hacer que aparezcan bucles.

3er método:​ se usa el árbol de expansión. Deshabilitamos algunos enlaces de forma


que todos los nodos estén conectados pero sin bucles. Así, al inundar se consigue tener
muy pocos envíos. Es una solución bastante usada, aunque la forma de acordar entre
todos los nodos de la red qué enlaces se deshabilitan es complicada.

4o método​: se hace un reenvío por ruta hacia atrás (Reverse Path Forwarding). No
requiere calcular el árbol de expansión. Los nodos tienen calculadas las rutas, y cuando
tienen que ayudar a difundir no siempre se hace inundación: se mira la dirección origen
del paquete; si llega por el enlace que utiliza el nodo para ir al origen inunda; si llega por
otra ruta el nodo considera que el paquete esta dando vueltas y lo descarta. Por
ejemplo, en la red de la Figura 7 el nodo C tiene en su tabla de Enrutamiento que los
paquetes con origen en A le llegan por la puerta 1; entonces, si le llega un paquete con
origen en A por esa puerta inunda y en caso contrario lo descarta.
 

 
 

BIBLIOGRAFÍA: 

1.​https://sites.google.com/site/cursoenlineaccna1/unidad-3-capa-de-red-o
si/3-4-procesos-de-enrutamiento-como-se-aprenden-las-rutas/3-4-3-enrut
amiento-dinamico 

2​.h
​ ttps://debian-handbook.info/browse/es-ES/stable/sect.dynamic-routing.
html 

3.​https://es.wikipedia.org/wiki/Vector_de_distancias 
4.​https://sites.google.com/site/redeslocalesyglobales/6-arquitecturas-de-re
des/6-arquitectura-tcp-ip/9-protocolos-tcp-ip/protocolos-de-nivel-de-red/e
nrutamiento-estado-enlace-ospf 

También podría gustarte