天天看點

鍊路狀态路由協定

一,鍊路狀态路由協定概述

1,鍊路狀态路由協定特性

 距離矢量路由協定通告的是整個路由表,而鍊路狀态路由協定卻不一樣.

 鍊路狀态路由協定之間傳遞的是鍊路狀态通告,路由器将收集好的鍊路狀态進行一系列的運算得到到達每個目的網絡的最短的路徑,進而形成路由表.

2,鍊路狀态路由協定的相關術語

 A) 鍊路:link 路由器接口間的連線,在OSPF中也叫接口

 B) 鍊路狀态:link state 接口的二層和三層資訊。如端口是否為down,帶寬,延時等

 C) 鍊路狀态通告:link state advertisement(LSA) 鍊路狀态資訊的描述封包(用于描述鍊路的狀态資訊)

 D) 鍊路狀态更新封包:link state update(LSU) LSA通過LSU傳遞給其它的鄰居路由器

 E) 鄰居:neighber 在同一線路上都有接口的路由器,即實體鄰居

 F) 鄰居關系(鄰接):adjacency 實體鄰居間發送hello包交換彼此資訊并符合彼此條件後建立的鄰居(邏輯鄰居--鄰接)

二,鍊路狀态路由協定的資料結構

 鍊路狀态路由協定中有3張表(資料庫)

 A) 鄰居表(鄰居資料庫):裡面主要存放鄰居(包括非鄰接狀态的鄰居)資訊.其中鄰接狀态的鄰居是LSA的發送對象

 B) 拓撲表(鍊路狀态資料庫):裡面存放的是鍊路狀态通告,當一個網絡收斂後,區域裡所有的路由器有相同的LSDB,這裡面的資訊也是生成路由表的原始素材

 C) 路由表(轉發資料庫):通過對LSDB進行SPF計算後,所得到的到達每個目的網絡的最短路徑資訊的存儲地(即路由資訊).

***************

三張表的關系為:

運作鍊路狀态路由協定的路由器通過發送hello資訊來發現鄰居(實體鄰居),如果hello資訊中的關鍵字段比對了則可形成鄰接關系(邏輯鄰居);路由器隻對形成了鄰接關系的鄰居發送LSA,路由器将收到的LSA存放在自己的LSDB中,待LSDB穩定後進行一系列的運算,得到到達每個目的網絡的最短的路徑的資訊(路由條目),并将其存放在路由表中.

***************

1,資料結構----網絡層次

 OSPF路由協定是一個階層化的網絡結構,其通過區域來劃分層次.主要有兩種區域:主幹區域(backbone area)和非主幹區域(nonbackbone area).一個OSPF自治系統中隻能有一個主幹區域,可有多個非主幹區域;非主幹區域必須與主幹區域直連,非主幹區域之間不能直連,要通信必須由主幹區域轉發.區域的編号為4個位元組

 A) 區域的作用:

使路由表最小化

使拓撲結構變化本地化

将LSA泛洪限制在區域内

要求對網絡進行階層化設計

 B) 在區域中路由器的類型有:

區域内部路由器(internal router):是指所有接口都屬于同一個區域的路由器

區域邊界路由器(area border brouter ABR):是指連接配接一個或者多個區域到主幹區域的路由器,并且這些路由器會作為域間通信量的路由網關

自治系統邊界路由器(autonomous system bonundary router ASBR):可以認為是OSPF域外部的通信量進行OSPF域的網關路由器.

2,資料結構----鄰居資料庫

 鍊路狀态路由協定中的路由器通過交換hello包來發現鄰居,路由器檢查hello包裡的某幾個參數或選項後宣告鄰居建立.

A) 點到點廣域網鍊路中:兩個鄰居建立完全鄰居關系(即鄰接關系)

B) 廣播型鍊路中:路由器與DR和BDR形成完全鄰居關系,與其它路由器(DRothers)維持two-way狀态

 路由器用hello包進行建立和維護鄰居關系.hello包時間:

網絡類型 預設間隔時間 預設死亡時間

廣播網絡 10S  40S

點對點網絡 10S  40S

非廣播多路通路網絡 30S 120S

3,資料結構----路由算法(SPF)

 當路由器的LSDB穩定後,OSPF協定會對其進行SPF運算,得到到達目的地最好的路徑:

在區域裡的每台路由器有相同的LSDB

在區域裡的各個路由器把自己作為SPF樹的根

