從零開始了解動態(tài)路由協(xié)議,網(wǎng)絡路由不再迷路!
動態(tài)路由協(xié)議的分類
按照工作區(qū)分類:
- 「IGP(Interior Gateway Protocols,內(nèi)部網(wǎng)關協(xié)議) : RIP OSPF IS-IS」
- 「EGP(Exterior Gateway Protocols,外部網(wǎng)關協(xié)議):BGP」
按工作機制及算法分類:
- 「距離矢量路由協(xié)議:RIP」
- 「鏈路狀態(tài)路由協(xié)議: OSPF IS-IS」
- BGP使用一種基于距離矢量算法修改后的算法,該算法被稱為路徑矢量(Path Vector)算法。因此在某些場合下,BGP也被稱為路徑矢量路由協(xié)議。
- IGP(內(nèi)部網(wǎng)關協(xié)議)在同一個自治系統(tǒng)內(nèi)交換路由信息,IGP的主要目的是發(fā)現(xiàn)和計算自治域內(nèi)的路由信息。
- EGP( 外部網(wǎng)關協(xié)議 ) 主要用于AS( 自治系統(tǒng))之間的互聯(lián)。
距離矢量路由協(xié)議
運行距離矢量路由協(xié)議的路由器「周期性地泛」洪自己的路由表。通過路由的交互,每臺路由器都從相鄰的路由器學習到路由,并且加載進自己的路由表中,然后再通告給其他相鄰路由器。對于網(wǎng)絡中的所有路由器而言,路由器并不清楚網(wǎng)絡的拓撲,只是簡單的知道要去往某個目的網(wǎng)段方向在哪里,開銷有多大。
鏈路狀態(tài)路由協(xié)議
LSA泛洪
- 鏈路狀態(tài)路由協(xié)議通告的的是「鏈路狀態(tài)」而不是路由信息
- 運行鏈路狀態(tài)路由協(xié)議的路由器之間首先會建立鄰居關系,然后彼此之間開始交互LSA( LinkState Advertisement,鏈路狀態(tài)通告)。
- 鏈路狀態(tài)通告,可以簡單的理解為每臺路由器都產(chǎn)生一個描述自己直連接口狀態(tài)(包括接口的開銷、與鄰居路由器之間的關系等 )的通告。
LSDB維護
每臺路由器都會產(chǎn)生LSA,路由器將接收到的LSA放入自己的LSDB( Link State DataBase,鏈路狀態(tài)數(shù)據(jù)庫)。路由器通過對LSDB中所存儲的LSA進行解析,進而了解全網(wǎng)拓撲。
SPF計算
每臺路由器基于LSDB,使用SPF (Shortest Path First,最短路徑優(yōu)先)算法進行計算。每臺路由器都計算出棵以自己為根的、無環(huán)的、擁有最短路徑的“樹”。有了這棵“樹”路由器就已經(jīng)知道了到達所有網(wǎng)段的優(yōu)選路徑
SPF是OSPF路由協(xié)議的一個核心算法,用來在一個復雜的網(wǎng)絡中做出路由優(yōu)選的決策。
路由表生成
路由器將計算出來的優(yōu)選路徑,加載進自己的路由表 ( Routing Table )
鏈路狀態(tài)路由協(xié)議總結(jié)
鏈路狀態(tài)路由協(xié)議有四個步驟:
- 第一步是建立相鄰路由器之間的鄰居關系
- 第二步是鄰居之間交互鏈路狀態(tài)信息和同步LSDB
- 第三步是進行優(yōu)選路徑計算
- 第四步是根據(jù)最短路徑樹生成路由表項加載到路由表