OSPF協議介紹及配置 (下)

4、特殊區域詳解
 


爲了讓我們的講解更加的通俗易懂,我們看上面這個拓撲,這是一個根據客戶業務邏輯結構所涉及的OSPF網絡,共有三個區域(實際上遠遠不止),骨幹區域area0爲一級行及二級行所部署,三級行部署的是OSPF的常規區域,爲了保證網絡的暢通,我們將網絡中的各個角落都宣告進了OSPF,感覺上很爽,但是其實路由器很壓抑,畢竟隨着設備越來越多、網絡前綴越來越多,路由條目勢必逐漸增多,那麼路由器就亞歷山大了,畢竟龐大的路由表及LSA在極大地消耗着路由器的資源。
從網絡優化的角度,我們一直在試圖在保證網絡通暢的情況下減少網絡中傳遞的路由條目及LSA的數量,路由彙總就是一種很好的方式,當然,從OSPF的設計規劃角度,我們還有特殊區域可供我們靈活運用,下面來看看OSPF特殊區域是如何幫助我們減少LSA泛洪的。
我們拿area1做參考區域,當area1爲常規區域時,區域中會有多少種LSA在泛洪呢?1類是必然有的,由於area1中存在以太網鏈路,因此2類LSA也有。另外其他區域的3類LSA被ABR也都注入進了本區域。再者由於area2的ASBR引入了外部路由(5類LSA),因此LSA5也會被泛洪進area1,當然4類LSA也跟着來了。那麼如此一來,area1中就有1、2、3、4、5,共計5種類型的LSA,齊活了。但是仔細一想我們就發現,其實area1作爲“葉”區域,沒必要知道外部路由的詳細情況,我只需要知道有那麼一條路,讓我到達域外即可,因此,第一種特殊區域:末梢區域 stub area。

實驗環境介紹
 


本次內容講解使用的實驗環境如上:

  • R1、R2、R3、R4運行OSPF;

  • 設備互聯地址IP如圖所示;

  • 所有設備配置Loopback0口,IP爲x.x.x.x/32,其中x爲設備編號。例如R1的Loopback0地址爲1.1.1.1/32,該地址不network進OSPF,只作爲設備OSPF RouterID使用;

  • R4上配置Loopback1接口,IP子網爲44.44.44.0/24,R4將這條直連路由import進OSPF。

 

R1的配置如下(省略接口Ip地址的配置):[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 1
[R1-ospf-1-area-0.0.0.1] network 10.1.12.1 0.0.0.0


R2的配置如下(省略接口Ip地址的配置):
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 1
[R2-ospf-1-area-0.0.0.1] network 10.1.12.2 0.0.0.0
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.1.23.2 0.0.0.0


R3的配置如下(省略接口Ip地址的配置):
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] network 10.1.23.3 0.0.0.0
[R3-ospf-1] area 2
[R3-ospf-1-area-0.0.0.2] network 10.1.34.3 0.0.0.0


R4的配置如下(省略接口Ip地址的配置):
[R4] acl 2000
[R4- acl-basic-2000] rule permit source 44.44.44.0 0
[R4- acl-basic-2000] quit
[R4] route-policy RP permit node 10
[R4-route-policy] if-match acl 2000
[R4-route-policy] quit
[R4] ospf 1 router-id 4.4.4.4
[R4-ospf-1] import-route direct route-policy RP
[R4-ospf-1] area 2
[R4-ospf-1-area-0.0.0.1] network 10.1.34.4 0.0.0.0


下面我們開始介紹各種特殊區域:


1.Stub area末梢區域


我們可以通過配置,可以將一個常規區域設置爲stub區域。例如下圖,將area1配置爲stub area。Stub區域將禁止4、5類LSA進入該區域,同時該區域的ABR將會自動下發一條默認路由(3類LSA)進該區域,以確保區域內訪問區域外的路由通路沒有問題。這可以形象的理解爲:“外面的世界再怎麼精彩,你不用告訴我細節,只要讓我出去就行了”。這就是stub area的設計思路。當引入大量的外部路由進OSPF,適當的規劃某些區域爲stub,可以起到不錯的網絡優化作用,大大的降低路由器需要維護的路由條目數量。
有一點值得注意,你不能將骨幹區域area0配置爲stub區域,同時,讓一個區域被指定爲stub area,區域內將不允許注入外部路由,也就是不能做重發布。
 


