【轉載】OSPF網絡類型

OSPF鏈路類型有3種:點到點,廣播型,NBMA。在3種鏈路類型上擴展出5種網絡類型:點到點,廣播,NBMA,點到多點,虛鏈路。其中虛鏈路較爲特殊,不針對具體鏈路,而NBMA鏈路對應NBMA和點到多點兩種網絡類型。

以上是RFC的定義,在Cisco路由器的實現上,我們應記爲3種鏈路類型擴展出8種網絡類型,其中NBMA鏈路就對應5種,即在RFC的定義基礎上又增加了3種類型。

首先分析一下3種鏈路類型的特點:

1. 點到點:一個網絡裏僅有2個接口,使用HDLC或PPP封裝,不需尋址,地址字段固定爲FF  
2. 廣播型:廣播型多路訪問,目前而言指的就是以太網鏈路,涉及IP 和Mac,用ARP實現二層和三層映射。
3. NBMA:網絡中允許存在多臺Router,物理上鍊路共享,通過二層虛鏈路(VC)建立邏輯上的連接。

NBMA網絡不是沒有廣播的能力,而是廣播針對每一條VC發送,這樣就使得一臺路由器在不是Full-Mesh的NBMA拓撲中,發送的廣播或組播分組可能無法到達其他所有路由器。

在點到點鏈路上運行OSPF沒有必要選舉DR,因爲就是兩點一線,簡單得很;而在NBMA網絡中運行OSPF由於是多路訪問,DR可以存在,通過調整成手動發現鄰居可以防止過多的Hello 開銷。

下面具體分析一下RFC中定義的5種網絡類型:

1. 點到點  串行封裝HDLC或PPP,OSPF會自動檢測接口類型(發現封裝模式爲PPP或HDLC,就認爲是點到點),OSPF數據包使用224.0.0.5發送,不知道DR是什麼東西,就知道對端是誰,OSPF hello間隔爲10s,失效爲40s。

2. 廣播型 選舉DR/BDR,自動發現鄰居。Hello間隔爲10s,失效爲40s (這裏比較一下,NBMA類型的 Hello和Dead 隔分別爲30s 和120s。)

3-4. NBMA  思科路由器在NBMA網絡上實現的鏈路類型有5個,2 × RFC + 3 × Cisco,區分較爲複雜。

這5種類型形式上的差異在於:

1)是否選舉DR  
2)是否自動發現鄰居
3)更新時間

這5種NBMA類型應用上的差異在於:

1)NBMA拓撲是否是Full-Mesh
2)NBMA接口是否在同一IP子網
3)Frame-Relay 在定義Map時是否支持廣播,即是否加了關鍵字broadcast。

默認情況下OSPF 不能通過NBMA接口自動與鄰居建立鄰接關係,RFC 2328爲OSPF在NBMA拓撲中的運行定義了兩種模式:NBMA和點到多點,分別對應的接口模式爲:

ip   ospf   network   non-broadcast   /   point-to-multipoint

在Non-Broadcast 模式下是模仿OSPF在廣播型鏈路中的運行,通常在Full-Mesh 者Partial-Mesh 使用,如果不是Full-Mesh必須手動選舉DR/BDR。路由器接口處於同一IP子網,手動指定鄰居,選舉DR/BDR且必須與DRother在VC上直連。

在 Point-to-Multipoint 模式下是將NBMA視爲一系列點到點的集合,通常用於Hub-and-Spoke 者Partial-Mesh,接口處於同一IP子網,使用OSPF組播自動發現鄰居,不選舉DR/BDR。

Cisco爲NBMA多設計了三種模式,分別爲廣播,點到多點非廣播和點到點。

ip   ospf   network   broadcast

ip   ospf   network   point-to-multipoint non-broadcast

ip   ospf   network   point-to-pioint

1. 如果說non-broadcast是在模仿廣播型鏈路,那麼broadcast就是將NBMA完全當成廣播型鏈路,使用OSPF組播Hello來自動發現鄰居,而不是像non-broadcast爲每個PVC提供一個LSA拷貝。應用這種模式的前提是NMBA拓撲爲Full-Mesh,且在FR Map中使用了關鍵字broadcast。

2. 如果在VC上沒有啓用組播和廣播功能,即定義Map時沒有使用關鍵字broadcast,那麼就要應用point-to-multipoint non-broadcast 相應的取消組播hello功能,代以手動配置鄰居。

3. 如果鏈路中涉及多個子網,那麼一定要用到Point-to-Point類型,也一定會用到子接口。子接口分爲兩種模式,點到點和點到多點,其中點到多點子接口和主接口配置方式一致,而點到點子接口則有些變化:

interface Serial0/0                                                   interface Serial0/0.2 multipoint
encapsulation frame-relay                                      ip address 20.1.1.1 255.255.255.0
frame-relay lmi-type  ansi                                      ip ospf network point-to-point
interface Serial0/0.1 point-to-point                        frame-relay map ip 20.1.1.2 105 broadcast
ip address 10.1.1.1 255.255.255.0                         frame-relay map ip 20.1.1.3 106 broadcast
frame-relay interface-dlci 101                                frame-relay map ip 20.1.1.4 107 broadcast


若子接口使用point-to-point模式,則意味着這個子接口對應的子網裏只有一臺路由器,即這個IP子網只有兩個節點;而使用multipoint模式時,意味着這個子接口對應多條VC,IP子網內有多於兩臺的路由器。通過配置就可以理解爲什麼說點到多點是點到點鏈路的集合。

PS:最初創建子接口的目的在於解決在NBMA上運行距離矢量協議引起的水平分割問題,即從一接口收到的路由信息不會再從這個接口發出去。而這個接口本身可能連着多個鄰居,這樣就阻礙了網絡中路由信息的傳遞,子接口是物理接口在邏輯上的劃分,能很好的解決水平分割帶來的問題。

5.虛鏈路 可以認爲是點到點的一種特殊配置,在虛鏈路上OSPF數據包是以單播形式發送,並不在意物理鏈路是什麼類型,關鍵是虛鏈路兩端可以實現互通。


最後總結一下:

1. 凡是“Point-to系列”(包括to-point,to-multipoint,to-multipoint nonbroadcast)均不需要選舉DR/BDR,在Hub-and-Spoke這種星型拓撲中建議使用“Point-to系列”模式。

2. 凡是“Broadcast系列”(包括broadcast,non-broadcast),不管加不加non,多少都是廣播型鏈路的翻版,需要選舉DR/BDR。

3 .凡是“Nonbroadcast系列”(包括non-broadcast,point-to-multipoint nonbroadcast),一個non就是廢除廣播 & 組播能力,只能手動指定鄰居。

4 .在Full-Mesh的拓撲中纔可以應用non-broadcast 或broadcast 模式,配置較爲簡單,但是如果發生鏈路中斷,DRother可能會找不到DR,導致路由信息丟失。

5. Hub-Spoke拓撲中如果運行non-broadcast模式,要在hub 位置配置neighbor 命令,並且都設置Spoke接口的優先級爲0使其不參與DR/BDR選舉。如果配置爲點到多點模式,命令可大爲簡化。

6. 如果一個NBMA鏈路裏有多個IP子網,則主接口網絡類型一定是point-to-point,並且一定得用子接口,再看IP子網內接口,多於兩個就用點到多點子接口,因爲點到點子接口只能容納一個DLCI。

7. 如果在配置FR Map時沒加關鍵字broadcast,則只能使用“non-broadcast系列”,即non-broadcast和point-to-multipoint broadcast兩種網絡類型。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章