乐发welcome

工業路由器
您當前位置: 首頁 >> 服務與支持 >> 產品百科 >> 工業路由器

OSPF路由協議詳解

發布時間:2020-07-03瀏覽:1776

OSPF:開放式最短路徑優先協議
無類別鏈路狀態路由協議,組播更新224.0.0.5/6;跨層封裝到三層,協議號89;
基于拓撲工作,故更新量大-----需要結構化部署–區域劃分、地址規劃
觸發更新、每30min周期更新


OSPF的數據包:
Hello包
DBD–數據庫描述包
LSR–鏈路狀態請求
LSU–鏈路狀態更新 攜帶各種LSA

LSack–鏈路狀態確認





狀態機----OSPF建立時,存在各個階段;
1、down 本地一旦發出hello包進入下一狀態
2、Init初始化 本地接收到的hello包存在本地的RID進入下一狀態
3、2way雙向通信 鄰居關系建立標志;
條件匹配:點到點網絡直接進入下一狀態;MA網絡將進行DR/BDR選舉(40S),非DR/BDR間不得進入下一狀態;
4、exstart 預啟動 使用類似hello的DBD進行主從關系選舉,RID大為主,主優先進入下
一狀態
5、Exchange 準交換 使用真實的DBD包進行數據庫目錄共享,需要ACK;
6、Loading 加載 使用LSR/LSU/LSack來獲取未知的LSA信息;
7、Full轉發 鄰接關系建立的標志


OSPF工作過程:
啟動配置完成后,本地使用hello包建立鄰居關系,生成鄰居表;
進行條件匹配,匹配失敗者間保持為鄰居關系,僅hello包周期保活即可;
匹配成功者間,將使用DBD/LSR/LSU/LSack來獲取未知的LSA信息,當收集其網絡中所有LSA后,生成LSDB–數據表;之后使用最短路徑算法,計算本地到達所有未知網段的最佳路由,然后將其加載路由表中,收斂完成。
結構突變—1、新增網段 發送新的DBD 未知設備會使用LSR獲取
2、斷開網段 發送新的DBD 未知設備會使用LSR獲取


名詞:
LSA–鏈路狀態通告 —存在多種類別,攜帶不同環境下產生的拓撲或路由信息;該信息依賴
LSU數據包傳遞;
LSDB–鏈路狀態數據庫 —各種的LSA的集合
OSPF的收斂行為------LSA洪泛 LSDB同步


配置:
r1(config)#router ospf 1 啟動OSPF協議,啟動時需要配置進程號,進行號僅具有本地意義
r1(config-router)#router-id 1.1.1.1 全網唯一,手工–環回最大數值–物理接口最大數值
宣告:1、激活 2、路由或拓撲 3、區域劃分
r1(config-router)#network 12.1.1.1 0.0.0.0 area 0
r1(config-router)#network 1.1.1.1 0.0.0.0 area 0
宣告時必須攜帶反掩碼


區域劃分規則:
1、星型結構
2、必須存在ABR-邊界路由器


【1】當啟動配置完成后,鄰居間使用hello包建立鄰居關系,生成鄰居表:
Hello包–用于鄰居的發現、關系、保活
hello time為10s或30s dead time 為hello time 的4倍;




Hello包中和鄰居必須完全一致的參數:hello time和dead time
區域ID
認證字段
末梢區域標記
r2#show ip ospf neighbor


Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 0 FULL/ - 00:00:39 12.1.1.1 Serial1/0
3.3.3.3 0 FULL/ - 00:00:38 23.1.1.2 Serial1/1
狀態機
【2】鄰居關系建立后,進行條件匹配,匹配失敗保持為鄰居關系,僅hello包保活
匹配成功成為鄰接關系,將使用DBD/LSR/LSU/LSACK來獲取未知的LSA信息,生成數據庫表:
DBD:攜帶MTU值;強制鄰居間MTU值必須一致,否則卡在exstart或exchange狀態;
DBD包中的描述字段:I 為1標示該包為本地發出的第一個DBD包
M為0標示該包為本地發出的最后一個DBD包
MS為1標示本地為主;
隱性確認:從使用主的序列號來對主進行確認;


r1#show ip ospf database 查看數據庫簡表
OSPF存在各種類別的LSA,簡表內僅記錄分類的基礎信息;


【3】OSPF協議在生成好數據庫表后,將基于最短路徑規則將最佳路徑加載到本地的路由表中
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2


O標示本地區域內的路由–本地基于拓撲計算所得
O IA 標示其他區域的路由通過ABR導入 --域間路由
O E1/2 標示通過其他協議或進程計算所得,之后ASBR重發布導入 域外路由
ON1/2 標示通過其他協議或進程計算所得,之后ASBR重發布導入,同時本地為NSSA或完
全NSSA區域 -----域外路由


管理距離為110;度量為cost=開銷值=參考帶寬/接口實際帶寬
Ospf選路,就是選擇cost值之和最小路徑;默認參考帶寬為100M;若接口帶寬大于參考帶寬,將可能導致選路不佳,可以修改參考帶寬
r1(config)#router ospf 1
r1(config-router)#default auto-cost reference-bandwidth ?

r1(config-router)#default auto-cost reference-bandwidth 1000
注:所有設備均需修改;


【4】OSPF建立鄰接關系的條件
網絡類型:點到點網絡類型 ----必然成為鄰接關系
MA----進行DR/BDR選舉,所有非DR/BDR僅與DR/BDR建立鄰接關系;非DR/BDR間正常保持為鄰居關系;
選擇規則:1、比較接口優先級,默認為1,大優;
2、若優先級相同,比較RID,數值大優;


干涉選舉:
1、DR優選級最大,BDR次大;DR選擇為非搶占,故修改優先級后,正常需要重啟OSPF進程
r1(config)#interface fastEthernet 0/0
r1(config-if)#ip ospf priority 3
r1#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
2、DR優選級最大,BDR次大;其他設備優先級修改為0,標示不參選;
切記:不能將所有參選接口優先級修改為0;


【5】OSPF接口網絡類型
設備接口網絡類型: 環回 點到點 BMA NBMA
所謂的OSPF接口網絡類型,是指OSPF協議在設備不同網絡類型下的不同工作方式;


設備接口網絡類型 OSPF 接口網絡類型(工作方式)
環回接口 LOOPBACK LOOPBACK 無hello包,發送32位主機路由
串口(HDLC/PPP)點到點 POINT_TO_POINT hello time 10s;不選DR;
以太網接口 BMA BROADCAST hello time 10s;選DR;


MGRE NBMA
注:在tunnel接口上,OSPF默認的工作方式為點到點;這種工作方式在MGRE環境下,將無法正常建立鄰居關系—因為點到點工作方式只能和一個鄰居建鄰;
可以將接口工作方式修改為BROADCAST;切記BROADCAST和POINT_TO_POINT工作方式均為10s的hello time,故能夠建立鄰居關系,但由于一個選DR,另一個不選,不能正常收斂路由;
r2(config)#interface tunnel 0
r2(config-if)#ip ospf network broadcast
注:若ROADCAST的工作環境為星型或部分網狀結構都可能出現DR位置錯誤問題;
必須修改DR的位置到最合適的地方;


建議:
1、在星型結構中可以定義為broadcast 類型,但注意DR位置;或修改為點到多點工作方式;
2、在部分網狀結構中直接定義為點到多點
3、在全連網狀建議broadcast ;
r1(config)#interface tunnel 0
r1(config-if)#ip ospf network point-to-multipoint


點到多點工作方式:hello time 為30s;不選DR;
2、不連續骨干


解決方法:
1、tunnel --在兩臺ABR上建立tunnel,然后將其宣告到OSPF協議中;
缺點:選路不佳,對中間區域周期、觸發占用;


2、OSPF虛鏈路—相當于OSPF關閉了區域限制;
在兩臺ABR上配置,然后骨干區域的ABR為非骨干區域間的ABR授權;
R2(config)#router ospf 1
R2(config-router)#area 1 virtual-link 4.4.4.4
優點:選路正常,為減少對中間區域的資源占用,取消所有周期信息–hello、更新
缺點:不可靠


3、多進程雙向重發布 --在一臺設備啟動多個進程時,每個進程為獨立協議,用于自己的RID,自己的數據庫和鄰居關系,這些數據庫不共享,僅將所以計算所得路徑加載到同一張路由表中;若多個進程工作于同一接口上,僅最先啟動進程生效;
R4(config)#router ospf 1
R4(config-router)#redistribute ospf 2 subnets
R4(config-router)#exit
R4(config)#router ospf 2
R4(config-router)#redistribute ospf 1 subnets


二、OSPF的數據庫表 -----該表格由各種類別的LSA組成;
所有類別LSA均存在以下參數:
LS age: 119 老化時間,周期1800s歸0,觸發更新歸0;最大老化3609;
Options: (No TOS-capability, DC)
LS Type: Router Links 類別名,此處為1類;
Link State ID: 1.1.1.1 link-id—目錄中番號
Advertising Router: 1.1.1.1 通告者的RID;
LS Seq Number: 80000003
Checksum: 0x67F8
Length: 60
Number of Links: 3


           傳播范圍               通告者              攜帶信息 
1
LSA1 Router 單區域(本區域) 本區域內所有設備 本地直連拓撲
LSA2network 本區域 DR MA部分的拓撲
LSA3Summary 整個OSPF區域 ABR O IA 域間路由
LSA4 asbr-summary 除ASBR所在區域 ABR ASBR的位置
外的整個OSPF區域
和ASBR同區域的設備是通過1類來獲取ASBR位置;
LSA5 external 整個OSPF區域 ASBR O E 域外路由
LSA7 nssa-external NSSA區域 ASBR O N 域外路由


         LINK ID(目錄中的番號)            通告者     
1
LSA1 通告者的RID 本地區域內所有設備
LSA2 DR接口IP地址 DR
LSA3 IA 路由目標 ABR,在經過下一個ABR時修改為本地
LSA4 ASBR的RID ABR,在經過下一個ABR時修改為本地
LAS5 E 路由目標 ASBR
LSA7 N 路由目標 ASBR


三、優化,減少OSPF的LSA的更新量
【1】匯總 --減少骨干區域的LSA量
(1)域間匯總–只能在ABR上操作
r1(config)#router ospf 1
r1(config-router)#area 2 range 5.5.4.0 255.255.254.0
通過本區域內1/2類LSA計算所得
(2)域外匯總–在ASBR上操作
r4(config)#router ospf 1
r4(config-router)#summary-address 99.1.0.0 255.255.252.0


【2】特殊區域—減少非骨干區域
不得為骨干區域,不能存在虛鏈路;


(1)不存在ASBR
{1}末梢區域----拒絕4/5的LSA,自動產生一條3類的缺省路由指向骨干
r5(config)#router ospf 1
r5(config-router)#area 2 stub 本區域內所有設備均需配置


{2}完全末梢區域----在末梢區域的基礎上進一步拒絕3類的LSA,僅保留一條3類缺省
先將整個區域配置為末梢區域,然后僅在ABR上定義完全即可
r1(config-router)#area 2 stub no-summary


(2)存在ASBR
{1}NSSA ----非完全末梢區域
拒絕4/5的LSA,本區域ASBR產生的5類使用7類傳輸;7類LSA在離開本區域時被ABR修改為5類;不會自動產生缺省;
作用:拒絕網絡中其他區域的ASBR產生的4/5的信息;但為了避免環路產生,故不自動產生缺省,在管理員確定無環的前提下可以手工添加缺省路由;
r3(config)#router ospf 1
r3(config-router)#area 1 nssa


{2}完全NSSA
在NSSA的基礎上進一步拒絕3類LSA;自動產生3類的缺省指向區域0;
先將該區域配置為NSSA,然后僅在ABR上定義完全即可
r3(config-router)#area 1 nssa no-summary


四、OSPF的擴展配置
1、認證
【1】接口認證
1)接口明文
r1(config)#interface ethernet 0/0
r1(config-if)#ip ospf authentication 開啟明文認證需求,開啟后本地所有ospf數據包中認證類型字段被修改,鄰居間若不一致將不能建立鄰居關系
r1(config-if)#ip ospf authentication-key cisco123 配置明文密碼


2)接口密文
r6(config)#int s0/1
r6(config-if)#ip ospf authentication message-digest 開啟秘文認證需求,開啟后本地所有ospf數據包中認證類型字段被修改,鄰居間若不一致將不能建立鄰居關系
r6(config-if)#ip ospf message-digest-key 1 md5 cisco123


【2】區域認證
例:在R1上開啟關于區域0的明文或密文認證;然后僅僅只是將R1上所有屬于區域0的接口,認證類型字段修改,相當于在R1上所有區域0接口配置明文或密文認證需求;但每個接口的秘鑰還是需要逐一配置;
r12(config)#router ospf 1
r12(config-router)#area 2 authentication 明文
r12(config-router)#area 2 authentication message-digest 密文


【3】虛鏈路認證
r1(config)#router ospf 1
r1(config-router)#area 1 virtual-link 4.4.4.4 authentication
r1(config-router)#area 1 virtual-link 4.4.4.4 authentication-key cisco
r1(config-router)#area 1 virtual-link 4.4.4.4 authentication message-digest
r1(config-router)#area 1 virtual-link 4.4.4.4 message-digest-key 1 md5 cisco123


2、被動接口
r1(config)#router ospf 1
r1(config-router)#passive-interface ethernet 0/1


3、加快收斂—鄰居間直連接口hello和dead 必須完全一致
r7(config)#interface s0/1
r7(config-if)#ip ospf hello-interval 5
r7(config-if)#ip ospf dead-interval 20
注:修改本端的hello time本端的dead time自動4倍關系匹配;


4、缺省
3類缺省—通過特殊區域自動產生;
末梢、完全末梢、完全NSSA自動產生;


5類缺省—本地路由表中必須已經存在缺省路由,通過什么方式產生的無所謂;
之后,可以使用專用指令將其重發布到OSPF協議中
r9(config)#router ospf 2
r9(config-router)#default-information originate
默認進入路由為類型2,OE2;度量為1;
類型1:在內部傳遞時不疊加內部度量;
類型2:在內部疊加度量; 默認
若網絡中存在多臺邊界路由器,均進行重發布行為,建議修改為類型1;
r9(config-router)#default-information originate metric-type 1


r9(config-router)#default-information originate always 強制向內網發布缺省路由信息;


7類缺省–ASBR上通過其他協議學習到的缺省導入OSPF,同時所導入區域為NSSA區域;
r12(config)#router ospf 1
r12(config-router)#area 2 nssa default-information-originate


注:若一臺設備同時學習多種缺省; 內部優于外部 3類優于5/7類;
若5類和7類相遇,先比度量,小優;若度量一致那么5類優于7類;

上一篇:Modbus TCP和Modbus RTU協議的區別 下一篇:RIP路由協議是什么?
免費樣機申請 樣機免費試用,提前溝通確保愛陸通產品深度契合貴司業務需求
  • *您的姓名:
  • *手機號碼:
  • *公司名稱:
  • 您的職位:
  • 您的郵箱:
  • 您的QQ:
相關產品
產品百科
隱私政策網站地圖 Copyright ? 2015-2022 廈門愛陸通通信科技有限公司 All Rights Reserved.  
撥打電話