在初始情況下R1的路由表如下:
[R1] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
        Destinations : 11       Routes : 11
Destination/Mask Proto  Pre  Cost  Flags NextHop         Interface
10.1.23.0/24   OSPF 10   2 D   10.1.12.2      GigabitEthernet0/0/0
10.1.34.0/24  OSPF  10   3 D   10.1.12.2      GigabitEthernet0/0/0
 44.44.44.0/24  O_ASE150  1  D   10.1.12.2         GigabitEthernet0/0/0
……
我們看到有其他區域的路由,以及外部路由44.44.44.0/24
再看一下R1的LSDB:
[R1] display ospf lsdb 
         OSPF Process 1 with Router ID 1.1.1.1
                 Link State Database 
                         Area: 0.0.0.1
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2           1723  36    80000005       1
 Router    1.1.1.1         1.1.1.1            116  36    80000007       1
 Network   10.1.12.1       1.1.1.1            116  32    80000004       0
 Sum-Net   10.1.23.0       2.2.2.2           1710  28    80000002       1
 Sum-Net   10.1.34.0       2.2.2.2           1655  28    80000002       2
 Sum-Asbr  4.4.4.4         2.2.2.2           1572  28    80000002       2
 
                 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  44.44.44.0      4.4.4.4           1673  36    80000002       1
從上面能看到R1的LSDB裏有1、2、3、4、5類LSA。

