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 ”link” menas ett routers interface och med ”state” hur länken (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

Alla routing-protokoll har liknande tre komponenter. De använder olika meddelandetyper för att samla routing-information som bearbetas och lagras i databaser (LSDB). Detta uppfattas som datastrukturer. Det är routing-algoritmer som bearbetar vidare datastrukturer.

Bild 1: Meddelandebaserad databas
  • Meddelande
    • Routrar växlar fem olika meddelande med varandra med syfte att upptäcka OSPF-routrar i samma nätverk eller area. Paketen används för att växla routing-information routrar mellan. Här nedan anges de på engelska:
      • Hello
      • Database description
      • Link-state request
      • Link-state update
      • Link-state acknowledgment
  • Datastruktur
    • Utifrån meddelanden 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 innan de kan dela information. 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 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

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, sagt med andra ord alla routrar i samma area känner varandra och delar samma routing-information men de känner inte till routrar i de andra områdena.

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