OSPF grannskap | Behovet av en DR och BDR
Efter att routrarna når Two-Way-status fortsätter de till databas synkronisering. Medan Hello-paket används för att etablera grannrelationer (neighbor adjacencies), används de övriga fyra typerna av OSPF-paket under processen för att utbyta och synkronisera LSDB (Link-State Database). Denna process sker i tre steg enligt följande:
- Beslut om första routern som inleder DBD-utbyte
- Utbyte av DBD databaser
- Skicka en LSR
1. Beslut om vilken router som inleder DBD-utbyte
När OSPF-routrar når ExStart-status, måste de avgöra vilken av dem som ska skicka Database Description (DBD)-paketen först.
- Routern med högst Router-ID får rollen som Master och inleder DBD-utbytet.
- Den andra routern blir Slave och följer Masters ordning vid utbytet.
- Detta steg säkerställer att databasutbytet sker systematiskt och utan konflikter.
I Exchange-status är det Master-routern som skickar sina DBD-paket först.
Exempel:
I en situation där R2 har ett högre Router-ID än R1, blir R2 Master och startar processen genom att skicka sina DBD-paket först.
När Master och Slave-rollerna är fastställda, fortsätter routrarna till utbytet av DBD-paket i Exchange-status.
2. Utbyte av DBD databaser
När OSPF-routrar når Exchange-status, börjar de utbyta Database Description (DBD)-paket. Dessa paket innehåller en sammanfattning av Link-State Advertisements (LSAs) som finns i varje routers Link-State Database (LSDB).
DBD-paketen används för att låta varje router jämföra sin LSDB med grannens och identifiera saknade eller uppdaterade LSAs.
Innehåll i ett DBD-paket: Varje LSA-post i ett DBD-paket innehåller följande information:
- Länkstatus-typ – Anger typen av information som annonseras (t.ex. nätverk, router eller extern länk).
- Avsändarens adress – Identifierar routern som skickar LSA-posten.
- Kostnad för länken – Den OSPF-kostnad som är associerad med länken.
- Sekvensnummer – Används för att avgöra om den mottagna LSA-informationen är nyare eller äldre än den som redan finns i LSDB.
Sekvensnumret är avgörande för att routern ska kunna identifiera förändringar och säkerställa att den alltid använder den senaste versionen av LSA-poster.
Processen för DBD-utbyte
- Master skickar sitt DBD-paket – Eftersom R2 är Master (har högst Router-ID), inleder den utbytet genom att skicka sitt DBD-paket till R1.
- R1 tar emot och bekräftar – När R1 tar emot DBD-paketet, genomför den följande åtgärder:
- Bekräftar mottagandet genom att skicka ett Link-State Acknowledgment (LSAck)-paket tillbaka till R2.
- Skickar sitt eget DBD-paket till R2 för att visa sin egen LSDB.
- R2 bekräftar mottagandet av R1:s DBD – När R2 tar emot R1:s DBD-paket, skickar den en bekräftelse för att slutföra utbytet.
Efter att båda routrarna har jämfört sina LSDBs, avgör de vilka LSAs som saknas eller behöver uppdateras. För att begära detaljerad information om saknade LSAs, fortsätter de till Loading-status, där Link-State Request (LSR)-paket används för att hämta fullständig information.
3. Skicka en LSR
När en router jämför sin Link-State Database (LSDB) med informationen från ett mottaget Database Description (DBD)-paket, kan den upptäcka att vissa Link-State Advertisements (LSAs) är nyare eller saknas. I detta fall går den in i Loading-status och skickar ett Link-State Request (LSR)-paket för att begära den kompletta informationen.
Processen för att begära och uppdatera LSAs
-
Identifiering av saknade LSAs
- Routern jämför sina LSAs med de som listas i DBD-paketet.
- Om en nyare LSA identifieras i DBD, skickar routern ett LSR-paket för att begära den fullständiga versionen.
-
Begäran om fullständig information
- Till exempel, om R1 upptäcker att nätverket 172.16.6.0 har en nyare LSA, skickar den en LSR-begäran till R2 för att få den uppdaterade informationen.
-
Mottagande av LSU-paket
- R2 svarar med ett Link-State Update (LSU)-paket, som innehåller den fullständiga LSA-informationen.
-
Bekräftelse och uppdatering av LSDB
- När R1 tar emot LSU-paketet, skickar den ett Link-State Acknowledgment (LSAck)-paket för att bekräfta mottagandet.
- Därefter uppdaterar R1 sin LSDB med de nya länkstatus-posterna.
Link-State Update (LSU)-paket används för att vidarebefordra uppdaterad routinginformation mellan OSPF-grannar. De skickas i följande situationer:
-
Vid förändringar i nätverkstopologin
- När en länk går ner eller upp, skickas ett LSU-paket med en uppdaterad LSA.
- Detta sker omedelbart för att säkerställa snabb konvergens.
-
Periodiska uppdateringar
- För att förhindra att LSDB blir inkonsekvent skickas LSU-paket var 30:e minut till grannar.
- Detta säkerställer att alla routrar i nätverket har identisk och aktuell routing-information.
När alla saknade LSAs har hämtats och uppdaterats, anses de intilliggande routrarna vara fullständigt synkroniserade och går över till Full-status.
I Full-status har routrarna en identisk LSDB och kan nu använda SPF-algoritmen för att beräkna de bästa rutterna och uppdatera sina routing-tabeller.