1.1.8 DR和BDR
DR和BDR
MA網(wǎng)絡(luò)中的問題
?
在OSPF章節(jié)中最后一塊就是關(guān)于DR和BDR的選舉和作用,我們在之前已經(jīng)說過了,在OSPF中會有一個MA網(wǎng)絡(luò),可能是NBMA,或者是BMA,也就是廣播多路訪問網(wǎng)絡(luò),對于MA網(wǎng)絡(luò)中會存在一些問題,我們來看看存在的問題。
?
?
- N ×(N - 1)/ 2 個鄰接關(guān)系,管理復(fù)雜。
- 重復(fù)的LSA泛洪,造成資源浪費(fèi)。
?
MA網(wǎng)絡(luò)中一般來說是兩個路由器,或者是兩個三層交換機(jī)都可以。
?
假如這里有兩個三層交換機(jī), 在這里是做了一個直連,所以一臺鏈路上就只有兩臺設(shè)備,相當(dāng)于是一個點對點的連接。
?
但是有的時候可能中間會接入一個二層的交換機(jī),然后下方還有路由器,這個時候4臺設(shè)備都連接在一個二層的交換機(jī)上,它們處于同一個網(wǎng)絡(luò)中,此時這四臺三層設(shè)備都可以互相去建立鄰居關(guān)系。
?
建立鄰居關(guān)系的話有可能我們還可以去互相傳播路由信息,此時就會有N ×(N - 1)/ 2 個鄰接關(guān)系,它的管理會變得非常的復(fù)雜。
?
我們可以看到圖中,就相當(dāng)于這個邏輯拓?fù)淞?#xff0c;我的RTA要和RTC、RTD、RTB建立鄰居關(guān)系和鄰接關(guān)系,這個時候就要去傳播我們相應(yīng)的Hello報文和相應(yīng)的LSA的報文,這里就是傳播LSU報文,當(dāng)然還要去傳播DD報文、LSR報文等。這個時候就會造成重復(fù)的泛洪,以及資源的浪費(fèi)!
?
DR與BDR的作用
?
我們?nèi)绾稳ス?jié)省這個資源呢?
?
- 減少鄰接關(guān)系。
- 降低OSPF協(xié)議流量。
?
?
我們在這里可以選舉出一個DR,這個DR就相當(dāng)于一個組長。
?
我的其他路由器,相對于RTB、RTC和RTD來說,加入他們都是非DR,而RTA作為一個DR。
那么此時這三個路由器就跟我們的RTA去建立鄰接關(guān)系,需要什么消息從RTA這里拿,我有什么路由消息也會統(tǒng)一去通報給RTA,由RTA作為一個收集者去收集網(wǎng)段中的路由信息然后再統(tǒng)一分發(fā)給各個路由器。
?
這樣就能減少鄰接關(guān)系,也能降低OSPF的協(xié)議流量。
?
這里有一個思考題就是關(guān)于DR的單點故障怎么解決?
?
因為我們發(fā)現(xiàn)DR是一個很重要的設(shè)備,所以我們不會只單單去選舉出一個DR,我們還會有一個BDR。
?
這里就是作為一個DR的備份,如果DR Down了之后,BDR就會補(bǔ)上DR的工作來保證我們數(shù)據(jù)是可持續(xù)性傳輸?shù)摹?/p>
?
DR與BDR選舉
?
DR和BDR是怎么選舉的?
?
選舉規(guī)則:DR/BDR的選舉是基于接口的。
?
- 接口的DR優(yōu)先級越大越優(yōu)先。
- 接口的DR優(yōu)先級相等時,Router ID越大越優(yōu)先。
首先,它的選舉規(guī)則是基于接口的,與其說它是基于接口的,不如說它是基于網(wǎng)段的
?
?
假如說我在RTB上再來一個RTE,此時我在這里要選舉多少個DR?
?
我在這里是要選舉兩個的,每個網(wǎng)段都需要有一個DR。
對于10.1.1.0網(wǎng)段,也要選舉出一個DR,另外對于RTE和RTB這個網(wǎng)段,我們肯定還有一個網(wǎng)段。
?
假如是一個以太網(wǎng),或者是一個幀中繼的網(wǎng)絡(luò),總之,只要是MA網(wǎng)絡(luò)的話,我們就要去選舉一個DR,如果是PPP網(wǎng)絡(luò),就不用去選舉一個DR了。
因為PPP網(wǎng)絡(luò)和P2MP網(wǎng)絡(luò)都是不用去選舉DR的。
?
按照我們這種情況,假如說現(xiàn)在都是以太網(wǎng)的話,我們是要去選舉出兩個DR的,所以就說明DR的選舉是基于接口的。
?
接口的DR優(yōu)先級越大越優(yōu)先,當(dāng)接口的優(yōu)先級相等的時候,我們會去選舉Router-id越大者越優(yōu)先。
?
?
這個是前提規(guī)則,但是我們來看一下實際的情況,我們可以看到對于4臺設(shè)備,RTA【DR】它的優(yōu)先級是100,RTC【BDR】的優(yōu)先級是95,RTB優(yōu)先級是0,RTD的優(yōu)先級是200,結(jié)果我們發(fā)現(xiàn)這個時候RTA作為DR,RTD作為一個DRother,這里是為什么呢?
?
我們先來看一下關(guān)于優(yōu)先級是0的一個注解,如果優(yōu)先級是0的話,在這里是不參與選舉的,這個時候優(yōu)先級為0不參與選舉,那么一定就是一個Dother。
?
另外一點我們可以看到,Router Priority最大的不一定是DR/BDR,為什么會這樣呢?
?
我們前面講到Router id的時候有提到一個原則:
?
即穩(wěn)定大于一切。對于DR的選舉也是一樣的,即穩(wěn)定大于一切。
?
假設(shè)我們?nèi)ヅ渲玫臅r候我們首先配置的是RTA,此時RTA在這個網(wǎng)絡(luò)中RTB、RTC、RTD都沒有配置OSPF:
?
現(xiàn)在在10網(wǎng)段中我的RTA只有一臺路由器,此時RTA配置OSPF開始進(jìn)行選舉,RTA認(rèn)為這個網(wǎng)段只有我自己,那么我就是老大,我就是DR,它會選舉自己成為DR。
然后配置RTB,RTB不參與選舉我們就會跳過,接著配置RTC和RTD,那么配置RTD的時候,優(yōu)先級是200。
?
我此時的RTD能不能去搶占DR的位置呢?
?
在這里是不可以的,因為我們的RTA已經(jīng)成為了DR,我們可以看到RTB和RTC去學(xué)習(xí)路由的時候,都是和RTA去學(xué)習(xí)的,我的鄰接關(guān)系都已經(jīng)建立好了。
?
如果說RTD開始去搶占我原有DR的位置,那么這個時候鄰接關(guān)系又會改變,我從RTC和RTB的話需要去和RTD建立鄰接關(guān)系,這個時候RTA就有可能是一個DRother的角色了。
?
這個時候我們的網(wǎng)絡(luò)相應(yīng)的路由就會改變,網(wǎng)絡(luò)可能會出現(xiàn)震蕩。
?
為了保證OSPF網(wǎng)絡(luò)的穩(wěn)定性的話。一旦RTA這個路由器成為了DR,我們其他的路由器這個時候去加入的時候,不論優(yōu)先級是多少,我們都不會去搶占原有DR的地位。
?
這個就是穩(wěn)定大于一切的原則。
?
假如我們現(xiàn)在就是要讓RTD成為DR,我認(rèn)為RTD的設(shè)備性能會更好一點,這里也是有辦法的:
?
- 我們可以在這4臺路由器上面同時去重啟OSPF進(jìn)程【reset ospf process】。
- 或者將路由器重啟也可以。
?
這個時候我們讓它們重新去選舉,那么RTD就可以成為DR了。
?
注意:
我們建議需要哪一個路由器稱為DR,那么就優(yōu)先配置該路由器。
?
eg:我想讓RTD優(yōu)先成為DR,那么就最先配置RTD即可。
?
鄰居與鄰接關(guān)系
?
這個就是DR和BDR的選舉,對于設(shè)備來說,現(xiàn)在我們剛選舉出DR和BDR之后,我們可以看到:
?
| 網(wǎng)絡(luò)類型 | 是否和鄰居建立鄰接關(guān)系 |
| P2P | 是 |
| Broadcast ? NBMA | DR與BDR、DRother建立鄰接關(guān)系 BDR與DR、DRother建立鄰接關(guān)系 DRother之間只建立鄰居關(guān)系 |
| P2MP | 是 |
?
針對DR和BDR,我們先看到在Broadcast網(wǎng)絡(luò)中:
?
- DR和BDR以及DRother之間是建立了一個鄰接關(guān)系的。
- 同樣的,BDR和其他的路由器也是建立了鄰接關(guān)系的。
?
它們都是full狀態(tài),而DRother之間只是建立了一個鄰居關(guān)系。
?
- 所以DRother之間只有2-way狀態(tài)。
?
即我們?nèi)ゲ榭脆従訝顟B(tài)的時候【display ospf peer】的時候,我們就會發(fā)現(xiàn)我的鄰居關(guān)系為什么會卡在2-way,這里并不一定是我配置錯誤,因為DRother之間卡在了鄰居狀態(tài)是比較正常的,我們不用去理會。
?
對于點對點和點到多點,它們都是可以直接去建立鄰接關(guān)系,去學(xué)習(xí)我們相應(yīng)的路由的。不會去選舉DR和BDR。
?
注意:
我們之前有提到過224.0.0.5和224.0.0.6這兩個組播報文:
?
- 對于224.0.0.6只有DR和BDR才會去接收224.0.0.6的報文信息。
- 224.0.0.5是OSPF的所有路由器都能夠去接收.5的報文信息。
?
- 224.0.0.6是只有DR和BDR才能夠去接收的。我們的DRohter向外發(fā)送路由消息的時候,DROther的目的地址肯定是224.0.0.6。
?
這里只能被DR和BDR接收到。
?
- 如果DR向外發(fā)送報文,去和DRohter、BDR也好,去共享我們的目的信息的時候,我的目的地址是224.0.0.5。
?
我是發(fā)送給我的廣播多路訪問網(wǎng)絡(luò)區(qū)域中的這個網(wǎng)段的所有路由器的,所以我的組播地址是224.0.0.5。
?
這個就是它的兩個組播地址的作用,224.0.0.5是作為所有的OSPF的路由器,224.0.0.6是只有DR和BDR才能夠去接收的。
總結(jié)
以上是生活随笔為你收集整理的1.1.8 DR和BDR的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新东方英语词汇笔记
- 下一篇: HDU3507打印文章 斜率优化入门