nexthoptools

Routing / Routing protocols / OSPF

OSPF

Open Shortest Path First · link-state · IGP

Standardvalget inne i et enterprise-nettverk. Alle routere får det samme kartet over nettet og regner ut korteste vei selv. OSPF er en åpen standard, så switcher, routere og brannmurer fra ulike leverandører kan snakke sammen.

Type
Link-state IGP
Metric
Cost = reference bandwidth ÷ interface bandwidth. Lavest total cost vinner.
Går over
IP-protokoll 89. Multicast 224.0.0.5 (alle OSPF-routere) og 224.0.0.6 (DR og BDR).
IPv6
OSPFv3 (RFC 5340), multicast FF02::5 og FF02::6
Timere
Hello hvert 10. sekund, dead interval 40 sekunder (broadcast og point-to-point)
Administrative distance
Vanligvis 110, men varierer mellom leverandører
Standard
OSPFv2: RFC 2328. Åpen, støttes av alle.

Slik virker OSPF

Fire steg, og de skjer i denne rekkefølgen hver gang to routere kobles sammen.

  1. Finn neighbors: routerne sender hello på alle interfaces der OSPF er på. Er innstillingene like, blir de neighbors.
  2. Bytt kart: de sammenligner databasene sine (LSDB) og sender hverandre LSA-ene den andre mangler. Til slutt er databasene like: adjacency er Full.
  3. Regn ut: hver router kjører SPF (Dijkstra) på kartet og finner laveste cost til alle nett. Resultatet havner i routing table.
  4. Følg med: hello fortsetter. Går en link ned, sendes en ny LSA ut med en gang, og alle regner på nytt.

Fra hello til Full

Disse tilstandene ser du i lista over OSPF-neighbors på routeren. Står en neighbor fast, forteller tilstanden hva som er galt.

R1 R2 Down ingen hello ennå Init Hello: «Jeg er R1» R2 har hørt R1 2-Way Hello: «Jeg er R2, og jeg ser R1» Begge ser hverandre. DR/BDR velges her på et LAN. ExStart DBD: hvem er master? (høyest router ID) Står fast her eller i Exchange? Ulik MTU. Exchange DBD: lista over LSA-ene jeg har Loading LSR: send meg de jeg mangler LSU: her er de Full LSAck: mottatt Like databaser. SPF kjøres.

På et LAN med flere routere er det normalt at to vanlige routere (DROTHER) stopper i 2-Way. De får Full bare mot DR og BDR. Står en neighbor i Init, kommer hello bare én vei: sjekk ACL-er, brannmur og at multicast går gjennom.

Areas: slik deles et stort nett opp

I ett stort OSPF-nett må alle routere regne på nytt hver gang noe endrer seg et sted. Med areas deler du nettet i deler som bare kjenner detaljene sine egne. Alle areas kobles til area 0, backbone.

Internett (BGP) Area 0 – backbone Core 1 Core 2 Edge (ASBR) Type 5: 0.0.0.0/0 default fra BGP, til alle Type 3 10.10.0.0/16 sammendrag Dist A (ABR) Hub (ABR) Etg 1 Etg 2 Etg 3 Type 1 og 2: hele kartet, men bare inne i area 10 Area 10 – Bygg A B1 B2 B3 Stub area: ingen Type 5. ABR-en gir en default route i stedet. Area 20 – branches (stub)
Routerne som står på grensen mellom to areas heter ABR (Area Border Router). De sender bare et sammendrag videre: area 0 ser 10.10.0.0/16, ikke hvert nett i bygget. Går en link ned i area 10, merker resten av nettet ingenting. Routeren som henter routes utenfra (her default route fra BGP), heter ASBR.

LSA-typene du møter

TypeNavnLages avHvor langt den går
1Router LSAAlle routereBare eget area. «Dette er mine linker og cost.»
2Network LSADR på et LANBare eget area. «Disse routerne står på dette LAN-et.»
3Summary LSAABRTil andre areas. Nett fra et annet area, gjerne summert.
4ASBR SummaryABRTil andre areas. «Slik når du ASBR-en.»
5External LSAASBRHele OSPF-nettet, unntatt stub-areas. Routes fra BGP, static osv.
7NSSA ExternalASBR i NSSABare i NSSA. Gjøres om til Type 5 av ABR-en.

Area-typer

Area-typeSlipper innBrukes til
NormalType 1, 2, 3, 4 og 5Area 0 og områder som trenger alt
StubType 1, 2 og 3 + default routeBranches og bygg med én vei ut
Totally stubbyType 1 og 2 + default routeSom stub, men enda mindre database. Ikke i RFC 2328, men støttes av de fleste (ofte kalt no-summary)
NSSASom stub, men kan ha egen ASBR (Type 7)Branch med egen internettlinje eller en partnerlink

DR og BDR på et LAN

Står mange routere på samme LAN (samme switch og VLAN), ville alle måtte bli Full med alle. OSPF velger derfor en Designated Router (DR) og en reserve (BDR) som alle andre synkroniserer med.

