開放式最短優(yōu)先OSPF(Open Shortest Path First)協(xié)議是IETF定義的一種基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)路由協(xié)議鼎姊。
特點(diǎn):
天生無環(huán)協(xié)議(loop free)
OSPF劃分區(qū)域(層次化)
收斂快(網(wǎng)絡(luò)發(fā)生變化時(shí)禁谦,網(wǎng)絡(luò)中的設(shè)備反應(yīng)作出動(dòng)作的速度)
支持認(rèn)證(支持不認(rèn)證、明文認(rèn)證痊臭、MD5認(rèn)證)
優(yōu)先級(jí)10
OSPF三張表:
- 鄰接表
- 數(shù)據(jù)庫表
- OSPF的路由表
OSPF原理
默認(rèn)狀態(tài):默認(rèn)采用組播形式來發(fā)現(xiàn)和建立鄰居關(guān)系的厂画。
224.0.0.5:allspf route
224.0.0.6:alldr route
第一步:構(gòu)建鄰接關(guān)系
第二步:LSA形成LSDB鏈路狀態(tài)數(shù)據(jù)庫
第三步:SPF算法計(jì)算出路由表(最短路徑優(yōu)先算法)
OSPF報(bào)文頭部,OSPF報(bào)文封裝在IP報(bào)文中稚茅,協(xié)議號(hào)為89.
Hello報(bào)文:發(fā)現(xiàn)纸淮、建立和維護(hù)鄰居關(guān)系的報(bào)文
DBD:數(shù)據(jù)庫描述報(bào)文
LSRequest:鏈路狀態(tài)請求報(bào)文
LSUpdate:鏈路更新報(bào)文
LSAck:鏈路確認(rèn)報(bào)文
OSPF的鄰居機(jī)狀態(tài)
Down狀態(tài)->Attempt(可能出現(xiàn)在NBMA網(wǎng)絡(luò)中的狀態(tài))->Init(初始化狀態(tài))->2Way狀態(tài)(OSPF完成鄰居的狀態(tài))|(發(fā)送的Hello報(bào)文)
->Exstart(交互狀態(tài))->Exchange(真正交互狀態(tài)) |(發(fā)送DBD報(bào)文)
->Loading->Full(發(fā)送的是LSRequest\LSUpdate\LSAck報(bào)文)
Route ID
采用ipv4的格式來標(biāo)記路由器身份。
1.鄰居發(fā)現(xiàn)
Hello報(bào)文用來發(fā)現(xiàn)和維持OSPF鄰居關(guān)系亚享。
鄰居關(guān)系存在于完成2Way狀態(tài)時(shí)咽块。
2.數(shù)據(jù)庫同步
路由器使用DBD報(bào)文來進(jìn)行主從路由的選舉和數(shù)據(jù)庫摘要信息的交互。
DD報(bào)文包含LSA的頭部信息欺税,用來描述LSDB的摘要信息侈沪。
3.建立完全鄰接關(guān)系
LSRequest用于向?qū)Ψ秸埱笏璧腖SA。
LSUpdate用于向?qū)Ψ桨l(fā)送其所需要的LSA晚凿。
LSACK用于向?qū)Ψ桨l(fā)送收到LSA的確認(rèn)亭罪。
DR&BDR
DR可以減少廣博型網(wǎng)絡(luò)中的鄰接關(guān)系的數(shù)量。通過某種選舉之后歼秽,所有設(shè)備都和DR应役、BDR構(gòu)建鄰接關(guān)系,只和DR、BDR交互LSDB箩祥。
DR和BDR是基于鏈路院崇,不是基于設(shè)備。
- DR選舉:
1.基于時(shí)間袍祖,在選舉期內(nèi)OSPF的DR和BDR不具備搶占性底瓣。
2.基于Hello報(bào)文中的DR優(yōu)先級(jí),越大越優(yōu)先蕉陋。
3.如果優(yōu)先級(jí)相同濒持,將比較RID較大。
非DR設(shè)備之間會(huì)構(gòu)建正常的2Way關(guān)系
進(jìn)入接口配置:若修改為0則該路由無法選擇為DR或BDR
[R1-GigabitEthernet0/0/0]ospf dr-priority 1
OSPF開銷
- OSPF開銷計(jì)算公式為:帶寬參考值/帶寬
- 可以通過bandwidth-reference命令來設(shè)置帶寬參考值寺滚。
常見詞匯含義:
- LAS:鏈路狀態(tài)通告
- SPF算法:最短路徑優(yōu)先算法
- LSA泛洪:A路由器更新了規(guī)則柑营,發(fā)送給B和C,B和C也會(huì)做同樣的操作村视,會(huì)導(dǎo)致沒有意義的數(shù)據(jù)報(bào)文在鏈路中傳輸官套。