天天看點

OSPF協定詳解

CCNP OSPF協定詳解

2010-02-24 20:30:22

标簽:CCNP 職場 OSPF 休閑

OSPF(Open Shortest Path Fitst,ospf)開放最短路徑優先協定,是由Internet工程任務組開發的路由選擇協定,公用協定,任何廠家的裝置。

鍊路狀态路由協定(也可以說OSPF)工作原理:

每台路由器通過使用Hello封包與它的鄰居之間建立鄰接關系

每台路由器向每個鄰居發送鍊路狀态通告(LSA),有時叫鍊路狀态封包(LSP). 每個鄰居在收到LSP之後要依次向它的鄰居轉發這些LSP(泛洪)

每台路由器要在資料庫中儲存一份它所收到的LSA的備份,所有路由器的資料庫應該相同

依照拓撲資料庫每台路由器使用Dijkstra算法(SPF算法)計算出到每個網絡的最短路徑,并将結果輸出到路由選擇表中

OSPF的簡化原理:發Hello封包——建立鄰接關系——形成鍊路狀态資料庫——SPF算法——形成路由表。

幾個概念:

OSPF的特征:

1.快速适應網絡變化

2.在網絡發生變化時,發送觸發更新

3.以較低的頻率(每30分鐘)發送定期更新,這被稱為鍊路狀态重新整理

4.支援不連續子網和CIDR

5.支援手動路由彙總

6.收斂時間短

7.采用Cost作為路徑成本

8.使用區域概念,這可有效的減少協定對路由器的CPU和記憶體的占用.

9.有路由驗證功能,支援等價負載均衡

運作OSPF的路由器需要一個能夠唯一标示自己的Router ID

OSPF的網絡類型:

廣播型網絡, 比如以太網,Token Ring和FDDI,這樣的網絡上會選舉一個DR和BDR,DR/BDR的發送的OSPF包的目标位址為224.0.0.5,運載這些OSPF包的幀的目标MAC位址為0100.5E00.0005;而除了DR/BDR以外的OSPF包的目标位址為224.0.0.6,這個位址叫AllDRouters

NBMA網絡, 比如X.25,Frame Relay,和ATM,不具備廣播的能力,在這樣的網絡上要選舉DR和BDR,是以鄰居要人工來指定

點到多點網絡, 是NBMA網絡的一個特殊配置,可以看成是點到點鍊路的集合. 在這樣的網絡上不選舉DR和BDR

點到點網絡, 比如T1線路,是連接配接單獨的一對路由器的網絡,點到點網絡上的有效鄰居總是可以形成鄰接關系的,在這種網絡上,OSPF包的目标位址使用的是224.0.0.5,這個多點傳播位址稱為AllSPFRouters

虛連結,它被認為是沒有編号的點到點網絡的一種特殊配置.OSPF封包以單點傳播方式發送

OSPF的DR(指定路由)與BDR(備份路由):

通過多點傳播發送Hello封包

具有最高OSPF優先級的路由器會被選為DR(255最高)

如果OSPF優先級相同具有最高路由器ID,路由器會被選為DR

DR與BDR的選舉過程?

1. 在和鄰居建立雙向通信之後,檢查鄰居的Hello包中Priority,DR和BDR字段,列出所有可以參與DR/BDR選舉的鄰居.所有的路由器聲明它們自己就是DR/BDR(Hello包中DR字段的值就是它們自己的接口位址;BDR字段的值就是它們自己的接口位址)

2. 從這個有參與選舉DR/BDR權的清單中,建立一組沒有聲明自己就是DR的路由器的子集(聲明自己是DR的路由器将不會被選舉為BDR)

3. 如果在這個子集裡,不管有沒有宣稱自己就是BDR,隻要在Hello包中BDR字段就等于自己接口的位址,優先級最高的就被選舉為BDR;如果優先級都一樣,RID最高的選舉為BDR

4. 如果在Hello包中DR字段就等于自己接口的位址,優先級最高的就被選舉為DR;如果優先級都一樣,RID最高的選舉為DR;如果沒有路由器宣稱自己就是DR,那麼新選舉的BDR就成為DR

5. 要注意的是,當網絡中已經選舉了DR/BDR後,又出現了1台新的優先級更高的路由器,DR/BDR是不會重新選舉的

6. DR/BDR選舉完成後,其他Rother隻和DR/BDR形成鄰接關系.所有的路由器将多點傳播Hello包到224.0.0.5,以便它們能跟蹤其他鄰居的資訊.其他Rother隻多點傳播update packet到224.0.0.6,隻有DR/BDR監聽這個位址 .一旦出問題,反過來,DR将使用224.0.0.5泛洪更新到其他路由器

OSPF路由器在完全鄰接之前,所經過的幾個狀态:

1.Down: 初始化狀态

2.Attempt: 隻适于NBMA網絡,在NBMA網絡中鄰居是手動指定的,在該狀态下,路由器将使用HelloInterval取代PollInterval來發送Hello包

3.Init: 表明在DeadInterval裡收到了Hello包,但是2-Way通信仍然沒有建立起來

4.two-way: 雙向會話建立

5.ExStart: 資訊交換初始狀态,在這個狀态下,本地路由器和鄰居将建立Master/Slave關系,并确定DD Sequence Number,接口等級高的的成為Master

6.Exchange: 資訊交換狀态,本地路由器向鄰居發送資料庫描述包,并且會發送LSR用于 請求新的LSA

7.Loading: 資訊加載狀态,本地路由器向鄰居發送LSR用于請求新的LSA

8.Full: 完全鄰接狀态,這種鄰接出現在Router LSA和Network LSA中

在OSPF協定的環境下,區域(Area)是一組邏輯上的OSPF路由器和鍊路,區域是通過一個32位的區域ID(Area ID)來識别的

OSPF的區域:

在一個區域内的路由器将不需要了解它們所在區域外部的拓撲細節。在這種環境下:

路由器僅僅需要和它所在區域的其他路由器具有相同的鍊路狀态資料庫

鍊路狀态資料庫的減小也就意味着處理較少的LSA通告 

大量的LSA泛洪被限制在一個區域裡面

對于和區域相關的通信量定義了下面3種通信量的類型:

域内通信量(Intra-Area Traffic)

域間通信量(Inter-Area Traffic)

外部通信量(External Traffic) 

OSPF的路由器類型

内部路由器(Internal Router)

區域邊界路由器(Area Border Routers,ABR)

骨幹路由器(Back bone Router)

自主系統邊界路由器(Autonomous System Boundary Router,ASBR)

分段區域(Partitioned Area)是指一個區域由于鍊路的失效而使這個區域的一個部分和其他部分隔離開來的情形。

虛鍊路(Virtual Link)是指一條通過一個非骨幹區域連接配接到骨幹區域的鍊路。

在配置虛鍊路的時候,有幾條相關的規則,

