Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

¿Qué es la fuga de rutas?

¿Cómo puedo utilizar la fuga de rutas?

¿Cómo puedo configurar la redistribución del ruteo (Route Leaking)?

Información Relacionada

Introducción

El documento proporciona una descripción del route leaking Intermediate System-to-Intermediate System (IS-IS).

Prerequisites

Requirements

No hay requisitos específicos para este documento.

Componentes Utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

Convenciones

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

¿Qué es la fuga de rutas?

El protocolo de ruteo IS-IS permite una jerarquía de dos niveles de información de ruteo. Puede haber múltiples áreas de Nivel 1 interconectadas por una estructura básica contigua de Nivel 2. Un router puede pertenecer al Nivel 1, al Nivel 2 o a ambos. La base de datos de estado de link del Nivel 1 contiene información sólo acerca del área. La base de datos de estado de link de Nivel 2 contiene información sobre ese nivel, así como sobre cada área del Nivel 1. Un router L1/L2 contiene bases de datos tanto de nivel 1 como de nivel 2. Anuncia información acerca del área de L1 a la cual pertenece en L2. Cada área L1 es, básicamente, un área stub. Los paquetes que se destinan a una dirección que está fuera del área L1 están enrutados hacia el router L1/L2 más próximo que se reenvía al área de destino. El ruteo hacia el router L1/L2 más cercano puede resultar en un ruteo por debajo del nivel óptimo cuando el trayecto más corto hacia el destino es a través de otro router L1/L2. La fuga de ruta ayuda a reducir el ruteo por debajo del nivel óptimo con un mecanismo de fuga o redistribución de información L2 a áreas L1. Al contar con más información detallada sobre las rutas interzonales, un router L1 puede tomar una mejor decisión con respecto a si le reenviará el paquete al router L1 o al router L2.

La fuga de ruta se define en RFC 2966 para su uso con los tipos de métrica estrecha Tipo, Longitud y Valor (TLV) 128 y 130. Las extensiones IS-IS para la Ingeniería de Tráfico definen la fuga de ruta para su uso con el tipo TLV de métrica amplia 135. Ambos borradores definen un bit ascendente/descendente para indicar si la ruta definida en el TLV se ha filtrado o no. Si el bit ascendente/descendente está configurado en 0, la ruta se originó dentro de esa área de L1. Si el bit ascendente/descendente no está configurado (es 0), la ruta se ha redistribuido en el área desde L2. El bit ascendente/descendente se utiliza para evitar la información de ruteo y los loops de reenvío. Un router L1/L2 no vuelve a publicar en L2 ninguna ruta L1 que tenga configurada el contador de bits up/down.

¿Cómo puedo utilizar la fuga de rutas?

Normalmente, un router L1 reenvía paquetes destinados a una dirección fuera del área local hacia el router L1/L2 más cercano, lo que puede conllevar a decisiones de ruteo por debajo del nivel óptimo. En el siguiente diagrama de red, el Router C reenvía todo el tráfico destinado al área 2 y 3 a través de los routers X e Y. Si asumimos que todos los links tienen un costo de 1, todos los links, esto significa un costo de 2 para alcanzar el Router X y un costo de 5 para alcanzar el Router Y. De la misma manera, el Router D envía el tráfico tanto para el Router X como para el Router Y a través del Router B.

Cuando utiliza la fuga de rutas, los routers A y B pueden redistribuir la información sobre el Área 2 y 3 en el Área 1. Esto permite que el Router C y el Router D elijan las trayectorias óptimas para llegar al Área 2 y al Área 3. El Router C ahora envía tráfico al Área 3 a través del Router A; lo que reduce el costo a 3, mientras continúa reenviando al Área 2 a través del Router A. Del mismo modo, el Router D se reenvía al Área 2 a través del Router C, mientras continúa ruteando al Área 3 a través del Router B.

Al habilitar la fuga de ruta en el Router A y el Router B, los Routers C y D pudieron determinar sus verdaderos costos para alcanzar el Área 2 y el Área 3. La fuga de ruta le dio a IS-IS la capacidad de hacer "salida de trayectoria más corta" para los paquetes que van a otras áreas.

En un entorno MPLS-VPN, la información de accesibilidad es necesaria para cada una de las direcciones de loopback del router de frontera (PE). Las rutas de fuga para los loops de retorno PE permiten que se use una jerarquía de área múltiple en este tipo de implementación.

