OSPF Router ID

För att komma igång diskuteras i detta avsnitt grunden som OSPF baserar hela sin process på, OSPF router-ID.

Figuren visar topologin som används för att konfigurera OSPFv2 i denna modul. Routerna i topologin har en startkonfiguration, inklusive interface-adresser. För närvarande är ingen statisk routing eller dynamisk routing konfigurerad på någon av routerna. Alla interface på R1, R2 och R3 (förutom loopback 1 på R2) finns inom OSPF stamarea (Backbone, Area 0). ISP-routern används som gateway till internet för routing-domänen.

Observera: I denna topologi används loopback-interfacet för att simulera WAN-länken till Internet och ett LAN anslutet till varje router. Detta görs för att möjliggöra att denna topologi dupliceras för demonstrationsändamål på routrar som endast har två Gigabit Ethernet-gränssnitt.

Routers konfigurationsläge för OSPF

OSPFv2 aktiveras med hjälp av kommandot router ospf process-id i den globala konfigurationsläget, som visas i kommandofönstret för R1. Värdet process-id representerar ett nummer 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-routerna för att etablera grannskap med dessa grannar. Det anses vara bästa praxis att använda samma process-id på alla OSPF-routrar.

Efter att ha angett kommandot router ospf process-id går routern in i routerkonfigurationsläget, vilket indikeras av R1(config-router)#-prompten. I konfigurationsläget kan anges ett frågetecken (?), för att visa alla tillgängliga kommandon i detta läge. Listan över kommandon som visas här har ändrats för att endast visa de kommandon som är relevanta för detta avsnitt.

Router-ID

En OSPF router-ID är ett 32-bitars värde, representerat som en IPv4-adress. Router-ID används för att unikt identifiera en OSPF-router. Alla OSPF-paket inkluderar router-ID från den ursprungliga routern. Varje router kräver en router-ID för att delta i en OSPF-domän. Router-ID kan definieras av en administratör eller tilldelas automatiskt av routern. Router-ID används av en OSPF-aktiverad router för att göra följande:

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

Observera: Processen för val av DR och BDR diskuteras mer ingående senare i denna modul.

Företrädesordning för Router-ID

Men hur bestämmer routern router-ID? Som illustrerat i figuren härleder Cisco-routers Router-ID baserat på en av tre kriterier, i följande preferensordning:

  1. Router-ID konfigureras explicit med hjälp av kommandot OSPF router-id rid i konfigurationsläget. rid-värdet är ett 32-bitars värde uttryckt som en IPv4-adress. Detta är det rekommenderade sättet att tilldela en router-ID.
  2. Om Router-ID inte konfigureras explicit väljer routern den högsta IPv4-adressen för något av de konfigurerade loopback-interfacen. Detta är det näst bästa alternativet för att tilldela en router-ID.
  3. Om inga loopback-interface är konfigurerade väljer routern den högsta aktiva IPv4-adressen för något av sina fysiska interface. Detta är det minst rekommenderade sättet eftersom det gör det svårare för administratörer att skilja mellan specifika routrar.

Konfigurera ett loopback-interface som Router-ID

I referenstopologin är endast de fysiska interfacen konfigurerade och aktiva. Loopback-interfacet har inte konfigurerats. När OSPF-routing aktiveras på routern väljer routerna följande högsta aktiva konfigurerade IPv4-adress som router-ID.

  • R1: 10.1.1.14 (G0/0/1)
  • R2: 10.1.1.9 (G0/0/1)
  • R3: 10.1.1.13 (G0/0/0)

Observera: OSPF behöver inte vara aktiverat på ett interface för att det interfacet ska väljas som router-ID.

Istället för att förlita sig på fysiska interface kan router-ID tilldelas ett loopback-interface. Vanligtvis bör IPv4-adressen för denna typ av loopback-interface konfigureras med en 32-bitars nätmask (255.255.255.255). Detta skapar effektivt en rutt för en nätverksenhet. En 32-bitars rutt för en nätverksenhet skulle inte annonseras som en rutt till andra OSPF-router.

Exemplet visar hur du konfigurerar ett loopback-interface på R1. Om router-ID inte har konfigurerats explicit eller tidigare lärt sig, kommer R1 att använda IPv4-adressen 1.1.1.1 som sitt router-ID. Antag att R1 ännu inte har lärt sig ett router-ID.

Explicit konfigurera ett Router-ID

I figuren har topologin uppdaterats för att visa router-ID för varje router:

  • 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

Använd kommandot router-id rid i routerkonfigurationsläge för att manuellt tilldela ett router-ID. I exemplet tilldelas router-ID 1.1.1.1 till R1. Använd kommandot show ip protocols för att verifiera router-ID.

Ä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 har laddats om eller OSPF-processen återställs.

I exemplet för R1 har det konfigurerade Router-ID tagits bort och routern har laddats om. Observera att det nuvarande Router-ID är 10.10.1.1, vilket är IPv4-adressen för Loopback 0. Router-ID borde vara 1.1.1.1. Därför konfigureras R1 med kommandot router-id 1.1.1.1.

Observera hur ett informationsmeddelande visas som anger att OSPF-processen måste rensas eller att routern måste laddas om. Anledningen är att R1 redan har grannskapsförbindelser med andra grannar som använder router-ID 10.10.1.1. Dessa grannskapsförbindelser måste förhandlas om med det nya Router-ID 1.1.1.1. Använd kommandot clear ip ospf process för att återställa grannskapsförbindelserna. Du kan sedan verifiera att R1 använder det nya Router-ID-kommandot med kommandot show ip protocols med pipe-tecknet för att endast visa avsnittet för router-ID.

Att rensa OSPF-processen är det föredragna sättet att återställa ett Router-ID

  • R1# show ip protocols | include Router ID
  • Router ID 10.10.1.1
  • R1# configure terminal
  • R1(config)# router ospf 10
  • R1(config-router)# router-id 1.1.1.1
  • % OSPF: Reload or use ”clear ip ospf process” command, for this to take effect
  • R1(config-router)# end
  • R1# clear ip ospf process
  • Reset ALL OSPF processes? [no]: y
  • *Jun 6 01:09:46.975: %OSPF-5-ADJCHG: Process 10, Nbr 3.3.3.3 on GigabitEthernet0/0/1 from FULL to DOWN, Neighbor Down: Interface down or detached
  • *Jun 6 01:09:46.975: %OSPF-5-ADJCHG: Process 10, Nbr 2.2.2.2 on GigabitEthernet0/0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
  • *Jun 6 01:09:46.981: %OSPF-5-ADJCHG: Process 10, Nbr 3.3.3.3 on GigabitEthernet0/0/1 from LOADING to FULL, Loading Done
  • *Jun 6 01:09:46.981: %OSPF-5-ADJCHG: Process 10, Nbr 2.2.2.2 on GigabitEthernet0/0/0 from LOADING to FULL, Loading Done
  • R1# show ip protocols | include Router ID
  • Router ID 1.1.1.1
  • R1#

Observera: Kommandot router-id är det föredragna sättet. Annars väljer routern den högsta IPv4-adressen för loopback-interfacet eller den högsta aktiva IPv4-adressen för något av sina fysiska interface.