虛鍊路必須配置在兩台ABR路由器之間

配置了虛鍊路所經過的區域必須擁有全部的路由選擇資訊,這樣的區域又被稱為傳送區域(Transit Area)  傳送區域不能是一個末梢區 域

配置一個基本的OSPF的過程含有以下3個必要的步驟:

步驟1:确定和每一個路由器接口相連的區域;

步驟2:使用router ospf process-id指令來啟動一個OSPF程序;

步驟3:使用network area指令來指定運作OSPF協定的接口和它們所在的區域。

配置OSPF具體指令:

Router(config)#router ospf process-id

Router(config-router)#network address mask area area-id

好了我們今天所讨論的就是,OSPF網絡類型三種。通過實驗來驗證前面的理論拓撲如下,

OSPF協定詳解
基本配置,根據拓撲配置IP位址。
OSPF協定詳解
OSPF協定詳解
OSPF協定詳解
OSPF協定詳解

在路由器啟動期間,路由器上所有的接口都是管理關閉(administratively shutdown)的,如果OSPF不能發現一個有效的IP位址作為它的路由器ID,那麼OSPF将不會啟動。

解決方法-使用一個loopback接口(環回接口)

Loopback接口是一個僅在軟體上有意義的、虛拟的接口并且它總是有效(up)的,我們來給路由器設定上loopback接口,

OSPF協定詳解
OSPF協定詳解
OSPF協定詳解
OSPF協定詳解
給路由器配置OSPF協定
OSPF協定詳解
OSPF協定詳解
OSPF協定詳解
OSPF協定詳解
起了路由器協定之後檢視網絡是不是相通?
OSPF協定詳解
我們來進行檢視Router1的網絡類型
OSPF協定詳解

進入Router1、Router2的接口下進行更改,

router(config)#ip ospf network broadcast 廣播

router(config)#ip ospf network non-broadcast 非廣播

router(config)#ip ospf network point-to-point 點對點

router(config)#ip ospf network point-to-multipoint 點對多點

我們要把它改成廣播型網絡

OSPF協定詳解
OSPF協定詳解
更改後再進行檢視
OSPF協定詳解
前面我們說了,在廣播型網絡中是選擇DR與BDR的,而且是通過優先級選擇的,在優先級相同的時候看路由ID。我們的路由二的路由ID比Router1的高,是以應該是Router2為DR
OSPF協定詳解
那麼我想把Router1變成DR有沒有辦法?可以改變優先級實作
OSPF協定詳解
在路由器選擇好DR和BDR之後,在進入一個更高的路由器的時候是不重新選擇DR與BDR的,是以我們可以先儲存,之後在重新開機或者是重新打開(模拟器存在BUG)
OSPF協定詳解
看看是不是見效了,使得Router2變成的是BDR
OSPF協定詳解

完成了第一個實驗我們再來進行把Router2和Router3之間變成NBMA網絡

我們之前把Router2的串行接口變成的廣播

OSPF協定詳解
在Router3上進行更改
OSPF協定詳解
變成NBMA之前還得給路由器指定鄰接鄰居,因為在NBMA網絡中是不具備廣播能力,在這樣的網絡上選舉DR與BDR的時候鄰居需人工指定。
OSPF協定詳解
OSPF協定詳解
再來Router3上進行檢視是不是達到我們要的?
OSPF協定詳解
變為了NBMA網絡了,
OSPF協定詳解
ping一下看是不是已經學到相連的鄰居
OSPF協定詳解

接下來我們進行第三個實驗,把Router3和Router4變成點對多點之後還可以正常通訊,在這樣的網絡中是不選舉DR和BDR的

在Router3的串行線S1/1上是點對點網絡

OSPF協定詳解
還和剛才的指令一樣,在Router3和Router4上進行更改
OSPF協定詳解
OSPF協定詳解
更改之後檢視結果
OSPF協定詳解
OSPF協定詳解
檢查網絡的相關性,看看是不是相通
OSPF協定詳解

網絡很正常,你做了嗎?

====================================================================

OSPF(Open Shortest Path First開放式最短路徑優先)是一個内部網關協定(Interior Gateway Protocol,簡稱IGP),用于在單一自治系統(autonomous system,AS)内決策路由。是對鍊路狀态路由協定的一種實作,隸屬内部網關協定(IGP),故運作于自治系統内部。著名的迪克斯加算法(Dijkstra)被用來計算最短路徑樹。OSPF分為OSPFv2和OSPFv3兩個版本,其中OSPFv2用在IPv4網絡,OSPFv3用在IPv6網絡。OSPFv2是由RFC 2328定義的,OSPFv3是由RFC 5340定義的。與RIP相比,OSPF是鍊路狀态協定,而RIP是距離矢量協定。

不同廠商管理距離不同,思科OSPF的協定管理距離(AD)是110,華為OSPF的協定管理距離是10。。。。[1] 

中文名
開放最短路徑優先
外文名
OSPF(Open Shortest Path First)
類    型
路由器選擇協定

目錄

  1. 1 OSPF起源
  2. 2 術語與協定
  3. ▪ OSPF術語
  4. ▪ 協定
  5. 3 網絡類型
  6. 4 DR、BDR
  1. 5 無法形成鄰接關系的常見原因
  2. 6 泛洪與區域
  3. ▪ OSPF泛洪
  4. ▪ OSPF區域
  5. 7 兩種類型
  1. ▪ OSPF LSA類型
  2. ▪ OSPF路由類型
  3. 8 OSPF路徑成本
  4. 9 特殊區域
  5. 10 資料包類型和格式
  1. 11 OSPF基本配置指令

OSPF起源

編輯

IETF為了滿足建造越來越大基于IP網絡的需要,形成了一個工作組,專門用于開發開放式的鍊路狀态路由協定,以便用在大型、異構的I P網絡中。新的路由協定已經取得一些成功的一系列私人的、和生産商相關的、最短路徑優先(SPF )路由協定為基礎, 在市場上廣泛使用。包括OSPF在内,所有的S P F路由協定基于一個數學算法—Dijkstra算法。這個算法能使路由選擇基于鍊路狀态,而不是距離向量。 OSPF由IETF在20世紀80年代末期開發,OSPF是SPF類路由協定中的開放式版本。最初的OSPF規範體如今RFC1131中。這個第1版( OSPF版本1 )很快被進行了重大改進的版本所代替,這個新版本體如今RFC1247文檔中。RFC 1247OSPF稱為OSPF版本2是為了明确指出其在穩定性和功能性方面的實質性改進。這個OSPF版本有許多更新文檔,每一個更新都是對開放标準的精 心改進。接下來的一些規範出如今RFC 1583、2178和2328中。OSPF版本2的最新版體如今RFC 2328中。最新版隻會和由RFC 2138、1583和1247所規範的版本進行互操作。

