網(wǎng)絡協(xié)議分析——OSPF


OSPF
【鏈路狀態(tài)協(xié)議和距離矢量協(xié)議的區(qū)別】
距離矢量:發(fā)送更新信息時以路由表的形式發(fā)送
鏈路狀態(tài):發(fā)送更新信息時以拓撲表的形式發(fā)送
路由表:存放前往目標的最優(yōu)路徑
拓撲表:存放前往目標的所有路徑(所有設備對于網(wǎng)絡的認知都一致,可以認識整個網(wǎng)絡結構)
【OSPF】
一、基本介紹
1、Open Shortest Path First,開放最短路徑優(yōu)先
2、屬于鏈路狀態(tài)協(xié)議
①鏈路:接口的相關信息
②狀態(tài):鄰居關系的建立
3、收斂速度較快
4、工作位置:基于IP層之上的89號端口
(RIP--UDP 520)
5、路由更新方式--組播
組播地址:224.0.0.5
224.0.0.6
(RIP--224.0.0.9)
二、術語
1、RID--router ID:唯一標識一臺ospf路由器
網(wǎng)絡中唯一標識一臺通信設備:IP地址
唯一標識一臺通信設備:Mac地址
選舉規(guī)則:
①手動指定的RID具有最高優(yōu)先級,并且不會隨著網(wǎng)絡拓撲的變化而變化
②回環(huán)口的IP地址,越大越優(yōu)
③雙UP的物理接口IP,越大越優(yōu)
④選舉過程非搶占
2、區(qū)域
骨干區(qū)域:區(qū)域0
非骨干區(qū)域:非0區(qū)域
注意:所有非骨干區(qū)域?qū)τ谄渌麉^(qū)域的路由學習都是通過骨干區(qū)域,非骨干區(qū)域必須和骨干區(qū)域互聯(lián)
3、LSA--鏈路狀態(tài)通告
ospf中所有的信息同步都是依賴于LSA
【三張表】
1、鄰居表:表示鄰居關系的建立及狀態(tài),鄰居關系成功建立會形成鄰居表
R1#show ip ospf neighbor?
2、拓撲表:通過設備交互LSA信息,形成拓撲表(拓撲表-鏈路狀態(tài)數(shù)據(jù)庫-LSDB)
R1#show ip ospf database?
3、路由表:利用SPF(最小生成樹)算法計算拓撲表,得到最優(yōu)路徑,存放到路由表
R1#show ip route ospf
【配置】
R2(config)#router ospf 1 --啟用ospf協(xié)議
R1(config-router)#router-id 1.1.1.1 --手動指定RID
R2(config-router)#network 192.168.12.0 0.0.0.255 area 0
R2(config-router)#network 192.168.23.0 0.0.0.255 area 0
R1#clear ip ospf process --清理/重置OSPF進程?
Reset ALL OSPF processes? [no]: y
正:255.255.255.224
反:0.0.0.31
正反掩碼每一位之和為255
【五個報文】
1.hello包:用于建立和維持鄰居關系:
(1)鄰居的建立條件:①hello間隔和死亡時間要一致②區(qū)域要一致
2.DBD:數(shù)據(jù)庫摘要,用于向?qū)Ψ酵ǜ鍸SA信息
(1)I:init:1代表第一個DBD包
(2)M:more:1代表后面還有更多的包
(3)MS:master:1代表主,0代表從
3.LSR:鏈路狀態(tài)請求包:對比自己的DBD,向?qū)Ψ桨l(fā)送請求包,只有主會發(fā)送(有爭議地方)
4.LSU:鏈路狀態(tài)回復包:對LSR回復,主從都會發(fā)送
5.LSack:鏈路狀態(tài)確認包:對LSU包進行確認,ospf就是通過該報文來保證路由更新的可靠性
【七個狀態(tài)】
1.down:沒有發(fā)現(xiàn)hello包,沒法建立鄰居
2.init(初始狀態(tài)):啟用ospf協(xié)議后,路由器就會向224.0.0.5發(fā)送和接收鄰居的hello報文
3.2-way(雙向通道):在發(fā)送hello包的時候會把自己RID一起發(fā)送給對方,如果雙方都將對方的RID記錄到hello包時,說明建立鄰居
4.exstart(預啟動狀態(tài)):開始發(fā)送數(shù)據(jù)庫摘要,進行主從關系的選舉
5.exchange(交換狀態(tài)):相互間交換數(shù)據(jù)庫摘要,通過比較,請求缺少的LSA
6.loading(加載狀態(tài)):發(fā)送LSR,LSU,LSACK,專門學習對方的詳細的LSA
7.full:LSDB已經(jīng)同步

