OSPF Router ID

För att gå genom konceptet av OSPF router ID använder jag följande topologi:

Bild 1: OSPFv2 topologi

Bild 1 illustrerar nätverkstopologin för ett OSPFv2 nätverk. Bakgrunden i gul färg markerar Area 0 och förutom interfacet loopback 1 på R2 är alla andra interface inkluderade i Area 0.

Obs! Loopback 0 simulerar ett LAN anslutet till router R2. Loopback 1 simulerar ett WAN anslutning till Internet.

OSPF konfigurationsläge

OSPFv2 är aktiverat med hjälp av kommandot router ospf process-id som är tillgängligt från den globala konfigurationsläget. Process-id värdet representerar ett tal mellan 1 och 65 535 och väljs av nätverksadministratören. Process-id värdet är lokalt signifikant, vilket innebär att det inte behöver vara samma värde på de andra OSPF-routrarna för att etablera ett grannskap (adjacencies). Dock anses vara bästa praxis att använda samma process-id på alla OSPF-routrar.

Router ID

Ett OSPF-router-ID är ett 32-bitarsvärde, representerat som en IPv4-adress. Router-ID används för att identifiera en OSPF-router unikt. Alla OSPF-paket inkluderar router-ID för den ursprungliga routern. Varje router kräver ett router-ID för att delta i en OSPF nätverk. Router-ID kan definieras av en administratör eller det kan tilldelas av routern helt automatiskt. Router-ID används av en OSPF-router för att göra följande:

  • Delta i synkroniseringen av OSPF-databaser – Under Exchange State skickar routern med det högsta router-ID sina DBD-paket först.
  • Delta i valet av Designated Router (DR) – I en multiaccess LAN-miljö väljs routern med högst router-ID till DR. Routern med det näst högsta router-ID väljs som Backup Designated Router (BDR).

Men hur bestämmer routern sin router-ID?

Som illustreras i bild 2 bestäms router-ID baserat på ett av tre följande kriterier:

  1. Router-ID konfigureras explicit med kommandot router-id rid där rid är ett värde på 32 bitar uttryckt som IP-adress. Detta är den rekommenderade metoden för att bestämma ett router-ID.
  2. Om router-ID inte är specifikt konfigurerat väljer routern den högsta IPv4-adressen för något av de konfigurerade loopback-interface. Detta är det näst bästa alternativet för att bestämma ett router-ID.
  3. Om inga loopback-interface är konfigurerade väljer routern den högsta aktiva IPv4-adressen bland alla IP adresser för routerns interface. Detta är den minst rekommenderade metoden eftersom det gör svårare för administratörer att skilja mellan specifika routrar.
Bild 2: Router ID val och tilldelning

Loopback interface som router ID

I referens topologin är bara de fysiska interface konfigurerade och aktiva. Loopback-gränssnitten har inte konfigurerats.

När OSPF-routing är aktiverat på routern skulle routrarna välja den högsta aktiva konfigurerade IPv4-adress som router-ID (färgmarkeras).

  • R1: 10.1.1.14 (G0/0/0) väljs som router ID
  • R1: 10.1.1.5 (G0/0/1)
  • R2: 10.1.1.6 (G0/0/0)
  • R2: 10.1.1.9 (G0/0/1) väljs som router ID
  • R3: 10.1.1.13 (G0/0/0) väljs som router ID
  • R3: 10.1.1.10 (G0/0/1)

Obs! OSPF behöver inte aktiveras i ett interface för att det interfacet ska kunna väljas som router-ID.

Istället för att bestämma router ID grundad i de IP-adresserna för de fysiska interface konfigureras loopback interface. Normalt ska IPv4-adressen för denna typ av loopback-interface konfigureras med en 32-bitars nätmask (255.255.255.255). Detta skapar effektivt en host adress som inte annonseras till andra OSPF-routrar.

Bild 3 visar hur du konfigurerar ett loopback-interface på R1. Förutsatt att router-ID inte har konfigurerats på router R1:

Bild 3: Loopback interface som router ID

Fortsätter vi konfigurationen så resulterar att routrarna skulle välja router ID grundad i deras loopback interface IP adress.

  • R1 använder router-ID 1.1.1.1
  • R2 använder router-ID 2.2.2.2
  • R3 använder router-ID 3.3.3.3

Kommandot show ip protocols exekveras för att verifiera router ID.

Vi kan också konfigurera specifikt router ID och då bestämmer vi nätverksadministratörer, se bild 4:

Bild 4: Specifikt konfigurerat router ID

Att ändra ett router-ID

När en router har valt ett router-ID tillåter inte en aktiv OSPF-router att router-ID ändras förrän routern laddas om eller OSPF-processen återställs (resets).

Till exempel på router R1 har det konfigurerade router-ID tagits bort och R1 har startat om. Observera att det aktuella router-ID är nu 10.10.1.1, vilket är Loopback 0 IPv4-adressen.

För att återställa router ID 1.1.1.1 exekveras kommando router ospf 10 och därefter router-id 1.1.1.1 kom ihåg att ändringen genomförs när router startas om eller när man rensar aktuella OSPF processerna. Detta för att intilliggande OSPF routrar måste förhandlas om grundera i grannskapet.

  • R1(config)#router ospf 10
  • R1(config-router)#router-id 1.1.1.1
  • R1(config-router)#end
  • R1#clear ip ospf process
  • R1#show ip protocols | include Router ID

Att rensa OSPF-processen är den föredragna metoden för att återställa router-ID.

Under arbete ………

 

  • R1(config)#int g0/0/0
  • R1(config-if)#ip address 10.1.1.5 255.255.255.252
  • R1(config-if)#no shutdown
  • R1(config-if)#int g0/0/1
  • R1(config-if)#ip address 10.1.1.14 255.255.255.252
  • R1(config-if)#exit
  • R1(config)#
  • R2(config)#int g0/0/0
  • R2(config-if)#ip address 10.1.1.6 255.255.255.252
  • R2(config-if)#no shutdown
  • R2(config-if)#int g0/0/1
  • R2(config-if)#ip address 10.1.1.9 255.255.255.252
  • R2(config-if)#exit
  • R2(config)#
  • R3(config)#int g0/0/0
  • R3(config-if)#ip address 10.1.1.13 255.255.255.252
  • R3(config-if)#no shutdown
  • R3(config-if)#int g0/0/1
  • R3(config-if)#ip address 10.1.1.14 255.255.255.252
  • R3(config-if)#exit
  • R3(config)#