鍊路是路由器接口的另一種說法,是以OSPF也稱為接口狀态路由協定。OSPF通過路由器之間通告網絡接口的狀态來建立鍊路狀态資料庫,生成最短路徑樹,每個OSPF路由器使用這些最短路徑構造路由表。

OSPF路由協定是一種典型的鍊路狀态(Link-state)的路由協定,一般用于同一個路由域内。在這裡,路由域是指一個自治系統(Autonomous System),即AS,它是指一組通過統一的路由政策或路由協定互相交換路由資訊的網絡。在這個AS中,所有的OSPF路由器都維護一個相同的描述這個AS結構的資料庫,該資料庫中存放的是路由域中相應鍊路的狀态資訊,OSPF路由器正是通過這個資料庫計算出其OSPF路由表的。

作為一種鍊路狀态的路由協定,OSPF将鍊路狀态多點傳播資料LSA(Link State Advertisement)傳送給在某一區域内的所有路由器,這一點與距離矢量路由協定不同。運作距離矢量路由協定的路由器是将部分或全部的路由表傳遞給與其相鄰的路由器。

術語與協定

OSPF術語

Router-ID

假設這個世界上的人名字是沒有重複的,每個人的名字都不相同,當有一天, 遇上個陌生人告訴你,有任何麻煩可以找他,他一定能夠幫你解決;等到你有麻煩的時候,你想找那個人幫忙,可是如果你連那個人的名字都不知道,那麼也就不可 能找到那個人幫忙了。OSPF就類似于上述情況,網絡中每台OSPF路由器都 相當于一個人,OSPF路由器之間互相通告鍊路狀态,就等于是告訴别人可以幫别人的忙,如此一來,如果路由器之間分不清誰是誰,沒有辦法确定各自的身份, 那麼通告的鍊路狀态就是毫無意義的,是以必須給每一個OSPF路由器定義一個身份,就相當于人的名字,這就是Router-ID,并且Router-ID 在網絡中絕對不可以有重名,否則路由器收到的鍊路狀态,就無法确定發起者的身份,也就無法通過鍊路狀态資訊确定網絡位置,OSPF路由器發出的鍊路狀态都 會寫上自己的Router-ID,可以了解為該鍊路狀态的簽名,不同路由器産生的鍊路狀态,簽名絕不會相同。

每一台OSPF路由器隻有一個Router-ID,Router-ID使用IP位址的形式來表示,确定Router-ID的方法為:

★1 .手工指定Router-ID。

★2 .路由器上活動Loopback接口中IP位址最大的,也就是數字最大的,如C類位址優先于B類位址,一個非活動的接口的IP位址是不能被選為Router-ID的。

★3 .如果沒有活動的Loopback接口,則選擇活動實體接口IP位址最大的。

注:如果一台路由器收到一條鍊路狀态,無法到達該Router-ID的位置,就無法到達鍊路狀态中的目标網絡。

Router-ID隻在OSPF啟動時計算,或者重置OSPF程序後計算。

COST

OSPF使用接口的帶寬來計算Metric,例如一個10 Mbit/s的接口,計算Cost的方法為:

将10 Mbit換算成bit,為10 000 000 bit,然後用10000 0000除以該帶寬,結果為 10000 0000/10 000 000 bit = 10,是以一個10 Mbit/s的接口,OSPF認為該接口的Metric值為10,需要注意的是,計算中,帶寬的機關取bit/s,而不是Kbit/s,例如一個100 Mbit/s的接口,Cost 值為 10000 0000 /100 000 000=1,因為Cost值必須為整數,是以即使是一個1000 Mbit/s(1GBbit/s)的接口,Cost值和100Mbit/s一樣,為1。如果路由器要經過兩個接口才能到達目标網絡,那麼很顯然,兩個接口 的Cost值要累加起來,才算是到達目标網絡的Metric值,是以OSPF路由器計算到達目标網絡的Metric值,必須将沿途中所有接口的Cost值 累加起來,在累加時,同EIGRP一樣,隻計算出接口,不計算進接口。

OSPF會自動計算接口上的Cost值,但也可以通過手工指定該接口的Cost值,手工指定的優先于自動計算的值。

OSPF計算的Cost,同樣是和接口帶寬成反比,帶寬越高,Cost值越小。到達目标相同Cost值的路徑,可以執行負載均衡,最多6條鍊路同時執行負載均衡。

鍊路(Link)

就是路由器上的接口,在這裡,應該指運作在OSPF程序下的接口。

鍊路狀态(Link-State)

鍊路狀态(LSA)就是OSPF接口上的描述資訊,例如接口上的IP位址,子網路遮罩, 網絡類型,Cost值等等,OSPF路由器之間交換的并不是路由表,而是鍊路狀态(LSA),OSPF通過獲得網絡中所有的鍊路狀态資訊,進而計算出到達 每個目标精确的網絡路徑。OSPF路由器會将自己所有的鍊路狀态毫不保留地全部發給鄰居,鄰居将收到的鍊路狀态全部放傳入連結路狀态資料庫(Link- State Database),鄰居再發給自己的所有鄰居,并且在傳遞過程中,絕對不會有任何更改。通過這樣的過程,最終,網絡中所有的OSPF路由器都擁有網絡中 所有的鍊路狀态,并且所有路由器的鍊路狀态應該能描繪出相同的網絡拓樸。比如如今要計算一條地鐵線路圖,如上海地鐵二号線某段的圖,如果不直接将該圖給别 人看,圖好比是路由表,如今隻是報給别人各個站的資訊,該資訊好比是鍊路狀态,通過告訴别人各個站左邊一站是什麼,右邊一站是什麼,别人也能通過該資訊 (鍊路狀态),畫出完整的線路圖(路由表),如得到如下各站資訊(鍊路狀态):

★南京東路-站 (左邊一站是人民廣場,右邊一站是陸家嘴)

★南京西路-站 (左邊一站是靜安寺,右邊一站是人民廣場)

★靜安寺-站 (右邊一站是南京西路)

★人民廣場-站 (左邊一站是南京西路,右邊一站是南京東路)

★陸家嘴-站 (左邊一站是南京東路)

還原線路圖(路由表)如下:

根據分析以下兩站資訊(兩條鍊路狀态):

計算 因為靜安寺右邊是南京西路,而南京西路左邊是靜安寺,是以靜安寺和南京西路是相鄰的,為 靜安寺 — 南京西路,并且由于南京西路右邊是人民廣場,是以通過這兩條資訊,得出線路為 靜安寺 — 南京西路 — 人民廣場,繼續往下

再根據如下兩站資訊(鍊路狀态):

計算 因為之前南京西路右邊是人民廣場,人民廣場左邊是南京西路,是以南京西路和人民廣場是相鄰的兩站,并且人民廣場右邊是南京東路,得出線路為 南京西路 — 人民廣場 — 南京東路,并且因為南京東路右邊是陸家嘴,是以 這部分線路得知為南京西路 — 人民廣場 — 南京東路 — 陸家嘴,繼續往下

