OSPF statusar

För att förstå hur OSPF routing-protokollet fungerar behöver vi kunna förstå de olika statusar som OSPF-routrar genomgår när de bygger grannskap med varandra. Statusarna är kända som OSPF state och de är sju:

  1. Down state
  2. Attempt/Init state
  3. Two ways state
  4. Exstart state
  5. Exchange state
  6. Loading state
  7. Full state

Låt oss förstå dessa statusar med ett enkelt exempel. Antag att ett nätverk har två OSPF-routrar. Routrarna är anslutna till varandra via seriell länk. Vi har bara startat båda routrarna samtidigt. Vid denna tidpunkt har varken av routrarna information om varandra. Routrarna förbereder sig för att inleda uppbyggande av sitt grannskap eller “neighborship”. Det är nu som routrarna ska få sin RID.

RID –  En unik identifierare för varje router i ett OSPF-nätverket. Det måste vara unikt inom det autonoma systemet. Routrar identifierar varandra med RID i AS.

1. Down state

En OSPF router som är i down state gör följande:

  • Söker och väljer RID och därefter initierar OSPF-processen
  • Kör en OSPF instans på lokala interface som är konfigurerade med kommando såsom:
  • R1(config-router)# network 10.0.0.0 0.0.255.255 area 0
  • Samlar nödvändig information som behöver inkluderas i Hello-paket till exempel RID och andra värde som krävs för att etablera grannskap med andra OSPF-routrar.

En OSPF-router som söker efter sin RID i Down state har tre alternativ:

A.- Manuellt konfiguration – Eftersom RID spelar en viktig roll i nätverket tillåter OSPF oss att konfigurera det manuellt. RID är 32 bitars lång liksom IPv4-adresser som är också 32 bitars lång. Vi kan använda IP-adresser som RID. Till exempel kan vi använda ett enkelt och sekventiellt IP-schema som:

  • Router R1 identifieras med 1.1.1.1
  • Router R2 identifieras med 2.2.2.2
  • Router R3 identifieras med 3.3.3.3
  • Router R4 identifieras med 4.4.4.4 och så vidare.

Vi kan konfigurera RID så här:

Router (config)# router ospf 1

Router(config-router)# router-id ip_address

När en OSPF-router hittar sin RID slutar att söka efter det.

B.- Loopback interface IP-konfiguration – Om loopback-interface är konfigurerat väljer OSPF dess IP-adress som RID. Om flera loopback-gränssnitt konfigureras kommer den högsta IP-adressen att väljas från alla konfigurationer för loopback-interface. Om loopback-interfacet inte är konfigurerat söker OSPF på nästa alternativ.

C.- Aktivt interface IP-konfiguration – OSPF väljer den högsta IP-adressen från alla aktiva IP-interface. Vi bör inte låta OSPF använda detta alternativ eftersom det ger inte en fix-RID som är väldigt nödvändig för nätverks stabilitet. Aktiva interface kan tvinga OSPF att räkna om i sitt sökande efter RID, såsom interfacet vilken IP-adress som valts inte är korrekt eller är i felsökningsläge.

Att tänka på när RID ska bestämmas

  • OSPF kommer att följa sekvensen (Manuell konfiguration => Loopback interface => Aktivt interface) av alternativen medan du väljer RID. Om RID hittas avslutar OSPF sitt sökande.
  • OSPF väljer endast IP-adress från det aktiva IP-interfacet. Aktiva interface betyder interface som har för status upp och protokoll upp.
  • När flera IP-adresser är tillgängliga väljer OSPF alltid högsta IP-adress för RID.
  • Man bör konfigurera RID antingen med kommandot router-id eller genom att använda loopback-interface.
  • Som default väljer OSPF-Router RID när routern startas. När routern väljer sin RID kommer den att användas till nästa omstart.
  • Vi har två alternativ att implementera nya RID, antingen genom att omstarta routern eller rensa OPSF-processen med clear ip ospf process kommandot.
  • Om OSPF inte kan välja RID, stoppas OSPF-processen. Vi kan inte använda OSPF-processen utan RID.

2. Attempt/Init state

