• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

05-三層技術-IP路由配置指導

目錄

04-OSPF配置

本章節下載 04-OSPF配置  (1.26 MB)

04-OSPF配置

  錄

1 OSPF

1.1 OSPF簡介

1.1.1 OSPF的特點

1.1.2 OSPF報文類型

1.1.3 LSA類型

1.1.4 OSPF區域

1.1.5 路由器類型

1.1.6 路由類型

1.1.7 路由器ID

1.1.8 OSPF路由的計算過程

1.1.9 OSPF的網絡類型

1.1.10 DR/BDR

1.1.11 OSPF狀態機

1.1.12 協議規範

1.2 OSPF配置限製和指導

1.3 OSPF配置任務簡介

1.4 配置OSPF基本功能

1.4.1 啟動OSPF進程

1.4.2 配置OSPF區域

1.4.3 使能OSPF功能

1.4.4 配置OSPF使用接口的從IP地址建立鄰居關係

1.5 配置OSPF特殊區域

1.5.1 功能簡介

1.5.2 配置Stub區域

1.5.3 配置NSSA區域

1.5.4 配置虛連接

1.6 配置OSPF的網絡類

1.6.1 配置限製和指導

1.6.2 配置OSPF接口網絡類型為廣播

1.6.3 配置OSPF接口網絡類型為NBMA

1.6.4 配置OSPF接口網絡類型為P2MP

1.6.5 配置OSPF接口網絡類型為P2P

1.7 配置OSPF的路由信息控製

1.7.1 配置OSPF區域間路由聚合

1.7.2 配置對引入的外部路由信息進行路由聚合

1.7.3 配置OSPF對通過接收到的LSA計算出來的路由信息進行過濾

1.7.4 配置過濾Type-3 LSA

1.7.5 配置OSPF接口的開銷值

1.7.6 配置OSPF通告給鄰居的鏈路開銷值保持最大值的持續時間

1.7.7 配置OSPF與Track聯動

1.7.8 配置OSPF協議的優先級

1.7.9 配置NULL0路由

1.7.10 配置OSPF引入外部路由

1.7.11 配置OSPF引入缺省路由

1.7.12 配置發布一條主機路由

1.8 配置OSPF定時器

1.8.1 功能簡介

1.8.2 配置OSPF報文定時器

1.8.3 配置接口傳送LSA的延遲時間

1.8.4 配置OSPF路由計算的時間間隔

1.8.5 配置LSA重複到達的最小時間間隔

1.8.6 配置OSPF更新LSA的時間間隔

1.8.7 配置OSPF嚐試退出overflow狀態的定時器時間間隔

1.9 配置OSPF報文相關功能

1.9.1 禁止接口收發OSPF報文

1.9.2 配置DD報文中的MTU

1.9.3 配置OSPF發送協議報文的DSCP優先級

1.9.4 配置接口發送OSPF報文的最大長度

1.9.5 配置發送LSU報文的速率

1.10 控製LSA的生成、發布與接收

1.10.1 配置LSDB中External LSA的最大數量

1.10.2 過濾接口出方向的LSA

1.10.3 過濾發送給指定鄰居的LSA

1.11 加快OSPF路由收斂速度

1.11.1 配置ISPF

1.11.2 配置前綴抑製

1.11.3 配置OSPF的前綴按優先級收斂功能

1.11.4 配置PIC

1.12 配置OSPF高級功能

1.12.1 配置Stub路由器

1.12.2 配置OSPF isolate功能

1.12.3 配置OSPF shutdown功能

1.12.4 配置兼容RFC 1583的外部路由選擇規則

1.13 配置OSPF GR

1.13.1 功能簡介

1.13.2 配置GR Restarter

1.13.3 配置GR Helper

1.13.4 以GR方式重啟OSPF進程

1.14 配置OSPF NSR

1.15 配置OSPF與BFD聯動

1.15.1 功能簡介

1.15.2 control報文雙向檢測

1.15.3 echo報文單跳檢測

1.16 配置OSPF驗證

1.16.1 功能簡介

1.16.2 配置限製和指導

1.16.3 配置區域驗證

1.16.4 配置接口驗證

1.17 配置OSPF GTSM功能

1.17.1 功能簡介

1.17.2 配置限製和指導

1.17.3 配置區域GTSM功能

1.17.4 配置接口GTSM功能

1.18 配置OSPF日誌、告警和故障檢測功能

1.18.1 配置鄰居狀態變化的輸出開關

1.18.2 配置OSPF的日誌功能

1.18.3 配置OSPF網管功能

1.18.4 配置OSPF記錄鄰居關係斷開故障檢測信息的最大條數

1.19 OSPF顯示和維護

1.20 OSPF典型配置舉例

1.20.1 OSPF基本功能配置舉例

1.20.2 OSPF引入自治係統外部路由配置舉例

1.20.3 OSPF發布ASBR聚合路由配置舉例

1.20.4 OSPF Stub區域配置舉例

1.20.5 OSPF NSSA區域配置舉例

1.20.6 OSPF的DR選擇配置舉例

1.20.7 OSPF虛連接配置舉例

1.20.8 OSPF GR配置舉例

1.20.9 OSPF NSR配置舉例

1.20.10 OSPF與BFD聯動配置舉例

1.21 常見配置錯誤舉例

1.21.1 OSPF鄰居無法建立

1.21.2 OSPF路由信息不正確

 


1 OSPF

1.1  OSPF簡介

OSPF(Open Shortest Path First,開放最短路徑優先)是IETF(Internet Engineering Task Force,互聯網工程任務組)組織開發的一個基於鏈路狀態的內部網關協議。目前針對IPv4協議使用的是OSPF Version 2。下文中所提到的OSPF均指OSPF Version 2。

1.1.1  OSPF的特點

OSPF具有如下特點:

·     適應範圍廣:支持各種規模的網絡,最多可支持幾百台路由器。

·     快速收斂:在網絡的拓撲結構發生變化後立即發送更新報文,使這一變化在自治係統中同步。

·     無自環:由於OSPF根據收集到的鏈路狀態用最短路徑樹算法計算路由,從算法本身保證了不會生成自環路由。

·     區域劃分:允許自治係統的網絡被劃分成區域來管理。路由器鏈路狀態數據庫的減小降低了內存的消耗和CPU的負擔;區域間傳送路由信息的減少降低了網絡帶寬的占用。

·     路由分級:使用4類不同的路由,按優先順序來說分別是:區域內路由、區域間路由、第一類外部路由、第二類外部路由。

·     支持驗證:支持基於區域和接口的報文驗證,以保證報文交互和路由計算的安全性。

·     組播發送:在某些類型的鏈路上以組播地址發送協議報文,減少對其他設備的幹擾。

1.1.2  OSPF報文類型

OSPF協議報文直接封裝為IP報文,協議號為89。

OSPF有五種類型的協議報文:

·     Hello報文:周期性發送,用來發現和維持OSPF鄰居關係,以及進行DR(Designated Router,指定路由器)/BDR(Backup Designated Router,備份指定路由器)的選舉。

·     DD(Database Description,數據庫描述)報文:描述了本地LSDB(Link State DataBase,鏈路狀態數據庫)中每一條LSA(Link State Advertisement,鏈路狀態通告)的摘要信息,用於兩台路由器進行數據庫同步。

·     LSR(Link State Request,鏈路狀態請求)報文:向對方請求所需的LSA。兩台路由器互相交換DD報文之後,得知對端的路由器有哪些LSA是本地的LSDB所缺少的,這時需要發送LSR報文向對方請求所需的LSA。

·     LSU(Link State Update,鏈路狀態更新)報文:向對方發送其所需要的LSA。

·     LSAck(Link State Acknowledgment,鏈路狀態確認)報文:用來對收到的LSA進行確認。

1.1.3  LSA類型

OSPF中對鏈路狀態信息的描述都是封裝在LSA中發布出去,常用的LSA有以下幾種類型:

·     Router LSA(Type-1):由每個路由器產生,描述路由器的鏈路狀態和開銷,在其始發的區域內傳播。

·     Network LSA(Type-2):由DR產生,描述本網段所有路由器的鏈路狀態,在其始發的區域內傳播。

·     Network Summary LSA(Type-3):由ABR(Area Border Router,區域邊界路由器)產生,描述區域內某個網段的路由,並通告給其他區域。

·     ASBR Summary LSA(Type-4):由ABR產生,描述到ASBR(Autonomous System Boundary Router,自治係統邊界路由器)的路由,通告給相關區域。

·     AS External LSA(Type-5):由ASBR產生,描述到AS(Autonomous System,自治係統)外部的路由,通告到所有的區域(除了Stub區域和NSSA區域)。

·     NSSA External LSA(Type-7):由NSSA(Not-So-Stubby Area)區域內的ASBR產生,描述到AS外部的路由,僅在NSSA區域內傳播。

·     Opaque LSA:用於OSPF的擴展通用機製,目前有Type-9、Type-10和Type-11三種。其中,Type-9 LSA僅在本地鏈路範圍進行泛洪,用於支持GR(Graceful Restart,平滑重啟)的Grace LSA就是Type-9的一種類型;Type-10 LSA僅在區域範圍進行泛洪,用於支持MPLS TE的LSA就是Type-10的一種類型;Type-11 LSA可以在一個自治係統範圍進行泛洪。

1.1.4  OSPF區域

1. 區域劃分

隨著網絡規模日益擴大,當一個大型網絡中的路由器都運行OSPF協議時,LSDB會占用大量的存儲空間,並使得運行SPF(Shortest Path First,最短路徑優先)算法的複雜度增加,導致CPU負擔加重。

在網絡規模增大之後,拓撲結構發生變化的概率也增大,網絡會經常處於“震蕩”之中,造成網絡中會有大量的OSPF協議報文在傳遞,降低了網絡的帶寬利用率。更為嚴重的是,每一次變化都會導致網絡中所有的路由器重新進行路由計算。

OSPF協議通過將自治係統劃分成不同的區域來解決上述問題。區域是從邏輯上將路由器劃分為不同的組,每個組用區域號來標識。如圖1-1所示。

圖1-1 OSPF區域劃分

 

區域的邊界是路由器,而不是鏈路。一個路由器可以屬於不同的區域,但是一個網段(鏈路)隻能屬於一個區域,或者說每個運行OSPF的接口必須指明屬於哪一個區域。劃分區域後,可以在區域邊界路由器上進行路由聚合,以減少通告到其他區域的LSA數量,還可以將網絡拓撲變化帶來的影響最小化。

2. 骨幹區域(Backbone Area)

OSPF劃分區域之後,並非所有的區域都是平等的關係。其中有一個區域是與眾不同的,它的區域號是0,通常被稱為骨幹區域。骨幹區域負責區域之間的路由,非骨幹區域之間的路由信息必須通過骨幹區域來轉發。對此,OSPF有兩個規定:

·     所有非骨幹區域必須與骨幹區域保持連通;

·     骨幹區域自身也必須保持連通。

在實際應用中,可能會因為各方麵條件的限製,無法滿足上麵的要求。這時可以通過配置OSPF虛連接予以解決。

3. 虛連接(Virtual Link)

虛連接是指在兩台ABR之間通過一個非骨幹區域建立的一條邏輯上的連接通道。它的兩端必須是ABR,而且必須在兩端同時配置方可生效。為虛連接兩端提供一條非骨幹區域內部路由的區域稱為傳輸區(Transit Area)。

圖1-2中,Area2與骨幹區域之間沒有直接相連的物理鏈路,但可以在ABR上配置虛連接,使Area2通過一條邏輯鏈路與骨幹區域保持連通。

圖1-2 虛連接示意圖之一

 

虛連接的另外一個應用是提供冗餘的備份鏈路,當骨幹區域因鏈路故障不能保持連通時,通過虛連接仍然可以保證骨幹區域在邏輯上的連通性。如圖1-3所示。

圖1-3 虛連接示意圖之二

 

虛連接相當於在兩個ABR之間形成了一個點到點的連接,因此,在這個連接上,和物理接口一樣可以配置接口的各參數,如發送Hello報文間隔等。

兩台ABR之間直接傳遞OSPF報文信息,它們之間的OSPF路由器隻是起到一個轉發報文的作用。由於協議報文的目的地址不是中間這些路由器,所以這些報文對於它們而言是透明的,隻是當作普通的IP報文來轉發。

4. Stub區域和Totally Stub區域

Stub區域是一些特定的區域,該區域的ABR會將區域間的路由信息傳遞到本區域,但不會引入自治係統外部路由,區域中路由器的路由表規模以及LSA數量都會大大減少。為保證到自治係統外的路由依舊可達,該區域的ABR將生成一條缺省路由Type-3 LSA,發布給本區域中的其他非ABR路由器。

為了進一步減少Stub區域中路由器的路由表規模以及LSA數量,可以將區域配置為Totally Stub(完全Stub)區域,該區域的ABR不會將區域間的路由信息和自治係統外部路由信息傳遞到本區域。為保證到本自治係統的其他區域和自治係統外的路由依舊可達,該區域的ABR將生成一條缺省路由Type-3 LSA,發布給本區域中的其他非ABR路由器。

5. NSSA區域和Totally NSSA區域

NSSA(Not-So-Stubby Area)區域是Stub區域的變形,與Stub區域的區別在於NSSA區域允許引入自治係統外部路由,由ASBR發布Type-7 LSA通告給本區域。當Type-7 LSA到達NSSA的ABR時,由ABR將Type-7 LSA轉換成Type-5 LSA,傳播到其他區域。

可以將區域配置為Totally NSSA(完全NSSA)區域,該區域的ABR不會將區域間的路由信息傳遞到本區域。為保證到本自治係統的其他區域的路由依舊可達,該區域的ABR將生成一條缺省路由Type-3 LSA,發布給本區域中的其他非ABR路由器。

圖1-4所示,運行OSPF協議的自治係統包括3個區域:區域0、區域1和區域2,另外兩個自治係統運行RIP協議。區域1被定義為NSSA區域,區域1接收的RIP路由傳播到NSSA ASBR後,由NSSA ASBR產生Type-7 LSA在區域1內傳播,當Type-7 LSA到達NSSA ABR後,轉換成Type-5 LSA傳播到區域0和區域2。

另一方麵,運行RIP的自治係統的RIP路由通過區域2的ASBR產生Type-5 LSA在OSPF自治係統中傳播。但由於區域1是NSSA區域,所以Type-5 LSA不會到達區域1。

圖1-4 NSSA區域

 

1.1.5  路由器類型

OSPF路由器根據在AS中的不同位置,可以分為以下四類:

1. 區域內路由器(Internal Router)

該類路由器的所有接口都屬於同一個OSPF區域。

2. 區域邊界路由器ABR

該類路由器可以同時屬於兩個以上的區域,但其中一個必須是骨幹區域。ABR用來連接骨幹區域和非骨幹區域,它與骨幹區域之間既可以是物理連接,也可以是邏輯上的連接。

3. 骨幹路由器(Backbone Router)

該類路由器至少有一個接口屬於骨幹區域。因此,所有的ABR和位於Area0的內部路由器都是骨幹路由器。

4. 自治係統邊界路由器ASBR

與其他AS交換路由信息的路由器稱為ASBR。ASBR並不一定位於AS的邊界,它有可能是區域內路由器,也有可能是ABR。隻要一台OSPF路由器引入了外部路由的信息,它就成為ASBR。

圖1-5 OSPF路由器的類型

 

1.1.6  路由類型

OSPF將路由分為四類,按照優先級從高到低的順序依次為:

·     區域內路由(Intra Area)

·     區域間路由(Inter Area)

·     第一類外部路由(Type1 External):這類路由的可信程度較高,並且和OSPF自身路由的開銷具有可比性,所以到第一類外部路由的開銷等於本路由器到相應的ASBR的開銷與ASBR到該路由目的地址的開銷之和。

·     第二類外部路由(Type2 External):這類路由的可信度比較低,所以OSPF協議認為從ASBR到自治係統之外的開銷遠遠大於在自治係統之內到達ASBR的開銷。所以計算路由開銷時將主要考慮前者,即到第二類外部路由的開銷等於ASBR到該路由目的地址的開銷。如果計算出開銷值相等的兩條路由,再考慮本路由器到相應的ASBR的開銷。

區域內和區域間路由描述的是AS內部的網絡結構,外部路由則描述了應該如何選擇到AS以外目的地址的路由。

1.1.7  路由器ID

路由器ID——即Router ID,用來在一個自治係統中唯一地標識一台路由器,一台路由器如果要運行OSPF協議,則必須存在Router ID。Router ID的獲取方式有以下兩種:

1. 手工指定Router ID

用戶可以在創建OSPF進程的時候指定Router ID,配置時,必須保證自治係統中任意兩台路由器的ID都不相同。通常的做法是將路由器的ID配置為與該路由器某個接口的IP地址一致。

2. 使用全局Router ID

如果在創建OSPF進程的時候沒有指定Router ID,則缺省使用全局Router ID。建議用戶在創建OSPF進程的時候手工指定Router ID,或者選擇自動獲取Router ID。

1.1.8  OSPF路由的計算過程

同一個區域內,OSPF路由的計算過程可簡單描述如下:

·     每台OSPF路由器根據自己周圍的網絡拓撲結構生成LSA,並通過更新報文將LSA發送給網絡中的其它OSPF路由器。

·     每台OSPF路由器都會收集其它路由器通告的LSA,所有的LSA放在一起便組成了LSDB。LSA是對路由器周圍網絡拓撲結構的描述,LSDB則是對整個自治係統的網絡拓撲結構的描述。

·     OSPF路由器將LSDB轉換成一張帶權的有向圖,這張圖便是對整個網絡拓撲結構的真實反映。各個路由器得到的有向圖是完全相同的。

·     每台路由器根據有向圖,使用SPF算法計算出一棵以自己為根的最短路徑樹,這棵樹給出了到自治係統中各節點的路由。

1.1.9  OSPF的網絡類型

OSPF根據鏈路層協議類型將網絡分為下列四種類型:

·     廣播(Broadcast)類型:當鏈路層協議是Ethernet、FDDI時,缺省情況下,OSPF認為網絡類型是Broadcast。在該類型的網絡中,通常以組播形式(OSPF路由器的預留IP組播地址是224.0.0.5;OSPF DR/BDR的預留IP組播地址是224.0.0.6)發送Hello報文、LSU報文和LSAck報文;以單播形式發送DD報文和LSR報文。

·     NBMA(Non-Broadcast Multi-Access,非廣播多路訪問)類型:當鏈路層協議是幀中繼、ATM或X.25時,缺省情況下,OSPF認為網絡類型是NBMA。在該類型的網絡中,以單播形式發送協議報文。

·     P2MP(Point-to-MultiPoint,點到多點)類型:沒有一種鏈路層協議會被缺省的認為是P2MP類型。P2MP必須是由其他的網絡類型強製更改的,常用做法是將NBMA網絡改為P2MP網絡。在該類型的網絡中,缺省情況下,以組播形式(224.0.0.5)發送協議報文。可以根據用戶需要,以單播形式發送協議報文。

