天天看點

OSPF-1

OSPF是一個鍊路狀态路由協定,使用IP協定号89。鍊路狀态路由協定對于距離矢量路由來說,鍊路狀态路由協定的路由資訊是根據網絡的鍊路狀态,通過算法自己計算出來的;距離矢量路由的路由資訊是依靠從鄰居學習來的。

OSPF的管理距離是110,OSPF隻支援等價負載均衡,最多6條執行負載均衡。

OSPF支援CIDR 和VLSM。

OSPF支援認證,并且支援明文和MD5認證。

OSPF采用增量更新,即隻有在路由有變化時,才會發送路由,并且發送的是有變化的路由資訊。

OSPF路由的定期更新周期預設為30分鐘。

一台路由器可以運作多個不同的OSPF程序,不同的OSPF程序間要互相擷取路由資訊,則需要進行路由重分布。

OSPF術語

1、  Router id

用于在OSPF中辨別各個路由器,router id的選舉規則如下:手工指定ROUTER ID、如果沒有手工指定,則選擇LOOPBACK位址最大的、如果沒有配置LOOPBACK位址,則選擇實體接口IP位址最大的。

2、   COST

OSPF使用接口帶寬來計算metric,100M/接口帶寬,機關為bit/s;COST值也可以通過手動指定,手動指定的COST優先于自動計算的COST

3、  OSPF區域

OSPF采用分區域的方式來計算路由;OSPF區域要求所有的分支區域必須與骨幹區域相連,因為它們需要通過骨幹區域來傳遞不同區域的路由資訊;OSPF區域是基于接口劃分的,是以一台路由器可以同時屬于多個區域

4、  ABR/ASBR

ABR是連接配接兩個不同OSPF區域的路由器;ASBR是連接配接OSPF區域與外部路由協定的路由器

OSPF路由表

1、  路由的表示

如果是同區域的路由,用O來表示

如果是不同區域的路由,用O IA表示

如果是由外部路由協定重分布進的路由,則用O E1或者O E2表示

2、  路由的優先級

O----O IA-----O E1-----O E2

OSPF鄰居

要想在OSPF路由器間互相交換LSA,必須先建立OSPF鄰居。OSPF鄰居是靠發送HELLO包來建立和維護,OSPF路由器會在接口上周期性的發送HELLO包,如果一台路由器超過4倍的HELLO時間沒有收到HELLO包,鄰居關系将會斷開。

OSPF鄰居建立的4個條件:

1、  區域ID必須相同

2、  HELLO和INTERVAL 時間間隔必須相同

3、  路由器必須同處于一個末節區域内

4、  如果存在認證,認證必須通過

OSPF路由器隻能使用primary 位址建立鄰居

DR/BDR

在多路通路網絡中,例如以太網,為了減少LSA傳播數量,需要在多路通路網絡中選擇出一台DR,所有的非DR路由器與DR互相建立鄰接關系,進而減少LSA的傳播數量。網絡中除了選擇DR外,還要選擇出一台DR的備份路由器,稱為BDR。

DR和BDR的選擇是在多路由通路網段中才會出現的,而且DR和BDR是在一個二層網段内選舉的,如果一個區域記憶體在多個二層網段,則會選擇多個DR和BDR

DR和BDR的選舉規則:

1、  比較接口優先級,優先級最高的為DR,次之為BDR;優先級範圍是0-255,預設為1;如果優先級為0,則表示該路由器沒有資格選擇DR和BDR

2、  比較ROUTER ID大小,如果優先級相同,則選擇ROUTER ID最大的為DR,次之為BDR,數字越大優先級越高

DR失效後,會重新選舉DR和BDR,而BDR失效後,隻會重新選舉BDR。

所有運作OSPF的路由器使用多點傳播位址224.0.0.5表示,DR和BDR則使用多點傳播位址224.0.0.6表示。

OSPF的資料包

1、  HELLO

OSPF使用HELLO包建立和維護鄰居關系

2、  DBD

當鄰居建立後,OSPF路由器會使用DBD描述自己的鍊路資料庫概述資訊并将其發送給自己的鄰居

3、  LSR

當路由器需要鄰居鍊路狀态資料庫的具體描述資訊時,會向鄰居發送LSR請求

4、  LSU

當鄰居收到LSR請求資訊,會以LSU資訊回複,即發送鄰居請求的LSR資訊

5、  LSACK—LSDB

當鄰居收到LSU資訊後,會發送一個LSACK作為确認回複。經過反複的LSR/LSU發送

,最終雙方路由器形成相同的鍊路狀态資料庫,OSPF路由器會依據些鍊路狀态資料庫計算出到達各個目的地的最佳路徑并存入路由表。

OSPF啟動過程

路由器從運作OSPF程序開始,直到根據鍊路狀态資料庫計算出路由表,共需要經曆8個不同的過程,分别是:

DOWN----ATTEMPT----INIT----TWO-WAY----EXSTART----EXCHANGE----LOADING----FULL

DOWN:路由器剛剛啟動OSPF程序,還沒有從任何路由器處收到任何資料包,這時路由器可以發送HELLO包,以試圖發現鄰居

ATTEMPT:OSPF使用多點傳播來發送資料包,如果在多點傳播不能發送的網絡中,例如幀中繼網絡,則需要指定OSPF使用單點傳播向鄰居發送HELLO包,試圖建立鄰居關系,在這種狀态下,稱為ATTEMPT狀态。

INIT:隻是路由器一方收到了HELLO包

TWO-WAY:雙方已經互相交換了HELLO包,表示鄰居關系已經建立完畢,如果需要選舉DR和BDR的網絡,此時也已經選擇完畢,但并不表示它們會交換LSA,如果不需要交換LSA的路由器,例如DROTHER間,則一直停留在此狀态。

EXSTART:OSPF鄰居在交換完整的LSA前,會先發送DBD,鄰居間是誰先發送,誰後發送,是需要在EXSTART狀态下确立的事情

EXCHANGE:OSPF路由器鄰居雙方互相交換DBD的過程

LOADING:鄰居根據收到的LSR,向對方回複LSU

FULL:雙方交換完整的LSA資訊,進行路由表的計算