OSPF在廣播類型的網絡拓撲中DR和BDR的選舉

指定路由器(DR):

一個網段上的其他路由器都和指定路由器(DR)構成鄰接關系,而不是它們互相之間構成鄰接關系。

備份指定路由器(BDR):

當DR出現問題,由BDR接手DR的工作,同時會在選舉出一個BDR。

其他路由器我們叫做DR Other。

BDR首先會和DR形成鄰接關系;

其它的路由器(DR Other)也要和BDR形成鄰接關系。

這樣做是有原因的,當DR出故障以后,BDR會成為新的DR。如果DR other不和BDR形成鄰接關系,網絡的流量就會中斷時間很長,因為建立鄰居關系是要花一定時間的,在這段時間內,網絡的流量是不通的!

DR other和BDR形成鄰接關系,當BDR切換為DR時,只需要發送LSA,向DR other告知新的DR即可,LSDB的內容基本上不變!所以能夠節省時間,讓BDR真正的起到備份的作用!

DR和BDR的選舉規則:

具有最高OSPF優先級的路由器會被選為DR,優先級默認為1。

如果OSPF優先級相同,則具有最高Router ID的路由器會被選為DR。

Route-id選舉規則:

  1. 手工配置最優先

  2. 當設備有loopback口時,路由器選取它所有loopback接口上數值最高的IP地址

  3. 如果沒有loopback接口,就在所有物理端口中選取一個數值最高的IP地址

需求:(描述實驗的要求)

  1. R1 R2 R3屬于OSPF 的骨干區域,R1 R2 R3位于10.1.1.0/24 網段.

  2. R2 R3 R4 位于OSPF 的40.1.1.0/24 網段.

  3. 希望R2 作為 10.1.1.0 網段的DR, R3作為BDR;R3 作為40.1.1.0 網段的DR,R2 作為BDR.

拓撲:

?

?

分析難點以及完成的思路

按照要求配置,首先正常配置OSPF的基礎命令,保證在修改DR和 BDR之前全網互通,配置完成之后再去測試連通性,全部測試完畢之后,修改我們的DR和BDR,查看我們修改之后的DR和BDR設備是否成功達到我們的要求

配置命令

R1 配置:

R1(config)#line console 0

R1(config-line)#exec-timeout 0 0

R1(config-line)#logging synchronous

R1(config-line)#exit

R1(config)#no ip do lo

R1(config)#interface loopback 0

R1(config-if)#ip address 1.1.1.1 255.255.255.255

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#interface f0/0

R1(config-if)#ip address 10.1.1.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#exit

R2配置:

R2(config)#line console 0

R2(config-line)#exec-timeout 0 0

R2(config-line)#logging synchronous

R2(config-line)#exit

R2(config)#no ip do lo

R2(config)#ho R2

R2(config)#interface loopback 0

R2(config-if)#ip address 2.2.2.2 255.255.255.255

R2(config-if)#no shutdown

R2(config-if)#exit

R2(config)#interface f0/0

R2(config-if)#ip address 10.1.1.2 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#exit

R2(config)#interface f0/1

R2(config-if)#ip address 40.1.1.2 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#exit

R3配置:

R3(config)#line console 0

R3(config-line)#exec-timeout 0 0

R3(config-line)#logging synchronous

R3(config-line)#exit

R3(config)#no ip do lo

R3(config)#ho R3

R3(config)#interface loopback 0

R3(config-if)#ip address 3.3.3.3 255.255.255.255

R3(config-if)#no shutdown

R3(config-if)#exit

R3(config)#interface f0/0

R3(config-if)#ip address 10.1.1.3 255.255.255.0

R3(config-if)#no shutdown

R3(config-if)#exit

R3(config)#interface f0/1

R3(config-if)#ip address 40.1.1.3 255.255.255.0

R3(config-if)#no shutdown

R3(config-if)#exit

R4配置:

R4(config)#line console 0

R4(config-line)#exec-timeout 0 0

R4(config-line)#logging synchronous

R4(config-line)#exit

R4(config)#no ip do lo

R4(config)#ho R4

R4(config)#interface loopback 0

R4(config-if)#ip address 4.4.4.4 255.255.255.255

R4(config-if)#no shutdown