·     P2P(Point-to-Point,點到點)類型:當鏈路層協議是PPP、HDLC時,缺省情況下,OSPF認為網絡類型是P2P。在該類型的網絡中,缺省情況下,以單播方式發送DD報文,以組播形式(224.0.0.5)發送其他類型的協議報文。

NBMA與P2MP網絡之間的區別如下:

·     NBMA網絡是全連通的;P2MP網絡並不需要一定是全連通的。

·     NBMA網絡中需要選舉DR與BDR;P2MP網絡中沒有DR與BDR。

·     NBMA網絡采用單播發送報文,需要手工配置鄰居;P2MP網絡采用組播方式發送報文,通過配置也可以采用單播發送報文。

1.1.10  DR/BDR

1. DR/BDR簡介

在廣播網和NBMA網絡中,任意兩台路由器之間都要交換路由信息。如果網絡中有n台路由器,則需要建立n(n-1)/2個鄰接關係。這使得任何一台路由器的路由變化都會導致多次傳遞,浪費了帶寬資源。為解決這一問題,OSPF提出了DR的概念,所有路由器隻將信息發送給DR,由DR將網絡鏈路狀態發送出去。

另外,OSPF提出了BDR的概念。BDR是對DR的一個備份,在選舉DR的同時也選舉BDR,BDR也和本網段內的所有路由器建立鄰接關係並交換路由信息。當DR失效後,BDR會立即成為新的DR。

OSPF網絡中,既不是DR也不是BDR的路由器為DR Other。DR Other僅與DR和BDR建立鄰接關係,DR Other之間不交換任何路由信息。這樣就減少了廣播網和NBMA網絡上各路由器之間鄰接關係的數量,同時減少網絡流量,節約了帶寬資源。

圖1-6所示,進行DR/BDR選舉後,5台路由器之間隻需要建立7個鄰接關係就可以了。

圖1-6 DR和BDR示意圖

 

說明

在OSPF中,鄰居(Neighbor)和鄰接(Adjacency)是兩個不同的概念。路由器啟動後,會通過接口向外發送Hello報文,收到Hello報文的路由器會檢查報文中所定義的參數,如果雙方一致就會形成鄰居關係。隻有當雙方成功交換DD報文,交換LSA並達到LSDB同步之後,才形成鄰接關係。

 

2. DR/BDR選舉過程

DR/BDR是由同一網段中所有的路由器根據路由器優先級和Router ID通過Hello報文選舉出來的,隻有優先級大於0的路由器才具有選舉資格。

進行DR/BDR選舉時每台路由器將自己選出的DR寫入Hello報文中,發給網段上每台運行OSPF協議的路由器。當處於同一網段的兩台路由器同時宣布自己是DR時,路由器優先級高者勝出。如果優先級相等,則Router ID大者勝出。

需要注意的是:

·     隻有在廣播或NBMA網絡中才會選舉DR;在P2P或P2MP網絡中不需要選舉DR。

·     DR是某個網段中的概念,是針對路由器的接口而言的。某台路由器在一個接口上可能是DR,在另一個接口上有可能是BDR,或者是DR Other。

·     DR/BDR選舉完畢後,即使網絡中加入一台具有更高優先級的路由器,也不會重新進行選舉,替換該網段中已經存在的DR/BDR成為新的DR/BDR。DR並不一定就是路由器優先級最高的路由器接口;同理,BDR也並不一定就是路由器優先級次高的路由器接口。

1.1.11  OSPF狀態機

1. OSPF接口狀態機

OSPF設備從接口獲取到鏈路狀態信息後,通過與相鄰設備建立鄰接關係,交互彼此的鏈路狀態信息。OSPF接口狀態表明了OSPF設備在對應鏈路中的作用,使得鄰居設備間能夠明確角色分工,從而正常建立連接。

OSPF接口共有以下七種狀態:

·     Down:初始狀態。該狀態表明接口不可用,不能用於收發流量。

·     Loopback:設備到網絡的接口處於環回狀態。環回接口不能用於正常的數據傳輸,但可能需要通過向環回接口發送ICMP ping報文、誤碼檢測等方式來獲取鏈路質量,因此設備會通過Router-LSA通告環回接口的狀態信息。

·     Waiting:設備正在判定網絡上的DR和BDR。在設備參與DR和BDR選舉前,接口會啟動WaitTimer定時器。在WaitTimer定時器超時前,設備發送的Hello報文不包含DR和BDR信息,設備不能被選舉為DR或BDR。這樣可以避免DR和BDR的不必要更改。僅NBMA網絡、廣播網絡有此狀態。

·     P-2-P:接口連接到物理點對點網絡或者虛擬鏈路。進入此狀態後,設備會與鏈路連接的另一端設備建立鄰接關係。僅P2P、P2MP網絡有此狀態。

·     DR Other:設備沒有被選為DR或BDR,但連接到廣播網絡或者NBMA網絡上的其他設備被選舉為DR。DR Other會與DR、BDR建立鄰接關係。

·     BDR:設備是自身所連接的網絡上的BDR,並將在當前DR失效時成為DR。BDR與自身連接的網絡上的其他所有設備建立鄰接關係。

·     DR:設備是自身所連接的網絡上的DR。DR與自身連接的網絡上的其他所有設備建立鄰接關係。

OSPF接口根據不同的情況(即輸入事件)更改狀態,這樣就形成了如圖1-7所示的OSPF接口狀態機。

圖1-7 OSPF接口狀態機

 

觸發OSPF接口狀態變化的IE(InputEvent,輸入事件)如表1-1所示。

表1-1 OSPF接口狀態切換的IE

輸入事件

描述

IE1

InterfaceUp:底層協議表明接口是可操作的

IE2

WaitTimer:等待定時器超時,表明設備參與DR或BDR選舉需要等待的時間結束

IE3

BackupSeen:設備通過以下兩種方式之一檢測網絡中是否存在BDR

·     接口收到鄰居發送的Hello報文,宣稱自己是BDR

·     接口收到鄰居發送的Hello報文,宣稱自己是DR,但沒有指明BDR

BackupSeen事件說明鄰居之間能夠進行雙向通信,可以結束Waiting狀態

IE4

接口被選舉為DR

IE5

接口被選舉為BDR

IE6

接口沒有被選舉為DR或BDR

IE7

NeighborChange:與該接口相關的鄰居關係變化事件發生,表明需要重新選舉DR和BDR。如下鄰居關係變化可能會導致重新選舉DR和BDR:

·     接口所在的設備和一個鄰居設備之間能夠進行雙向通信

·     接口所在的設備和一個鄰居設備之間不再能夠進行雙向通信

·     通過鄰居設備發送的Hello報文檢測到鄰居設備重新宣稱自己是DR或BDR

·     通過鄰居設備發送的Hello報文再一次檢測到鄰居設備宣稱自己不再是DR或BDR

·     通過鄰居設備發送的Hello報文再一次檢測到鄰居設備的DR優先級發生變化

IE8

UnloopInd:網管係統或者底層協議表明接口不再處於環回狀態

IE9

InterfaceDown:底層協議表明接口不可操作。無論接口當前處於何種狀態,都可能由此事件觸發切換到Down狀態

IE10

LoopInd:網管係統或者底層協議表明接口處於環回狀態。無論接口當前處於何種狀態,都可能由此事件觸發切換到Loopback狀態

 

2. OSPF鄰居狀態機

在OSPF網絡中,相鄰設備間通過不同的鄰居狀態切換,最終可以達到LSDB同步並形成完全鄰接關係。

OSPF鄰居共有以下八種狀態:

·     Down:鄰居會話的初始階段。表明在鄰居失效時間間隔內沒有收到來自鄰居設備的Hello報文。OSPF設備會每隔PollInterval時間間隔對外輪詢發送Hello報文,僅NBMA網絡的OSPF設備會向處於Down狀態的鄰居設備發送Hello報文,其他網絡類型中的OSPF設備不會向處於Down狀態的鄰居設備發送Hello報文。

·     Attempt:本狀態僅對NBMA網絡上的鄰居有效。鄰居關係處於Attempt狀態時,OSPF設備會每隔HelloInterval時間間隔向自己手工指定的鄰居發送Hello報文,嚐試建立鄰居關係。

·     Init:本狀態表示在鄰居失效時間內收到來自鄰居發送的Hello報文,但該Hello數據包內沒有包含自己的Router ID,雙向通信還沒有建立起來。

·     2-Way:本狀態表示雙方互相收到了彼此發送的Hello報文,並在收到的Hello報文中看到了自己的Router ID,由此建立鄰居關係。如果不形成鄰接關係(例如DRother之間),則鄰居狀態機停留在2-Way狀態,否則進入Exstart狀態。隻有鄰居狀態處於2-Way或者比2-Way更高的狀態,才會選舉DR和BDR。

·     ExStart:協商主從關係。建立主從關係主要是為了確定初始DD報文的序列號,為後續有序交換DD報文做好準備。

·     Exchange:交換DD報文。本端設備使用DD報文描述本地的LSDB,並發送給鄰居。

·     Loading:正在同步LSDB。兩端設備發送LSR報文向鄰居請求對方的LSA,通過交互LSU、LSAck同步LSDB。

·     Full:建立鄰接關係。兩端設備的LSDB已同步,本端設備和鄰居設備建立了完全的鄰接關係。

OSPF鄰居狀態的切換機製如圖1-8所示。

圖1-8 OSPF鄰居狀態機

 

觸發OSPF鄰居狀態變化的IE(InputEvent,輸入事件)如表1-2所示。

表1-2 OSPF接口狀態切換的IE

輸入事件

描述

IE1

Start:以HelloInterval時間間隔向鄰居設備發送Hello報文,嚐試建立鄰居關係。僅NBMA網絡適用

IE2

HelloReceived:從鄰居設備收到一個Hello報文

IE3

2-WayReceived:收到了鄰居設備發送的Hello報文,並在收到的Hello報文中看到了自己的Router ID,鄰居之間建立了雙向通信關係。接下來進行如下判斷:

·     IE3(Y):如果相鄰設備間應當建立鄰接關係,則將鄰居狀態切換為ExStart。

·     IE3(N):如果相鄰設備間不應當建立鄰接關係,隻建立鄰居關係,則將鄰居狀態切換為2-Way。

IE4

NegotiationDone:鄰居間主從關係已協商完成,已確定初始DD報文的序列號

IE5

ExchangeDone:鄰居間成功交換了DD報文。接下來進行如下判斷:

·     IE5(Y):如果鏈路狀態請求列表為空,則將鄰居狀態切換為Full,表示LSDB已同步,鄰居間建立了完全鄰接關係。

·     IE5(N):如果鏈路狀態請求列表不為空,則將鄰居狀態切換為Loading,開始或繼續向鄰居發送LSR報文,請求還沒有接收到的鏈路狀態信息。

IE6

LoadingDone:鏈路狀態請求列表為空

 

1.1.12  協議規範

與OSPF相關的協議規範有:

·     RFC 1245:OSPF protocol analysis

·     RFC 1246:Experience with the OSPF protocol

·     RFC 1370:Applicability Statement for OSPF

·     RFC 1403:BGP OSPF Interaction

·     RFC 1745:BGP4/IDRP for IP---OSPF Interaction

·     RFC 1765:OSPF Database Overflow

·     RFC 1793:Extending OSPF to Support Demand Circuits

·     RFC 2154:OSPF with Digital Signatures

·     RFC 2328:OSPF Version 2

·     RFC 3101:OSPF Not-So-Stubby Area (NSSA) Option

·     RFC 3166:Request to Move RFC 1403 to Historic Status

·     RFC 3509:Alternative Implementations of OSPF Area Border Routers

·     RFC 4167:Graceful OSPF Restart Implementation Report

·     RFC 4750:OSPF Version 2 Management Information Base

·     RFC 4811:OSPF Out-of-Band LSDB Resynchronization

·     RFC 4812:OSPF Restart Signaling

·     RFC 4915:Multi-Topology (MT) Routing in OSPF

·     RFC 5088:OSPF Protocol Extensions for Path Computation Element (PCE) Discovery

·     RFC 5250:The OSPF Opaque LSA Option

·     RFC 5613:OSPF Link-Local Signaling

·     RFC 5642:Dynamic Hostname Exchange Mechanism for OSPF

·     RFC 5709:OSPFv2 HMAC-SHA Cryptographic Authentication

·     RFC 5786:Advertising a Router's Local Addresses in OSPF Traffic Engineering (TE) Extensions

·     RFC 6571:Loop-Free Alternate (LFA) Applicability in Service Provider (SP) Networks

·     RFC 6860:Hiding Transit-Only Networks in OSPF

·     RFC 6987:OSPF Stub Router Advertisement

1.2  OSPF配置限製和指導

無論是哪種類型的路由器,都必須先使能OSPF,否則OSPF協議將無法正常運行。在進行各項配置的時候應該先做好網絡規劃,錯誤的配置可能會導致相鄰路由器之間無法相互傳遞信息,甚至導致路由信息的阻塞或者產生路由環路。

1.3  OSPF配置任務簡介

OSPF配置任務如下:

(1)     配置OSPF基本功能

¡     啟動OSPF進程

¡     配置OSPF區域

¡     使能OSPF功能

¡     (可選)配置OSPF使用接口的從IP地址建立鄰居關係

(2)     (可選)配置OSPF特殊區域

¡     配置Stub區域

¡     配置NSSA區域

¡     配置虛連接

(3)     (可選)配置OSPF的網絡類型

¡     配置OSPF接口網絡類型為廣播

¡     配置OSPF接口網絡類型為NBMA

¡     配置OSPF接口網絡類型為P2MP

¡     配置OSPF接口網絡類型為P2P

(4)     (可選)配置OSPF的路由信息控製

¡     配置OSPF區域間路由聚合

¡     配置對引入的外部路由信息進行路由聚合

¡     配置OSPF對通過接收到的LSA計算出來的路由信息進行過濾

¡     配置過濾Type-3 LSA

¡     配置OSPF接口的開銷值

¡     配置OSPF通告給鄰居的鏈路開銷值保持最大值的持續時間

¡     配置OSPF與Track聯動

¡     配置OSPF協議的優先級

¡     配置NULL0路由

¡     配置OSPF引入外部路由

¡     配置OSPF引入缺省路由

¡     配置發布一條主機路由

(5)     (可選)配置OSPF定時器

¡     配置OSPF報文定時器

¡     配置接口傳送LSA的延遲時間

¡     配置OSPF路由計算的時間間隔

¡     配置LSA重複到達的最小時間間隔

¡     配置OSPF更新LSA的時間間隔

¡     配置OSPF嚐試退出overflow狀態的定時器時間間隔

(6)     (可選)配置OSPF報文相關功能

¡     禁止接口收發OSPF報文

¡     配置DD報文中的MTU

¡     配置OSPF發送協議報文的DSCP優先級

¡     配置接口發送OSPF報文的最大長度

¡     配置發送LSU報文的速率

(7)     (可選)控製LSA的生成、發布與接收

¡     配置LSDB中External LSA的最大數量

¡     過濾接口出方向的LSA

¡     過濾發送給指定鄰居的LSA

(8)     (可選)加快OSPF路由收斂速度

¡     配置ISPF

¡     配置前綴抑製

¡     配置OSPF的前綴按優先級收斂功能

¡     配置PIC

(9)     (可選)配置OSPF高級功能

¡     配置Stub路由器

¡     配置OSPF isolate功能

¡     配置OSPF shutdown功能

¡     配置兼容RFC 1583的外部路由選擇規則

(10)     (可選)提高OSPF網絡的可靠性

¡     配置OSPF GR

¡     配置OSPF NSR

¡     配置OSPF與BFD聯動

(11)     (可選)配置OSPF安全功能

¡     配置OSPF驗證

¡     配置OSPF GTSM功能

(12)     (可選)配置OSPF日誌、告警和故障檢測功能

¡     配置鄰居狀態變化的輸出開關

¡     配置OSPF的日誌功能

¡     配置OSPF網管功能

¡     配置OSPF記錄鄰居關係斷開故障檢測信息的最大條數

1.4  配置OSPF基本功能

1.4.1  啟動OSPF進程

(1)     進入係統視圖。

system-view

(2)     (可選)配置全局Router ID。

router id router-id

缺省情況下,未配置全局Router ID。

未配置全局路由器ID時,按照下麵的規則進行選擇:

¡     如果存在配置IP地址的Loopback接口,則選擇Loopback接口地址中最大的作為Router ID。

¡     如果沒有配置IP地址的Loopback接口,則從其他接口的IP地址中選擇最大的作為Router ID(不考慮接口的up/down狀態)。

(3)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

缺省情況下,係統沒有運行OSPF。

(4)     (可選)配置OSPF進程描述。

description text

缺省情況下,未配置進程描述。

建議用戶為每個OSPF進程配置進程描述信息,幫助識別進程的用途,以便於記憶和管理。

1.4.2  配置OSPF區域

(1)     進入係統視圖。

system-view

(2)     (可選)配置全局Router ID。

router id router-id

缺省情況下,未配置全局Router ID。

(3)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

缺省情況下,係統沒有運行OSPF。

(4)     (可選)配置OSPF進程描述。

description text

缺省情況下,未配置進程描述。

建議用戶為每個OSPF進程配置進程描述信息,幫助識別進程的用途,以便於記憶和管理。

(5)     (可選)配置區域描述。

description text

缺省情況下,未配置區域描述。

建議用戶為每個區域配置區域描述信息,幫助識別區域的用途,以便於記憶和管理。

僅支持在OSPF區域視圖下配置區域描述。

(6)     (可選)配置允許將區域下的接口從標準拓撲中分離。

capability default-exclusion

缺省情況下,OSPF區域下的接口自動加入標準拓撲base。

需要在本設備和鄰居設備上同時配置本命令,否則會影響鄰居關係的建立。

本命令僅支持在OSPF區域視圖下配置。

1.4.3  使能OSPF功能

1. 功能簡介

要在路由器上使能OSPF功能,必須先創建OSPF進程、指定該進程關聯的區域以及區域包括的網段;對於當前路由器來說,如果某個路由器的接口IP地址落在某個區域的網段內,則該接口屬於這個區域並使能了OSPF功能,OSPF將把這個接口的直連路由宣告出去。

OSPF支持多進程,即可以在一台路由器上通過為不同的OSPF進程指定不同的進程號來啟動多個OSPF進程。OSPF進程號是本地概念,不影響與其它路由器之間的報文交換。因此,不同的路由器之間,即使進程號不同也可以進行報文交換。

2. 配置限製和指導

可以在指定接口上使能OSPF,或者在指定網段上使能OSPF。在指定接口上使能OSPF的優先級高於在指定網段上使能OSPF。

在接口上使能OSPF時,如果不存在進程和區域,則創建對應的進程和區域;在接口上關閉OSPF時,不刪除已經創建的進程和區域。

3. 在指定網段上使能OSPF

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置區域所包含的網段並在指定網段的接口上使能OSPF。

network ip-address wildcard-mask

缺省情況下,接口不屬於任何區域且OSPF功能處於關閉狀態。

一個網段隻能屬於一個區域。

4. 在指定接口上使能OSPF

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口使能OSPF。

