29 de noviembre de 2014

Introducción a RIPng

El avance de la implementación de IPv6 exige que, no sólo conozcamos la versión actual del protocolo de direccionamiento de capa de red, sino también los protocolos de enrutamiento asociados al mismo.
IPv6 es un protocolo enrutado completamente diferente de IPv4. En consecuencia los protocolos de enrutamiento IP que se utilizan en el entorno tradicional no son aplicables en redes IPv6. Por esto son necesarios protocolos de enrutamiento específicos que respondan a la nueva arquitectura de IPv6.
  • Routing Information Protocol next generation.
  • RFC 2080.
  • Protocolo de enrutamiento de vector distancia.
  • Básicamente es una actualización de RIPv2.
  • Número máximo de saltos: 15.
  • Implementa split horizon y poison reverse.
  • Utiliza el puerto 521 de UDP para las comunicaciones.
  • NO es compatible con RIPv2.
  • Actualizaciones dirigidas a la dirección multicast FF02::9.
  • Utiliza la dirección link-local de la interfaz del próximo salto en la tabla de enrutamiento.
  • Cisco IOS soporta hasta 4 instancias de RIPng por dispositivo.
RIPng incluye varias funciones avanzadas:
  • Puede generar rutas por defecto.
  • Soporta redistribución de rutas originadas en otros protocolos o estáticas.
  • Se requiere definir manualmente una métrica al redistribuir rutas dentro de RIPng.
  • Permite la implementación de tags en las rutas.
  • Soporta balanceo de tráfico por defecto, entre hasta 4 rutas de igual métrica.
Configuración básica de RIPng
Para la descripción de estos procedimientos de configuración he considerado Cisco IOS 15.4(2)S y IOS XE 03.12.00.S.

Router(config)#ipv6 router rip [tag]
Router(config-router)# exit
Router(config)#interface [interfaz]
Router(config-if)#ipv6 rip [tag] enable
Router(config-if)#ipv6 rip [tag] default-information originate

Monitoreo de RIPng

Router#show ipv6 protocols
Router#show ipv6 rip
Router#show ipv6 rip database
Router#show ipv6 route rip
Router#debug ipv6 rip

Bibliografía recomendada:

17 de noviembre de 2014

Ruta estática flotante + IP SLA

Un modelo de acceso a Internet habitual en redes de medianas dimensiones es el que está compuesto por 2 proveedores de acceso a Internet cuyo acceso se administra a partir de un único router de acceso.
Un modelo semejante al que ilustra el gráfico:
En este esquema, un requerimiento posible es que el enlace del ISP 1 sea el enlace activo y utilicemos el enlace al ISP 2 como enlace de respaldo.
Como se trata de enlaces a Internet, es siempre posible resolver el enrutamiento hacia Internet utilizando una ruta estática por defecto. Pero en este caso, si utilizamos 2 rutas estáticas por defecto (en principio) se balanceará tráfico entre ambos proveedores. Y no es este el requerimiento, no se desea balancear tráfico sino tener un enlace primario y otro de backup.

Una primera solución es dejar una ruta por defecto con la distancia administrativa por defecto (es decir 1), y utilizar distancia administrativa para dejar la otra ruta como flotante. La ruta flotante, al tener mayor distancia administrativa no irá a la tabla de enrutamiento sino que quedará como ruta de respaldo e irá a la tabla de enrutamiento cuando la ruta principal no esté disponible.