Föreställ dig två OSPF-routrar anslutna med varandra: R1 och R2. I detta tillstånd gör routrarna följande:

  • R1 kommer att generera ett Hello-paket med RID och viktiga konfigurationsvärden skickas ut det från alla aktiva interface.
  • Hello-paketet skickas till multicast-adressen 224.0.0.5
  • R2 kommer att ta emot detta paket och läser av RID numret och därefter söker efter den identifikationen i tabellen där finns en lista på alla godkända grannar.
  • Om RID hittas finns ingen anledning att starta en process för att bygga upp ett grannskap. Istället återställs livslängden (dead interval) för den posten.
  • Om RID inte hittas i tabellen startar router R2 byggnadsprocessen för grannskapet.
  • R2 kommer att matcha dess väsentliga konfigurations värden med värden som anges i den mottagna Hello-paketet.
  • Om alla nödvändiga konfigurations värden matchar inkluderar R2 till R1 i sin tabell för godkända OSPF-grannar (neighbor table).

3. Two ways state

Observera att routern R1 har ingen aning om R2. R1 kommer att lära sig om R2 när R2 svarar med ett Hello-paket och göra följande:

  • Läser av RID inkluderat i svaret som också är ett Hello-paket.
  • Söker efter en matchning i sin grannskaps tabell
  • Om en matchning för RID hittas i grannskaps tabellen återställs livslängden för posten.
  • Om en match inte hittas i grannskaps tabellen läser R1 av alla konfigurations värden i Hello-paketet och jämför med egna värden. Om värden matchar inkluderar R1 den nya grannens RID i tabellen.
  • Om Hello-paketet från R2 innehåller egen RID för R1 betraktar R1 som en begär att bli grannar. Detta kallas två steg status.
  • R1 svarar till R2 med ett Hello-paket som inkluderar R1 grannskaps tabell. Detta paket är en bekräftelse på att börja byta routing-information med varandra.

Processerna som beskrivs ovan kan vara annorlunda beroende på nätverkstypen.

Punkt-till-punkt nätverk

Det ansluter ett enda par routrar. HDLC och PPP är exempel på punkt-till-punkt-nätverkstyp. I denna typ av nätverk:

  • Alla routrar bildar fullständiga relationer (adjacencies) med varandra.
  • Hello-paket skickas med multicast-adressen 224.0.0.5
  • Ingen DR och BDR krävs.
  • Alla routrar betraktas som AllSPFRouters.

Broadcast nätverk

Detta nätverkstyp har möjlighet att kommunicera med mer än två nätverksenheter. Ethernet och FDDI är exempel på broadcast-nätverk. Några egenskaper:

  • Ett enskilt paket kan tas emot av alla anslutna nätverksenheter.
  • DR och BDR routrar krävs.
  • Alla routrar bildar fullständiga grannskap bara med DR och BDR routrar.
  • Routrar använder multicast-adressen 224.0.0.6 för att uppdatera DR-routrar.
  • DR-routrar använder multicast-adressen 224.0.0.5 för att uppdatera alla routrar.

Point to multipoint nätverk

Detta nätverkstyp är speciellt icke broadcast-nätverk där samlas punk-till-punkt länkar. I denna typ av nätverk:

  • Nätverket måste konfigureras statiskt.
  • Ingen DR och BRD routrar väljs i denna typ av nätverk.
  • OSPF-paket är multicast.

Vi kan dela alla ovan nämnda nätverk i två typer:

  • Nätverk som behöver DR och BDR routrar som använder broadcast och icke broadcast kommunikationssätt.
  • Nätverk som inte behöver DR och BDR routrar som punkt-till-punkt och punkt-till-mulipunkt.

DR och BDR routrar

I ett nätverk med OSPF-routrar väljs en router son kallas för DR (Designad router) och en BDR (Backup Designated router) för att minimera routing information i nätverket. OSPF-routrar delar inte routing-information direkt med varandra, utan via den utvalda router (Designated Router) och om denna slutar fungera ersätts den med en reserv router känd som BDR. Alla andra routrar är kända som DROTHERS. Alla DROTHER delar delningsinformation med DR-router. En DR-router delar routing-information tillbaka till alla DROTHERs.

Huvudskälet bakom denna mekanism är att routrarna har en central punkt för att dirigera informationsutbyte. Således behöver de inte uppdatera varandra. En DROTHER behöver bara uppdatera centralpunkten (DR) och andra DROTHERs kommer att få den här uppdateringen från DR.

DR och BDR valprocessen