La fuga de rutas también se puede utilizar para implementar una forma cruda de ingeniería de tráfico. Mediante la filtración de ruteos para máquinas individuales o servicios desde routers L1/L2 específicos, puede controlar el punto de salida desde el área L1 utilizada para alcanzar estas direcciones.

¿Cómo puedo configurar la redistribución del ruteo (Route Leaking)?

La fuga de ruta se implementa y soporta en las versiones 12.0S, 12.0T y 12.1 del software Cisco IOS®. Las versiones 12.0T y 12.1 utilizan el mismo comando de configuración. La sintaxis del comando difiere para la versión 12.0S; no obstante, ambos comandos se ingresan dentro de la configuración IS-IS del router. Debe crear una lista de acceso IP ampliada para definir qué rutas se filtrarán del Nivel 2 al Nivel 1. El IOS 12.0S sólo soporta la fuga de ruta usando TLV tipo 135. Si se configura la fuga de ruta sin configurar métricas de estilo amplio, no habrá fuga de rutas. Las versiones 12.0T y 12.1 del IOS admiten la fuga de ruta. Con métricas de estilo restringido o amplio pero se recomienda el uso de métricas de estilo amplio.

Los comandos de configuración para cada versión del IOS se muestran en la tabla siguiente:

Versión del software IOS

Comando

12.OS

advertise ip l2-into-l1 <100-199> metric-style wide
Nota: Se requiere la segunda instrucción.

12.0T y 12.1

redistribute isis ip level-2 to level-1 distribute-list <100-199> metric-style wide
Nota: La segunda instrucción es opcional, pero se recomienda.

A las rutas con fuga se las denomina rutas interzonales en la tabla de ruteo y en la base de datos IS-IS. Cuando se observa la taba de ruteo, las rutas con fuga de memoria se marcan con una designación ia.

RtrB# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is 55.55.55.1 to network 0.0.0.0

i ia 1.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

i ia 2.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

i ia 3.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

i ia 4.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

55.0.0.0/24 is subnetted, 1 subnets

C       55.55.55.0 is directly connected, Serial1/0

i ia 5.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

7.0.0.0/24 is subnetted, 1 subnets

C       7.7.7.0 is directly connected, FastEthernet0/0

44.0.0.0/24 is subnetted, 1 subnets

i L1    44.44.44.0 [115/20] via 55.55.55.1, Serial1/0

i*L1 0.0.0.0/0 [115/10] via 55.55.55.1, Serial1/0

En la base de datos IS-IS las rutas con fuga de memoria se marcan con una designación de IP-interzonal.

RtrB# show isis database detail

IS-IS Level-1 Link State Database:

LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL

rpd-7206g.00-00       0x00000008   0x0855        898               1/0/0

Area Address: 49.0002

NLPID:        0xCC

Hostname: rpd-7206g

IP Address:   44.44.44.2

Metric: 10         IP 55.55.55.0/24

Metric: 10         IP 44.44.44.0/24

Metric: 10         IS-Extended rpd-7206a.00

Metric: 20         IP-Interarea 1.0.0.0/8

Metric: 20         IP-Interarea 2.0.0.0/8

Metric: 20         IP-Interarea 3.0.0.0/8

Metric: 20         IP-Interarea 4.0.0.0/8

Metric: 20         IP-Interarea 5.0.0.0/8

Antes de la introducción de la fuga de ruta del bit ascendente/descendente para los TLV de tipo 128 y 130, el bit ocho de la métrica predeterminada se reservaba para los siguientes usos: debe establecerse en cero en transmisión y omitido en recepción. El bit siete, el bit de E/S, se utilizó para distinguir entre los tipos de métrica interna y externa para las rutas redistribuidas en TLV 130. En la versión 12.0S del IOS y anteriores, el bit ocho se utilizó como bit de E/S, en lugar del bit siete. Esto introduce varias discrepancias de interoperabilidad entre las versiones 12.0S y 12.0T/12.1 cuando se utilizan métricas de estilo restringido.

