H3C 策略路由原理介紹
1.策略路由簡介
與單純依照IP報文的目的地址查詢路由表進行轉發不同,策略路由是一種依據使用者制定的策略進行路由轉發的機制。策略路由可以對於滿足一定條件(ACL規則等)的報文,執行指定的操作(設定報文的下一跳、出介面等)。
2.報文的轉發流程
裝置上,報文的基本轉發流程為:
1)首先根據配置的策略路由,查詢滿足匹配條件的節點。
2)若找到了匹配的節點,並且該節點是permit(允許)模式:
a. 根據策略路由中配置的下一跳和出介面指導報文轉發。
b. 若節點未配置下一跳和出介面,或根據下一跳和出介面指導報文轉發失敗,則根據路由表中的路由來轉發報文。
3)若找不到匹配的節點,或找到了匹配的節點,但該節點是deny(拒絕)模式,則根據路由表指導報文轉發。
3. 策略路由型別
根據作用物件的不同,策略路由可分為以下兩種型別:
· 本地策略路由:對裝置本身產生的報文(比如本地發出的ping報文)起作用,指導其傳送。
· 轉發策略路由:對介面接收的報文起作用,指導其轉發。
4. 策略簡介
策略用來定義報文的匹配規則,以及對報文執行的操作。策略由節點組成。
一個策略可以包含一個或者多個節點。節點的構成如下:
· 每個節點由節點編號來標識。編號較小的節點優先被執行。
· 每個節點的具體內容由if-match子句和apply子句來指定。if-match子句定義該節點的匹配規則,apply子句定義該節點的動作。
· 每個節點對報文的處理方式由匹配模式決定。匹配模式分為permit(允許)和deny(拒絕)兩種。
應用策略後,系統將根據策略中定義的匹配規則和操作,對報文進行處理:系統按照優先順序從高到低的順序依次匹配各節點,如果報文滿足這個節點的匹配規則,就執行該節點的動作;
如果報文不滿足這個節點的匹配規則,就繼續匹配下一個節點;如果報文不能滿足策略中任何一個節點的匹配規則,則根據路由表來轉發報文。
1) if-match子句關係
在一個節點中可以配置多條if-match子句,同一型別的if-match子句只能配置一條。
同一個節點中的不同型別if-match子句之間是“與”的關係,即報文必須滿足該節點的所有if-match子句才算滿足這個節點的匹配規則。
2)apply子句關係
同一個節點中可以配置多條apply子句,但不一定都會執行。多條apply子句之間的關係請參見“1.3.3 配置策略節點的動作”。
3)節點的匹配模式與節點的if-match子句、apply子句的關係
一個節點的匹配模式與這個節點的if-match子句、apply子句的關係如下表所示。
5.策略路由與Track聯動
策略路由通過與Track聯動,增強了應用的靈活性和對網路環境變化的動態感知能力。
策略路由可以在配置報文的下一跳、出介面時與Track項關聯,根據Track項的狀態來動態地決定策略的可用性。策略路由配置僅在關聯的Track項狀態為Positive或NotReady時生效。
關於策略路由與Track聯動的詳細介紹和相關配置,請參見Track”。
6. 策略路由配置限制和指導
裝置收到某些目的為本裝置的IP報文後,如果策略路由匹配該報文,會在報文上送CPU處理前先按策略節點動作處理。
7.策略路由顯示和維護
在使用者檢視下執行reset命令可以清除策略路由的統計資訊。