一、OSPF的五種報文
類型 | 報文名稱 | 報文描述 |
---|---|---|
1 | hello | 發(fā)現(xiàn)、建立、周期保活鄰居、鄰接關(guān)系 |
2 | DD(Database Description,數(shù)據(jù)庫描述) | LSDB中LSA的頭部信息(并非完整的LSA信息),也就是本地的數(shù)據(jù)庫的目錄(摘要) |
3 | LSR(Link State Request,鏈路狀態(tài)請求) | 基于對端發(fā)送的DD報文中的未知信息(未知的LSA)向OSPF鄰居進行查詢 |
4 | LSU (Link State Update,鏈路狀態(tài)更新) | 用于答復(fù)對端的LSR,攜帶各種的LSA。 |
5 | LSAck (Link State Acknowledgment,鏈路狀態(tài)確認) | 對從LSU中獲取到的LSA進行確認 |
OSPF的報文頭部(24byte):
Hello報文:
DD報文:
LSR報文:
LSU報文:
LSAck報文:
二、OSPF的七種狀態(tài)機:
狀態(tài)機名稱 | 狀態(tài)機描述 |
---|---|
Down(失效) | 該狀態(tài)還沒有進行hello包的收發(fā),一旦進行hello的收發(fā),則進入下一狀態(tài) |
Init(初始化) | 接收到的hello包中并不存在本地的route-id,但是會將發(fā)送該hello包的鄰居置為init狀態(tài),此時雙方并沒有建立雙向通信,隨著雙方互相收發(fā)hello包,于是才會進入下一狀態(tài) |
2-way(雙向通信) | 接收到的hello包中存在本地的route-id,則雙方就會進入2-way雙向通信狀態(tài)。該狀態(tài)也是OSPF最穩(wěn)定的狀態(tài)之一,它標志著鄰居關(guān)系的建立,同時也是鄰接關(guān)系建立的基礎(chǔ) |
Exstart(預(yù)啟動) | 使用類似hello的DD報文進行主從關(guān)系(Master/Slave)選舉,route-id數(shù)值大為主,優(yōu)先進入下一狀態(tài)。此時的DD報文是空的。 |
Exchange(準交換) | 使用真正的DD報文進行數(shù)據(jù)庫目錄的共享 |
Loading (加載) | 使用LSR、LSU、LSAck去獲取未知的LSA信息(LSDB同步) |
Full(全毗鄰) | 鄰接關(guān)系建立的標志,此時不再進行LSDB的同步 |
三、OSPF的工作過程
224.0.0.5:指的是所有OSPF路由器所使用的組播地址;
224.0.0.6:指的是所有OSPF DR路由器所使用的組播地址。
(1)在啟動宣告配置之后,OSPF路由器會使用組播224.0.0.5進行OSPF hello包的收發(fā);若接收到的hello包中存在本地的route-id,則建立鄰居關(guān)系,生成鄰居表;
之后基于表中所有的鄰居進行條件的匹配,匹配失敗則將維持鄰居關(guān)系,僅hello包周期保活即可;
(2)匹配成功者之間可以建立鄰接關(guān)系;鄰居間使用DD數(shù)據(jù)包進行數(shù)據(jù)庫目錄的比對;之后使用LSR查詢目錄中未知的LSA信息,對端使用LSU來攜帶傳遞LSA,最終需要LSAck進行接收確認;
當本地收集到區(qū)域內(nèi)所有設(shè)備的LSA信息后,生成LSDB—鏈路狀態(tài)數(shù)據(jù)庫表;
(3)本地基于LSDB啟用SPF算法,計算到達所有未知網(wǎng)段的最短路徑,然后將其加載到路由表內(nèi);
-
路由器
+關(guān)注
關(guān)注
22文章
3732瀏覽量
113788 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3799瀏覽量
64396 -
OSPF
+關(guān)注
關(guān)注
0文章
80瀏覽量
14887 -
狀態(tài)機
+關(guān)注
關(guān)注
2文章
492瀏覽量
27541
原文標題:OSPF的五種報文和七種狀態(tài)機,這篇文章列舉的讓我有種收藏的沖動!
文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論