I det tidigare avsnittet om Router ID introducerades ett praktiskt exempel med tre routrar som är anslutna till varandra via Ethernet-portar. Varje router har dessutom ett lokalt nätverk som implementeras på ett loopback-interface. Alla routrar är konfigurerade att tillhöra OSPF area 0, vilket är en grundläggande princip i en single area OSPF-uppsättning.
I detta avsnitt kommer fokus att ligga på de två kommandon som används för att aktivera och finjustera OSPF: network och ip ospf. Vi börjar med network-kommandot, som används för att definiera vilka interface som deltar i OSPF-routing, och går sedan vidare till ip ospf kommandot, som möjliggör en mer detaljerad kontroll över specifika interface och deras nätverkstyp.
Network kommandot
Network kommandot är det primära sättet att aktivera OSPF på en router. Det avgör vilka interface som ska ingå i OSPF-processen baserat på deras nätverksadresser. I en Single Area OSPF konfiguration används Area 0 som standard, eftersom den fungerar som OSPF-ryggraden och är nödvändig för att möjliggöra kommunikation mellan flera områden om nätverket senare utökas.
Syntaxen för kommandot network är:
Router(config-router)# network network-address wildcard-mask area area-id
Wildcard masken är en viktig del av network-kommandot i OSPF. Den fungerar som motsatsen till en traditionell nätmask och används för att definiera vilka delar av en IP-adress som ska matchas eller ignoreras. För att beräkna en wildcard mask subtraheras nätmasken från 255.255.255.255. Till exempel resulterar en /24-nätmask i wildcard-masken 0.0.0.255, en /26-nätmask i 0.0.0.63, och en /30-nätmask i 0.0.0.3.
255.255.255.255 255.255.255.255 255.255.255.255 - 255.255.255.0 255.255.255.192 255.255.255.252 --------------- --------------- --------------- 0.0.0.255 0.0.0.63 0.0.0.3
Aktivering av OSPF med kommandot network
R1 OSPF aktivering:
R1(config)# router ospf 10 R1(config-router)# network 10.10.1.0 0.0.0.255 area 0 R1(config-router)# network 10.1.1.4 0.0.0.3 area 0 R1(config-router)# network 10.1.1.12 0.0.0.3 area 0 R1(config-router)# exit R1(config)# R2(config)# router ospf 10 R2(config-router)# network 10.10.2.0 0.0.0.255 area 0 R2(config-router)# network 10.1.1.4 0.0.0.3 area 0 R2(config-router)# network 10.1.1.8 0.0.0.3 area 0 R2(config-router)# exit R2(config)# R3(config)# router ospf 10 R3(config-router)# network 10.10.1.0 0.0.0.255 area 0 R3(config-router)# network 10.1.1.4 0.0.0.3 area 0 R3(config-router)# network 10.1.1.12 0.0.0.3 area 0 R3(config-router)# exit R3(config)#
I detta exempel aktiveras OSPF på alla interface vars IP-adresser matchar de angivna nätverken och wildcard-maskerna. Detta gör att routrarna R1, R2 och R3 kan utbyta OSPF-paket och annonsera sina anslutna nätverk till andra OSPF-noder inom samma area.
Observera att R2:s loopback-interface Lo1 inte inkluderas i konfigurationen, eftersom det inte tillhör OSPF-arean och används för en annan funktion, nämligen anslutning till internet.
Quad Zero-konfiguration
Istället för att manuellt inkludera varje interface genom att ange dess nätverksadress och wildcard-mask, kan alla interface aktiveras för OSPF med ett enda kommando. Detta görs genom att använda en ”quad zero”-konfiguration, där följande kommando aktiverar OSPF på samtliga interface oavsett deras IP-adresser:
R1(config-router)# network 0.0.0.0 255.255.255.255 area 0
R1(config)# router ospf 10 R1(config-router)# network 0.0.0.0 255.255.255.255 area 0 R1(config-router)# exit R1(config)# R2(config)# router ospf 10 R2(config-router)# network 0.0.0.0 255.255.255.255 area 0 R2(config-router)# exit R2(config)# R3(config)# router ospf 10 R3(config-router)# network 0.0.0.0 255.255.255.255 area 0 R3(config-router)# exit R3(config)#
I denna konfiguration fungerar 0.0.0.0 255.255.255.255
som en ”match-all”-regel, vilket aktiverar OSPF på samtliga interface med en konfigurerad IP-adress. Detta är särskilt användbart i miljöer där man vill säkerställa att alla interface deltar i OSPF-routing utan att behöva specificera dem individuellt.
Det är dock viktigt att notera att detta även kan inkludera interface där OSPF-meddelanden inte är nödvändiga eller önskade. För att undvika att OSPF skickar meddelanden på sådana interface kan kommandot passive-interface
användas. Detta gör att nätverket fortfarande annonseras via OSPF, men utan att skicka Hello-paket och etablera grannskap på det specifika interfacet.
Ett alternativ till ”quad zero”-konfigurationen är att aktivera OSPF på ett enskilt interface genom att ange dess IP-adress tillsammans med wildcard-masken 0.0.0.0
, istället för en specifik nätverksadress och wildcard-mask. Detta förenklar aktiveringen av OSPF på ett specifikt interface utan att behöva matcha ett helt nätverk eller inkludera flera interface samtidigt.
R1(config)# router ospf 10 R1(config-router)# network 10.10.1.1 0.0.0.0 area 0 R1(config-router)# network 10.1.1.5 0.0.0.0 area 0 R1(config-router)# network 10.1.1.14 0.0.0.0 area 0 R1(config-router)# exit R1(config)# R2(config)# router ospf 10 R2(config-router)# network 10.10.2.1 0.0.0.0 area 0 R2(config-router)# network 10.1.1.6 0.0.0.0 area 0 R2(config-router)# network 10.1.1.9 0.0.0.0 area 0 R2(config-router)# exit R2(config)# R3(config)# router ospf 10 R3(config-router)# network 10.10.3.1 0.0.0.0 area 0 R3(config-router)# network 10.1.1.10 0.0.0.0 area 0 R3(config-router)# network 10.1.1.13 0.0.0.0 area 0 R3(config-router)# exit R3(config)#
Denna metod är idealisk för att aktivera OSPF på specifika interface när du vill ha full kontroll över vilka interface som ska delta i OSPF-routning, utan att behöva beräkna wildcard-masken eller riskera att inkludera andra interface med liknande nätverksadresser.
Aktivering av OSPF per interface med ip ospf kommandot
Som ett alternativ till network
-kommandot kan OSPF aktiveras direkt på interface-nivå med hjälp av ip ospf
-kommandot. Detta tillvägagångssätt används när du vill ha mer kontroll över specifika interface, eller när wildcard-masker inte är nödvändiga. Kommandot har följande syntax:
Router(config-router)# ip ospf process-id area area-id
Genom att konfigurera OSPF på interface-nivå kan du exakt specificera vilka interface som ska delta i routning-processen. Exempelvis:
R1(config)# interface GigabitEthernet 0/0/0 R1(config-if)# ip ospf 10 area 0 R1(config)# interface GigabitEthernet 0/0/1 R1(config-if)# ip ospf 10 area 0 R1(config-if)# exit R1(config)# interface Loopback 0 R1(config-if)# ip ospf 10 area 0 R1(config-if)# exit R1(config)#
En viktig fördel med att använda ip ospf
-kommandot är möjligheten att justera nätverkstypen direkt på interfacet. Detta är särskilt användbart på punkt-till-punkt-länkar, där standardnätverkstypen (broadcast) inte är optimal. Genom att anpassa nätverkstypen kan du förbättra prestanda och konvergens samt undvika problem som kan uppstå vid felaktiga interface-nivåkonfigurationer.
Kort om nätverkstypen i OSPF
OSPF stöder olika nätverkstyper som bestämmer hur routrar kommunicerar med varandra på ett specifikt gränssnitt:
- Broadcast-nätverk: Används på Ethernet-länkar. Kräver val av en DR (Designated Router) och BDR (Backup Designated Router).
- Punkt-till-punkt-nätverk: Används på länkar som ansluter två routrar direkt, t.ex. seriella interface. Ingen DR/BDR behövs.
- Punkt-till-multipunkt-nätverk: Stödjer flera routrar utan krav på DR/BDR.
- Loopback: Loopback-interface används oftast för att annonsera en router-ID och betraktas som en punkt-till-punkt nätverkstyp av OSPF.
Konfiguration av länkar mellan R1, R2 och R3
I exemplet är alla routrar anslutna via Ethernet-länkar som är en broadcast-nätverk och tillhör area 0. Så här kan konfigureras Ethernet-länkar på routern R1:
R1(config)# interface GigabitEthernet 0/0/0 R1(config-if)# ip ospf 10 area 0 R1(config-if)# ip ospf network point-to-point R1(config-if)# exit R1(config)# interface GigabitEthernet 0/0/1 R1(config-if)# ip ospf 10 area 0 R1(config-if)# ip ospf network point-to-point R1(config-if)# exit