jueves, 25 de junio de 2009

OSPF Básico II: Router ID

Ya estuvimos viendo algunas cuestiones básicas de este interesante protocolo en algún post anterior, hoy en esta entrega vamos a aprender algo acerca del proceso inicial, del primer paso que se realiza para poner OSPF en marcha.

Nosotros utilizamos OSPF versión 2 para el intercambio de prefijos en IPv4. Este protocolo fue desarrollado exclusivamente para IPv4 en forma tan monolítica que debió desarrollarse una versión enteramente nueva para IPv6 (la versión 3).

Para comenzar con la configuración del protocolo, debemos identificar el router en cuestión con lo que comunmente se llama un router-id.

Este router-id es un número de 32 bits que en la mayoría de las implementaciones se presenta en formato de dirección IP.

Dicho número va a representar unívocamente a nuestro equipo en la red donde se use OSPF, y en el caso de Cisco, existe un algoritmo que se utiliza para definir este id, que funciona de la siguiente manera.
Nota: Para poder usar OSPFv2 debemos tener por lo menos una interfase configurada con dirección IP y en estado operativo (up-up). De otra forma el protocolo no levantará.

El proceso de selección de router-id es el siguiente:

  1. Se utiliza el id que esté configurado estáticamente con el comando router-id dentro del modo de configuración de enrutamiento global.

  2. Se utiliza la dirección IP más alta que se encuentre en cualquier interfaz loopback que esté configurada.

  3. Se utiliza la dirección IP más alta de cualquier interfase directamente conectada al equipo.


Esto es bien conocido, pero algunos detalles no se menciona en la bibliografiá tradicional acerca del tema:
¿Cómo se define si una IP es mayor a otra?

Fácil: pasamos los números de forma w.x.y.z a binario y luego vemos cual es mayor.

Vuelvo a insistir que este protocolo funciona exclusivamente si hay direcciones IP configuradas en interfases levantadas (operativamente preparadas para funcionar). Si pongo una IP en una interfase que está en modo shutdown o bien sin el cable conectado, esta no será tenida en cuenta.

Antes que nada es conveniente que el router-id se tome de una interfaz loopback, dado que estas interfases por su naturaleza de ser virtuales nunca se pueden caer.

Si yo tomo el router-id del equipo desde alguna IP de una interfase física, y esta interfase física se cae, todo el proceso de OSPF se caerá ocasionando problemas importantes a toda la red.
Cuando un router cambia su router-id todos los routers del área deben volver a calcular el árbol SPF.

Hay muchos administradores de red que lo que hacen es crear una interfase loopback, ponerle una IP con máscara /32, configurar el comando router-id a mano y luego publicar esa IP dentro de OSPF para que sea alcanzable desde cualquier parte del sistema autónomo.

Esa práctica está bien, pero en realidad es innecesario el último paso. Dijimos que el router-id era utilizado únicamente para identificar un equipo.

No hay diferencia en cuanto a usar una IP pública o una IP privada, de hecho una buena práctica sería usar un número que realmente sirva de identificación, como por ejemplo: 1.1.1.1.

Dado que las actualizaciones entre vecinos salen con la IP de origen de la interfaz que las envía, no es necesario que el router-id asignado a cada equipo sea alcanzable dentro de la red. O sea que no hay que publicar en OSPF la loopback que configuremos para dicha tarea.

Veamos una configuración real de un equipo:
interface Loopback0
description OSPF Router-ID
ip address 1.1.0.1 255.255.255.255
!
router ospf 1
! Mi forma de identificación es: "1.CodigoDeCiudad.AreaDeOSPF.NumeroDeRouter"
router-id 1.1.0.1
network 10.128.16.0 0.0.15.255 area 0
[...]
!

Nos vemos en el próximo post.

0 comentarios:

Publicar un comentario