OSPF DR/BDR選取過(guò)程中的幾個(gè)知識(shí)點(diǎn)
先選取BDR,后選取DR
這個(gè)知識(shí)點(diǎn)是很多小伙伴特別容易搞錯(cuò)的!很多人認(rèn)為,BDR屬于DR的備份設(shè)備,肯定是要在DR選取完成以后,才會(huì)選取BDR的!
其實(shí)不是,BDR是早于DR先選取的!
BDR先選
DR/BDR的選取過(guò)程如下:
- 在一個(gè)LAN上,先根據(jù)優(yōu)先級(jí)和Router ID選取一個(gè)BDR;
- 如果LAN上此時(shí)沒(méi)有DR,則BDR會(huì)轉(zhuǎn)化為DR;
- 在LAN上,重新選取BDR。
其它的路由器(DR Other)需要和BDR建立鄰接關(guān)系
DR負(fù)責(zé)在一個(gè)LAN上通告LSA信息,所有的路由器都要和DR形成鄰接關(guān)系,那么和BDR是否要形成鄰接關(guān)系呢?
答案是肯定的!
- BDR首先會(huì)和DR形成鄰接關(guān)系;
- 其它的路由器(DR Other)也要和BDR形成鄰接關(guān)系。
這樣做是有原因的,當(dāng)DR出故障以后,BDR會(huì)成為新的DR。如果DR other不和BDR形成鄰接關(guān)系,網(wǎng)絡(luò)的流量就會(huì)中斷時(shí)間很長(zhǎng),因?yàn)榻⑧従雨P(guān)系是要花一定時(shí)間的,在這段時(shí)間內(nèi),網(wǎng)絡(luò)的流量是不通的!
DR other和BDR形成鄰接關(guān)系,當(dāng)BDR切換為DR時(shí),只需要發(fā)送LSA,向DR other告知新的DR即可,LSDB的內(nèi)容基本上不變!所以能夠節(jié)省時(shí)間,讓BDR真正的起到備份的作用!
優(yōu)先級(jí)為0的OSPF路由器不參與DR、BDR的選取
如果把一臺(tái)路由器的某個(gè)接口的OSPF優(yōu)先級(jí)修改為0,則這臺(tái)路由器在這個(gè)LAN上,就不會(huì)參與DR/BDR的選取了!
DR優(yōu)先級(jí)為0
通過(guò)這個(gè)配置,也可以控制DR、BDR的選取!如果想讓某臺(tái)路由器永遠(yuǎn)都是一個(gè)LAN上的DR,則可以將其它的路由器的DR優(yōu)先級(jí)都配置為0。
控制DR選取
DR、BDR是終身制,不能被搶占的
這一知識(shí)點(diǎn)也是比較奇怪的,我們上面說(shuō)了DR/BDR是選取出來(lái)的,理論上在一個(gè)LAN上,應(yīng)該是優(yōu)先級(jí)最大的路由器被選取為DR的。
但在很多場(chǎng)景中,小伙伴看到的并不是優(yōu)先級(jí)最大的路由器作為DR!因?yàn)镈R/BDR的選取是不能被搶占的!
只要某臺(tái)路由器在一個(gè)LAN上,已經(jīng)被選取為DR,則它會(huì)一直是DR!只有等它重啟或者關(guān)機(jī)了,才會(huì)重新選取,也就是說(shuō)DR/BDR是終身制的!
這樣做主要是為了網(wǎng)絡(luò)的穩(wěn)定,在真實(shí)網(wǎng)絡(luò)中,穩(wěn)定是壓倒一切的!即使某種技術(shù)最新,某個(gè)設(shè)備性能最強(qiáng),但是如果影響到穩(wěn)定,就不會(huì)被優(yōu)先選擇!
所以想要讓某個(gè)路由器永遠(yuǎn)作為DR,則只能其它路由器的優(yōu)先級(jí)修改為0!