再根據如下一站資訊(鍊路狀态):

計算 因為南京東路右邊是陸家嘴,而陸家嘴左邊是南京東路,是以兩站相鄰,得出為 南京東路 — 陸家嘴,

通過以上各部分的線路:

靜安寺 — 南京西路 — 人民廣場

南京西路 — 人民廣場 — 南京東路 — 陸家嘴

南京東路 — 陸家嘴

是以很輕松的就畫出該段地鐵線路圖為:

靜安寺 — 南京西路 — 人民廣場 —南京東路 — 陸家嘴

從以上計算過程可以知道,因為得到各站的資訊,就能畫出整條線路圖,而 OSPF也同樣根據路由器各接口的資訊(鍊路狀态),計算出網絡拓樸圖,OSPF之間交換鍊路狀态,就像上面交換各站資訊,而不像RIP和EIGRP直接 交換路由表,交換路由表,就等于直接給人看線路圖,可見OSPF的智能算法,比距離矢量協定對網絡有更精确的認知。

OSPF區域

因為OSPF路由器之間會将所有的鍊路狀态(LSA)互相交換,毫不保 留,當網絡規模達到一定程度時,LSA将形成一個龐大的資料庫,勢必會給OSPF計算帶來巨大的壓力;為了能夠降低OSPF計算的複雜程度,緩存計算壓 力,OSPF采用分區域計算,将網絡中所有OSPF路由器劃分成不同的區域,每個區域負責各自區域精确的LSA傳遞與路由計算,然後再将一個區域的LSA 簡化和彙總之後轉發到另外一個區域,這樣一來,在區域内部,擁有網絡精确的LSA,而在不同區域,則傳遞簡化的LSA。區域的劃分為了能夠盡量設計成無環 網絡,是以采用了Hub-Spoke的拓樸架構,也就是采用核心與分支的拓樸,如下圖:

OSPF協定詳解

區域的命名可以采用整數數字,如1、2、3、4,也可以采用IP位址的形 式,0.0.0.1、0.0.0.2,因為采用了Hub-Spoke的架構,是以必須定義出一個核心,然後其它部分都與核心相連,OSPF的區域0就是所 有區域的核心,稱為BackBone 區域(骨幹區域),而其它區域稱為Normal 區域(正常區域),在理論上,所有的正常區域應該直接和骨幹區域相連,正常區域隻能和骨幹區域交換LSA,正常區域與正常區域之間即使直連也無法互換 LSA,如上圖中Area 1、Area 2、Area 3、Area 4隻能和Area 0互換LSA,然後再由Area 0轉發,Area 0就像是一個中轉站,兩個正常區域需要交換LSA,隻能先交給Area 0,再由Area 0轉發,而正常區域之間無法互相轉發。

OSPF區域是基于路由器的接口劃分的,而不是基于整台路由器劃分的,一台路由器可以屬于單個區域,也可以屬于多個區域,如下圖:

OSPF協定詳解

如果一台OSPF路由器屬于單個區域,即該路由器所有接口都屬于同一個區 域,那麼這台路由器稱為Internal Router(IR),如上圖中的R2,R3和R4;如果一台OSPF路由器屬于多個區域,即該路由器的接口不都屬于一個區域,那麼這台路由器稱為 Area Border Router (ABR),如上圖中的R1,ABR可以将一個區域的LSA彙總後轉發至另一個區域;如果一台OSPF路由器将外部路由協定重分布進OSPF,那麼這台路 由器稱為Autonomous System Boundary Router (ASBR),如上圖中,R5将EIGRP重分布進OSPF,那麼R5就是ASBR,但是如果隻是将OSPF重分布進其它路由協定,則不能稱為ASBR。

可以配置任何OSPF路由器成為ABR或ASBR。

由于OSPF有着多種區域,是以OSPF的路由在路由表中也以多種形式存在,共分以下幾種:

如果是同區域的路由,叫做Intra-Area Route,在路由表中使用O來表示;

如果是不同區域的路由,叫做Inter-Area Route或Summary Route,在路由表中使用O IA來表示;

如果并非OSPF的路由,或者是不同OSPF程序的路由,隻是被重分布到OSPF的,叫做External Route,在路由表中使用O E2或OE 1來表示。

當存在多種路由可以到達同一目的地時,OSPF将根據先後順序來選擇要使用的路由,所有路由的先後順序為:

Intra-Area — Inter-Area — External E1 — External E2,即 O — O IA — O E1 — O E2。

注:

★一台路由器可以運作多個OSPF程序,不同程序的OSPF,可視為沒有任何關系,如需要獲得互相的路由資訊,需要重分布。

★每個OSPF程序可以有多個區域,而路由器的鍊路狀态資料庫是分程序和分區域存放的。

鄰居(Neighbor)

OSPF隻有鄰接狀态才會交換LSA,路由器會将鍊路狀态資料庫中所有的 内容毫不保留地發給所有鄰居,要想在OSPF路由器之間交換LSA,必須先形成OSPF鄰居,OSPF鄰居靠發送Hello包來建立和維護,Hello包 會在啟動了OSPF的接口上周期性發送,在不同的網絡中,發送Hello包的間隔也會不同,當超過4倍的Hello時間,也就是Dead時間過後還沒有收 到鄰居的Hello包,鄰居關系将被斷開。

兩台OSPF路由器必須滿足4個條件,才能形成OSPF鄰居,4個必備條件如下:

  

Area-id(區域号碼)

即路由器之間必須配置在相同的OSPF區域,否則無法形成鄰居。

Hello and Dead Interval(Hello時間與Dead時間)

即路由器之間的Hello時間和Dead時間必須一緻,否則無法形成鄰居。

Authentication(認證)

路由器之間必須配置相同的認證密碼,如果密碼不同,則無法形成鄰居。

Stub Area Flag(末節标簽)

路由器之間的末節标簽必須一緻,即處在相同的末節區域内,否則無法形成鄰居。

★OSPF隻能使用接口的Primary位址建立鄰居,不能使用Secondary建立鄰居。

★路由器雙方接口要麼都為手工配置位址(Numbered),要麼都為借用位址(Unnumbered),否則無法建立鄰居。

鄰接(Adjacency)

兩台OSPF路由器能夠形成鄰居,但并不一定能互相交換LSA,隻要能交換LSA,關系則稱為鄰接(Adjacency)。鄰居之間隻交換Hello包,而鄰接(Adjacency)之間不僅交換Hello包,還要交換LSA。

DR/BDR

當多台OSPF路由器連到同一個多路通路網段時,如果每兩台路由器之間都

互相交換LSA,那麼該網段将充滿着衆多LSA條目,為了能夠盡量減少LSA的傳播數量,通過在多路通路網段中選擇出一個核心路由器,稱為

