1. 程式人生 > >Internet的路由選擇協議(RIP、OSPF)

Internet的路由選擇協議(RIP、OSPF)

有關路由選擇協議的幾個概念

1、理想的路由演算法

路由選擇協議的核心就是路由演算法,即路由器通過演算法來獲得路由。

一個理想的路由演算法應該具有以下的特點

  • 演算法必須是正確和完整的
  • 演算法在計算上應簡單
  • 演算法應能適應通訊量和網路拓撲的變化
  • 演算法應具有穩定性
  • 演算法應是公平的
  • 演算法應是最佳的

這裡的“最佳”指的是相對於某一種特定要求下得出的較為合理的選擇

從路由演算法能否適應通訊量和網路拓撲的變化來看,可將路由分為

  • 靜態路由:由管理員進行配置,路由不隨網路拓撲的變化而變化
  • 動態路由:自動學習路由,路由能夠適時根據網路拓撲的變化而變化

由於因特網規模較大,不可能要求管理員為因特網上所有的路由器去配置路由。而且因特網上的網路拓撲隨時都在變,管理員配置的靜態路由也無法去適應網路拓撲的變化。所以,因特網上採用的主要是動態的、分散式路由協議

同時,一些企業部門不希望自己的內部網路被外界知道,所以因特網將整個網際網路劃分為許多小的自制系統(AS)

AS的定義:在單一的技術管理下的一組路由器。一個AS對其他AS表現出的是一個單一的和一致的路由選擇策略。

根據此,可以將路由選擇協議劃分為兩大類

  • 內部閘道器協議(IGP):在一個自治系統內部使用的路由協議(RIP或者OSPF)
  • 外部閘道器協議(EGP):在自治系統間進行路由的路由協議,典型的外部閘道器協議就是BGP,現在使用最多的是BGP-4(BGP協議的4版本)

RIP協議

RIP協議是一種分散式的基於路由向量的路由選擇協議(貝爾曼-福特演算法)

這裡的“距離”是跳數,即每經過一個路由器,距離加1,RIP協議規定距離最大為16,當距離等於16時,相當於不可達。所以這個也就註定RIP只能適用於小型網際網路。

RIP協議的特點

  • 僅和相鄰路由器交換資訊(相鄰說的是直連的路由器)
  • 路由器交換的資訊是當前路由器知道的全部資訊,即自己的路由表
  • 按規定的時間間隔交換路由資訊,週期為30s

OSPF協議

為了克服RIP協議存在的缺點,在1989年開發出了OSPF協議,使用了最短路徑演算法(Dijkstra演算法)。

OSPF協議最主要的特徵是使用分散式的鏈路狀態協議

三個要點

  • 所有路由器向本自治系統中的其他所有路由器用洪泛傳送資訊
  • 傳送的資訊就是與本路由器相鄰的所有路由器的鏈路狀態通告(LSA)

這裡的鏈路狀態是指本路由器都和那些路由器相鄰,以及該鏈路的度量(或者稱為代價)。這個度量用來表示費用、距離、時延、頻寬等,由網路管理人員來決定。

  • 只有當鏈路狀態發生變化時,路由器才向所有路由器用洪泛法傳送此資訊

OSPF協議工作過程

  • 發現鄰居,建立並維護鄰居關係
  • 生成LSA,每臺路由器都會生成自己的LSA
  • 泛洪LSA,使用OPSF自身具備可靠傳輸能力將LSA泛洪到區域中的其它路由器上
  • 將收到的LSA組裝成鏈路狀態資料庫(LSDB),根據SPF演算法計算出到達拓撲中所有網路的最短路徑
  • 將計算得出的路由裝載到路由表

OSPF協議的優點

  • 收斂速度快
  • 網路擴充套件性好
  • 環路避免方面效能較好

為了能使OSPF適用於更大規模的網路,OSPF將一個自治系統在劃分為若干個區域(area)每個區域有一個32位的區域識別符號(用點分十進位制表示)一個區域不能太大,在區域進行規劃的時候,一般要根據一個區域內路由器的型號,效能,以及負載來進行設計,通常一個區域中的路由器數量為30到100臺左右,最好不要超過200臺路由器

劃分區域的好處就是把利用洪泛法交換鏈路狀態資訊的範圍侷限於每一個區域而不是整個自治系統,這樣就減少了整個網路上的通訊量。OSPF採用層次結構的區域劃分,分為主幹區域和普通區域。

區域在進行規劃的時候,一定要注意,所有普通區域必須與骨幹區域直接相連。該要求主要是為了OSPF區域間防環。(由於SPF演算法本身可以保證OSPF在區域內部無環路,所以區域間防環主要依靠網路設計來解決。因為OSPF在區域間使用類似距離向量路由協議的路由傳遞方式,所以不能保證沒有環路,如果所有普通區域都直接連線到骨幹區域,相當於形成了一個星型拓撲,這在拓撲的設計上避免了區域間環路的可能。

將路由器分成了幾類

  • 區域內部路由器:所有的介面都位於同一區域
  • 區域邊界路由器(ABR):有不同的介面位於不同的區域且其中一個為骨幹區域
  • 自治系統邊界路由器(ASBR):進行了重分佈操作將其它路由器源學習到的路由引入OSPF的路由器

幾類路由器

OSPF協議更新機制

OPSF使用觸發更新+增量更新。(OSPF有一個非常緩慢的週期更新)

作為對比,RIP協議使用週期更新+完整更新(RIP也具有觸發更新的機制)

  • 觸發更新:當拓撲發生變化時,立即傳送更新
  • 週期更新:每經過一個時間週期,傳送一次更新
  • 增量更新:只發送變化部分的路由資訊
  • 完整更新:傳送所有路由資訊

注:OSPF協議不用UDP而是直接用IP資料報傳送

OSPF的一些特點

  • OSPF允許管理員給每條路由指派不同的代價
  • 可以實現多路徑負載均衡
  • 所有在OSPF路由器之間交換的分組都具有鑑別功能,因而保證了僅在可信賴的路由器之間交換鏈路狀態資訊
  • OSPF支援可變長度的子網劃分和無分類的編制CIDR
  • 由於網路中的鏈路狀態可能隨時發生變化,因此OSPF讓每一個鏈路狀態都帶上一個32位的序號,序號越大狀態就越新

OSPF協議的五種分組型別

  • 型別一,Hello分組,用來發現和維持鄰站的可達性
  • 型別二,資料庫描述(LSDB)分組,向鄰站給出自己的鏈路狀態資料庫中的所有鏈路狀態專案的摘要資訊
  • 型別三,鏈路狀態請求(LSR)分組,向對方請求傳送某些鏈路狀態專案的詳細資訊
  • 型別四,鏈路狀態更新(LSU)分組,用洪泛法對全網更新鏈路狀態,這種分組最複雜,也是OSPF協議最核心的部分
  • 型別五,鏈路狀態確認(LSA)分組,對鏈路更新分組的確認

注:鏈路狀態資料庫的同步指的是不同路由器的鏈路狀態資料庫的內容是一樣的,兩個同步的路由器叫做完全鄰接,兩個不同的路由器如果物理上相鄰,但鏈路狀態資料庫不同步,只能說是鄰居。

OSPF協議同步資料庫的過程:

OSPF對多點對接的區域網採用了指定路由器的方法,使廣播的資訊量大大減少

  • DR:指定路由器
  • BDR:備份指 定路由器
  • DR和BDR在每個鏈路上通過選舉產生,路由器優先順序越大越好,當優先順序都相等時,選舉Router-ID最大的路由器。