HCNP Routing&Switching之OSPF網路型別

1874發表於2021-08-28

  前文我們瞭解了PPPoE協議相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/15182512.html;今天我們聊聊一聊OSPF中的網路型別相關話題;

  在na的筆記裡,我們也提到過ospf的網路型別;ospf的網路型別是根據對應介面二層封裝來進行分類的;對於二層鏈路是乙太網封裝的,在ospf裡叫廣播型網路型別;這種網路型別支援廣播和組播,也是我們最常見的一種ospf網路型別;對於二層鏈路是ppp點到點封裝的,在ospf裡叫點到點網路型別,該網路型別,支援廣播和組播,但不支援多路訪問;所謂多路訪問是指是否有共享介質將多個網路裝置連線在一起;對於點到點型別的網路,介面和介面中間沒有其他共享介質連線其他裝置,所以點到點型別的網路不是多路訪問網路,但支援廣播和組播;除上述兩種常見的網路型別以外;還有一種就是非廣播多路訪問;這種網路型別的二層鏈路封裝是幀中繼封裝;不支援廣播和組播,但是它是多路訪問,原因是幀中繼網路型別,可以用幀中繼交換機將多個路由器連線起來,實現幀中繼網路;以上是三種ospf裡的網路型別;它們的二層鏈路封裝都有預設的協議封裝;但對於第四種網路型別P2MP(點到多點,是多個點到點的網路集合),這種網路型別來說,它沒有預設的二層鏈路封裝協議,只有我們手動更改對應介面的網路型別為P2MP網路型別;這種手動更改為P2MP網路型別我們可以看作一組點到點網路的集合;這種網路型別支援廣播、組播;

  P2P網路型別

  提示:P2P網路連線了一對通過PPP協議的二層鏈路封裝的路由器,中間沒有其他裝置,廣播、珠寶資料包都可以正常轉發;該網路型別,ospf是不需要選DR和BDR;

  廣播型網路

  提示:廣播型網路支援兩臺及以上的裝置接入同一共享鏈路且可以支援廣播、組播報文的轉發,是ospf中最常見的網路型別;廣播型網路是通過乙太網鏈路相連的路由器網路;該網路型別,ospf是需要選DR和BDR;

  NBMA網路

  提示:NBMA網路預設不支援廣播域組播報文的轉發,在NBMA網路上,OSPF模擬在廣播型網路上的操作,但每個路由器的鄰居需要我們手動配置;NBMA網路是全互聯的幀中繼鏈路相連的路由器網路;該網路型別,ospf是需要選DR和BDR;

  P2MP網路

  提示:P2MP網路我們可以看作一組P2P網路,這樣便行成為了一個點到多點網路;在P2MP網路上,每個路由器的OSPF鄰居可以使用方向地址解析協議(Inverse ARP)來發現;P2MP可以看作多個P2P的集合,所以P2MP可以支援廣播、組播的轉發;沒有一種鏈路層協議預設屬於P2MP型別網路,也就是說我們必須由其他的網路型別強制更改為P2MP;最為常見的做法將非完全連線的幀中繼或ATM(非同步傳輸)改為P2MP;該網路型別,ospf是不需要選DR和BDR;

  實驗:如下拓撲,實現全互聯的幀中繼網路

  提示:DLCI我們可以理解為乙太網交換機中的mac地址;上圖中AR1上有去往AR2的HDLC為102,去往AR3的DLCI為103;AR2去往AR1的HDLI為201,去往AR3的DLCI為203;AR3去往AR1的DLCI為301,去往AR2的DLCI為302;

  配置各路由器介面ip地址和更改對應介面為幀中繼封裝

  配置R1

HCNP Routing&Switching之OSPF網路型別
sys
sys R1
int s4/0/0
link-protocol fr
y
ip add 202.11.0.1 24
View Code

  配置R2

HCNP Routing&Switching之OSPF網路型別
sys
sys R2
int s4/0/0
link-protocol fr
y
ip add 202.11.0.2 24
View Code

  配置R3

