在網路裝置維護上,現在很多維護的資料上都講到「路由策略」與「策略路由」這兩個名詞,但是有很多搞維護的技術人員對這兩個名詞理解的還不是很透徹,無法 準確把握這兩者之間的聯絡與區別。本文簡單分析一下這兩者之間的概念,並介紹一些事例,希望大家能從事例中得到更深的理解。
一、路由策略
路由策略,是路由發布和接收的策略。其實,選擇路由協議本身也是一種路由策略,因為相同的網路結構,不同的路由協議因為實現的機制不同、開銷計算規則
不同、優先順序定義不同等可能會產生不同的路由表,這些是最基本的。通常我們所說的路由策略指的是,在正常的路由協議之上,我們根據某種規則、通過改變某些
引數或者設定某種控制方式來改變路由產生、發布、選擇的結果,注意,改變的是結果(即路由表),規則並沒有改變,而是應用這些規則。
下面給出一些事例來說明。
改變引數的例子:例如,a路由器和b路由器之間是雙鏈路(分別為ab1和ab2)且頻寬相同,執行是ospf路由協議,但是兩條鏈路的穩定性不一樣,
公司想設定ab1為主用電路,當主用電路(ab1)出現故障的時候才採用備用電路(ab2),如果採取預設設定,則兩條電路為負載均衡,這時就可以採取分
別設定ab1和ab2電路的cost(開銷)值,將ab1電路的cost值改小或將ab2電路的cost值設大,ospf會產生兩條開銷不一樣的路
由,cost(開銷)越小路由代價越低,所以優先順序越高,路由器會優先採用ab1的電路。還可以不改cost值,而將兩條電路的頻寬
(bandwidth)設定為不一致,將ab1的頻寬設定的比ab2的大,根據ospf路由產生和發現規則,ab1的開銷(cost)會比ab2低,路由
器同樣會優先採用ab1的電路。
改變控制方式的例子,基本就是使用路由過濾策略,通過路由策略對符合一點規則的路由進行一些操作,例如最普通操作的是拒絕(deny)和允許
(permit),其次是在允許的基礎上調整這些路由的一些引數,例如cost值等等,通常使用的策略有acl(acess control
list訪問控制列表)、ip-prefix、as-path、route-policy等等。大部分的路由策略都和bgp協議配合使用中,屬於路由接收
和通告原則。
例如,as1不向as2發布19.1.1.1/32這個網段,可以設定acl列表,在rtb上設定(以華為的路由器為例):
[rtb]acl number 1 match-order auto
[rtb-acl-basic-1]rule deny source 19.1.1.1 0
[rtb-acl-basic-1]rule permit source any
[rtb]bgp 1
[rtb-bgp]peer 2.2.2.2 as-number 2
[rtb-bgp] import-route ospf
[rtb-bgp] peer 2.2.2.2 filter-policy 1 export
如果b向c發布了這條路由,但是c不想接收這條路由,則c可以設定:
[rtc]acl number 1 match-order auto
[rtc-acl-basic-1]rule deny source 19.1.1.1 0
[rtc-acl-basic-1]rule permit source any
[rtc]bgp 2
[rtc-bgp]peer 2.2.2.1 as-number 1
[rtc-bgp] peer 2.2.2.1 filter-policy 1 import
再舉個ip-prefix的例子:
例如rtb不向rtc發布19.1.1.0/24這個網段的路由,則可以設定
[rtb]ip ip-prefix test index 10 deny 19.1.1.0 24
[rtb]ip ip-prefix test index 20 permit any
[rtb]bgp 1
[rtb-bgp]peer 2.2.2.2 as-number 2
[rtb-bgp] import-route ospf
[rtb-bgp] import-route direct
[rtb-bgp]peer 2.2.2.2 ip-prefix test export
ip-prefix是精確匹配的,如果想實現模糊匹配,可以通過後面的引數less-equal或greater-equal來實現,例如ip
ip-prefix test index 10 deny 19.1.1.0 24 less-equal
31就表示從19.1.1.0/24、19.1.1.0/25、19.1.1.0/26一直到19.1.1.0/31都能匹配上,否則這僅僅表示只匹配目
下,rta到rtd之間的通訊會選擇rtb做中轉,rtd到rta的通訊也會選擇rtb,在預設情況下,所有引數都相同,bgp會選擇router_id
較小的一條路徑。現在想讓rtd到rta之間的通訊都走rtb,而rta到rtd之間的通訊都通過rtc,即兩台路由器中rtb專門負責自治域內路由器與
域外路由器之間的出口通訊,而rtc專門做自治域外路由器與域內路由器的進口通訊,我們可以用route-policy中的as-path來實現,在
信的時候,優先選用as-path短的rtc這條路由,而rtd在選擇到rta路由的時候仍然選擇的是rtb,因為對rtd來說,影響路由的引數什麼都沒
hop(設定下一跳)、local-preference(本地出口優先順序)、cost(開銷)、origin(起源,來自igp、egp還是
incomplete)、tag(標記)。
二、策略路由
2.2.2.2/30
2.2.2.1/30
1.1.1.2/30
rtb1.1.1.1/30
10.10.10.0/24
策略路由是在路由表已經產生的情況下,不按照現有的路由表進行**,而是根據需要,某些通訊流量選擇其他路由的方式。
pc2pc1
交換機rta
如圖,rta和rtb之間的通訊有2條鏈路,其中上面那條電路是主用,頻寬是1000m的,下面的電路是備用,頻寬是10m的,目前10m基本是空
閒,大部分的通訊都走主用上走,pc1(10.10.10.10/24)是某個特別重要的客戶,他發的資訊要求被立即傳送,我們根據這種情況,我們可以將
他的傳送通訊量單獨使用下面備用電路的方法。
rule-map intervlan permitpc1 ip 10.10.10.10 0.0.0.0 any
flow-action next2 redirect ip 2.2.2.2
eacl abc permitpc1 next2
然後在和10.10.10.0/24網路直連的埠上使用 access-group eacl abc命令下發應用。
這是乙個策略路由的典型應用。這個應用是根據源位址來選擇**路徑的,還可以根據協議型別(例如將udp和tcp分開跑不同的電路)、應用(例如某些
上,rule-map的規則同acl,這裡就不在舉再多的例子了,熟悉acl的技術人員都知道。
這裡flow-action做的動作redirect就是設定下一條,使用flow-action還可以進行qos相關的操作,例如使用cos或car動作對資料報進行佇列匹配,再根據相關設定的流量模型規則進行操作,具體參閱命令參考手冊。
三、聯絡與區別
聯絡:雙方都是為了**資料報而進行路徑選擇的策略,都是根據某種規則改變某些引數或控制手段來設定不同的**路徑。
區別:路由策略是根據一些規則,使用某種策略改變規則中影響路由發布、接收或路由選擇的引數而改變路由發現的結果,最終改變的是路由表的內容。是在路由發現的時候產生作用。
策略路由是儘管存在當前最優的路由,但是針對某些特別的主機(或應用、協議)不使用當前路由表中的**路徑而單獨使用別的**路徑。在資料報**的時候發生作用、不改變路由表中任何內容。
策略路由的優先順序比路由策略高,當路由器接收到資料報,並進行**的時候,會優先根據策略路由的規則進行匹配,如果能匹配上,則根據策略路由來**,否則按照路由表中**路徑來進行**。
概括一點講就是,路由策略是路由發現規則,策略路由是資料報**規則。其實將「策略路由」理解為「**策略」,這樣更容易理解與區分。由於**在底
層,路由在高層,所以**的優先順序比路由的優先順序高,這點也能理解的通。其實路由器中存在兩種型別和層次的表,乙個是路由表(routing-
table),另乙個是**表(forwording-table)。**表是由路由表對映過來的,策略路由直接作用於**表,路由策略直接作用於路由
表。四、優缺點
網路通訊的規則是先有路由,才有**。路由策略由於僅僅在路由發現的時候產生作用,在路由表產生且穩定之後,如果網路不發生變化,路由表通常都不會變
化,這時候,路由策略沒有應用就不會占用資源。而策略路由是在**的時候發生作用,路由器在初始產生路由表之後,基本工作量都在資料報**上,如果沒有策
由。網路優化的時候需要考慮這一點,如果策略路由特別複雜,能通過將網路進行簡單分解而達到取消策略路由的盡量進行分解,否則路由器負擔很重。
路由策略和策略路由
策略路由pbr policy based routing 是一種依據使用者制定的策略進行路由選擇的機制。傳統的路由 原理是首先根據報文的目的位址查詢路由表,然後進行報文 但是目前越來越多的使用者希望能夠在傳統路由 的基礎上根據自己定義的策略進行報文 和選路。策略路由具有如下優點 路由策略是為了改變網...
路由策略和策略路由
什麼是路由策略?路由策略是控制層面的行為,操作的物件是路由條目,匹配的是路由,具體是指目標網段 掩碼 下一跳 度量值 tag community等。路由策略是為了改變網路流量所經過的途徑而修改路由資訊的技術,主要通過改變路由屬性 包括可達性 來實現。什麼是策略路由?策略路由 policy based...
路由策略與策略路由
一 路由策略。route policy 多個協議的相互操作 路由策略是通過修改路由表的路由條目來控制資料流量的可達性。即對接受和發布的路由進過濾。這種方式稱為路由策略。主要工具 重分布,標準的acl,字首列表,router policy,過濾策略,修改次優路由 1.重分布的場景 部署不同機構的合併 ...