Un router que ejecuta el IOS 12.OT o 12.1 reconoce el bit ascendente o descendente y trata a la ruta en consecuencia, ya sea que la fuga de rutas haya sido configurada o no en dicho router. Si un router L1 o L1/L2 que no ejecuta código IOS 12.0T o 12.1 redistribuye las rutas utilizando metric-type external, establece el bit ocho de la métrica predeterminada en 1. Un router L1/L2 que ejecuta 12.0T o 12.12.1 ve el bit ocho (el bit ascendente/descendente) y lo interpreta como una ruta que se ha filtrado. Como resultado, la ruta no se vuelve a anunciar en el LSP L2 de ese router. Esto puede causar un efecto no deseado al impedir la propagación de la información de ruteo en la red.

Por el contrario, si una ruta ha sido filtrada a L1 por un router que ejecuta IOS 12.0T o 12.1, establece el bit ocho en 1. Los routers en el área L1 que ejecutan la versión 12.0S del IOS o anterior ven que el bit ocho está configurado y trata la ruta como si tuviera metric-type external. Un router L1/L2 que utilice la versión 12.0S, o anterior, del IOS anuncia nuevamente la ruta en su L2 LSP debido a que no reconoce el bit ocho como el bit ascendente/descendente. Esto puede llevar a la formación de loops de ruteo.

En el siguiente ejemplo, se ilustran estas irregularidades. RtrA está ejecutando la versión 12.1 del IOS y está filtrando varias rutas usando métricas de estilo estrecho. RtrB está ejecutando el IOS 12.0S y redistribuyendo varias rutas con metric-type external.

En RtrA, las rutas redistribuidas de RtrB se ven incorrectamente como rutas entre áreas:

RtrA# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter

area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is not set

i L2 1.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

i L2 2.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

i L2 3.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

i L2 4.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

55.0.0.0/24 is subnetted, 1 subnets

C       55.55.55.0 is directly connected, Serial1/0

i L2 5.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

7.0.0.0/24 is subnetted, 1 subnets

C       7.7.7.0 is directly connected, FastEthernet0/0

i ia 110.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

44.0.0.0/24 is subnetted, 1 subnets

C       44.44.44.0 is directly connected, ATM3/0

i ia 120.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

i ia 140.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

i ia 130.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

i ia 150.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

En RtrB, las rutas filtradas por RtrA se ven incorrectamente como externas:

RtrB# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter

area

* - candidate default, U - per-user static route, o - ODR

Gateway of last resort is 55.55.55.1 to network 0.0.0.0

i L1 1.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

i L1 2.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

i L1 3.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

i L1 4.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

55.0.0.0/24 is subnetted, 1 subnets

C       55.55.55.0 is directly connected, Serial1/0

i L1 5.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

7.0.0.0/24 is subnetted, 1 subnets

C       7.7.7.0 is directly connected, FastEthernet0/0

S    110.0.0.0/8 is directly connected, Null0

44.0.0.0/24 is subnetted, 1 subnets

i L1    44.44.44.0 [115/20] via 55.55.55.1, Serial1/0

S    120.0.0.0/8 is directly connected, Null0

i*L1 0.0.0.0/0 [115/10] via 55.55.55.1, Serial1/0

S    140.0.0.0/8 is directly connected, Null0

S    130.0.0.0/8 is directly connected, Null0

S    150.0.0.0/8 is directly connected, Null0

Si no utiliza la redistribución con tipo de métrica externa, no se establece el bit ocho. Esta solución temporal previene el problema de un router L1/L2 que ejecuta IOS 12.1 y no vuelve a anunciar las rutas redistribuidas en su LSP L2. Si utiliza mediciones de estilo amplio, los routers que ejecutan el IOS 12.0S pueden reconocer el bit ascendente o descendente. Esta solución elude la introducción de loops de ruteo por los routers 12.0S que no reconocen el bit ascendente/descendente en los TLV de tipo 128 y 130.

Además, las métricas de estilo angosto son de sólo 6 bits contra los 32 bits usados por las métricas de estilo ancho. Al usar métricas de estilo restringido, muchas de las rutas entre áreas pueden estar filtradas con el máximo de 63 en la métrica interna, sin importar la métrica verdadera. Por estas razones, recomendamos evitar la redistribución con métrica externa y utilizar en su lugar métricas de estilo amplio.

Información Relacionada

- RFC 1142 - Protocolo de ruteo entre dominios OSI IS-IS

- RFC 1195: uso de OSI IS-IS para ruteo en TCP/IP y entornos duales

- Página de soporte de IS-IS

- Soporte Técnico - Cisco Systems