ospf原理和配置

ospf原理和配置

ospf原理

OSPF(Open Shortest Path First)是一個內部網關協議(Interior Gateway Protocol,簡稱IGP)。與RIP相對,OSPF是鏈路狀態路有協議,而RIP是距離向量路由協議。 鏈路是路由器接口的另一種說法,因此OSPF也稱爲接口狀態路由協議。OSPF通過路由器之間通告網絡接口的狀態來建立鏈路狀態數據庫,生成最短路徑樹,每個OSPF路由器使用這些最短路徑構造路由表。

1、Router-id及DR選舉原則

區域:路由器A(DR)、路由器B(BDR) |
區域:路由器C、路由器D、路由器E、路由器F |
選舉DR、BDR是爲在廣播多路訪問中減少連接關係的建立,優化性能
默認Router-ID最大是DR,第二大是BDR,其他是Drother
DR一旦被選定就不會被搶佔,
Drother會通過224.0.0.6向DR和BDR通告網絡狀態信息,DR會通過
224.0.0.5向所有鄰居通告信息

2、OSPF協議5種報文分析

OSPF5種分組

1、Hello 發現鄰居並建立和維護鄰居關係 (Hello報文)
2、DataBase Description 檢查所有路由器的LSDB是否同步(數據庫描述報文DBD——沒有明細只有摘要)
3、Link-State Request 向另外一臺路由器請求特定的鏈路狀態記錄 (鏈路請求報文LSR——雙方交互LSR)
4、Link-State Update 發送被請求的鏈路狀態記錄 (鏈路迴應報文LSU——迴應路由明細)
5、Link-State Acknowledgment 對其他類型的分組進行確認 (鏈路確認報文LSA)

名詞解釋

1、傳送的LSA link status advertisement 鏈路狀態通告,包括拓撲信息
具體包括:網段的前綴 掩碼 連接的路由器的哪些接口 直連哪些路由器
LSA分爲7中類型
某些包含的是拓撲信息 但是有些包含的是路由信息

2、LSDB 他是LSA的的集合 鏈路狀態數據庫
對此進行spf 算法 得到spf 樹 (基於cost代價)再得出最優的路由 並將其加入到路由表中

3、既支持vlsm 可變掩碼、又支持 cidr(無類別域間選路)

4、封裝
layer2| ip |ospf| fcs
直接封裝到IP報頭內 上層協議號爲89 eigrp爲88

詳解
一、hello發送週期分爲10s和30s兩種,hello hold的時間爲發送時間*4即40s或120s

二、dbd數據庫描述報文 包含lsa的報頭 即告訴鄰居路由器 本地的lsdb中包含哪些LSA信息
同步lsdb過程中如果沒有此描述可能會發送重複的LSA 造成資源的浪費導致低效LSA中除了拓撲
或路由信息的載荷外還有LSA的報頭也叫LSA的摘要,報頭中包含此LSA的標識,從而避免發送重複的LSA信息

三、路由器請求鄰居有但是本地沒有的LSA,以保證lsdb一致,根據交互的dbd,
將沒有的LSA的報頭放在LSAR中,表明需要的LSA

四、根據上面的一條 將鄰居請求的LSA信息 放在LSU中由本地路由器發送給鄰居
LSU包含完整的LSA信息

五、LSACK爲確認機制 由OSPF定義的確認機制
ospf定義了兩類的確認 一種爲顯式的確認 另一類爲隱式的確認(基於序列號的確認機制)
前者收到一個報文 針對此報文 生成一個單獨的確認報文
(只有ospf支持確認)後者收到一個報文 使用相同的報文再發送回來 序列號設置爲一致 既傳輸了信息 又做了確認

3、ospf包頭格式

在這裏插入圖片描述

4、OSPF 鄰居狀態

Init——初始化;
two-way——雙向通信狀態;
Exstart——交換初始化狀態;
exchange —— 交換狀態;
loading ——加載狀態;
Full—— 完全鄰接
down —— 掛了

5、OSPF協議7種狀態分析

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

6、OSPF協議6種LSA分析

1類:所有OSPF路由器都會產生,只在區域內傳播
2類:DR產生,只在區域內傳播
3類:ABR產生,在相鄰的兩個區域相互傳播
4類:ABR產生,向和ASBR不在同一區域的其他區域傳播,用於表示ASBR
5類:ASBR產生,向整個OSPF協議區傳播,用於描述另一個協議域的路由信息
7類:NSSA區域中的ASBR產生,用於向NSSA區域通告外部路由

8、OSPF命令

1、dis ospf pee b ##查看鄰居關係
dis routing-table pro

2、ospf 1 route 1.1.1.1 ####OSPF指定個route-id、1是表示,只在本區域有效
route id 1.1.1.1 ###全局模式下配置 這個router-id所有協議生效
3、reset ospf 1 process graceful-restart ###1是進程號 重啓ospf
4、ospf 配置方法
ospf 1 route 1.1.1.1 ###配置route-id
ospf 10 ##啓動ospf 它的進程號是10
area 0 ###進入區域0 骨幹區域
network 20.0.0.0 0.0.0.3 ###宣告網段 20.0.0.0 反掩碼 0.0.0.3 (32位)

一、實驗案例

在這裏插入圖片描述

R1配置
[R1]int loo0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 13.0.0.1 24

[R1]ospf ?
  INTEGER<1-65535>  Process ID
  mib-binding       Mib-Binding a Process
  router-id         OSPF Private router ID
  valid-ttl-hops    Valid GTSM TTL hops
  vpn-instance      VPN routing/forwarding Instance
  <cr>              
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
R2配置
[R1]int loo0
[R1-LoopBack0]ip add 2.2.2.2 32
[R1-LoopBack0]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 13.0.0.2 24

[R1]ospf 1 router-id 2.2.2.2 
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
R3配置
[R1]int loo0
[R1-LoopBack0]ip add 3.3.3.3 32
[R1-LoopBack0]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 13.0.0.3 24

[R1]ospf 1 router-id 3.3.3.3 
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network  3.3.3.3 0.0.0.0

抓包查看hello報文

抓包最後一個hello報文,ospf開啓之後選舉DR和DBR。

注:

1.一般手工配置的router-ID ,DR和DBR的選舉依據配置ospf的主次順序。第一配置的優先選舉DR其次是DBR。
在這裏插入圖片描述


將之前的DR——R1shutdown之後

BDR——R2變爲DR

小弟R3——DBR

在這裏插入圖片描述


將之前的DR——R1shutdown之後

BDR——R2變爲DR

小弟R3——DBR
在這裏插入圖片描述


*shutdownR2*

*R1——DR*

*R3——BDR*

在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章