一直對路由策略與策略路由的區別存在疑惑,根據自己的經驗,以及參考了一些資料,總結了對路由策略和策略路由的區別!
一、路由策略
路由策略,是路由發布和接收的策略。其實,選擇路由協議本身也是一種路由策略,因為相同的網絡結構,不同的路由協議因為實現的機制不同、開銷計算規則不同、優先級定義不同等可能會產生不同的路由表,這些是最基本的。
通常我們所說的路由策略指的是,在正常的路由協議之上,我們根據某種規則、通過改變某些參數或者設置某種控制方式來改變路由產生、發布、選擇的結果,注意,改變的是結果(即路由表),規則并沒有改變,而是應用這些規則。
二、策略路由
策略路由是在路由表已經產生的情況下,不按照現有的路由表進行轉發,而是根據需要,某些通信流量選擇其他路由的方式。
三、聯系與區別
聯系:
雙方都是為了轉發數據包而進行路徑選擇的策略,都是根據某種規則改變某些參數或控制手段來設置不同的轉發路徑。
區別:
路由策略是根據一些規則,使用某種策略改變規則中影響路由發布、接收或路由選擇的參數而改變路由發現的結果,最終改變的是路由表的內容。是在路由發現的時候產生作用。
策略路由是盡管存在當前最優的路由,但是針對某些特別的主機(或應用、協議)不使用當前路由表中的轉發路徑而單獨使用別的轉發路徑。在數據包轉發的時候發生作用、不改變路由表中任何內容。
策略路由的優先級比路由策略高,當路由器接收到數據包,并進行轉發的時候,會優先根據策略路由的規則進行匹配,如果能匹配上,則根據策略路由來轉發,否則按照路由表中轉發路徑來進行轉發。
總結一下,路由策略是路由發現規則,策略路由是數據包轉發規則。其實將“策略路由”理解為“轉發策略”,這樣更容易理解與區分。由于轉發在底層,路由在高層,所以轉發的優先級比路由的優先級高,這點也能理解的通。
其實路由器中存在兩種類型和層次的表,一個是路由表(routing-table),另一個是轉發表(forwording-table)。轉發表是由路由表映射過來的,策略路由直接作用于轉發表,路由策略直接作用于路由表。
四、優缺點
網絡通信的規則是先有路由,才有轉發。路由策略由于僅僅在路由發現的時候產生作用,在路由表產生且穩定之后,如果網絡不發生變化,路由表通常都不會變化,這時候,路由策略沒有應用就不會占用資源。
而策略路由是在轉發的時候發生作用,路由器在初始產生路由表之后,基本工作量都在數據包轉發上,如果沒有策略路由,路由器只要分析每一個數據包的目的地址,再按路由表來匹配就可以決定下一跳;
但是如果有策略路由,策略路由就一直處于應用狀態,如果策略路由特別復雜,路由器要根據規則來判斷數據包的源地址、協議或應用等附加信息,這樣就會一直占用大量的資源,所以除非不得已,盡量使用路由策略,而不要使用策略路由。
網絡優化的時候需要考慮這一點,如果策略路由特別復雜,能通過將網絡進行簡單分解而達到取消策略路由的盡量進行分解,否則路由器負擔很重。