潘志安 馮燕茹 王金峰
(防災科技學院信息工程學院,河北三河 065201)
計算機網絡作為公共基礎設施,能否正常通信變得越來越重要。為了有效解決網絡中出現的故障問題,各種冗余技術應運而生。如VRRP、MSTP、浮動靜態路由等。
ENSP 是華為公司提供的一款免費的企業仿真網絡平臺[1],可以對華為路由器、交換機、防火墻等網絡設備進行模擬仿真,尤其是缺乏真實網絡設備的情況下,通過ENSP 可以進行網絡環境的模擬和網絡設備的配置。本文基于ENSP 仿真平臺,分析公司網絡出口實際需求,對浮動靜態路由技術進行詳細的分析、設計和配置。
路由是指導路由器如何進行數據報文轉發的路徑信息。以網絡設備路由器為例,當一臺路由器收到一個IP 報文時,它會在自己的路由表中查找匹配該報文的目的IP 地址的路由條目,如果找到匹配的路由條目,路由器便按照該條目所指示的出接口和下一跳IP 地址轉發該報文;如果沒有路由條目匹配該目的IP 地址,則該報文將會被丟棄。
路由器構建路由表的方式通常有三種:直連路由、靜態路由和動態路由[2]。直連路由就是連接在路由器各個接口網段的路由,靜態路由是指網絡管理員通過手工配置的方式為路由器添加的路由,動態路由是路由器之間通過路由協議動態交換路由信息從而學習的路由。
浮動靜態路由是一種特殊的靜態路由,是為主靜態路由或動態路由提供備份路徑的靜態路由,僅在主路由不可用時使用,實現方法是配置浮動靜態路由的優先級值大于主路由的優先級值。例如對同一個目標網絡,可以配置下一跳不同、優先級值不同的兩條靜態路由,路由器會比較路由的優先級值,優選優先級值最小的路由,當優先選擇的靜態路由失效時,另一條優先級值大的靜態路由被啟用。
某公司網絡出口拓撲如圖1 所示,AR1 為公司出口路由器,PC1 模擬公司內網機器,PC2 模擬聯通機器,與路由器AR2相連,PC3 模擬電信機器,與路由器AR3 相連,具體需求如下:
(1)根據網絡拓撲圖中的網段,配置三臺路由器各個接口的IP 地址。
(2) 當公司內網PC1 訪問2.2.2.0/24 網段時,AR1 選擇GE0/0/1 鏈路,當PC1 訪問3.3.3.0/24 網段時,AR1 選擇GE0/0/2鏈路,當AR1 上連接電信和聯通的任何一個端口或鏈路出現故障時,還可以保證鏈路暢通。
(3)AR2 和AR3 回公司內網的路由要合理。

圖1 網絡拓撲圖
3.2.1 IP 地址配置
在AR1、AR2 和AR3 上進行接口IP 地址的配置,以AR1為例,配置命令為:
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 1.1.1.1 24
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ip address 50.1.1.1 30
[AR1]interface GigabitEthernet 0/0/2
[AR1-GigabitEthernet0/0/2]ip address 60.1.1.1 30
3.2.2 AR1 路由配置
在AR1 上,通過ip route-static 命令可以為路由器添加靜態路由,缺省情況下,使用這條命令所添加的靜態路由優先級為60,而該值實際上是可以自定義的,通過修改靜態路由優先級的值,可以實現浮動靜態路由。AR1 的配置命令如下:

