一、路由協(xié)議的分類
三種分類方式
1.按工作范圍分類:
-
IGP(內(nèi)部網(wǎng)關(guān)路由協(xié)議)
一個(gè)自治系統(tǒng)(AS)內(nèi)的必須運(yùn)行同一個(gè)路由協(xié)議
用于計(jì)算和發(fā)現(xiàn)路由
RIP奔缠、OSPF掠抬、ISIS
-
EGP(外部網(wǎng)關(guān)路由協(xié)議)
- 用于傳遞和控制路由
- BGP
IGP和EGP關(guān)系:
2.按照算法分類
- 距離矢量協(xié)議
- 傳言式路由協(xié)議
- RIP、BGP
- 鏈路狀態(tài)路由協(xié)議
- 基于鏈路狀態(tài)還原拓?fù)?/li>
- OSPF校哎、ISIS
3.按照是否協(xié)議掩碼分類
- 有類两波;
- 按A,B,C類的默認(rèn)掩碼進(jìn)行計(jì)算路由
- 傳遞路由時(shí)不攜帶掩碼
- RIPv1
- 無類
- 傳遞路由時(shí)攜帶掩碼
- RIPv2、OSPF闷哆、ISIS腰奋、BGP
一個(gè)協(xié)議可以根據(jù)以上三種分類對號入座、從而知道一個(gè)協(xié)議的大概工作方式
OSPF屬于IGP抱怔、鏈路狀態(tài)協(xié)議劣坊、無類
二、OSPF工作流程
1.基本流程:
- 發(fā)現(xiàn)建立鄰居
- 泛洪LSA(鏈路狀態(tài)信息)
- 同步LSA數(shù)據(jù)庫屈留,執(zhí)行SPF算法局冰,還原區(qū)域內(nèi)拓?fù)?/li>
- 計(jì)算最優(yōu)路由
2.router id
作用:
用于唯一標(biāo)識ospf設(shè)備
格式:
點(diǎn)分十進(jìn)制 X.X.X.X
生成方式:
(1):手工配置
? 全局下:
router id 1.1.1.1
? 進(jìn)程下指定
ospf 1 router-id 1.1.1.1
后續(xù)修改router-id,需要重置ospf進(jìn)程才會生效
reset ospf process //用戶試圖下
(2):自動選舉
? 根據(jù)loopback接口IP地址大的生成
? 如果沒有l(wèi)oopback接口绕沈,選擇物理接口IP地址大的
IPv6下無法自動生成
優(yōu)先級:
進(jìn)程下 > 全局下 > 自動選舉
-
檢查命令:
display ospf lsdb //查看ospf LSDB數(shù)據(jù)庫
display ip routing-table protocol ospf //查看ospf路由條目
3.OSPF報(bào)文
- 基于IP層锐想,協(xié)議號89
- 格式:
- OSPF頭部+OSPF報(bào)文內(nèi)容
OSPF協(xié)議報(bào)文頭部
每一個(gè)OSPF報(bào)文都會攜帶OSPF頭部信息
- 字段說明
- Version :對于當(dāng)前所使用的OSPFv2帮寻,該字段的值為2乍狐。
- Type:OSPF報(bào)文類型。
- Packet length:表示整個(gè)OSPF報(bào)文的長度固逗,單位是字節(jié)
- Router ID:表示生成此報(bào)文的路由器的Router ID
- Area ID:表示此報(bào)文需要被通告到的區(qū)域
- Checksum:校驗(yàn)字段浅蚪,其校驗(yàn)的范圍是整個(gè)OSPF報(bào)文,包括OSPF報(bào)文頭部
- Auth Type:為0時(shí)表示不認(rèn)證烫罩;為1時(shí)表示簡單的明文密碼認(rèn)證惜傲;為2時(shí)表示加密(MD5)認(rèn)證
- Authentication:認(rèn)證所需的信息。該字段的內(nèi)容隨AuType的值不同而不同
1.HELLO報(bào)文:
發(fā)現(xiàn)鄰居關(guān)系:組播224.0.0.5發(fā)送hello報(bào)文
建立鄰居關(guān)系贝攒,協(xié)商參數(shù)
維護(hù)鄰居關(guān)系盗誊,周期發(fā)送hello報(bào)文(hello時(shí)間+dead時(shí)間)
-
協(xié)商參數(shù):
- router id不能一致
- 區(qū)域ID必須一致
- 認(rèn)證,認(rèn)證類型和認(rèn)證密鑰必須一致
- 接口掩碼隘弊,在MA網(wǎng)絡(luò)中必須一致
- hello時(shí)間必須一致
- 區(qū)域類型(N位哈踱、E位)
- N=0 E=1:普通區(qū)域
- N=0 E=1:NSSA區(qū)域
- N=0 E=0:STUB區(qū)域
- hello報(bào)文特殊字段.png
- NBMA網(wǎng)絡(luò)只能跟NBMA網(wǎng)絡(luò)建立(單播建立鄰居)
-
鄰居建立過程:
- DOWN:未啟用OSPF協(xié)議
- INIT:收到hello報(bào)文,鄰居列表不存在自身router id
- 2-way:收到hello報(bào)文梨熙,鄰居列表存在自身router id
- 鄰居建立完成
display ospf error //查看無法建立鄰居關(guān)系的原因
2.DD報(bào)文
-
描述數(shù)據(jù)庫報(bào)文
- 不攜帶LSA頭部开镣,開頭第一個(gè)報(bào)文,確定主從關(guān)系咽扇,保證后續(xù)DD報(bào)文可靠傳輸
- DD報(bào)文第一個(gè).png
- 攜帶LSA頭部邪财,減少LSA泛洪陕壹,節(jié)省性能
- DD報(bào)文后續(xù).png
- 不攜帶LSA頭部开镣,開頭第一個(gè)報(bào)文,確定主從關(guān)系咽扇,保證后續(xù)DD報(bào)文可靠傳輸
-
詳細(xì)內(nèi)容
MTU:默認(rèn)填充為0,表示不協(xié)商
-
Flag位(DB Description):
DD報(bào)文第一個(gè).png- I位:代表是否為第一份DD報(bào)文(第一份DD報(bào)文是用于選舉主從)
- M位:代表后續(xù)是否還有DD報(bào)文
- M/S位:代表主從
I位等于0树埠,標(biāo)志狀態(tài)由ExStart進(jìn)入exchange狀態(tài)
I位糠馆、M位等于0,標(biāo)志著由exchange狀態(tài)進(jìn)入loading狀態(tài)
DD序列號(DB Sequence):用于隱形確認(rèn)怎憋,有序傳輸
-
LSA header
LSA頭部.png- LS Type:LSA的類型
-
LS ID:LSA內(nèi)容
- ADV:LSA通告者
以上是唯一標(biāo)識一條LSA的三要素(LSA Request報(bào)文中包含)
- LS Age:LSA的老化時(shí)間榨惠,范圍0~3600s ,越小越新
- (LS sequence)序列號:越大越優(yōu)盛霎,0x8000000--0x7FFFFFF
- 這是一個(gè)閉環(huán)型的計(jì)數(shù)方式
- 校驗(yàn)和:越大越優(yōu)
標(biāo)識一條LSA的新舊程度:序列號>校驗(yàn)和>LS Age
LSA的周期更新時(shí)間為1800s
收到LS Age為3600s的LSA赠橙,代表要刪除該LSA
3.LSR報(bào)文
針對缺少的LSA進(jìn)行請求
攜帶LSA三要素
4.LSU報(bào)文
- 攜帶詳細(xì)LSA信息
- 用于承載LSA頭部+LSA內(nèi)容
- LSU的發(fā)送時(shí)間
- 收到LSR請求
- LSA的周期1800s更新時(shí)
- 觸發(fā)更新(路由信息發(fā)生變化時(shí)發(fā)送)
5.LS ACK報(bào)文
用于對LSU報(bào)文的確認(rèn)
攜帶LSA頭部進(jìn)行確認(rèn)
問:什么時(shí)候標(biāo)志著一臺設(shè)備已經(jīng)完成數(shù)據(jù)庫同步?
答:LSR的重傳列表為空時(shí)
- 一臺設(shè)備LSR的重傳列表中包含該設(shè)備對比完成其他設(shè)備發(fā)來的DD報(bào)文后愤炸,需要想其他設(shè)備請求的LSA信息期揪,當(dāng)收到對應(yīng)的包含LSA信息的LSU報(bào)文,就會刪除重傳列表中相應(yīng)的信息
②.OSPF網(wǎng)絡(luò)類型
1.廣播類型(BMA)
①底層鏈路為以太網(wǎng)鏈路规个,默認(rèn)時(shí)BMA網(wǎng)絡(luò)類型
②一個(gè)接口下可以存在多個(gè)鄰居
③hello報(bào)文時(shí)間:10s dead時(shí)間:40s
④支持廣播凤薛、組播發(fā)送發(fā)送hello報(bào)文、ospf報(bào)文诞仓,以單播方式發(fā)送DD缤苫、LSR報(bào)文
⑤選舉DR/BDR
⑥互聯(lián)網(wǎng)接口需要在同一網(wǎng)段
2.點(diǎn)到點(diǎn)(P2P)
①底層鏈路為串行鏈路,底層協(xié)議為PPP墅拭,HDLC時(shí)活玲,默認(rèn)為P2P網(wǎng)絡(luò)類型
②一個(gè)接口只能存在一個(gè)鄰居
③hello報(bào)文時(shí)間:10s dead時(shí)間:40s
④支持廣播、組播發(fā)送hello報(bào)文谍婉、ospf報(bào)文
⑤不選舉DR/BDR
3.點(diǎn)到多點(diǎn)(P2MP)
①沒有底層鏈路默認(rèn)時(shí)P2MP網(wǎng)絡(luò)類型
②一個(gè)接口只能存在一個(gè)鄰居
③hello報(bào)文時(shí)間:30s dead時(shí)間:120s
④支持廣播舒憾、組播發(fā)送hello報(bào)文、ospf報(bào)文
⑤不選舉DR/BDR
⑥適用于中心到站點(diǎn)的網(wǎng)絡(luò)
4.非廣播多路訪問網(wǎng)絡(luò)(NBMA)
①底層鏈路為串行鏈路穗熬,底層協(xié)議為FR镀迂、ATM時(shí),默認(rèn)為NBMA網(wǎng)絡(luò)類型
②一個(gè)接口下可以存在多個(gè)鄰居
③hello報(bào)文時(shí)間:30s dead時(shí)間:120s
④不支持廣播唤蔗、組播發(fā)送hello報(bào)文探遵、ospf報(bào)文,只能人工指定單播發(fā)送
⑤選舉DR/BDR
通過peer命令手工建立鄰居關(guān)系
修改命令
interface g0/0/2
ospf network-type p2p/NMBA
- 問題:一邊為BMA網(wǎng)絡(luò)類型妓柜,一邊為P2P網(wǎng)絡(luò)類型
- 是否可以建立鄰居關(guān)系箱季? -----可以 (hello報(bào)文中沒有字段說明時(shí)屬于什么網(wǎng)絡(luò)類型
- 是否可以同步數(shù)據(jù)庫? -----可以
- 路由計(jì)算是否正常领虹? ------不正常(不同網(wǎng)絡(luò)類型還原拓?fù)涞慕Y(jié)構(gòu)不一樣)
③.OSPF開銷
兩種方式確認(rèn)開銷
1.通過帶寬參考值計(jì)算
默認(rèn)參考帶寬值=100Mbit/s
參考帶寬值越大规哪,開銷越準(zhǔn)確
修改帶寬參考值:
bandwidth-reference 1000
2.直接指定接口開銷
修改接口開銷值
? 開銷值范圍是1~65535,默認(rèn)為1
interface g0/0/2
ospf cost 20
開銷只在路由接收時(shí)塌衰,進(jìn)行累加(即只計(jì)算接收端口的路由開銷)
④.DR/BDR
在MA網(wǎng)絡(luò)中一個(gè)接口可以有多個(gè)鄰居
1.作用:
減少M(fèi)A網(wǎng)絡(luò)的鄰接關(guān)系
從而減少鏈路狀態(tài)信息以及路由信息的交換次數(shù)诉稍,這樣可以節(jié)省帶寬蝠嘉,降低對路由器處理能力的壓力。
在描述拓?fù)鋾r(shí)杯巨,充當(dāng)偽結(jié)點(diǎn)
還原拓?fù)洌?/p>
實(shí)際拓?fù)洌?/p>
2.選舉規(guī)則:
先比較端口優(yōu)先級蚤告,默認(rèn)為1,可調(diào)范圍0~255(優(yōu)先級為0表示放棄選舉)服爷,越大越優(yōu)杜恰。
優(yōu)先級一致則比較router-id,越大越優(yōu)
-
選舉過程
- 標(biāo)準(zhǔn)機(jī)制中仍源,當(dāng)鄰居狀態(tài)到達(dá)2-way時(shí)心褐,開始選舉,等待40s的while time時(shí)間
- 華為機(jī)制中笼踩,當(dāng)接口發(fā)出第一份hello報(bào)文時(shí)逗爹,開始選舉,等待40s的while time時(shí)間
3.設(shè)備角色
①DR:和該MA網(wǎng)絡(luò)下的所有設(shè)備建立FULL的鄰接關(guān)系(監(jiān)聽224.0.0.6和224.0.0.5)
②BDR:和該MA網(wǎng)絡(luò)下的所有設(shè)備建立FULL鄰接關(guān)系(監(jiān)聽224.0.0.6和224.0.0.5)
③DR other:只和BR/BDR建立鄰接關(guān)系嚎于,DR other和DR other之間只建立two way鄰居關(guān)系(監(jiān)聽224.0.0.5)
一個(gè)拓?fù)渲锌梢詻]有BDR掘而,但是不能沒有DR,有且只有一個(gè)
DR/BDR監(jiān)聽地址:224.0.0.6
注意
- DR選舉完成后于购、不允許搶占
- 在two-way之后開始選舉DR/BDR(華為設(shè)備是在第一個(gè)hello報(bào)文發(fā)出后開始選舉)
- DR監(jiān)聽224.0.0.6進(jìn)行收集LSU信息袍睡,以224.0.0.5向外發(fā)布信息
三、OSPF區(qū)域內(nèi)路由計(jì)算
- 還原區(qū)域內(nèi)拓?fù)?需要使用:
- 1類LSA(ROUTE-LSA)
- 2類LSA(NETWORK LSA)
1.一類LSA (route LSA)
產(chǎn)生者: 每臺OSPF設(shè)備為每個(gè)區(qū)域產(chǎn)生一條1類LSA
泛洪范圍:在區(qū)域內(nèi)泛洪
-
描述內(nèi)容: 描述區(qū)域內(nèi)的拓?fù)湫畔⒑吐酚尚畔?/p>
微信截圖_20201115235629.png-
1類LSA存在4種 LINK TYPE(P2P肋僧,Stubnet斑胜、TransNet、Vritual)
- P2P鏈路類型(拓?fù)湫畔?
- LINK ID : 對端的router id
- LINK DATA:自身連接對端的接口IP地址
-
Link Type:鏈路類型
-
Metric:到對端的開銷
1類LSA P2P.png
-
-
-
Stubnet鏈路類型(路由信息)
- LINK ID:網(wǎng)絡(luò)前綴
- LINK DATA:掩碼
- LINK ID:網(wǎng)絡(luò)前綴
-
Link Type:鏈路類型
-
Metric:到對端的開銷
1類LSA STUB.png
路由信息.png -
當(dāng)接口被宣告色瘩,但是沒有鄰居關(guān)系時(shí)伪窖,也會采用stub net進(jìn)行描述
P2P鏈路類型+STUB鏈路類型可以描述P2P的網(wǎng)絡(luò)拓?fù)鋱D
-
TransNet (拓?fù)湫畔?
微信截圖_20201116000206.pngLINK ID:DR的接口IP(偽節(jié)點(diǎn))
LINK DATA: 自身連接DR的接口IP地址
Link Type:鏈路類型
-
Metric:到對端的開銷
1類LSA trans.png
dis ospf lsdb router X.X.X.X
/查看一類LSA的詳細(xì)內(nèi)容
2.二類LSA (network LSA)
產(chǎn)生者:DR為一個(gè)MA網(wǎng)絡(luò)產(chǎn)生一條
泛洪范圍:區(qū)域內(nèi)
描述內(nèi)容:MA網(wǎng)絡(luò)的路由信息和拓?fù)湫畔?/p>
-
重要字段:
- LS ID: DR的接口IP地址(偽節(jié)點(diǎn))
- LS ADV: DR的router ID
- MASK: MA網(wǎng)絡(luò)的掩碼
- Attcher router:MA網(wǎng)絡(luò)下連接的路由器
二類LSA.png LS ID +MASK = 路由信息
Attcher router=拓?fù)湫畔?/p>
dis ospf lsdb network X.X.X.X //查看二類LSA
問題
問題1:如果同區(qū)域的設(shè)備出現(xiàn)router-id一致時(shí),能否建立鄰居關(guān)系居兆,會出現(xiàn)什么問題?
R1和R3會一直產(chǎn)生序列號+1的route—lsa 進(jìn)行覆蓋
一段時(shí)間后竹伸,其中一臺設(shè)備會修改自身的router-id
LSA1類在更新時(shí)泥栖,一般不會利用 3600s 進(jìn)行刪除,采用序列號+1進(jìn)行覆蓋
因?yàn)長SA1類包含路由和拓?fù)湫畔⒀ǎ荒茌p易刪除
問題2:設(shè)備什么時(shí)候會停留在一下狀態(tài)
-
2-way
- DR other 之間
-
exstart
-
開啟MTU協(xié)商吧享,但協(xié)商不通過
queation2.png
-
-
exchange
- 沒有開啟MTU協(xié)商,并且MTU不匹配譬嚣,發(fā)送的DD報(bào)文過大(帶LSA頭部信息)
- loading
- 沒有開啟MTU協(xié)商钢颂,并且MTU不匹配,發(fā)送的DD報(bào)文過大(帶LSA頭部信息)