18.1 OSPF動態路由協議

OSPF動態路由協議

一 OSPF路由協議介紹

·鏈路狀態路由協議的概念:OSPF路由協議屬於距離矢量路由協議類型;通過與鄰居路由器建立鄰接關係,相互傳遞路由狀態信息,來了解整個網絡的拓撲結構,從而能分析出最優路徑,更新自己的路由表

鄰居路由器:直連路由器

鏈路狀態數據庫:也叫拓撲數據庫,包含所有路由器、路由器的鏈路以及這些鏈路的狀態,和所有網絡以及到達這些網絡的路徑

鄰接關係:當兩臺運行OSPF協議的鄰居路由器的鏈路狀態數據庫達到一致時,它們就是完全鄰接的

·OSPF路由協議概述:開放式最短路徑優先協議,是基於開放標準的鏈路狀態路由選擇協議,它完成各路由選擇協議算法的兩大主要功能:路徑選擇和路徑交換

1 OSPF是內部網關路由協議:OSPF運行在AS中(擁有相同路由協議的一些路由器的集合叫做AS,自治系統);也包括RIP協議;與之對應的也有外部網關路由協議,如圖

2 OSPF區域:OSPF將自治系統分割成多個小的區域,OSPF路由器只在區域內部學習完整的鏈路狀態信息,而不必瞭解整個自治系統內部所有的鏈路狀態

區域ID:區域ID可以表示成一個十進制的數字、也可以表示成一個IP

骨幹區域(區域0):自治系統內部會指定一個骨幹區域來連接其他所有區域;用來連接骨幹區域和其他區域的路由器叫做區域邊界路由器

3 Router ID:標記OSPF中的路由器的標識;Router ID選取規則:

首先,選取路由器loopback接口上數值最高的IP地址

如果沒有loopback接口,在物理端口中選取IP地址最高的

也可以使用router-id命令指定Router ID

4 度量值:OSPF的用來度量路徑優劣的度量值成爲Cost(開銷);COST= 108/BW;最短路徑是基於接口指定的代價(cost)計算的

二 OSPF路由協議工作過程和原理

·OSPF工作過程:運行OSPF的路由器與鄰居路由器建立連接關係,再鄰居之間互相同步鏈路狀態數據庫;使用最短路徑算法,從鏈路狀態信息計算得到一個以自己爲樹根的最短路徑樹,到最後每一臺路由器都將從最短路徑中構建出自己的路由表;於是根據路由錶轉發數據

鄰居列表:列出每臺路由器已經建立鄰接關係的全部鄰居路由器

鏈路狀態數據庫:列出網絡中其他路由器的信息,顯示了全網絡的拓撲

路由表:列出通過算法計算出的到達每個相連網絡的最佳路徑

·DR和DBR:在複雜的拓撲中,每臺路由器都要與其他所有的鄰居路由器互相傳遞鏈路狀態信息,這樣大大的浪費了網絡資源,因此可以在這個網段上選舉一個指定的路由器DR,由DR同網絡中的路由器建立鏈接關係,並負責將網絡上的變化告訴它們;爲了實現冗餘,當DR失效時,需要有一個指定的路由器來接替它,這個備份路由器就是DBR;網絡上所有的路由器將和DR、DBR同時形成鄰接關係,DR和DBR之間也形成鄰接關係

1 DR和DBR的選舉(針對接口而言)

·自動選舉DR和BDR

網段(同一個網段)上Router ID最大的路由器將被選舉爲DR,第二大的將被選舉爲BDR

·手工選擇DR和BDR

優先級範圍是0~255,數值越大,優先級越高,默認爲1

如果優先級相同,則需要比較Router ID

如果路由器的優先級被設置爲0,它將不參與DR和DBR的選舉

2 DR和DBR的選舉過程

當一臺OSPF路由器啓動時,它先去檢查有效的DR和DBR;如果DR和DBR已存在,則不管它的優先級多高,也只能接受;如果不存在,則重新自動選舉;如果DR失效,則BDR提升爲DR,然後再選舉一個BDR

3 OSPF的組播地址

當選舉結束後,其他路由器只與DR和DBR會形成鄰接關係;做地址224.0.0.5代表所有參與OSPF的路由器,而組播地址224.0.0.6只有DR和DBR去監聽這個地址

·OSPF工作原理

OSPF數據包

承載在IP數據包內,使用協議號89

OSPF的包類型

·OSPF鄰接關係的建立(路由表的形成)

1 OSPF啓動的第一個階段是使用Hello報文建立雙向通信的過程

2 OSPF啓動的第二個階段是建立完全鄰接關係

3 路由器中的鏈路狀態數據庫已經一致,路由器可以根據這個一致的鏈路狀態數據庫通過最短路徑優先算法計算出最佳路徑並形成路由表

三 OSPF的應用

·OSPF的網絡類型:OSPF將網絡劃分爲四種類型    

點到點網絡(Point-to-Point)

廣播多路訪問網絡(Broadcast MultiAccess,BMA)

非廣播多路訪問網絡(None Broadcast MultiAccess,NBMA)

點到多點網絡(Point-to-Multipoint)

·OSPF的應用環境:從以下幾方面考慮OSPF的使用

網絡規模

網絡拓撲

其他特殊要求

路由器自身要求

·OSPF的特點