現在將area1配置爲stub area:
R1的配置修改如下:
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 1
[R1-ospf-1] stub
[R1-ospf-1-area-0.0.0.1] network 10.1.12.1 0.0.0.0
R2的配置修改如下:
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 1
[R2-ospf-1] stub
[R2-ospf-1-area-0.0.0.1] network 10.1.12.1 0.0.0.0
[R2-ospf-1-area-0.0.0.1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.1.23.2 0.0.0.0
需要注意的是,該命令要配置在stub區域中的所有路由器上,如果某臺路由器沒有配置,那麼它將無法去其他stub area router建立鄰接關係。
實現效果:
 


Area1中將不會在有4、5類LSA,也就是area2重發布進來的路由,被ABR(R2)過濾掉了,同時area1中的路由器將獲取到一條ABR(R2)下發的3類LSA的默認路由。

[R1] display ip routing-table
Destination/Mask    Proto   Pre  Cost  Flags NextHop         Interface
  0.0.0.0/0   OSPF   10   2     D  10.1.12.2       GigabitEthernet0/0/0
 10.1.23.0/24  OSPF   10   2    D  10.1.12.2       GigabitEthernet0/0/0
 10.1.34.0/24  OSPF   10   3    D  10.1.12.2       GigabitEthernet0/0/0
我們發現之前的44.44.44.0/24這條外部路由沒有了,另外多了一條OSPF默認路由,這條默認路由是由ABR R2產生的,是3類LSA描述的。這個時候R1還是能ping通44.44.44.44的。

[R1]display ospf lsdb 
         OSPF Process 1 with Router ID 1.1.1.1
                 Link State Database 
                         Area: 0.0.0.1
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2            106  36    80000005       1
 Router    1.1.1.1         1.1.1.1            109  36    80000004       1
 Network  10.1.12.2       2.2.2.2            106  32    80000002       0
 Sum-Net 0.0.0.0         2.2.2.2            158  28    80000001       1
 Sum-Net  10.1.23.0       2.2.2.2            158  28    80000001       1
 Sum-Net  10.1.34.0       2.2.2.2            158  28    80000001       2
再看R1的LSDB,我們發現4、5類LSA都沒有了,只剩下1、2、3類LSA。

 

2. Totally stub area完全末梢區域
 


通過將區域規劃爲stub area,可以起到一定的網絡優化作用,但是感覺上還不夠徹底,除了外部路由,其他area的路由(LSAs)其實我也沒必要知道太多細節,完全用一條默認路由替代也行嘛,那麼你可以將area1配置爲完全末梢區域(totally stub area),當一個區域被配置爲完全末梢區域,這個區域將:

  • 阻擋3、4、5類LSA進入本區域

  • 區域的ABR自動下發一條3類LSA的默認路由進入本區域

這麼一來,area1內路由器收到的LSA將進一步減少,在存儲LSA及進行SPF算法運算的時候,耗費的資源自然也就減少了,另外當區域外拓撲出現變更的時候,對本區域的影響也將變爲最小。
與stub區域類似,你無法將骨幹區域area0配置爲totally stub area,當然,如果一個區域被指定爲totally stub area,你將不能在區域中的路由器上做路由重發布動作。
現在將area1配置爲Totally stub area:


R1的配置修改如下:
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 1
[R1-ospf-1] stub
[R1-ospf-1-area-0.0.0.1] network 10.1.12.1 0.0.0.0

R2(ABR)的配置修改如下:
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 1
[R2-ospf-1] stub no-summary
[R2-ospf-1-area-0.0.0.1] network 10.1.12.1 0.0.0.0
[R2-ospf-1-area-0.0.0.1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.1.23.2 0.0.0.0

實現效果:
完成上述配置後,area1內的路由器(ABR除外)將只有本區域內的路由,同時都能獲取到ABR下發的3類的默認路由。也就是說其他區域的路由以及外部注入的路由都被ABR阻擋在外,取而代之的是一條默認路由。
[R1] display ospf lsdb 
         OSPF Process 1 with Router ID 1.1.1.1
                 Link State Database 
                         Area: 0.0.0.1
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2             27  36    80000008       1
 Router    1.1.1.1         1.1.1.1             29  36    80000007       1
 Network   10.1.12.1       1.1.1.1             25  32    80000002       0
 Sum-Net   0.0.0.0         2.2.2.2            572  28    80000001       1

 

3. Not-So-Stubby Area 非完全末梢區域(NSSA)


在前面的知識基礎上,我們已經瞭解到,在保證網絡連通性的情況下,減少LSA的泛洪以及精簡路由表,我們可以將特定區域配置爲末梢區域或完全末梢區域。看下面的拓撲,我們將area2配置爲stub,那麼,這個區域一來將阻擋來自其他區域的4、5類LSA,同時區域內的路由器禁止重發布外部路由,那麼如果此時我期望這個區域保持“阻擋其他區域過來的4、5類LSA”這個特性,同時允許我在區域本地重發布路由呢?


 


例如,假設area2原先是作爲一個末梢區域運行的,但突然有一個外部網絡,需要接入到我們這個OSPF網絡中,並且連接在area2中,那麼這個時候,爲了保證路由的可達,就必須向area2中注入外部路由了,而這又違反了stub area的規則。
這裏就引入NSSA(not-so-stubby-area)的概念,中文翻譯過來,可以理解爲非完全末梢區域,當你將一個區域配置爲NSSA,那麼這個區域一來將阻擋骨幹區域過來的4、5類LSA,同時允許區域本地import-route外部路由,這些外部路由以一種特殊的LSA類型—7類LSA在NSSA中泛洪,並且7類LSA不允許進入骨幹區域或常規區域,NSSA的ABR會負責將7類LSA“轉換”成5類LSA,從而在常規區域中進一步泛洪。上面的“允許區域本地注入”的意思是,NSSA這個區域的路由器配置重發布,如下圖。
 


 現在將area2配置爲NSSA
R3的配置修改如下:
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 2
[R3-ospf-1] nssa
[R3-ospf-1-area-0.0.0.2] network 10.1.34.3 0.0.0.0
[R3-ospf-1-area-0.0.0.2] area 0
[R3-ospf-1-area-0.0.0.0] network 10.1.23.3 0.0.0.0


R4(ASBR)的配置修改如下:
[R4] acl 2000
[R4- acl-basic-2000] rule permit source 44.44.44.0 0
[R4- acl-basic-2000] quit
[R4] route-policy RP permit node 10
[R4-route-policy] if-match acl 2000
[R4-route-policy] quit
[R3] ospf 1 router-id 4.4.4.4
[R3-ospf-1] import-route direct route-policy RP
[R3-ospf-1] area 2
[R3-ospf-1-area-0.0.0.1] network 10.1.34.4 0.0.0.0
[R3-ospf-1-area-0.0.0.1] nssa

實現效果:
將area2配置爲nssa後,從骨幹區域過來的4、5類LSA將無法進入NSSA,也就是說如果area1做了重發布,那麼這些重發布的外部路由將無法進入NSSA(這是因爲NSSA中不允許出現5類LSA),與此同時,area2允許本地的路由器做重發布動作,重發布進來的路由,以LSA7在NSSA中泛洪,大家在路由表中看到的這些外部路由,標記爲“O_NSSA”,而這些7類LSA在“穿越”NSSA的ABR(R3)進入骨幹區域之前,由ABR(R3)負責將7類LSA“轉換”成5類LSA。最終area0及area1也都能學習到這些外部路由,只不過,他們路由表中呈現的是“O_ASE”標記。
我們在R3上驗證一下:
[R3] display ip routing-table 
Destination/Mask    Proto     Pre   Cost   Flags NextHop         Interface
10.1.12.0/24  OSPF     10    2       D   10.1.23.2    GigabitEthernet0/0/0
44.44.44.0/24  O_NSSA  150   1        D   10.1.34.4    GigabitEthernet0/0/1
 ……
我們看到R3學習到了44.44.44.0/24這條外部路由,並且協議類型爲“O_NSSA”表示這是一條通過LSA7計算出來的路由。
[R3] display ospf lsdb 
         OSPF Process 1 with Router ID 3.3.3.3
                 Link State Database 
                         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2            141  36    80000014       1
 Router    3.3.3.3         3.3.3.3            143  36    80000012       1
 Network   10.1.23.2       2.2.2.2            141  32    80000002       0
 Sum-Net 10.1.34.0       3.3.3.3            151  28    80000001       1
 Sum-Net  10.1.12.0       2.2.2.2            160  28    80000006       1
 
                         Area: 0.0.0.2
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    4.4.4.4         4.4.4.4            106  36    80000004      99
 Router    3.3.3.3         3.3.3.3            110  36    80000003       1
 Network   10.1.34.4       4.4.4.4            111  32    80000001       0
 Sum-Net 10.1.23.0       3.3.3.3            151  28    80000001       1
 Sum-Net  10.1.12.0       3.3.3.3            144  28    80000001       2
 NSSA    0.0.0.0         3.3.3.3            145  36    80000001       1
 NSSA    44.44.44.0      4.4.4.4            158  36    80000001       1
 
                 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  44.44.44.0      3.3.3.3            106  36    80000001       1
我們看到R3的LSDB中,area2內有R4產生的7類LSA。同時R3自己做了7轉5的動作,將7類LSA轉換成了5類LSA,然後將這條44.44.44.0/24的5類LSA泛洪到骨幹區域area0中。
所以在R2上,路由的類型就爲O_ASE,這是因爲描述44.44.44.0/24外部路由的LSA現在是5類LSA:
[R2] display ip routing-table
Destination/Mask    Proto     Pre  Cost    Flags   NextHop         Interface
 10.1.34.0/24       OSPF     10   2        D     10.1.23.3       GigabitEthernet0/0/1
 44.44.44.0/24      O_ASE   150  1        D     10.1.23.3        GigabitEthernet0/0/1
……
現在我們再去R4上看一下:
[R4] display ip routing-table 
Destination/Mask    Proto  Pre  Cost     Flags NextHop         Interface
        0.0.0.0/0   O_NSSA 150  1           D  10.1.34.3       GigabitEthernet0/0/0
      10.1.12.0/24  OSPF   10   101         D  10.1.34.3       GigabitEthernet0/0/0
      10.1.23.0/24  OSPF   10   100         D  10.1.34.3       GigabitEthernet0/0/0
R4的路由表中,有從骨幹區域area0傳遞過來的LSA3計算出來的路由:10.1.12.0/24及10.1.23.0/24。同時也有NSSA的ABR(R3)自動下發的7類LSA的默認路由0.0.0.0/0。
那麼,既然R4有了ABR下發的默認路由,實際上是能夠到達R1、R2底下的網段的,其實也就不需要其他區域的路由了,因此可以在ABR(R3)上進一步做配置,過濾掉3類LSA,進一步減少NSSA內的LSA數量,R3的配置變更如下:
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 2
[R3-ospf-1] nssa no-summary
[R3-ospf-1-area-0.0.0.2] network 10.1.34.3 0.0.0.0
[R3-ospf-1-area-0.0.0.2] area 0
[R3-ospf-1-area-0.0.0.0] network 10.1.23.3 0.0.0.0 
如此一來,R4的路由表:
[R4] display ip routing-table 
Destination/Mask    Proto  Pre  Cost     Flags   NextHop           Interface
     0.0.0.0/0   O_NSSA  150   1        D     10.1.34.3       GigabitEthernet0/0/0
就只有一條R3下發的7類默認路由了,當然這時候R3訪問全網是能夠通的。

四、OSPF的配置


1、基礎配置


創建OSPF進程,並指定OSPF進程號及RouterID
[Router] ospf [ process-id | router-id router-id ]

其中process-id爲進程號,關於進程號的詳細描述,請見下文。另外Router-ID關鍵字指定的是本臺路由器ospf的Router-ID,建議在創建OSPF進程時,採用該方法手工配置Router-ID。

 

在area0中宣告指定接口
[Router-ospf] area area-id
[Router-ospf-area] network ip-address wildcard-mask 
上面的network命令用於在特定接口上激活OSPF。

OSPF進程號(Processor ID)

進程號取值範圍1-65535,只標識ospf在本路由器內的一個進程,這個進程號只是本地有效。在同一臺路由器上可以運行多個不同的OSPF進程,它們之間互不影響,彼此獨立。不同OSPF 進程之間的路由交互相當於不同路由協議之間的路由交互。
進程號是本地有效,若不同的路由器之間OSPF對接,兩臺路由器的OSPF進程號可以不同,這是不會有任何問題的,但是爲了保證網絡配置的規範性和標準化,建議還是採用相同的進程號。

通配符掩碼wildcard-mask:
通配符是一個用於決定哪些IP地址位該精確匹配(0代表精確匹配)哪些地址位被忽略的32位數值,通配符掩碼通常用於處理訪問控制列表(ACL)、OSPF和EIGRP等路由協議的網絡通告。下面看一下網絡掩碼netmask和通配符掩碼wildcard-mask的區別:
 


接下去看幾個例子:
 


上面的例子中,我們在network命令後關聯的IP是172.16.1.0,通配符掩碼是0.0.0.255,那麼將這兩個數都轉成二進制,其中通配符掩碼位爲0的位,必須嚴格匹配,爲1的位則無所謂。那麼我們就看路由器本地的接口IP,去做對應,如果能匹配上,該接口就激活OSPF,否則就不激活。
 


同樣的拓撲,如果我們將通配符掩碼換成0.0.255.255,則最後兩個八位組無所謂,最終路由器的三個接口都激活了OSPF。

2、示例(單區域)
 


網絡拓撲中包含三臺路由器及兩臺PC;
爲了能夠更直觀的觀察到實現現象,每臺路由器使用x.x.x.x的地址作爲OSPF的RouterID,其中x爲設備編號,例如R1的RouterID爲1.1.1.1,以設備的接口編號及IP編址如圖所示。

R1的配置如下:
#完成接口IP的配置
[R1] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1] interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1] ip address 192.168.1.254 24