Uten DR: alle med alle R1 R2 R3 R4 R5 10 adjacencies Med DR og BDR DR BDR R3 R4 R5 7 adjacencies – R3, R4, R5 stopper i 2-Way
Stiplet oransje = Full adjacency. Grå = 2-Way: de kjenner hverandre, men bytter ikke database direkte. Med n routere uten DR blir det n(n−1)/2 adjacencies: 10 routere gir 45. DR velges etter høyest priority, så høyest router ID. Valget er ikke preemptive: en ny router med høyere priority tar ikke over før DR forsvinner.
Broadcast (standard på Ethernet)DR og BDR velges, og det tar rundt 40 sekunder ekstra (wait timer) før adjacency kommer opp. Riktig når mange routere deler samme VLAN.
Point-to-point – anbefalt mellom to routereIngen DR-valg, raskere oppkobling og ingen Type 2 LSA. Sett ip ospf network point-to-point på alle linker mellom to enheter, gjerne et /31-linknett.

Cost: hvordan OSPF velger vei

Hver link får en cost: reference bandwidth ÷ interface bandwidth. OSPF legger sammen cost langs veien og velger lavest sum, uansett hvor mange hopp det er.

Core Dist DC 10 Gbps · cost 10 10 Gbps · cost 10 1 Gbps · cost 100 · bare ett hopp OSPF velger veien over Dist: 10 + 10 = 20, mindre enn 100. RIP ville valgt den direkte 1 Gbps-linken, fordi den har færrest hopp.
Regnet med reference bandwidth 100 Gbps. Med standardverdien ville alle tre linkene fått cost 1, og OSPF ville valgt den direkte linken.
InterfaceCost med 100 MbpsCost med 100 Gbps
100 Mbps11000
1 Gbps1100
10 Gbps110
25 Gbps14
100 Gbps11

RFC 2328 foreslår 100 Mbps som reference bandwidth, laget den gang 100 Mbps var raskt. Da får alt fra 100 Mbps og opp cost 1. Standardverdien varierer mellom leverandører, så sett samme verdi på alle routere, eller sett cost per interface. Ellers regner de ulikt.

OSPF i et enterprise-nettverk

Et vanlig oppsett for en core-switch i campus:

InnstillingI eksempeletHvorfor
Router ID10.0.0.1 (loopback)Fast og unik, endrer seg ikke når et interface går ned.
Reference bandwidth100 Gbps, likt på alleGir riktig cost på 10 og 25 Gbps.
Area0 (backbone)Core skal alltid være i area 0.
Link til core 210.255.0.0/31, network type point-to-pointIngen DR-valg og raskere adjacency.
Passive interfaceStandard på, av bare mot andre routereBrukernett annonseres, men får ingen hello.
Brukernett (VLAN 10)Med i area 0, passiveNettet annonseres til resten.
Default routeAnnonseres fra edge-routerenResten av nettet finner veien til internett.

Kommandoene er forskjellige fra leverandør til leverandør, men det er disse innstillingene du ser etter.

Må være likt for å bli neighbors

Fordeler

  • Åpen standard: virker mellom alle leverandører, også brannmurer.
  • Rask convergence: sekunder, og under ett sekund med BFD.
  • Skalerer med areas: endringer holdes lokalt, og ABR-ene kan summere.
  • Bruker bandwidth: velger rask vei, ikke bare kort vei.
  • ECMP: deler trafikken over like gode veier.
  • Mest kjent: nesten alle nettverksfolk kan OSPF.

Ulemper

  • Krever plan: areas og adresser må henge sammen for at summarization skal virke.
  • Summarization bare på ABR og ASBR, ikke hvor som helst.
  • Alt må via area 0: et area som ikke henger på backbone, virker ikke (virtual link er en nødløsning).
  • Mange begreper: seks LSA-typer og fire area-typer å holde styr på.
  • Lite policy: du kan ikke styre trafikk like fint som med BGP.
  • Feil standardverdi: reference bandwidth på 100 Mbps passer ikke moderne nett.

Passer når: campus, core og data center i en bedrift, nett med utstyr fra flere leverandører, WAN over IPsec eller MPLS, og som underlay under SD-WAN og VXLAN.

Passer ikke når: du skal snakke med en ISP, skyen eller en annen organisasjon. Der brukes BGP. Hundrevis av branches over ustabile linjer i samme area gir også mye SPF-støy: bruk stub areas, eller BGP i WAN.

Ord du møter

LSA
Link State Advertisement. En melding som beskriver en router, et LAN eller et nett.
LSDB
Link State Database. Kartet: alle LSA-ene routeren kjenner. Like i hele området.
SPF
Shortest Path First. Dijkstra-algoritmen som finner laveste cost til alle nett.
Area
En del av OSPF-nettet med sin egen detaljerte database.
ABR
Area Border Router. Står i area 0 og i minst ett annet area.
ASBR
Autonomous System Boundary Router. Henter routes inn i OSPF fra noe annet (BGP, static).
DR / BDR
Designated Router og Backup DR. Samlepunktet på et LAN.
DROTHER
En router på et LAN som verken er DR eller BDR.
Passive interface
Nettet annonseres, men det sendes ingen hello. Brukes mot brukere og servere.
Virtual link
En tunnel gjennom et annet area for å nå area 0. Bør bare være midlertidig.