簡述
動態路由是與靜態路由相對的一個概念,指路由器能夠根據路由器之間的交換的特定路由信息自動地建立自己的路由表,並且能夠根據鏈路和節點的變化適時地進行自動調整。當網路中節點或節點間的鏈路發生故障,或存在其它可用路由時,動態路由可以自行選擇最佳的可用路由並繼續轉發報文。
原理
動態路由機制的運作依賴路由器的兩個基本功能:路由器之間適時的路由信息交換,對路由表的維護:
1. 路由器之間適時地交換路由信息。
動態路由之所以能根據網路的情況自動計算路由、選擇轉發路徑,是由於當網路發生變化時,路由器之間彼此交換的路由信息會告知對方網路的這種變化,通過信息擴散使所有路由器都能得知網路變化。
2. 路由器根據某種路由算法(不同的動態路由協定算法不同)把收集到的路由信息加工成路由表,供路由器在轉發IP報文時查閱。
在網路發生變化時,收集到最新的路由信息後,路由算法重新計算,從而可以得到最新的路由表。
需要說明的是,路由器之間的路由信息交換在不同的路由協定中的過程和原則是不同的。交換路由信息的最終目的在於通過路由表找到一條轉發IP報文的“最佳”路徑。每一種路由算法都有其衡量“最佳”的一套原則,大多是在綜合多個特性的基礎上進行計算,這些特性有:路徑所包含的路由器結點數(hop count)、網路傳輸費用(cost)、頻寬(bandwidth)、延遲(delay)、負載(load)、可靠性(reliability)和最大傳輸單元MTU(maximum transmission unit)。
常見的動態路由協定有:RIP、OSPF、IS-IS、BGP、IGRP/EIGRP。每種路由協定的工作方式、選路原則等都有所不同。
常見動態路由協定
常見的動態路由協定有以下幾個:
RIP
路由信息協定(RIP) 是內部網關協定IGP中最先得到廣泛使用的協定。RIP是一種分散式的基於距離向量的路由選擇協定,是網際網路的標準協定,其最大優點就是實現簡單,開銷較小。
OSPF
OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協定(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。
IS-IS
IS-IS(Intermediate System-to-Intermediate System,中間系統到中間系統)路由協定最初是ISO(the International Organization for Standardization,國際標準化組織)為CLNP(Connection Less Network Protocol,無連線網路協定)設計的一種動態路由協定。
BGP
邊界網關協定(BGP)是運行於 TCP 上的一種自治系統的路由協定。 BGP 是唯一一個用來處理像網際網路大小的網路的協定,也是唯一能夠妥善處理好不相關路由域間的多路連線的協定。
特點
1、無需管理員手工維護,減輕了管理員的工作負擔。
2、占用了網路頻寬。
3、在路由器上運行路由協定,使路由器可以自動根據網路拓樸結構的變化調整路由條目;
4、網路規模大、拓撲複雜的網路
動態路由配置示例
設定計算機的IP
[root#PCA root]# ifconfig eth0 10.65.1.1 netmask 255.255.0.0[root#PCB root]# ifconfig eth0 10.66.1.1 netmask 255.255.0.0
[root#PCC root]# ifconfig eth0 10.69.1.1 netmask 255.255.0.0
[root#PCD root]# ifconfig eth0 10.70.1.1 netmask 255.255.0.0
[root#PCA root]# route add default gw 10.65.1.2
[root#PCB root]# route add default gw 10.66.1.2
[root#PCC root]# route add default gw 10.69.1.2
[root#PCD root]# route add default gw 10.70.1.2
設定路由器的IP位址
RouterA(config)int f0/0
RouterA(config-if)#ip address 10.65.1.2 255.255.0.0
RouterA(config-if)#no shutdown
RouterA(config-if)#int f0/1
RouterA(config-if)#ip address 10.66.1.2 255.255.0.0
RouterA(config-if)#no shutdown
RouterA(config-if)#int s0/1
RouterA(config-if)#ip address 10.68.1.2 255.255.0.0
RouterA(config-if)#no shutdown
RouterA(config-if)#clock rate 64000
RouterA(config-if)#exit
RouterA(config)#ip routing
RouterA(config)#router rip
RouterA(config-router)#network all
RouterA(config-router)#end
RouterA#
RouterCconfig)int s0/0
RouterC(config-if)#ip address 10.68.1.1 255.255.0.0
RouterC(config-if)#no shutdown
RouterC(config-if)#int s0/1
RouterC(config-if)#ip address 10.78.1.1 255.255.0.0
RouterC(config-if)#no shutdown
RouterC(config-if)#clock rate 64000
RouterC(config-if)#exit
RouterC(config)#ip routing
RouterC(config)#router rip
RouterC(config-router)#network all
RouterC(config-router)#end
RouterC#
RouterB(config)int f0/0
RouterB(config-if)#ip address 10.69.1.2 255.255.0.0
RouterB(config-if)#no shutdown
RouterB(config-if)#int f0/1
RouterB(config-if)#ip address 10.70.1.2 255.255.0.0
RouterB(config-if)#no shutdown
RouterB(config-if)#int s0/0
RouterB(config-if)#ip address 10.78.1.2 255.255.0.0
RouterB(config-if)#no shutdown
RouterB(config-if)#exit
RouterB(config)#ip routing
RouterB(config)#router rip
RouterB(config-router)#network all
RouterB(config-router)#end
RouterB#
RouterA#sh ip route
RouterC#sh ip route
RouterB#sh ip route
看到動態路由表了嗎?如果能看到,注意目的網路和下一跳地址,如果看不到,
請檢查路由的接口是否激活,network 設定是否包含指定網路。如果路由表正確的,
請從計算機PCA 測試到各點的連通性。
測試網路聯通性
[root@PCA root]#ping 10.65.1.2 (通)
[root@PCA root]#ping 10.66.1.1 (通)
[root@PCA root]#ping 10.66.1.2 (通)
[root@PCA root]#ping 10.68.1.1 (通)
[root@PCA root]#ping 10.68.1.2 (通)
[root@PCA root]#ping 10.78.1.1 (通)
[root@PCA root]#ping 10.78.1.2 (通)
[root@PCA root]#ping 10.69.1.1 (通)
[root@PCA root]#ping 10.69.1.2 (通)
[root@PCA root]#ping 10.70.1.1 (通)
[root@PCA root]#ping 10.70.1.2 (通)
斷開某個路由路由器連線,或執行no ip routing,或在某個接口執行shutdow,
再通過 sh ip ro 命令查看路由表。
設定路由器 routerA s0/0 ip:10.67.1.2, routerB s0/1 ip:10.67.1.1,再
連線這兩個點,通過sh ip ro 命令查看路由表,注意下一跳IP位址和跳數的變化。
你也可以再加一個路由器,設定好後,通過查看路由表,檢查工作情況。