OSPF配置實驗

單區域OSPF

命令:

R1(config)#router ospf 1        //啓動OSPF進程

R1(config-router)#router-id 1.1.1.1        //配置路由器ID

R1(config-router)#network 172.16.1.0 0.0.0.255 area 0        //通告直連網絡

R1(config-router)#network 172.16.1.0 255.255.255.0 area 0        //通告直連網絡

說明:網絡地址的後面即可以跟通配符掩碼,在高版本IOS中也可以跟網絡掩碼,IOS會自動轉換成通配符掩碼。

OSPF配置實驗(一)
R1(config)#router ospf 1

R1(config-router)#router-id 1.1.1.1

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

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

R2(config)#router ospf 1

R2(config-router)#router-id 2.2.2.2

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

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

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

R3(config)#router ospf 1

R3(config-router)#router-id 3.3.3.3

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

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

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

R4(config)#router ospf 1

R4(config-router)#router-id 4.4.4.4

R4(config-router)#network 172.16.4.0 0.0.0.255 area 0

R4(config-router)#network 172.16.34.0 0.0.0.255 area 0

說明:

1.OSPF路由進程ID的範圍在1-65535之間,而且只有本地含義,不同路由器的路由進程ID可以不同。如果要想啓

  動OSPF路由進程,至少確保有一個接口是up的。同一臺路由器上可以啓動多個OSPF進程,但會消耗更多的CPU

  和內存等資源。

2.區域ID是0-4294967295的數,也可以是IP地址的格式A.B.C.D。當網絡區域爲0或0.0.0.0時稱爲主幹區域。

3.Router ID選擇遵循如下順序:

  1>最優先的是在OSPF進程中使用“router-id”指定了RID;

  2>如果沒有在OSPF進程中指定RID,則選擇IP地址最大的環回接口的IP地址爲RID;

  3>如果沒有環回接口,則選擇活動的IP地址最大的物理接口的IP地址爲RID。

     ①如果使用“secondary”配置IP地址時,該地址不起作用,即不參與RID競選;

     ②使用“router-id”後,應使用命令“clear ip ospf process”重置ospf進程,新配置的RID才能生效;

     ③2、3步只有在下次重啓路由器時纔會生效,即後來加入大的IP地址也不能選舉爲RID直到路由器重啓。

4.Router ID重新選舉規則:

  1>使用“router-id”和“clear ip ospf process”命令;

  2>重啓路由器(不一定)。

實驗調試

R1#show ip route ospf 1        //查看OSPF路由表

OSPF配置實驗(一)
以上輸出結果表明在同一個區域內,通過OSPF路由協議學習到的路由條目用代碼“O”表示。

OSPF度量值cost計算公式 = 所有鏈路入接口的cost之和

接口cost計算公式 = 108/帶寬(bps)取整;環回接口的cost值爲1

說明:

1.環回接口所在網絡的OSPF路由條目的掩碼長度都是32位,這是環回接口的特性,儘管通告了24位,解決的辦法

  是在環回接口下修改網絡類型爲“Point-to-Point”這樣收到的路由條目的掩碼長度和通告的就能一致:

  R1(config-if)#ip ospf network point-to-point        //設置網絡類型爲點到點網絡

  OSPF配置實驗(一)

  OSPF定義了6種網絡類型,分別爲:點對點、廣播多路訪問(BMA)、非廣播多路訪問(NBMA)、點對多點、環回接

  口、虛擬鏈路(Virtual Links)。
2.路由條目“172.16.4.4/32”的度量值爲“193”,到路由器R1經過的入接口包括:R4的loopback0、R3的

  S0/0、R2的S0/1及R1的S0/0,所以計算如下:1+108/1544000+108/1544000+108/1544000=193。也可以直接通過

  命令“ip ospf cost”配置接口的cost值,並且它是優先計算的cost值的,命令如下:
  R1(config-if)#ip ospf cost 64        //設置接口cost爲64

  OSPF配置實驗(一)
R1#show ip protocols        //查看啓用的路由協議

OSPF配置實驗(一)
R1#show ip ospf 1        //可查看OSPF進程ID、RID、OSPF區域信息以及上次計算SPF算法的時間
OSPF配置實驗(一)
R1#show ip ospf interface        //查看運行OSPF接口的信息

OSPF配置實驗(一)
R1#show ip ospf neighbor        //查看OSPF鄰居表的基本信息

OSPF配置實驗(一)

OSPF鄰居關係不能建立的常見原因:

1.Hello間隔和Dead間隔不同;

  1>同一鏈路上的Hello間隔和Dead間隔必須相同才能建立鄰居關係;

    OSPF配置實驗(一)

  2>默認時,Dead間隔是Hello間隔的4倍。可以在接口下通過如下命令調整:

    R1(config-if)#ip ospf hello-intrval 10        //設置Hello包發送間隔爲10s

    R1(config-if)#ip ospf dead-interval 40        //設置Dead時間爲40s

    OSPF配置實驗(一)

2.區域ID不一樣;

3.特殊區域(如stub、nssa等)區域類型不匹配;

4.認證類型或密碼不一致;

5.路由器ID相同;

6.Hello包被ACL拒絕;

7.鏈路上的MTU不匹配;

8.接口下OSPF網絡類型不匹配。
R1#show ip ospf database        //查看OSPF鏈路狀態數據庫的信息

OSPF配置實驗(一)

廣播多路訪問鏈路上的OSPF

命令:

R1(config-router)#auto-cost reference-bandwidth 1000 //修改OSPF計算度量值的參考帶寬,單位MB/s

OSPF配置實驗(一)
R1(config)#router ospf 1

R1(config-router)#auto-cost reference-bandwidth 1000

R2(config)#router ospf 1

R2(config-router)#auto-cost reference-bandwidth 1000
R3(config)#router ospf 1

R3(config-router)#auto-cost reference-bandwidth 1000
R4(config)#router ospf 1

R4(config-router)#auto-cost reference-bandwidth 1000
說明:“auto-cost reference-bandwidth”命令是修改計算OSPF度量值參考帶寬的。如果以太口帶寬爲千兆,而採用默認的百兆參考帶寬,計算出來的cost是0.1,這顯然是不太合理的。修改參考帶寬要在路由器內所有的OSPF路由器上配置,目的是確保參考標準是相同的。

另外,當執行命令“auto-cost reference-bandwidth”時,系統也會提示如下信息:

OSPF配置實驗(一)
實驗調試
R4#show ip ospf neighbor        //分別在路由器R4和R1上執行該命令

OSPF配置實驗(一)
以上輸出表明在該廣播多路訪問網絡中,路由器R4是DR,路由器R3是BDR,路由器R1和路由器R2是DROTHER。

說明:

1.DR和BDR有自己的組播地址224.0.0.6;

2.DR和BDR的選舉是以各網絡爲基礎的,也就是說DR和BDR選舉是路由器的接口特性,而不是整個路由器的特性;

3.DR選舉是非搶佔的,除非人爲地重新選舉。

4.DR選舉的原則:

  ①首要因素是時間,最先啓動的路由器會啓動一個Waite Timer計時器(Cisco規定是40s),在計時器超時前如

    果沒有新的OSPF路由器啓動,它就被選舉爲DR,如果有新的路由器啓動那麼它們將按照②、③進行選舉;
  ②如果同時啓動,或者重新選舉,則看接口優先級(範圍爲0-255),優先級最高的被選舉成DR,默認情況下,

    多路訪問網絡的接口優先級爲1,點到點網絡接口優先級爲0,如果接口優先級被設置爲0,那麼該接口將不

    參與DR選舉,修改接口優先級命令是“ip ospf priority”:

  R1(config-if)#ip ospf priority 150        //修改端口優先級爲150

  OSPF配置實驗(一)

  ③如果同時啓動,而優先級相同,則最後看RID,RID最高的被選舉成DR。

5.重新選舉DR/BDR的方法:

  ①重啓路由器(不一定);

  ②“clear ip ospf process”(不一定)。

R4#show ip ospf int f0/0        //分別在路由器R4和R1上執行該命令

OSPF配置實驗(一)
從上面的路由器R1和路由器R4的輸出得知,鄰居關係和鄰接關係是不能混爲一談的,鄰居關係是指達到2-Way狀態的兩臺路由器,而鄰接關係是指達到FULL狀態的兩臺路由器。

 

OSPF區域認證

命令

區域簡單口令認證:

R1(config-router)#area 0 authentication        //區域0啓用簡單口令認證

R1(config-if)#ip ospf authentication-key cisco        //配置認證密碼

區域MD5認證:

R1(config-router)#area 0 authentication message-digest        //區域0啓用MD5認證

R1(config-if)#ip ospf message-digest-key 1 md5 cisco        //配置認證Key ID及密匙

OSPF配置實驗(一)

區域簡單口令認證

R1(config)#router ospf 1

R1(config-router)#area 0 authentication

R1(config)#int s0/0

R1(config-if)#ip ospf authentication-key cisco

R2(config)#router ospf 1

R2(config-router)#area 0 authentication

R2(config)#int s0/0

R2(config-if)#ip ospf authentication-key cisco

實驗調試

R1#show ip ospf
OSPF配置實驗(一)
以上輸出表明區域0採用了簡單口令認證。

R1#show ip ospf int s0/0
OSPF配置實驗(一)
以上輸出最後一行信息表明該接口啓用了簡單口令認證。

R1#debug ip ospf packet
OSPF配置實驗(一)
以上輸出表明接收到認證類型爲1的Hello數據包。

認證:

1.如果R1區域0沒有啓用認證,而R2區域0啓用簡單口令認證,則R2會出現下面的信息:

R2#debug ip ospf events
OSPF配置實驗(一)
2.如果R1和R2的區域0都啓用簡單口令認證,但R2接口下沒有配置密碼或密碼錯誤,則R2會出現下面的信息:

R2#debug ip ospf events
OSPF配置實驗(一)
區域MD5認證

R1(config)#router ospf 1

R1(config-router)#area 0 authentication message-digest

R1(config)#int s0/0

R1(config-if)#ip ospf message-digest-key cisco

R2(config)#router ospf 1

R2(config-router)#area 0 authentication message-digest

R2(config)#int s0/0

R2(config-if)#ip ospf message-digest-key cisco
實驗調試
R1#show ip ospf

OSPF配置實驗(一)
以上輸出表明區域0採用了MD5認證。

R1#show ip ospf int s0/0
OSPF配置實驗(一)

以上輸出最後兩行信息表明該接口啓用了MD5認證,而且使用密鑰ID爲1進行認證。

R1#debug ip ospf packet
OSPF配置實驗(一)
以上輸出表明接收到認證類型爲2,Key ID爲1,序列號爲0x3C7ECCC1的Hello數據包。

認證

1.如果R1的區域0啓用MD5認證,而R2的區域0啓用簡單口令認證,則R2會出現下面的信息:

R2#debug ip ospf events
OSPF配置實驗(一)
2.如果R1和R2的區域0都啓用MD5認證,但R2的接口下沒配置Key ID和密碼或錯誤密碼,則R2會出現下面的信息:
R2#debug ip ospf events

OSPF配置實驗(一)

OSPF接口認證

命令

接口簡單口令認證:

R1(config-if)#ip ospf authentication        //接口啓用簡單口令認證

R1(config-if)#ip ospf authentication-key cisco        //配置認證密碼

接口MD5認證:

R1(config-if)#ip ospf authentication message-digest        //接口啓用MD5認證

R1(config-if)#ip ospf message-digest-key 1 md5 cisco        //配置認證Key ID及密匙

OSPF配置實驗(一)

接口簡單口令認證

R1(config)#int s0/0

R1(config-if)#ip ospf authentication

R1(config-if)#ip ospf authentication-key cisco

R2(config)#int s0/0

R2(config-if)#ip ospf authentication

R2(config-if)#ip ospf authentication-key cisco

實驗調試

R1#show ip ospf int s0/0

OSPF配置實驗(一)

以上輸出最後一行信息表明該接口啓用了簡單口令認證。

R1#debug ip ospf packet

OSPF配置實驗(一)
以上輸出表明接收到認證類型爲1的Hello數據包。

認證:

1.如果R1的s0/0沒有啓用認證,而R2的s0/0啓用簡單口令認證,則R2會出現下面的信息:

R2#debug ip ospf eventsOSPF配置實驗(一)

2.如果R1和R2的s0/0都啓用簡單口令認證,但R2的s0/0沒有配置密碼或密碼錯誤,則R2會出現下面的信息:

R2#debug ip ospf events

OSPF配置實驗(一)
接口MD5認證

R1(config)#int s0/0

R1(config-if)#ip ospf authentication message-digest

R1(config-if)#ip ospf message-digest-key cisco

R2(config)#int s0/0

R2(config-if)#ip ospf authentication message-digest

R2(config-if)#ip ospf message-digest-key cisco
實驗調試
R1#show ip ospf int s0/0
OSPF配置實驗(一)
以上輸出最後兩行信息表明該接口啓用了MD5認證,而且使用密鑰ID爲1進行認證。

R1#debug ip ospf packet
OSPF配置實驗(一)
以上輸出表明接收到認證類型爲2,Key ID爲1,序列號爲0x3C7EC76D的Hello數據包。

認證

1.如果R1的s0/0啓用MD5認證,而R2的s0/0啓用簡單口令認證,則R2會出現下面的信息:

R2#debug ip ospf events

OSPF配置實驗(一)
2.如果R1和R2的s0/0都啓用MD5認證,但R2的s0/0沒配置Key ID和密碼或錯誤密碼,則R2會出現下面的信息:
R2#debug ip ospf events
OSPF配置實驗(一)
默認路由再發布(本地:靜態默認路由 S*;其它:通告缺省默認外部路由 O*E2)

OSPF配置實驗(一)

命令:

R1(config)#ip route 0.0.0.0 0.0.0.0 loopback 1        //添加靜態默認路由

R1(config)#router ospf 1

R1(config-router)#default-information originate        //再發布默認路由

說明:“default-information originate”命令後面可以加可選的“always”參數,如果不使用該參數,路由器上必須存在一條默認路由,否則該命令不產生任何效果。如果使用該參數,無論路由器上是否存在默認路由,路由器都會向OSPF區域內注入一條默認路由。

實驗調試

R4#show ip route

OSPF配置實驗(一)
以上R4路由表的輸出表明,通過命令“default-information originate”確實可以向OSPF區域注入“O*E2”的默認路由。同樣,R2、R3的路由表中也包含一條“O*E2”的默認路由。

R4#show ip ospf database

OSPF配置實驗(一)
通過查看R4的拓撲結構數據庫可以看到,確實從外面注入了一條類型5的LSA。


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