DR(Designated

Router),網段中所有的OSPF路由器都和DR互換LSA,這樣一來,DR就會擁有所有的LSA,并且将所有的LSA轉發給每一台路由器;DR就像

是該網段的LSA中轉站,所有的路由器都與該中轉站互換LSA,如果DR失效後,那麼就會造成LSA的丢失與不完整,是以在多路通路網絡中除了選舉出DR

之外,還會選舉出一台路由器作為DR的備份,稱為BDR(Backup Designated

Router),BDR在DR不可用時,代替DR的工作,而既不是DR,也不是BDR的路由器稱為Drother,事實上,Dother除了和DR互換

LSA之外,同時還會和BDR互換LSA。

其實不難看出,DR與BDR并沒有任何本質與功能的差別,隻有在多路通路

的網絡環境,才需要DR和BDR,DR與BDR的選舉是在一個二層網段内選舉的,即在多個路由器互連的接口範圍内,與OSPF區域沒有任何關系,一個區域

可能有多個多路通路網段,那麼就會存在多個DR和BDR,但一個多路通路網段,隻能有一個DR和BDR;選舉DR和BDR的規則為:

★比較接口優先級

選舉優先級最高的成為DR,優先級數字越大,表示優先級越高,被選為DR的幾率就越大,次優先級的為BDR,優先級範圍是0-255,預設為1,優先級為0表示沒有資格選舉DR和BDR。

★Route-Id大小

如果在優先級都相同的情況下,Route-Id 最大的成為DR,其次是BDR,數字越大,被選為DR的幾率就越大。

因為所有路由器都能與DR和BDR互換LSA,是以所有路由器都與DR和BDR是鄰接(Adjacency)關系,而Drother與Drother之間無法互換LSA,是以Drother與Drother之間隻是鄰居關系。

在一個多路通路網絡中,選舉DR和BDR是有時間限制的,該時間為

Wait時間,預設為4倍的Hello時間,即與Dead時間相同,如果OSPF路由器在超過Wait時間後也沒有其它路由器與自己競争DR與BDR的選

舉,那麼就選自己為DR;當一個多路通路網絡中選舉出DR與BDR之後,在DR與BDR沒有失效的情況下,不會進行重新選舉,也就是在選舉出DR與BDR

之後,即使有更高優先級的路由器加入網絡,也不會影響DR與BDR的角色,在越出選舉時間(Wait時間)後,隻有DR與BDR失效後,才會重新選舉。

DR失效後,會同時重新選舉DR與BDR,而在BDR失效後,隻會重新選舉BDR。

DR和BDR與Drother的資料包處理會有所不同,

所有OSPF路由器,包括DR與BDR,都能夠接收和傳遞目标位址為224.0.0.5的資料包。

隻有DR和BDR才能接收和傳遞目标位址為224.0.0.6的資料包。

由此可見,Drother路由器将資料包發向目标位址224.0.0.6,隻能被DR和BDR接收,其它Drother不能接收;而DR和BDR将資料包發向目标位址224.0.0.5,可以被所有路由器接收。

協定

一、Hello協定的目的:

用于發現鄰居

在成為鄰居之前,必須對Hello包裡的一些參數進行協商

Hello包在鄰居之間扮演着keepalive的角色

允許鄰居之間的雙向通信

用于在NBMA(Nonbroadcast Multi-access)、廣播網絡(以太網)中選舉DR和BDR

二、Hello Packet包含以下資訊:

源路由器的RID

源路由器的Area ID

源路由器接口的掩碼

源路由器接口的認證類型和認證資訊

源路由器接口的Hello包發送的時間間隔

源路由器接口的無效時間間隔

優先級

DR/BDR接口IP位址

五個标記位(flag bit)

源路由器的所有鄰居的RID

網絡類型

OSPF定義的5種網絡類型:

  1. 點到點網絡(point-to-point),由cisco提出的網絡類型,自動發現鄰居,不選舉DR/BDR,hello時間10s。

1.1點到點網絡,比如T1線路,是連接配接單獨的一對路由器的網絡,點到點網絡上的有效鄰居總是可以形成鄰接關系的,在這種網絡上,OSPF包的目标位址使用的是224.0.0.5,這個多點傳播位址稱為AllSPFRouters.

2.廣播型網絡(broadcast),由cisco提出的網絡類型,自動發現鄰居,選舉DR/BDR,hello時間10s。

2.1廣播型網絡,比如以太網,Token Ring和FDDI,這樣的網絡上會選舉一個DR和BDR,DR/BDR的發送的OSPF包的目标位址為224.0.0.5,運載這些OSPF包的幀的目标MAC位址為0100.5E00.0005;而除了DR/BDR以外發送的OSPF包的目标位址為224.0.0.6,這個位址叫AllDRouters.

3.非廣播型(NBMA)網絡 (non-broadcast),由RFC提出的網絡類型,手工配置鄰居,選舉DR/BDR,hello時間30s。

3.1.NBMA網絡,比如X.25,Frame Relay,和ATM,不具備廣播的能力,是以鄰居要人工來指定,在這樣的網絡上要選舉DR和BDR,OSPF包采用unicast的方式

4.點到多點網絡 (point-to-multipoint),由RFC提出,自動發現鄰居,不選舉DR/BDR,hello時間30s。

4.1點到多點網絡 是NBMA網絡的一個特殊配置,可以看成是點到點鍊路的集合. 在這樣的網絡上不選舉DR和BDR.

5.點到多點非廣播,由cisco提出的網絡類型,手動配置鄰居,不選舉DR/BDR,hello時間30s。

6.虛連結: OSPF包是以unicast的方式發送

所有的網絡也可以歸納成2種網絡類型:

  1. 傳輸網絡(Transit Network)
  2. 末梢網絡(Stub Network )

OSPF模式

NBMA 推薦拓撲 子網接口 Hello時間 連結關系 RFC/Cisco
Broadcast Full or partial mesh Same 10 sec Automatic, DR/BDR elected Cisco
Nonbroadcast (NBMA) 30 sec Manual configuration, DR/BDR elected RFC
Point-to-multipoint

Partial-mesh

or star

30 Sec

Automatic,

no DR/BDR

Point-to-multipoint nonbroadcast partial-mesh Manual configuration, no/DR/BDR
Point-to-point Partial-mesh or star, using subinterface Different for Each Subinterface

DR、BDR

在DR和BDR出現之前,每一台路由器和他的所有鄰居成為完全網狀的OSPF鄰接關系,這樣5台路由器之間将需要形成10個鄰接關系,同時将産生20條LSA.而且在多址網絡中,還存在自己發出的LSA 從鄰居的鄰居發回來,導緻網絡上産生很多LSA的拷貝,是以基于這種考慮,産生了DR和BDR.

