Mostrando entradas con la etiqueta cisco. Mostrar todas las entradas
Mostrando entradas con la etiqueta cisco. Mostrar todas las entradas

miércoles, 1 de octubre de 2014

IS-IS:ISIS level 1 y level 2:

A la hora de diseñar una red con IS-IS hay una serie de diferencias importantes respecto a como se suele hacer con OSPF, y una de las más importantes es el concepto de áreas.

El concepto de área en OSPF era un concepto que se aplicaba a nivel de interfaz, y un router podía estar en una o varias áreas de OSPF en base a las distintas áreas a las que pertenezcan sus interfaces.

En ISIS un router solo puede pertenecer a un único área, por otro lado un router con ospf no tiene problema alguno para establecer adyacencia con un router que no esté en su mismo área.

En ISIS por el contrario tenemos dos tipos de adyacencias, IS-IS level 1, e IS-IS level 2. IS-IS L2 es una adyacenc ia que se establece entre dos equipos que pertenecen al mismo o a diferente área. ISIS L1 en cambio solo se establece cuando dos routers pertenecen a la misma área, en caso contrario no hay adyacencia.

En OSPF teníamos el backbone que estaba formado por el área 0, y de ella colgaban las demás áreas. 

En el caso de ISIS el backbone de la red está formado por los routers que forman adyacencias de L2, en cambio las adyacencias de L1 son partes de la red que en caso de no encontrar ruta para llegar a un destino enviarán los paquetes al router que tenga una adyacencia de L2 más cercano.

Esto nos da como resultado tres tipos de routers:

Routers L2, que solo forman parte del core de la red.
Routers L1, que están en un nivel jerárquico inferior, y que tienen un conocimiento de la red parcial.
Routers L1-L2 que son los que permiten a áreas de L1 alcanzar el “mundo exterior”.

El motivo por el que se divide ISIS de esta manera es para generar un mecanismo que permita que los routers que no son de Backbone evitar realizar cálculos de SPF por eventos sucedidos en el core, y por otro lado permite controlar la inyección de rutas entre L2 y L1(route leaking).


Por defecto dos routers con isis habilitado en la interfaz establece tanto L1 como L2, pero hay que recordar que  las adyacencias de L1 solo se pueden realizar entre routers del mismo área.

Configuración de niveles en ISIS


Se puede configurar a nivel de router completo para hacer un router L1  o L2, pero también se puede hacer a nivel de interfaz para los routers L1-L2.

Router completo:

R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#router isis
R3(config-router)#is-type ?
  level-1       Act as a station router only
  level-1-2     Act as both a station router and an area router
  level-2-only  Act as an area router only

R3(config-router)#is-type lev
R3(config-router)#is-type level-1

Nivel de interfaz:

R3(config)#int e0/0.34
R3(config-subif)#isis circuit-type ?
  level-1       Level-1 only adjacencies are formed
  level-1-2     Level-1-2 adjacencies are formed
  level-2-only  Level-2 only adjacencies are formed
  <cr>

R3(config-subif)#isis circuit-type

 

miércoles, 17 de septiembre de 2014

ISIS IPV6

Una de las cosas particulares que tiene ISIS es como trata cuando tienes configurado IPV4 e IPV6 en el mismo router, e incluso las mismas interfaces.

Con OSPF por poner un ejemplo claro hay que crear dos procesos diferenciados, un(o varios)  número de proceso OSPF para IPV4, y lo mismo para IPV6, de modo que cuando haces un clear ospf proc puedes hacer un clear de un único stack.

ISIS en este caso ofrece algunas opciones diferentes, como es el hecho de que integra ambos stack, el stack de IPV6 y el de IPV4 dentro del mismo proceso corriendo en el router.

A continuación se detalla cómo se configura ISIS para IPV6 en IOS.

Tomando como ejemplo el ejercicio anterior vamos a configurar direccionamiento de IPV6 en los tres routers y configuramos ISIS para IPV6 a parte de para IPV4 que ya teníamos antes.



R5

ipv6 unicast-routing
ipv6 cef
!
!
interface Ethernet0/0.15
 encapsulation dot1Q 15
 ip address 192.168.15.5 255.255.255.0
 ip router isis
 ipv6 address 5000:192:168:15::5/64
 ipv6 router isis
!
interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.5 255.255.255.0
 ip router isis
 ipv6 address 5000:192:168:56::5/64
 ipv6 router isis
!

!
router isis
 net 49.0005.0000.0000.5555.00
 metric-style wide
!

R6

ipv6 unicast-routing
ipv6 cef
!
interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.6 255.255.255.0
 ip router isis
 ipv6 address 5000:192:168:56::6/64
 ipv6 router isis
!

!
router isis
 net 49.0006.0000.0000.6666.00
 metric-style wide
