Network och ip ospf

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-gränssnitt. 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 gränssnitt som deltar i OSPF-routning, och går sedan vidare till ip ospf-kommandot, som möjliggör en mer detaljerad kontroll över specifika gränssnitt och deras nätverkstyp.

Network-kommandot: Aktivera OSPF och definiera områden

Network-kommandot är det vanligaste sättet att aktivera OSPF på en router. Det identifierar vilka gränssnitt som ska delta i OSPF-processen baserat på deras nätverksadresser. För routrar som tillhör en single-area OSPF-konfiguration används area 0 som standard area. Detta beror på att OSPF area 0 fungerar som en ryggrad i OSPF-nätverk 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 spelar en avgörande roll i detta kommando. Den är motsatsen till en vanlig nätmask och används för att matcha eller ignorera specifika bitvärden i en adress. För att beräkna en wildcard-mask subtraheras nätmasken från 255.255.255.255. Exempelvis resulterar en /24-nätmask i en wildcard-mask på 0.0.0.255, medan en /26-nätmask resulterar i 0.0.0.63.

  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

Följande topologi ger oss möjlighet att illustrera aktivering av OSPF:

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

I detta exempel aktiveras OSPF på alla interface vars IP-adresser matchar de angivna nätverken och wildcard-maskerna. Detta innebär att routern skickar och tar emot OSPF-paket på dessa interface och annonserar deras anslutna nätverk till andra OSPF-noder i arean.

Quad Zero-konfiguration

Ett alternativ till att använda specifika nätverksadresser och wildcard-masker i OSPF-konfigurationen är att använda en ”quad zero”-konfiguration. Detta innebär att alla gränssnitt på routern aktiveras för OSPF, oavsett deras IP-adresser, genom att använda följande kommando:

R1(config-router)# network 0.0.0.0 255.255.255.255 area 0

I denna konfiguration fungerar 0.0.0.0 255.255.255.255 som en ”match-all”-regel som aktiverar OSPF på varje interface med en konfigurerad IP-adress. Detta är särskilt användbart i miljöer där du vill säkerställa att alla interface på routern deltar i OSPF-routning-processen utan att behöva ange dem individuellt.

Observera dock att detta kan inkludera interface där OSPF-meddelanden inte är nödvändiga eller önskade, till exempel interface mot stub-nätverk. I sådana fall kan passive-interface-kommandot användas för att undvika att OSPF-meddelanden skickas på specifika interface, samtidigt som deras nätverk annonseras.

Ett annat alternativ till ”quad zero”-konfigurationen är att ange interfacets specifika IP-adress tillsammans med en wildcard-mask på 0.0.0.0. Detta tillvägagångssätt används när du vill undvika komplexitet i att aktivera OSPF på ett enskilt interface utan att behöva matcha en nätverksadress eller inkludera flera interface.

R1(config)# router ospf 10
R1(config-router)# network 10.1.1.5 0.0.0.0 area 0
R1(config-router)# network 10.10.1.1 0.0.0.0 area 0
R1(config-router)# exit

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 inkludera andra som delar samma nätverksadress.

ip ospf-kommandot: Finjustering av OSPF på interface-nivå

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 ofta när du vill ha mer kontroll över specifika interface, eller när wildcard-masker är onödiga. Kommandot har följande syntax:

Router(config-router)# ip ospf process-id area area-id

Genom att konfigurera OSPF direkt på gränssnittsnivå kan du exakt specificera vilka gränssnitt 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 annan viktig fördel med att använda ip ospf-kommandot är möjligheten att justera nätverkstypen. 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 undvika problem som orsakas av 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 gränssnitt. Ingen DR/BDR behövs.
  • Punkt-till-multipunkt-nätverk: Stödjer flera routrar utan krav på DR/BDR, t.ex. Frame Relay.
  • Loopback: Loopback-gränssnitt 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 och tillhör area 0. Vi konfigurerar nätverkstypen i samma ospf processen:

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
R2(config)# interface GigabitEthernet 0/0/0
R2(config-if)# ip ospf 10 area 0
R2(config-if)# ip ospf network point-to-point
R2(config-if)# exit
R2(config)# interface GigabitEthernet 0/0/1
R2(config-if)# ip ospf 10 area 0 
R2(config-if)# ip ospf network point-to-point
R2(config-if)# exit
R3(config)# interface GigabitEthernet 0/0/0
R3(config-if)# ip ospf 10 area 0
R3(config-if)# ip ospf network point-to-point
R3(config-if)# exit
R3(config)# interface GigabitEthernet 0/0/1
R3(config-if)# ip ospf 10 area 0 
R3(config-if)# ip ospf network point-to-point
R3(config-if)# exit

Ethernet-länkar mellan routrar är konfigurerade som punkt-till-punkt för att undvika behov av valet av DR/BDR.