多路訪問網絡中的挑戰
在多路訪問網絡中,相同的共享介質上連接有兩臺以上設備。以太網 LAN 就是一種廣播多路訪問網絡。因為該網絡中的所有設備會看到所有廣播幀,所以它屬于廣播網絡。
OSPF 定義了五種網絡類型:
l 點對點
l 廣播多路訪問
l 非廣播多路訪問 (NBMA)
l 點對多點
l 虛擬鏈路
多路訪問網絡對 OSPF 的 LSA 泛洪過程提出了兩項挑戰:
1. 創建多邊相鄰關系,其中每對路由器都存在一項相鄰關系。
2. LSA(鏈路狀態通告)的大量泛洪。
多邊相鄰關系
在網絡中的每對路由器間創建相鄰關系會產生一些不必要的相鄰關系。這將導致大量 LSA 在該網絡內的路由器間傳輸。對于多路訪問網絡中任意數量(用 n 表示)的路由器,將存在 n ( n - 1 ) / 2 項相鄰關系。但隨著網絡中路由器數量增加,相鄰關系數量將急劇增大。
LSA 泛洪
鏈路狀態路由器會在 OSPF 初始化以及拓撲更改時泛洪其鏈路狀態數據包。在多路訪問網絡中,此泛洪過程中的流量可能變得很大。
解決方案:指定路由器(DR)
用于在多路訪問網絡中管理相鄰關系數量和 LSA 泛洪的解決方案是指定路由器 (DR)。(可比喻為在房間里選舉出一個人,由該人員向所有人逐個詢問姓名,然后將這些姓名一次性通告給所有人。)多路訪問網絡中的路由器會選舉出一個 DR 和一個 BDR。DROther 僅與網絡中的 DR 和 BDR 建立完全的相鄰關系。這意味著 DROther 無需向網絡中的所有路由器泛洪 LSA,只需使用組播地址 224.0.0.6(ALLDRouters — 所有 DR 路由器)將其 LSA 發送給 DR 和 BDR 即可。
DR/BDR選舉過程(DR/BDR 選舉不會發生在點對點網絡中)
DR/BDR 選舉
選舉過程遵循以下條件:
1. DR:具有最高 OSPF 接口優先級的路由器
2. BDR:具有第二高 OSPF 接口優先級的路由器
3. 如果 OSPF 接口優先級相等,則取路由器 ID 最高者。
DROther 僅與 DR 和 BDR 建立完全的相鄰關系,但也會與該網絡中的任何其它 DROthers 建立相鄰關系。這意味著多路訪問網絡中的所有 DROther 路由器仍然會收到其它所有 DROther 路由器發來的 Hello 數據包。當兩臺 DROther 路由器形成相鄰關系后,其相鄰狀態顯示為 2WAY。
使用show ip ospf neighbor可以快速查看DR、BDR和DROther以及2WAY。
使用show ip ospf interface 可以查看詳細的DR、BDR信息
DR/BDR 選舉的時間安排
DR 一旦選出,將保持 DR 地位,直到出現下列條件之一為止:
l DR 發生故障。
l DR 上的 OSPF 進程發生故障。
l DR 上的多路訪問接口發生故障。
如果 DR 發生故障,BDR 將接替 DR 角色,隨即進行選舉,選出新的 BDR。
新路由器加入該網絡。如果在選出 DR 和 BDR 后有新路由器加入網絡,即使新路由器的 OSPF 接口優先級或路由器 ID 比當前 DR 或 BDR 高,也不會成為 DR 或 BDR。
前任 DR 返回網絡后不會重新取得 DR 的地位。
如果 BDR 發生故障,則會在 DRother 之間選出新的 BDR。
您怎樣確保所需的路由器在 DR 和 BDR 選舉中獲勝呢?無需進一步配置,解決方案有兩種:
l 首先啟動 DR,再啟動 BDR,然后啟動其它所有路由器;
l 關閉所有路由器上的接口,然后在 DR 上執行 no shutdown 命令,再在 BDR 上執行該命令,隨后在其它所有路由器上執行該命令。
OSPF接口優先級
由于 DR 成為 LSA 的集散中心,所以它必須具有足夠的 CPU 和存儲性能才能擔此重責。與其依賴路由器 ID 來確定 DR 和 BDR 結果,不如使用 ip ospf priority 接口命令來控制選舉。
Router(config-if)#ip ospf priority {0 - 255}
OSPF默認路由重分發
R1#conf t
R1(config)#ip route 0.0.0.0 0.0.0.0 loopback 1
R1(config)#router ospf 1
R1(config-router)#default-information originate
路由表的輸出信息:O*E2 0.0.0.0/0 [110/1] via 192.168.10.10, 00:05:34, Serial0/0/1
O表示從OSPF學到的路由
E2 表示此路由為一條 OSPF第 2 類外部路由。
OSPF 外部路由分為以下兩類:第 1 類外部 (E1) 和第 2 類外部 (E2)。兩種類型的差異在于路由的 OSPF 開銷在每臺路由器上的計算方式不同。
l E1 路由在整個 OSPF 區域內傳播時,OSPF 會累計路由的開銷。
l E2 路由的開銷卻始終是外部開銷,而與通向該路由的內部開銷無關。
微調OSPF
參考帶寬
可使用 OSPF 命令 auto-cost reference-bandwidth修改參考帶寬,以適應這些更快鏈路的要求。
R1(config-router)#auto-cost reference-bandwidth “1~4294967”單位是Mbits
修改 OSPF 間隔
可使用下列接口命令手動修改 OSPF Hello 間隔和 Dead 間隔:
Router(config-if)#ip ospf hello-intervalseconds //Hello間隔多少秒發送一次
Router(config-if)#ip ospf dead-intervalseconds //多少秒沒有收到Hello就Down