在上述配置中,AR1 添加了到聯通2.2.2.0/24 網段的兩條靜態路由,添加了到電信3.3.3.0/24 網段的兩條靜態路由,下一跳分別為50.1.1.2 和60.1.1.2,到2.2.2.0/24 網段下一跳為50.1.1.2的靜態路由沒有指定優先級,因此該條路由的優先級為缺省的60,到2.2.2.0/24 網段下一跳為60.1.1.2 的靜態路由使用preference 關鍵字指定了優先級61。到3.3.3.0/24 網段下一跳為60.1.1.2 的靜態路由沒有指定優先級,因此該條路由的優先級為缺省的60,到3.3.3.0/24 網段下一跳為50.1.1.2 的靜態路由使用preference 關鍵字指定了優先級61。AR1 會分別把去往2.2.2.0/24 網段和3.3.3.0/24 網段的這兩條路由中優先級值較小的路由加載到路由表中作為數據轉發的依據,另一條優先級為61 的路由則不出現在路由表中。因此AR1 去往2.2.2.0/24 網段時,選擇GE0/0/1 鏈路,去往3.3.3.0/24 網段時,選擇GE0/0/2 鏈路。
當AR1 的GE0/0/1 端口出現故障或者AR1 和AR2 之間的鏈路出現故障時,AR1 上ip route-static 2.2.2.0 255.255.255.0 50.1.1.2 這條靜態路由失效, 而ip route-static 2.2.2.0 255.255.255.0 60.1.1.2 preference 61 也就浮現出來加載到路由表中,進而通過AR1 和AR3 之間的鏈路去往2.2.2.0/24 網段,保證鏈路暢通。
當AR1 的GE0/0/2 端口出現故障或者AR1 和AR3 之間的鏈路出現故障時,AR1 上ip route-static 3.3.3.0 255.255.255.0 60.1.1.2 這條靜態路由失效, 而ip route-static 3.3.3.0 255.255.255.0 50.1.1.2 preference 61 也就浮現出來加載到路由表中,進而通過AR1 和AR2 之間的鏈路去往3.3.3.0/24 網段,保證鏈路暢通。
3.2.3 AR2 路由配置
在AR2 上,配置返回公司內網的路由和去往電信的路由,配置命令如下:

在上述配置中,將去往1.1.1.0/24 網段下一跳為23.1.1.2 的靜態路由使用preference 關鍵字指定了優先級61,作為備份路由。這樣當AR2 的GE0/0/1 端口出現故障或者AR1 和AR2 之間的鏈路出現故障時,AR2 還可以通過AR3、AR1 的路徑回到公司內網。同時AR2 配置到電信3.3.3.0/24 的靜態路由,保證去往電信的鏈路暢通。
3.2.4 AR3 路由配置
在AR3 上,配置返回公司內網的路由和去往聯通的路由,配置命令如下:

在上述配置中,將去往1.1.1.0/24 網段下一跳為23.1.1.1 的靜態路由使用preference 關鍵字指定了優先級61,作為備份路由。這樣當AR3 的GE0/0/2 端口出現故障或者AR1 和AR3 之間的鏈路出現故障時,AR3 還可以通過AR2、AR1 的路徑回到公司內網。同時AR3 配置到聯通2.2.2.0/24 的靜態路由,保證去往聯通的鏈路暢通。
3.2.5 測試
在公司內網PC1 機器上使用tracert 命令進行測試,聯通機器PC2 的IP 地址是2.2.2.2,電信機器PC3 的IP 地址是3.3.3.3,通過tracert 2.2.2.2 測試去往聯通的路徑,如圖2 所示。通過tracert 3.3.3.3 測試去往電信的路徑,如圖3 所示。通過測試結果可以看出,當公司內網PC1 訪問2.2.2.0/24 網段時,AR1 選擇GE0/0/1 鏈路,當PC1 訪問3.3.3.0/24 網段時,AR1 選擇GE0/0/2鏈路,實現了預期的網絡需求。

圖2 去往聯通的測試結果

圖3 去往電信的測試結果
我們將AR1 的GE0/0/1 端口關閉,再次通過tracert 2.2.2.2測試去往聯通的路徑是否可達,測試結果如圖4 所示,可以看出AR1 選擇了AR3、AR2 的路徑去往聯通機器2.2.2.2,實現了路由的冗余備份。
將AR1 的GE0/0/1 端口開啟,將GE0/0/2 端口關閉,再次通過tracert 3.3.3.3 測試去往電信的路徑是否可達,測試結果如圖5 所示,可以看出AR1 選擇了AR2、AR3 的路徑去往電信機器3.3.3.3,實現了路由的冗余備份。

圖4 端口故障后去往聯通的測試結果

圖5 端口故障后去往電信的測試結果
本文基于ENSP 仿真平臺,根據公司網絡出口實際需求,在路由器靜態路由配置的基礎上,對浮動靜態路由進行了詳細的分析、設計和配置,并進行了網絡路徑測試,實現了網絡的高可靠性,為多出口網絡的路由設計提供了有效的參考。