可適應大規模網絡

路由變化收斂速度快

無路由環

支持變長子網掩碼VLSM

支持區域劃分

支持以組播地址發送協議報

·OSPF與RIP的比較

四 OSPF單域的配置

啓動OSPF路由進程

Router(config)# router ospf process-id

process-id:進程號,範圍1~65535之間

例如Router(config)# router ospf 1

指定OSPF協議運行的接口和所在的區域:

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

inverse-mask:反碼

area-id:區域號,可以是0、1、2......

例如Router(config-router)# network 192.168.1.0 255.255.255.0 area 0

修改接口的優先級

Router(config-if)#ip ospf priority priority

Priority:默認爲1,範文0~255,爲0時表示不參與DR與DBR的競爭

如Router(config-if)#ip ospf priority 0

修改接口的Cost值

Router(config-if)#ip ospf cost cost

Cost:開銷大小,範圍1~65535

如Router(config-if)#ip ospf cost 1000

清除OSPF配置

R1(config)#no ip ospf

查看路由表

Router#show ip route

查看鄰居列表及其狀態

Router#show ip ospf neighbor

查看OSPF的配置

Router#show ip ospf

查看OSPF接口的數據結構

Router#show ip ospf interface type number

如R1#show ip ospf int f0/0

五 實驗

實驗目的:配置OSPF,實現全網互通

實驗環境:如圖

實驗要求:

1 配置默認OSPF,實現全網互通,並說明哪一個是DR、DBR

2要求通過指定Router ID,將路由器R2指定爲DR,將路由器R1指定爲BDR

3要求通過設置接口優先級將路由器R1指定爲DR,將路由器R2指定爲BDR

實驗步驟:

要求1

配置R1

基本配置

R1>en

R1#conf t

R1(config)#int f1/0

R1(config-if)#ip add 192.168.1.1 255.255.255.0

R1(config-if)#no shu

R1(config-if)#int f0/0

R1(config-if)#ip add 10.0.0.1 255.0.0.0

R1(config-if)#no shu

R1(config-if)#exit

OSPF配置

R1(config)#router ospf 1

R1(config-router)#network 192.168.1.0 0.0.0.255 area 0

R1(config-router)#network 10.0.0.0 0.255.255.255 area 0

配置R2

基本配置

R2>en

R2#conf t

R2(config)#int f0/0

R2(config-if)#ip add 10.0.0.2 255.0.0.0

R2(config-if)#no shu

R2(config)#int f1/0

R2(config-if)#ip add 20.0.0.1 255.255.255.0

R2(config-if)#no shu

R2(config-if)#exit

OSPF配置

R2(config)#router ospf 1

R2(config-router)#network 10.0.0.0 0.255.255.255 area 0

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

配置R3

基本配置

R3>en

R3#conf t

R3(config)#int f1/0

R3(config-if)#ip add 20.0.1.2 255.255.255.0

R3(config-if)#no shu

R3(config-if)#int f0/0

R3(config-if)#ip add 192.168.2.1 255.255.255.0

R3(config-if)#no shu

R3(config-if)#exit

OSPF配置

R3(config)#router ospf 1

R3(config-router)#network 20.0.1.0 0.255.255.255 area 0

R3(config-router)#network 192.168.2.0 0.0.0.255 area 0

測試:使用C1 pingC2成功;使用show ip ospf int f0/0查看並分析DR和BDR角色

分析:默認情況下優先級都相同,所以只考慮IP地址

·首先在每個路由器上選舉IP地址最大的爲Router ID,R1爲192.168.1.1、R2爲20.0.1.1、R3爲192.168.2.1;使用show ip ospf neighbor驗證。

·然後在每個網段上作比較,routerID大的爲DR,次之的爲BDR;但是當DR和BDR產生後,後接入的路由器則不參與競爭

    192.168.1.0網段上只有一個R1的routerID,所以它的DR爲R1,沒有BDR

    10.0.0.0/8網段上,R1的routerID大於R2routerID,所以它的DR爲R1,BDR爲R2

    20.0.1.0/24網段,由於當R3接入時已經產生了DR和BDR,所以即使R3的routerID大於R2,但是這個網段的DR還是R2,BDR是R3;使用show show ip ospf int f0/0驗證

要求2:配置要求2時,環境最好是初始狀態,或者清除之前的自動選舉配置

關閉與其他路由器相連的接口,指定RouterID

配置R1

R1(config-if)#int f0/0

R1(config-if)#shu

R1(config)#router ospf 1

R1(config-router)#router-id 10.0.0.1

配置R2

R2(config-if)#int f0/0

R2(config-if)#shu

R2(config)#router ospf 1

R2(config-router)#router-id 20.0.1.1

配置R3

R3(config-if)#int f1/0

R3(config-if)#shu

R3(config)#router ospf 1

R3(config-router)#router-id 192.168.2.1

先開啓R1和R2的接口,(30秒之後)再開啓R3接口,並驗證DR和BDR

要求3

更改R1的優先級爲2,同時關閉R1和R2的接口在開啓接口

配置R1

R1(config)#int f0/0

R1(config-if)#ip ospf priority 2

R1(config-if)#shu

配置R2

R2(config)#int f0/0

R2(config-if)#shu

開啓後驗證查看DR和BDR,已經改變

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