> For the complete documentation index, see [llms.txt](https://juan-martin-franco.gitbook.io/network-+/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://juan-martin-franco.gitbook.io/network-+/7.-enrutamiento/7.3-protocolos-de-enrutamiento.md).

# 7.3 - Protocolos de enrutamiento

## Protocolos de enrutamiento

El ruteo dinámico se basa en lo que conocemos como <mark style="color:blue;">**protocolos de ruteo**</mark> dinámico.

Existen 2 **tipos de protocolos de ruteo dinámico**:

* <mark style="color:purple;">**Internos (IGP)**</mark>
* <mark style="color:green;">**Externos (EGP)**</mark>

### Protocolo de Pasarela Interna (IGP)&#x20;

Los <mark style="color:blue;">**protocolos de pasarela interior**</mark>, o protocolos de ruteo dinámico de tipo interno, conocidos como <mark style="color:blue;">**IGP (Interior Gateway Protocol)**</mark>, son aquellos que operan dentro de una red o dentro de un sistema autónomo.

### Protocolos de Pasarela Externa (EGP)

Los <mark style="color:blue;">**protocolos de pasarela exterior**</mark>, o protocolos de ruteo dinámico de tipo interno, conocidos como <mark style="color:blue;">**EGP (Exterior Gateway Protocol)**</mark>, son aquellos que operan entre sistemas autónomos en las redes exteriores.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2F1qGUgunMHzGdFD6fg5pN%2Fimage.png?alt=media&amp;token=dbdf2484-e063-4567-890f-ba7830287de8" alt=""><figcaption></figcaption></figure>

### Método de anuncio de Router

El método de anuncio de router es una característica de cada protocolo de enrutamiento.

Cada protocolo de enrutamiento dinámico realizará el ruteo de una manera diferente.

Esto se puede categorizar en:

* <mark style="color:blue;">**Vector de distancias (Distance Vector)**</mark>
* <mark style="color:blue;">**Estado del enlace (Link state)**</mark>
* <mark style="color:blue;">**Híbrido (Hybrid)**</mark>

Esto quiere decir que hay un método para que la ruta sea recibida, anunciada y provista a otro router, y estos métodos indicarán la forma en la que hacemos esto.

### Convergencia

La <mark style="color:blue;">**convergencia**</mark> es el tiempo que se tarda para que todos los routers tengan sus tablas de ruteo actualizadas como respuesta de un cambio de topología.

Por ejemplo, si agrego o quito un router, **el tiempo de convergencia estará dado por el tiempo que tarden todos los routers de la red en enterarse que esto sucedió y actualizar las correspondientes tablas de ruteo**.&#x20;

Una vez que esto sucede, tenemos lo que conocemos como **red convergente.**&#x20;

Una de las formas en las que podemos acelerar el tiempo de convergencia es utilizando un hold-down timer: en lugar de actualizar las tablas de ruteo cada 30 segundos, las actualizamos cada 3 minutos.

### Vector de distancias (Distance Vector)

Cuando tratamos con protocolos que utilizan como método el <mark style="color:blue;">**vector de distancias**</mark>, tratamos con la cantidad de routers que conectaremos para una ruta particular.

Este método **envía una copia completa de su tabla de ruteo a cualquiera que esté directamente conectado a si mismo, a intervalos regulares de tiempo**.&#x20;

**La parte negativa de este método es que tiene un tiempo de convergencia muy lento.**&#x20;

Los protocolos que utilizan este método **se concentran en lo que conocemos como número de saltos o hop count:** el número de saltos indica cuantas veces tenemos que atravesar un router para llegar a determinada red.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FnOfe4hCnIR3pNMg5gpEu%2Fimage.png?alt=media&amp;token=a585677e-8915-4ee9-bdee-332f03c5816d" alt=""><figcaption></figcaption></figure>

En este ejemplo, la forma más fácil de llegar desde el router 3 al router 2 **solo basándonos en la cantidad de saltos (es decir, utilizando el método de vector de distancias)** es directamente ir desde el router 3 hacia el 2, sobre ese lento enlace de 1Mbps.

### Estado del enlace (Link State)

Cuando tratamos con protocolos que utilizan como método de <mark style="color:blue;">**estado del enlace**</mark>, tratamos con el costo y la velocidad de los enlaces que atravesamos para llegar a una red en particular.

Esto requiere que todos los routers sepan todo acerca de los caminos de los demás routers, para poder saber cual es el camino más rápido para llegar a destino.

Cada router construye su camino relativo más corto basado en donde se ve en el diagrama lógico y luego calcula la distancia de como llegar a otros lugares.

**Este método tiene una convergencia mucho más rápida que los que utilizan vector de distancias.**

Los protocolos que utilizan este método **se concentran en lo que conocemos como ancho de banda del enlace.**

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FoVJTbLHppmDGF1sxkRZB%2Fimage.png?alt=media&amp;token=b7f43d5f-3e1a-4963-a011-2d13e564af75" alt=""><figcaption></figcaption></figure>

En este ejemplo, la forma más fácil de llegar desde el router 3 al router 2 **solo basándonos en el ancho de banda de los enlaces (es decir, utilizando el método de estado del enlace)** es ir desde el router 3 hacia el router 1, y luego desde el router 1 hacia el router 2, a través de los enlaces de 100Mbps.

### Protocolo RIP (Routing Information Protocol)

El <mark style="color:blue;">**Protocolo de Información de Encaminamiento**</mark>, conocido como <mark style="color:blue;">**RIP**</mark>, es un **protocolo de tipo IGP (Interior Gateway Protocol)** que se utiliza internamente en nuestras redes.

Este protocolo es de **vector de distancias**, por lo que **se basa en el número de saltos** (es decir, la cantidad de routers que se van a atravesar) para encontrar el camino más rápido.

**El número de saltos máximo que se puede alcanzar con RIP es 15.** \
Si saltamos 16 o más routers, la conexión es considerada muerta y simplemente se descarta (dropea) el paquete y se esperará que se retransmita.

**Características del protocolo RIP:**

* Provee <mark style="color:green;">**actualizaciones cada 30 segundos**</mark> (por lo que es difícil mantener la convergencia)
* Es <mark style="color:green;">**fácil de configurar**</mark>
* <mark style="color:green;">**Corre sobre UDP**</mark>

### Protocolo OSPF (Open Shortest Path First)

El protocolo <mark style="color:blue;">**Abrir el camino más corto primero**</mark>, conocido como <mark style="color:blue;">**OSPF**</mark>, es un **protocolo de tipo IGP (Interior Gateway Protocol)** que se utiliza internamente en nuestras redes.

Este protocolo, a diferencia de RIP, no utiliza vector de distancias, sino que **utiliza el método de estado del enlace**, por lo que **se basa en los costos**.

Los costos están basados en la velocidad de los enlaces entre routers.

### Protocolo IS-IS (Intermediate System to Intermediate System)

El protocolo <mark style="color:blue;">**Sistema Intermedio a Sistema Intermedio**</mark>, conocido como <mark style="color:blue;">**IS-IS**</mark>, es un **protocolo de tipo IGP (Interior Gateway Protocol)** que se utiliza internamente en nuestras redes.

Este protocolo funciona de manera muy similar a OSPF, ya que también **utiliza el método de estado de enlace, basándose en los costos.**

### Protocolo EIGRP (Enhanced Interior Gateway Routing Protocol)

El <mark style="color:blue;">**Protocolo de Enrutamiento de Puerta de enlace Interior Mejorado**</mark>, conocido como <mark style="color:blue;">**EIGRP**</mark>, es un **protocolo de tipo IGP (Interior Gateway Protocol)** que se utiliza internamente en nuestras redes.

Este protocolo es un protocolo de vector de distancias avanzado, que **utiliza tanto el ancho de banda como el delay para hacer un híbrido de los protocolos de vector de distancia y los protocolos de estado del enlace.** &#x20;

Este protocolo cuenta el delay existente (la cantidad de saltos que hay), además del costo que está disponible en cada uno de los enlaces para averiguar sus velocidades, logrando un híbrido entre ambos métodos.

Este protocolo híbrido fue desarrollado por Cisco como una mejora de OSPF, y es muy popular si se utiliza una red con dispositivos únicamente cisco.

<mark style="color:red;">**Al ser un protocolo propietario, este protocolo solo puede ser utilizado con productos Cisco, por lo que no podemos utilizar EIGRP si estamos utilizando productos Juniper, Brocade u otros routers en nuestras redes.**</mark>

### Protocolo BGP (Border Gateway Protocol)

El Protocolo de puerta de enlace de frontera, conocido como BGP, es un **protocolo de tipo EGP (Exterior Gateway Protocol)** que se utiliza externamente, entre sistemas autónomos.

Este protocolo utiliza un vector de ruta para utilizar un número de saltos del sistema autónomo que necesita utilizar en lugar de saltos del router.

Es decir, **no se concentra en cuantos routers tiene que atravesar, sino mas bien se concentra en cuantos sistemas autónomos debe atravesar**.

Esto último tiene sentido ya que BGP es utilizado como la columna vertebral del internet. Está formado por muchos sistemas autónomos diferentes.

Además, este protocolo tiene un uso extendido, ya que es utilizado sobre todo el internet.

<mark style="color:red;">**El gran problema de BGP es la convergencia lenta**</mark>, debido a la gran escala de estas redes.

### Credibilidad de ruta (Route Believability)

Suponiendo que tenemos una red que utiliza varios protocolos de ruteo, porque nuestros routers soportan múltiples protocolos.

Podemos estar corriendo RIP y OSPF, ambos siendo utilizados en el mismo router en la misma red.

La forma en la que un paquete sabe cual utiliza el router para moverlo dentro de la red  es mediante la credibilidad. Estos protocolos pueden considerarse más o menos "creíbles", basados en diferentes factores.

Por ejemplo, RIP es considerado menos creíble que OSPF.&#x20;

Esto ocurre porque los routers utilizan un **índice de credibilidad**, conocido como AD <mark style="color:blue;">**(Administrative Distance - Distancia Administrativa)**</mark>.

### Distancia Administrativa (AD)

La <mark style="color:blue;">**distancia administrativa**</mark> es un **valor que utilizan los routers para seleccionar la mejor trayectoria cuando hay dos o más rutas diferentes hacia el mismo destino desde dos protocolos de ruteo distintos**. La distancia administrativa define la confiabilidad de un protocolo de ruteo. Se da prioridad a cada protocolo de ruteo en orden de mayor a menor confiabilidad (credibilidad) usando un valor de distancia administrativa.

<mark style="color:purple;">**A menor distancia administrativa, mayor credibilidad.**</mark>

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FjehNlDrhY3F6UBTy59Un%2Fimage.png?alt=media&amp;token=0bedaaf9-d11d-4d1d-af47-8265aef34f29" alt=""><figcaption></figcaption></figure>

En el cuadro se aprecian las diferentes distancias administrativas.

En primer lugar, se tiene las redes directamente conectadas, ya que un router está directamente conectado a otro. En este caso la credibilidad y confianza es plena (distancia administrativa = 0), ya que están directamente conectados.

Luego, en la tabla aparece una red estáticamente conectada, la cual tendrá una distancia administrativa de 1. Es la segunda fuente de información de enrutamiento, ya que los routers confían en la configuración estática que les aplicamos como administradores de red.

Después, aparece EIGRP, el protocolo de enrutamiento propietario de Cisco. \
Este protocolo tiene una distancia administrativa de 90.

Seguido de EIGRP, aparece OSPF, el cual tiene una distancia administrativa de 110.

A continuación, sigue RIP, el cual tiene una distancia administrativa de 120.

Después de RIP, aparece EIGRP externo, con una distancia administrativa de 170.

Por último, la peor credibilidad está reservada para una ruta desconocida, la cual tiene una distancia administrativa de 255 (inalcanzable).

### Métricas asociadas a las rutas

Todas estas rutas nombradas previamente, poseen métricas asociadas.

**Cuando miramos estas métricas y miramos estas rutas, habrá un protocolo de enrutamiento que será capaz de elegir que camino seguir. Es decir, la decisión sobre que camino debe seguir el tráfico está basada en estas métricas.**

Las métricas a tener en cuenta son:

* <mark style="color:blue;">**Número de saltos (Hop Count)**</mark>
* <mark style="color:blue;">**Credibilidad (Believability)**</mark>
* <mark style="color:blue;">**Confiabilidad (Reliability)**</mark>
* <mark style="color:blue;">**Ancho de banda (Bandwidth)**</mark>
* <mark style="color:blue;">**Retraso (Delay)**</mark>
* <mark style="color:blue;">**Costo (Cost)**</mark>
* <mark style="color:blue;">**Otras métricas**</mark>

Cada protocolo utiliza una métrica diferente para determinar que ruta debería utilizar y cual es considerada más rápida o más lenta. Dependiendo de que ruta sea, se determinará que métrica se utilizará.

Cuando se habla de métricas, es importante tener en cuenta que **métricas más bajas se prefieren por sobre métricas más altas cuando hablamos de enrutamiento**.\
Por ejemplo, es mejor un menor número de saltos, menor retraso, menor costo, menor costo de ancho de banda, etc.

### Resumen de Protocolos de Enrutamiento

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FfZCInbUfeINNumDYsoM9%2Fimage.png?alt=media&amp;token=7f7f39af-504a-46a9-b8a3-7c13d106d649" alt=""><figcaption></figcaption></figure>

Una red puede soportar simultáneamente más de un protocolo de enrutamiento a través de la <mark style="color:blue;">**redistribución de rutas**</mark>. Esto permite a un router utilizar OSPF en una interfaz y EIGRP en otra interfaz (por ejemplo).
