在網路中,路由相當於就是一張地圖,讓路由器知道這個對應的IP封包應該往哪埠、網段走;而這個「地圖」我們稱之為路由表,不同的目的IP路由表的下一個跳也不同,其生成方式有又有多種:
協定名 | 協定演演算法 | 備註 |
---|---|---|
RIP(路由資訊協定) | 距離向量協定(DV) | |
OSPF(開放式最短路徑優先) | 鏈路狀態協定(LS) | 可以用在大型的企業核心網中 |
IS-IS(中間系統到中間系統) | 鏈路狀態協定(LS) | 這個協定我用比較少,和OSPF類似 |
EIGRP(增強內部網路關路由協定) | 鏈路狀態+距離向量協定(LS+DV) | 思科私有協定 |
BGP(邊界閘道器協定) | 距離向量協定(DV) | 用在AS之間的路由協定,結合MPLS技術,實現不同AS內路由協定不同也可正常通訊 |
路由協定演演算法一般是兩種,距離向量協定和鏈路狀態協定。
距離向量路由協定演演算法,定期(比如RIP是30s)獲取相鄰路由器的路由表條目,對開銷更低或者新的條目進行開銷增加的操作,更新在自己的路由表條目。
鏈路狀態協定演演算法,獲取最多使用Dijkstra演演算法,求出最短路徑。
OSPF是我們最常用的動態路由協定。迴歸到我們動態路由的目的:
讓路由器能夠自動地建立自己的路由表,並且能夠根據實際情況的變化適時地進行調整。
OSPF基本思想:
每個路由器將已知的鏈路狀態資訊通告鄰居,收斂後,每個路由器對全網的鏈路狀態有相同的路由認識,也就是全部拓撲。單臺路由器根據全部拓撲,使用Dijkstra計算路由。
名詞 | 註解 |
---|---|
LSA(鏈路狀態通告) | LSA含有路由器鏈路狀態的資訊(比如路由器編號,直連網段,開銷等),一臺路由器對於一條LSA |
LSDB(鏈路狀態資料庫) | 存在每臺路由器中,由多條LSA組成,實現區域內部可以達到資訊同步 |
圖1.LSA和LSDB
DR/BDR由於埠的優先順序來進行選舉,介面的DR優先順序越大越優先
DR和BDR會與其他所有路由器形成鄰接關係並交換鏈路狀態資訊,其他路由器之間不直接交換鏈路狀態資訊
組播IP | 功能 |
---|---|
224.0.0.5(AllSPFRouter) | DRother偵聽224.0.0.5 |
224.0.0.6(AllDRouter) | DR/BDR偵聽224.0.0.6 |
圖2.計算最優路由
所有的區域以星型結構的方式與area0(骨幹區域)直接連線。
報文型別 | 功能 |
---|---|
Hello | 發現和維護鄰居關係 |
Database Description | 互動鏈路狀態資料庫摘要 |
Link State Request | 請求特定的鏈路狀態資訊 |
Link State Update | 傳送詳細的鏈路狀態資訊 |
Link State Ack | 傳送確認報文 |