DR将完成如下工作

  1. 描述這個多址網絡和該網絡上剩下的其他相關路由器.
  2. 管理這個多址網絡上的flooding過程.
  3. 同時為了備援性,還會選取一個BDR,作為雙備份之用.

DR BDR選取規則:DR BDR選取是以接口狀态機的方式觸發的.

  1. 路由器的

    每個多路通路(multi-access)接口都有個路由器優先級(Router

    Priority),8位長的一個整數,範圍是0到255,Cisco路由器預設的優先級是1優先級為0的話将不能選舉為DR/BDR.優先級可以通過命

    令ip ospf priority進行修改.

  2. Hello包裡包含了優先級的字段,還包括了可能成為DR/BDR的相關接口的IP位址.
  3. 當接口在多路通路網絡上初次啟動的時候,它把DR/BDR位址設定為0.0.0.0,同時設定等待計時器(wait timer)的值等于路由器無效間隔(Router Dead Interval).

DR BDR選取過程:

  1. 路由器X在和鄰居建立雙向(2-Way)通信之後,檢查鄰居的Hello包中Priority,DR和BDR字段,列出所有可以參與DR/BDR選舉的鄰居(priority不為0).
  2. 果有一台或多台這樣的路由器宣告自己為BDR(也就是說,在其Hello包中将自己列為BDR,而不是DR),選擇其中擁有最高路由器優先級的成為

    BDR;如果相同,選擇擁有最大路由器辨別的。如果沒有路由器宣告自己為BDR,選擇清單中路由器擁有最高優先級的成為BDR,(同樣排除宣告自己為DR

    的路由器),如果相同,再根據路由器辨別。

  3. 按如下計算網絡上的DR。如果有一台或多台路由器宣告自己為DR(也就是說,在其Hello包中将自己列為DR),選擇其中擁有最高路由器優先級的成為DR;如果相同,選擇擁有最大路由器辨別的。如果沒有路由器宣告自己為DR,将新選舉出的BDR設定為DR。
  4. 如果路由器X新近成為DR或BDR,或者不再成為DR或BDR,重複步驟2和3,然後結束選舉。這樣做是為了確定路由器不會同時宣告自己為DR和BDR。
  5. 要注意的是,當網絡中已經選舉了DR/BDR後,又出現了1台新的優先級更高的路由器,DR/BDR是不會重新選舉的。
  6. 選舉完成後,DRother隻和DR/BDR形成鄰接關系.所有的路由器将多點傳播Hello包到AllSPFRouters位址224.0.0.5以便它們

    能跟蹤其他鄰居的資訊,即DR将泛洪update packet到224.0.0.5;DRother隻多點傳播update

    packet到AllDRouter位址224.0.0.6,隻有DR/BDR監聽這個位址.

簡潔的說:DR的篩選過程

  1. 優先級為0的不參與選舉;
  2. 優先級高的路由器為DR;
  3. 優先級相同時,以router ID 大為DR;

router-ID選舉規則

首先會在該路由器上的所有 環回接口裡選一個IP位址最大的,如果沒有環回接口就選活動的實體接口IP位址最大的。

(隻有在IPV4 的環境下可以自動選舉route-ID 如果是純IPV6環境必須手工指定)

鄰居關系

鄰接關系建立的4個階段:

  1. 鄰居發現階段。
  2. 雙向通信階段:Hello封包都列出了對方的RID,則BC完成。
  3. 資料庫同步階段:主從協商;DD交換;LSA請求;LSA傳播;LSA應答。
  4. 完全鄰接階段: full adjacency。

鄰居關系的建立和維持都是靠Hello包完成的,在一般的網絡類型中,Hello包周期性的以HelloInterval秒發送,有1個例外:在NBMA網絡中,路由器每

經過一個PollInterval周期發送Hello包給狀态為down的鄰居(其他類型的網絡是不會把Hello包發送給狀态為down的路由器

的).Cisco路由器上PollInterval預設120s Hello

Packet以多點傳播的方式發送給224.0.0.5,在NBMA類型,點到多點和虛鍊路類型網絡,以單點傳播發送給鄰居路由器。鄰居可以通過手工配置或者Inverse-ARP發現。

OSPF路由器在完全鄰接之前,所經過的幾個狀态:

  1. Down:此狀态還沒有與其他路由器交換資訊。首先從其ospf接口向外發送hello分組,還并不知道DR(若為廣播網絡)和任何其他路由器。發送hello分組使用多點傳播位址224.0.0.5。
  2. Attempt: 隻适于NBMA網絡,在NBMA網絡中鄰居是手動指定的,在該狀态下,路由器将使用HelloInterval取代PollInterval來發送Hello包。
  3. Init: 表明在DeadInterval裡收到了Hello包,但是2-Way通信仍然沒有建立起來。
  4. two-way: 雙向會話建立,而RID彼此出現在對方的鄰居清單中。(若為廣播網絡:例如:以太網。在這個時候應該選舉DR,BDR。)
  5. ExStart: 資訊交換初始狀态,在這個狀态下,本地路由器和鄰居将建立Master/Slave關系,并确定DD Sequence Number,路由器ID大的的成為Master。
  6. Exchange: 資訊交換狀态,本地路由器和鄰居交換一個或多個DBD分組(也叫DDP),DBD包含有關LSDB中LSA條目的摘要資訊。
  7. Loading: 資訊加載狀态:收到DBD後,将收到的資訊同LSDB中的資訊進行比較。如果DBD中有更新的鍊路狀态條目,則向對方發送一個LSR,用于請求新的LSA。
  8. Full: 完全鄰接狀态,鄰接間的鍊路狀态資料庫同步完成,通過鄰居鍊路狀态請求清單為空且鄰居狀态為Loading判斷。

無法形成鄰接關系的常見原因

  1. Hello間隔和Dead間隔必須相同才能建立鄰接關系。
  2. 區域号碼不一緻。
  3. 特殊區域(如stub和nssa等)區域類型不比對。
  4. 認證類型和密碼不一緻。
  5. 路由器ID相同。
  6. Hello包被ACLdeny。
  7. 鍊路上的MTU不比對。
  8. 接口下OSPF網絡類型不比對。

泛洪與區域

OSPF泛洪

Flooding采用2種封包

LSU Type 4---鍊路狀态更新封包

LSA Type 5---鍊路狀态确認封包

(補充下)

{

Hello Type 1 ---Hello協定封包

DD(Data Description) Type 2----鍊路資料描述封包

LSR Type 3----鍊路狀态請求封包

}

在P-P網絡,路由器是以多點傳播方式将更新封包發送到多點傳播位址224.0.0.5.

在P-MP和虛鍊路網絡,路由器以單點傳播方式将更新封包發送至鄰接鄰居的接口位址.

在廣播型網絡,DRother路由器隻能和

