OSPF協議是一種鏈路狀態協議。每一個路由器負責發現、維護與鄰居的關係,並將已知的鄰居列表和鏈路費用LSU(Link State Update)報文描述,經過可靠的泛洪與自治系統AS(Autonomous System)內的其餘路由器週期,學習到整個自治系統的網絡拓撲結構;並經過自治系統邊界的路由器注入其餘AS的路由信息,從而獲得整個Internet的路由信息。每隔一個特定時間或當鏈路狀態發生變化時,從新生成LSA,路由器經過泛洪機制將新LSA通告出去,以便實現路由的實時更新算法
·數據庫
OSPF(開放式最短路徑優先)
基於鏈路狀態信息的內部網關協議(IGP協議)
基於IP協議,協議號:89
SPF算法:OSPF區域中全部的路由器會從與他相鄰的路由器得到LSA,將這些LSA存入LSDB中,計算到每一地方的最優路徑,而後將最優路徑存入全局路由表中。在計算的過程當中,就已經消除了環路網絡
·ide
OSPF特色
可適應大規模網絡 |
---|
路由變化收斂速度快 |
無路由環 |
支持變長子網掩碼VLSM |
支持區域劃分 |
支持以組播地址發送協議報 |
·學習
1、OSPF四種路由類型
類型 | 描述 |
---|---|
DR | 當多路訪問網絡發生變化時,DR負責更新其餘全部路由器 |
BDR | BDR會監控DR 的狀態,並在當前DR發生故障時接替其角色 |
ABR | ABR用來鏈接骨幹區域和非骨幹區域,它與骨幹區域之間既能夠是物理鏈接,也能夠是邏輯上的鏈接 |
ASBR | ASBR路由器是用來把其餘路由選擇協議學習到的路由經過路由選擇重分配的方式注入到OSPF域的路由器 |
·code
2、OSPF五大區域
一、骨幹區域(Area0)
二、非骨幹區域——根據可以學習的路有種類來區分
(1)標準區域
(2)末梢區域
(3)徹底末梢
(4)非純末梢區域blog
·接口
3、OSPF數據包類型
數據包類型 | 數據包做用 |
---|---|
Hello包 | 週期性的發送,用來發現,創建、維護鄰居關係 |
數據庫描述包(DBD) | 用來描述本地鏈路數據庫的摘要信息 |
鏈路狀態請求包(LSR) | 用於向鄰居請求所需LSA的詳細信息 |
鏈路狀態更新包(LSU) | 用與對方恢復所請求LSA的詳細信息 |
鏈路狀態確認包(LSACK) | 確認收到LSU,每一個LSA須要被分別確認 |
·進程
4、OSPF網絡類型
網絡類型 | hello時間 | Dead時間 | 鄰居與鄰接關係 |
---|---|---|---|
廣播 | 10s | 40s | 自動創建鄰居,選舉DR/BDR |
P2P | 10s | 40s | 自動創建鄰居,無需選舉DR/BDR |
P2MP | 30s | 120s | 手動指鄰居,無需選舉DR/BDR |
NBMA | 30s | 120s | 手動指鄰居,選舉DR/BDR |
·ip
5、OSPF鄰接關係創建過程
狀態 | 過程 |
---|---|
Down(無效狀態) | 收到hello激活到int狀態 |
Init(初始狀態) | 收到hello報文,沒有發現本身的R-id |
2-Way(雙向通訊狀態) | 接受到了hello報文,且在active neighbor字段看懂了本身的R-ID |
exstart(信息交互初始狀態) | 交互first DBD報文,肯定主從關係,R-ID大的爲master |
exchange(信息交換狀態) | 交互DBD報文,攜帶LSA的頭部信息 |
loading(信息加載狀態) | 當收到本地DBD報文中M位爲0是,進入該狀態 |
full(徹底鄰接狀態) | 路由器之間創建徹底鄰接狀態,LSDB同步完成 |
6、OSPF鏈路狀態
一、鏈路狀態數據庫的組成
(1)每一個路由器都建立了由每一個接口、對應的相鄰節點和接口速度組成的數據庫
(2)鏈路狀態數據庫中的每一個條目稱爲LSA(鏈路狀態通告),常見的有六種LSA類型
二、鏈路狀態通告(LSA)類型
Type1 :路由器LSA 由區域內的路由器發出的(全部路由)
Type2: 網絡LSA 由區域內的DR發出的(宣告網絡狀態信息)
Type3 :網絡彙總LSA ABR發出的,其餘區域的彙總鏈路通告(彙總交換)
Type4 :ASBR彙總LSA ABR發出的,用於通告ASBR信息(告知ASBR位置)
Type5: AS外部LSA ABR發出的,用於通告外部路由(外交官)
Type6: NSSA外部LSA NSSA區域內的ASBR發出的,用於本區域鏈接的外部路由
·
7、OSPF工做過程
·
8、OSPF的度量值
COST=10^8/BW最短路勁是基於接口指定時代(cost)計算的
接口類型 | 代價(108/BW) |
---|---|
Fast Ethernet | 1 |
Ethernet | 10 |
56K | 1785 |
9、OSPF的配置命令
描述 | 命令 |
---|---|
啓動OSPF路由進程 | rout ospf process-id |
指定OSPF協議運行的接口和所在的區域 | network address invers-mask area area-ad |
查看路由表信息(直連/學習) | show ip route |
只查看OSPF學習到的路由 | show ip route ospf |
查看OSPF協議配置信息 | show ip protocol |
查看OSPF是如何配置的以及ABR信息 | show ip ospf |
查看LSDB內的全部LSA數據信息 | show ip ospf database |
查看接口上OSPF配置信息 | show ip ospf interface |
查看OSPF鄰居和鄰接的狀態 | show ip ospf neighbor |
查看OSPF鄰居的詳細信息(包括DR/BDR) | show ip ospf neighbor detail |