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.


11 comentarios:

  1. Gracias por el aporte..

    ResponderBorrar
  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 ;)

    ResponderBorrar
    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

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

    ResponderBorrar
    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.

      Borrar
  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

    ResponderBorrar
    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.

      Borrar
  5. Es mejor configurar una interface loopback y configurarlo como router id ? Que ventajas tendria en comparacion a la seleccion de un interface como router id del proceso ospf?

    ResponderBorrar
    Respuestas
    1. Es difícil decir que una opción es mejor que otra. Generalmente, diferentes implementaciones tienen diferentes requerimientos, y por lo tanto conviene analizar cada caso en contexto.
      En una red IPv4 pura, la ventaja de utilizar la interfaz de loopback es que si ese segmento IP (el de la interfaz loopback) se incluye en el enrutamiento dinámico entonces, se puede utilizar la misma dirección para tareas de gestión (SSH, SNMP, etc.) y para diagnóstico (ping, trace, etc.) y por lo tanto actúa como un identificador del dispositivo para múltiples propósitos.
      Siempre pensando en una interfaz loopback que, por sus característica siempre será preferida como RID antes que las interfaces físicas.
      En cambio en redes que están desplegando o ya han desplegado IPv6 considero conveniente utilizar el RID como mecanismo que permite fijar el RID, asegurar la activación del proceso de OSPF e independizar la operación de la disponibilidad o no de una dirección IPv4.

      Borrar
    2. Si tienes configurada como router-id la IP de una interface física y está se pone down, si tienes otras adyacencias con otras interfaces se te van a caer porque el otro router no sabe llegar ya al router id noo ??? Por eso seria mejor siempre una loopback no ??

      Borrar
    3. No.
      El RID actúa exclusivamente como un identificador del dispositivo dentro de la topología de OSPF. No es origen ni destino de ningún tipo de tráfico, por lo que en sí mismo no opera como una dirección IP sino que solo tiene el formato de una dirección IP.
      Si utilizo como RID la dirección IP de una interfaz, cuando esa interfaz cae solamente caen las adyacencias que se hayan levantado a través de esa interfaz, las demás seguirán operativas.

      Borrar

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.