HCNP Routing&Switching之OSPF網路型別
sys
sys R3
int s4/0/0
link-protocol fr
y
ip add 202.11.0.3 24
View Code

  提示:三個路由器都需要將對應串列埠的二層封裝修改為幀中繼網路;從上面的截圖可以看到,更改對應介面的封裝為幀中繼封裝,配置好ip地址以後,對應的介面都up起來;

  驗證:在R1上pingR2 、R3看看是否能正常ping通?

  提示:可以看到在R1上ping R2、R3都不能Ping通;什麼原因呢?其實原因就是因為我們中間連線的是幀中繼交換機,它和乙太網交換機不同,需要我們手動配置對應網路的對映關係,類似乙太網交換機中的mac地址表;

  配置幀中繼交換機對映

  提示:上述三條對映分別表示R1從幀中繼0口收到DLCI為102的資料包,從1口傳送出去修改為201;對應返回的資料包,它會自動根據這條對映,將DLCI為201的資料包從1口收到,從0口傳送出去,並將對應DLCI修改為102;這樣一來就打通了R1到R2的對映;同樣的道理R1到R3,源埠為0口,傳送出去的的DLCI為103,對應幀中繼交換機的1口收到此類資料包,會將對應的資料包的DLCI為103修改為301,然後從2口傳送出去,回來的包自動修改對應的DLCI;對於R2到R3也是類似的邏輯;

  配置路由器對映

  配置R1的對映,將DLCI為102對映為對應網路為202.11.0.2,DLCI為103對映對應網路為202.11.0.3

  提示:配置對映需要在對應介面下配置;

  配置R2的對映,把DLCI為201對映ip為202.11.0.1,DLCI為203對映ip為202.11.0.3

  配置R3的對映,把DLCI為301對映ip為202.11.0.1,DLCI為302對映ip為202.11.0.2

  提示:後面的broadcast參數列示支援廣播傳送;

  驗證:在R1上看對應對映配置

  提示:檢視對映,一定要看對應狀態為active狀態才表示對應對映生效;

  驗證:現在用R1ping R2、R3看看是否能夠ping通呢?

  提示:可以看到R1可以正常ping通R2和R3;

  驗證:在幀中繼交換機的0口抓包看看通訊過程

  提示:可以看到R1ping R2的所有包其DLCI都為102;

  驗證:用R1PingR3看看對應包的DLCI是否為103呢?

  提示:可以看到R1PingR3的DLCI是103;其實我們也很好理解,路由器裡有對應的對映,它在傳送資料包之前會檢視對應的目標地址,根據對應目標地址修改其DLCI;回包也是同樣的邏輯;

  實驗:如下拓撲配置非完全互聯的幀中繼網路

  提示:這個實驗和上面那個實驗唯一的區別是R2沒有直達R3的DLCI,其他都一樣,變化的只有R2、R3的對映,以及正宗交換機裡的對映;

  配置幀中繼交換機對映

  配置R2、R3對映

  提示:上述命令表示R2去往R1或和R3對應的DLCI都為201;

  提示:上述命令表示R3去往R1或和R2對應的DLCI都為301;

  驗證:現在用R2pingR3看看是否能通?

  提示:可以看到R2現在也能正常ping通R3;

  驗證:在幀中繼交換機的0口抓包看看R2pingR3對應DLCI的變化

  提示:可以看到R2pingR3是,首先R2用DLCI為201把資料包傳送給R1,幀中繼交換機收到對應的資料包,會從0口傳送給R1並把對應DLCI修改為102,隨後R1收到對應DLCI為102的資料包,檢視目標網路為R3,然後它查對映表,然後把對應的資料包的DLCI修改為103,然後傳送給幀中繼交換機;從上面的過程可以看到,此時R2和R3沒有直達DLCI時,可以藉助R1的DLCI實現通訊;

  其實上述實驗中,我們不配置路由器的對映,對應網路也能正常實現互通;其原因是在幀中繼網路裡可以用方向地址解析(Inverse ARP)來學習到對應的DLCI對映關係;預設情況下是開啟Inverse arp功能;如果手動關閉了此功能,就需要我們手動配置對應路由的對映;

  關閉方向地址arp解析

  在上述實驗環境跑OSPF

  提示:上述命令需要在三個路由器上都配置對應ospf;

  驗證:檢視對應ospf網路型別

  提示:可以看到對應ospf網路型別為NBMA;

  驗證:檢視ospf鄰居資訊

  提示:可以看到配置好對應ospf以後,對應鄰居並沒有建立;其原因是NBMA網路型別不支援組播;所以我們還需要手動配置鄰居資訊;

  在R1手動配置鄰居關係

  提示:可以看到手動配置鄰居資訊以後,對應鄰居就處於attempt狀態;該狀態表示等待鄰居喚醒;只要對應鄰居也認識了R1,對應狀態就會變為full;

  在R2上手動配置鄰居關係

  提示:可以看到在R2上手動配置鄰居資訊以後,對應鄰居狀態就變為full了;此時R2就和R1建立起鄰居關係;對於R1和R3也是同樣的邏輯;但是R2和R3是建立不起鄰居的;原因是R2沒有直達R3的鏈路;他倆通訊需要R1的中轉,所以建立不起鄰居;在完全互聯的幀中繼網路是可以正常建立鄰居關係;這裡還需說明一點NBMA雖然不支援廣播、組播,但它還是一個多路訪問網路,所以它還是會選DR和BDR的;

  在R2上檢視DR和BDR

  更改NBMA網路型別為P2MP

  修改R1的s4/0/0介面網路型別為P2MP

  提示:可以看到把R1的s4/0/0介面網路型別修改為P2MP以後,對應鄰居就down掉了,過一會有起來了;現在R1的s4/0/0的網路型別為P2MP,而R2的介面還是NBMA,從原理上講,兩者封裝不同應該建立不起鄰居;為什麼這裡建立起鄰居了呢?其實原因就是ospf建立鄰居它不看介面網路型別;但通常建議把對應介面都改為相同的網路型別;

  修改R2的s4/0/0介面網路型別為P2MP

  驗證:ospf網路型別

  提示:P2MP網路型別是不需要選DR和BDR,其原因是它本質上還是點到點型別網路;但該網路型別支援廣播和組播,所以我們無需手動建立鄰居;

  迴環介面/32主機路由現象

  實驗:在R1上新建迴環介面lo1其地址為1.1.1.1 24,並宣告在ospf裡,看看R2學習到的路由掩碼是多少

  在R2上檢視對應學習到的路由資訊

  提示:上述兩條命令都可以用來檢視ospf路由資訊;從上面的資訊可以看到對應R2學習到的路由並非/24,而是/32;這到底是為什麼呢?原因是ospf認為迴環口只有一個地址,它不可能和其他介面在同一網段,所以在傳遞是自動變成/32的主機路由資訊;我們可以通過修改對應迴環口網路型別為broadcast來還原;

  檢視R1迴環介面的網路型別

  提示:預設情況下lo介面的網路型別為p2p網路型別;

  修改lo1介面的網路型別為broadcast,再次看看R2學習到的路由還會是/32嗎?

  在R2上檢視對應學習到的路由

  提示:可以看到現在ospf學習到的迴環介面的路由的掩碼就變為了24,還原了對應網路配置時的掩碼;

相關文章