上一期我們說了OSPF的鄰居建立關系以及OSPF鄰居關系建立中建立失敗的因素以及相關實驗案例
這一期我們來說說OSPF的鄰接關系建立時需要交互哪些報文以及失敗因素及原因和相關實驗案例
一、概述
在運行了OSPF的網絡當中為了交互鏈路狀態信息和路由信息,互相之間需要建立鄰接關系。
鄰居關系不等于鄰接關系
不是所有的鄰居關系都可以建立鄰接關系
在廣播型網絡當中(MA網絡類型)與NBMA網絡類型中,Dr other只與DR/BDR建立鄰接關系。
什么是鄰接關系
鄰接關系是建立完鄰居關系后進一步建立的,當建立OSPF鄰居的兩端路由器交互完DD報文以及LSA之后才算建立完鄰接關系。
二、OSPF的鄰居狀態
OSPF的鄰居狀態
Down | 這是鄰居的初始狀態,表示沒有從鄰居收到任何信息 |
Init | 在此狀態下,路由器已經從鄰居收到了Hello報文,但是自己的Router ID不在收到的Hello報文的鄰居列表當中 |
2-way | 在此狀態下,路由器發現自己的Router ID存在于收到的Hello報文的鄰居列表當中 |
OSPF的鄰接狀態
Exstart | 鄰居狀態變成此狀態之后,路由器開始向鄰居發送DD報文 |
Exchange | 在此狀態下,路由器與鄰居之間相互發送包含鏈路狀態信息摘要的DD報文 |
Loading | 在此狀態下,路由器與鄰居之間相互發送LSR報文、LSU報文、LSAck報文。 |
Full | 路由器完成了鄰居的LSDB鏈路狀態數據庫同步 |
三、影響OSPF鄰接狀態的因素
MTU | 建立鄰接關系的兩端路由器的接口MTU參數需要一致 |
靜默接口 | 建立鄰接關系的兩端路由器的接口不能設置為靜默接口,如果設置為靜默接口鄰居關系也無法建立成功 |
過濾OSPF報文 | 建立鄰接關系的兩端路由器不能配置ACL過濾OSPF報文,如果過濾了OSPF報文鄰居關系也無法建立成功 |
1、MTU
建立鄰接關系的兩端路由器的接口MTU值不一致時會卡在Exstart狀態,華為默認不開啟MTU檢查發出的DD報文中的MTU值為0,所以在默認情況下修改MTU的參數并不會直接影響OSPF鄰接關系的建立
只有開啟了MTU檢測后才會把接口的MTU值寫入DD報文中
四、OSPF鄰接關系過程
鄰居狀態Down~2-way | 路由器在接口下運行OSPF協議,周期性發送Hello報文發現鄰居并建立鄰居關系 |
Exstart | 通過發送DD報文來協商MTU和主從關系,RID大的為主 |
Exchange | 基于選舉出來的主從關系,由從先發送帶有鏈路狀態信息摘要的DD報文 |
Loading | OSPF鄰居之間開始交互LSR、LSU、LSAck報文。 |
Full | LSDB同步完成,OSPF鄰居之間完成鄰接關系的建立 |
1、MA廣播型網絡建立鄰接關系過程
拓撲
?(1)基礎配置
AR1
system
sysname AR1
interface g0/0/0
ip add 192.168.1.1 24AR2
system
sysname AR2
interface g0/0/0
ip add 192.168.1.2 24
(2)OSPF配置
AR1
ospf 1 router-id 1.1.1.1
area 0
network 0.0.0.0 255.255.255.255AR2
ospf 1 router-id 2.2.2.2
area 0
network 0.0.0.0 255.255.255.255
通過發送Hello報文發現OSPF鄰居,建立鄰居關系
Down~2-way
當AR1的鄰居狀態變為Exstart后,AR1會發送第一個DD報文,此報文當中DD報文的序列號為隨機的X,I為1表示為第一個DD報文,M為1表示還有后續的DD報文,MS為1表示自己為主
2-way~Exstart
我們可以看到在沒有配置MTU檢查時發送的DD報文中的MTU值默認為0
I | 是否為第一個DD報文,如果為1表示為第一個,如果為0表示不是第一個 |
M | 是否有后續的DD報文也可以理解為是否為最后一個DD報文,如果為1代表后續還有,如果為0則為最后一個 |
MS | 是否為主,如果為1表示為主,如果為0表示為從,所有OSPF鄰居在第一個發送DD報文時都認為自己是主所以這里都為1 |
Exstart~Exchang
我們可以看到是由從先發送后續的DD報文并且這個DD報文中攜帶了LSA的摘要信息,也就是有內容的DD報文
Exchange~Full
開始交互LSR、LSU、LSAck報文交互LSA鏈路狀態信息
AR1與AR2會發送LSR請求DD報文下發現的并且在本地LSDB中沒有的鏈路狀態信息
LSR | 請求LSA,只攜帶LSA的摘要信息類似于目錄 |
LSU | 對LSA的回應,攜帶全部的LSA信息內容 |
LSAck | 對LSU的確認,攜帶LSA的摘要 |
此時就完成了OSPF鄰接關系的建立
2、開啟MTU檢查后建立鄰接關系
拓撲
?這里我們把AR1的接口MTU配置為1400并在兩端開啟MTU檢查看看是否可以建立OSPF鄰接關系
這里我們可以看到AR1發送的DD報文中MTU字段為配置的1400并且鄰居狀態會卡在Exstart狀態,查看錯誤報告時會發現MTU協商錯誤
?
?到這里本章內容就到此結束了如果有疑問可以+博主私聊,如果哪里有問題歡迎私聊博主及時更改謝謝大家的觀看學習!!!