!
Como se puede ver, en realidad solo hay que habilitar el routing para IPV6 a nivel global, y luego en las interfaces usar ipv6 router isis en lugar de ip router isis.

Vamos a comprobar si estamos aprendiendo la red entre R5 y R1.

R6#show ipv route
IPv6 Routing Table - default - 4 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2
       IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       l - LISP
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
I2  5000:192:168:15::/64 [115/20]
     via FE80::A8BB:CCFF:FE00:6900, Ethernet0/0.56
C   5000:192:168:56::/64 [0/0]
     via Ethernet0/0.56, directly connected
L   5000:192:168:56::6/128 [0/0]
     via Ethernet0/0.56, receive
L   FF00::/8 [0/0]
     via Null0, receive
Ahora vamos a hacer un ping  a R1, para ver si funciona correctamente..

R6#pin 5000:192:168:15::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5000:192:168:15::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/10/34 ms
¿Y como sabemos si estamos estableciendo adyacencia también a nivel de IPV6 y no solo de IPV4?
Pues con un show isis nei detail, y debería aparecer la ip de ipv6 del vecino.

R6#show isis neighbors  detail
System Id      Type Interface   IP Address      State Holdtime Circuit Id
R5             L2   Et0/0.56    192.168.56.5    UP    25       R6.01             
  Area Address(es): 49.0005
  SNPA: aabb.cc00.6900     
  IPv6 Address(es): FE80::A8BB:CCFF:FE00:6900
  State Changed: 00:29:04
  LAN Priority: 64
  Format: Phase V
  Remote TID: 0
  Local TID:  0
  Interface name: Ethernet0/0.56



lunes, 15 de septiembre de 2014

ISIS IOSXR

IOS-XR es un sistema operativo que llevan los equipos más potentes de Cisco enfocados al entorno Service Provider(CRS). En este artículo vamos a configurar IS-IS en un  equipo con IOS-XR.

A la hora de configurar un protocolo de routing en IOS-XR, independientemente de cual sea, una ventaja que tenemos es que la configuración queda más agrupada, y por tanto más fácil de leer.

En este caso vamos a configurar isis en un CRS(R1), que está conectado contra R5, y que a su vez conecta contra R6.


RP/0/0/CPU0:R1(config)#router isis 1
RP/0/0/CPU0:R1(config-isis)# net 49.0001.0000.0000.1111.00
P/0/0/CPU0:R1(config-isis)# address-family ipv4 unicast
RP/0/0/CPU0:R1(config-isis-af)#  metric-style wide
RP/0/0/CPU0:R1(config-isis)# interface GigabitEthernet0/0/0/2
RP/0/0/CPU0:R1(config-isis-if)#  address-family ipv4 unicast
RP/0/0/CPU0:R1(config-isis-if-af)#exit
RP/0/0/CPU0:R1(config-isis-if)#commit

Como se puede ver, lo que hacemos es configurar primero el protocolo de routing isis, con su NET , metric-style wide si corresponde, y luego lo que hacemos es decir que interfaces formarán parte de ISIS, y habilitar el address family de ipv4 dentro.

Por último tenemos el comando commit, que hasta que no lo introduzcamos no hará absolutamente nada, de este modo se evitan meteduras de pata al teclear, y cuando se aplica la configuración se aplica toda de golpe.

La configuración de este equipo ya configurado tiene este aspecto, que como se puede ver, es muy fácil de leer.

RP/0/0/CPU0:R1(config-isis-af)#do show run
Fri Sep 12 19:36:52.578 SGT
Building configuration...
!! IOS XR Configuration 0.0.0
!! Last configuration change at Fri Sep 12 19:32:04 2014 by UNKNOWN
hostname R1
logging console debugging
interface GigabitEthernet0/0/0/2
 mtu 1514
 ipv4 address 192.168.15.1 255.255.255.0
!
router isis 1
 net 49.0001.0000.0000.1111.00
 address-family ipv4 unicast
  metric-style wide
 !
 interface GigabitEthernet0/0/0/2
  address-family ipv4 unicast
end

Para comprobar si tenemos un vecino de ISIS tenemos el comando show isis neighbors.

RP/0/0/CPU0:R1#show isis neighbors Fri Sep 12 19:25:19.146 SGT

IS-IS 1 neighbors:
System Id      Interface        SNPA           State Holdtime Type IETF-NSF
R5             Gi0/0/0/2        aabb.cc00.6900 Up    8        L2   Capable

Total neighbor count: 1

Para ver la tabla de rutas, en lugar de show ip route, usaremos show route, o show route ipv4, en IOS-XR se han renombrado los comandos que incluían la palabra ip, y se ha sustituído por ipv4 o ipv6. Por tanto el show ip int brief se sustituye por show ipv4 int brief




RP/0/0/CPU0:R1#show route         
Fri Sep 12 19:25:24.854 SGT