DR&BDR形成鄰接關系,是以更新封包将發送到224.0.0.6,相應的DR以224.0.0.5泛洪LSA并且BDR隻接收LSA,不會确

認和泛洪這些更新,除非DR失效 在NBMA型網絡,LSA以單點傳播方式發送到DR和BDR,并且DR以單點傳播方式發送這些更新.

LSA通過LS類型、LS辨別和宣告路由器來識别,并通過序列号、校驗和、老化時間判斷LSA新舊。

Seq: 序列号(Seq)的範圍是0x80000001到0x7fffffff.

Checksum: 校驗和(Checksum)計算除了Age字段以外的所有字段,每5分鐘校驗1次.

Age: 範圍是0到3600秒,16位長.當路由器發出1個LSA後,就把Age設定為0,當這個LSA經過1台路由器以後,Age就會增加,1個LSA儲存在LSDB中的時候,老化時間也會增加.

當收到相同的LSA的多個執行個體(LS類型、LS辨別、宣告路由器相同)的時候,将通過下面的方法來确定哪個LSA是最新的:

  1. 比較LSA執行個體的序列号,越大的越新.
  2. 如果序列号相同,就比較校驗和,越大越新.
  3. 如果校驗和也相同,就比較老化時間,如果隻有1個LSA擁有MaxAge(3600秒)的老化時間,它就是最新的.
  4. 如果LSA老化時間相差15分鐘以上,(叫做MaxAgeDiff),老化時間越小的越新.
  5. 如果上述都無法區分,則認為這2個LSA是相同的.

區域長度32位,可以用10進制,也可以類似于IP位址的點分十進制,分3種通信量

  1. Intra-Area Traffic:域内通信量
  2. Inter-Area Traffic:域間通信量
  3. External Traffic:外部通信量

路由器類型

  1. Internal Router:域内路由器
  2. ABR(Area Border Router):區域邊界路由器
  3. Backbone Router(BR):骨幹路由器
  4. ASBR(Autonomous System Boundary Router):自治系統邊界路由器.

虛鍊路(Virtual Link)

以下2中情況需要使用到虛鍊路:

  1. 通過一個非骨幹區域連接配接到一個骨幹區域.
  2. 通過一個非骨幹區域連接配接一個分段的骨幹區域兩邊的部分區域.

虛連結是一個邏輯的隧道(Tunnel),配置虛連結的一些規則:

  1. 虛連結必須配置在2個ABR之間.
  2. 虛連結所經過的區域叫Transit Area,它必須擁有完整的路由資訊.
  3. Transit Area不能是Stub Area.
  4. 盡可能的避免使用虛連結,它增加了網絡的複雜程度和加大了排錯的難度.

OSPF區域—OSPF的精華

Link-state 路由在設計時要求需要一個層次性的網絡結構.

OSPF網絡分為以下2個級别的層次:

骨幹區域 (backbone or area 0)

非骨幹區域 (nonbackbone areas)

在一個OSPF區域中隻能有一個骨幹區域,可以有多個非骨幹區域,骨幹區域的區域号為0。

為了避免回環的産生,各非骨幹區域間是不可以交換LSA資訊的,他們隻有與骨幹區域相連,通過骨幹區域互相交換資訊。

非骨幹區域和骨幹區域之間相連的路由叫邊界路由(ABRs-Area

Border

Routers),隻有ABRs記載了接入各區域的所有路由資訊。各非骨幹區域内的非ABRs隻記載了本區域内的路由表,若要與外部區域中的路由相連,隻

能通過本區域的ABRs,由ABRs連到骨幹區域的BR,再由骨幹區域的BR連到要到達的區域。

兩種類型

OSPF LSA類型

1.類型1:Router LSA:每個路由器都将産生Router LSA,這種LSA隻在本區域内傳播,描述了路由器所有的鍊路和接口,狀态和開銷.

2.類型2:Network LSA:在每個多路通路網絡中,DR都會産生這種Network LSA,它隻在産生這條Network LSA的區域泛洪描述了所有和它相連的路由器(包括DR本身)。

3.類型3:Network Summary LSA:由

ABR路由器始發,用于通告該區域外部的目的位址.當其他的路由器收到來自ABR的Network Summary

LSA以後,它不會運作SPF算法,它隻簡單的加上到達那個ABR的開銷和Network Summary

LSA中包含的開銷,通過ABR,到達目标位址的路由和開銷一起被加進路由表裡,這種依賴中間路由器來确定到達目标位址的完全路由(full

route)實際上是距離矢量路由協定的行為。

4.類型4:ASBR Summary LSA:由ABR發出,ASBR彙總LSA除了所通告的目的地是一個ASBR而不是一個網絡外,其他同Network Summary LSA.

5.類型5:AS External LSA:發自ASBR路由器,用來通告到達OSPF自治系統外部的目的地,或者OSPF自治系統那個外部的預設路由的LSA.這種LSA将在全AS内泛洪(4個特殊區域除外)

6.類型6:Group Membership LSA

7.類型7:NSSA External LSA:來自非完全Stub區域(not-so-stubby area)内ASBR路由器始發的LSA通告它隻在NSSA區域内泛洪,這是與LSA-Type5的差別.

8.類型8:External Attributes LSA

9.類型9:Opaque LSA(link-local scope,)

10.類型10:Opaque LSA(area-local scope)

11.類型11:Opaque LSA(AS scope)

OSPF路由類型

  1. 所有路由器都計算前往其所有在區域中每個目的地的最佳路徑,并将他們加入到路由表中。這些是1類LSA和2類LSA,在路由表中用路由訓示符O(OSPF)表示。
  2. 所有路由器都計算前往網際網路絡中其他區域的最佳路徑。在這些路徑是區域間路由(3類和4類LSA),在路由表中用路由訓示燈IA(區域間)表示。
  3. 末節區域内的路由器外,所有路由器都計算前往外部自治系統中目标網絡的最佳路徑(5類)。這些路由是1類外部路由(E1)還是2類外部路由(E2)取決于

    配置。在路由表中,1類外部路由用O E1表示,2類外部路由用O

    E2表示。類似的還有ON1/ON2,與OE1/OE2相同,不過是來自NSSA區域的路由。

OSPF路徑成本

在Cisco路由器中,使用公式100Mbit/帶寬(機關為Mbit)來計算的,但是,在帶寬等于100Mbits的鍊路上,成本為1.在大于100Mbits的鍊路上這個值就不是很好

RouterA(config-if)#ip ospf cost interface-cost

成本越低,鍊路越好

RouterA(config-router)#atuo-cost reference-bandwidth ref-bw

其中cost:1~65535 ref-bw:1~4294967

特殊區域

  1. 特殊區域是指人為定義的一些區域,它們在邏輯中一般位于OSPF區域的邊緣隻與骨幹區域相連。
  2. 常見的特殊區域有以下幾類:

(1)Stub區域

