應用策略路由,必須要指定策略路由使用的路由圖,并且要創建路由圖。一個路由圖由很多條策略組成,每個策略都定義了1個或多個的匹配規則和對應操作。一個接口應用策略路由后,將對該接口接收到的所有包進行檢查,不符合路由圖任何策略的數據包將按照通常的路由轉發進行處理,符合路由圖中某個策略的數據包就按照該策略中定義的操作進行處理。
在互聯網快速發展的時代,各大運營商都在為提高用戶上網體驗做著大量的工作,為的是能夠在互聯網業務上占據一席之地,除了提高用戶上網帶寬外,還需要部署設備來滿足用戶觀看視頻和下載熱門資料的要求,只有網速快了、穩定了才能真正把互聯網業務發展好,把用戶吸引住。最近為了有效提升用戶觀看視頻和下載資料的體驗,同時最大程度緩解互聯網出口的壓力,我們計劃部署緩存服務器來著重解決這一問題,該服務器會根據用戶訪問資源的相似度,即如果多個用戶都訪問該資源,則視頻服務會將該資源下載下來,如果再有其他用戶訪問此類資源,則這部分用戶就會將該資源從緩存服務器上直接下載,不再從互聯網上獲取。因為緩存服務器部署在網絡內部,用戶訪問的資源只要緩存服務器上有,就相當于在內網中獲取,所以用戶訪問和下載資源的速度上會得到明顯的提升,而且用戶訪問的這部分資源不再占用互聯網出口的帶寬,這樣就會大大節省了互聯網出口的費用。接下來我們就部署緩存服務器的過程中使用策略路由的方法做一下介紹,首先我們先了解下緩存服務器在網絡中部署的位置以及現有網絡拓撲結構如圖1所示。
通過圖1我們可以看到在網絡中多臺BRAS連接核心路由器1和2,其中在T8000-1上有兩個互聯網出口,然后使用策略路由將數據轉發至不同的互聯網出口,從圖1中我們可以看到緩存服務器部署在城區BRAS-1上,我們要實現的需求是PPPoE撥號的用戶能夠正常訪問緩存服務器,而且緩存服務器也能正常訪問PPPoE撥號的用戶,這樣既能滿足用戶從緩存服務器上下載資源,又能滿足緩存服務器給有需求的用戶發送重定向報文,這樣一來一去才能完成數據的交互。既然知悉了需求,下一步就要對網絡設備進行配置。從圖1中我們可以看到BRAS-1連接核心路由器,我們定義緩存服務器的地址10.220.255.10/30,首先我們解決的是從PPPoE撥號用戶到緩存服務器的通訊,數據會先匹配策略路由轉發至省公司核心路由器,這樣就會造成從BRAS-2上發往緩存服務器的數據包出現以下路徑如下所示:

圖1 網絡拓撲圖


從圖2中我們可以看到在PC機上tracert緩存服務器的路徑是有問題的,首先PC機發出的報文先到達網關,再到達濟寧核心路由器,然后到達省公司路由器172.16.0.89.最后才訪問到服務器,這樣的路徑是不能滿足緩存服務器工作要求的,如果撥號用戶從服務器上下載資源都要從濟寧互聯省公司的出口上轉發的話,無疑增大了出口帶寬,這樣就失去了我們部署緩存服務器的意義,那么如何實現撥號用戶到緩存服務器是正常路徑呢!所謂的正常路徑即用戶訪問緩存服務器在BRAS之間進行轉發,不再使用省公司的出口。這就涉及到本文的核心部分策略路由,想必大家對路由比較熟悉,那么策略路由就是是一種比基于目標網絡進行路由更加靈活的數據包路由轉發機制。路由器將通過路由圖決定如何對需要路由的數據包進行處理,路由圖決定了一個數據包的下一跳轉發路由器。我們既然知道了策略路由是一種比較靈活的路由,他可以指定源地址和目的地址,以及路由轉發的方向,那么我們就設想能不能實現從BRAS上過來的地址在匹配當前策略路由之前先轉發到緩存服務器呢,經過我們對策略路由的了解,這個想法是可行的,這就需要我們配置策略路由,配置步驟如下所示:

