10 de septiembre de 2013

El Router ID en OSPF

El proceso de OSPF utiliza un parámetro denominado router ID para identificar el dispositivo que origina o procesa información del protocolo.
Este router ID es un identificador de 32 bits de longitud que se expresa en notación decimal de puntos en formato de 4 octetos, es decir, el formato de una dirección IPv4 (aunque NO es una dirección IP). Un ejemplo de router ID puede ser: 1.1.1.1
Para configurar el router ID:

Router(config)#router OSPF 1
Router(config-router)#router-id 1.1.1.1

Router ID en OSPFv2
OSPFv2 es la versión del protocolo OSPF que actualmente utilizamos en redes IPv4.
En este caso, el formato del router ID coincide con el formato de las direcciones IP utilizadas en las interfaces por lo que es posible utilizar la dirección IP de una interfaz como router ID, de manera tal que no es obligatorio configurar un router-id y el sistema operativo puede tomar la dirección IP de una interfaz para ser utilizada en esta función.
Por este motivo, al momento de levantar el proceso de OSPF la definición del router ID sigue esta secuencia:
  • Si hay router-id configurado, se utiliza ese router ID.
  • Si no hay router-id configurado se utiliza la dirección IP más alta de las interfaces de loopback configuradas.
  • Si no hay interfaces de loopback configuradas, se toma la IP más alta de las interfaces físicas que se encuentren operativas (up) al momento de levantar el proceso.
  • Si no hay interfaces físicas operativas, el proceso de OSPF no se inicia.
Router ID en OSPFv3
OSPFv3 es la versión del protocolo OSPF que se utiliza en redes IPv6.
El formato del router ID es el mismo que en OSPFv2, por lo que en este caso el formato de las direcciones IP de las interfaces no coincide con el del router ID y consecuentemente no se pueden utilizar las direcciones de las interfaces como ID.
Por este motivo, es necesario configurar un router ID:

Router(config)#ipv6 router ospf 1
%OSPFv3-4-NORTRID: OSPFv3 process 1 could not pick a router-id,please configure manually
Router(config-rtr)#router-id ?
  A.B.C.D  OSPF router-id in IP address format
Router(config-rtr)#router-id 1.1.1.1

Entornos dual stack
Cuando se opera en entornos dual-stack (corriendo simultáneamente sobre la misma infraestructura IPv4 e IPv6) hay que tener en cuenta algunas precisiones adicionales respecto de la elección de router ID en OSPF v3.
  • Si se configura router-id, se utiliza ese router ID.
  • Si al momento de levantar el proceso de OSPFv3 no hay router-id configurado, y hay una interfaz activa con dirección IPv4 asignada, el proceso utilizará la dirección IP de esa interfaz como router ID.
  • Si la momento de levantar el proceso de OSPFv3 no hay router-id configurado, y hay varias interfaces activas con dirección IPv4 asignada, seguirá la secuencia de definición de router ID que se utiliza en OSPFv2.
Nota final: el router ID se define al momento de levantar el proceso de OSPF. Una vez que el protocolo se encuentra activa, si se realizan cambios de configuración (definición de router-id o activación de nuevas interfaces), esto no cambiará el router ID que utiliza el proceso. Para que se realice el cambio será necesario reiniciar el proceso.


7 comentarios:

  1. Gracias por el aporte..

    ResponderEliminar
  2. buenos dias :)
    queria pedirle al favor si me podria regalar un ejemplo mas detallado sobre como aplicar el ospf (router-id); es que me encuentro configurando un switch capa 3 y pues le he creado vlan pero estas no pueden acceder a internet, entoncs pues me gustaria ver un ejemplo para ver que le puedo aplicar a mi dispositivo.... le agradeceria ;)

    ResponderEliminar
    Respuestas
    1. Pues, el router-id de OSPF no es una limitación en lo que entiendo (supongo que estás utilizando IPv4).
      Si no logras acceso a Internet, habría que revisar el motivo, comenzando por la tabla de enrutamiento del dispositivo.
      Una introducción a la configuración de OSPF la tienes en este post: http://librosnetworking.blogspot.com.ar/2006/11/introduccin-ospf.html

      Eliminar
  3. Hola Oscar, como se cual es la IP mas alta?
    Saludos

    ResponderEliminar
    Respuestas
    1. Es un simple tema de comparación de números.
      192.168.1.100 es "más alto" o mayor que 192.168.1.1
      192.168.100.1 es mayor que 192.168.1.1
      201.1.1.1 es mayor que 192.168.100.1
      Espero se comprenda.

      Eliminar
  4. Buenos días. Si corro varios procesos OSPF en el router, se necesita un router-id diferente para cada uno?

    Ejemplo:

    router ospf 1266
    area 0
    router ospf 500
    area 1
    router ospf 10
    area 2

    ResponderEliminar
    Respuestas
    1. Luis.
      Efectivamente, cada proceso OSPF puede utilizar un RID diferente.
      Ahora bien, en primer lugar hay que considerar la verdadera necesidad de múltiples procesos ya que dispara los requerimientos de procesamiento.
      Por otra parte, ¿cuál sería la verdadera utilidad? Diferentes procesos de OSPF no intercambian rutas entre sí, con lo que una configuración como la que propones de diferente proceso para diferente área no le encuentro utilidad. Para intercambiar rutas habría que hacer redistribución de rutas y esto no solo hace que se pierda la acumulación de métricas sino que también agrega una complicación de gestión que no llego a poder justificar.

      Eliminar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.