ospf process-id area area-id [ exclude-subip ]

缺省情況下,未配置接口使能OSPF。

1.4.4  配置OSPF使用接口的從IP地址建立鄰居關係

1. 功能簡介

使能OSPF功能後,缺省情況下,OSPF隻能使用接口的主IP地址建立鄰居關係。雖然可以通告從地址的網段信息,但是無法使用從地址建立鄰居關係。如果希望OSPF使用接口的從IP地址建立鄰居關係,則需要開啟本功能。

2. 配置限製和指導

使用從地址建立鄰居關係時,需要注意:

·     使用接口的主IP地址、多個從IP地址分別建立鄰居關係時,需要在同一OSPF進程的相同區域下通告該接口的主地址和從地址所在的網段;否則,未在同一OSPF進程相同區域下通告的從IP地址,不會建立鄰居關係。

·     接口的主IP地址不建立鄰居關係,僅使用接口的一個或多個從IP地址建立鄰居關係時,需要在同一OSPF進程的相同區域下通告這些從地址所在的網段。否則,OSPF會選取通告最小從IP地址所在網段的OSPF區域,並為該區域內通告的、所有該接口的從IP地址分別建立鄰居關係。

·     OSPF接口的網絡類型為P2P時,在該接口下配置ospf peer sub-address enable命令後,設備會自動檢查本端和對端接口建立OSPF鄰居關係的IP地址是否在同一網段。如果不在同一網段,則無法建立OSPF鄰居關係。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     進入接口視圖。

interface interface-type interface-number

(4)     開啟OSPF使用接口的從IP地址建立鄰居關係的功能。

ospf peer sub-address enable

缺省情況下,OSPF使用接口的從IP地址建立鄰居關係的功能處於關閉狀態。

1.5  配置OSPF特殊區域

1.5.1  功能簡介

網絡管理員對整個網絡劃分區域完畢後,可以根據組網需要進一步將區域配置成Stub區域或NSSA區域。

當非骨幹區域不能與骨幹區域保持連通,或者骨幹區域因為各方麵條件的限製無法保持連通時,可以通過配置OSPF虛連接予以解決。

1.5.2  配置Stub區域

1. 功能簡介

對於位於AS邊緣的一些非骨幹區域,用戶可以在該區域的所有路由器上配置stub命令,把該區域配置為Stub區域。這樣,描述自治係統外部路由的Type-5 LSA不會在Stub區域裏泛洪,減小了路由表的規模。ABR生成一條缺省路由,所有到達自治係統外部的報文都交給ABR進行轉發。

如果想進一步減少Stub區域路由表規模以及路由信息傳遞的數量,那麼在ABR上配置stub命令時指定no-summary參數,可以將該區域配置為Totally Stub區域。這樣,自治係統外部路由和區域間的路由信息都不會傳遞到本區域,所有目的地是自治係統外和區域外的報文都交給ABR進行轉發。

Stub區域和Totally Stub區域內不能存在ASBR,即自治係統外部的路由不能在本區域內傳播。

2. 配置限製和指導

骨幹區域不能配置成Stub區域或Totally Stub區域。

如果要將一個區域配置成Stub區域,則該區域中的所有路由器必須都要配置stub命令。

如果要將一個區域配置成Totally Stub區域,該區域中的所有路由器必須配置stub命令,該區域的ABR路由器需要配置stub no-summary命令。

3. 配置步驟(OSPF區域視圖)

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     進入OSPF區域視圖。

area area-id

(4)     配置當前區域為Stub區域。

stub [ default-route-advertise-always | no-summary ] *

缺省情況下,沒有區域被設置為Stub區域。

(5)     (可選)配置ABR發送到Stub區域缺省路由的開銷。

default-cost cost-value

缺省情況下,ABR發送到Stub區域缺省路由的開銷為1。

本命令隻有在Stub區域和Totally Stub區域的ABR上配置才能生效。

1.5.3  配置NSSA區域

1. 功能簡介

Stub區域不能引入外部路由,為了在允許將自治係統外部路由通告到OSPF路由域內部的同時,保持其餘部分的Stub區域的特征,網絡管理員可以將區域配置為NSSA區域。NSSA區域也是位於AS邊緣的非骨幹區域。

配置nssa命令時指定no-summary參數可以將該區域配置為Totally NSSA區域,該區域的ABR不會將區域間的路由信息傳遞到本區域。

2. 配置限製和指導

骨幹區域不能配置成NSSA區域或Totally NSSA區域。

如果要將一個區域配置成NSSA區域,則該區域中的所有路由器必須都要配置nssa命令。

如果要將一個區域配置成Totally NSSA區域,該區域中的所有路由器必須配置nssa命令,該區域的ABR路由器需要配置nssa no-summary命令。

3. 配置步驟(OSPF區域視圖)

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     進入OSPF區域視圖。

area area-id

(4)     配置當前區域為NSSA區域。

nssa [ default-route-advertise [ cost cost-value | nssa-only | route-policy route-policy-name | type type ] * | no-import-route | no-summary | suppress-fa | [ [ [ translate-always ] [ translate-ignore-checking-backbone ] ] | translate-never ] | translator-stability-interval value ] *

缺省情況下,沒有區域被設置為NSSA區域。

(5)     (可選)配置發送到NSSA區域缺省路由的開銷。

default-cost cost-value

缺省情況下,發送到NSSA區域的缺省路由的開銷為1。

本命令隻有在NSSA區域和Totally NSSA區域的ABR/ASBR上配置才能生效。

1.5.4  配置虛連接

1. 功能簡介

在劃分區域之後,非骨幹區域之間的OSPF路由更新是通過骨幹區域來完成交換的。對此,OSPF要求所有非骨幹區域必須與骨幹區域保持連通,並且骨幹區域自身也要保持連通。

但在實際應用中,可能會因為各方麵條件的限製,無法滿足這個要求。這時可以通過在ABR上配置OSPF虛連接予以解決。

2. 配置限製和指導

虛連接不能穿過Stub區域和Totally Stub區域;虛連接不能穿過NSSA區域和Totally NSSA區域。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     創建並配置虛連接。

vlink-peer router-id [ dead seconds | hello seconds | { authentication-none | { hmac-md5 | hmac-sha-256 | hmac-sm3 | md5 } [ key-id { cipher | plain } string ] | keychain keychain-name | simple [ { cipher | plain } string ] } | retransmit seconds | trans-delay seconds ] *

為使虛連接生效,在虛連接的兩端都需配置此命令,並且兩端配置的hellodead參數必須一致。

(4)     (可選)禁止OSPF通告區域中虛連接所屬拓撲的消息。

vlink-peer router-id topology disable

缺省情況下,OSPF通告虛連接所屬拓撲的消息。

配置本命令前,首先需要在OSPF骨幹區域配置capability default-exclusion命令。

1.6  配置OSPF的網絡類型

1.6.1  配置限製和指導

OSPF的網絡類型有四種:廣播、NBMA、P2MP和P2P。用戶可以根據需要更改接口的網絡類型,例如:

·     當廣播網絡中有部分路由器不支持組播時,可以將網絡類型更改為NBMA。

·     如果一網段內隻有兩台路由器運行OSPF協議,也可將接口類型配置為P2P,節省網絡開銷。

如果接口配置為廣播、NBMA或者P2MP網絡類型,隻有雙方接口在同一網段才能建立鄰居關係。

1.6.2  配置OSPF接口網絡類型為廣播

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置OSPF接口網絡類型為廣播。

ospf network-type broadcast

缺省情況下,接口的網絡類型根據接口封裝的鏈路層協議而定。

(4)     (可選)配置OSPF接口的路由器優先級。

ospf dr-priority priority

缺省情況下,接口的路由器優先級為1。

1.6.3  配置OSPF接口網絡類型為NBMA

1. 配置限製和指導

把接口類型配置為NBMA後,由於無法通過廣播Hello報文的形式動態發現相鄰路由器,必須手工為接口指定相鄰接口的IP地址、該相鄰接口是否有選舉權等(dr-priority參數的值僅表示路由器是否具有DR選舉權,為0表示不具有DR選舉權,大於0時表示具有DR選舉權)。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置OSPF接口的網絡類型為NBMA。

ospf network-type nbma

缺省情況下,接口的網絡類型根據接口封裝的鏈路層協議而定。

(4)     (可選)配置OSPF接口的路由器優先級。

ospf dr-priority priority

缺省情況下,接口的路由器優先級為1。

本命令設置的優先級用於實際的DR選舉。

(5)     退回係統視圖。

quit

(6)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(7)     配置NBMA網絡的鄰居。

peer ip-address [ dr-priority priority ]

缺省情況下,未配置鄰居。

如果在配置鄰居時將優先級指定為0,則本地路由器認為該鄰居不具備選舉權,不向該鄰居發送Hello報文。本地路由器是DR或BDR的情況除外。

1.6.4  配置OSPF接口網絡類型為P2MP

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置OSPF接口的網絡類型為P2MP。

ospf network-type p2mp [ unicast ]

缺省情況下,接口的網絡類型根據接口封裝的鏈路層協議而定。

接口類型配置為P2MP單播後,OSPF協議在該接口上發送的報文均為單播報文。由於無法通過廣播Hello報文的形式動態發現相鄰路由器,必須手工為接口指定相鄰接口的IP地址。

(4)     退回係統視圖。

quit

(5)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(6)     配置P2MP單播網絡的鄰居。

peer ip-address [ cost cost-value ]

缺省情況下,未配置鄰居。

如果接口類型為P2MP單播,必須配置本命令。

1.6.5  配置OSPF接口網絡類型為P2P

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置OSPF接口的網絡類型為P2P。

ospf network-type p2p [ multicast | peer-address-check ] *

缺省情況下,接口的網絡類型根據接口封裝的鏈路層協議而定。

1.7  配置OSPF的路由信息控製

通過本節的配置,可以控製OSPF的路由信息的發布與接收,並引入路由信息。

1.7.1  配置OSPF區域間路由聚合

1. 功能簡介

OSPF區域間路由聚合是指ABR將具有相同前綴的路由信息聚合,隻發布一條路由到其它區域。

AS被劃分成不同的區域後,每一個區域通過OSPF區域邊界路由器(ABR)相連,區域間可以通過路由聚合來減少路由信息,減小路由表的規模,提高路由器的運算速度。

ABR在計算出一個區域的區域內路由之後,根據聚合相關設置,將其中多條OSPF路由聚合成一條發送到區域之外。例如,某個區域內有三條區域內路由19.1.1.0/24,19.1.2.0/24,19.1.3.0/24,如果在ABR上配置了路由聚合,將三條路由聚合成一條19.1.0.0/16,則ABR就隻生成一條聚合後的Type-3 LSA,並發布給其它區域的路由器,這樣既可以減少其它區域中LSDB的規模,也減小了因為網絡拓撲變化帶來的影響。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

如果指定了vpn-instance參數,則無法進入OSPF IPv4單播拓撲區域視圖。

(3)     配置ABR路由聚合。

abr-summary ip-address { mask-length | mask } [ advertise | not-advertise ] [ cost cost-value ]

缺省情況下,ABR不對路由進行聚合。

1.7.2  配置對引入的外部路由信息進行路由聚合

1. 功能簡介

ASBR引入外部路由後,每一條路由都會放在單獨的一條Type-5 LSA中向外宣告;通過配置路由聚合,路由器隻把聚合後的路由放在Type-5 LSA中向外宣告,減少了LSDB中LSA的數量。

在ASBR上配置路由聚合後,將對聚合地址範圍內的Type-5 LSA進行聚合;如果ASBR在NSSA區域裏麵,將對聚合地址範圍內的Type-7 LSA進行聚合。

2. 配置限製和指導

如果本地路由器同時是ASBR和ABR,並且是NSSA區域的轉換路由器,將對由Type-7 LSA轉化成的Type-5 LSA進行聚合處理;如果不是NSSA區域的轉換路由器,則不進行聚合處理。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置ASBR路由聚合。

asbr-summary ip-address { mask-length | mask } [ cost cost-value | not-advertise | nssa-only | tag tag ] *

缺省情況下,ASBR不對路由進行聚合。

1.7.3  配置OSPF對通過接收到的LSA計算出來的路由信息進行過濾

1. 功能簡介

OSPF是基於鏈路狀態的動態路由協議,路由信息是根據接收到的LSA計算出來的,可以對通過接收到的LSA計算出來的OSPF路由信息進行過濾。

一共有四種過濾方式:

·     基於要加入到路由表的路由信息的目的地址進行過濾,可以通過配置訪問控製列表或IP地址前綴列表來指定過濾條件;

·     基於要加入到路由表的路由信息的下一跳進行過濾,可以通過在命令中配置gateway參數來指定過濾條件;

·     基於要加入到路由表的路由信息的目的地址和下一跳進行過濾,可以通過配置訪問控製列表或IP地址前綴列表指定過濾目的地址的條件,同時配置gateway參數來指定過濾下一跳的條件;

·     基於路由策略對要加入到路由表的路由信息進行過濾,可以通過在命令中配置route-policy參數來指定過濾條件。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF對通過接收到的LSA計算出來的路由信息進行過濾。

filter-policy { ipv4-acl-number [ gateway prefix-list-name ] | gateway prefix-list-name | prefix-list prefix-list-name [ gateway prefix-list-name ] | route-policy route-policy-name } import

缺省情況下,OSPF不對通過接收到的LSA計算出來的路由信息進行過濾。

1.7.4  配置過濾Type-3 LSA

1. 功能簡介

通過在ABR上配置Type-3 LSA過濾,可以對進入ABR所在區域或ABR向其它區域發布的Type-3 LSA進行過濾。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

如果指定了vpn-instance參數,則無法進入OSPF IPv4單播拓撲區域視圖。

(3)     配置對Type-3 LSA進行過濾。

filter { ipv4-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } { export | import }

缺省情況下,不對Type-3 LSA進行過濾。

1.7.5  配置OSPF接口的開銷值

1. 功能簡介

OSPF有兩種方式來配置接口的開銷值:

·     在接口視圖下直接配置開銷值;

·     配置接口的帶寬參考值,OSPF根據帶寬參考值自動計算接口的開銷值,計算公式為:接口開銷=帶寬參考值÷接口期望帶寬(接口期望帶寬通過命令bandwidth進行配置,具體情況請參見接口分冊命令參考中的介紹)。當計算出來的開銷值大於65535時,開銷取最大值65535;當計算出來的開銷值小於1時,開銷取最小值1。

2. 配置接口的開銷值

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     設置OSPF接口的開銷值。

ospf cost cost-value

缺省情況下,接口按照當前的帶寬自動計算接口運行OSPF協議所需的開銷。對於Loopback接口,缺省值為0。

3. 配置帶寬參考值

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置帶寬參考值。

bandwidth-reference value

缺省情況下,帶寬參考值為100Mbps。

1.7.6  配置OSPF通告給鄰居的鏈路開銷值保持最大值的持續時間

1. 功能簡介

OSPF網絡中,鏈路發生故障並從故障中恢複,或接口狀態變化時,OSPF會重新建立鄰接關係,路由會重新進行收斂。在路由重新收斂的過程中,由於各個節點的路由收斂速度不一致,可能會形成環路,造成流量丟失。為了在路由收斂過程中保持轉發路徑不變,可以使用本功能使OSPF在一段時間內向鄰居通告最大鏈路開銷,這段時間結束後OSPF向鄰居通告的鏈路開銷從最大值恢複為原始開銷值,OSPF重新進行路由優選。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置OSPF通告給鄰居的鏈路開銷值保持最大值的持續時間。

ospf peer hold-max-cost duration time

缺省情況下,未配置OSPF通告給鄰居的鏈路開銷值保持最大值的持續時間。

1.7.7  配置OSPF與Track聯動

1. 功能簡介

配置本功能後,OSPF接口將根據關聯的Track項的狀態調整接口開銷值,以便鄰居重新進行路徑優選。具體機製如下:

(1)     Track項的狀態變為Negative時,OSPF將接口的開銷值調大。

(2)     Track項的狀態變為Positive時,OSPF將接口的開銷值恢複為調整前的值。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置OSPF接口與Track項關聯,並根據Track項的狀態調整接口開銷值。

ospf track track-entry-number adjust-cost { cost-offset | max }

缺省情況下,未配置OSPF接口與Track項關聯。

 

1.7.8  配置OSPF協議的優先級

1. 功能簡介

由於路由器上可能同時運行多個動態路由協議,就存在各個路由協議之間路由信息共享和選擇的問題。係統為每一種路由協議設置一個優先級,在不同協議發現同一條路由時,優先級高的路由將被優先選擇。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF協議的路由優先級。

preference [ ase ] { preference | route-policy route-policy-name } *

缺省情況下,OSPF協議對自治係統內部路由的優先級為10,對自治係統外部路由的優先級為150。

1.7.9  配置NULL0路由

1. 功能簡介

本命令用來配置是否產生NULL0路由以及產生NULL0路由的優先級。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置NULL0路由以及NULL0路由的優先級。

discard-route { external { preference | suppression } | internal { preference | suppression } } *

缺省情況下,產生引入聚合NULL0路由和區域間聚合NULL0路由,且NULL0路由優先級為255。

1.7.10  配置OSPF引入外部路由

1. 功能簡介

當OSPF網絡中的設備需要訪問運行其他協議的網絡中的設備時,需要將其他協議的路由引入OSPF網絡中。例如,引入IS-IS、BGP生成的路由信息,將這些路由信息通過Type5 LSA或Type7 LSA向外宣告。

OSPF是一個無環的動態路由協議,但這是針對域內路由和域間路由而言的。OSPF對於引入的外部路由引發的路由環路沒有很好的防範機製,因此在配置OSPF引入外部路由時一定要慎重,防止手工配置引發的環路。

OSPF還可以對引入的路由進行過濾,隻將滿足過濾條件的外部路由轉換為Type5 LSA或Type7 LSA發布出去。

2. 配置限製和指導

隻能引入路由表中狀態為active的路由,是否為active狀態可以通過display ip routing-table protocol命令來查看。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF引入外部路由。

import-route bgp [ as-number ] [ allow-ibgp ] [ [ cost cost-value | inherit-cost ] | nssa-only | route-policy route-policy-name | tag tag | type type ] *

import-route { direct | static } [ [ cost cost-value | inherit-cost ] | nssa-only | route-policy route-policy-name | tag tag | type type ] *

import-route { isis | ospf | rip } [ process-id | all-processes ] [ allow-direct | [ cost cost-value | inherit-cost ] | nssa-only | route-policy route-policy-name | tag tag | type type ] *

缺省情況下,不引入外部路由。

執行import-route命令引入BGP路由時,未指定allow-ibgp參數表示隻引入EBGP路由;指定allow-ibgp參數表示將IBGP路由也引入,容易引起路由環路,請慎用。

(4)     (可選)配置對引入的路由進行過濾。

filter-policy { ipv4-acl-number | prefix-list prefix-list-name } export [ protocol [ process-id ] ]

缺省情況下,不對引入的路由信息進行過濾。

(5)     配置路由引入時的參數缺省值(開銷、標記、類型)。

