天天看點

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  前文我們了解了OSPF建立鄰居關系的條件,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/15032907.html;今天我們來聊一聊OSPF中的DR和BDR;

  在說DR和BDR之前我們先來了解下OSPF的網絡類型;

  首先OSPF的網絡類型是基于接口來劃分,其次OSPF的網絡類型是通過接口的二層封裝封包的方式進行了劃分,預設情況下OSPF把接口二層是以太網封裝的網絡稱為廣播類型,把接口二層是PPP或者HDLC封裝的網絡稱為點到點類型;

  在生活中,廣播就是一個人說話,在同一個房間裡的其他人都可以聽到;在網絡裡,廣播和這個類似;一個網絡裝置在一個廣播域發送一條廣播封包,在同一個廣播域的所有裝置都能收到該裝置的廣播;這樣一來我們要想和其中的一台裝置通訊怎麼通訊呢?在二層為以太網封裝的廣播類型網絡裡,它是通過二層以太網封裝目标MAC和源MAC;其原因是ip位址是變化的,如果單純的使用ip位址不能夠準确的辨別某一台裝置(因為ip位址是變化的),而MAC位址是裝置的硬體位址,這個位址是裝置出廠時就固定了,況且不會發生變化;是以确定一台裝置的唯一性,我們可以通過MAC位址;有了通信雙方的mac位址再結合三層的ip位址,我們就可以準确的将對應資料包發送給對方;

  對于點到點類型的網絡,其二層就不需要封裝MAC位址,一條鍊路上就隻有兩個端點,在A端點發送資料B端點就一定能收到;

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:廣播類型的接口是以太網類型接口(就是我們常常看到的網口),而點到點類型的接口是序列槽;

  在點對點類型的網絡中,基于接口封裝的不同又可以分非廣播多路通路和點到多點,如下圖

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:預設情況下,OSPF認為幀中繼(FR)、異步傳輸(ATM)的網絡類型為NBMA;在幀中繼網絡裡非廣播多路通路和以太網中的廣播類型,兩者有一個相同的特點,就是都可以接多個裝置;不同點是以太網二層封裝需要封裝mac位址,支援廣播發送,而幀中繼網絡二層不需要封裝mac位址,其原因是它不支援廣播;不支援廣播就意味着在ospf裡不支援多點傳播;不支援多點傳播也就是說幀中繼網絡裡,ospf隻能通過單點傳播的方式建立鄰居;

  實驗:如下圖兩個拓撲,R1和R2為以太網類型接口,R3和R4為序列槽接口,在兩個實驗環境中配置ospf,抓包看看兩者發送到hello包有什麼不同

HCNA Routing&Switching之動态路由協定OSPF DR和BDR
  配置R1
HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR

sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
ospf 1 router-id 1.1.1.1
area 0
net 12.0.0.1 0.0.0.0
dis ip int b      

View Code

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  配置R2

HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR
sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
ospf 1 router-id 2.2.2.2
area 0
net 12.0.0.2 0.0.0.0
dis ip int b      
HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  配置R3

HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR
sys
sys R3
int s4/0/0
ip add 34.0.0.3 24
ospf 1 router-id 3.3.3.3
area 0
net 34.0.0.3 0.0.0.0
dis ip int b      
HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  配置R4

HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR
sys
sys R4
int s4/0/0
ip add 34.0.0.4 24
ospf 1 router-id 4.4.4.4
area 0
net 34.0.0.4 0.0.0.0
dis ip int b      
HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  在R1或R2上抓包

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  在R3或R4上抓包

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:預設情況序列槽鍊路的二層封裝為ppp類型,這裡抓包就選擇ppp鍊路類型即可;

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:從上面的抓包情況可以看到,在以太網封類型的網絡環境下抓包,其二層封裝了目标mac和源mac,而在點到點類型的網絡環境下抓包,其二層就不是使用以太網協定而是用ppp協定,并且資料包裡面也沒有封裝mac位址;

  驗證:檢視對應ospf網絡類型

  在R1或R2上驗證相關接口的網絡類型

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  在R3或R4上驗證相關接口的網絡類型

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  更改R3的s4/0/0的鍊路封裝為FR,看看對應的接口類型是什麼

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:可以看到修改了R3的s4/0/0接口的封裝為FR以後,對應ospf就down掉了;并且對應接口的類型就變為了NBMA(非廣播多路通路);

  OSPF DR和BDR

  DR和BDR的作用

  在上述的網絡類型中,在多路通路網絡類型中跑OSPF,每個路由器都會和其他路由器建立鄰居,一個路由器發送一條鍊路更新,其他路由器都會跟着确認,這樣一來,每個路由器都要經過兩兩的互動和确認,在一定程度上會帶來路由器的性能的開銷(hello包,DD,LSR,LSU,LSACK這些包過多,增加路由器的處理壓力,進而導緻路由器的性能降低);為了降低資料包的交換,在OSPF中會選舉DR和BDR;如下圖

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:廣播型網絡BMA和NBMA網絡中,為了減少鄰接關系的數量,進而減少資料包交換,次數,最終節省帶寬,降低對路由器處理能力的壓力,選舉DR和BDR。

  相關術語概述

  DR:Designed Router,指定路由器,類似班長、總經理;

  BDR:Backup DR,備用DR,類似副班長、副總經理;

  DRouthers:類似普通學生、普通員工;

  三者的關系:DR、BDR、DRothers之間都保持鄰接關系(Full),DRothers之間保持鄰居關系(Two-Way);

  通信位址:224.0.0.6向DR和BDR發送鍊路狀态更新,224.0.0.5向所有OSPF路由器發送;

  DR選舉規則

  1、首先比較Hello封包中攜帶的優先級,優先級範圍是0-255,預設情況下都是1;優先級最高的被選舉為DR,優先級次高的被選舉為BDR;優先級為0的不參與選舉;

  2、如果優先級相同的情況下,比較router id大小,router id越大越優先;

  3、選舉不具有搶占性,除非當DR和BDR都失效或重新開機OSPF程序;

HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:DRothers的LSU向DR或BDR通過224.0.0.6發送,然後DR收到DRothers發送到LSU以後,會将對應的LSU通過224.0.0.5向其他路由器發送,其他路由器收到DR發送LSU以後,BDR向224.0.0.5直接确認,而DBothers則通過224.0.0.6向DR确認;總結一句話就是從DR或BDR發出的資料包都是發往224.0.0.5,DR和BDR都會監聽224.0.0.6這個位址;DRothers發出的資料會通過224.0.0.6向DR或BDR發送;

  實驗:如下圖,全網運作ospf,看看對應的資料包會這麼發送,對應路由器之間是什麼關系

HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR
sys
sys R1
int g0/0/0
ip add 1.0.0.1 24
ospf 1 router-id 1.1.1.1
a 0
net 1.0.0.0 0.0.0.255
dis ip int b
dis ospf peer brief      
HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  在R1上檢視g0/0/0的接口資訊,看看誰是DR和BDR

HCNA Routing&Switching之動态路由協定OSPF DR和BDR

  提示:可以看到隻配置了R1上的OSPF以後,對應DR就是它自己,因為此時沒有其他裝置和它競選DR,是以隻有它是DR;對于BDR來說,它不知道,因為目前就隻有它自己在ospf裡面,沒有看到其他裝置;

HCNA Routing&Switching之動态路由協定OSPF DR和BDR
HCNA Routing&Switching之動态路由協定OSPF DR和BDR
sys
sys R2
int g0/0/0
ip add 1.0.0.2 24
ospf 1 router-id 2.2.2.2
a 0
net 1.0.0.0 0.0.0.255
dis ip int b
dis ospf peer brief      
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 1.0.0.2 24
[R2-GigabitEthernet0/0/0]ospf 1 rout
Jul 24 2021 12:08:39-08:00 R2 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the UP state. 
[R2-GigabitEthernet0/0/0]ospf 1 router-id 2.2.2.2
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]net 1.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]dis ip int b
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 2
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 2

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              1.0.0.2/24           up         up        
GigabitEthernet0/0/1              unassigned           down       down      
GigabitEthernet0/0/2              unassigned           down       down      
NULL0                             unassigned           up         up(s)     
[R2-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:08:44-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[1]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init) 
[R2-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:08:44-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[2]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way) 
[R2-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:08:44-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[3]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=ExStart) 
[R2-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:08:44-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[4]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchange) 
[R2-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:08:44-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[5]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading) 
[R2-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:08:44-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[6]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 
[R2-ospf-1-area-0.0.0.0]dis ospf peer brief

         OSPF Process 1 with Router ID 2.2.2.2
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             1.1.1.1          Full        
 ----------------------------------------------------------------------------
[R2-ospf-1-area-0.0.0.0]
      

  提示:可以看到當R2配置好ospf以後,它會和R1先建立其鄰接關系;

  再次在R1上檢視g0/0/0的接口資訊,看看此時誰是DR和BDR

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR

  提示:此時可以看到DR是R1的接口ip位址,BDR是R2的接口位址;

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
sys
sys R3
int g0/0/0
ip add 1.0.0.3 24
ospf 1 router-id 3.3.3.3
a 0
net 1.0.0.0 0.0.0.255
dis ip int b
dis ospf peer brief      
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 1.0.0.3 24
Jul 24 2021 12:14:41-08:00 R3 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the UP state. 
[R3-GigabitEthernet0/0/0]ospf 1 router-id 3.3.3.3
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]net 1.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]dis ip int b
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 2
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 2

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              1.0.0.3/24           up         up        
GigabitEthernet0/0/1              unassigned           down       down      
GigabitEthernet0/0/2              unassigned           down       down      
NULL0                             unassigned           up         up(s)     
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:45-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[1]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:45-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[2]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[3]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[4]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[5]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=ExStart) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[6]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=ExStart) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[7]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchange) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[8]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchange) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[9]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[10]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[11]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:14:46-08:00 R3 %%01OSPF/4/NBR_CHANGE_E(l)[12]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 
[R3-ospf-1-area-0.0.0.0]dis ospf peer brief

         OSPF Process 1 with Router ID 3.3.3.3
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             1.1.1.1          Full        
 0.0.0.0          GigabitEthernet0/0/0             2.2.2.2          Full        
 ----------------------------------------------------------------------------