關于連接配接到特定目的地鍊路最低總成本的最好路徑被計算出來

最好路徑被放進轉發資料庫裡(路由表中)

***********

OSPF的metric值為cost值,預設為:10^8/帶寬

***********

4,資料結構----LSA的操作

 主要是檢視版本号,根據LSA的版本号來進行操作

三,OSPF鄰居關系的建立

1,OSPF資料包的類型(5種):

 A) hello包:用于發現/建立/維護鄰居關系

 B) DBD(database description):鍊路狀态資料庫描述封包.

 C) LSR(link state requst):鍊路狀态請求封包,主要是向鄰居查詢某一鍊路的詳細資訊

 D) LSU(link state update):鍊路狀态更新封包,路由器用LSU回應鄰居發來的LSR

 E) LSACK(link state acknowledgement):鍊路狀态确認封包,即當自己收到鄰居傳來的LSU時,對鄰居發出一個确認資訊.

2,OSPF包格式:

 OSPF協定工作在網絡層,其協定号為89

3,鄰居關系的建立

 路由器用hello包進行建立和維護鄰居關系.hello使用多點傳播發送,多點傳播位址為224.0.0.5

 A) hello包中的字段

Router ID   路由器ID是在OSPF區域内唯一辨別一台路由器的IP位址

Hello/dead intervals * hello包的間隔及存活時間

Neighbors   鄰居(包含實體鄰居)清單資訊

Area-ID   * 區域ID

Router priority   路由口的優先級

DR IP address   DR(Designated Router 指定路由器)的IP位址

BDR IP address   BDR(Backup Designated Router 備份指定路由器)的IP位址

Authentication password * 認證密碼

Stub area flag  * 末節區域标記

    其中打*的字段資訊必須一緻,才有可能形成完全鄰居關系

 B) 多路通路網絡中的DR和BDR的選舉

在多路通路網絡中(廣播網絡及非廣播多路通路網絡[NBMA]),路由器的角色有三種:

 DR(designated router):指定路由器

 BDR(backup designated router):備份指定路由器

 DRother:非指定路由器

    DRother路由器隻能與DR及BDR形成完全鄰居關系,DRother之間隻能維持在two-way狀态.這樣主要是為了避免LSA的泛洪

    DR和BDR的選舉有兩個因素:優先級和路由器ID

優先級:優先級高的為DR.範圍:0~255,預設為1,0表示路由器不參與DR/BDR選舉

 可用指令更改優先級:(config-if)#ip ospf priority number

路由器ID:當優先級一樣時,路由器ID高的為DR.路由器ID的選舉:

   1) 手動指定:(config-router)#router-id IP位址

 2) 選擇loopback接口中最大的IP位址

 3) 選擇已激活的實體接口中最大的IP位址

***************

DR和BDR不具搶占性.

Router ID不具搶占性.

在此網絡中使用的多點傳播位址有兩個:

224.0.0.5 ALLSPFRouter位址.即所有SPF路由器都會接收此位址的資訊

224.0.0.6 ALLDRouter位址.即隻有DR/BDR路由器接收此位址的資訊,DRother路由器不接收此位址的資訊

***************

  C) 鄰居關系的建立

down state

init state 一台路由器向外發送HELLOL包

two-way state 路由器從鄰居的HELLO包中看到自己的資訊(多路通路路由中會在此時進行DR/BDR選舉)

exstart state 準交換狀态.路由器選舉主/從關系,即由誰主導LSDB的同步

exchange state 交換狀态,互相交換DBD封包

loading state 請求并加載鍊路的詳細資訊

full state 完全狀态

四,路由資訊的維護

1,在點對點網絡中,路由器都是通過224.0.0.5來進行路由資訊的更新與維護的.而在多路通路網絡中,DRother路由器通過224.0.0.6将資訊告知給它的鄰居(DR/BDR),DR路由器通過224.0.0.5将資訊告知給它的鄰居(BDR及DRother).

2,鍊路狀态資料庫的維護

 LSA的序列号:4個位元組.從0x80000001到0x7FFFFFFF結束

 LSA的更新有觸發更新和周期性更新兩種,更新周期為30分鐘,老化時間為1小時.

五,單區域OSPF的配置

(config)#router ospf 程序ID

(config-router)#network 網絡ID 通配符掩碼 area 區域ID

#show ip protocol

#show ip route ospf

#show ip ospf interface

#show ip ospf neighbors

**********************************************