martes, 5 de noviembre de 2013

IS-IS Integrado: Conceptos básico y configuración.


Desde que me lo nombraron me llamó la atención:


Era muy raro, los grandes ISP lo usan y a pesar de eso no se da en el CCNA... algo extraño tenía que tener...

La cuestión es que ahora que lo estoy estudiando en profundidad entiendo por qué no se encuentra en el plan de estudio del CCNA: a pesar de que su configuración es bastante sencilla, hay un montón de cabos sueltos dando vueltas y como no se encapsula en IP sino directamente en la capa de enlace de datos, tiene muchas cosas raras que podrían desorientar hasta al más aplicado estudiante de CCNA.

El protocolo se basa en el algoritmo de Dijkstra y es un protocolo de estado enlace tal cual como OSPF. De hecho, fueron lanzados en la misma época y dicen que ambos grupos de desarrollos se robaban ideas del otro al momento de crearlos.

El nombre significa Sistema Intermedio - Sistema Intermedio y viene dado que (como se ve en la teoría de CCNA1) los equipos de usuario fuinal (PC, impresoras, servers, etc) son denominados Sistema Inicial o Sistema Final (End Sistem) porque ahí se origina o se destina el tráfico que pasa por los Sistemas Intermedios (Intermediate Systems) que son los routers.

Por esto podemos intuír que hay un proceso entre ES - IS (Host a Router) y un IS-IS (Router a Router):




La definición más clara que describe a IS-IS (para los que saben de OSPF) es
IS-IS es como usar OSPF multiárea donde todas las áreas que no son backbone son Totalmente Stub.

Este protocolo usa el Connection Less Network Service (CLNS) que mal y pronto vendría a ser como la contra del TCP/IP que desarrolló OSI y nunca llegó a prevalecer ante el archifamoso TCP/IP.

Ahora, el gobierno de EEUU dispuso que cada sistema operado por ellos debería ser capaz de usar OSI, lo que produjo que IS-IS se prepare para pasar también rutas de IP (de ahí viene el nombre IS-IS integrado) y por eso es que aún este protocolo sigue vivo.

¿Cómo es que se preparó para pasar prefijos IP?


Muy facil: gracias a los TLV que son los encabezados de las PDU que transportan los datos de este protocolo. La sigla TLV significa TipoLargoValor (TypeLengthValue en inglés) y viene dado en que no existen campos fijos en el header salvo esos 3,


Este formato es muy versátil, ya que por ejemplo si queremos transmitir información de autenticación, llenamos la PDU con TIPO=10, el LARGO apropiado y el VALOR que hay que enviar; si queremos mandar información de IP ponemos TIPO=128, y así sucesivamente.

Gracias a esto, cuando sale un protocolo nuevo que queremos integrar en IS-IS, sólo hace falta crear un TIPO nuevo de TLV. En el caso de IPv6 IS-IS se adaptó muy rápido mientras que OSPF tuvo que sacar una versión totalmente nueva (la 3).

¿Cómo calcula la métrica este IGP?

Según la documentación, este protocolo analiza 4 variables para calcular la métrica:



  • Variable Default (asignada por el administrador).


  • Variable  Delay (Retraso).


  • Variable Expense (Costo monetario del enlace).


  • Variable Error (Tasa de error del enlace).


Ahora, la verdad de la milanesa es que Cisco sólo soporta la variable Default. O sea, nosotros pondremos arbitrariamente el costo de cada enlace.

No importa qué cálculo hagamos para especificarla, como por ejemplo:



  • Ancho de banda teórico del enlace/Ancho de banda real.


  • Latencia máxima.


  • Largo del patchcord.


  • Número al azar que se nos ocurrió a la mañana.


En cualquier caso vas a tener que poner un costo a la interfase del router que esté usándose en IS-IS. En caso de no ponerlo, el costo será de 10 por defecto.

