ospf路由協議在企業網中的應用

(一)、ospf優點

適應範圍廣——支持各種規模的網絡,最多可支持一千臺左右路由器。

觸發更新——在網絡的拓撲結構發生變化後立即發送更新報文。

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

區域劃分——允許自治系統的網絡被劃分成區域來管理,區域間傳送的路由信息被進一步抽象,從而減少了佔用的網絡帶寬。

等價路由——支持到同一目的地址的多條等價路由。

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

組播發送——以組播地址224.0.0.5和224.0.0.6發送協議報文。

(二)、ospf原理

1、OSPF報文
1)Hello報文:

      最常用的一種報文,週期性的發送給鄰居路由器用來維持鄰居關係以及DR/BDR的選舉,內容包括一些定時器的數值、DR、BDR以及自己已知的鄰居。週期默認是10秒,路由器經過4個hello週期的時間沒有接收到鄰居的hello報文會認爲對方不可達。

2)DBD報文:

      兩臺路由器進行數據庫同步時,用DBD報文來描述自己的LSDB,內容包括LSDB中每一條LSA的摘要。這樣對端路由器就可以判斷出是否已有這條LSA。

3)LSR報文:

      兩臺路由器互相交換過DBD報文之後,知道本地的LSDB所缺少的,這時需要發送LSR報文向對方請求所需的LSA。內容包括所需要的LSA的摘要。

4)LSU報文:發送LSA的詳細信息(OSPF的5種報文中,僅LSU包含LSA的詳細內容)
5)LSAck報文:用於確認LSU

2、SPF算法

所有運行OSPF的路由器利用hello報文,發送至224.0.0.5

OSPF鄰居建立狀態機
Down----Init----2Way----ExStart----ExChange------Loading----Full

在ExStart階段,ospf鄰居雙方需要協商出一個Master和Slave,Slave和Master互發送DBD報文,兩臺路由器互相交換過DBD報文之後,知道本地的LSDB所缺少的,這時需要發送LSR報文向對方請求所需的LSA。兩路由器會向對方發送LSU報文,接收到LSU報文的路由器會向對方發送一條確認LSAck報文。從而達到路由器的鏈路狀態數據庫達到同步。

每個路由器週期性地發送LSA,提供其鄰接點的信息或當其狀態改變時通知其它路由器。通過對已建立的鄰接關係和鏈接狀態進行比較,失效的路由器可以很快被檢測出來,網絡拓撲相應地更動。從LSA生成的拓撲數據庫中,每個路由器計算最短路徑樹,以自己爲根。這個最短路徑樹就生成了路由表。

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

如果DR由於某種故障而失效,則網絡中的路由器必須重新選舉DR,再與新的DR同步。這需要較長的時間,在這段時間內,路由的計算是不正確的。爲了能夠縮短這個過程,OSPF提出了BDR(Backup Designated Router,備份指定路由器)的概念。

BDR實際上是對DR的一個備份,在選舉DR的同時也選舉出BDR,BDR也和本網段內的所有路由器建立鄰接關係並交換路由信息。當DR失效後,BDR會立即成爲DR。由於不需要重新選舉,並且鄰接關係事先已建立,所以這個過程是非常短暫的。當然這時還需要再重新選舉出一個新的BDR,雖然一樣需要較長的時間,但並不會影響路由的計算。

運行OSPF進程的網絡中,既不是DR也不是BDR的路由器爲DR Other。DR Other

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

      在完成以上這些步驟以後每個路由器都會維持OSPF的三張表鄰居表、鏈路狀態數據庫和路由表

大致過程可以說成:先建立鄰居表,從鄰居那裏學到鏈路狀態數據庫,最後根據數據鏈路數據庫計算出路由表。

3. 路由器的類型(以下的內容和區域有關)

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

(1) 區域內路由器

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

(2) 區域邊界路由器ABR

該類路由器同時屬於兩個以上的區域,但其中一個必須是骨幹區域area 0。ABR用來連接骨幹區域和非骨幹區域。

(3) 骨幹路由器

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

(4) 自治系統邊界路由器ASBR

與其他路由協議區域交換路由信息的路由器稱爲ASBR。ASBR並不一定位於AS的邊界,它有可能是區域內路由器,也有可能是ABR。

LSA類型:

1.Router  LSA  存在本區域 作用:每個區域內的每個路由器都會產生。告訴本區域其它路由器本身的信息

2.Network LSA  存在本區域 作用: DR產生,告訴本區域其它路由器DR的信息(怎麼到達DR)

3.Network Summary(摘要) LSA     作用:由ABR(區域邊界路由器)產生,用來把本區域的信息傳播到其它常規區域中去

4.ASBR(自主系統邊界路由器)  Summary(摘要)LSA          作用 :由ABR(區域邊界路由器)產生,告訴其它常規區域的路由器如何到達我本區域的ASBR(自主系統邊界路由器),當本區域的ASBR  Summary  LSA  到達其它區域的ABR(區域邊界路由器)時,會由這個ABR重新生成ASBR  Summary  LSA

5.AS  external(外部)  LSA        作用:用來宣告OSPF路由域外部的網絡信息(告訴其它路由器如何到達外部使用其它路由協議的網絡),由ASBR產生,在整個OSPF路由域中洪泛          

OSPF的路由分類:
    區域內部路由:一個路由器根據自己所屬區域的LSDB,利用SPF算法計算路由
    區域間路由:由ABR通告的,利用DV算法在區域間交換路由信息

     外部路由:ASBR上重分發而來的,無法保證路由無環。