[R3-ospf-1-area-0.0.0.0]
      

  提示:可以看到當R3配置好以後,對應R3和R1和R2都建立起鄰接關系;

  檢視R3g0/0/0接口資訊,看看DR和BDR變化沒有?

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR

  提示:之是以DR和BDR沒有發生變化,其原因是ospf已經選好了DR和BDR,而DR和BDR的選舉是非搶占性,一旦選好,就不變了,除非重新開機ospf程序(所有路由器)來觸發DR和BDR的重新選舉;

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
sys
sys R4
int g0/0/0
ip add 1.0.0.4 24
ospf 1 router-id 4.4.4.4
a 0
net 1.0.0.0 0.0.0.255
dis ip int b
dis ospf peer brief      
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 1.0.0.4 24
Jul 24 2021 12:20:57-08:00 R4 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the UP state. 
[R4-GigabitEthernet0/0/0]ospf 1 router-id 4.4.4.4
[R4-ospf-1]a 0
[R4-ospf-1-area-0.0.0.0]net 1.0.0.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]dis ip int b
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 2
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 2

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              1.0.0.4/24           up         up        
GigabitEthernet0/0/1              unassigned           down       down      
GigabitEthernet0/0/2              unassigned           down       down      
NULL0                             unassigned           up         up(s)     
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:02-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[1]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:02-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[2]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:02-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[3]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=ExStart) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:02-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[4]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchange) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:02-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[5]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:02-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[6]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.1, NeighborEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:04-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[7]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:04-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[8]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:04-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[9]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=ExStart) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:05-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[10]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchange) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:05-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[11]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:05-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[12]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.1, NeighborEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:06-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[13]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=3.0.0.1, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:06-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[14]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=3.0.0.1, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief
Jul 24 2021 12:21:06-08:00 R4 %%01OSPF/4/NBR_CHANGE_E(l)[15]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=3.0.0.1, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=2Way) 
[R4-ospf-1-area-0.0.0.0]dis ospf peer brief

         OSPF Process 1 with Router ID 4.4.4.4
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             1.1.1.1          Full        
 0.0.0.0          GigabitEthernet0/0/0             2.2.2.2          Full        
 0.0.0.0          GigabitEthernet0/0/0             3.3.3.3          2-Way       
 ----------------------------------------------------------------------------
[R4-ospf-1-area-0.0.0.0]
      

  提示:可以看到當R4配置好以後,對應R4和R1(DR),R2(BDR)是鄰接關系;而和R3(DRothers)建立的鄰居關系;

  驗證:在R1上釋出更新,抓包看看對應的資料包會怎麼發送和确認?

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR

  提示:可以看到當R1(DR)發送LSU時,它會直接向224.0.0.5發送;其中R2(BDR)向224.0.0.5确認;R3(DRothers)和R4(DRothers)向224.0.0.6确認;

  驗證:在R2上發送LSU,看看對應資料包會這麼發送和确認的呢?

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR

  提示:可以看到當R2(BDR)發送LSU時,它和R1發送LSU一樣直接向224.0.0.5發送LSU,對應R1(DR)直接向224.0.0.5确認;R3、R4(DRother)向224.0.0.6确認;

  驗證:當R3發送LSU,看看對應資料包會這麼發送和确認呢?

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR

  提示:可以看到當R3(DRother)發送LSU時,它首先會把LSU通過224.0.0.6向R1(DR)發送,當R1(DR)收到R3發送的LSU,它會通過224.0.0.5向其他路由器發送LSU(不會再發送給R3);R2(BDR)收到LSU向224.0.0.5确認,R4(DRother)向224.0.0.6确認;

  驗證:當R4 發送LSU時,看看對應資料包會怎麼發送和确認呢?

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR
HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR

  提示:可以看到R4(DRother)發送LSU和R3(DRother)發送LSU一樣;首先它會把LSU發送給R1(DR),然後由R1(DR)再向其他路由器發送LSU;BDR(R2)直接向224.0.0.5确認;DRother(R3)向224.0.0.6确認;

  驗證:全網重新開機ospf程序,看看對應的DR和BDR是否會重新選舉?

HCNA Routing&amp;Switching之動态路由協定OSPF DR和BDR

  提示:可以看到4個路由器分别重新啟動了ospf以後,重置ospf 程序以後,R4當選為DR,R3當選為BDR;因為重新開機ospf程序對應的鄰居和鄰接關系又重建立立,此時4個路由器首先會比較對應的hello包裡的優先級,預設情況下優先級都是1 ,此時優先級一樣,會比較對應接口的ip位址誰大誰就是DR,次大者就為BDR,剩下沒有被選舉成DR或BDR的就淪為DRother;R4的router id 為4.4.4.4,是4個路由器中最大的,是以R4當選DR,R3的router id為3.3.3.3 ,第二大,是以當選BDR;

作者:Linux-1874

出處:https://www.cnblogs.com/qiuhom-1874/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利.