OSPF inledning

OSPF står för Open Shortest Path First. OSPF är ett länkstatus routing-protokoll som skapades i mitten av 1980-talet och publicerades som öppen standard. Eftersom OSPF är en öppen standard kan det användas i olika nätverksleverantörers hårdvara. OSPF finns i flera versioner 1, 2, och 3. OSPFv3 är samma som OSPFv2 men inkluderar också IPv6 routing.

Med termen länk eller ”link” menas delvis ett routers interface och delvis länken som kopplar ihop routrar. Med ”state” menas hur interfacet är anslutet till ett annat routers interface. När två routrar kopplas ihop bygger de en specifik länk utifrån sammankopplade interface och deras nätverksegenskaper. Länk-informationen inkluderar nätverksprefix, prefixlängd, och kostnad (metric).

OSPF komponenter

OSPF routing-protokoll har tre grundläggande komponenter: meddelande, databas och algoritm. OSPF använder olika meddelandetyper för att samla routing-information som bearbetas och som lagras i databaser kända som LSDB eller Link State Database. Detta uppfattas som datastrukturer. Det är routing-algoritmer som bearbetar vidare datastrukturer.

Bild 1: Meddelandebaserad databas
  • Meddelande
    • OSPF-routrar växlar fem olika meddelande/paket med varandra med syfte att upptäcka andra OSPF-routrar i samma nätverk eller area och etablera ett samarbete. Här nedan anges de på engelska och i en viss ordning så att de kan identifieras också numeriskt :
      1. Hello
      2. Database description
      3. Link-state request – LSR
      4. Link-state update – LSU
      5. Link-state acknowledgment – LSAck
  • Datastruktur
    • Utifrån meddelanden som växlas mellan OSPF-routrar skapar routrar tre databaser och från dessa databaser skapar routrar olika tabeller. Databaserna lagras och hanteras i RAM-minnet:
      • Adjacency database – skapar en tabell där OSPF grannar inkluderas (Neighbor table, show ip ospf neighbor)
      • Link-state database – skapar en tabell där specificeras OSPF topologi (Topology table, show ip ospf database)
      • Forwarding database – skapar en tabell där inkluderas vägar till olika destinationer (Routing table, show ip route)
  • Algoritm
    • OSPF routrar bygger upp topologitabellen grundade i beräkningar som görs av algoritmen Dijkstra shortest-path first (SPF). SPF algoritmen grundar sitt arbete i kumulativa kostnaden för att nå en destination.
    • SPF algoritmen bygger upp ett SPF-träd genom att placera varje router vid trädets rot och beräkna den kortaste vägen till varje nod. SPF-trädet används sedan för att beräkna de bästa vägar till destinationer. De bästa vägar placeras i Forwarding databas (routing-tabell).
Bil 2: Dijkstra SPF algoritm hanterar databaser (LSDB)

OSPF Link-State operation

OSPF routrar hanterar routing-information i en komplett länkstatus routing-process så att routing-information är alltid aktualiserad (konvergerad). Här nedan en lista på olika steg i processen:

  1. Etablera OSPF-grannskap (Neighbor Adjacencies) – OSPF-aktiverade routrar måste känna igen varandra i nätverket där de befinner sig innan de kan dela information med varandra. En OSPF-aktiverad router skickar Hello-paket ut alla OSPF-routrar som finns i närheten för att avgöra om närliggande OSP-routrar kan inkluderas i OSPF-grannskapet, ”OSPF-adjacency”.
  2. Växla LSA-meddelande (Link-State Advertisements) – Efter att OSPF-routrar har identifieras och efter att de är med i OSPF-grannskapet utbyter de LSA-meddelande. LSA innehåller status och kostnad för varje direkt ansluten länk.
  3. Bygga upp länkstatus-databasen (Link-State Database) – Efter att LSA har tagits emot bygger OSPF-aktiverade routrar topologitabellen (LSDB) baserat på innehållet i de mottagna LSA. Denna LSDB databas innehåller så småningom all information om områdets topologi.
  4. Exekvera SPF algoritmen – SPF algoritmen bygger SPF-trädet där varje OSPF router placeras så att de nås genom olika route, vägar till routern.
  5. Välja bästa vägen (route) – Efter att SPF-trädet har byggts erbjuds de bästa vägarna till varje destinationsnätverk så att vägarna kan infogas i routing-tabellen. Men först kontrolleras om det finns andra väg till samma destinationsnätverk och som kostar mindre (lägre administrativ avstånd).

Studera exemplet nedan som visar ett OSPF-topologi och en tabell med innehållet i routing-tabellen för router R1. Bilden visar teoretiska värde som kostnader mellan länkarna.

Bil 3: OSPF-nätverkstopologi
Destination Shortest Path Cost
10.5.0.0 /16 R1 —> R2 20 + 2 = 22
10.6.0.0 /16 R1 —> R3   5  + 2 = 7
10.7.0.0 /16 R1 —> R3  5 + 10 = 15
10.8.0.0 /16 R1 —> R3 —> R4 5 + 10 + 2 = 17
10.9.0.0 /16 R1 —> R2 20 + 10 = 30
10.10.0.0 /16 R1 —> R3 —> R4 5 + 10 + 10 = 25
10.11.0.0 /16 R1 —> R3 —> R4 —> R5 5 + 10 + 10 + 2 = 27

OSPF area

OSPF använder konceptet area för att förenkla administrationen och optimera nätverkstrafik och resursutnyttjande. En area är helt enkelt en logisk grupp av sammanhängande nätverk och routrar. Alla routrar i samma area har samma topologitabell.

Varje area i ett OSPF-nätverk måste vara anslutet till stamnätarea (även känt som area 0). Alla routrar inom en area måste ha samma area-ID för att vara med i OSPF-grannskapet.

OSPF areor kan implementeras (installeras, konfigureras) i två olika sätt:

  • Single-Area OSPF – Alla routrar i en och samma area
  • Multiarea OSPF – Flera areor ordnade inom en viss hierarki.

En router som har interface i mer än en area (area 0 och area 1, till exempel) är känd som en Area Border Router (ABR). En router som ansluter ett OSPF-nätverk till andra routing-domäner (till ett EIGRP-nätverk, till exempel) kallas Autonomous System Border Routers (ASBR).

Bild 4: Multiarea OSPF