1. 程式人生 > >靜態路由(靜態彙總路由,靜態預設路由,負載均衡,浮動靜態路由)介紹

靜態路由(靜態彙總路由,靜態預設路由,負載均衡,浮動靜態路由)介紹

網路上通過各種裝置傳遞資料,最常見的就是路由器和交換機。本篇介紹路由器的靜態路由協議。先簡要說一下路由條目和路由表(熟悉的可略過):

一個數據包從源IP地址到目標IP地址間可能穿過多個路由器,也可能有多條路徑通往目標IP地址。那路由器收到資料後,如何知道哪個埠能通往目標地址呢?如果多個埠都可通往目標地址,選擇用哪個端口才是最優路徑呢?依據的就是路由表。路由表就是路由器的靈魂,是多個路由條目的集合。路由條目必須有5個專案:字首,掩碼,下一跳,管理距離AD,度量。

1.字首和掩碼

(可以參照【IPv4協議及VLSM可變長子網劃分和CIDR無類域間路由】http://blog.csdn.net/hongse_zxl/article/details/50054817)

2.下一跳

路由器根據路由表將資料轉發到下一個埠地址

3.管理距離AD

路由器可能從多種途徑獲得同一路由,可以來自RIP,也可以是OSPF等。不同途徑獲得的路由可能採取不同的路徑到達目的網路。AD越小,說明路由的可信度越高。直連路由的AD是0,靜態路由的AD是1,RIP是120,EIGRP是90,OSPF是110。收到所有協議提交的路由會比較它們的管理距離AD值,比較的結果將寫入路由表

4.度量

測量同一路由協議內到達目的的網路的最佳路徑的方法。路由協議會給每一條路徑計算出一個數,這個數就是度量值,通常這個值是沒有單位的。值越小,路徑越佳。最後會選出該協議認為的最優路由,提交給路由表

路由條目格式知道後可以開始生成路由表了。路由表生成3種途徑:直連自動生成,靜態路由協議,動態路由協議。

路由表生成後,路由器就可以根據路由錶轉發資料包。轉發原則:有匹配就轉發,沒有就丟棄。匹配多條時遵循最長匹配原則。直連沒什麼好說的,動態路由協議以後介紹,先介紹靜態路由(配置靜態路由,靜態彙總路由,靜態預設路由,負載均衡,浮動靜態路由

配置靜態路由:

路由器不像交換機,新的路由器必須配好IP和路由才能使用,先如下圖配好路由器各埠和環回口IP:


提供一下R1的配置命令(R2和R3同樣配置即可)


配好IP地址後,來試試ping:


可見路由器光配置好IP地址是不夠的,還需要配置路由,否則只能ping通直連的埠:

上面講到路由條目的基本資訊是:字首,掩碼,下一跳,AD,度量。先暫時忽略AD和度量,R1要ping通R2的環回口的話需要設定:22.1.1.0(字首) 255.255.255.0(掩碼)12.1.1.2(下一跳),全部配置如下:


(類似地配置R2和R3路由器的IP和路由)現在可以兩兩ping通了。

靜態彙總路由:


上面靜態路由的配置例子中,要實現兩兩ping通,需要設8條路由(R1和R3各三條,R2兩條),現在為R2增加兩個環回口:loopback1:22.1.0.1/24,loopback2:22.1.2.3/24,均和原先的loopback0:22.1.1.1/24處於不同網段:


要讓R1和R3 ping通R2上新增的兩個環回口需要各自增加2條指向環回口的新路由,很麻煩,可以配一條彙總路由:

(彙總的思想就是改變掩碼的網路號長度,不明白的話可以參照【IPv4協議及VLSM可變長子網劃分和CIDR無類域間路由】http://blog.csdn.net/hongse_zxl/article/details/50054817)


(R3同樣設定即可)現在在R1和R3能ping通R2上的3個環回口了。

靜態預設路由:

預設路由就是0.0.0.0/0表示所有路由(先將剛才設的彙總路由去掉):


上面設好的預設路由表示R1上所有路由均由12.1.1.2埠轉發出去。但實際上此時R1去ping R2的環回口22.1.1.1/24,仍會選擇之前設定的靜態路由,而非選擇預設路由,原因就是最長匹配原則。顯然上圖中的22.1.1.0/24比0.0.0.0/0掩碼更長更精確,所以路由器會選擇更精確的路由條目。可以認為預設路由是保底用的,其他都匹配不了,才選擇預設路由。

負載均衡:


(基本配置請參照上面,不再贅述)為R2配置兩條通往R1環回口的路由,分別從R2的f0/0口和f1/0口出去


配完之後,如圖中紅色箭頭所示,R2有兩條路徑可以訪問R1,兩條路徑有相同的字首(均為11.1.1.0),相同的掩碼(255.255.255.0),相同的AD值(靜態路由均為1),區別僅僅是下一跳不同(從R2的f0/0口出去的下一跳是12.1.1.1/24,從R2的f1/0口出的下一跳是23.1.1.3/24)。路由器無法通過最長匹配原則選擇出最優路徑,以路由器的視角來看,兩條路徑是等優的,因此通過負載均衡來平衡頻寬:在R2上ping 11.1.1.1:


浮動靜態路由:

路由圖仍舊參照上圖,除IP地址外,可以將無關的路由去掉。


在字首和掩碼相同時,AD值小的才會加入路由表。如上例僅AD值不同時,AD值小的那條路由才被加入路由表供路由器使用。但AD值大的那條路由並非被丟棄了,而是沉入水中,等待時機,一旦路由表中的那條路由出問題不能用了,才浮出水面被加入進路由表。因此叫浮動靜態路由很形象。

PS:上面介紹的路由條目時提到的AD值和度量和路由器的最長匹配原則,這3者可能有點搞,需要解釋一下:

度量是同一路由協議內選出到達目的地最小開銷的那條路徑,將這條路徑提交給路由表。注意此時只是提交給路由表並沒有真正寫入,是否需要寫入得靠AD值判斷。

AD值是用於確認是否能加入路由表。字首和掩碼相同時AD值小的才加入路由表。當然如果字首和掩碼任一不同,則不論AD值大小,統統加入路由表。

路由條目被寫入路由表後,具體選擇哪條路由用最長匹配原則。

所以3者關係是:度量提供路由條目給路由表。AD值決定哪些路由條目可以最終被加入路由表。最長匹配原則決定已被加入路由表中的哪個路由條目最終被路由器使用。