OSPF använder prioritets värden för att välja DR och BDR. OSPF-router med högsta prioritet blir DR. Routern med näst högsta prioritet blir BDR. Om det finns två routrar med samma prioritet kommer routern med högsta RID väljs som DR.

Prioriterat värde är 8 bitars längd, 0 till 255. Default värde är 1. Vi kan ändra prioritetsvärdet ett interface har med kommandot ip ospf priority. Vi kan tvinga någon router att bli DR (Högsta prioritet) eller BDR (näst högsta prioritet) genom att ändra prioritets värde. Lägsta prioritetsvärde är noll (aldrig blir DR eller BDR).

Att tänka på:

  • Routrar som utbyter routing information är kända som intilliggande. Förhållandet mellan två intilliggande routrar är känt som adjacency. Denna terminologi är kopplad till interface.
  • En router som har två interface kan det ena vara adjacent och det andra DROTHER.
  • I ett nätverk som inte kräver DR och BDR ska alla routrar betraktas som intilliggande (adjacent) och förhållandet mellan de kommer att betraktas som Adjacency.

Endast intilliggande routrar kommer in i nästa status att bygga adjacency.

4. Exstart state

Routrar som bestämde sig för att bygga adjacency kommer att bilda en master-slav relation. I varje adjacency blir master den router som har högst RID och den andra slav. Blanda inte Master-Slav relation med DR-BDR-DROTHER relation. Båda termerna liknar varandra men har olika betydelse. DR-BDR-DROTHER relation är byggt i ett segment och har en större betydelse än den master-slav relationen som är uppbyggd mellan två interface vid utbyte av routing-information. Master-slav relation mellan två interface har begränsat syfte.

När routrarna har byggt upp master-slav relationen kommer de att fastställa det initiala sekvensnumret som kommer att användas vid utbyte av routing-information. Sekvensnummer säkerställer att routrarna får mest noggrann information.

5. Exchange state

I utbytes läge bestämmer master och slav hur mycket information som behöver bytas ut. En router som har mer än ett interface kan lära sig samma nätverksinformation från olika källor. En OSFP-router är smart nog att filtrera uppdateringarna innan de tas emot. Det kommer att accepteras endast de uppdateringar som routrarna inte har. I det här läget filtrerar routrarna de uppdateringar som behöver bytas ut.

Några viktiga begrepp

  • LSA – Link State Advertisement är ett datapaket som innehåller länk-status och routing-information. OSPF använder den för att distribuera och lära sig nätverksinformation.
  • LSDB – Link State Database är samling av alla mottagna LSA. Varje LSA har ett sekvensnummer med vilket lagras i LSDB.
  • DBDS – Database Description packets, även känd som DDP, innehåller listan över LSA. Denna lista innehåller länk-status typ, kostnad för länk, ID för advertisement router och sekvensnummer för länken. Se till att du förstår denna term korrekt. Det är bara en lista över alla LSAs från respektive databas. Det innehåller inte fullständiga LSA.
    I Exchange state utbyter routrar DBD. Via DBD kan routrar lära sig vilka LSAs de redan har.
  • LSR – Link State Request är en lista på vilka LSA som inte har lagrats i databasen, därmed en lista på LSA som önskas ta emot.

6. Loading State

I detta läge utväxlas den faktiska routing-informationen. Routrar byter LSA från LSR-listan. Routrar kommer att använda LSU (Link State Update) för att utbyta LSA. Varje LSA innehåller routing-information om en viss länk. Routrar upprätthåller också en lista för att se till att varje skickad LSA är bekräftad (acknowledged).

7. Full State

Fullständigt status indikerar att båda routrarna har utbyt alla LSA från LSR-listan. Nu har de samma LSDB. Intilliggande (adjacency) routrar förblir i detta status för livstid. Om någon förändring sker i nätverket kommer routrarna att gå igenom den här processen igen.

Underhålla intilliggande (adjacency)

  • Routrar skickar Hello-meddelanden i Hello-intervall.
  • Om en router inte får Hello-meddelande från intilliggande router inom dead-intervall kommer routern att deklarera grannen som död.
  • När en granne är död sprider förändringen till andra anslutna grannar (flooding).
  • Utöver detta om routern upptäcker någon förändring i nätverket eller mottar någon uppdatering kommer den att sprida informationen (flooding).
  • En LSA har en standardlivstid på 30 minuter. Eventuella oförändrade LSA måste uppdateras i var 30: e minut.