DCN: enrutamiento de capa de red

Cuando un dispositivo tiene varias rutas para llegar a un destino, siempre selecciona una ruta prefiriéndola sobre otras. Este proceso de selección se denomina enrutamiento. El enrutamiento se realiza mediante dispositivos de red especiales llamados enrutadores o se puede realizar mediante procesos de software. Los enrutadores basados ​​en software tienen una funcionalidad y un alcance limitados.

Un enrutador siempre está configurado con alguna ruta predeterminada. Una ruta predeterminada le dice al enrutador dónde reenviar un paquete si no se encuentra una ruta para un destino específico. En caso de que existan varias rutas para llegar al mismo destino, el enrutador puede tomar una decisión basándose en la siguiente información:

  • Número de saltos

  • Bandwidth

  • Metric

  • Prefix-length

  • Delay

Las rutas se pueden configurar estáticamente o aprender dinámicamente. Una ruta se puede configurar para que sea preferida a otras.

Enrutamiento unicast

La mayor parte del tráfico en Internet e intranets conocido como datos unidifusión o tráfico unidifusión se envía con un destino especificado. El enrutamiento de datos de unidifusión a través de Internet se denomina enrutamiento de unidifusión. Es la forma más sencilla de enrutamiento porque ya se conoce el destino. Por lo tanto, el enrutador solo tiene que buscar la tabla de enrutamiento y reenviar el paquete al siguiente salto.

Enrutamiento de transmisión

De forma predeterminada, los paquetes de difusión no son enrutados ni reenviados por los enrutadores en ninguna red. Los enrutadores crean dominios de transmisión. Pero se puede configurar para reenviar transmisiones en algunos casos especiales. Un mensaje de difusión está destinado a todos los dispositivos de la red.

El enrutamiento de difusión se puede realizar de dos formas (algoritmo):

  • Un enrutador crea un paquete de datos y luego lo envía a cada host uno por uno. En este caso, el enrutador crea múltiples copias de un solo paquete de datos con diferentes direcciones de destino. Todos los paquetes se envían como unidifusión, pero debido a que se envían a todos, simula como si el enrutador estuviera transmitiendo.

    Este método consume mucho ancho de banda y el enrutador debe tener la dirección de destino de cada nodo.

  • En segundo lugar, cuando el enrutador recibe un paquete que se va a transmitir, simplemente elimina esos paquetes de todas las interfaces. Todos los enrutadores están configurados de la misma manera.

    Este método es fácil para la CPU del enrutador, pero puede causar el problema de los paquetes duplicados recibidos de los enrutadores del mismo nivel.

    El reenvío de ruta inversa es una técnica en la que el enrutador sabe de antemano sobre su predecesor desde dónde debe recibir la transmisión. Esta técnica se utiliza para detectar y descartar duplicados.

Enrutamiento de multidifusión

El enrutamiento de multidifusión es un caso especial de enrutamiento de transmisión con diferencias significativas y desafíos. En el enrutamiento de difusión, los paquetes se envían a todos los nodos incluso si no lo desean. Pero en el enrutamiento de multidifusión, los datos se envían solo a los nodos que desean recibir los paquetes.

El enrutador debe saber que hay nodos que desean recibir paquetes de multidifusión (o flujo), entonces solo debe reenviarlos. El enrutamiento de multidifusión funciona con el protocolo de árbol de expansión para evitar bucles.

El enrutamiento de multidifusión también utiliza la técnica de reenvío de ruta inversa, para detectar y descartar duplicados y bucles.

Enrutamiento Anycast

El reenvío de paquetes Anycast es un mecanismo en el que varios hosts pueden tener la misma dirección lógica. Cuando se recibe un paquete destinado a esta dirección lógica, se envía al host más cercano en la topología de enrutamiento.

El enrutamiento Anycast se realiza con la ayuda del servidor DNS. Siempre que se recibe un paquete Anycast, se le pregunta al DNS dónde enviarlo. DNS proporciona la dirección IP que es la IP más cercana configurada en él.

Protocolos de enrutamiento de unidifusión

Hay dos tipos de protocolos de enrutamiento disponibles para enrutar paquetes de unidifusión:

  • Protocolo de enrutamiento por vector de distancia

    El vector de distancia es un protocolo de enrutamiento simple que toma decisiones de enrutamiento sobre el número de saltos entre el origen y el destino. Una ruta con menor número de saltos se considera la mejor ruta. Cada enrutador anuncia sus mejores rutas establecidas a otros enrutadores. En última instancia, todos los enrutadores construyen su topología de red en función de los anuncios de sus enrutadores pares,

    Por ejemplo, Routing Information Protocol (RIP).

  • Protocolo de enrutamiento de estado de enlace

    El protocolo de estado de enlace es un protocolo ligeramente complicado que el vector de distancia. Tiene en cuenta los estados de los enlaces de todos los enrutadores de una red. Esta técnica ayuda a que las rutas construyan un gráfico común de toda la red. Luego, todos los enrutadores calculan su mejor ruta para propósitos de enrutamiento, por ejemplo, Abrir la ruta más corta primero (OSPF) e Intermediate System to Intermediate System (ISIS).

Protocolos de enrutamiento de multidifusión

Los protocolos de enrutamiento de unidifusión usan gráficos, mientras que los protocolos de enrutamiento de multidifusión usan árboles, es decir, árbol de expansión para evitar bucles. El árbol óptimo se denomina árbol de expansión de la ruta más corta.

  • DVMRP  - Protocolo de enrutamiento de multidifusión por vector de distancia

  • MOSPF  - Multicast Abrir la ruta más corta primero

  • CBT  - Árbol basado en el núcleo

  • PIM  - Protocolo de multidifusión independiente

La multidifusión independiente del protocolo se usa comúnmente ahora. Tiene dos sabores:

  • PIM Dense Mode

    Este modo utiliza árboles basados ​​en fuentes. Se utiliza en entornos densos como LAN.

  • PIM Sparse Mode

    Este modo utiliza árboles compartidos. Se utiliza en entornos dispersos como WAN.

Algoritmos de enrutamiento

Los algoritmos de enrutamiento son los siguientes:

Inundación

Flooding es el método más simple de reenvío de paquetes. Cuando se recibe un paquete, los enrutadores lo envían a todas las interfaces excepto a aquella en la que se recibió. Esto crea demasiada carga en la red y muchos paquetes duplicados deambulan por la red.

Time to Live (TTL) se puede utilizar para evitar un bucle infinito de paquetes. Existe otro enfoque para la inundación, que se llama Inundación selectiva para reducir la sobrecarga en la red. En este método, el enrutador no se desborda en todas las interfaces, sino en las selectivas.

Ruta más corta

Las decisiones de enrutamiento en las redes se toman principalmente sobre la base del costo entre el origen y el destino. El conteo de lúpulos juega un papel importante aquí. La ruta más corta es una técnica que utiliza varios algoritmos para decidir una ruta con un número mínimo de saltos.

Los algoritmos de ruta más corta comunes son:

  • Algoritmo de Dijkstra

  • Algoritmo de Bellman Ford

  • Algoritmo de Floyd Warshall