Ahora, vas a tener que conocer el sistema de Direccionamiento CLNS, porque la network que vas a insertar dentro del modo de configuración de enrutamiento va a ser utilizando el esquema antes mencionado (y por lo tanto no va a ser el (w.x.y.z) tradicional de IP.

De nuevo y según la documentación, la dirección única de cada router va a tener la forma:




Vamos a ver cada parte de la dirección que está en el ejemplo:

Siempre usen algo como:

49.%numero hexa de 1 byte%.%direccion mac completada con 0 a la izq.%.00

En donde:
  • 49 siempre va al principio porque significa numeración privada.
  • %numero hexa de 1 byte% es el número de Area (tal cual como el area 15 de OSPF).
  • %direccion mac completada con ceros a la izquierda% es el ID del router dentro de esa Area.
  • 00 va siempre al final porque significa que es un router.

Todos los routers que pertenezcan al mismo Level1 (Area) deben tener el mismo Area ID. A su vez, todos los routers deben tener IDs de router distintos (obviamente).

¿Qué es Level1 y Level2?


Fácilmente lo podemos entender teniendo en cuenta que toooodos los routers que estén en la misma área van a ser Level1 (tal cual como los routers internos de OSPF que comparten la misma área que no sea la backbone).

Level2 son los routers de backbone, (El área 0 de OSPF) en donde se intercambia el tráfico destinado a distintos Level1.

Level1-2 son los símiles de los ABR de OSPF, o sea es un equipo que tiene al menos una interface en un Level2 y otra en un Level1.

Veamos un ejemplo más claro:




Lo interesante es que todos los Level1 reciben solamente una ruta por defecto desde el Level1/2 más cercano, y conocen las rutas que les pasan los Level1 adyacentes. Esto hace tablas de enrutamiento muy chicas.

A su vez, en cada L1/L2 podemos configurar sumarización hacia el backbone para agregar todas las rutas internas L1 al que ese equipo pertenezca.

Ahora vamos a ver las configuraciones para poner a andar la siguiente red:





Estos son los pasos a seguir:
  1. Determinar las áreas a las que pertenece cada equipo y las interfaces donde IS-IS va a ser habilitado.
  2. Activar el proceso de IS-IS mediante el comando router isis.
  3. Configurar la Net de cada equipo mediante el comando net.
  4. Activar ISIS en las interfaces correspondientes con el comando ip router isis. Debe notarse que deben habilitarse las interfaces de tránsito así como también las que estén conectadas a redes STUB.

Bien, ahora que nos ponemos a configurar:

Neuquen:


interface FastEthernet0/0
 ip address 192.168.10.1 255.255.255.0
 ip router isis

!
interface GigabitEthernet1/0
 description Enlace a Rosario
 ip address 172.16.1.2 255.255.255.0
 ip router isis
!
router isis
 net 49.000a.ca07.0b1c.001c.00
 log-adjacency-changes
!

Cordoba:


interface GigabitEthernet1/0
 description Enlace a Neuquen
 ip address 172.16.1.1 255.255.255.252
 ip router isis
 isis circuit-type level-1
!
interface GigabitEthernet2/0
 description Enlace a Rosario
 ip address 172.16.1.6 255.255.255.252
 ip router isis
isis circuit-type level-2-only
!
router isis
 net 49.000a.ca0a.0b1c.001c.00
 log-adjacency-changes

 summary-address 192.168.0.0 255.255.240.0
!

Rosario:


interface FastEthernet0/0
 ip address 192.168.16.1 255.255.240.0
 ip router isis

!
interface GigabitEthernet1/0
 description Enlace a Cordoba
 ip address 172.16.1.5 255.255.255.252
 ip router isis
!
interface GigabitEthernet2/0
 description Enlace a Pinamar
 ip address 172.16.1.9 255.255.255.252
 ip router isis
!
router isis
 net 49.000b.ca09.0d78.001c.00
 is-type level-2-only
 log-adjacency-changes
 summary-address 192.168.16.0 255.255.240.0
!

Pinamar:


interface GigabitEthernet1/0
 description Enlace a Rosario
 ip address 172.16.1.10 255.255.255.252
 ip router isis
 isis circuit-type level-2-only
!
interface GigabitEthernet2/0
 description Enlace a Carilo
 ip address 172.16.1.13 255.255.255.252
 ip router isis
 isis circuit-type level-1
!
router isis
 net 49.000c.ca0b.0d78.001c.00
 log-adjacency-changes
 summary-address 192.168.32.0 255.255.240.0
! 

Carilo:


 interface FastEthernet0/0
 ip address 192.168.32.1 255.255.255.240
 ip router isis

!
interface GigabitEthernet1/0
 description Enlace a Pinamar
 ip address 172.16.1.14 255.255.255.252
 ip router isis
!
router isis
 net 49.000c.ca08.0eac.001c.00
 is-type level-1
 log-adjacency-changes
!

Podemos ver que en Rosario pusimos el comando is-type level-2-only para no tener que poner el comando de level-2 en cada una de las interfaces. También podemos ver que en Rosario, Cordoba y Pinamar sumarizamos con el comando summary-address.

Ahora veamos las tablas de enrutamiento de cada equipo:

Neuquen:


Neuquen#show ip route
Codes: C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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 172.16.1.1 to network 0.0.0.0

C    192.168.10.0/24 is directly connected, FastEthernet0/0
     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
i L1    172.16.1.0/30 [115/20] via 172.16.1.1, GigabitEthernet1/0
C       172.16.1.0/24 is directly connected, GigabitEthernet1/0
i*L1 0.0.0.0/0 [115/10] via 172.16.1.1, GigabitEthernet1/0

Cordoba:


Cordoba#show ip route
Codes: C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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 L1 192.168.10.0/24 [115/20] via 172.16.1.2, GigabitEthernet1/0
     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
i L2    172.16.1.12/30 [115/30] via 172.16.1.5, GigabitEthernet2/0
i L2    172.16.1.8/30 [115/20] via 172.16.1.5, GigabitEthernet2/0
C       172.16.1.4/30 is directly connected, GigabitEthernet2/0
C       172.16.1.0/30 is directly connected, GigabitEthernet1/0
i L1    172.16.1.0/24 [115/20] via 172.16.1.2, GigabitEthernet1/0
i su 192.168.0.0/20 [115/20] via 0.0.0.0, Null0
i L2 192.168.16.0/20 [115/20] via 172.16.1.5, GigabitEthernet2/0
i L2 192.168.32.0/20 [115/40] via 172.16.1.5, GigabitEthernet2/0

Rosario:


Rosario#show ip route
Codes: C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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

     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
i L2    172.16.1.12/30 [115/20] via 172.16.1.10, GigabitEthernet2/0
C       172.16.1.8/30 is directly connected, GigabitEthernet2/0
C       172.16.1.4/30 is directly connected, GigabitEthernet1/0
i L2    172.16.1.0/30 [115/20] via 172.16.1.6, GigabitEthernet1/0
i L2    172.16.1.0/24 [115/30] via 172.16.1.6, GigabitEthernet1/0
i L2 192.168.0.0/20 [115/30] via 172.16.1.6, GigabitEthernet1/0
C    192.168.16.0/20 is directly connected, FastEthernet0/0
i L2 192.168.32.0/20 [115/30] via 172.16.1.10, GigabitEthernet2/0

Pinamar:


 Pinamar#show ip route
Codes: C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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

     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
C       172.16.1.12/30 is directly connected, GigabitEthernet2/0
C       172.16.1.8/30 is directly connected, GigabitEthernet1/0
i L2    172.16.1.4/30 [115/20] via 172.16.1.9, GigabitEthernet1/0
i L2    172.16.1.0/30 [115/30] via 172.16.1.9, GigabitEthernet1/0
i L2    172.16.1.0/24 [115/40] via 172.16.1.9, GigabitEthernet1/0
     192.168.32.0/28 is subnetted, 1 subnets
i L1    192.168.32.0 [115/20] via 172.16.1.14, GigabitEthernet2/0
i L2 192.168.0.0/20 [115/40] via 172.16.1.9, GigabitEthernet1/0
i L2 192.168.16.0/20 [115/20] via 172.16.1.9, GigabitEthernet1/0
i su 192.168.32.0/20 [115/20] via 0.0.0.0, Null0

Carilo:


 Carilo#show ip route
Codes: C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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 172.16.1.13 to network 0.0.0.0

     172.16.0.0/30 is subnetted, 1 subnets
C       172.16.1.12 is directly connected, GigabitEthernet1/0
     192.168.32.0/28 is subnetted, 1 subnets
C       192.168.32.0 is directly connected, FastEthernet0/0
i*L1 0.0.0.0/0 [115/10] via 172.16.1.13, GigabitEthernet1/0

Vemos como aparecen las rutas por defecto en los equipos Level1 y las sumarizadas en los Level2. Todo funciona correctamente y en muy pocos pasos.

Si tuviésemos que configurar esto mismo en OSPF seguramente nos llevaría unos cuantos comandos de más.

Piensen que sin ahondar en la teoría básica este hubiese sido un post demasiado corto, ya que los comandos para resolver el problema que presentamos son muy breves y concisos.

No hay comentarios:

Publicar un comentario