default { cost cost-value | tag tag | type type } *

缺省情況下,OSPF引入的路由的度量值為1,引入的路由的標記為1,引入的路由類型為2。

1.7.11  配置OSPF引入缺省路由

1. 功能簡介

OSPF組網中,區域邊界和自治係統邊界通常是由多台設備組成的多出口冗餘備份或者負載分擔。此時,為了減少路由表的容量,可以配置缺省路由,減輕設備的處理負擔。

OSPF缺省路由通常應用於下麵兩種情況:

·     由區域邊界路由器發布Type3 LSA,用來指導區域內路由器進行區域之間報文的轉發。

·     由自治係統邊界路由器發布Type5 LSA或Type7 LSA,用來指導OSPF路由域內路由器進行域外報文的轉發。

當路由器無精確匹配的路由時,就可以通過缺省路由進行報文轉發。Type3 LSA生成的缺省路由的優先級高於Type5 LSA生成的缺省路由的優先級。

OSPF缺省路由的發布方式取決於引入缺省路由的區域類型,具體如表1-3所示。

表1-3 缺省路由發布方式

區域類型

產生條件

發布方式

產生LSA的類型

LSA泛洪範圍

普通區域

配置default-route-advertise命令

ASBR發布

Type5 LSA

普通區域

STUB區域

自動產生

ABR發布

Type3 LSA

STUB區域

NSSA區域

配置nssa [ default-route-advertise ]命令

ASBR發布

Type7 LSA

NSSA區域

完全NSSA區域

自動產生

ABR發布

Type3 LSA

NSSA區域

 

OSPF不能通過import-route命令從其它協議引入缺省路由,如果想把缺省路由引入到OSPF路由區域,必須在ASBR上執行本配置。

2. 配置限製和指導

ASBR通告缺省路由後,如果該區域中某台設備上配置了靜態路由,要使ASBR通告的缺省路由加入到該設備的路由表中,則必須保證配置的靜態路由的優先級低於OSPF通告的缺省路由的優先級。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF引入缺省路由。

default-route-advertise [ [always | permit-calculate-other ] | cost cost-value | route-policy route-policy-name | type type ] *

default-route-advertise [ summary cost cost-value ]

缺省情況下,不引入缺省路由。

default-route-advertise summary cost命令僅在VPN中應用,以Type-3 LSA引入缺省路由,PE路由器會將引入的缺省路由發布給CE路由器。

(4)     配置路由引入時的參數缺省值(開銷、標記、類型)。

default { cost cost-value | tag tag | type type } *

缺省情況下,OSPF引入的路由的度量值為1,引入的路由的標記為1,引入的路由類型為2。

1.7.12  配置發布一條主機路由

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     進入OSPF區域視圖。

area area-id

(4)     配置並發布一條主機路由。

host-advertise ip-address cost-value

缺省情況下,OSPF不發布所包含網段之外的主機路由。

1.8  配置OSPF定時器

1.8.1  功能簡介

通過改變OSPF的報文定時器,可以調整OSPF網絡的收斂速度以及協議報文帶來的網絡負荷。在一些低速鏈路上,需要考慮接口傳送LSA的延遲時間。

1.8.2  配置OSPF報文定時器

1. 功能簡介

用戶可以在接口上配置下列OSPF報文定時器:

·     Hello定時器:接口向鄰居發送Hello報文的時間間隔,OSPF鄰居之間的Hello定時器的值要保持一致。

·     Poll定時器:在NBMA網絡中,路由器向狀態為down的鄰居路由器發送輪詢Hello報文的時間間隔。

·     鄰居失效時間:在鄰居失效時間內,如果接口還沒有收到鄰居發送的Hello報文,路由器就會宣告該鄰居無效。

·     接口重傳LSA的時間間隔:路由器向它的鄰居通告一條LSA後,需要對方進行確認。若在重傳間隔時間內沒有收到對方的確認報文,就會向鄰居重傳這條LSA。

2. 配置限製和指導

Hello報文中包含Hello定時器和鄰居失效時間,對於不同的網絡類型,Hello定時器和鄰居失效時間的缺省值不同。修改網絡類型時,Hello定時器和鄰居失效時間將恢複為對應網絡類型下的缺省值。請確保鄰居路由器兩端的Hello定時器和鄰居失效時間的值保持一致,否則將影響OSPF鄰居關係的建立。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置Hello定時器。

ospf timer hello seconds

缺省情況下,P2P、Broadcast類型接口發送Hello報文的時間間隔為10秒,P2MP、NBMA類型接口發送Hello報文的時間間隔為30秒。

(4)     配置Poll定時器。

ospf timer poll seconds

缺省情況下,發送輪詢Hello報文的時間間隔為120秒。

輪詢Hello報文的時間間隔至少應為Hello時間間隔的4倍。

(5)     配置鄰居失效時間。

ospf timer dead seconds

缺省情況下,P2P、Broadcast類型接口的OSPF鄰居失效時間為40秒,P2MP、NBMA類型接口的OSPF鄰居失效時間為120秒。

鄰居失效時間應至少為Hello時間間隔的4倍。

(6)     配置接口重傳LSA的時間間隔。

ospf timer retransmit seconds

缺省情況下,時間間隔為5秒。

相鄰路由器重傳LSA時間間隔的值不要設置得太小,否則將會引起不必要的重傳。通常應該大於一個報文在兩台路由器之間傳送一個來回的時間。

1.8.3  配置接口傳送LSA的延遲時間

1. 功能簡介

考慮到OSPF報文在鏈路上傳送時也需要花費時間,所以LSA的老化時間(age)在傳送之前要增加一定的延遲時間,在低速鏈路上需要對該項配置進行重點考慮。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口傳送LSA的延遲時間。

ospf trans-delay seconds

缺省情況下,接口傳送LSA的延遲時間為1秒。

1.8.4  配置OSPF路由計算的時間間隔

1. 功能簡介

當OSPF的LSDB發生改變時,需要重新計算最短路徑。如果網絡頻繁變化,且每次變化都立即計算最短路徑,將會占用大量係統資源,並影響路由器的效率。通過調節路由計算的時間間隔,可以抑製由於網絡頻繁變化帶來的影響。

本命令在網絡變化不頻繁的情況下將連續路由計算的時間間隔縮小到minimum-interval,而在網絡變化頻繁的情況下可以進行相應懲罰,將路由計算的時間間隔按照配置的懲罰增量延長,增加incremental-interval×2n-2(n為連續觸發路由計算的次數),最大不超過maximum-interval

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF路由計算的時間間隔。

spf-schedule-interval maximum-interval [ minimum-interval [ incremental-interval ] ]

缺省情況下,OSPF路由計算的最大時間間隔為5秒,最小時間間隔為50毫秒,時間間隔懲罰增量為200毫秒。

1.8.5  配置LSA重複到達的最小時間間隔

1. 功能簡介

如果在重複到達的最小時間間隔內連續收到一條LSA類型、LS ID、生成路由器ID均相同的LSA則直接丟棄,這樣就可以抑製網絡頻繁變化可能導致的帶寬資源和路由器資源被過多占用的問題。

在網絡相對穩定且對路由收斂速度要求較高的組網環境中,可以將LSA重複到達的時間間隔配置為0,使得拓撲或者路由的變化可以立即被感知到,從而加快路由的收斂。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置LSA重複到達的最小時間間隔。

lsa-arrival-interval interval

缺省情況下,OSPF LSA重複到達的最小時間間隔為1000毫秒。

1.8.6  配置OSPF更新LSA的時間間隔

1. 功能簡介

通過調節OSPF更新LSA的時間間隔,可以抑製網絡頻繁變化可能導致的帶寬資源和路由器資源被過多占用的問題。

缺省情況下,OSPF會自動調節更新LSA的時間間隔,在網絡變化不頻繁的情況下將OSPF更新LSA的時間間隔縮小到minimum-interval,而在網絡變化頻繁的情況下可以進行相應懲罰,將OSPF更新LSA的時間間隔按照配置的懲罰增量延長,增加incremental-interval×2n-2(n為連續觸發路由計算的次數),最大不超過maximum-interval

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF更新LSA的時間間隔。

lsa-generation-interval maximum-interval [ minimum-interval [ incremental-interval ] ]

缺省情況下,OSPF更新LSA的最大時間間隔為5秒,最小時間間隔為50毫秒,懲罰增量為200毫秒。

1.8.7  配置OSPF嚐試退出overflow狀態的定時器時間間隔

1. 功能簡介

網絡中出現過多LSA,會占用大量係統資源。當設置的LSDB中External LSA的最大數量達到上限時,LSDB會進入overflow狀態,在overflow狀態中,不再接收External LSA,同時刪除自己生成的External LSA,對於已經收到的External LSA則不會刪除。這樣就可以減少LSA從而節省係統資源。

通過配置可以調整OSPF退出overflow狀態的時間。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF嚐試退出overflow狀態的定時器時間間隔。

lsdb-overflow-interval interval

缺省情況下,OSPF嚐試退出overflow定時器間隔是300秒,配置為0時,表示不退出Overflow狀態。

1.9  配置OSPF報文相關功能

1.9.1  禁止接口收發OSPF報文

1. 功能簡介

如果要使OSPF路由信息不被某一網絡中的路由器獲得,可以禁止接口收發OSPF報文。

將運行OSPF協議的接口指定為Silent狀態後,該接口的直連路由仍可以由同一路由器的其它接口通過Router LSA發布出去,但OSPF報文將被阻塞,接口上無法建立鄰居關係。這樣可以增強OSPF的組網適應能力,減少係統資源的消耗。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     禁止接口收發OSPF報文。

silent-interface { interface-type interface-number | all }

缺省情況下,允許接口收發OSPF報文。

不同的進程可以對同一接口禁止收發OSPF報文,但本命令隻對本進程已經使能的OSPF接口起作用,對其它進程的接口不起作用。

1.9.2  配置DD報文中的MTU

1. 功能簡介

缺省情況下,接口發送DD報文時不使用接口的實際MTU值,而是用0代替。同時,接口不檢查接收到的DD報文攜帶的MTU值,使得兩端設備的接口MTU值不同也可以建立鄰居關係。

如果其他廠商設備丟棄攜帶的MTU值為0的DD報文,則會導致OSPF鄰居關係無法建立。為了解決上述問題,需要配置ospf mtu-enable命令。配置此命令後,OSPF將使用接口的實際MTU值填寫DD報文Interface MTU字段,同時檢查接收到的DD報文攜帶的MTU值是否超過本端接收接口的MTU值。如果接收到的DD報文攜帶的MTU值是否超過本端接收接口的MTU值,則將此DD報文丟棄。為了兩端設備能夠建立鄰居關係,需要為互聯物理接口設置相同的MTU值。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置DD報文中MTU域的值為發送該報文接口的MTU值。

ospf mtu-enable

缺省情況下,接口發送的DD報文中MTU域的值為0。

1.9.3  配置OSPF發送協議報文的DSCP優先級

1. 功能簡介

DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定OSPF發送協議報文的DSCP優先級。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF發送協議報文的DSCP優先級。

dscp dscp-value

缺省情況下,OSPF發送協議報文的DSCP優先級值為48。

1.9.4  配置接口發送OSPF報文的最大長度

1. 功能簡介

本功能用於需要對接口發送OSPF報文的大小進行限製的場景。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口發送OSPF報文的最大長度。

ospf packet-size value

缺省情況下,接口發送OSPF報文的最大長度為本接口的IP MTU值。

1.9.5  配置發送LSU報文的速率

1. 功能簡介

在與鄰居進行LSDB同步的過程中,需要發送大量的LSU報文時,鄰居設備會在短時間內收到大量的LSU報文,處理這些突發的大量LSU報文時,可能會出現如下情況:

·     占用較多的係統資源,導致鄰居設備性能下降。

·     鄰居設備可能會將維持鄰居關係的Hello報文丟棄,導致鄰居關係斷開。重新建立鄰居關係的過程中,需要交互的LSU數量將會更大,從而加劇設備性能的下降。

配置本功能後,路由器將LSU報文分為多個批次進行發送,對OSPF接口每次允許發送的LSU報文的最大個數做出限製;同時,在指定的時間間隔內,所有運行OSPF的接口發送LSU的最大個數不能超過限定值,即對整機發送LSU的速率進行限製,從而避免上述情況的發生。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟OSPF限製LSU發送速率功能。

ospf lsu-flood-control [ interval count ]

缺省情況下,OSPF不對LSU的發送速率進行限製。

調整OSPF對LSU的發送速率時,如果配置不當可能會造成路由異常等情況,請謹慎配置。通常情況下,建議使用缺省值。

(3)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(4)     (可選)配置接口發送LSU報文的時間間隔和一次發送LSU報文的最大個數。

transmit-pacing interval interval count count

缺省情況下,OSPF接口發送LSU報文的時間間隔為20毫秒,一次最多發送3個LSU報文。

用戶可根據需要配置OSPF接口發送LSU報文的時間間隔以及接口一次發送LSU報文的最大個數。

1.10  控製LSA的生成、發布與接收

1.10.1  配置LSDB中External LSA的最大數量

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置LSDB中External LSA的最大數量。

lsdb-overflow-limit number

缺省情況下,不對LSDB中External LSA的最大條目數進行限製。

1.10.2  過濾接口出方向的LSA

1. 功能簡介

通過該功能,不希望讓鄰居接收到的LSA可在本端接口出方向上被過濾掉,從而減小鄰居LSDB的規模,並節省帶寬。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置過濾接口出方向的LSA。

ospf database-filter { all | { ase [ acl ipv4-acl-number ] | nssa [ acl ipv4-acl-number ] | summary [ acl ipv4-acl-number ] } * }

缺省情況下,不對接口出方向的LSA進行過濾。

1.10.3  過濾發送給指定鄰居的LSA

1. 功能簡介

在P2MP網絡中,一台路由器可以有多個接口的網絡類型為P2MP的OSPF鄰居。當兩台路由器之間存在多條P2MP鏈路時,不希望讓某個指定鄰居收到的LSA,通過該功能可在本地被過濾掉。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置過濾發送給接口的網絡類型為P2MP的鄰居的LSA。

database-filter peer ip-address { all | { ase [ acl ipv4-acl-number ] | nssa [ acl ipv4-acl-number ] | summary [ acl ipv4-acl-number ] } * }

缺省情況下,不對發送給接口的網絡類型為P2MP的鄰居的LSA進行過濾。

1.11  加快OSPF路由收斂速度

1.11.1  配置ISPF

1. 功能簡介

ISPF(Incremental Shortest Path First,增量最短路徑優先)是對OSPF中最短路徑樹的增量計算,當網絡的拓撲結構發生變化,即影響到最短路徑樹的結構時,隻對受影響的部分節點進行重新計算拓撲結構,隻對最短路徑樹中受影響的部分進行修正,而不需要重建整棵最短路徑樹。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     開啟增量SPF計算功能。

ispf enable

缺省情況下,增量SPF計算功能處於使能狀態。

1.11.2  配置前綴抑製

1. 功能簡介

OSPF使能網段時會將接口上匹配該網段的所有網段路由與主機路由都通過LSA發布,但有些時候主機路由或網段路由是不希望被發布的。通過前綴抑製配置,可以減少LSA中攜帶不需要的前綴,即不發布某些網段路由和主機路由,從而提高網絡安全性,加快路由收斂。

當使能前綴抑製時,具體情況如下:

·     P2P或P2MP類型網絡:Type-1 LSA中不發布接口的主地址,即Type-1 LSA中鏈路類型為3的Stub鏈路被抑製,不生成接口路由,但其他路由信息可以正常計算,不會影響流量轉發。

·     廣播類型或者NBMA網絡:DR發布的Type-2 LSA的掩碼字段會填成32位,即不生成網段路由,但其他路由信息可以正常計算,不會影響流量轉發。另外,如果沒有鄰居,發布的Type-1 LSA中也不發布接口的主地址,即Type-1 LSA中鏈路類型為3的Stub鏈路被抑製。

2. 配置限製和指導

如果需要抑製前綴發布,建議整個OSPF網絡都配置本命令。

3. 配置全局前綴抑製

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置前綴抑製功能。

prefix-suppression

缺省情況下,不抑製OSPF進程進行前綴發布。

不能抑製從地址、LoopBack接口以及處於抑製狀態的接口對應的前綴。

4. 配置接口前綴抑製

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口的前綴抑製功能。

ospf prefix-suppression [ disable ]

缺省情況下,不抑製接口進行前綴發布。

不能抑製從地址對應的前綴。

1.11.3  配置OSPF的前綴按優先級收斂功能

1. 功能簡介

OSPF按照指定的收斂優先級依次計算區域內路由、區域間路由、自治係統外部路由。收斂優先級從高到低分為4個優先級Critical、High、Medium和Low。如果一條路由同時滿足多個收斂優先級的匹配規則,那麼優先選擇擁有最高優先級的收斂規則作為該路由的收斂優先級。

通過配置OSPF路由的收斂優先級,允許用戶配置特定路由的優先級,使這些路由能夠比其他的路由優先收斂。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IPv4地址前綴列表。

ip prefix-list prefix-list-name [ index index-number ] { deny | permit } ip-address mask-length [ greater-equal min-mask-length ] [ less-equal max-mask-length ]

(3)     配置路由策略。

route-policy route-policy-name { deny | permit } node node-number

(4)     配置IPv4的路由信息的匹配條件為IPv4地址前綴列表。

if-match ip { address | next-hop | route-source } prefix-list prefix-list-name

缺省情況下,未配置IPv4的路由信息的匹配條件。

(5)     配置路由的收斂優先級。

apply prefix-priority { critical | high | medium }

缺省情況下,未配置路由的收斂優先級。

(6)     退回係統視圖。

quit

(7)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(8)     使能OSPF的前綴按優先級快速收斂功能。

prefix-priority route-policy route-policy-name

缺省情況下,OSPF的前綴按優先級快速收斂功能處於關閉狀態。

1.11.4  配置PIC

1. 功能簡介

PIC(Prefix Independent Convergence,前綴無關收斂),即收斂時間與前綴數量無關,該功能可以加快收斂速度。傳統的路由計算快速收斂都與前綴數量相關,收斂時間與前綴數量成正比。

2. 配置限製和指導

目前隻支持區域間路由以及外部路由的PIC功能。

3. 使能PIC功能

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     使能PIC功能。

pic [ additional-path-always ]

缺省情況下,PIC功能處於使能狀態。

4. 配置PIC支持BFD檢測功能(Ctrl方式)

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     使能OSPF協議中主用鏈路的BFD(Ctrl方式)檢測功能。

ospf primary-path-detect bfd ctrl

缺省情況下,OSPF協議中主用鏈路的BFD(Ctrl方式)檢測功能處於關閉狀態。

配置本功能後,可以加快OSPF協議的收斂速度。使用control報文雙向檢測方式時,需要建立OSPF鄰居的兩端設備均支持BFD配置。

5. 配置PIC支持BFD檢測功能(Echo方式)

(1)     進入係統視圖。

system-view

(2)     配置BFD Echo報文源地址。

bfd echo-source-ip ip-address

缺省情況下,未配置BFD Echo報文源地址。