由于并不是每個路由器都需要外部網絡的資訊,為了減少LSA泛洪量和路由

表條目,就建立了末梢區域,位于Stub邊界的ABR将宣告一條預設路由到所有的Stub區域内的内部路由器,不接受自治系統外部資訊,同時也拒絕4類

LSA,Stub區域不能包含ASBR(除非ABR也是ASBR).

(2)Totally Stub區域

Cisco專用區域,不接受自治系統外部路由和自治系統内其他區域彙總路由。

(3)NSSA區域

不接受自治系統外部資訊,但NSSA可以包含ASBR。

(4)Totally NSSA區域

Cisco專用區域,不接受自治系統外部路由和自治系統内其他區域彙總路由

區域限制

  1. 所有位于stub area的

    路由器必須保持LSDB資訊同步,并且它們會在它的Hello包中設定一個值為0的E位(E-bit),是以這些路由器是不會接收E位為1的Hello

    包,也就是說在stub area裡沒有配置成stub router的路由器将不能和其他配置成stub router的路由器建立鄰接關系.

  2. 不能在stub area中配置虛連結(virtual link),并且虛連結不能穿越stub area.
  3. stub area裡的路由器不可以是ASBR.
  4. stub area可以有多個ABR,但是由于預設路由的緣故,内部路由器無法判定哪個ABR才是到達ASBR的最佳選擇.
  5. NSSA

    允許外部路由被宣告OSPF域中來,同時保留Stub

    Area的特征,是以NSSA裡可以有ASBR,ASBR将使用type7-LSA來宣告外部路由,但經過ABR,Type7被轉換為Type5.7類

    LSA通過OSPF報頭的一個P-bit作Tag,如果NSSA裡的ABR收到P位設定為1的NSSA External

    LSA,它将把LSA類型7轉換為LSA類型5.并把它洪泛到其他區域中;如果收到的是P位設定為0的NSSAExternal

    LSA,它将不會轉換成類型5的LSA,并且這個類型7的LSA裡的目标位址也不會被宣告到NSSA的外部NSSA在IOS11.2後支援.

  6. totally stub area完全的stub區域,連類型3的LSA也不接收。

資料包類型和格式

類型号 包 作用 可靠性

1 HELLO 1、用于發現鄰居2、建立鄰接關系3、維持鄰接關系4、確定雙向通信5、選舉DR和BDR

2 Database Description 資料庫的描述 DBD 可靠

3 Link-state Request 鍊路狀态請求包 LSR 可靠

4 Link-state Update 鍊路狀态更新包 LSU 可靠

5 Link-state Acknowledgment 鍊路狀态确認包 LSACK

Hello包的格式如下:

OSPF協定詳解

資料庫描述包的格式如下:

OSPF協定詳解

鍊路狀态請求包格式如下:

OSPF協定詳解

鍊路狀态更新包的格式如下:

OSPF協定詳解

鍊路狀态确認包的格式如下:

OSPF協定詳解

AS 自治系統(autonomous system):一組互相管理下的網絡,它們共享同一個路由選擇方法,自治系統由地區再劃分并必須由IANA配置設定一個單獨的16位數字。地區通常連接配接到其他地區,使用路由器建立一個自治系統。

OSPF基本配置指令

配置LOOPBACK接口位址

ROUTER(config)#interface loopback 0

ROUTER(config)#ip address IP位址 掩碼

  • ospf區域的配置

router ospf 100 /* 區域号在銳捷低端裝置(交換機S3550,路由器R2621)裡是不需要指定區域号的*/

network 192.168.1.0 0.0.0.255 area 0

router-id 192.168.2.1 手動設定router-id

area 1 default-cost 50 手動設定開銷

#clean ip ospf process

  • 配置ospf明文認證

interface s0

ip ospf authentication

ip ospf authentication-key <;密碼>

  • 配置ospf密文認證

ip ospf message-digest-key 1 md5 7 <;密碼>

  • debug ip ospf adj 開啟ospf調試

show ip protocols

show ip ospf interface s0

  • 手動配置接口花銷,帶寬,優先級

inter s0

ip ospf cost 200

bandwidth 100

ip ospf priority 0

  • 虛鍊路的配置

router ospf 100

area <area-id> virtual-link <router-id>

show ip ospf virtual-links

Show ip ospf border-routers

Show ip ospf process-id

Show ip ospf database

show ip ospf database nssa-external

  • OSPF路由歸納

Router ospf 1\\對ASBR外部的路由進行路由歸納

Summary-address 200.9.0.0 255.255.0.0

Router ospf 1\\執行AREA1到AREA0的路由歸納

Area 1 range 192.168.16.0 255.255.252.0

  • 配置末節區域

IR area <area-id> stub

ABR area <area-id> stub

  • 配置完全末節區域

ABR area <area-id> stub no-summary

  • 配置NSSA

ASBR router ospf 100

area 1 nssa

ABR router ospf 100

area 1 nssa default-information-orrginate

OSPF協定主要優點

1、OSPF是真正的LOOP- FREE(無路由自環)路由協定。源自其算法本身的優點。(鍊路狀态及最短路徑樹算法)

2、OSPF收斂速度快:能夠在最短的時間内将路由變化傳遞到整個自治系統。

3、提出區域(area)劃分的概念,将自治系統劃分為不同區域後,通過區域之間的對路由資訊的摘要,大大減少了需傳遞的路由資訊數量。也使得路由資訊不會随網絡規模的擴大而急劇膨脹。

4、将協定自身的開銷控制到最小。見下:

1)用于發現和維護鄰居關系的是定期發送的是不含路由資訊的hello封包,非常短小。包含路由資訊的封包時是觸發更新的機制。(有路由變化時才會發送)。但為了增強協定的健壯性,每1800秒全部重發一次。

2)在廣播網絡中,使用多點傳播位址(而非廣播)發送封包,減少對其它不運作ospf 的網絡裝置的幹擾。

3)在各類可以多址通路的網絡中(廣播,NBMA),通過選舉DR,使同網段的路由器之間的路由交換(同步)次數由 O(N*N)次減少為 O (N)次。

4)提出NSSA區域的概念,使得NSSA區域内不再傳播引入的ASE路由。

5)在ABR(區域邊界路由器)上支援路由聚合,進一步減少區域間的路由資訊傳遞。

6)在點到點接口類型中,通過配置按需撥号屬性(OSPF over On Demand Circuits),使得ospf不再定時發送hello封包及定期更新路由資訊。隻在網絡拓撲真正變化時才發送更新資訊。

5、通過嚴格劃分路由的級别(共分四極),提供更可信的路由選擇。

6、良好的安全性,ospf支援基于接口的明文及md5 驗證。

7、OSPF适應各種規模的網絡,最多可達數千台。

OSPF協定詳解

如果這篇文章幫助到了你,你可以請作者喝一杯咖啡

OSPF協定詳解