R4(config-if)#exit

R4(config)#interface f0/1

R4(config-if)#ip address 40.1.1.4 255.255.255.0

R4(config-if)#no shutdown

R4(config-if)#exit

啟用OSPF,默認情況下,OSPF進行DR選舉時的優先級 默認為1,比較規則是 優先級越大越優先,優先級相同, router-id越大越優先。因此干預選舉可以通過設置router-id和修改接口的優先級進行。在10.1.1.0 網段上,由于R1 R2 R3的優先級為默認的1 ,因此 優先級大的 R3(3.3.3.3),就成為DR,R2(2.2.2.2)成為BDR.但是要考慮,如果R1 R2率先接入網絡,當DR BDR選舉完成之后再接入R3的話,R3錯過選舉之后,就不能搶占DR BDR了。

R2 R3 R4也一樣,因此正常情況下R4為DR,R3為BDR

R1配置:

R1(config)#router ospf 1

R1(config-router)#router-id 1.1.1.1 //手工指定router-id

R1(config-router)#network 1.1.1.1 0.0.0.0 area 0 --------采取反子網掩碼的方式進行通告,類似于通告了一個1.1.1.1 255.255.255.255 的路由信息,采用反子網掩碼,是為了區別配置IP地址是的子網掩碼

R1(config-router)#network 10.1.1.0 0.0.0.255 area 0

R1(config-router)#exit

R1(config)#end

R2配置:

R2(config)#router ospf 1

R2(config-router)#router-id 2.2.2.2

R2(config-router)#network 2.2.2.2 0.0.0.0 area 0

R2(config-router)#network 10.1.1.0 0.0.0.255 area 0

R2(config-router)#network 40.1.1.0 0.0.0.255 area 0

R2(config-router)#end

R3配置:

R3(config)#router ospf 1

R3(config-router)#router-id 3.3.3.3

R3(config-router)#network 3.3.3.3 0.0.0.0 area 0

R3(config-router)#network 10.1.1.0 0.0.0.255 area 0

R3(config-router)#network 40.1.1.0 0.0.0.255 area 0

R3(config-router)#exit

R4 配置:

R4(config)#router ospf 1

R4(config-router)#router-id 4.4.4.4

R4(config-router)#network 4.4.4.4 0.0.0.0 area 0

R4(config-router)#network 40.1.1.0 0.0.0.255 area 0

R4(config-router)#end

這時,為了滿足要求,讓R2成為10.1.1.0 網段的DR,可以修改R2的router-id,改為22.22.22.22

,只要比R3的3.3.3.3 大就可以;為了是R3成為40.1.1.0 網段的DR,可以修改R3的f0/1

的接口優先級。

R2配置:

R2(config)#router ospf 1

R2(config-router)#ro

R2(config-router)#router-id 22.22.22.22

Reload or use "clear ip ospf process" command, for this to take effect //系統提示,要想新的router-id生效,要重啟OSPF進程

R2(config-router)#end

R3 配置:

R3(config)#interface f0/1

R3(config-if)#ip ospf priority 5

R3(config-if)#end

這個時候,將R1 R2 R3 R4的OSPF進程重啟,然后再觀察。

R1配置:

R1#clear ip ospf process

Reset ALL OSPF processes? [no]: y //重啟OSPF進程,這個要在四個路由器上同時敲下去

這時可以看到10.1.1.0網段,R2的router-id最大成為DR,R3的router-id次之,成為BDR;

40.1.1.0 網段,R3的優先級最大成為DR,R2的router-id最大,成為BDR.

按照正常配置完成之后,全網互通,在修改DR和BDR之后需要清一下OSPF的進程,讓他們重新選舉DR和BDR,如果不重啟進程會發現DR和 BDR沒有變化

當DR優先級為0時,通過這個配置,也可以控制DR、BDR的選取!如果想讓某臺路由器永遠都是一個LAN上的DR,則可以將其它的路由器的DR優先級都配置為0。

DR、BDR是終身制,不能被搶占的,這一知識點也是比較奇怪的,我們上面說了DR/BDR是選取出來的,理論上在一個LAN上,應該是優先級最大的路由器被選取為DR的。