OSPF區域

1. 區域劃分

隨着網絡規模日益擴大,當一個大型網絡中的路由器都運行OSPF路由協議時,路由器數量的增多會導致LSDB非常龐大,佔用大量的存儲空間,並使得運行SPF算法的複雜度增加,導致CPU負擔很重。

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

OSPF協議通過將自治系統劃分成不同的區域(Area)來解決上述問題。區域是從邏輯上將路由器劃分爲不同的組,每個組用區域號(Area ID)來標識

2. 骨幹區域與虛連接

(1) 骨幹區域(Backbone Area)

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

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

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

但在實際應用中,可能會因爲各方面條件的限制,無法滿足這個要求。這時可以通過配置OSPF虛連接(Virtual Link)予以解決。

(2) 虛連接(Virtual Link)

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

3. Stub區域

Stub區域是一些特定的區域,Stub區域的ABR不允許注入Type5 LSA,在這些區域中路由器的路由表規模以及路由信息傳遞的數量都會大大減少。

爲了進一步減少Stub區域中路由器的路由表規模以及路由信息傳遞的數量,可以將該區域配置爲Totally Stub(完全Stub)區域,該區域的ABR不會將區域間的路由信息和外部路由信息傳遞到本區域。

(Totally)Stub區域是一種可選的配置屬性,但並不是每個區域都符合配置的條件。通常來說,(Totally)Stub區域位於自治系統的邊界。

爲保證到本自治系統的其他區域或者自治系統外的路由依舊可達,該區域的ABR將生成一條缺省路由,併發布給本區域中的其他非ABR路由器

OSPF區域設計的原則(多區域)
1)必須存在骨幹區域(區域0)
2)所有的普通區域必須和骨幹區域相鄰(物理相鄰、邏輯相鄰)
3)骨幹區域本身必須連通(也可以通過配置邏輯連接使骨幹區域連通)

一個區域200~300臺左右  通過ABR(區域邊界路由器)來通告其他區域的路由。 ABR上擁有多個區域的LSDB,計算出多個區域的區域內部路由

(三)、實驗案例

1、實驗要完成的功能
1)、末節區域

2)、完全末節區域

3)、虛擬鏈路

4)、ip地址手動匯聚

5)、默認路由重發布

2、實驗拓撲

ospf

3、路由器上的配置

R1

interface Loopback1

ip address 192.168.1.1 255.255.255.0 secondary

ip address 192.168.2.1 255.255.255.0 secondary

ip address 192.168.3.1 255.255.255.0 secondary

ip address 192.168.4.1 255.255.255.0 secondary

ip address 192.168.5.1 255.255.255.0 secondary

ip address 192.168.6.1 255.255.255.0 secondary

ip address 192.168.7.1 255.255.255.0

interface Serial1/2

ip address 192.168.8.1 255.255.255.252

router ospf 100

network 192.168.1.0 0.0.0.255 area 1

network 192.168.2.0 0.0.0.255 area 1

network 192.168.3.0 0.0.0.255 area 1

network 192.168.4.0 0.0.0.255 area 1

network 192.168.5.0 0.0.0.255 area 1

R2

interface Loopback1

ip address 192.168.11.1 255.255.255.0

!

interface FastEthernet0/0

ip address 192.168.12.5 255.255.255.0

!

interface Serial1/2

ip address 192.168.8.5 255.255.255.252

!

interface Serial1/3

ip address 192.168.8.2 255.255.255.252

router ospf 100

log-adjacency-changes

area 1 range 192.168.0.0 255.255.255.224

area 1 range 192.168.0.0 255.255.248.0

area 2 virtual-link 192.168.8.13       建立虛鏈路

redistribute connected metric 1000   發佈直連路由

redistribute static    發佈靜態路由

redistribute rip        發佈rip區域的路由

network 192.168.0.0 0.0.7.255 area 1

network 192.168.8.0 0.0.0.3 area 1

network 192.168.8.4 0.0.0.3 area 2

network 192.168.11.0 0.0.0.255 area 0

!

router rip

version 2

network 192.168.12.0

default-information originate   發佈默認路由

no auto-summary

R3

interface Serial1/2

ip address 192.168.8.9 255.255.255.252

interface Serial1/3

ip address 192.168.8.6 255.255.255.252

router ospf 100

network 192.168.8.4 0.0.0.3 area 2

network 192.168.8.8 0.0.0.3 area 2

R4

interface Serial1/2

ip address 192.168.8.13 255.255.255.252

interface Serial1/3

ip address 192.168.8.10 255.255.255.252

router ospf 100

log-adjacency-changes

area 2 virtual-link 192.168.8.17

area 3 stub no-summary         建立完全末節區域

network 192.168.8.8 0.0.0.3 area 2

network 192.168.8.12 0.0.0.3 area 3

R5

interface Serial1/3

ip address 192.168.8.14 255.255.255.252

router ospf 100

area 3 stub

network 192.168.8.12 0.0.0.3 area 3

network 192.168.9.0 0.0.0.255 area 3

R6

interface FastEthernet0/0

ip address 192.168.12.2 255.255.255.0

interface Serial1/2

ip address 192.168.8.21 255.255.255.252

router rip

version 2

network 192.168.8.0

network 192.168.12.0

no auto-summary

R7

interface Loopback1

ip address 192.168.10.1 255.255.255.0

interface Serial1/3

ip address 192.168.8.22 255.255.255.0

router rip

version 2

network 192.168.8.0

network 192.168.10.0

no auto-summary

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