#創建OSPF進程1,並且設置router-ID爲1.1.1.1;在R1的GE0/0/0及GE0/0/1口上激活OSPF:
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

 

R2的配置如下:
#完成接口IP的配置
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.12.2 24
[R2] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ip address 192.168.23.2 24

#創建OSPF進程1,並且設置router-ID爲2.2.2.2;在R1的GE0/0/0及GE0/0/1口上激活OSPF:
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255

 

R3的配置如下:
#完成接口IP的配置
[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ip address 192.168.23.3 24
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.2.254 24

#創建OSPF進程1,並且設置router-ID爲3.3.3.3;在R3的GE0/0/0及GE0/0/1口上激活OSPF
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255

完成配置後我們來做一下查看及驗證,首先看一下OSPF的鄰居關係,這是OSPF路由收斂的基礎,如果鄰居關係的狀態不正確,那麼路由肯定是無法正常獲悉的,我們在R1上先做個查看:

[R1] display ospf peer 
 OSPF Process 1 with Router ID 1.1.1.1
 Neighbors 
#以下是R1的G0/0/0口的OSPF鄰居
 Area 0.0.0.0 interface 192.168.12.1(GigabitEthernet0/0/0)'s neighbors
 Router ID: 2.2.2.2          Address: 192.168.12.2    
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 192.168.12.2  BDR: 192.168.12.1  MTU: 0    
   Dead timer due in 34  sec 
   Retrans timer interval: 5 
   Neighbor is up for 01:53:16     
   Authentication Sequence: [ 0 ]

使用display ospf peer命令能查看OSPF鄰居關係,上面的輸出就是R1的OSPF鄰居關係,我們看到R1發現了一個OSPF鄰居,這個OSPF鄰居是連接在R1的GE0/0/0口上,且其RouterID爲2.2.2.2,接口IP爲192.168.12.2。最重要的是狀態爲Full,表示R1與R2的OSPF鄰居關係已經爲全毗鄰狀態。
同理在R2上應該能看到兩個OSPF鄰居,而在R3上能看到一個OSPF鄰居。
接下去看看路由表。

[R1] display ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 12       Routes : 12       
Destination/Mask    ProtoPre  CostFlags NextHop            Interface
192.168.1.0/24  Direct 0    0   D   192.168.1.254   GigabitEthernet0/0/1
192.168.1.254/32  Direct  0    0    D   127.0.0.1       GigabitEthernet0/0/1
192.168.1.255/32  Direct  0    0    D   127.0.0.1       GigabitEthernet0/0/1
192.168.2.0/24  OSPF10   3 D   192.168.12.2    GigabitEthernet0/0/0
192.168.12.0/24  Direct  0    0    D   192.168.12.1    GigabitEthernet0/0/0
192.168.12.1/32  Direct  0    0    D   127.0.0.1       GigabitEthernet0/0/0
192.168.12.255/32  Direct  0    0    D   127.0.0.1       GigabitEthernet0/0/0
192.168.23.0/24  OSPF 10   2    D   192.168.12.2    GigabitEthernet0/0/0
255.255.255.255/32  Direct  0    0    D   127.0.0.1       InLoopBack0

在上述輸出中,我們看到R1已經學習到兩條OSPF路由,分別是192.168.2.0/24及192.168.23.0/24;同理在R2就R3上也能看到相應的OSPF路由。現在PC1及PC2就能夠互相通信了。

 

3、示例(多區域)
 


網絡中包含三臺路由器及兩臺PC;
爲了能夠更直觀的觀察到實現現象,每臺路由器使用x.x.x.x的地址作爲OSPF的RouterID,其中x爲設備編號,例如R1的RouterID爲1.1.1.1;OSPF區域的規劃如圖所示;
 

R1的配置如下:
#完成接口IP的配置
[R1] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1] interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1] ip address 192.168.1.254 24

#在R1的GE0/0/0及GE0/0/1口上激活OSPF
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

 

R2的配置如下:
#完成接口IP的配置
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.12.2 24
[R2] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ip address 192.168.23.2 24

#在R2的GE0/0/0及GE0/0/1口上激活OSPF,需留意,R2是ABR,因此要注意激活的OSPF接口所在的區域。
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R2-ospf-1] area 1
[R2-ospf-1-area-0.0.0.1] network 192.168.23.0 0.0.0.255

 

R3的配置如下:
#完成接口IP的配置
[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ip address 192.168.23.3 24
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.2.254 24

#在R3的GE0/0/0及GE0/0/1口上激活OSPF
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255

完成配置後,PC1與PC2即可互相ping通。

4、查看及驗證


查看OSPF協議相關運行參數
display ospf brief
查看OSPF鄰居表
display ospf peer  
查看LSDB表 
display ospf lsdb 
查看OSPF路由
display ospf routing

 


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