Skip to content

OSPF — Open Shortest Path First

OSPF is een link-state routing protocol — routers communiceren informatie over hun eigen links naar hun buren, zodat elke router een volledige kaart van het netwerk kan opbouwen. Snellere convergentie dan RIP en schaalt veel beter in grote, dynamische omgevingen. Draait bovenop IP met protocolnummer 89.


Recap: kernconcepten

  • Link-state info = netwerk-ID + cost (gebaseerd op bandbreedte) van een verbinding
  • Routers sturen op geregelde tijdstippen LSA's uit om buren up-to-date te houden
  • Kan rekening houden met meerdere metrics → redundante paden, load balancing, QoS routing
  • Communicatie via multicast en unicast

Areas

Een OSPF area is een groep routers die tot dezelfde topologiedatabase komen.

Type Beschrijving
Single-area OSPF Alle routers in dezelfde area — gebruik altijd area 0 voor toekomstige uitbreidbaarheid
Multi-area OSPF Routers verdeeld over meerdere areas, allemaal verbonden aan area 0 (backbone area)

Routers op de grens tussen backbone en andere areas → Area Border Routers (ABRs)

Voordelen multi-area

  1. Routeringstabellen blijven kleiner → sneller opzoeken
  2. Minder OSPF-overhead per area (minder uitgewisselde berichten)
  3. SPF-algoritme convergeert sneller bij topologiewijzigingen

OSPFv2 vs OSPFv3

OSPFv2 OSPFv3
IPv4
IPv6

Berichttypes

Routers wisselen informatie uit via 5 types berichten:

Type Functie
Hello Neighbor adjacencies opzetten en onderhouden
Database Description (DBD) Samenvatting van de topologiedatabase uitwisselen
Link-State Request (LSR) Meer gedetailleerde info opvragen
Link-State Update (LSU) Gedetailleerde topologie-info leveren
LS Acknowledge (LSAck) DBD ontvangst bevestigen

LSR, LSU en LSAck worden samen LSA's (Link-State Advertisements) genoemd.


Tabellen

Elke OSPF router bouwt drie tabellen op:

Tabel Inhoud Opvragen
Neighbour table Buur-routers in de area show ip ospf neighbor
Topology table Volledige kaart van de area show ip ospf database
Routing table Beste routes op basis van SPF show ip route

Neighbor Adjacencies

Hello berichten worden gestuurd naar multicast 224.0.0.5 (IPv4) of FF02::5 (IPv6).

Elke router heeft een uniek router-ID (32-bit, ziet eruit als IPv4-adres) dat meegestuurd wordt in hello berichten. Ontvangt een router een hello met een onbekend router-ID → voegt toe aan neighbour-lijst → stuurt ook een hello terug → neighbour adjacency opgezet.

Topologiedatabase opbouwen

  1. Na adjacency: DBD berichten uitwisselen
  2. DBD ontvangst bevestigen met LSAck
  3. Bij onbekende info: LSR sturen
  4. LSR beantwoord met LSU
  5. LSU's ook verstuurd bij elke topologiewijziging en standaard om de 30 minuten

Type Beschrijving
Stub netwerk Eindnetwerk — router verbonden met hosts/switches maar geen andere routers
Point-to-point Rechtstreekse verbinding tussen twee routers
Multi-access Meerdere routers verbonden aan hetzelfde broadcastdomein (via switch)

OSPF Overhead & DR/BDR

Bij een multi-access link met veel routers stijgt het aantal adjacencies snel: n(n-1)/2. Bij 5 routers geeft dat al 10 adjacencies — dat levert veel OSPF verkeer op, zeker bij wijzigingen en de periodieke LSU's.

Oplossing: Designated Router (DR) kiezen.

  • De DR verzamelt alle LSA's en verspreidt de topologie-info naar alle andere routers
  • De BDR (Backup DR) neemt over als de DR faalt
  • Alle andere routers = DROTHERs — sturen enkel naar DR/BDR via 224.0.0.6 (IPv4) / FF02::6 (IPv6)

Router-ID en verkiezing

Het router-ID bepaalt wie DR en BDR worden:

  • Op een point-to-point link: router met hoogste ID begint als eerste met DBD sturen
  • Op een multi-access link: router met hoogste ID wordt DR, tweede hoogste wordt BDR

Router-ID bepalen (volgorde van prioriteit): 1. Expliciet geconfigureerde router-ID 2. Hoogste IP van een loopback interface 3. Hoogste IP van een actieve fysieke interface