但在很多場景中,小伙伴看到的并不是優先級最大的路由器作為DR!因為DR/BDR的選取是不能被搶占的!

只要某臺路由器在一個LAN上,已經被選取為DR,則它會一直是DR!只有等它重啟或者關機了,才會重新選取,也就是說DR/BDR是終身制的!

這樣做主要是為了網絡的穩定,在真實網絡中,穩定是壓倒一切的!即使某種技術最新,某個設備性能最強,但是如果影響到穩定,就不會被優先選擇!

所以想要讓某個路由器永遠作為DR,則只能其它路由器的優先級修改為0!

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43684.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43684.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43684.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

redis事務對比Lua腳本區別是什么

redis官方對于lua腳本的解釋:Redis使用同一個Lua解釋器來執行所有命令,同時,Redis保證以一種原子性的方式來執行腳本:當lua腳本在執行的時候,不會有其他腳本和命令同時執行,這種語義類似于 MULTI/EXEC。從別…

中間件: Kafka安裝部署

單機部署 下載二進制包 cd /opt/soft/archive wget http://archive.apache.org/dist/kafka/3.2.0/kafka_2.12-3.2.0.tgz tar -zxf kafka_2.12-3.2.0.tgz -C ../ cd ../kafka_2.12-3.2.0修改配置 vim config/server.propertiesadvertised.listenersPLAINTEXT://39.105.11.50:…

C++系列-函數重載

C系列-函數重載 函數重載函數重載的條件函數重載注意事項引用作為重載函數重載遇到默認參數 函數重載 函數名可以相同, 提高復用性 函數重載的條件 同一個作用域下函數名相同函數參數不同 – 參數個數不同 – 參數順序不同 – 參數類型不同不可以使用返回值作為重…

UI和API自動化測試的失敗原因

一、UI自動化失敗原因: 界面發生了變化,但是腳本沒有更新腳本中的等待時間太短了,導致元素還沒出來就被判定為失敗了網絡因素,網絡如果太慢的話,界面元素的顯示就會滯后執行的時候突然彈出一個窗口影響了元素的定位Ag…

Python web實戰之Django 的跨站點請求偽造(CSRF)保護詳解

關鍵詞:Python、Web、Django、跨站請求偽造、CSRF 大家好,今天我將分享web關于安全的話題:Django 的跨站點請求偽造(CSRF)保護,介紹 CSRF 的概念、原理和保護方法. 1. CSRF 是什么? CSRF&#…

微服務與Nacos概述-6

RBAC 模型 RBAC 基于角色的訪問控制是實施面向企業安全策略的一種有效的訪問控制方式。 基本思想是,對系統操作的各種權限不是直接授予具體的用戶,而是在用戶集合與權限集合之間建立一個角色集合。每一種角色對應一組相應的權限。一旦用戶被分配了適當…

【MySQL】MySQL基礎知識詳解(一)

MySQL select列的別名去除重復行空值參與運算著重號查詢常數顯示表結構過濾數據 排序使用 ORDER BY 對查詢到的數據進行排序操作。使用列的別名,進行排序二級排序 分頁LIMIT 分頁顯示公式:(當前頁數減一)*每頁條數,每頁…

【AIGC】 快速體驗Stable Diffusion

快速體驗Stable Diffusion 引言一、安裝二、簡單使用2.1 一句話文生圖2.2 詳細文生圖 三、進階使用 引言 stable Diffusion是一款高性能的AI繪畫生成工具,相比之前的AI繪畫工具,它生成的圖像質量更高、運行速度更快,是AI圖像生成領域的里程碑…

【100天精通python】Day41:python網絡爬蟲開發_爬蟲基礎入門

目錄 專欄導讀 1網絡爬蟲概述 1.1 工作原理 1.2 應用場景 1.3 爬蟲策略 1.4 爬蟲的挑戰 2 網絡爬蟲開發 2.1 通用的網絡爬蟲基本流程 2.2 網絡爬蟲的常用技術 2.3 網絡爬蟲常用的第三方庫 3 簡單爬蟲示例 專欄導讀 專欄訂閱地址:https://blog.csdn.net/…

【玩轉Linux操作】crond的基本操作

