OSPF-建立鄰居
時間:2023-06-26 11:00:02 | 來源:網(wǎng)站運營
時間:2023-06-26 11:00:02 來源:網(wǎng)站運營
OSPF-建立鄰居:目錄傳送門
序:開放式最短路徑優(yōu)先協(xié)議,由IETF開發(fā),SPF是OSPF的核心思想,運用Dijkstra算法
一、基礎(chǔ)知識1.1預(yù)知知識- OSPF的流量使用IP協(xié)議號89,不依賴TCP、UDP
- 天然無類路由協(xié)議,支持VLSM
- OSPF是IGP協(xié)議中的鏈路狀態(tài)協(xié)議
- OSPF的管理距離是110
- OSPF只支持等價負(fù)載均衡
- OSPF的周期更新時間為30min
- OSPF不可以通過Offset list來改變路由的metric
1.2 術(shù)語解析- Router-ID:OSPF路由器唯一的身份標(biāo)識,用IP地址的形式來表示(Router-ID只在OSPF啟動時,或者重置OSPF進(jìn)程后計算)
- COST:OSPF使用接口的帶寬計算metric值(一般計算方法為(帶寬/100M),有例外)
- 鏈路(Link):特指運行在OSPF進(jìn)程下的接口
- 鏈路狀態(tài)(Link-State):就是OSPF接口上的描述信息,儲存在鏈路狀態(tài)數(shù)據(jù)庫
- 組播地址:224.0.0.5,所有OSPF路由器;224.0.0.6,DR和BDR專屬
1.3核心計時器1.4 DR BDR選舉(MA網(wǎng)絡(luò))- 比較接口優(yōu)先級,選舉優(yōu)先級最高的稱為DR,次優(yōu)先級的為BDR,優(yōu)先級范圍時0-255,默認(rèn)時1,優(yōu)先級設(shè)置為0表示不參與DR和BDR的選舉
- 在優(yōu)先級相同時,route-id 最大的成為DR,其次BDR
!注意:
①多路訪問網(wǎng)絡(luò)可以沒有DR,但是將無法建立鄰接關(guān)系
②DR和BDR非搶占,DR和BDR與任何R都是FULL狀態(tài),但是普通R和普通R之間是two-way狀態(tài)
1.5序列號①線性空間:從0x80000001到0x7fffffff
②循環(huán)序列號空間:(假設(shè)序列號空間為n)
a>b 且 (a-b)<=n/2
a>b 且 (b-a)>n/2
!略
③棒棒糖:圓形空間,無限序列
二、OSPF鄰居建立2.1 OSPF概括- 宣告OSPF的路由器從所有啟動OSPF協(xié)議的接口上發(fā)出hello包。如果兩臺路由器共享一條公共數(shù)據(jù)鏈路,并且相互成功協(xié)商hello包中相關(guān)參數(shù),那么它們就成為了鄰居
- 鄰接關(guān)系,可以想象為一條點到點的虛鏈路,它是在一些鄰居路由器之間構(gòu)成的。
- 每臺路由器都會在所有形成鄰接關(guān)系的鄰居之間發(fā)送LSA(鏈路狀態(tài)通告)。LSA描述了路由器所有的鏈路、接口、路由器的鄰居以及鏈路狀態(tài)信息。
- 每一臺收到從鄰居路由器發(fā)出的LSA的路由器都會把這些LSA記錄在它的鏈路狀態(tài)數(shù)據(jù)庫中,并且發(fā)送一份LSA的拷貝給其他鄰居
- 通過LSA泛洪到整個區(qū)域,所有的路由器都會形成相同的鏈路狀態(tài)數(shù)據(jù)庫
- 當(dāng)這些路由器的數(shù)據(jù)庫完全相同時,每一臺路由器都將以其自身為根,使用SPF算法來計算一個無環(huán)路的拓?fù)鋱D
- 每一臺路由器都將從SPF算法樹中構(gòu)建出自己的路由表
2.2鄰居建立過程- down:網(wǎng)段上沒有收到消息
- init:接口檢測到來自鄰居的hello包,但是還未建立雙向通信
- two-way:與鄰居建立雙向通信,路由器在鄰居發(fā)來的hello包中看到自己。(是否選舉DR和BDR取決于網(wǎng)絡(luò)類型)
- ex-start:路由器嘗試建立初始序列號,在信息交換包中會用到。序列號確保路由器總是能獲取最新的消息。一臺路由器將成為主主路由器,另一條將成為從路由器。此時I(init)、M(more)、MS(master)位全部為1.
- exchange:路由器發(fā)送DBD(數(shù)據(jù)庫描述)包來描述整個LSDB。DBD包中包含有關(guān)路由器LSDB中出現(xiàn)的LSA條目的頭部信息。I為此時置0,M位置1表示接下來還有DBD報文,MS置1表示主路由器
- loading:當(dāng)路由器收到了M位置0的DBD包時,將進(jìn)入loading狀態(tài),在此狀態(tài)中,路由器完成信息交換。路由器構(gòu)建鏈路狀態(tài)請求表和鏈路狀態(tài)重傳表,任何不完整或過時的消息都會放在請求表里,任何要發(fā)出的更新都會放在重傳表里,直到收到確認(rèn)
- full:在此狀態(tài)中,鄰接關(guān)系建立完成,鄰居路由器建立了完全鄰接關(guān)系,雙方擁有相同的LSDB
2.3 OSPF網(wǎng)絡(luò)類型- 點到點:串行鏈路和點到點幀中繼鏈路
- 廣播:以太網(wǎng)鏈路
- 非廣播:幀中繼鏈路和ATM,需要手動指定鄰居,沒有發(fā)現(xiàn)鄰居的能力
- 點到多點:視為點到點鏈路對待
- 點到多點非廣播:與點到多點鏈路類似,但是不支持廣播,沒有發(fā)現(xiàn)鄰居的能力
2.4 OSPF鄰居建立中的問題2.4.0
建立鄰居的四大必備條件:- Area-id 必須相同
- hello,dead時間必須相同
- 認(rèn)證通過
- 區(qū)域類型相同
2.4.1
MTU不一致MTU不一致時,鄰居時建立不起來的,不過可以在接口模式下配置 ip ospf mtu-ignore 去忽略MTU,注意在MTU小的接口上配置
2.4.2
接口掩碼不一致a,在MA網(wǎng)絡(luò)中不一致,鄰居無法建立,因為2類LSA有掩碼字段用于描述信息
b,在p2p網(wǎng)絡(luò)中,鄰居可以建立,路由也能學(xué)到,不過別鬧······
2.4.3
網(wǎng)絡(luò)類型不同兩端如果網(wǎng)絡(luò)類型不同,鄰居可以建立,LSA可以傳遞,但是路由學(xué)不到