Router(config)#ip route 0.0.0.0 0.0.0.0 182.1.10.2
Router(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.2 100

En este caso estamos utilizando como recurso la Distancia Administrativa de las rutas estáticas para definir cuál es nuestra ruta primaria y nuestra ruta de respaldo.
Hemos resuelto el requerimiento utilizando una ruta flotante. 
Pero esta solución no siempre es efectiva ya que dependiendo de la tecnología de acceso que esté utilizando el ISP es posible que perdamos el acceso primario a Internet mientras nuestra ruta por defecto sigue aún activa. Para resolver esta posibilidad es que se implementan las rutas por defecto vinculadas a un IP SLA:

Router#configure terminal
Router(config)#ip sla 1
Router(config-ip-sla)#icmp-echo 182.1.10.2 source-interface Se0/0/0
Router(config-ip-sla-echo)#timeout 500
Router(config-ip-sla-echo)#frequency 2
Router(config-ip-sla-echo)#exit
Router(config-ip-sla)#exit
Router(config)#ip sla schedule 1 life forever start-time now
Router(config)#track 1 ip sla 1 reachability
Router(config)#ip sla 2
Router(config-ip-sla)#icmp-echo 200.1.1.2 source-interface Se0/0/1
Router(config-ip-sla-echo)#timeout 500
Router(config-ip-sla-echo)#frequency 2
Router(config-ip-sla-echo)#exit
Router(config-ip-sla)#exit
Router(config)#ip sla schedule 2 life forever start-time now
Router(config)#track 2 ip sla 2 reachability
Router(config)#ip route 0.0.0.0 0.0.0.0 182.1.10.2 track 1
Router(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.2 track 2 100

En este caso nuestras rutas por defecto ahora están asociadas a un track que hace seguimiento de un IP SLA específico, y luego calificadas por distancia administrativa.


10 de noviembre de 2014

Ruta estática condicionada por IP SLA

Una de las características propias de las rutas estáticas es que las mismas, en su configuración por defecto, están siempre presentes en la tabla de enrutamiento. Una excepción de esto son las llamadas "rutas flotantes" que al tener asignada una distancia administrativa superior a la de los protocolos de enrutamiento, sólo ingresan en la tabla de enrutamiento en caso de falla en la operación del protocolo dinámico.
Esta característica, de estar siempre presentes en la tabla de enrutamiento, puede ser un inconveniente cuando la ruta estática está reenviando tráfico a través de una ruta que está interrumpida en algún punto. Pero esto se puede solucionar asociando la ruta estática a un IP SLA.

¿Qué es IP SLA?
Se trata de una herramienta incluida en Cisco IOS que nos permite analizar niveles de servicios de aplicaciones y servicios IP. Es una tecnología de monitoreo continuo activo de tráfico en la red que nos brinda un método confiable de análisis de performance de la red.

Con esta herramienta, en dispositivos (routers y switches) Cisco IOS podemos realizar mediciones periódicas de performance.

Nuestra aplicación al monitoreo de rutas
IP SLA permite diferentes tipos de mediciones; de todas ellas aquí utilizaremos solamente su aplicación para monitorear paquetes ICMP echo.

  • Objetivo: Crear una ruta estática que esté condicionada a la accesibilidad de una dirección IP.
    Este tipo de configuración puede aplicarse a diferentes situación o requerimientos: redundancia de ISPs administrado con rutas estáticas por defecto de modo que una actúa como backup de la otra detectando la caída de un ISP; generación de rutas estáticas preferidas a las dinámicas, condicionadas a la disponibilidad de un dispositivos; optimización de arquitecturas que utilizan túneles, condicionando su uso a la disponibilidad de un dispositivo remoto, etc.
  • Pre-requisitos:
        Conocimiento de la definición de rutas estáticas.
        Conocimiento de configuración y operación de IP SLA.
Configuración de una ruta estática condicionada por IP SLA
El procedimiento de configuración de una ruta estática condicionada por IP SLA requiere de 3 pasos:

Paso 1: Definición de una sonda IP SLA

Definiremos una sonda ICMP echo que monitoreo la conectividad que una IP específica que puede ser p.e. la IP del próximo salto definido en la ruta estática o una IP interna en la red corporativa.

Por ejemplo, configuraremos una sonda ICMP (identificada con el ID 44) que monitoree la dirección IP 172.16.2.115 enviando paquetes ICMP echo request cada 2 segundos, de los que esperará respuesta por espacio de 1 segundo. Esta sonda comenzará a operar inmediatamente después de su creación y lo hará por tiempo indefinido.


Router#configure terminal
Router(config)#ip sla 44
Router(config-ip-sla)#icmp-echo 172.16.2.115 source-interface Gi0/0
Router(config-ip-sla-echo)#timeout 1000
Router(config-ip-sla-echo)#frequency 2
Router(config-ip-sla-echo)#exit
Router(config-ip-sla)#exit
Router(config)#ip sla schedule 44 life forever start-time now

Paso 2: Definir un objeto que permita hacer el seguimiento de la sonda SLA y asociarla a la ruta estática luego.

Router(config)#track 23 ip sla 44 reachability

Este objeto tiene 2 estados posible: up / down.
Cuando los paquetes ICMP echo request de la sonda tienen respuesta, el estado del objeto es up.
Cuando los paquetes ICMP echo request de la sonda no reciben respuesta dentro del tiempo de timeout especificado, el estado del objeto es down.
El estado del objeto puede ser monitoreado utilizando el comando show track.

Paso 3: Configurar una ruta estática condicionada por el objeto que acabamos de crear.
Para este ejemplo utilizaré una ruta por defecto que apunta a la IP del próximo salto.

Router(config)#ip route 0.0.0.0 0.0.0.0 172.16.59.1 track 23

Enlaces útiles