echo報文的源IP地址用戶可以任意指定。建議配置echo報文的源IP地址不屬於該設備任何一個接口所在網段。

本命令的詳細情況請參見“可靠性命令參考”中的“BFD”。

(3)     進入接口視圖。

interface interface-type interface-number

(4)     使能OSPF協議中主用鏈路的BFD(Echo方式)檢測功能。

ospf primary-path-detect bfd echo

缺省情況下,OSPF協議中主用鏈路的BFD(Echo方式)檢測功能處於關閉狀態。

配置本功能後,可以加快OSPF協議的收斂速度。使用echo報文單跳檢測方式時,僅需要一端設備支持BFD配置。

1.12  配置OSPF高級功能

1.12.1  配置Stub路由器

1. 功能簡介

Stub路由器用來控製流量,它告知其他OSPF路由器不要使用這個Stub路由器來轉發數據,但可以擁有一個到Stub路由器的路由。

將當前路由器配置為Stub路由器後,在該路由器發布的Router LSA中,當鏈路類型取值為3表示連接到Stub網絡時,鏈路度量值不變;當鏈路類型為1、2、4分別表示通過P2P鏈路與另一路由器相連、連接到傳送網絡、虛連接時,鏈路度量值將設置為最大值65535。通過增加include-stub參數可以將路由器發布的Router LSA中,鏈路類型為3的Stub鏈路度量值設置為最大值65535。這樣其鄰居計算出這條路由的開銷就會很大,如果鄰居上有到這個目的地址開銷更小的路由,則數據不會通過這個Stub路由器轉發。

例如,如圖1-9所示,Device A、Device B、Device C和Device D運行OSPF協議,並建立IBGP連接。Device C為Device B的備份設備。當網絡環境穩定時,設備上的BGP和OSPF是完全收斂的。正常情況下,Device A到10.3.1.0/30的流量會經過Device B。當Device B發生故障後,流量切換到Device C。Device B故障恢複後,流量回切到Device B,由於IGP收斂速度比BGP快,因此OSPF先收斂,BGP還沒有完成收斂,導致Device B上沒有去往10.3.1.0/30的路由,這些流量就會被丟棄。在Device B上配置本功能,使得Device B在等待BGP路由收斂期間作為Stub路由器。這樣,在BGP收斂完成前,Device A不會把流量轉發到Device B上,而是繼續將流量轉發給備份設備Device C,直到Device B上的BGP路由完成收斂。

圖1-9 Stub路由器應用場景舉例

 

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置當前路由器為Stub路由器。

stub-router [ external-lsa [ max-metric-value ] | include-stub | on-startup { seconds | wait-for-bgp [ seconds ] } | summary-lsa [ max-metric-value ] ] *

缺省情況下,當前路由器沒有被配置為Stub路由器。

Stub路由器與Stub區域無關。

1.12.2  配置OSPF isolate功能

1. 功能簡介

Isolate是一種對網絡設備進行軟件或硬件維護的方式。Isolate使用網絡中的冗餘路徑,平滑移除需要維護的設備。當完成設備維護後,該設備可以重新投入使用。

當用戶需要對網絡中某台設備的OSPF協議進行升級時,為了不對當前網絡中通過該設備發布的OSPF路由指導轉發的流量產生影響,可以使用OSPF isolate功能把該設備上的OSPF協議從當前網絡中隔離出來,具體工作機製如下:

(1)     開啟OSPF isolate功能後,OSPF將鏈路度量值調大,以便鄰居重新進行路徑優選。OSPF調整鏈路度量值的機製如下:

¡     發布的Type-1 LSA(Router LSA)中,OSPF將鏈路度量值調整為最大值65535。

¡     發布的Type-3 LSA(Network Summary LSA)、Type-5 LSA(AS External LSA)和Type-7 LSA(NSSA External LSA)中,OSPF將鏈路度量值調整為16711680。

(2)     鄰居收到LSA完成路由計算後,將選擇更優的路徑轉發流量,不再將流量發往OSPF isolate設備。此時,設備的OSPF協議完全從當前組網中隔離出來,可以對該設備上的OSPF協議進行升級處理。

(3)     對OSPF協議的維護結束後,關閉OSPF isolate功能將鏈路度量值恢複為調整前的值,從而讓該設備的OSPF協議重新加入網絡。

2. 配置限製和指導

單獨配置isolate enable命令的效果與單獨配置stub-router external-lsa 16711680 summary-lsa 16711680 include-stub命令的效果相同。

同時配置OSPF isolate功能和OSPF stub路由器功能時,需要注意:

·     OSPF isolate功能和OSPF stub路由器功能均生效時,發布的Type-3 LSA、Type-5 LSA、Type-7 LSA的鏈路度量值為Isolate功能和Stub路由器功能中該類LSA鏈路度量值的較大者。

·     如果stub-router命令中指定了on-startup參數,在Stub路由器功能未生效期間,僅Isolate功能會影響流量轉發路徑。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     使用OSPF isolate功能對設備的OSPF協議進行維護。

a.     開啟OSPF協議的隔離功能,將設備的OSPF協議從網絡中隔離出來。

isolate enable

b.     OSPF協議維護結束後,關閉OSPF協議的隔離功能,讓設備的OSPF協議重新加入網絡。

undo isolate enable

缺省情況下,OSPF協議的隔離功能處於關閉狀態。

1.12.3  配置OSPF shutdown功能

1. 功能簡介

當用戶需要對某台設備進行調試或升級等維護操作時,可以使用OSPF shutdown功能暫時關閉設備的OSPF進程,並通知鄰居設備自己要離開網絡。鄰居設備將流程切換到備份路徑上,不再通過該設備轉發流量,從而降低設備維護對網絡的影響。具體工作機製如下:

·     開啟OSPF shutdown功能的OSPF進程向鄰居發送1-way Hello報文。

鄰居收到1-way Hello報文後,斷開與發送該報文的設備的鄰居關係。

·     開啟OSPF shutdown功能的OSPF進程停止收發OSPF協議報文,清除鄰居信息、LSDB(包括自己產生的LSP和接收到的LSP)以及OSPF路由等信息。

對設備的維護結束後,通過undo shutdown process命令重新開啟OSPF進程,從而讓設備的OSPF進程重新加入網絡。

undo ospf命令相比,本功能在關閉OSPF進程後,不會刪除該進程下的配置,降低了用戶維護設備的成本。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF shutdown功能。

a.     關閉OSPF進程。

shutdown process

b.     設備維護結束後,重新開啟OSPF進程,讓設備的OSPF進程重新加入網絡。

undo shutdown process

缺省情況下,OSPF進程處於開啟狀態。

1.12.4  配置兼容RFC 1583的外部路由選擇規則

1. 功能簡介

當有多條路徑可以到達同一個外部路由時,在選擇最優路由的問題上,RFC 2328中定義的選路規則與RFC 1583的有所不同,進行此配置可以兼容RFC 1583中定義的規則。

具體的選路規則如下:

(1)     當RFC 2328兼容RFC 1583時,所有到達ASBR的路由優先級相同。當RFC 2328不兼容RFC 1583時,非骨幹區的區域內路由優先級最高,區域間路由與骨幹區區域內路由優先級相同,優選非骨幹區的區域內路由,盡量減少骨幹區的負擔;

(2)     若存在多條優先級相同的路由時,按開銷值優選,優選開銷值小的路由;

(3)     若存在多條開銷值相同路由時,按路由來源區域的區域ID選擇,優選區域ID大的路由。

2. 配置限製和指導

為了避免路由環路,同一路由域內的路由器建議統一配置相同選擇規則。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置兼容RFC 1583的外部路由選擇規則。

rfc1583 compatible

缺省情況下,兼容RFC 1583的路由選擇優先規則的功能處於開啟狀態。

1.13  配置OSPF GR

1.13.1  功能簡介

GR(Graceful Restart,平滑重啟)是一種通過備份OSPF配置信息,在協議重啟或主備倒換時OSPF進行平滑重啟,從鄰居那裏獲得鄰居關係,並對LSDB進行同步,從而保證轉發業務不中斷的機製。

GR有兩個角色:

·     GR Restarter:發生協議重啟或主備倒換事件且具有GR能力的設備。

·     GR Helper:和GR Restarter具有鄰居關係,協助完成GR流程的設備。

目前有兩種方式實現OSPF GR技術:

·     一種是基於IETF標準,GR Restarter通過向GR Helper發送一種稱為Grace LSA的9類Opaque LSA來控製GR的交互過程。

·     另外一種是非IETF標準,GR Restarter與GR Helper之間是通過相互發送攜帶LLS與OOB擴展信息的OSPF報文來完成GR的交互過程。

一台設備可以同時充當GR Restarter和GR Helper。

1.13.2  配置GR Restarter

1. 配置IETF標準GR Restarter

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     使能Opaque LSA發布接收能力。

opaque-capability enable

缺省情況下,OSPF的Opaque LSA發布接收能力處於開啟狀態。

(4)     使能OSPF協議的IETF標準GR能力。

graceful-restart ietf [ global | planned-only ] *

缺省情況下,OSPF協議的IETF標準GR能力處於關閉狀態。

(5)     (可選)配置OSPF協議的GR重啟間隔時間。

graceful-restart interval interval

缺省情況下,OSPF協議的GR重啟間隔時間為120秒。

2. 配置非IETF標準GR Restarter

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     使能OSPF本地鏈路信令能力。

enable link-local-signaling

缺省情況下,OSPF本地鏈路信令能力處於關閉狀態。

(4)     使能OSPF帶外同步能力。

enable out-of-band-resynchronization

缺省情況下,OSPF帶外同步能力處於關閉狀態。

(5)     使能OSPF協議的非IETF標準GR能力。

graceful-restart [ nonstandard ] [ global | planned-only ] *

缺省情況下,OSPF協議的非IETF標準GR能力處於關閉狀態。

(6)     (可選)配置OSPF協議的GR重啟間隔時間。

graceful-restart interval interval

缺省情況下,OSPF協議的GR重啟間隔時間為120秒。

1.13.3  配置GR Helper

1. 配置IETF標準GR Helper

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     使能Opaque LSA發布接收能力。

opaque-capability enable

缺省情況下,OSPF的Opaque LSA發布接收能力處於開啟狀態。

(4)     使能GR Helper能力。

graceful-restart helper enable [ planned-only ]

缺省情況下,OSPF的GR Helper能力處於開啟狀態。

(5)     (可選)配置GR Helper 嚴格檢查LSA能力。

graceful-restart helper strict-lsa-checking

缺省情況下,OSPF協議的GR Helper嚴格LSA檢查能力處於關閉狀態。

執行本配置後,當檢查到GR Helper設備的LSA發生變化時,Helper設備退出GR Helper模式。

2. 配置非IETF標準GR Helper

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     使能OSPF本地鏈路信令能力。

enable link-local-signaling

缺省情況下,OSPF本地鏈路信令能力處於關閉狀態。

(4)     使能OSPF帶外同步能力。

enable out-of-band-resynchronization

缺省情況下,OSPF帶外同步能力處於關閉狀態。

(5)     使能GR Helper能力。

graceful-restart helper enable

缺省情況下,OSPF的GR Helper能力處於開啟狀態。

(6)     (可選)配置GR Helper 嚴格檢查LSA能力。

graceful-restart helper strict-lsa-checking

缺省情況下,OSPF協議的GR Helper嚴格LSA檢查能力處於關閉狀態。

執行本配置後,當檢查到GR Helper設備的LSA發生變化時,Helper設備退出GR Helper模式。

1.13.4  以GR方式重啟OSPF進程

1. 功能簡介

設備進行主備倒換或者進行如下操作均可以以GR方式重啟OSPF進程。

2. 配置步驟

請在用戶視圖下執行本命令,以GR方式重啟OSPF進程。

reset ospf [ process-id ] process graceful-restart

1.14  配置OSPF NSR

1. 功能簡介

NSR(Nonstop Routing,不間斷路由)通過將OSPF鏈路狀態信息從主進程備份到備進程,使設備在發生主備倒換時可以自行完成鏈路狀態的恢複和路由的重新生成,鄰接關係不會發生中斷,從而避免了主備倒換對轉發業務的影響。

OSPF NSR與OSPF GR具有如下區別,請根據實際情況選擇合適的方式確保數據轉發不中斷:

·     對設備要求不同:OSPF協議的主進程和備進程運行在不同的IRF成員設備上,因此要運行OSPF NSR功能,必須進行IRF堆疊且IRF必須有兩個或兩個以上的成員設備。要運行OSPF GR功能,可以不進行IRF堆疊或IRF可以隻有一個成員設備。(集中式IRF設備)

·     對OSPF鄰居的要求不同:使用OSPF NSR功能時,OSPF鄰居不會感知本地設備發生了OSPF進程的異常重啟或主備倒換等故障,不需要OSPF鄰居協助恢複OSPF路由信息。OSPF GR要求OSPF鄰居具有GR Helper能力,協助GR Restarter完成GR流程。

2. 配置限製和指導

如果在設備上同時配置了OSPF NSR和OSPF GR功能,則二者的關係如下:

·     OSPF NSR功能優先級高於OSPF GR功能,即OSPF主進程中斷時通過OSPF NSR確保轉發不中斷,設備不會作為GR Restarter啟動GR流程。

·     通過GR方式重啟OSPF進程啟動GR流程後,在GR Helper協助GR Restarter恢複重啟前狀態時,如果GR Helper發生了主備進程倒換,則即便GR Helper上配置了OSPF NSR,也無法保證GR過程成功。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     使能OSPF NSR功能。

non-stop-routing

OSPF協議的NSR功能處於關閉狀態。

各個進程的NSR功能是相互獨立的,隻對本進程生效。如果存在多個OSPF進程,建議在各個進程下使能OSPF NSR功能。

1.15  配置OSPF與BFD聯動

1.15.1  功能簡介

OSPF周期性的向鄰居發送Hello報文,如果在設定的時間內沒有收到對方發送來的Hello報文,則本地路由器會認為對方路由器無效。這種故障檢測所需時間比較長,較長的檢測時間會導致數據丟失,無法滿足高可靠性需求。

為了解決上述問題,配置OSPF與BFD(Bidirectional Forwarding Detection,雙向轉發檢測)聯動功能,可以快速檢測鏈路的狀態,提高鏈路狀態變化時OSPF協議的收斂速度。關於BFD的介紹和基本功能配置,請參見“可靠性配置指導”中的“BFD”。

OSPF使用BFD來進行快速故障檢測時,提供兩種檢測方式:

·     control報文雙向檢測:需要建立OSPF鄰居的兩端設備均支持BFD配置。

·     echo報文單跳檢測:僅需要一端設備支持BFD配置。

1.15.2  control報文雙向檢測

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     使能OSPF的BFD功能。

ospf bfd enable

缺省情況下,OSPF的BFD功能處於關閉狀態。

創建BFD會話的通信雙方必須處於特定區域的同一網段。

1.15.3  echo報文單跳檢測

(1)     進入係統視圖。

system-view

(2)     配置echo報文源地址。

bfd echo-source-ip ip-address

缺省情況下,未配置echo報文源地址。

echo報文的源IP地址用戶可以任意指定。建議配置echo報文的源IP地址不屬於該設備任何一個接口所在網段。

本命令的詳細情況請參見“可靠性命令參考”中的“BFD”。

(3)     進入接口視圖。

interface interface-type interface-number

(4)     使能OSPF的BFD功能。

ospf bfd enable echo

缺省情況下,OSPF的BFD功能處於關閉狀態。

1.16  配置OSPF驗證

1.16.1  功能簡介

從安全性角度來考慮,為了避免路由信息外泄或者OSPF路由器受到惡意攻擊,OSPF提供報文驗證功能。

OSPF路由器建立鄰居關係時,在發送的報文中會攜帶驗證模式等信息,接收報文時進行驗證,隻有通過驗證的報文才能接收,否則將不會接收報文,不能正常建立鄰居。

如果區域驗證和接口驗證都進行了配置,以接口驗證的配置為準。

1.16.2  配置限製和指導

對於keychain認證算法和key的標識符的範圍,OSPF的支持情況如下:

·     OSPF僅支持MD5、HMAC-MD5、HMAC-SHA-256和HMAC-SM3認證算法。

·     OSPF僅支持標識符取值範圍為0~255的key。

1.16.3  配置區域驗證

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     進入OSPF區域視圖。

area area-id

(4)     配置OSPF區域的驗證模式。請選擇其中一項進行配置。

¡     配置OSPF區域使用HMAC-MD5/HMAC-SHA-256/HMAC-SM3/MD5驗證模式。

authentication-mode { hmac-md5 | hmac-sha-256 | hmac-sm3 | md5 } [ key-id { cipher | plain } string ]

¡     配置OSPF區域使用簡單驗證模式。

authentication-mode simple [ { cipher | plain } string ]

¡     配置OSPF區域使用keychain驗證模式。

authentication-mode keychain keychain-name

關於keychain功能的介紹,請參見“安全配置指導”中的“keychain”。

缺省情況下,未配置區域驗證模式。

一個區域中所有路由器的驗證模式必須一致,如果設置了密鑰,需要保證密鑰的一致性。

1.16.4  配置接口驗證

1. 配置限製和指導

鄰居路由器兩端接口的驗證模式必須一致,如果設置了密鑰,需要保證密鑰的一致性。

如果希望區域中的某些接口不對OSPF報文進行驗證,可以使用None驗證模式,使用該驗證模式的接口將不會繼承其所屬區域下驗證模式的配置。本設備使用None驗證模式時,請保證鄰居設備使用None驗證模式或未配置任何驗證模式。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置OSPF接口的驗證模式。請選擇其中一項進行配置。

¡     配置OSPF區域使用HMAC-MD5/HMAC-SHA-256/HMAC-SM3/MD5驗證模式。

ospf authentication-mode { hmac-md5 | hmac-sha-256 | hmac-sm3 | md5 } [ key-id { cipher | plain } string ]

¡     配置OSPF區域使用簡單驗證模式。

ospf authentication-mode simple [ { cipher | plain } string ]

¡     配置OSPF區域使用None驗證模式。

ospf authentication-mode none

¡     配置OSPF區域使用keychain驗證模式。

ospf authentication-mode keychain keychain-name

關於keychain功能的介紹,請參見“安全配置指導”中的“keychain”。

缺省情況下,接口不對OSPF報文進行驗證。

1.17  配置OSPF GTSM功能

1.17.1  功能簡介

GTSM(Generalized TTL Security Mechanism,通用TTL安全保護機製)是一種簡單易行的、對基於IP協議的上層業務進行保護的安全機製。開啟OSPF報文的GTSM功能後,當設備收到來自OSPF普通鄰居或虛連接鄰居的報文時,會判斷報文的TTL是否在255-“hop-count”+1到255之間。如果在,就上送報文;如果不在,則直接丟棄報文。以使設備避免受到CPU利用(CPU-utilization)等類型的攻擊(如CPU過載),增強係統的安全性。

1.17.2  配置限製和指導

開啟OSPF GTSM功能時,要求本設備和鄰居設備上同時配置本特性,指定的hop-count值可以不同,隻要能夠滿足合法性檢查即可。

