Länkstatusuppdatering | OSPF grannskap
Nu när du är bekant med OSPF:s länkstatuspaket, ska vi gå igenom hur dessa paket samverkar i en OSPF-router. När en router ansluts till ett nätverk följer den en serie steg för att:
-
- Etablera grannrelationer med andra OSPF-routrar i nätverket.
- Utbyta routing-information för att bygga en bild av nätverkets topologi.
- Beräkna de bästa rutterna med hjälp av Dijkstra’s SPF-algoritm.
- Uppnå konvergens, där alla routrar har en enhetlig och stabil routingtabell.
Denna process sker genom sju olika OSPF-statusar, där varje status representerar ett steg i etableringen av en fullständigt synkroniserad OSPF-router.
OSPF-statusar och deras funktioner
- Down– Routerns interface är konfigurerat för OSPF och tillhör en specifik OSPF-process. Routern börjar skicka Hello-paket på sina OSPF-aktiverade interface. Även om routern är aktiv i OSPF-processen, har den ännu inte upptäckt några grannar. Därför är den i ”Down state”.
- Init – När en router går in i Init-status har den skickat Hello-paket och börjat ta emot Hello-paket från andra routrar i nätverket. Dock har en grannrelation ännu inte etablerats, eftersom routern fortfarande väntar på att se sitt eget Router-ID i ett inkommande Hello-paket.Vid detta steg kontrollerar routern att parametrarna i Hello-paketen matchar dess egna konfigurationsinställningar, inklusive:
- Area-ID
- Hello- och Dead-timers
- Stubflaggor
- Autentisering
När parametrarna är korrekta, lägger routern till avsändarens Router-ID i sin lista över potentiella grannar. Först när routern ser sitt eget Router-ID i grannens Hello-paket, vet den att grannen har mottagit dess Hello-paket. Detta bekräftar tvåvägskommunikation, och routern övergår till Two-Way State.
- Two-way – När en router når Two-Way Status har den sett sitt eget Router-ID i ett inkommande Hello-paket, vilket bekräftar att grannen har mottagit och accepterat dess Hello-paket. Detta etablerar en tvåvägskommunikation mellan routrarna.På multi-access-nätverk, som Ethernet, sker i detta skede valet av Designated Router (DR) och Backup Designated Router (BDR).
- Routern med högst Router Priority blir DR, och den med näst högst blir BDR.
- Om två routrar har samma Router Priority, används Router-ID som tiebreaker.
Efter att DR och BDR har valts är routrarna redo att utbyta Database Description (DBD)-paket för att synkronisera sina Link-State Databases (LSDBs).
På punkt-till-punkt-länkar behövs ingen DR eller BDR, vilket gör att processen går direkt vidare till ExStart-status. På multi-access-nätverk går endast vissa routrar vidare till ExStart-status, vanligtvis DR och BDR, för att utbyta fullständig topologi-information och initiera synkroniseringen av LSDB.
- ExStart – I ExStart-status förhandlar routern med sin granne om hur Database Description (DBD)-paket ska utbytas för att synkronisera deras Link-State Databases (LSDBs).Under denna process bestäms vilken router som blir Master och vilken som blir Slave i utbytesprocessen.
- Master-routern styr ordningen och flödet av databasutbytet.
- Förhandlingen baseras på Router-ID, där routern med högst Router-ID blir Master, medan den andra blir Slave.
När rollerna är fastställda inleds utbytet av DBD-paket. Dessa paket innehåller en sammanfattad lista över LSAs som finns i varje routers LSDB. Routrarna jämför sina mottagna DBD-paket för att identifiera LSAs som saknas eller behöver uppdateras.
Efter denna fas går routrarna vidare till Exchange-status, där en mer omfattande synkronisering av databasen sker.
- Exchange – I Exchange-status börjar routrarna utbyta Database Description (DBD)-paket, som innehåller en sammanfattning av deras Link-State Databases (LSDBs). Syftet är att jämföra databaserna och identifiera eventuella skillnader i Link-State Advertisements (LSAs).
Processen i Exchange-status
-
- Utbyte av DBD-paket
- Routrarna skickar DBD-paket, som innehåller referenser till LSAs i deras LSDB.
- DBD-paket innehåller endast LSA-typ, identifierare och sekvensnummer, men inte hela LSA-detaljerna.
- Jämförelse av databaser
- Varje router jämför de mottagna DBD-paketen med sin egen LSDB.
- Om en router upptäcker att den saknar en LSA eller har en äldre version, skickar den ett Link-State Request (LSR) för att begära den aktuella versionen.
- Slutförande av jämförelsen
- Routern fortsätter att bearbeta inkommande och utgående DBD-paket tills alla LSAs har identifierats och eventuella uppdateringar har begärts.
- När alla DBD-paket är utbytta och jämförelser är klara, avgör routern om den behöver ytterligare information.
- Utbyte av DBD-paket
Övergång till nästa status
-
- Loading-status: Om routern upptäcker att den saknar vissa LSAs eller har föråldrade versioner, går den vidare till Loading-status, där de saknade LSAs hämtas och synkroniseras.
- Full-status: Om routerns LSDB redan är helt synkroniserad med grannens LSDB, sker en direkt övergång till Full-status, vilket innebär att routrarna nu har en identisk bild av nätverkets topologi.
I Exchange-status säkerställs att routrarna har en enhetlig översikt över nätverket, och vid behov fortsätter synkroniseringen i Loading-status för att slutföra processen.
- Loading – I Loading-status hämtar routern de saknade eller uppdaterade LSAs som identifierades under Exchange-status. Detta sker genom att begära detaljerad information från grannen och synkronisera LSDB.Processen i Loading-status
- Begäran om saknade LSAs
- Routern skickar Link-State Request (LSR)-paket till sin granne för varje LSA som behöver uppdateras eller saknas i dess LSDB.
- Uppdatering av LSDB
- Grannen svarar på LSR-förfrågningarna genom att skicka Link-State Update (LSU)-paket.
- LSU-paket innehåller de fullständiga och uppdaterade LSAs.
- Routern uppdaterar sin LSDB med den mottagna informationen.
- Bekräftelse av mottagna LSAs
- Varje LSU-paket bekräftas med ett Link-State Acknowledgment (LSAck)-paket för att säkerställa pålitlig överföring.
- Slutförande av synkronisering
- När alla saknade LSAs har hämtats och LSDB är fullständigt synkroniserad, övergår routern till Full-status.
I denna fas säkerställer OSPF att varje router har en komplett och uppdaterad bild av nätverkets topologi, vilket gör att alla routrar kan fatta korrekta routing-beslut.
- Begäran om saknade LSAs
- Full – När en router når Full-status är OSPF-synkroniseringen mellan den och dess grannar slutförd. Vid detta tillstånd har routern och dess grannar identiska Link-State Databases (LSDBs), vilket innebär att de delar en gemensam och fullständig bild av nätverkets topologi.Vad händer i Full-status?
- Slutförd synkronisering av LSDB
- Alla LSAs har utbytts och synkroniserats mellan routern och dess grannar.
- Eventuella saknade eller uppdaterade LSAs som upptäcktes i Exchange- eller Loading-status har hämtats och bearbetats.
- Routing-tabellen uppdateras med SPF-algoritmen
- När LSDB är färdigställd kör routern Dijkstra’s SPF-algoritm.
- Den beräknar de bästa vägarna baserat på kostnad och skapar routingtabellen.
- Kontinuerlig nätverksövervakning
- Routern fortsätter att skicka Hello-paket för att upprätthålla grannrelationer.
- Hello-paket säkerställer att grannarna fortfarande är aktiva och nåbara.
- Hantering av nätverksförändringar
- Om en förändring sker i nätverket, exempelvis att en länk går ner eller upp, skickar routern nya Link-State Advertisements (LSAs).
- Dessa LSAs sprids till andra routrar, som uppdaterar sina LSDB och beräknar nya bästa vägar.
När en router är i Full-status är den helt operationell inom OSPF-nätverket och redo att dirigera trafik baserat på den mest uppdaterade topologin
- Slutförd synkronisering av LSDB
Sammanfattning
Tabellen nedan beskriver sammanfattat de olika statusar som en OSPF-router går igenom på vägen mot konvergens:
Nr. | Status | Beskrivning |
---|---|---|
1 | Down | Routern är konfigurerad för OSPF men har ännu inte mottagit några Hello-paket från andra routrar i nätverket. Den börjar skicka Hello-paket på sina OSPF-aktiverade interface för att upptäcka grannar. |
2 | Init | Routern har skickat Hello-paket och börjat ta emot Hello-paket från andra routrar. Dock har grannrelationen ännu inte etablerats, eftersom routern fortfarande väntar på att se sitt eget Router-ID i ett inkommande Hello-paket. |
3 | Two-Way | Routern har nu sett sitt eget Router-ID i ett inkommande Hello-paket, vilket bekräftar tvåvägskommunikation. På multi-access-nätverk (som Ethernet) väljs i detta skede Designated Router (DR) och Backup Designated Router (BDR). På punkt-till-punkt-länkar går processen direkt vidare till ExStart. |
4 | ExStart | Routern förhandlar med sin granne om hur Database Description (DBD)-paket ska utbytas. De enas om vilken router som styr utbytesprocessen, baserat på högst Router-ID. |
5 | Exchange | Routerna börjar utbyta DBD-paket, som innehåller en sammanfattning av deras Link-State Databases (LSDBs). De jämför sina databaser för att identifiera eventuella skillnader i LSAs. |
6 | Loading | Routern begär saknade eller uppdaterade LSAs genom att skicka Link-State Request (LSR)-paket. Mottagna LSAs skickas tillbaka i Link-State Update (LSU)-paket, och varje LSU bekräftas med Link-State Acknowledgment (LSAck). |
7 | Full | OSPF-synkroniseringen mellan routern och dess grannar är nu slutförd. Routern och dess grannar har identiska LSDBs, vilket innebär att de har en gemensam och komplett bild av nätverkets topologi. SPF-algoritmen körs och de bästa rutterna installeras i routingtabellen. |