Se le considera un protocolo IGP de "Link-State", parecido a OSPF. También usa el algoritmo SPF (short path first) igual que OSPF. Es muy usado en las redes de los ISP, ya que es muy escalable, fácil de implementar y permite tanto IPv4 como IPv6.
La Organización Internacional de Estandarización (ISO) desarrolló IS-IS para que fuera el protocolo de enrutamiento de CNLS (Connectionless-mode Network Service). Más tarde esta organización propuso IS-IS para ser un protocolo de enrutamiento TCP/IP.
Dual IS-IS fue desarrollado más tarde para poder convivir con redes CNLS y redes IP. Fue llamado Integrated IS-IS y puede trabajar en CNLS o IP, o en entornos mixtos.
Como todos los protocolos de enrutamiento, IS-IS necesita que todos los routers participantes ejecuten un algoritmo de enrutamiento. Además las PDU de Link-State son enviadas a todos los destinos que corran sobre IP o sobre CNLP. Los equipos donde se ejecute IS-IS deben soportar también los protocolos ARP e ICMP para redes IP y, ES-IS para redes CNLP.
Una red IS-IS es un único Sistema Autónomo (AS) al que también se le llama Dominio de Enrutamiento, que se compone de ES (End Systems) y IS (Intermediate Systems). Los paquetes que envía IS-IS son llamadas PDUs.
Por defecto, IS-IS puede estar configurado para funcionar en Multi-Topology. Es decir, que si tiene habilitado Ipv4 e IPv6 crea una topología diferente para cada uno (depende de la IOS). Sin embargo, IS-IS nos ofrece la posibilidad de configurar para que funcione en Single-Topology y usar la misma topología para ambos. Esto reduce el procesamiento.
Una de las grandes ventajas de IS-IS respecto a OSPF es que va encapsulado en la capa 2. Si nos imaginamos un escenario de Spanning-Tree con switches, como en una MPLS o en un Data Center, sabemos que habrá enlances sin uso por el propio algoritmo de STP. Pues con IS-IS podemos hacer que todos los switches participen del escenario y balancear por routing sin tener que desencapsular la capa 3, ni procesar vecindades, ya que las direcciones ISO van dentro de la trama Ethernet.
DIRECCIONAMIENTO DE IS-IS
Cuando un equipo ejecuta IS-IS debe tener el Network Entity Title (NET) que es el CNLS Router-ID. Esto es una dirección de máximo 20 bytes y mínimo 8 bytes.
El formato de este ID es el de las direcciones ISO NSAP. El formato se compone:
AA.AAAA.AAAA.AAAA.AAAA.AAAA.AAAA.SSSS.SSSS.SSSS.NN
- Area (A)
- System-ID (S) -> es el Router-ID dentro del área y debe ser único.
- N-Slector (N) -> siempre está a 0.
49.0000.0000.0000.0000.0000.0000.0001.4444.4444.444.00
En rojo el Area, en azul el System-ID y en negro el N-Selector
Como podéis imaginar, el chorro de 0 en el Area no es necesario:
49.0001.4444.4444.444.00
En la mayoría de los casos nos encontraremos que los 2 primeros son el 49. Esto en el protocolo CNLS significa direccionamiento privado.
Al final con esta dirección podemos decir que pertenece al Area 1 y que su ID es el 4444.4444.444.
ÁREAS DE IS-IS
Cuando un equipo pertenece a las dos áreas L1-L2 (ABR en OSPF),
marca un bit en la PDU de L1 para hacer saber a los demás equipos del
área L1 que es un equipo que está conectado hacía un área de L2. Los
equipos de L1 crean una ruta por defecto que apunta al equipo L1-L2 más
cercano.
Un equipo IS-IS puede ser un equipo solo L1, solo L2 o un equipo L1-L2.
IS-IS y OSPF tienen su parecido: un área L2 de IS-IS es como si fuera el Área 0 o Backbone de OSPF.Un aŕea de L1 es como si fuera una Totally Stubby Not-So-Stubby
Ambos
mantienen una base de datos de "link-state" y construyen el SPF con el
algoritmo Dijkstra. Usan paquetes "hello" para mantener las vecindades.
Tienen 2 niveles de jerarquía. Proveen sumarización entre áreas. Eligen
un DR (Designated Router) que es Is-IS es el DIS (Designated
Intermediate System) y puede configurarse en ambos autenticación.
PDU (Protocol Data Unit) en IS-IS
Los diferentes tipos de PDU que usa IS-IS para funcionar son:
IS-IS Hello (IIH)
Los
manda como broadcast para descubrir vecinos y para determinar si estos
son L1 o L2. Una vez descubiertos y formada la vencidad, los IIH se
utilizan como "keepalive" para mantener la vecindad y para notificar los
cambios de parámetros de la vecindad.
Existen 2 tipos de IIH PDU:
- LAN Hello PDU: puede dividirse en PDU de L1 o de L2. En entornos de broadcast, los hellos se envían con multicast y usan diferente direcciones.
- L1: 01-80-C2-00-00-14
- L2: 01-80-C2-00-00-15
2. Point-To-Point Hello PDU
Los hellos en entornos de broadcast se envía, por defecto, en un equipo DIS (mismo rol que el DR de OSPF) cada 3 segundos. Un equipo NON-DIS cada 9.
Campos de las PDU
- Tipo de circuito: define si es un router L1, L2 o L1-L2.
- ID Origen: identifica el equipo que ha originado el "Hello PDU".
- Tiempo de espera: especifica el tiempo de espera de un router para declarar al vecino caído.
- Longitud de PDU: especificado en octetos.
- Prioridad: un valor de 0 a 127 que se usa para la elección del DIS
- LAN ID: identifica el ID del sistema o el DIS más un octeto (pseudo-node) para identificar los diferentes ID LAN de un equipo que tenga varios ID LAN.
Link-State PDU (LSP)
Son como los LSA de OSPF. Al contrario de este, las LSP solo son de un tipo y propagan toda la inforamción de una vez. Se envían en intervalos regulares para descubrir lo siguiente:
- Si el enlace al vecino está caído
- Si es un nuevo vecino
- El coste del enlace con el vecino existente ha cambiado
Una vez que las PDU se han distribuido, IS-IS ejecuta el algoritmo Dijkstra para formar el árbol.
CSPN PDU
Contiene
la información de todas las Link-State PDU que tienen IS-IS en la base
de datos. Se envían periódicamente a todos los enlaces. Los equipos que
las reciben, actualizan y sincronizan sus bases de datos. El DIS también
usa estas PDU entornos broadcast para la respuesta a las Link-State PDU
y lo hace enviándolo por multicast.
PSNP PDU
Lo
envían los equipos que reciben el CNSP y detectan que su base de datos
está desincronizada o cuando le falta una Link-State PDU. Es una
petición de actualización al equipo que envío la CNSP.
Objetos de Información de IS-IS
Para la estructura básica de la información de enrutamiento, las PDU de IS-IS usan TLVs.
TLVs más comunes |
VECINDADES
Elección del DIS
Tenemos 2 tipos de redes para IS-IS:
- Broadcast -> se elige un DIS
- Point-to ->Point -> no se elige DIS
El
proceso de elección del DIS (DR en OSPF)tanto en L1 como en L2 se
consigue con la prioridad configurada en cada interface que pertenezca a
IS-IS.
El
valor puede estar entre 0 y 127, siendo por defecto 64 para ambos
niveles. Si hay empate, decide la dirección mac más alta. El router
propaga su prioridad por cada interface en las "Hello PDU".
Si
la prioridad es 0, ese equipo no es elegible para ser el DIS. En
enlaces que no sean de broadcast no se necesita un DIS, por lo que la
prioridad se pone automáticamente a 0.
El
router que tenga la prioridad más alta será el elegido como DIS. Si
hubiera un empate, este se dirime usando la SNPA, es decir, la dirección
mac. Aquel que tenga una mac mayor, será el DIS.
Hay una elección de DIS por cada nivel.
Hay una elección de DIS por cada nivel.
Pseudo-Node
En
entornos broadcast o multiacceso, la propia red se considera como si
fuera un router y es lo que se denomina Pseudo-Node. Cada equipo,
incluido el DIS propaga un enlace al pseudo-node. El DIS es el
representante del pseudo-node y por eso envía un enlace con todos los
routers que tiene conectados. Esto se hace para diferenciar una LAN de
otra.
Características del DIS
Los
equipos IS-IS establecen vecindades de todos con todos, no solo con el
DIS (diferencia con OSPF). Cada equipo envía por multicast sus
Link-State PDU a todos los vecinos y el DIS se encarga de comprobar que
estas PDU son confiables, vamos que todo es correcto.
Si
falla el DIS, se elige uno nuevo. No existe el concepto de DIS de
backup como en OSPF. Si un equipo NON-DIS se le configura una prioridad
más alta, inmediatamente cambia el DIS. Lo mismo sucede con un equipo
nuevo que conectemos a IS-IS y tenga una prioridad mayor. Cuando el DIS
cambia, se vuelve a inundar la red con las nuevas Link-State PDU.
Métrica de IS-IS
La métrica por defecto es 10. Usa una métrica para el valor máximo del
camino de 1023. La métrica es configurada por el administrador.
La métrica del camino
es calculada sumando las métricas individuales por donde pasa.
IS-IS define 3 tipos de coste:
- Delay o Retardo
- Expense o Gasto
- Error
Tenemos 3 tipos:
- Narrow -> Las estándar. De 1 a 63
- Wide -> Extiende el rango. De 1 to 16777214
- Transition -> Para los equipos que están entre ambos escenarios
Wide Metrics (Métricas Anchas)
Si se nos queda insuficiente las métrica de 1 a 63 podemos configurar las "style wide metrics" que nos da la opción de hasta 16 millones. Permitiría una red de hasta 256 saltos. Para ello configuramos al nivel global de IS-IS.
(router-config)#metric-style wide
LABORATORIO BÁSICO DE IS-IS
TOPOLOGÍA
En R1
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip router isis 1
!
interface Ethernet0/0
ip address 10.0.0.1 255.255.255.252
ip router isis 1
interface Ethernet0/1
ip address 10.0.0.5 255.255.255.252
ip router isis 1
router isis 1
net 49.0001.1111.1111.1111.00
En R2
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip router isis 1
!
interface Ethernet0/0
ip address 10.0.0.2 255.255.255.252
ip router isis 1
router isis 1
net 49.0001.2222.2222.2222.00
En la tabla de rutas se marcan con un "i" y a lado el nivel (L1-L2)
show ip route / show isis neighbors |
(config-if)#isis metric X
También podemos tener las rutas marcadas con "su" para las direcciones sumarizadas e "ia" para las intra-area.
Si en ambos routers tenemos configurado IS-IS por defecto, es decir, no hemos especificado en que nivel están (L1 o L2), se habilitará en los dos niveles y veremos dos vecindades distintas, una para cada nivel. Los equipos tiene 2 bases de datos separadas.
Ahora vamos a configurar el R3 en un área distinta
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip router isis 1
!
interface Ethernet0/1
ip address 10.0.0.6 255.255.255.252
ip router isis 1
router isis 1
net 49.0002.3333.3333.3333.00
Si miramos las rutas y la vecindad vemos que han establecido una relación a nivel 2 (L2).
R3: show ip route / show isis neighbors |
R1: show ip route / show isis neighbors |
Ahora vamos a configurar R2 para que pertenezca solo al nivel 1:
R2(config-router)#is-type level-1
Si miramos en R2:
R2: show ip route / show isis neighbors |
Vemos que la relación de vecindad con R1 ahora es de nivel 1 (L1). Ahora ya solo tenemos rutas de nivel 1 y la ruta por defecto (0.0.0.0/0). Esta ruta por defecto la crea R1 al saber que si por el otro lado tiene una relación con un L2 de otra área, él debe ser un equipo frontera y genera la ruta por defecto para R2.
Y desde R2 no vemos la loopback de R3 porque no pertenece a la misma área.
Si hacemos en R2 un show isis database:
show isis database |
También vemos que R1 esta generando 2 LSP. Esto es porque R1 es el DIS y genera uno de él mismo y otro del pseudo-nodo. Esto también lo podemos comprobar con el show isis neighbors viendo el campo de Circuit Id:
R1 es el DIS. R1.01 representa al pseudo-nodo |
¿Y porqué R1 es el DIS? Pues porque si no le hemos configurado a ninguno una prioridad, todos tendrán la de por defecto (64) y se basará en la dirección mac y, en mi caso, la de R1 es la más alta.
Vamos a cambiar la prioridad en R2 para que sea el DIS de ese segmento:
R2(config)#interface e0/0
R2(config-if)#isis priority 127
Hacemos un clear isis * en los 2 equipos para asegurarnos de que renegocian:
Ahora R2 es el DIS |
Ahora R2 crea el pseudo-nodo |
Ahora, nosotros en esta topología tenemos claro que tenemos enlaces P2P. Entonces, ¿para que necesitamos que exista un DIS? Al igual que en OSPF le ahorraríamos procesamiento al equipo .
Configuramos los enlaces de R1 y R3 como Point-to-Point.
(config-if)#isis network point-to-point
show isis database |
Ahora ya no hay DIS en este segmento |
Después de hacer el cambio en ambos equipos, en R2 vemos con el comando show isis database que el pseudo -nodo aparece todavía pero el LSP holdtime está a 0. Después de hacer un clear isis * se ve que ya no existe pseudo-nodo, ya no hay DIS.
Por último, comentar que una manera eficiente de configurar IS-IS es que si sabemos que R1 va a ser nuestro equipo fronterra y las relaciones a través de esas interfaces son de L1 o L2 seguro, podemos configurar en las interfaces que tipo de nivel queremos:
R1(config)#int e0/0
R1(config-if)#isis circuit-type level-1
R1(config)#int e0/1
R1(config-if)#isis circuit-type level-2-only
Estoy en el curso CCNP Enterprise Core. Cuando cursé el CCNA apenas vimos IS-IS y por descontado ni lo configuramos. Muy buen artículo, breve y conciso. Me ha aclarado mucho.
ResponderEliminarMuchas gracias!