關于PBR策略路由的使用方法簡介
pbr策略路由的應用很廣泛,同時也會出現很多問題,可能我們對策略路由的使用方法還不是特別的熟悉,那么這里主要講解了使用pbr策略路由的具體細則和需要特別注意的地方。三層設備在轉發數據包時一般都基于數據包的目的地址(目的網絡進行轉發),那么pbr策略路由有什么特點呢?
1、可以不僅僅依據目的地址轉發數據包,它可以基于源地址、數據應用、數據包長度等。這樣轉發數據包更靈活。
2、為QoS服務。使用route-map及pbr策略路由可以根據數據包的特征修改其相關QoS項,進行為QoS服務。
3、負載平衡。使用pbr策略路由設置數據包的行為,比如下一跳、下一接口等,這樣在存在多條鏈路的情況下,可以根據數據包的應用不同而使用不同的鏈路,進而提供高效的負載平衡能力。
pbr策略路由影響的只是本地的行為,所以可能會引起“不對稱路由”形式的流量。比如一個單位有兩條上行鏈路A與B,該單位想把所有HTTP流量分擔到A鏈路,FTP流量分擔到B鏈路,這是沒有問題的,但在其上行設備上,無法保證下行的HTTP流量分擔到A鏈路,FTP流量分擔到B鏈路。pbr策略路由一般針對的是接口入(in)方向的數據包,但也可在啟用相關配置的情況下對本地所發出的數據包也進行pbr策略路由。
開始配置route-map。使用route-map map-tag [permitdeny] [sequence-number]進入route-map的配置模式。使用match語句定義感興趣的流量,如果不定義則指全部流量。match length min max and/or match ip address {access-list-number name}[...access-list-number name]使用set命令設置數據包行為。
set ip precedence [numbername]
set ip next-hop ip-address [... ip-address]
set interface interface-type interface-number [... type number]
set ip default next-hop ip-address [... ip-address]
set default interface interface-type interface-number [... type ...number]
這里要注意set ip next-hop與set ip default next-hop、set interface與set default interface這兩對語句的區別,不含default的語句,是不查詢路由表就轉發數據包到下一跳IP或接口,而含有default的語句是先查詢路由表,在找不到精確匹配的pbr策略路由條目時,才轉發數據包到default語句指定的下一跳IP或接口。在Cisco IOS Release 12.0之前,pbr策略路由只能通過“進程轉發”來轉發數據包,這樣數據包的轉發效率是非常低的,在不同的平臺上,基本在每秒1000到10,000個數據包。隨著緩存轉發技術的出現,Cisco實現了Fast-Switched PBR,大大提升了數據包的轉發速度。啟用方法即在接口中使用ip route-cache policy命令。
如果在route-cache中不存在set中指定的接口相關的項,那么僅在point-to-point時set interface命令才能夠Fast-switched PBR。而且,在進行“進程轉發”時,系統還會先查詢路由條目查看該interface是不是一個合理的路徑。而在fast switching時,系統不會對此進行檢查。