🎊專欄【玩轉Linux操作】 🍔喜歡的詩句:更喜岷山千里雪 三軍過后盡開顏。 🎆音樂分享【Counting Stars 】 歡迎并且感謝大家指出小吉的問題🥰 文章目錄 🍔概述🍔命令?常用選項 🍔練…

軟件-常用軟件系統架構

目錄 1.客戶端-服務器架構 2.分布式架構 3.微服務架構 4.事件驅動架構 5.單體架構 6.混合架構 當我們談論系統架構時,可以將其比喻為一座房子的設計和結構,想象一下你計劃建造一座豪華別墅,你需要考慮各種因素:如房子的大小…

linux下常見編譯問題

linux下常見編譯問題 linux-cmake靜態編譯查看系統支持的的libc版本查看程序需要的動態鏈接庫查看程序需要的libc版本freebsd下 linux-cmake靜態編譯 CMakeLists.txt 添加 set(CMAKE_EXE_LINKER_FLAGS "-static")ELF 64-bit LSB executable, AMD x86-64, version 1…

【微服務】一文了解 Nacos

一文了解 Nacos Nacos 在阿里巴巴起源于 2008 2008 2008 年五彩石項目(完成微服務拆分和業務中臺建設),成長于十年雙十一的洪峰考驗,沉淀了簡單易用、穩定可靠、性能卓越的核心競爭力。 隨著云計算興起, 2018 2018 20…

編程練習(3)

一.選擇題 第一題: 函數傳參的兩個變量都是傳的地址,而數組名c本身就是地址,int型變量b需要使用&符號,因此答案為A 第二題: 本題考察const修飾指針變量,答案為A,B,C,D 第三題: 注意int 型變…

13---內嵌HTML和React

雖然Markdown本身不支持內嵌HTML和React&#xff0c;但可以在Markdown文檔中直接插入HTML代碼和React組件。 一、在markdown中內嵌HTML 在Markdown中&#xff0c;你可以使用HTML標簽來實現更復雜的樣式和布局。例如&#xff0c;你可以使用<div>標簽來創建一個容器&#…

算法與數據結構(五)--樹與二叉查找樹

符號表的增刪查操作&#xff0c;隨著元素個數N的增多&#xff0c;其耗時也是線性增多的&#xff0c;時間復雜度都是O(n)&#xff0c;為了提高運算效率&#xff0c;我們學習樹這種數據結構。 目錄 一.樹的基本定義 二.樹的相關術語 三.二叉樹的基本定義 四.二叉樹的鏈表實現…

leetcode 279. 完全平方數

2023.8.18 與零錢兌換相似&#xff0c;本題屬于完全背包問題&#xff1a;完全平方數為物品&#xff0c;整數n為背包。 直接上代碼&#xff1a; class Solution { public:int numSquares(int n) {vector<int> dp(n1 , INT_MAX);dp[0] 0;for(int i1; i*i<n; i){for(in…

時序預測 | MATLAB實現WOA-CNN-BiGRU鯨魚算法優化卷積雙向門控循環單元時間序列預測

時序預測 | MATLAB實現WOA-CNN-BiGRU鯨魚算法優化卷積雙向門控循環單元時間序列預測 目錄 時序預測 | MATLAB實現WOA-CNN-BiGRU鯨魚算法優化卷積雙向門控循環單元時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 時序預測 | MATLAB實現WOA-CNN-BiGRU鯨…

干翻Dubbo系列第十二篇:Dubbo協議介紹

文章目錄 文章說明 一&#xff1a;Dubbo協議 1&#xff1a;Dubbo協議簡介 2&#xff1a;Dubbo協議優點 3&#xff1a;Dubbo協議幀的組成 (一)&#xff1a;幻數 (二)&#xff1a;2Way (三)&#xff1a;event (四)&#xff1a;Serilization ID (五)&#xff1a;status …

每日一題 142環形鏈表||(快慢指針)

題目 給定一個鏈表的頭節點 head &#xff0c;返回鏈表開始入環的第一個節點。 如果鏈表無環&#xff0c;則返回 null。 如果鏈表中有某個節點&#xff0c;可以通過連續跟蹤 next 指針再次到達&#xff0c;則鏈表中存在環。 為了表示給定鏈表中的環&#xff0c;評測系統內部…