lunes, abril 18, 2016

OSPF: forzando la elección de un nuevo Designated Router (DR) y Backup Designated Router (BDR)

Si utilizamos el protocolo de enrutamiento OSPF en nuestra red sabremos que, dependiendo del tipo de red que tengamos (y en particular en redes multiacceso con broadcast, como puede ser una red Ethernet), OSPF puede necesitar que uno de los routers en la red funcione como Designated Router (DR) de su segmento de red y otro como Backup Designated Router (BDR). El resto de routers de la red en ese segmento solo formará adyacencia con el DR y el BDR, cuya finalidad es servir como punto central de difusión de rutas, el DR como punto principal y el BDR como respaldo en caso de caída del DR. Con esto lo que se consigue es que si tenemos varios routers en un mismo segmento no se intercambien información todos entre sí, reduciendo el tráfico que genera OSPF y agilizando la difusión de rutas.

La elección del DR y el BDR

OSPF sigue un procedimiento sencillo para elegir tanto al DR como al BDR:

  1. El router con la mayor prioridad OSPF es elegido como DR. El router con la segunda mayor prioridad OSP es elegido como BDR. Por defecto todos los routers tienen la misma prioridad, 1.
  2. A igualdad de prioridad, es elegido como DR el router con mayor Router Id, y como BDR el router con segundo mayor Router Id. El Router Id en OSPF es un parámetro que identifica el router y que si no se configura manualmente se escoge como la IP más elevada configurada en las interfaces loopback de los routers, y si no hay interfaces loopback configuradas, como la IP más elevada de entre las interfaces físicas.

Si no hemos planificado nuestra red adecuadamente o si hemos hecho cambios posteriores es posible que acabemos con un router que es DR o BDR que no sea el más conveniente para dicha tarea o que sencillamente queramos cambiarlo por alguna razón. Para ello podemos cambiar o bien el Router Id o, quizás más sencillamente, la prioridad de la interfaz del segmento del que se quiere que el router sea DR o BDR. Luego habrá que reiniciar el proceso OSPF en los routers para que la elección del DR y BDR tenga lugar de nuevo, lo que implica corte en el tráfico, por lo que debería realizarse en una ventana de mantenimiento. Veámoslo con un ejemplo.

Ejemplo: influyendo en la elección del DR y BDR

Tenemos la siguiente red, con los routers RouterD, RouterE y RouterF viéndose entre sí a través de una red multiacceso y sobre el direccionamiento 192.168.6.0/24, y acceso a otras redes que no nos interesan para el caso:


Veamos el estado de las interfaces del segmento que nos interesa de cada cada router (las salidas del comando show ip ospf interface <interface> se han recortado para una mejor comprensión):

RouterD#show ip ospf interface fastEthernet 0/1
FastEthernet0/1 is up, line protocol is up
  Internet Address 192.168.6.4/24, Area 2
  Process ID 1, Router ID 192.168.6.4, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DROTHER, Priority 1
  Designated Router (ID) 192.168.7.6, Interface address 192.168.6.6
  Backup Designated router (ID) 192.168.6.5, Interface address 192.168.6.5
  [...]

RouterE#show ip ospf interface fastEthernet 0/1
FastEthernet0/1 is up, line protocol is up
  Internet Address 192.168.6.5/24, Area 2
  Process ID 1, Router ID 192.168.6.5, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 192.168.7.6, Interface address 192.168.6.6
  Backup Designated router (ID) 192.168.6.5, Interface address 192.168.6.5
  [...]

RouterF#show ip ospf interface f0/0
FastEthernet0/0 is up, line protocol is up
  Internet Address 192.168.6.6/24, Area 2
  Process ID 1, Router ID 192.168.7.6, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 192.168.7.6, Interface address 192.168.6.6
  Backup Designated router (ID) 192.168.6.5, Interface address 192.168.6.5
  [...]


Puede verse que RouterF es el DR en virtud de su mayor Router Id (192.168.7.6, la IP más elevada de entre todas las interfaces que tiene configuradas el router) al tener todos los routers la misma prioridad (1). El BDR es RouterE al tener el segundo mayor Router Id (192.168.6.5) de entre los tres routers. Mientras, RouterD está en estado DROTHER, lo que significa que no es ni el DR ni el BDR.

Ahora supongamos que queremos que el DR sea RouterD. Vamos a modificar la prioridad de la interfaz de RouterD que pertenece al segmento compartido con los otros dos routers, aumentándola a 10:

RouterD#conf t
RouterD(config)#interface fastEthernet 0/1
RouterD(config-if)#ip ospf priority 10


Si hacemos una verificación con show ip interface fast0/1 vemos que nada ha cambiado salvo que la prioridad de la interfaz para OSPF es 10:

RouterD#show ip ospf interface fastEthernet 0/1
FastEthernet0/1 is up, line protocol is up
  Internet Address 192.168.6.4/24, Area 2
  Process ID 1, Router ID 192.168.6.4, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DROTHER, Priority 10


Esto es así porque OSPF no volverá a recalcular quién es el DR y quién el BDR hasta que haya un cambio que haga necesario dicho recálculo, como la caída de los routers o la pérdida de línea. El cambio puede forzarse también mediante el comando clear ip ospf process, que resetea el proceso OSPF, y esto es lo que haremos si queremos aplicar el cambio de DR. El comando se ejecutará en los actuales DR y BDR para que ambos se pierdan y el recálculo se ejecute:

RouterF#clear ip ospf process
Reset ALL OSPF processes? [no]: yes

RouterE#clear ip ospf process
Reset ALL OSPF processes? [no]: yes


Veamos qué ha ocurrido con el estado de las interfaces:

RouterD#show ip ospf interface fastEthernet 0/1
FastEthernet0/1 is up, line protocol is up
  Internet Address 192.168.6.4/24, Area 2
  Process ID 1, Router ID 192.168.6.4, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 10
  Designated Router (ID) 192.168.6.4, Interface address 192.168.6.4
  Backup Designated router (ID) 192.168.6.5, Interface address 192.168.6.5
  [...]

RouterE#show ip ospf interface fastEthernet 0/1
FastEthernet0/1 is up, line protocol is up
  Internet Address 192.168.6.5/24, Area 2
  Process ID 1, Router ID 192.168.6.5, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DROTHER, Priority 1
  Designated Router (ID) 192.168.6.4, Interface address 192.168.6.4
  Backup Designated router (ID) 192.168.7.6, Interface address 192.168.6.6
  [...]

RouterF#show ip ospf interface fastEthernet 0/0
FastEthernet0/0 is up, line protocol is up
  Internet Address 192.168.6.6/24, Area 2
  Process ID 1, Router ID 192.168.7.6, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 192.168.6.4, Interface address 192.168.6.4
  Backup Designated router (ID) 192.168.7.6, Interface address 192.168.6.6
  [...]


Tras el reinicio del proceso OSPF, RouterD se ha convertido en el DR gracias a su prioridad de 10 y RouterF es el BDR al tener la IP más alta de entre los dos routers restantes, ambos con una prioridad de 1.

No hay comentarios:

Publicar un comentario