Codes: C - connected, S - static, R - RIP, 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 - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR
       A - access/subscriber, (!) - FRR Backup path

Gateway of last resort is not set

C    192.168.15.0/24 is directly connected, 00:03:32, GigabitEthernet0/0/0/2
L    192.168.15.1/32 is directly connected, 00:03:32, GigabitEthernet0/0/0/2
i L2 192.168.56.0/24 [115/20] via 192.168.15.5, 00:00:43, GigabitEthernet0/0/0/2

Y lanzando el típico ping vemos que llegamos a nuestro objetivo.

RP/0/0/CPU0:R1#ping 192.168.56.6  
Fri Sep 12 19:25:28.324 SGT
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/3 ms



viernes, 12 de septiembre de 2014

ISIS: Configuración de ISIS básico en IOS



En este artículo vamos a ver como configurar ISIS para IPV4 en routers Cisco con IOS, así como algunos conceptos básicos necesarios para entenderlo. El objetivo de este artículo no es el de explicar en detalle el funcionamiento de ISIS, simplemente es una guía básica de configuración de ISIS.

ISIS es un protocolo de routing del tipo estado de enlace muy utilizado en entorno ISP.  Podríamos considerar que ISIS es algo así como la competencia de OSPF. Al igual que OSPF se trata de un protocolo que se puede usar en varios fabricantes y no pertenece en exclusiva a un único fabricante.

Para comenzar con ISIS hay que comenzar con lo que más tira para atrás a todo el mundo con el NET(Network Entity Title). Que es un identificador que tenemos que configurar en cada uno de los routers que van a formar parte de ISIS. Aquí un ejemplo de lo que puede ser un NET:

net 49.0001.1720.1600.1001.00

49.0001 --> Identifica el área al que pertenece el router, un router solo puede pertenecer a un área al mismo tiempo, no es como ospf que los routers pueden tener patas en varia áreas.

1720.1600.1001.00 --> Es el identificador del router, como el router ID en OSPF. Este identificador se puede configurar como quieras, simplemente debes saber que tiene que ser único en tu dominio de routing. En este caso se ha intentado insertar los dígitos de una dirección IP en el NET, de este modo es más fácil identificar al router, aunque a la hora de la verdad puedes configurar lo que quieras.

Una vez que ya tenemos superada la que para muchos es inmensa barrera del NET(cosa sencilla donde las haya) ya podemos configurar el protocolo en las interfaces que deseemos,  con ip router isis.

Configuración ISIS:


Router(config) # router isis
Router(config-router) # net XXXXXXXXX
Interface X/X
Ip router isis
Interface Y/Y
Ip router isis

Un primer ejemplo sencillo:


Configuracion inicial:

R5

interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.5 255.255.255.0
R6

interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.6 255.255.255.0
interface Ethernet0/0.67
 encapsulation dot1Q 67
 ip address 192.168.67.6 255.255.255.0

R7

interface Ethernet0/0.67
 encapsulation dot1Q 67
 ip address 192.168.67.7 255.255.255.0


Vamos a configurar ISIS


R5

router isis
  net 47.0001.0000.0000.5555.00
  exit
  int e0/0.56
  ip router isis

R6

router isis
  net 47.0001.0000.0000.6666.00
  exit
  int e0/0.67
  ip router isis
  int e0/0.56
  ip router isis

R7

router isis
  net 47.0001.0000.0000.7777.00
  exit
  int e0/0.67
  ip router isis

Como se puede ver en la config los tres routers están en el área  47.0001, y el identificador les he puesto uno que los idetifique bastante fácil.

Troubleshooting

Podemos mirar los vecinos como pasa con OSPF.
R6#sho clns neighbors
System Id      Interface   SNPA                State  Holdtime  Type Protocol
R5             Et0/0.56    aabb.cc00.6900      Up     26        L1L2 IS-IS
R7             Et0/0.67    aabb.cc00.6b00      Up     9         L1L2 IS-IS

Lo que significa L1L2 lo dejo para una segunda parte, pero como se puede ver tenemos los vecinos establecidos,y es más, nos da incluso el hostname de los vecinos.

Vamos a mirar la tabla de routing de R5:

R5#sh ip route
Codes: L - local, 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, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      192.168.56.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.56.0/24 is directly connected, Ethernet0/0.56
L        192.168.56.5/32 is directly connected, Ethernet0/0.56
i L1  192.168.67.0/24 [115/20] via 192.168.56.6, 00:38:46, Ethernet0/0.56

Ahí tenemos nuestra primera ruta de ISIS, vamos a probar la conectividad.

R5#ping 192.168.67.7
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.67.7, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

Pues parece que funciona J. Iré subiendo mas artículos de ISIS, pero como primera toma de contacto tenemos nuestro ISIS básico.

 Links recomendados: