OSPF:開放式最短路徑優(yōu)先協(xié)議
無類別鏈路狀態(tài)路由協(xié)議蒜埋,組播更新224.0.0.5/6玖详;跨層封裝到三層,協(xié)議號89暑刃;
基于拓撲工作厢漩,故更新量大-----需要結(jié)構(gòu)化部署–區(qū)域劃分、地址規(guī)劃
觸發(fā)更新岩臣、每30min周期更新
OSPF的數(shù)據(jù)包:
Hello包
DBD–數(shù)據(jù)庫描述包
LSR–鏈路狀態(tài)請求
LSU–鏈路狀態(tài)更新 攜帶各種LSA
LSack–鏈路狀態(tài)確認
狀態(tài)機----OSPF建立時溜嗜,存在各個階段;
1架谎、down 本地一旦發(fā)出hello包進入下一狀態(tài)
2炸宵、Init初始化 本地接收到的hello包存在本地的RID進入下一狀態(tài)
3、2way雙向通信 鄰居關(guān)系建立標志谷扣;
條件匹配:點到點網(wǎng)絡直接進入下一狀態(tài)土全;MA網(wǎng)絡將進行DR/BDR選舉(40S),非DR/BDR間不得進入下一狀態(tài)会涎;
4裹匙、exstart 預啟動 使用類似hello的DBD進行主從關(guān)系選舉,RID大為主末秃,主優(yōu)先進入下
一狀態(tài)
5概页、Exchange 準交換 使用真實的DBD包進行數(shù)據(jù)庫目錄共享,需要ACK练慕;
6惰匙、Loading 加載 使用LSR/LSU/LSack來獲取未知的LSA信息;
7铃将、Full轉(zhuǎn)發(fā) 鄰接關(guān)系建立的標志
OSPF工作過程:
啟動配置完成后徽曲,本地使用hello包建立鄰居關(guān)系,生成鄰居表麸塞;
進行條件匹配秃臣,匹配失敗者間保持為鄰居關(guān)系,僅hello包周期保活即可奥此;
匹配成功者間弧哎,將使用DBD/LSR/LSU/LSack來獲取未知的LSA信息,當收集其網(wǎng)絡中所有LSA后稚虎,生成LSDB–數(shù)據(jù)表撤嫩;之后使用最短路徑算法,計算本地到達所有未知網(wǎng)段的最佳路由蠢终,然后將其加載路由表中序攘,收斂完成。
結(jié)構(gòu)突變—1寻拂、新增網(wǎng)段 發(fā)送新的DBD 未知設備會使用LSR獲取
2程奠、斷開網(wǎng)段 發(fā)送新的DBD 未知設備會使用LSR獲取
名詞:
LSA–鏈路狀態(tài)通告 —存在多種類別,攜帶不同環(huán)境下產(chǎn)生的拓撲或路由信息祭钉;該信息依賴
LSU數(shù)據(jù)包傳遞瞄沙;
LSDB–鏈路狀態(tài)數(shù)據(jù)庫 —各種的LSA的集合
OSPF的收斂行為------LSA洪泛 LSDB同步
配置:
r1(config)#router ospf 1 啟動OSPF協(xié)議,啟動時需要配置進程號慌核,進行號僅具有本地意義
r1(config-router)#router-id 1.1.1.1 全網(wǎng)唯一距境,手工–環(huán)回最大數(shù)值–物理接口最大數(shù)值
宣告:1、激活 2垮卓、路由或拓撲 3垫桂、區(qū)域劃分
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
宣告時必須攜帶反掩碼
區(qū)域劃分規(guī)則:
1、星型結(jié)構(gòu)
2粟按、必須存在ABR-邊界路由器
【1】當啟動配置完成后诬滩,鄰居間使用hello包建立鄰居關(guān)系,生成鄰居表:
Hello包–用于鄰居的發(fā)現(xiàn)钾怔、關(guān)系碱呼、保活
hello time為10s或30s dead time 為hello time 的4倍宗侦;
Hello包中和鄰居必須完全一致的參數(shù):hello time和dead time
區(qū)域ID
認證字段
末梢區(qū)域標記
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
狀態(tài)機
【2】鄰居關(guān)系建立后愚臀,進行條件匹配,匹配失敗保持為鄰居關(guān)系矾利,僅hello包惫昧眩活
匹配成功成為鄰接關(guān)系,將使用DBD/LSR/LSU/LSACK來獲取未知的LSA信息男旗,生成數(shù)據(jù)庫表:
DBD:攜帶MTU值舶斧;強制鄰居間MTU值必須一致,否則卡在exstart或exchange狀態(tài)察皇;
DBD包中的描述字段:I 為1標示該包為本地發(fā)出的第一個DBD包
M為0標示該包為本地發(fā)出的最后一個DBD包
MS為1標示本地為主茴厉;
隱性確認:從使用主的序列號來對主進行確認泽台;
r1#show ip ospf database 查看數(shù)據(jù)庫簡表
OSPF存在各種類別的LSA,簡表內(nèi)僅記錄分類的基礎信息矾缓;
【3】OSPF協(xié)議在生成好數(shù)據(jù)庫表后怀酷,將基于最短路徑規(guī)則將最佳路徑加載到本地的路由表中
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標示本地區(qū)域內(nèi)的路由–本地基于拓撲計算所得
O IA 標示其他區(qū)域的路由通過ABR導入 --域間路由
O E1/2 標示通過其他協(xié)議或進程計算所得,之后ASBR重發(fā)布導入 域外路由
ON1/2 標示通過其他協(xié)議或進程計算所得嗜闻,之后ASBR重發(fā)布導入蜕依,同時本地為NSSA或完
全NSSA區(qū)域 -----域外路由
管理距離為110;度量為cost=開銷值=參考帶寬/接口實際帶寬
Ospf選路琉雳,就是選擇cost值之和最小路徑样眠;默認參考帶寬為100M;若接口帶寬大于參考帶寬翠肘,將可能導致選路不佳檐束,可以修改參考帶寬
r1(config)#router ospf 1
r1(config-router)#default auto-cost reference-bandwidth ?
<1-4294967> The reference bandwidth in terms of Mbits per second
r1(config-router)#default auto-cost reference-bandwidth 1000
注:所有設備均需修改;
【4】OSPF建立鄰接關(guān)系的條件
網(wǎng)絡類型:點到點網(wǎng)絡類型 ----必然成為鄰接關(guān)系
MA----進行DR/BDR選舉锯茄,所有非DR/BDR僅與DR/BDR建立鄰接關(guān)系厢塘;非DR/BDR間正常保持為鄰居關(guān)系茶没;
選擇規(guī)則:1肌幽、比較接口優(yōu)先級,默認為1抓半,大優(yōu)喂急;
2、若優(yōu)先級相同笛求,比較RID廊移,數(shù)值大優(yōu);
干涉選舉:
1探入、DR優(yōu)選級最大狡孔,BDR次大;DR選擇為非搶占蜂嗽,故修改優(yōu)先級后苗膝,正常需要重啟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優(yōu)選級最大植旧,BDR次大辱揭;其他設備優(yōu)先級修改為0,標示不參選病附;
切記:不能將所有參選接口優(yōu)先級修改為0问窃;
【5】OSPF接口網(wǎng)絡類型
設備接口網(wǎng)絡類型: 環(huán)回 點到點 BMA NBMA
所謂的OSPF接口網(wǎng)絡類型,是指OSPF協(xié)議在設備不同網(wǎng)絡類型下的不同工作方式完沪;
設備接口網(wǎng)絡類型 OSPF 接口網(wǎng)絡類型(工作方式)
環(huán)回接口 LOOPBACK LOOPBACK 無hello包域庇,發(fā)送32位主機路由
串口(HDLC/PPP)點到點 POINT_TO_POINT hello time 10s;不選DR;
以太網(wǎng)接口 BMA BROADCAST hello time 10s听皿;選DR咕别;
MGRE NBMA
注:在tunnel接口上,OSPF默認的工作方式為點到點写穴;這種工作方式在MGRE環(huán)境下惰拱,將無法正常建立鄰居關(guān)系—因為點到點工作方式只能和一個鄰居建鄰;
可以將接口工作方式修改為BROADCAST啊送;切記BROADCAST和POINT_TO_POINT工作方式均為10s的hello time偿短,故能夠建立鄰居關(guān)系,但由于一個選DR馋没,另一個不選昔逗,不能正常收斂路由;
r2(config)#interface tunnel 0
r2(config-if)#ip ospf network broadcast
注:若ROADCAST的工作環(huán)境為星型或部分網(wǎng)狀結(jié)構(gòu)都可能出現(xiàn)DR位置錯誤問題篷朵;
必須修改DR的位置到最合適的地方勾怒;
建議:
1、在星型結(jié)構(gòu)中可以定義為broadcast 類型声旺,但注意DR位置笔链;或修改為點到多點工作方式;
2腮猖、在部分網(wǎng)狀結(jié)構(gòu)中直接定義為點到多點
3鉴扫、在全連網(wǎng)狀建議broadcast ;
r1(config)#interface tunnel 0
r1(config-if)#ip ospf network point-to-multipoint
點到多點工作方式:hello time 為30s澈缺;不選DR坪创;
2、不連續(xù)骨干
解決方法:
1姐赡、tunnel --在兩臺ABR上建立tunnel莱预,然后將其宣告到OSPF協(xié)議中;
缺點:選路不佳项滑,對中間區(qū)域周期依沮、觸發(fā)占用;
2杖们、OSPF虛鏈路—相當于OSPF關(guān)閉了區(qū)域限制悉抵;
在兩臺ABR上配置,然后骨干區(qū)域的ABR為非骨干區(qū)域間的ABR授權(quán)摘完;
R2(config)#router ospf 1
R2(config-router)#area 1 virtual-link 4.4.4.4
優(yōu)點:選路正常姥饰,為減少對中間區(qū)域的資源占用,取消所有周期信息–hello孝治、更新
缺點:不可靠
3列粪、多進程雙向重發(fā)布 --在一臺設備啟動多個進程時审磁,每個進程為獨立協(xié)議,用于自己的RID岂座,自己的數(shù)據(jù)庫和鄰居關(guān)系态蒂,這些數(shù)據(jù)庫不共享,僅將所以計算所得路徑加載到同一張路由表中费什;若多個進程工作于同一接口上钾恢,僅最先啟動進程生效;
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的數(shù)據(jù)庫表 -----該表格由各種類別的LSA組成瘩蚪;
所有類別LSA均存在以下參數(shù):
LS age: 119 老化時間,周期1800s歸0稿黍,觸發(fā)更新歸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 單區(qū)域(本區(qū)域) 本區(qū)域內(nèi)所有設備 本地直連拓撲
LSA2network 本區(qū)域 DR MA部分的拓撲
LSA3Summary 整個OSPF區(qū)域 ABR O IA 域間路由
LSA4 asbr-summary 除ASBR所在區(qū)域 ABR ASBR的位置
外的整個OSPF區(qū)域
和ASBR同區(qū)域的設備是通過1類來獲取ASBR位置酣栈;
LSA5 external 整個OSPF區(qū)域 ASBR O E 域外路由
LSA7 nssa-external NSSA區(qū)域 ASBR O N 域外路由
? ? ? ? LINK ID(目錄中的番號)? ? ? ? ? ? 通告者? ?
1
LSA1 通告者的RID 本地區(qū)域內(nèi)所有設備
LSA2 DR接口IP地址 DR
LSA3 IA 路由目標 ABR险胰,在經(jīng)過下一個ABR時修改為本地
LSA4 ASBR的RID ABR,在經(jīng)過下一個ABR時修改為本地
LAS5 E 路由目標 ASBR
LSA7 N 路由目標 ASBR
三钉嘹、優(yōu)化鸯乃,減少OSPF的LSA的更新量
【1】匯總 --減少骨干區(qū)域的LSA量
(1)域間匯總–只能在ABR上操作
r1(config)#router ospf 1
r1(config-router)#area 2 range 5.5.4.0 255.255.254.0
通過本區(qū)域內(nèi)1/2類LSA計算所得
(2)域外匯總–在ASBR上操作
r4(config)#router ospf 1
r4(config-router)#summary-address 99.1.0.0 255.255.252.0
【2】特殊區(qū)域—減少非骨干區(qū)域
不得為骨干區(qū)域鲸阻,不能存在虛鏈路跋涣;
(1)不存在ASBR
{1}末梢區(qū)域----拒絕4/5的LSA,自動產(chǎn)生一條3類的缺省路由指向骨干
r5(config)#router ospf 1
r5(config-router)#area 2 stub 本區(qū)域內(nèi)所有設備均需配置
{2}完全末梢區(qū)域----在末梢區(qū)域的基礎上進一步拒絕3類的LSA鸟悴,僅保留一條3類缺省
先將整個區(qū)域配置為末梢區(qū)域陈辱,然后僅在ABR上定義完全即可
r1(config-router)#area 2 stub no-summary
(2)存在ASBR
{1}NSSA ----非完全末梢區(qū)域
拒絕4/5的LSA,本區(qū)域ASBR產(chǎn)生的5類使用7類傳輸细诸;7類LSA在離開本區(qū)域時被ABR修改為5類沛贪;不會自動產(chǎn)生缺省震贵;
作用:拒絕網(wǎng)絡中其他區(qū)域的ASBR產(chǎn)生的4/5的信息利赋;但為了避免環(huán)路產(chǎn)生,故不自動產(chǎn)生缺省猩系,在管理員確定無環(huán)的前提下可以手工添加缺省路由媚送;
r3(config)#router ospf 1
r3(config-router)#area 1 nssa
{2}完全NSSA
在NSSA的基礎上進一步拒絕3類LSA;自動產(chǎn)生3類的缺省指向區(qū)域0寇甸;
先將該區(qū)域配置為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數(shù)據(jù)包中認證類型字段被修改咱扣,鄰居間若不一致將不能建立鄰居關(guān)系
r1(config-if)#ip ospf authentication-key cisco123 配置明文密碼
2)接口密文
r6(config)#int s0/1
r6(config-if)#ip ospf authentication message-digest 開啟秘文認證需求,開啟后本地所有ospf數(shù)據(jù)包中認證類型字段被修改涵防,鄰居間若不一致將不能建立鄰居關(guān)系
r6(config-if)#ip ospf message-digest-key 1 md5 cisco123
【2】區(qū)域認證
例:在R1上開啟關(guān)于區(qū)域0的明文或密文認證闹伪;然后僅僅只是將R1上所有屬于區(qū)域0的接口,認證類型字段修改壮池,相當于在R1上所有區(qū)域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倍關(guān)系匹配;
4熏矿、缺省
3類缺省—通過特殊區(qū)域自動產(chǎn)生已骇;
末梢、完全末梢票编、完全NSSA自動產(chǎn)生褪储;
5類缺省—本地路由表中必須已經(jīng)存在缺省路由,通過什么方式產(chǎn)生的無所謂慧域;
之后鲤竹,可以使用專用指令將其重發(fā)布到OSPF協(xié)議中
r9(config)#router ospf 2
r9(config-router)#default-information originate
默認進入路由為類型2,OE2昔榴;度量為1辛藻;
類型1:在內(nèi)部傳遞時不疊加內(nèi)部度量;
類型2:在內(nèi)部疊加度量互订; 默認
若網(wǎng)絡中存在多臺邊界路由器吱肌,均進行重發(fā)布行為,建議修改為類型1仰禽;
r9(config-router)#default-information originate metric-type 1
r9(config-router)#default-information originate always 強制向內(nèi)網(wǎng)發(fā)布缺省路由信息氮墨;
7類缺省–ASBR上通過其他協(xié)議學習到的缺省導入OSPF,同時所導入?yún)^(qū)域為NSSA區(qū)域吐葵;
r12(config)#router ospf 1
r12(config-router)#area 2 nssa default-information-originate
注:若一臺設備同時學習多種缺使婢尽; 內(nèi)部優(yōu)于外部 3類優(yōu)于5/7類温峭;
若5類和7類相遇猛铅,先比度量,小優(yōu)诚镰;若度量一致那么5類優(yōu)于7類奕坟;