如果接口上配置了OSPF GTSM功能,接口OSPF GTSM功能的狀態以接口的配置為準,不受接口所在區域OSPF GTSM功能的影響。如果接口上未配置OSPF GTSM功能,接口OSPF GTSM功能的狀態以區域的配置為準。

1.17.3  配置區域GTSM功能

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     進入OSPF區域視圖。

area area-id

(4)     開啟區域的OSPF GTSM功能。

ttl-security [ hops hop-count ]

缺省情況下,區域的OSPF GTSM功能處於關閉狀態。

1.17.4  配置接口GTSM功能

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口的OSPF GTSM功能。

¡     開啟接口的OSPF GTSM功能。

ospf ttl-security [ hops hop-count ]

¡     關閉接口的OSPF GTSM功能。

ospf ttl-security disable

區域OSPF GTSM功能處於開啟狀態時,如該區域內某個接口的鄰居不支持GTSM功能,需要關閉該接口的OSPF GTSM功能。

缺省情況下,接口的OSPF GTSM功能與其所在區域OSPF GTSM功能的狀態保持一致。

1.18  配置OSPF日誌、告警和故障檢測功能

1.18.1  配置鄰居狀態變化的輸出開關

1. 功能簡介

打開鄰居狀態變化的輸出開關後,OSPF鄰居狀態變化時會生成日誌信息發送到設備的信息中心,通過設置信息中心的參數,最終決定日誌信息的輸出規則(即是否允許輸出以及輸出方向)。(有關信息中心參數的配置請參見“網絡管理和監控配置指導”中的“信息中心”。)

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     打開鄰居狀態變化的輸出開關。

log-peer-change

缺省情況下,鄰居狀態變化的輸出開關處於打開狀態。

1.18.2  配置OSPF的日誌功能

1. 功能簡介

OSPF的日誌信息包括路由計算、鄰居、路由、LSA老化、生成和接收LSA的日誌信息。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(3)     配置OSPF的日誌信息個數。

event-log { hello { received [ abnormal | dropped ] | sent [ abnormal | failed ] } | lsa-flush | peer | spf } size count

缺省情況下,接收Hello報文、接收異常Hello報文、丟棄接收到的Hello報文、發送Hello報文、發送異常Hello報文以及發送失敗的Hello報文、LSA老化、鄰居狀態變化、路由計算的日誌信息個數均為100。

1.18.3  配置OSPF網管功能

1. 功能簡介

配置OSPF進程綁定MIB功能後,可以通過網管軟件對指定的OSPF進程進行管理。

開啟OSPF模塊的告警功能後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。(有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。)

通過調整OSPF在指定時間間隔內允許輸出的告警信息條數,可以避免網絡出現大量告警信息時對資源的消耗。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置OSPF進程綁定公有MIB。

ospf mib-binding process-id

缺省情況下,MIB綁定在進程號最小的OSPF進程上。

(3)     開啟OSPF的告警功能。

snmp-agent trap enable ospf [ authentication-failure | bad-packet | config-error | dr-ip-address-conflict | grhelper-status-change | grrestarter-status-change | if-state-change | intra-area-router-id-conflict | lsa-maxage | lsa-originate | lsdb-approaching-overflow | lsdb-overflow | neighbor-state-change | nssatranslator-status-change | retransmit | virt-authentication-failure | virt-bad-packet | virt-config-error | virt-retransmit | virtgrhelper-status-change | virtif-state-change | virtneighbor-state-change ] *

缺省情況下,OSPF的告警功能處於開啟狀態。

(4)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

(5)     配置OSPF在指定時間間隔內允許輸出的告警信息條數。

snmp trap rate-limit interval trap-interval count trap-number

缺省情況下,OSPF在10秒內允許輸出7條告警信息。

1.18.4  配置OSPF記錄鄰居關係斷開故障檢測信息的最大條數

1. 功能簡介

OSPF會對鄰居關係斷開的故障檢測信息進行記錄,通過本功能可以設置記錄故障檢測信息的最大條數。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置OSPF記錄鄰居關係斷開的故障檢測信息最大條數。

ospf troubleshooting max-number number

缺省情況下,OSPF記錄鄰居關係斷開的故障檢測信息最大條數為100。

1.19  OSPF顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後OSPF的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以清除OSPF的統計信息、重啟OSPF進程或重新向OSPF引入外部路由。

表1-4 OSPF顯示和維護

操作

命令

顯示OSPF的ABR聚合信息

display ospf [ process-id ] [ area area-id ] abr-summary [ ip-address { mask-length | mask } ] [ verbose ] [ topology topo-name ]

顯示區域中FRR備份下一跳候選列表

display ospf [ process-id ] [ area area-id ] fast-reroute lfa-candidate [ topology topo-name ]

顯示OSPF區域中的拓撲信息

display ospf [ process-id ] [ area area-id ] spf-tree [ verbose ]

顯示OSPF的進程信息

display ospf [ process-id ] [ verbose ]

顯示OSPF ABR及ASBR信息

display ospf [ process-id ] abr-asbr [ verbose ] [ topology topo-name ]

顯示OSPF的ASBR聚合信息

display ospf [ process-id ] asbr-summary [ ip-address { mask-length | mask } ] [ topology topo-name ]

顯示OSPF的日誌信息

display ospf [ process-id ] event-log { lsa-flush | peer [ neighbor-id ] [ slot slot-number ] | spf [ topology topo-name ] }

顯示OSPF接收或發送Hello報文的日誌信息

display ospf [ process-id ] event-log hello { received [ abnormal | dropped ] | sent } [ neighbor-id ] [ slot slot-number ]

display ospf [ process-id ] event-log hello sent { abnormal | failed } [ neighbor-address ] [ slot slot-number ]

顯示OSPF進程的GR狀態信息

display ospf [ process-id ] graceful-restart [ verbose ]

顯示OSPF接口信息

display ospf [ process-id ] interface [ interface-type interface-number | verbose ] [ topology topo-name ]

顯示接口發送Hello報文的信息

display ospf [ process-id ] interface [ interface-type interface-number ] hello

顯示OSPF的LSDB信息

display ospf [ process-id ] [ area area-id ] lsdb { asbr | network | nssa | opaque-area | opaque-link | router | summary } [ link-state-id ] [ originate-router advertising-router-id | self-originate ]

display ospf [ process-id ] lsdb [ brief | originate-router advertising-router-id | self-originate ] [ topology topo-name ]

display ospf [ process-id ] lsdb { ase | opaque-as } [ link-state-id ] [ originate-router advertising-router-id | self-originate ]

顯示進程中的下一跳信息

display ospf [ process-id ] nexthop

顯示OSPF的NSR階段信息

display ospf [ process-id ] non-stop-routing status

顯示OSPF鄰居的信息

display ospf [ process-id ] peer [ hello | verbose ] [ interface-type interface-number ] [ neighbor-id ]

顯示OSPF各區域鄰居的統計信息

display ospf [ process-id ] peer statistics

顯示OSPF請求列表

display ospf [ process-id ] request-queue [ interface-type interface-number ] [ neighbor-id ]

顯示OSPF重傳列表

display ospf [ process-id ] retrans-queue [ interface-type interface-number ] [ neighbor-id ]

顯示OSPF路由表的信息

display ospf [ process-id ] routing [ ip-address { mask-length | mask } ] [ interface interface-type interface-number ] [ nexthop nexthop-address ] [ verbose ] [ topology topo-name ]

顯示OSPF的統計信息

display ospf [ process-id ] statistics [ error | packet [ hello | interface-type interface-number ] ]

顯示OSPF虛連接信息

display ospf [ process-id ] vlink [ topology topo-name ]

顯示全局Router ID

display router id

顯示OSPF鄰居關係斷開的故障檢測信息

display ospf troubleshooting

清除OSPF的日誌信息

reset ospf [ process-id ] event-log [ lsa-flush | peer | spf ]

清除OSPF接收或發送Hello報文的日誌信息

reset ospf [ process-id ] event-log hello { received [ abnormal | dropped ] | sent [ abnormal | failed ] } [ slot slot-number ]

重啟OSPF進程

reset ospf [ process-id ] process [ graceful-restart ]

重新向OSPF引入外部路由

reset ospf [ process-id ] redistribution

清除OSPF的統計信息

reset ospf [ process-id ] statistics

清除OSPF鄰居關係斷開的故障檢測信息

reset ospf troubleshooting

 

1.20  OSPF典型配置舉例

1.20.1  OSPF基本功能配置舉例

1. 組網需求

·     所有的交換機都運行OSPF,並將整個自治係統劃分為3個區域。

·     其中Switch A和Switch B作為ABR來轉發區域之間的路由。

·     配置完成後,每台交換機都應學到AS內的到所有網段的路由。

2. 組網圖

圖1-10 OSPF基本功能配置組網圖

 

3. 配置步驟

(1)     配置各接口的IP地址(略)

(2)     配置OSPF基本配置

# 配置Switch A。

<SwitchA> system-view

[SwitchA] router id 10.2.1.1

[SwitchA] ospf

[SwitchA-ospf-1] area 0

[SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.0] quit

[SwitchA-ospf-1] area 1

[SwitchA-ospf-1-area-0.0.0.1] network 10.2.1.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.1] quit

[SwitchA-ospf-1] quit

# 配置Switch B。

<SwitchB> system-view

[SwitchB] router id 10.3.1.1

[SwitchB] ospf

[SwitchB-ospf-1] area 0

[SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[SwitchB-ospf-1-area-0.0.0.0] quit

[SwitchB-ospf-1] area 2

[SwitchB-ospf-1-area-0.0.0.2] network 10.3.1.0 0.0.0.255

[SwitchB-ospf-1-area-0.0.0.2] quit

[SwitchB-ospf-1] quit

# 配置Switch C。

<SwitchC> system-view

[SwitchC] router id 10.4.1.1

[SwitchC] ospf

[SwitchC-ospf-1] area 1

[SwitchC-ospf-1-area-0.0.0.1] network 10.2.1.0 0.0.0.255

[SwitchC-ospf-1-area-0.0.0.1] network 10.4.1.0 0.0.0.255

[SwitchC-ospf-1-area-0.0.0.1] quit

[SwitchC-ospf-1] quit

# 配置Switch D。

<SwitchD> system-view

[SwitchD] router id 10.5.1.1

[SwitchD] ospf

[SwitchD-ospf-1] area 2

[SwitchD-ospf-1-area-0.0.0.2] network 10.3.1.0 0.0.0.255

[SwitchD-ospf-1-area-0.0.0.2] network 10.5.1.0 0.0.0.255

[SwitchD-ospf-1-area-0.0.0.2] quit

[SwitchD-ospf-1] quit

4. 驗證配置

# 查看Switch A的OSPF鄰居。

[SwitchA] display ospf peer verbose

 

          OSPF Process 1 with Router ID 10.2.1.1

                  Neighbors

 

 Area 0.0.0.0 interface 10.1.1.1(Vlan-interface100)'s neighbors

 Router ID: 10.3.1.1         Address: 10.1.1.2         GR State: Normal

   State: Full  Mode: Nbr is master  Priority: 1

   DR: 10.1.1.1  BDR: 10.1.1.2  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 37  sec

   Neighbor is up for 06:03:59

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 5

   BFD status: Disabled

 

 Area 0.0.0.1 interface 10.2.1.1(Vlan-interface200)'s neighbors

 Router ID: 10.4.1.1         Address: 10.2.1.2         GR State: Normal

   State: Full  Mode: Nbr is master  Priority: 1

   DR: 10.2.1.1  BDR: 10.2.1.2  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 32  sec

   Neighbor is up for 06:03:12

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 5

   BFD status: Disabled

# 查看Switch A的OSPF路由信息。

[SwitchA] display ospf routing

 

          OSPF Process 1 with Router ID 10.2.1.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        1        Transit 10.2.1.1        10.2.1.1        0.0.0.1

 10.3.1.0/24        2        Inter   10.1.1.2        10.3.1.1        0.0.0.0

 10.4.1.0/24        2        Stub    10.2.1.2        10.4.1.1        0.0.0.1

 10.5.1.0/24        3        Inter   10.1.1.2        10.3.1.1        0.0.0.0

 10.1.1.0/24        1        Transit 10.1.1.1        10.2.1.1        0.0.0.0

 

 Total nets: 5

 Intra area: 3  Inter area: 2  ASE: 0  NSSA: 0

# 查看Switch D的OSPF路由信息。

[SwitchD] display ospf routing

 

          OSPF Process 1 with Router ID 10.5.1.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        3        Inter   10.3.1.1        10.3.1.1        0.0.0.2

 10.3.1.0/24        1        Transit 10.3.1.2        10.3.1.1        0.0.0.2

 10.4.1.0/24        4        Inter   10.3.1.1        10.3.1.1        0.0.0.2

 10.5.1.0/24        1        Stub    10.5.1.1        10.5.1.1        0.0.0.2

 10.1.1.0/24        2        Inter   10.3.1.1        10.3.1.1        0.0.0.2

 

 Total nets: 5

 Intra area: 2  Inter area: 3  ASE: 0  NSSA: 0

# 在Switch D上使用Ping進行測試連通性。

[SwitchD] ping 10.4.1.1

Ping 10.4.1.1 (10.4.1.1): 56 data bytes, press CTRL+C to break

56 bytes from 10.4.1.1: icmp_seq=0 ttl=253 time=1.549 ms

56 bytes from 10.4.1.1: icmp_seq=1 ttl=253 time=1.539 ms

56 bytes from 10.4.1.1: icmp_seq=2 ttl=253 time=0.779 ms

56 bytes from 10.4.1.1: icmp_seq=3 ttl=253 time=1.702 ms

56 bytes from 10.4.1.1: icmp_seq=4 ttl=253 time=1.471 ms

 

--- Ping statistics for 10.4.1.1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 0.779/1.408/1.702/0.323 ms

1.20.2  OSPF引入自治係統外部路由配置舉例

1. 組網需求

·     所有的交換機都運行OSPF,整個自治係統劃分為3個區域。

·     其中Switch A和Switch B作為ABR來轉發區域之間的路由。

·     在Switch C上配置為ASBR引入外部路由(靜態路由),且路由信息可正確的在AS內傳播。

2. 組網圖

圖1-11 OSPF引入自治係統外部路由配置組網圖

 

3. 配置步驟

(1)     配置各接口的IP地址(略)

(2)     配置OSPF(同前例“1.20.1  OSPF基本功能配置舉例

(3)     配置引入自治係統外部路由

# 在Switch C上配置一條到目的網段3.1.2.0/24的靜態路由。

<SwitchC> system-view

[SwitchC] ip route-static 3.1.2.1 24 10.4.1.2

# 在Switch C上配置OSPF引入靜態路由。

[SwitchC] ospf 1

[SwitchC-ospf-1] import-route static

4. 驗證配置

# 查看Switch D的ABR/ASBR信息。

<SwitchD> display ospf abr-asbr

 

          OSPF Process 1 with Router ID 10.5.1.1

                  Routing Table to ABR and ASBR

 

 

                Topology base (MTID 0)

 Type    Destination     Area            Cost     Nexthop         RtType

 Intra   10.3.1.1        0.0.0.2         10       10.3.1.1        ABR

 Inter   10.4.1.1        0.0.0.2         22       10.3.1.1        ASBR

# 查看Switch D的OSPF路由表。

<SwitchD> display ospf routing

 

          OSPF Process 1 with Router ID 10.5.1.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        22       Inter   10.3.1.1        10.3.1.1        0.0.0.2

 10.3.1.0/24        10       Transit 10.3.1.2        10.3.1.1        0.0.0.2

 10.4.1.0/24        25       Inter   10.3.1.1        10.3.1.1        0.0.0.2

 10.5.1.0/24        10       Stub    10.5.1.1        10.5.1.1        0.0.0.2

 10.1.1.0/24        12       Inter   10.3.1.1        10.3.1.1        0.0.0.2

 

 Routing for ASEs

 Destination        Cost     Type    Tag         NextHop         AdvRouter

 3.1.2.0/24         1        Type2   1           10.3.1.1        10.4.1.1

 

 Total nets: 6

 Intra area: 2  Inter area: 3  ASE: 1  NSSA: 0

1.20.3  OSPF發布ASBR聚合路由配置舉例

1. 組網需求

·     Switch A、Switch B和Switch C位於Area 2內。

·     Switch B上運行兩個OSPF進程:1和2。Switch B通過進程1和Switch A交換路由信息,通過進程2和Switch C交換路由信息。

·     在Switch A的接口Vlan-interface200上配置地址2.1.2.1/24、2.1.3.1/24、2.1.4.1/24,並在Switch B上配置OSPF進程2引入直連路由和OSPF進程1的路由,使得Switch C能夠學習到達2.1.2.0/24、2.1.3.0/24和2.1.4.0/24的路由。

·     為了減小Switch C的路由表規模,在Switch B上配置ASBR路由聚合,隻發布聚合後的路由2.0.0.0/8。

2. 組網圖

圖1-12 OSPF發布ASBR聚合路由配置組網圖

 

3. 配置步驟

(1)     配置接口的IP地址(略)

(2)     配置OSPF

# 在Switch A上啟動OSPF進程1。

<SwitchA> system-view

[SwitchA] router id 11.2.1.1

[SwitchA] interface vlan-interface 200

[SwitchA-Vlan-interface200] ip address 2.1.2.1 24

[SwitchA-Vlan-interface200] ip address 2.1.3.1 24 sub

[SwitchA-Vlan-interface200] ip address 2.1.4.1 24 sub

[SwitchA-Vlan-interface200] quit

[SwitchA] ospf 1

[SwitchA-ospf-1] area 2

[SwitchA-ospf-1-area-0.0.0.2] network 1.1.1.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.2] network 2.1.0.0 0.0.255.255

[SwitchA-ospf-1-area-0.0.0.2] quit

[SwitchA-ospf-1] quit

# 在Switch B上啟動兩個OSPF進程,進程號分別為1和2。

<SwitchB> system-view

[SwitchB] router id 11.2.1.2

[SwitchB] ospf 1

[SwitchB-ospf-1] area 2

[SwitchB-ospf-1-area-0.0.0.2] network 1.1.1.0 0.0.0.255

[SwitchB-ospf-1-area-0.0.0.2] quit

[SwitchB-ospf-1] quit

[SwitchB] ospf 2

[SwitchB-ospf-2] area 2

[SwitchB-ospf-2-area-0.0.0.2] network 3.1.1.0 0.0.0.255

[SwitchB-ospf-2-area-0.0.0.2] quit

[SwitchB-ospf-2] quit

# 在Switch C上啟動OSPF進程2。

<SwitchC> system-view

[SwitchC] router id 11.1.1.2

[SwitchC] ospf 2

[SwitchC-ospf-2] area 2

[SwitchC-ospf-2-area-0.0.0.2] network 3.1.1.0 0.0.0.255

[SwitchC-ospf-2-area-0.0.0.2] network 4.1.0.0 0.0.255.255

[SwitchC-ospf-2-area-0.0.0.2] quit

[SwitchC-ospf-2] quit

(3)     配置OSPF引入外部路由

# 在Switch B上配置OSPF進程2引入直連路由和OSPF進程1的路由。

[SwitchB] ospf 2

[SwitchB-ospf-2]import-route direct

[SwitchB-ospf-2]import-route ospf 1

# 查看路由引入後Switch C的路由表信息。

[SwitchC] display ip routing-table

 

Destinations : 28       Routes : 28

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

1.1.1.0/24         O_ASE2  150 1           3.1.1.1         Vlan300

2.1.2.0/24         O_ASE2  150 1           3.1.1.1         Vlan300

2.1.3.0/24         O_ASE2  150 1           3.1.1.1         Vlan300

2.1.4.0/24         O_ASE2  150 1           3.1.1.1         Vlan300

3.1.1.0/24         Direct  0   0           3.1.1.2         Vlan300

3.1.1.0/32         Direct  0   0           3.1.1.2         Vlan300

3.1.1.2/32         Direct  0   0           127.0.0.1       InLoop0

3.1.1.255/32       Direct  0   0           3.1.1.2         Vlan300

4.1.1.0/24         Direct  0   0           4.1.1.1         Loop101

4.1.1.0/32         Direct  0   0           4.1.1.1         Loop101

4.1.1.1/32         Direct  0   0           127.0.0.1       InLoop0

4.1.1.255/32       Direct  0   0           4.1.1.1         Loop101

4.1.2.0/24         Direct  0   0           4.1.2.1         Loop102

4.1.2.0/32         Direct  0   0           4.1.2.1         Loop102

4.1.2.1/32         Direct  0   0           127.0.0.1       InLoop0

4.1.2.255/32       Direct  0   0           4.1.2.1         Loop102

4.1.3.0/24         Direct  0   0           4.1.3.1         Loop103

4.1.3.0/32         Direct  0   0           4.1.3.1         Loop103

4.1.3.1/32         Direct  0   0           127.0.0.1       InLoop0

4.1.3.255/32       Direct  0   0           4.1.3.1         Loop103

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0

224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

(4)     配置OSPF發布ASBR聚合路由

# 在Switch B上配置OSPF進程2發布ASBR聚合路由2.0.0.0/8。

[SwitchB] ospf 2

[SwitchB-ospf-2] asbr-summary 2.0.0.0 8

[SwitchB-ospf-2] quit

# 查看路由聚合後Switch C的路由表信息。

[SwitchC]display ip routing-table

 

Destinations : 26       Routes : 26

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

1.1.1.0/24         O_ASE2  150 1           3.1.1.1         Vlan300

2.0.0.0/8          O_ASE2  150 1           3.1.1.1         Vlan300

3.1.1.0/24         Direct  0   0           3.1.1.2         Vlan300

3.1.1.0/32         Direct  0   0           3.1.1.2         Vlan300

3.1.1.2/32         Direct  0   0           127.0.0.1       InLoop0

3.1.1.255/32       Direct  0   0           3.1.1.2         Vlan300

4.1.1.0/24         Direct  0   0           4.1.1.1         Loop101

4.1.1.0/32         Direct  0   0           4.1.1.1         Loop101

4.1.1.1/32         Direct  0   0           127.0.0.1       InLoop0

4.1.1.255/32       Direct  0   0           4.1.1.1         Loop101

4.1.2.0/24         Direct  0   0           4.1.2.1         Loop102

4.1.2.0/32         Direct  0   0           4.1.2.1         Loop102

4.1.2.1/32         Direct  0   0           127.0.0.1       InLoop0

4.1.2.255/32       Direct  0   0           4.1.2.1         Loop102

4.1.3.0/24         Direct  0   0           4.1.3.1         Loop103

4.1.3.0/32         Direct  0   0           4.1.3.1         Loop103

4.1.3.1/32         Direct  0   0           127.0.0.1       InLoop0

4.1.3.255/32       Direct  0   0           4.1.3.1         Loop103

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0

224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

1.20.4  OSPF Stub區域配置舉例

1. 組網需求

·     所有的交換機都運行OSPF,整個自治係統劃分為3個區域。

·     其中Switch A和Switch B作為ABR來轉發區域之間的路由,Switch D作為ASBR引入了外部路由(靜態路由)。

·     要求將Area1配置為Stub區域,減少通告到此區域內的LSA數量,但不影響路由的可達性。

2. 組網圖

圖1-13 OSPF Stub區域配置組網圖

 

3. 配置步驟

(1)     配置接口的IP地址(略)

(2)     配置OSPF(同前例“1.20.1  OSPF基本功能配置舉例

(3)     配置Switch D引入靜態路由

<SwitchD> system-view

[SwitchD] ip route-static 3.1.2.1 24 10.5.1.2

[SwitchD] ospf

[SwitchD-ospf-1] import-route static

[SwitchD-ospf-1] quit

# 查看Switch C的ABR/ASBR信息。

<SwitchC> display ospf abr-asbr

 

          OSPF Process 1 with Router ID 10.4.1.1

                  Routing Table to ABR and ASBR

 

 

                Topology base (MTID 0)

 Type        Destination     Area            Cost  Nexthop         RtType

 Intra       10.2.1.1        0.0.0.1         3     10.2.1.1        ABR

 Inter       10.5.1.1        0.0.0.1         7     10.2.1.1        ASBR

# 查看Switch C的OSPF路由表,可以看到路由表中存在AS外部的路由。

<SwitchC> display ospf routing

 

          OSPF Process 1 with Router ID 10.4.1.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        3        Transit 0.0.0.0         10.2.1.1        0.0.0.1

 10.3.1.0/24        7        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.4.1.0/24        3        Stub    10.4.1.1        10.4.1.1        0.0.0.1

 10.5.1.0/24        17       Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.1.1.0/24        5        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 

 Routing for ASEs

 Destination        Cost     Type    Tag         NextHop         AdvRouter

 3.1.2.0/24         1        Type2   1           10.2.1.1        10.5.1.1

 

 Total nets: 6

 Intra area: 2  Inter area: 3  ASE: 1  NSSA: 0

(4)     配置Area1為Stub區域

# 配置Switch A。

<SwitchA> system-view

[SwitchA] ospf

[SwitchA-ospf-1] area 1

[SwitchA-ospf-1-area-0.0.0.1] stub

[SwitchA-ospf-1-area-0.0.0.1] quit

[SwitchA-ospf-1] quit

# 配置Switch C。

<SwitchC> system-view

[SwitchC] ospf

[SwitchC-ospf-1] area 1

[SwitchC-ospf-1-area-0.0.0.1] stub

[SwitchC-ospf-1-area-0.0.0.1] quit

[SwitchC-ospf-1] quit

# 查看Switch C的OSPF路由表,已經看不到AS外部的路由,取而代之的是一條缺省路由。

[SwitchC] display ospf routing

 

          OSPF Process 1 with Router ID 10.4.1.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 0.0.0.0/0          4        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.2.1.0/24        3        Transit 0.0.0.0         10.2.1.1        0.0.0.1

 10.3.1.0/24        7        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.4.1.0/24        3        Stub    10.4.1.1        10.4.1.1        0.0.0.1

 10.5.1.0/24        17       Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.1.1.0/24        5        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 

 Total nets: 6

 Intra area: 2  Inter area: 4  ASE: 0  NSSA: 0

# 配置Area1為Totally Stub區域。

[SwitchA] ospf

[SwitchA-ospf-1] area 1

[SwitchA-ospf-1-area-0.0.0.1] stub no-summary

[SwitchA-ospf-1-area-0.0.0.1] quit

[SwitchA-ospf-1] quit

# 查看Switch C的OSPF路由表,可以看到路由表項進一步減少,隻保留了一條通往區域外部的缺省路由。

[SwitchC] display ospf routing

 

          OSPF Process 1 with Router ID 10.4.1.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 0.0.0.0/0          4        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.2.1.0/24        3        Transit 0.0.0.0         10.4.1.1        0.0.0.1

 10.4.1.0/24        3        Stub    10.4.1.1        10.4.1.1        0.0.0.1

 

 Total nets: 3

 Intra area: 2  Inter area: 1  ASE: 0  NSSA: 0

1.20.5  OSPF NSSA區域配置舉例

1. 組網需求

·     所有的交換機都運行OSPF,整個自治係統劃分為3個區域。

·     其中Switch A和Switch B作為ABR來轉發區域之間的路由。

·     要求將Area1配置為NSSA區域,同時將Switch C配置為ASBR引入外部路由(靜態路由),且路由信息可正確的在AS內傳播。

2. 組網圖

圖1-14 OSPF NSSA區域配置組網圖

 

3. 配置步驟

(1)     配置各接口的IP地址(略)

(2)     配置OSPF(同前例“1.20.1  OSPF基本功能配置舉例

(3)     配置Area1區域為NSSA區域

# 配置Switch A。

<SwitchA> system-view

[SwitchA] ospf

[SwitchA-ospf-1] area 1

[SwitchA-ospf-1-area-0.0.0.1] nssa

[SwitchA-ospf-1-area-0.0.0.0] quit

[SwitchA-ospf-1] quit

# 配置Switch C。

<SwitchC> system-view

[SwitchC] ospf

[SwitchC-ospf-1] area 1

[SwitchC-ospf-1-area-0.0.0.1] nssa

[SwitchC-ospf-1-area-0.0.0.1] quit

[SwitchC-ospf-1] quit

# 查看Switch C的OSPF路由表。

[SwitchC] display ospf routing

 

          OSPF Process 1 with Router ID 10.4.1.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        3        Transit 10.2.1.2        10.4.1.1        0.0.0.1

 10.3.1.0/24        7        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.4.1.0/24        3        Stub    10.4.1.1        10.4.1.1        0.0.0.1

 10.5.1.0/24        17       Inter   10.2.1.1        10.2.1.1        0.0.0.1

 10.1.1.0/24        5        Inter   10.2.1.1        10.2.1.1        0.0.0.1

 

 Total nets: 5

 Intra area: 2  Inter area: 3  ASE: 0  NSSA: 0

(4)     配置Switch C引入靜態路由

[SwitchC] ip route-static 3.1.3.1 24 10.4.1.2

[SwitchC] ospf

[SwitchC-ospf-1] import-route static

[SwitchC-ospf-1] quit

# 查看Switch D的OSPF路由表,可以看到NSSA區域引入了一條AS外部路由。

<SwitchD> display ospf routing

 

                Topology base (MTID 0)

 

          OSPF Process 1 with Router ID 10.5.1.1

                   Routing Table

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        22       Inter   10.3.1.1        10.3.1.1        0.0.0.2

 10.3.1.0/24        10       Transit 10.3.1.2        10.3.1.1        0.0.0.2

 10.4.1.0/24        25       Inter   10.3.1.1        10.3.1.1        0.0.0.2

 10.5.1.0/24        10       Stub    10.5.1.1        10.5.1.1        0.0.0.2

 10.1.1.0/24        12       Inter   10.3.1.1        10.3.1.1        0.0.0.2

 

 Routing for ASEs

 Destination        Cost     Type    Tag         NextHop         AdvRouter

 3.1.3.0/24         1        Type2   1           10.3.1.1        10.2.1.1

 

 Total nets: 6

 Intra area: 2  Inter area: 3  ASE: 1  NSSA: 0

1.20.6  OSPF的DR選擇配置舉例

1. 組網需求

·     Switch A、Switch B、Switch C、Switch D在同一網段,運行OSPF協議後Switch D為DR,Switch C為BDR;

·     改變交換機接口的DR優先級使Switch A成為DR,Switch C成為BDR。

圖1-15 OSPF的DR選擇配置組網圖

 

2. 配置步驟

(1)     配置各接口的IP地址(略)

(2)     分別在Switch A、Switch B、Switch C和Switch D上配置OSPF基本功能(請參見“1.20.1  OSPF基本功能配置舉例”)

(3)     運行OSPF後Switch D為DR,可在Switch A上通過display ospf peer verbose命令查看其鄰居信息。

[SwitchA] display ospf peer verbose

 

          OSPF Process 1 with Router ID 1.1.1.1

                  Neighbors

 

 Area 0.0.0.0 interface 192.168.1.1(Vlan-interface1)'s neighbors

 Router ID: 2.2.2.2          Address: 192.168.1.2      GR State: Normal

   State: 2-Way  Mode: None  Priority: 1

   DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 38  sec

   Neighbor is up for 00:01:31

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

 

 Router ID: 3.3.3.3          Address: 192.168.1.3      GR State: Normal

   State: Full  Mode: Nbr is master  Priority: 1

   DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 31  sec

   Neighbor is up for 00:01:28

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

 

 Router ID: 4.4.4.4          Address: 192.168.1.4      GR State: Normal

   State: Full  Mode: Nbr is master  Priority: 1

   DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 31  sec

   Neighbor is up for 00:01:28

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

可以看到Switch D為DR,Switch C為BDR。

(4)     配置接口的DR優先級

# 配置Switch A。

[SwitchA] interface vlan-interface 1

[SwitchA-Vlan-interface1] ospf dr-priority 100

[SwitchA-Vlan-interface1] quit

# 配置Switch B。

[SwitchB] interface vlan-interface 1

[SwitchB-Vlan-interface1] ospf dr-priority 0

[SwitchB-Vlan-interface1] quit

# 配置Switch C。

[SwitchC] interface vlan-interface 1

[SwitchC-Vlan-interface1] ospf dr-priority 2

[SwitchC-Vlan-interface1] quit

# 查看Switch D的鄰居信息。

<SwitchD> display ospf peer verbose

 

          OSPF Process 1 with Router ID 4.4.4.4

                  Neighbors

 

 Area 0.0.0.0 interface 192.168.1.4(Vlan-interface1)'s neighbors

 Router ID: 1.1.1.1      Address: 192.168.1.1      GR State: Normal

   State: Full  Mode:Nbr is  slave  Priority: 100

   DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 31  sec

   Neighbor is up for 00:11:17

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

 

 Router ID: 2.2.2.2      Address: 192.168.1.2      GR State: Normal

   State: Full  Mode:Nbr is  slave  Priority: 0

   DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 35  sec

   Neighbor is up for 00:11:19

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

 

 Router ID: 3.3.3.3      Address: 192.168.1.3      GR State: Normal

   State: Full  Mode:Nbr is  slave  Priority: 2

   DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 33  sec

   Neighbor is up for 00:11:15

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

可以看到,網絡中DR/BDR並沒有改變。

說明

網絡中DR/BDR已經存在的情況下,接口上的路由器優先級的配置並不會立即生效。

 

(5)     同時重啟Switch A、Switch B、Switch C和Switch D上的OSPF進程

# 重啟Switch A的進程。

<SwitchA> reset ospf 1 process

Reset OSPF process? [Y/N]:y

# 重啟Switch B的進程。

<SwitchB> reset ospf 1 process

Reset OSPF process? [Y/N]:y

# 重啟Switch C的進程。

<SwitchC> reset ospf 1 process

Reset OSPF process? [Y/N]:y

# 重啟Switch D的進程。

<SwitchD> reset ospf 1 process

Reset OSPF process? [Y/N]:y

# 查看Switch D的鄰居信息。

<SwitchD> display ospf peer verbose

 

          OSPF Process 1 with Router ID 4.4.4.4

                  Neighbors

 

 Area 0.0.0.0 interface 192.168.1.4(Vlan-interface1)'s neighbors

 Router ID: 1.1.1.1          Address: 192.168.1.1      GR State: Normal

   State: Full  Mode: Nbr is slave  Priority: 100

   DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 39  sec

   Neighbor is up for 00:01:40

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

 

 Router ID: 2.2.2.2          Address: 192.168.1.2      GR State: Normal

   State: 2-Way  Mode: None  Priority: 0

   DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 35  sec

   Neighbor is up for 00:01:44

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

 

 Router ID: 3.3.3.3          Address: 192.168.1.3      GR State: Normal

   State: Full  Mode: Nbr is slave  Priority: 2

   DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0

   Options is 0x02 (-|-|-|-|-|-|E|-)

   Dead timer due in 39  sec

   Neighbor is up for 00:01:41

   Authentication Sequence: [ 0 ]

   Neighbor state change count: 6

   BFD status: Disabled

可以看到Switch A成為DR,Switch C為BDR。

說明

·     如果鄰居的狀態是Full,這說明它和鄰居之間形成了鄰接關係;

·     如果鄰居的狀態是2-Way,則說明它們都不是DR或BDR,兩者之間不需要交換LSA。

 

# 查看OSPF接口的狀態。

<SwitchA> display ospf interface

 

          OSPF Process 1 with Router ID 1.1.1.1

                  Interfaces

 

 Area: 0.0.0.0

 IP Address      Type      State   Cost  Pri   DR             BDR

 192.168.1.1     Broadcast DR      1     100   192.168.1.1    192.168.1.3

 

<SwitchB> display ospf interface

 

          OSPF Process 1 with Router ID 2.2.2.2

                  Interfaces

 

 Area: 0.0.0.0

 IP Address      Type      State    Cost  Pri   DR            BDR

 192.168.1.2     Broadcast DROther  1     0     192.168.1.1   192.168.1.3

說明

如果OSPF接口的狀態是DROther,則說明它既不是DR,也不是BDR。

 

1.20.7  OSPF虛連接配置舉例

1. 組網需求

·     Area 2與Area 0沒有直接相連。Area 1被用作傳輸區域(Transit Area)來連接Area 2和Area 0。Switch B和Switch C之間配置一條虛連接。

·     配置完成後,Switch B能夠學到Area 2中的路由。

2. 組網圖

圖1-16 OSPF虛鏈路配置組網圖

 

3. 配置步驟

(1)     配置各接口的IP地址(略)

(2)     配置OSPF基本功能

# 配置Switch A。

<SwitchA> system-view

[SwitchA] ospf 1 router-id 1.1.1.1

[SwitchA-ospf-1] area 0

[SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.0] quit

[SwitchA-ospf-1] quit

# 配置Switch B。

<SwitchB> system-view

[SwitchB] ospf 1 router-id 2.2.2.2

[SwitchB-ospf-1] area 0

[SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[SwitchB-ospf-1-area-0.0.0.0] quit

[SwitchB-ospf-1] area 1

[SwitchB–ospf-1-area-0.0.0.1] network 10.2.1.0 0.0.0.255

[SwitchB–ospf-1-area-0.0.0.1] quit

[SwitchB-ospf-1] quit

# 配置Switch C。

<SwitchC> system-view

[SwitchC] ospf 1 router-id 3.3.3.3

[SwitchC-ospf-1] area 1

[SwitchC-ospf-1-area-0.0.0.1] network 10.2.1.0 0.0.0.255

[SwitchC-ospf-1-area-0.0.0.1] quit

[SwitchC-ospf-1] area 2

[SwitchC–ospf-1-area-0.0.0.2] network 10.3.1.0 0.0.0.255

[SwitchC–ospf-1-area-0.0.0.2] quit

[SwitchC-ospf-1] quit

# 配置Switch D。

<SwitchD> system-view

[SwitchD] ospf 1 router-id 4.4.4.4

[SwitchD-ospf-1] area 2

[SwitchD-ospf-1-area-0.0.0.2] network 10.3.1.0 0.0.0.255

[SwitchD-ospf-1-area-0.0.0.2] quit

[SwitchD-ospf-1] quit

# 查看Switch B的OSPF路由表。

[SwitchB] display ospf routing

 

          OSPF Process 1 with Router ID 2.2.2.2

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        2        Transit 10.2.1.1        3.3.3.3         0.0.0.1

 10.1.1.0/24        2        Transit 10.1.1.2        2.2.2.2         0.0.0.0

 Total nets: 2

 Intra area: 2  Inter area: 0  ASE: 0  NSSA: 0

說明

由於Area 0沒有與Area 2直接相連,所以Switch B的路由表中沒有Area 2的路由。

 

(3)     配置虛連接

# 配置Switch B。

[SwitchB] ospf

[SwitchB-ospf-1] area 1

[SwitchB-ospf-1-area-0.0.0.1] vlink-peer 3.3.3.3

[SwitchB-ospf-1-area-0.0.0.1] quit

[SwitchB-ospf-1] quit

# 配置Switch C。

[SwitchC] ospf 1

[SwitchC-ospf-1] area 1

[SwitchC-ospf-1-area-0.0.0.1] vlink-peer 2.2.2.2

[SwitchC-ospf-1-area-0.0.0.1] quit

[SwitchC-ospf-1] quit

# 查看Switch B的OSPF路由表。

[SwitchB] display ospf routing

 

          OSPF Process 1 with Router ID 2.2.2.2

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 10.2.1.0/24        2        Transit 10.2.1.1        3.3.3.3         0.0.0.1

 10.3.1.0/24        5        Inter   10.2.1.2        3.3.3.3         0.0.0.0

 10.1.1.0/24        2        Transit 10.1.1.2        2.2.2.2         0.0.0.0

 

 Total nets: 3

 Intra area: 2  Inter area: 1  ASE: 0  NSSA: 0

可以看到,Switch B已經學到了Area 2的路由10.3.1.0/24。

1.20.8  OSPF GR配置舉例

1. 組網需求

·     Switch A、Switch B和Switch C既屬於同一自治係統,也屬於同一OSPF域,通過OSPF協議實現網絡互連,並提供GR機製。

·     Switch A作為非IETF標準GR Restarter,Switch B和Switch C作為GR Helper並且通過GR機製與Switch A保持帶外同步。

2. 組網圖

圖1-17 OSPF GR配置組網圖

 

3. 配置步驟

(1)     配置各接口的IP地址(略)

(2)     配置OSPF基本功能

# 配置Switch A。

<SwitchA> system-view

[SwitchA] router id 1.1.1.1

[SwitchA] ospf 100

[SwitchA-ospf-100] area 0

[SwitchA-ospf-100-area-0.0.0.0] network 192.1.1.0 0.0.0.255

[SwitchA-ospf-100-area-0.0.0.0] quit

[SwitchA-ospf-1] quit

# 配置Switch B。

<SwitchB> system-view

[SwitchB] router id 2.2.2.2

[SwitchB] ospf 100

[SwitchB-ospf-100] area 0

[SwitchB-ospf-100-area-0.0.0.0] network 192.1.1.0 0.0.0.255

[SwitchB-ospf-100-area-0.0.0.0] quit

[SwitchB-ospf-1] quit

# 配置Switch C。

<SwitchC> system-view

[SwitchC] router id 3.3.3.3

[SwitchC] ospf 100

[SwitchC-ospf-100] area 0

[SwitchC-ospf-100-area-0.0.0.0] network 192.1.1.0 0.0.0.255

[SwitchC-ospf-100-area-0.0.0.0] quit

[SwitchC-ospf-1] quit

(3)     配置OSPF GR

# 配置Switch A作為非IETF標準GR Restarter,即使能OSPF進程100的本地鏈路信令能力、OSPF帶外同步能力和非IETF標準GR能力。

[SwitchA-ospf-100] enable link-local-signaling

[SwitchA-ospf-100] enable out-of-band-resynchronization

[SwitchA-ospf-100] graceful-restart

[SwitchA-ospf-100] quit

# 配置Switch B作為GR Helper,即使能OSPF進程100的本地鏈路信令能力和OSPF帶外同步能力。

[SwitchB-ospf-100] enable link-local-signaling

[SwitchB-ospf-100] enable out-of-band-resynchronization

# 配置Switch C作為GR Helper,即使能OSPF進程100的本地鏈路信令能力和OSPF帶外同步能力。

[SwitchC-ospf-100] enable link-local-signaling

[SwitchC-ospf-100] enable out-of-band-resynchronization

4. 驗證配置

# 打開Switch A的OSPF平滑啟動事件調試信息開關。在Switch A上以GR方式重啟OSPF進程。

<SwitchA> debugging ospf event graceful-restart

<SwitchA> terminal monitor

<SwitchA> terminal logging level 7

<SwitchA> reset ospf 100 process graceful-restart

Reset OSPF process? [Y/N]:y

%Oct 21 15:29:28:727 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.2(Vlan-interface100) from Full to Down.

%Oct 21 15:29:28:729 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.3(Vlan-interface100) from Full to Down.

*Oct 21 15:29:28:735 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 nonstandard GR Started for OSPF Router

*Oct 21 15:29:28:735 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 created GR wait timer,timeout interval is 40(s).

*Oct 21 15:29:28:735 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 created GR Interval timer,timeout interval is 120(s).

*Oct 21 15:29:28:758 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 created OOB Progress timer for neighbor 192.1.1.3.

*Oct 21 15:29:28:766 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 created OOB Progress timer for neighbor 192.1.1.2.

%Oct 21 15:29:29:902 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.2(Vlan-interface100) from Loading to Full.

*Oct 21 15:29:29:902 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 deleted OOB Progress timer for neighbor 192.1.1.2.

%Oct 21 15:29:30:897 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.3(Vlan-interface100) from Loading to Full.

*Oct 21 15:29:30:897 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 deleted OOB Progress timer for neighbor 192.1.1.3.

*Oct 21 15:29:30:911 2019 SwitchA OSPF/7/DEBUG:

OSPF GR: Process 100 Exit Restart,Reason : DR or BDR change,for neighbor : 192.1.1.3.

*Oct 21 15:29:30:911 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 deleted GR Interval timer.

*Oct 21 15:29:30:912 2019 SwitchA OSPF/7/DEBUG:

OSPF 100 deleted GR wait timer.

%Oct 21 15:29:30:920 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.2(Vlan-interface100) from Full to Down.

%Oct 21 15:29:30:921 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.3(Vlan-interface100) from Full to Down.

%Oct 21 15:29:33:815 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.3(Vlan-interface100) from Loading to Full.

%Oct 21 15:29:35:578 2019 SwitchA OSPF/5/OSPF_NBR_CHG: OSPF 100 Neighbor 192.1.1.2(Vlan-interface100) from Loading to Full.

從上麵的信息可以看出Switch A完成了GR。

1.20.9  OSPF NSR配置舉例

1. 組網需求

Switch S、Switch A、Switch B屬於同一OSPF區域,通過OSPF協議實現網絡互連。要求對Switch S進行主備倒換時,Switch A和Switch B到Switch S的鄰居沒有中斷,Switch A到Switch B的流量沒有中斷。

2. 組網圖

圖1-18 OSPF NSR配置組網圖

 

3. 配置步驟

(1)     配置各路由器接口的IP地址和OSPF協議

請按照上麵組網圖配置各接口的IP地址和子網掩碼,具體配置過程略。

配置各交換機之間采用OSPF協議進行互連,確保Switch S、Switch A和Switch B之間能夠在網絡層互通,並且各交換機之間能夠借助OSPF協議實現動態路由更新。具體配置過程略。

(2)     配置OSPF NSR

# 使能Switch S的OSPF NSR功能。

<SwitchS> system-view

[SwitchS] ospf 100

[SwitchS-ospf-100] non-stop-routing

[SwitchS-ospf-100] quit

4. 驗證配置

# Switch S進行主備倒換。

[SwitchS] placement reoptimize

Predicted changes to the placement

Service Group(instance name)                      Cur location  New location

----------------------------------------------------------------------------

rib                                               0/0           0/0

staticroute                                       0/0           0/0

ospf                                              0/0           1/0

Continue? [y/n]:y

Re-optimization of the placement start. You will be notified on completion.

Re-optimization of the placement complete. Use 'display placement' to view the new placement.

# 查看Switch A上OSPF協議的鄰居和路由。

<SwitchA> display ospf peer

 

          OSPF Process 1 with Router ID 2.2.2.1

               Neighbor Brief Information

 

 Area: 0.0.0.0

 Router ID       Address         Pri Dead-Time  State             Interface

 3.3.3.1         12.12.12.2      1   37         Full/BDR          Vlan100

<SwitchA> display ospf routing

 

          OSPF Process 1 with Router ID 2.2.2.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 44.44.44.44/32     2        Stub    12.12.12.2      4.4.4.1         0.0.0.0

 14.14.14.0/24      2        Transit 12.12.12.2      4.4.4.1         0.0.0.0

 22.22.22.22/32     0        Stub    22.22.22.22     2.2.2.1         0.0.0.0

 12.12.12.0/24      1        Transit 12.12.12.1      2.2.2.1         0.0.0.0

 

 Total nets: 4

 Intra area: 4  Inter area: 0  ASE: 0  NSSA: 0

# 查看Switch B上OSPF協議的鄰居和路由。

<SwitchB> display ospf peer

 

          OSPF Process 1 with Router ID 4.4.4.1

               Neighbor Brief Information

 

 Area: 0.0.0.0

 Router ID       Address         Pri Dead-Time  State             Interface

 3.3.3.1         14.14.14.2      1   39         Full/BDR          Vlan200

<SwitchB> display ospf routing

 

          OSPF Process 1 with Router ID 4.4.4.1

                   Routing Table

 

                Topology base (MTID 0)

 

 Routing for network

 Destination        Cost     Type    NextHop         AdvRouter       Area

 44.44.44.44/32     0        Stub    44.44.44.44     4.4.4.1         0.0.0.0

 14.14.14.0/24      1        Transit 14.14.14.1      4.4.4.1         0.0.0.0

 22.22.22.22/32     2        Stub    14.14.14.2      2.2.2.1         0.0.0.0

 12.12.12.0/24      2        Transit 14.14.14.2      2.2.2.1         0.0.0.0

 

 Total nets: 4

 Intra area: 4  Inter area: 0  ASE: 0  NSSA: 0

通過上麵信息可以看出在Switch S發生主備倒換的時候,Switch A和Switch B的鄰居和路由信息保持不變,從Switch A到Switch B的流量轉發沒有受到主備倒換的影響。

1.20.10  OSPF與BFD聯動配置舉例

1. 組網需求

·     Switch A、Switch B和Switch C上運行OSPF,網絡層相互可達。

·     當Switch A和Switch B通過L2 Switch通信的鏈路出現故障時BFD能夠快速感知通告OSPF協議,並且切換到Switch C進行通信。

2. 組網圖

圖1-19 OSPF與BFD聯動配置組網圖

 

設備

接口

IP地址

設備

接口

IP地址

Switch A

Vlan-int10

192.168.0.102/24

Switch B

Vlan-int10

192.168.0.100/24

 

Vlan-int11

10.1.1.102/24

 

Vlan-int13

13.1.1.1/24

 

Loop0

121.1.1.1/32

 

Loop0

120.1.1.1/32

Switch C

Vlan-int11

10.1.1.100/24

 

 

 

 

Vlan-int13

13.1.1.2/24

 

 

 

 

3. 配置步驟

(1)     配置各接口的IP地址(略)

(2)     配置OSPF基本功能

# 配置Switch A。

<SwitchA> system-view

[SwitchA] ospf

[SwitchA-ospf-1] area 0

[SwitchA-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.0] network 121.1.1.1 0.0.0.0

[SwitchA-ospf-1-area-0.0.0.0] quit

[SwitchA-ospf-1] quit

# 配置Switch B。

<SwitchB> system-view

[SwitchB] ospf

[SwitchB-ospf-1] area 0

[SwitchB-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255

[SwitchB-ospf-1-area-0.0.0.0] network 13.1.1.0 0.0.0.255

[SwitchB-ospf-1-area-0.0.0.0] network 120.1.1.1 0.0.0.0

[SwitchB-ospf-1-area-0.0.0.0] quit

[SwitchB-ospf-1] quit

# 配置Switch C。

<SwitchC> system-view

[SwitchC] ospf

[SwitchC-ospf-1] area 0

[SwitchC-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[SwitchC-ospf-1-area-0.0.0.0] network 13.1.1.0 0.0.0.255

[SwitchC-ospf-1-area-0.0.0.0] quit

[SwitchC-ospf-1] quit

(3)     配置BFD功能

# 在Switch A上使能BFD檢測功能,並配置BFD參數。

[SwitchA] bfd session init-mode active

[SwitchA] interface vlan-interface 10

[SwitchA-Vlan-interface10] ospf bfd enable

[SwitchA-Vlan-interface10] bfd min-transmit-interval 500

[SwitchA-Vlan-interface10] bfd min-receive-interval 500

[SwitchA-Vlan-interface10] bfd detect-multiplier 7

[SwitchA-Vlan-interface10] quit

# 在Switch B上使能BFD檢測功能,並配置BFD參數。

[SwitchB] bfd session init-mode active

[SwitchB] interface vlan-interface 10

[SwitchB-Vlan-interface10] ospf bfd enable

[SwitchB-Vlan-interface10] bfd min-transmit-interval 500

[SwitchB-Vlan-interface10] bfd min-receive-interval 500

[SwitchB-Vlan-interface10] bfd detect-multiplier 6

[SwitchB-Vlan-interface10] quit

4. 驗證配置

下麵以Switch A為例,Switch B和Switch A類似,不再贅述。

# 顯示Switch A的BFD信息。

<SwitchA> display bfd session

 

 Total sessions: 1     Up sessions: 1     Init mode: Active

 

 IPv4 session working in control packet mode:

 

 LD/RD            SourceAddr      DestAddr        State  Holdtime    Interface

 3/1              192.168.0.102   192.168.0.100   Up     1700ms      Vlan10

# 在Switch A上查看120.1.1.1/32的路由信息,可以看出Switch A和Switch B是通過L2 Switch進行通信的。

<SwitchA> display ip routing-table 120.1.1.1 verbose

 

Summary count : 1

 

Destination: 120.1.1.1/32

   Protocol: O_INTRA

 Process ID: 1

  SubProtID: 0x1                    Age: 04h20m37s

       Cost: 1               Preference: 10

      IpPre: N/A             QosLocalID: N/A

        Tag: 0                    State: Active Adv

  OrigTblID: 0x0                OrigVrf: default-vrf

    TableID: 0x2                 OrigAs: 0

      NibID: 0x26000002          LastAs: 0

     AttrID: 0xffffffff        Neighbor: 0.0.0.0

      Flags: 0x1008c        OrigNextHop: 192.168.0.100

      Label: NULL           RealNextHop: 192.168.0.100

    BkLabel: NULL             BkNextHop: N/A

    SRLabel: NULL             BkSRLabel: NULL

   SIDIndex: NULL               InLabel: NULL

  Tunnel ID: Invalid          Interface: Vlan-interface10

BkTunnel ID: Invalid        BkInterface: N/A

   FtnIndex: 0x0           TrafficIndex: N/A

  Connector: N/A                 PathID: 0x0

   LinkCost: 0               MicroSegID: 0

RealFIRType: Normal           RealThres: 0

當Switch A和Switch B通過L2 Switch通信的鏈路出現故障時:

# 在Switch A上查看120.1.1.1/32的路由信息,可以看出Switch A和Switch B已經切換到Switch C進行通信。

<SwitchA> display ip routing-table 120.1.1.1 verbose

 

Summary count : 1

 

Destination: 120.1.1.1/32

   Protocol: O_INTRA

 Process ID: 1

  SubProtID: 0x1                    Age: 04h20m37s

       Cost: 2               Preference: 10

      IpPre: N/A             QosLocalID: N/A

        Tag: 0                    State: Active Adv

  OrigTblID: 0x0                OrigVrf: default-vrf

    TableID: 0x2                 OrigAs: 0

      NibID: 0x26000002          LastAs: 0

     AttrID: 0xffffffff        Neighbor: 0.0.0.0

      Flags: 0x1008c        OrigNextHop: 10.1.1.100

      Label: NULL           RealNextHop: 10.1.1.100

    BkLabel: NULL            B kNextHop: N/A

    SRLabel: NULL             BkSRLabel: NULL

   SIDIndex: NULL               InLabel: NULL

  Tunnel ID: Invalid          Interface: Vlan-interface11

BkTunnel ID: Invalid        BkInterface: N/A

   FtnIndex: 0x0           TrafficIndex: N/A

  Connector: N/A                 PathID: 0x0

   LinkCost: 0               MicroSegID: 0

RealFIRType: Normal           RealThres: 0

1.21  常見配置錯誤舉例

1.21.1  OSPF鄰居無法建立

1. 故障現象

OSPF鄰居無法建立。

2. 分析

如果物理連接和下層協議正常,則檢查接口上配置的OSPF參數,必須保證與相鄰路由器的參數一致,區域號相同,網段與掩碼也必須一致(點到點與虛連接的網段與掩碼可以不同)。

3. 處理過程

(1)     使用display ospf peer命令查看OSPF鄰居狀態。

(2)     使用display ospf interface命令查看OSPF接口的信息。

(3)     檢查物理連接及下層協議是否正常運行,可通過ping命令測試。若從本地路由器Ping對端路由器不通,則表明物理連接和下層協議有問題。

(4)     檢查OSPF定時器,在同一接口上鄰居失效時間應至少為Hello報文發送時間間隔的4倍。

(5)     如果是NBMA網絡,則應該使用peer ip-address命令手工指定鄰居。

(6)     如果網絡類型為廣播網或NBMA,則至少有一個接口的路由器優先級大於零。

1.21.2  OSPF路由信息不正確

1. 故障現象

OSPF不能發現其他區域的路由。

2. 分析

應保證骨幹區域與所有的區域相連接。若一台路由器配置了兩個以上的區域,則至少有一個區域應與骨幹區域相連。骨幹區域不能配置成Stub區域。

在Stub區域內的路由器不能接收外部AS的路由。如果一個區域配置成Stub區域,則與這個區域相連的所有路由器都應將此區域配置成Stub區域。

3. 處理過程

(1)     使用display ospf peer命令查看OSPF鄰居狀態。

(2)     使用display ospf interface命令查看OSPF接口的信息。

(3)     使用display ospf lsdb查看LSDB的信息是否完整。

(4)     使用display current-configuration configuration ospf命令查看區域是否配置正確。若配置了兩個以上的區域,則至少有一個區域與骨幹區域相連。

(5)     如果某區域是Stub區域,則該區域中的所有路由器都要配置stub命令;如果某區域是NSSA區域,則該區域中的所有路由器都要配置nssa命令。

(6)     如果配置了虛連接,使用display ospf vlink命令查看OSPF虛連接是否正常。

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們