上面我們完成BRAS上策略路由的配置,其中我們新建了一個名稱為SHENGGONGSI-1的ACL,在這個ACL中我們定義了任何源地址要訪問緩存服務器的這么一個條目,然 后 在“SHENGGONGSI”的route-map中調用這個ACL,動作是允許,如果匹配SHENGGONGSI-1的ACL,即有訪問緩存服務器的報文,就將數據下一跳轉發至BRAS-1即緩存服務器的連接的設備。上面是我們在原有的策略路由的基礎上增了一個ACL和routemap,為了更好了更直觀的策略路由的使用,我們下面將把策略路由列舉出來方便我們查看:


上面向大家展示的是一個完整的策略路由的配置,我們從上到下介紹一下,首先定義了兩個不同名稱的ACL,動作都是允許不同的網段,然后最主要的是接下來的route-map調用ACL的時候,我們注意到在兩個route-map后面都有一個permit數字,這個數字代表匹配的優先級,也就是說在數據轉發的過程中,首先匹配permit5的中的這條ACL“SHENGGONGSI-1”如果匹配上那么將執行轉發至BRAS-1,如果匹配不上則轉發至省公司互聯網出口,有了這個route-map匹配的先后順序,就很容易解決我們撥號用戶訪問服務器的問題,總體來說如果數據報文目的地址是緩存服務器則優先轉發給BRAS-1,如果目的地址不是緩存服務器則正常轉發至省公司。完成上面操作步驟后,我們在撥號上網的主機上跟蹤了一下路徑如下所示:

通過上面我們對路徑的跟蹤看到撥號上網用戶訪問緩存服務器首先到達網關,其次是T8000-1,然后是BRAS-1,最后到達緩存服務器,設備配置到這里,似乎完成了配置,但是我們只是完成撥號用戶到緩存服務器的通訊,如果從緩存服務器到撥號上網用戶通訊的話,是不是正常數據轉發呢?那么我們對路徑跟蹤后發現緩存服務器到撥號上網用戶到達T8000-1后會優先匹配策略路由將數據送至省公司,這樣又會占用互聯網出口帶寬,這樣怎么辦呢?仔細思考下,緩存服務器訪問撥號上網的主機會將數據包轉發至省公司,是因為在T8000-1上有策略路由的緣故,數據包按照策略路由轉發,是因為數據包匹配了策略路由中的ACL,那么我們如果讓數據包匹配不上ACL呢?那豈不是就不按照策略路由轉發了。問題分析道這里我們立即將緩存服務器的地址段修改為172.28.0.2,同時將T8000-1上的策略路由也做了調整,配置步驟如下:

我們通過修改ACL中的目的地址來完成從緩存服務器至撥號上網用戶的通訊,這樣緩存服務器發往撥號上網用戶的流量就匹配不上策略路由,而按正常的路由轉發,反過來從撥號上網的用戶訪問緩存服務器,首先匹配這條ACL“SHENGGONGSI-1”,如果匹配上就把數據發送至緩存服務器,如果不是訪問緩存服務器的數據包則直接轉發至省公司。這樣數據在一來一回的過程中都是正常轉發的,這樣就算是滿足了服務器部署的基本要求,至于緩存服務器的配置這里就不再敘述。
剛才我們通過定義ACL,然后在route-map中調用ACL,最終在互聯T8000-1的端口上調用策略路由實現撥號上網用戶可以按照正常路徑訪問服務器。后期我們又修改了服務器的地址,將ACL中的目的地址也做了相應的調整,這樣就滿足了緩存服務器至撥號上網的用戶使用正常路徑的轉發。這次在網內部署服務器,對于初次接觸大型電信級路由器的我們來說,在配置路由的時候特別擔心會中斷網絡,其實這種擔心是有必要的,畢竟是單位的核心設備,這也從側面反映了我們對設備配置的不熟悉,后期我們將認真學習配置手冊,然后利用新開業務的機會進行設備的配置,以期盡快達到熟悉配置路由器的目的,這也是我們將來工作學習的而一個主要方向。