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
- Routeringstabellen blijven kleiner → sneller opzoeken
- Minder OSPF-overhead per area (minder uitgewisselde berichten)
- 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
- Na adjacency: DBD berichten uitwisselen
- DBD ontvangst bevestigen met LSAck
- Bij onbekende info: LSR sturen
- LSR beantwoord met LSU
- LSU's ook verstuurd bij elke topologiewijziging en standaard om de 30 minuten
Link types
| 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