OSPF

Fra IT2
Hopp til: navigasjon, søk

Open Shortest Path First

OSPF er en Internal Gateway Protocol (IGP) som operer I Lag 3 i OSI modellen. Den er en link-state routing protokoll som kjører innenfor ett Autonomous System. OSPF ble funnet opp som ett alternativ til Routing Information Protocol (RIP) for å håndtere begrensningene denne hadde. Den bygger ett tre som definerer nettverkstopologien og ved hjelp av Dijkstras algoritme regner den ut korteste veien til destinasjoner/nettverk.

OSPF er en intra-AS-protokoll. Det bruker link-tilstandsalgoritmen for å finne ruten med lavest mulig kostnad. Kostnadene for hver forbindelse bestemmes av nettadministrator. Disse kan settes til 1 for alle eller vektes slik at enkelte forbindelser medfører større kostnader. Link-tilstandstabellene sendes fra en ruter til alle andre rutere innenfor samme AS, slik at hver enkelt ruter kan beregne sin rutingtabell. Dette foregår både periodevis(hver halvtime) og ved endringer i kostnader og tilstand. OSPF har dessuten mulighet for å strukturere et AS i interne områder som koples sammen med hovedrutere, slik at trafikken kan rutes mer effektivt. En protokoll med mye til felles med OSPF, men ikke så utbredt, heter IS-IS (Intermediate System to Intermediate System).

OSPF-protokollen ble laget på et senere tidspunkt enn RIP og har derfor mer avanserte funksjoner. OSPF brukes derfor gjerne i større AS som er sentrale for Internett, mens RIP brukes på mindre AS og internt i bedrifter med behov for dynamisk oppdatering av rutingtabeller.

Virkemåte

OSPF er en Link-state Rutingprotokoll i motsetning til den eldre Router Information Protocol som baserer seg på Distance Vector Routing. Ideen med Link State Ruting at alle rutere på nettverket samler informasjon om de andre ruterene og lager seg en database som beskriver nettverkstopologien. Denne databasen er lik på alle rutere og ut fra denne kalkuleres den korteste veien til alle destinasjoner på nettverket, resultatene legges i rutingtabellen.

Det første en OSPF ruter må gjøre er å finne og opprette relasjoner til sine naborutere. Dette gjøres ved hjelp av ”Hello” pakker. Disse danner relasjoner og opprettholder de ved å fortsette å sende ”Hello” til naboen. Med Hello Interval defineres antall sekunder mellom hver gang en ruter sender ”Hello” pakker. Router Dead Interval definerer hvor lang tid ruteren skal vente på å få svar før naboen deklareres død.

Når relasjonene er opprettet er OSPF ruterene klare for å utveksle databaseinformasjon. Dette gjøre med noe som kalles Link State Advertisements(LSA). Rutere utveksler LSA med hverandre og bygger opp hver Link State Databases(LSDB). Det er viktig at LSDBene på alle rutere er like slik at det ikke oppstår rutingloops, LSDBene må derfor synkroniseres jevnlig. En utfordring oppstår når LSDBene skal synkroniseres, hvordan forteller man naboen om alle sine LSA uten å sende over hele databasen? For å overkomme dette problemet bruker OSPF Database Description og Link State Request meldinger. Istedenfor å sende hele innholdet sendes en Database Description som inneholder en liste over tilgjengelige oppføringer uten å inkludere data fra oppføringene. Ruteren som mottar denne leter i sin egen database og sender en Link State Request over oppføringer den mangler. OSPF rutere i nettverket har funnet hverandre, naborelasjoner har blitt dannet, LSA har blitt utvekslet og LSDB er synkronisert. Rutere bruker informasjonen i sin LSDB sammen med Dijkstras algoritme for å regne ut den korteste veien til alle nettverk i tilhørende Area og plasserer oppføringene i rutingtabbellen sin.


OSPF Area typer

Normal Areas

Stubby Areas

Not-so-stubby-areas


OSPF Rutertyper

Internal Router – Har alle sine interface i samme area. Area Border Router – Har interface tilkoblet I mer enn ett area og har ansvaret for å generere oppsummeringsannonseringer for ett eller flere areas. Autonomous System Boundary Router – Fungerer som en gateway mellom OSPF og andre routing protokoller og har ansvaret for å generere AS-eksterne annonseringer.


OSPF Nettverkstyper

Broadcast nettverk (Ethernet)

Point-to-Point nettverk

Non-broadcast Multi access (NBMA) nettverk

Point-to-Multipoint nettverk