OSPF動態路由協議


OSPF動態路由協議

鏈路:當一個接口被加入到OSPF進程中時,就變成了一個鏈路。

路由ID:用來標識路由器的IP地址,首可以指定,如果沒有,則用環回接口的最高IP地址,如果沒有環回地址,則用激活接口的最高IP地址。

鄰居:同一物理網段的路由器。

鄰接關系:鄰居之間交換LSA,當鄰居關系LSDB同步后,形成了鄰接關系。

DR/DBR:講解如下:

一:名詞解釋

  DR:designated router 指定路由器。

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

二:DR/BDR出現的緣由

  在廣播網和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,雖然一樣需要較長的時間,但並不會影響路由的計算.DR和BDR之外的路由器(稱為DR Other)之間將不再建立鄰接關系,也不再交換任何路由信息.這樣就減少了廣播網和NBMA網絡上各路由器之間鄰接關系的數量.

    如下圖所示,用實線代表以太網物理連接,虛線代表建立的鄰接關系.可以看到,采用DR/BDR機制后,5台路由器之間只需要建立7個鄰接關系就可以了.

在一個LAN 連接中,OSPF將選舉出一個路由器做為DR,再選舉一個做為BDR,所有其他的和DR以及BDR相連的路由器形成完全鄰接狀態而且只傳輸LSA(鏈路狀態通告)給DR和BDR。

  換句話說,在一個OSPF的網絡中,所有的路由器將被分為兩類:指定路由器(DR/BDR)和非指定路由器(DROTHER)。所有的非指定路由器都要和指定路由器建立鄰居關系,並且把自己的LAS發送給DR,而其他的OSPF路由器將不會相互之間建立鄰居關系。也就是說,OSPF網絡中,DR和BDR的LSDB(鏈路狀態數據庫)將會包含有整個網絡的完整拓撲。|

  DR從鄰居處轉發更新到另外一個鄰居那里。DR的主要功能就是在一個LAN內的所有路由器擁有相同的數據庫,而且把完整的數據庫信息發送給新加入的路由器。路由器之間還會和LAN內的其他路由器(非DR/BDR,即DROTHERs)維持一種部分鄰居關系(two-way adjacency)。OSPF 的鄰接一旦形成以后,會交換LSA來同步LSDB,LSA將進行可靠的洪泛。

三: DR/BDR的選舉

  當選舉DR/BDR的時候要比較hello包中的優先級priority(設置命令route(config-if)#ip ospf cost{priority} 0~255),優先級最高的為DR,次高的為BDR。不作修改默認端口上的優先級都為1,在優先級相同的情況下比較Router ID,RID最高者為DR,次高者為BDR,當你把相應端口優先級設為0時,OSPF路由器將不能再成為DR/BDR,只能為DROTHER。

  在使用默認優先級的OSPF的DR選舉中,所有的路由器之間會交換自己的ROUTER-ID來確定DR。ROUTER-ID可以手工指定。如果沒有手工指定ROUTER-ID的話,那么路由器會先看自己有沒有環回接口(Loopback),如果有環回接口,則使用環回接口上的IP地址作為自己的ROUTER-ID。如果沒有環回接口的話,則會去比較自己所有物理接口上的IP地址,並從中選擇最大的一個IP地址作為自己的ROUTER-ID來參與DR的選舉。

  那么,DR和BDR的選舉就可以用以下的方式來決定:

  1 首先比較優先級,優先級相同時,如果有手工指定的ROUTER-ID,則使用該ROUTER-ID參與選舉;

  2 如果沒有手工指定的ROUTER-ID,則看自己有沒有Loopback接口,有則使用Loopback接口上的IP作為ROUTER-ID參與選舉;

  3 如果沒有Loopback接口,則比較所有的物理接口,並使用其中最大的IP作為ROUTER-ID參與選舉;

  4 所有的OSPF路由器交換自己的ROUTER-ID,具有所有ROUTER-ID中最大一個的路由器將作為DR,具有次大ROUTER-ID的路由器則成為BDR。

 OSPF執行過程:

  1. 用目的地址224.0.0.5交換LSA
  2. 通過LSA建立鄰接關系,同步LSDB。注:在LAN中,在建立鄰接關系的時候,是直接選舉DB/DBR,通過ROUTERID。之后所有的DBother與DB/DBR發送LSA。這時候,DBother的目的地址為224.0.0.6,DB/DBR的目的地址為224.0.0.5。
  3. 執行SPF算法,生成SPF樹。生成路由表。

OSPF的配置:

#進入ospf配置環境

R2(config-router)router ospf 1

#通告直連網絡,注意用通配符掩碼

R2(config-router)#network 10.1.0.0 0.0.0.255 area 0

R2(config-router)#network 10.3.0.0 0.0.0.255 area 0

R2(config-router)#network 10.3.0.0 0.0.0.255 area 0

R2(config-router)#network 10.13.0.0 0.0.255.255 area 0

#配置接口

Ruijie (config)# interface interface-id   //Enter the interface configuration mode.
Ruijie (config-if)# ip ospf cost cost-value  //(Optional) Define the interface cost,用來作為ospf的spf的度量值
Ruijie (config-if)#ip ospf hello-interval seconds  //(Optional) Set the Hello message send interval, which must be the same for all the nodes of the entire network.
Ruijie (config-if)#ip ospf dead-interval seconds //(Optional) Set the dead interval for the adjacent router, which must be the same for all the nodes of the entire network.
Ruijie (config-if)#ip ospf priority number  //用來作為選舉DR/DBR的優先級

OSPF匯總

ASBR上實現匯總,即匯總外部路由

summary-address ip-address mask[not-advertise | tag tag-id]  //Configure the external route summary,注意,ip和mask是外部路由

從其他區域匯總到Area0

area area-id range ip-address mask //例如,area1的ip和mask,匯總后發送到Area0,area 1 range 被匯總的ip 被匯總的掩碼

OSPF驗證

有鏈路驗證和區域驗證

1、接口級別的驗證(明文驗證)

Configuration of RouterA:
RouterA(config)#int s1/0
RouterA(config-if)#ip ospf authentication  #開啟接口級別的驗證
RouterA(config-if)#ip ospf authentication-key hello  #配置驗證口令

Configuration of RouterB:
RouterB(config)#int s0/2
RouterB(config-if)#ip ospf authentication
RouterB(config-if)#ip ospf authentication-key hello

2、區域驗證(MD5驗證)

RouterB(config)#router ospf 1
RouterB(config-router)#area 1 authentication message-digest  #開啟區域驗證
Router C(config)#router ospf 1
Router C(config-router)#area 1 authentication message-digest

RouterB(config)#interface Ethernet 0/1
RouterB(config-if-Ethernet 0/1)#ip ospf message-digest-key 1 md5 hello2 #接口上配置驗證口令
RouterC(config)#interface Ethernet 1/21
RouterC(config-if-Ethernet 0/1)#ip ospf message-digest-key 1 md5 hello2

OSPF基礎調試命令

  1. show ip protocols
  2. show ip ospf
  3. show ip ospf interface
  4. debug ip ospf

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM