CCNP OSPF及OSPF不規則區域實驗

OSPF

協議本身

詳細資料OSPF思維導圖
OSPF(Open Shortest Path First,開放式最短路徑優先協議) 基於SPF(最短路徑算法)所開發,是一個鏈路狀態型路由協議,路由與路由間所傳爲拓撲狀態,無類別協議,更新時攜帶子網掩碼;組播更新地址爲224.0.0.5/6。但是需要結構化部署(區域劃分、地址規劃)區域內傳拓撲,區域間傳路由。

5種數據包

  1. hello包—用於發現、建立、維持、週期保活鄰居關係
  2. DBD包(數據庫描述包)—本地數據庫
  3. LSR(鏈路狀態請求)—收到鄰居DBD後查詢其他未知信息
  4. LSU(鏈路狀態更新)—回答鄰居的LSU並分享本地LSA的信息
  5. LSack(鏈路狀態確認)

7個狀態機

  1. down—本地發出hello包進入下一狀態
  2. lint—接收到存在本地router-id的hello包後,進入下一狀態
  3. 2way—鄰居關係建立,點到點網絡直接進入下一狀態,MA網絡進行DR/BDR選舉,DRother不進入下一狀態
  4. Exstart—發送類DBD包進行主從選舉,router-id大進入下一狀態
  5. Exchange—使用真正的DBD包,進行數據庫目錄的共享,需要ACK確認
  6. Loading—使用LSR/LSU/lsack獲取未知拓撲信息
  7. Full—鄰接關係建立

起初本地爲down狀態,一旦本地發出hello包就進入lint初始化;接收到hello包後,若存在本地的RID,則進入2way狀態;2way雙向通信標誌着鄰居關係的建立(條件匹配:點到點網絡直接進入下一狀態,MA網絡將進行DR/BDR的選舉 DRother不得進入下一狀態)Exstart預啓動:發送類hello的DBD包進行主從關係的選舉,RID數字大的爲主優先進入Exchange準交換狀態;準交換狀態使用真正的DBD包進行數據庫目錄的共享,需要ack來進行確認,確認完畢進入Loading加載狀態;加載狀態使用LSR/LSU/LSack來獲取未知的lsa信息,獲取完畢進入full轉發狀態;轉發狀態標誌着鄰接關係的建立

6類LSA

類別 傳播範圍 通告者 攜帶信息
LSA1router 本區域 該區域所有路由器 本地直連拓撲
LSA2network 本區域 DR MA部分網絡拓撲
LSA3summary 本區域 ABR O IA域間路由
LSA4asbr-summary 除ASBR外其他區域 ABR ASBR的位置,所在區域用LSA1告知
LSA5external 整個OSPF區域 ASBR OE域外路由
LSA7nssa-external NSSA區域 ASBR ON域外路由
類別 Link id 通告者
LSA1router 通告者的RID(直連信息) 本區域所有路由器
LSA2network DR的接口IP地址 DR
LSA3summary O IA路由目標地址(域內路由) ABR,經過一個ABR 會修改
LSA4asbr-summary ASBR的RID(位置) ABR,經過一個ABR 會修改
LSA5external OE路由目標地址(域內路由) ASBR
LSA7nssa-external ON路由目標地址 ASBR

工作過程

啓動配置完成後,本地使用組播發送hello包到所有鄰居處,若收集到其他鄰居的hello包,那麼建立鄰居關係,生成鄰居表;
和所有鄰居間進行條件匹配,若失敗將停留於鄰居關係,僅hello包週期保活即可;
若匹配成功,將建立鄰接關係;鄰接關係間將使用DBD/LSR/LSU/LSack來獲取未知的LSA信息;當收集齊所有的LSA信息後,本地生成LSDB–鏈路狀態數據庫—數據庫表;
再本地基於LSDB計算到達所有未知網段的最佳路徑,然後將其加載到路由表中;

不規則區域的解決方法

  1. tunnel —在兩臺ABR上創建tunnel,然後將其宣告到OSPF協議中
    缺點:選路不佳且週期hello和更新均對中間區域進行影響
  2. 虛鏈路—OSPF自帶,在兩臺ABR上配置,使未連接骨幹的ABR得知骨幹的存在,之後將域間路由進行交互;取消週期的更新和鄰居保活
    優點:選路佳、佔用中間區域資源少;
    缺點:不可靠
  3. 多進程雙向重發布,不同的進程擁有不同的RID和數據庫,不同進程間的數據庫是不共享的;且計算所得路徑同時放置於路由表中;若多個進程同時工作於一個接口,那麼僅最先工作進程生效## ospf的優化

ospfLSA的優化

  1. 優化非骨幹區域
    【1】不存在ASBR
    1.末梢區域—拒絕4、5類LSA;產生一條3類缺省,需在該區域內所有設備修改
    2.完全末梢區域—在末梢區域的基礎上進一步拒絕3類的LSA,僅保留一條3類的缺,先將該區域配置爲末梢區域,然後僅需要在ABR上定義爲完全末梢即可
    【2】存在ASBR
    1.NSSA—拒絕4、5的LSA,不自動產生3類缺省(華爲設備產生一條缺省,思科設備需手工添加);5類在NSSA區域內被轉換爲7類轉發;離開該區域後還原爲5類
    2.完全的NSSA----在NSSA的基礎上,進一步拒絕3/4/5類LSA,5類轉7類;自動產生缺省指向ABR;先將該區域配置爲NSSA,然後僅需要在ABR上定義爲完全即可

  2. 優化骨幹區域
    在ABR上進行域間路由彙總;在ASBR上進行域外路由彙總

鏈路類型

類型type link id 數據data
P2P 鄰居的router id 該網段本地接口的IP地址
Transnet DR的接口IP地址 該網段本地接口的IP地址
Stubnet 該stub網段的IP地址 該stub網段的網絡掩碼
Virtual 虛鏈路鄰居的router id 該虛鏈路鄰居的本地接口IP地址

SPF算法

SPF算法將每一個路由器作爲root來計算到每一個路由器的距離,形成一個有向圖,SPF算法會優先記錄最小cost值的路徑
優點:
域間彙總減少路由條目數量
彙總路由是在所有明細路由均消失後才刪除,網絡更穩定
區域劃分後不同類別的LSA傳播範圍不同,控制更新量

不規則區域實驗

在這裏插入圖片描述
實驗要求:
1.R4爲ISP
2.R1-R3中R3爲DR,無BDR,IP爲192.168.1.0/24
3.R5-R14ip地址爲172.16.0.0/16
4.合理規劃ip,減少LSA更新量
5.兩邊區域可以互相通信

子網劃分(OSPFip可按區域劃分)

區域 IP網段 細分網段 IP網段
A0 172.16.0.0/19 R5-8 172.16.0.0/20
- - R5環回 172.16.16.0/22
- - R6環回 172.16.20.0/22
- - R7環回 172.16.24.0/22
- - R8環回 172.16.28.0/22
A1 172.16.32.0/19 R9骨幹+環回 172.16.32.0/20
- - R10骨幹+環回 172.16.48.0/20
A2 172.16.64.0/19 R11骨幹 172.16.64.0/21
- - R11環回 172.16.72.0/21
- - R12骨幹 172.16.80.0/21
A3 172.16.96.0/19 R13骨幹+環回 172.16.96.0/19
A4 172.16.128.0/19 R14骨幹+環回 172.16.128.0/19
A5 172.16.160.0/19 R12環回 172.16.160.0/19
網段 IP地址
R1環回 192.168.1.0/26
R2環回 192.168.1.64/26
R3環回 192.168.1.128/26
R1-3 192.168.1.192/26

R3-R4和R4-R5之間使用34.1.1.0/24和45.1.1.0/24網段
實驗及各區域網段如下:
在這裏插入圖片描述
1.基本ip配置略
2.在兩個區域分別啓兩個OSPF協議

R1(config)#router ospf 10
R1(config-router)#router-id 1.1.1.1
R1(config-router)#exit 
R1(config)#interface loopback 0
R1(config-if)#ip ospf 10 area 0      可以在接口進行宣告
R1(config-if)#exit 
R1(config)#interface f0/0
R1(config-if)#ip ospf 10 area 0
R1(config-if)#exit     
R12右邊兩個環回啓的RIPV2協議
R12(config)#router rip 
R12(config-router)#version 2
R12(config-router)#no auto-summary 
R12(config-router)#network 172.16.160.0
R12(config-router)#network 172.16.176.0

3.R1-R3區域修改接口優先級 使R3爲DR 無BDR

R1(config)#interface f0/0
R1(config-if)#ip ospf priority 0   接口等級爲0表示放棄選舉
R1(config-if)#end
R1#clear ip ospf process   因爲OSPF選舉爲非搶佔行性,所以修改優先級後要重啓進程
Reset ALL OSPF processes? [no]: y
R2略

4.R3,R5直接用tunnel

R3(config)#interface tunnel 0
R3(config-if)#ip address 35.1.1.1 255.255.255.0 配置缺省
R3(config-if)#tunnel source fastEthernet 1/0   隧道源
R3(config-if)#tunnel destination 45.1.1.2   隧道目標,必須爲真是IP地址
R3(config-if)#ip ospf 100 area 0    tunnel接口劃入ospf
R3(config)#ip route 172.16.0.0 255.255.0.0 tunnel 0 流量引入接口

R5(config)#interface tunnel 0
R5(config-if)#ip address 35.1.1.2 255.255.255.0
R5(config-if)#tunnel source f0/0
R5(config-if)#tunnel destination 34.1.1.1
R5(config-if)#ip ospf 100 area 0  
R5(config)#ip route 192.168.1.0 255.255.255.0 tunnel 0 

5.R7,R14做虛鏈路virtual-link

R7(config)#router ospf 100
R7(config-router)#area 3 virtual-link 1.0.1.3   Area 3爲穿越區域   後面跟對端的router-id
R13(config)#router ospf 100
R13(config-router)#area 3 virtual-link 7.7.7.7

6.R12上做重發布

R12(config)#router ospf 100
R12(config-router)#redistribute rip subnets 因爲R12右邊是環回接口,所以只需要將環回的路由信息導入到area2即可

7.進行區域優化

Area1區域爲末梢區域,可配置完全末梢
R8(config)#router ospf 100 
R8(config-router)#area 1 stub
R9(config)#router ospf 100 
R9(config-router)#area 1 stub
R10(config)#router ospf 100
R10(config-router)#area 1 stub
R8(config)#router ospf 100
R8(config-router)#area 1 stub no-summary

Area2爲nssa區域,可進行優化
R6(config)#router ospf 100
R6(config-router)#area 2 nssa
R11(config)#router ospf 100
R11(config-router)#area 2 nssa
R12(config)#router ospf 100
R12(config-router)#area 2 nssa
R6(config)#router ospf 100
R6(config-router)#area 2 nssa no-summary 

每個區域可以進行路由信息的彙總進行優化
R5(config)#router ospf 100
R5(config-router)#area 0 range 172.16.0.0 255.255.224.0每個區域的每個路由器都需要配置

8.R5和R3上寫缺省,做NAT並下放缺省

R5(config)#ip route 0.0.0.0 0.0.0.0 45.1.1.1   寫一條缺省指向ISP
R5(config)#access-list 1 permit 172.16.0.0 0.0.255.255   定義感興趣流量
R5(config)#ip nat inside source list 1 interface f0/0   做nat
R5(config)#interface f0/0
R5(config-if)#ip nat outside 
R5(config-if)#exit 
R5(config)#interface f1/0
R5(config-if)#ip nat inside
R5(config)#router ospf 100
R5(config-router)#default-information originate   向ospf區域內路由器下方缺省

R3(config)#ip route 0.0.0.0 0.0.0.0 34.1.1.2
R3(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R3(config)#ip nat inside source list 1 interface f1/0
R3(config)#interface f1/0
R3(config-if)#ip nat outside 
R3(config-if)#ex 
R3(config)#interface f0/0
R3(config-if)#ip nat inside 
R3(config-if)#exit 
R3(config)#router ospf 10
R3(config-router)#default-information originate 

測試

R10可以ping通R4的環回

R1可以ping通R10的環回

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