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 denna konfiguration även kan inkludera interface där OSPF-meddelanden inte är nödvändiga eller önskade. För att undvika att OSPF skickar Hello-paket och etablerar grannskap på sådana interface, kan kommandot passive-interface
användas. Detta gör att nätverket fortfarande annonseras via OSPF, men utan att aktivt delta i grannskapsetablering på det specifika interfacet.
Aktivera OSPF på ett enskilt interface
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 att använda en generell nätverksadress och wildcard-mask.
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 gör att OSPF endast aktiveras på det specifika interfacet, utan att påverka andra interface som kanske inte ska delta i OSPF.
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-if)# ip ospf network point-to-point R1(config-if)# 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 R1(config-if)# interface Loopback 0 R1(config-if)# ip ospf 10 area 0 R1(config-if)# ip ospf network point-to-point 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.
Mer om nätverkstyper i OSPF i kommande avsnitt.