專題二十:路由策略與策略路由

一、路由策略

1.1 路由策略的概念

路由策略是通過修改路由表的路由條目來控制數據流量的可達性。即對接受和發布的路由進過濾。這種方式稱為路由策略

路由策略功能相關作用
控制路由的發布可通過路由策略對所要發布的路由信息進行過濾,只允許發布滿足條件的路由信息。
控制路由的接收可通過路由策略對所要接收的路由信息進行過濾,只允許接收滿足條件的路由信息。這樣可以控制路由條目的數量,提高網絡的路由效率。
控制路由的引入可通過路由策略只引入滿足條件的路由信息,并控制所引入的路由信息的某些屬性,使其滿足本路由協議的路由屬性要求。
設罟路由的屬性修改通過路由策略過濾的路由的屬性,滿足自身需要

對于路由策略的實現中,首先要進行路由信息特征的提取,可以使用過濾去進行數據的過濾,當然過濾的屬性可以是各種屬性,例如源目地址等等,然后根據這些屬性進行數據的分流后,應用于路由的發布、接受、引入。

1.2 路由信息特征提取工具

1.2.1 訪問控制列表

訪問控制列表(ACL)由permit或deny語句組成的一系列有順序規則的集合,它通過匹配報文的信息實現對報文的分類。

ACL的分類

ACL類別規則定義描述編號范圍
基本ACL僅使用報文的源IP地址、分片標記和時間段信息來定義規則。2000~2999
高級ACL既可使用報文的源IP地址,也可使用目的地址、IP優先級、ToS、DSCP、IP協議類型、ICMP類型、TCP源端口/目的端口、UDP源端口/目的端口號等來定義規則3000~3999
二層ACL可根據報文的以太網幀頭信息來定義規則,如根據源MAC地址、目的MAC地址、以太幀協議類型等。4000~4999
用戶自定義ACL可根據報文偏移位置和偏移量來定義規則。5000~5999
用戶ACL既可使用IPv4報文的源IP地址或源UCL(User Control List)組,也可使用目的地址或目的UCL組、IP協議類型、ICMP類型、TCP源端口/目的端口、UDP源端口/目的端口號等來定義規則。6000~9999

一個ACL可以由多條“deny | permit”語句組成,每一條語句描述了一條規則。設備收到數據流量后,會逐條匹配ACL規則,看其是否匹配。如果不匹配,則繼續匹配下一條。

一旦找到一條匹配的規則,就會執行規則中定義的動作,且不再繼續與后續規則進行匹配;如果找不到匹配的規則,則設備會對報文直接進行轉發。

ACL的匹配機制

需要注意的是,ACL中定義的這些規則可能存在重復或矛盾的地方。規則的匹配順序決定了規則的優先級,ACL通過設置規則的優先級來處理規則之間重復或矛盾的情形

1.2.2 地址前綴列表

IP前綴列表(IP-Prefix List)是將路由條目的網絡地址、掩碼長度作為匹配條件的過濾器,可在各路由協議發布和接收路由時使用。

不同于ACLIP-Prefix List能夠同時匹配IP地址前綴長度以及掩碼長度,增強了匹配的精確度。

1ip-prefix-name地址前綴列表名稱

2序號本匹配項在地址前綴列表中的序號,匹配時根據序號從小到大進行順序匹配

3、動作:permit/deny,地址前綴列表的匹配模式為允許/拒絕,表示匹配/不匹配

4IP網段與掩碼:匹配路由的網絡地址,以及限定網絡地址的前多少位需嚴格匹配

5、掩碼范圍:匹配路由前綴長度,掩碼長度的匹配范圍 mask-length<=greater-equal-value<=less-equal-value<=32

前綴列表的組成及匹配規則

前綴過濾列表由IP地址和掩碼組成,IP地址可以是網段地址或者主機地址,掩碼長度的配置范圍為0~32。

IP-Prefix List中的每一條IP-Prefix都有一個序列號index,匹配的時候將根據序列號從小到大進行匹配。

如果不配置IP-Prefix的index,那么對應的index在上次配置的同名IP-Prefix的index的基礎上,以步長為10進行增長。如果配置的IP-Prefix的名字與index都和已經配置了的一項IP-Prefix List的相同,僅僅只是匹配的內容不同,則該IP-Prefix List將覆蓋原有的IP-Prefix List。

當所有前綴過濾列表均未匹配時,缺省情況下,存在最后一條默認匹配模式為deny。當引用的前綴過濾列表不存在時,則默認匹配模式為permit。

前綴掩碼長度范圍:

前綴過濾列表可以進行精確匹配或者在一定掩碼長度范圍內匹配,并通過配置關鍵字greater-equal和less-equal來指定待匹配的前綴掩碼長度范圍。如果沒有配置關鍵字greater-equal或less-equal,前綴過濾列表會進行精確匹配,即只匹配掩碼長度為與前綴過濾列表掩碼長度相同的IP地址路由;

如果只配置了關鍵字greater-equal,則待匹配的掩碼長度范圍為從greater-equal指定值到32位的長度;如果只匹配了關鍵字less-equal,則待匹配的掩碼長度范圍為從指定的掩碼到關鍵字less-equal的指定值。

IP-Prefix的匹配機制

1.2.2.1??IP-Prefix的基礎配置命令

1.創建IPv4地址前綴列表

[Huawei] ip ip-prefix?ip-prefix-name?[?index?index-number?] {?permit?|?deny?}?
ipv4-address?mask-length?[?match-network?]?[?greater-equal?greater-equal-value?]
[?less-equal?less-equal-value?]

ip-prefix-name:指定地址前綴列表的名稱。(指定地址前綴列表的名稱。字符串形式,長度范圍是1169,不支持空格,區分大小寫。)

index index-number:指定本匹配項在地址前綴列表中的序號。(指定本匹配項在地址前綴列表中的序號。整數形式,取值范圍是14294967295。缺省情況下,該序號值按照配置先后順序依次遞增,每次加10,第一個序號值為10)

permit:指定地址前綴列表的匹配模式為允許。

deny:指定地址前綴列表的匹配模式為拒絕。

ipv4-address mask-length:指定IP地址和指定掩碼長度。

greater-equal greater-equal-value:指定掩碼長度匹配范圍的下限。

less-equal less-equal-value:指定掩碼長度匹配范圍的上限。

1.3 路由策略工具

1.3.1??Route-Policy

Route-Policy是一種功能非常強大的路由策略工具,它可以靈活地與ACL、IP-Prefix List、As-Path-Filter等其它工具配合使用,Route-Policy的每個node都有相應的permit模式或deny模式。

一個Route-Policy由一個或多個節點(Node)構成,每個節點都可以是一系列條件語句(匹配條件)以及執行語句(執行動作)的集合,這些集合按照編號從小到大的順序排列。

1.3.1.1 Route-Policy的組成

一個Route-Policy由一個或多個節點構成,每個節點包括多個if-matchapply子句。

permitdeny:指定Route-Policy節點的匹配模式為允許或拒絕。

node:指定Route-Policy的節點號。整數形式,取值范圍是065535

if-match子句:定義該節點的匹配條件。

apply子句:定義針對被匹配路由執行的操作。

注:如果是permit模式,則當路由項滿足該node的所有if-match子句時,就被允許通過該node的過濾并執行該node的apply子句,且不再進入下一個node;如果路由項沒有滿足該node的所有if-match子句,則會進入下一個node繼續進行過濾。如果是deny模式,則當路由項滿足該node的所有if-match子句時,就被拒絕通過該node的過濾,這時apply子句不會被執行,并且不進入下一個node;否則就進入下一個node繼續進行過濾。

1.3.1.2?Route-Policy的匹配順序

路由策略使用不同的匹配條件和匹配模式選擇路由和改變路由屬性。

1.3.1.3?Route-Policy的基礎配置

1.創建Route-Policy

[Huawei] route-policy?route-policy-name?{?permit?|?deny?}?node?node

創建路由策略并進入Route-Policy視圖。

2.(可選)配置if-match子句

[Huawei-route-policy] if-match ?acl		匹配基本ACLcost		匹配路由信息的costinterface	匹配路由信息的出接口ip-prefix	匹配前綴列表……

3.(可選)配置apply子句

[Huawei-route-policy] apply ?cost				設置路由的costcost-type {type-1 | type-2}		設置OSPF的開銷類型ip-address next-hop		設置IPv4路由信息的下一跳地址preference			設置路由協議的優先級tag				設置路由信息的標記域……

1.3.2?Filter-Policy

Filter-Policy能夠對接收或發布的路由進行過濾,可應用于ISIS、OSPF、BGP等協議。應用各協議中的Filter-Policy工具可通過引用ACL或地址前綴列表,對接收、發布和引入的路由進行過濾。

如圖所示,R1、R2、R3之間運行BGP路由協議,路由在各個設備之間傳遞,當需要根據實際需求過濾某些路由信息的時候可以使用Filter-Policy實現。

?1.3.2.1 Filter-Policy在距離矢量路由協議中的應用

對于距離矢量協議和鏈路狀態協議,Filter-Policy工具的操作過程是不同的:

距離矢量協議是基于路由表生成路由的,因此過濾器會影響從鄰居接收的路由和向鄰居發布的路由。

在距離矢量路由協議中,設備之間傳遞的是路由信息,如果需要對這種路由信息進行某種過濾,可以使用Filter-Policy實現,出方向和入方向的生效位置如圖所示。

1.3.2.2 Filter-Policy在鏈路狀態路由協議中的應用

鏈路狀態路由協議是基于鏈路狀態數據庫來生成路由的,且路由信息隱藏在鏈路狀態LSA中,但Filter-Policy不能對發布和接收的LSA進行過濾,故Filter-Policy不影響鏈路狀態通告或鏈路狀態數據庫的完整性以及協議路由表,而只會影響本地路由表,且只有通過過濾的路由才被添加到路由表中,沒有通過過濾的路由不會被添加進路由表。

?在鏈路狀態路由協議中,各路由設備之間傳遞的是LSA信息,然后設備根據LSA匯總成的LSDB信息計算出路由表。但是Filter-Policy只能過濾路由信息,無法過濾LSA

不同協議應用filter-policy export命令對待發布路由的影響范圍不同:

對于距離矢量協議,會對引入的路由信息、本協議發現的路由信息進行過濾。

對于鏈路狀態協議,只對引入的路由信息進行過濾。

1.3.2.3?Filter-Policy的基礎配置

1.OSPF中的應用

[Huawei-ospf-100] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name [ secondary ] } import

按照過濾策略,設置OSPF對接收的路由進行過濾。

[Huawei-ospf-100] filter-policy?{?acl-number?|?acl-name?acl-name?|?ip-prefix?ip-prefix-name?|?route-policy?route-policy-name?}?export?[?protocol?[?process-id?] ]

按照過濾策略,設置對引入的路由在向外發布時進行過濾。

2.IS-IS中的應用

[Huawei-isis-1] filter-policy?{?acl-number?|?acl-name?acl-name?|?ip-prefix?ip-prefix-name?|?route-policy?route-policy-name?}?import

配置IS-IS路由加入IP路由表時的過濾策略。

[Huawei-isis-1] filter-policy?{?acl-number?|?acl-name?acl-name?|?ip-prefix?ip-prefix-name?|?route-policy?route-policy-name?}?export?[?protocol?[?process-id?] ]

配置IS-IS對已引入的路由在向外發布時進行過濾的過濾策略。

3.BGP中的應用

[Huawei-bgp-af-ipv4] filter-policy?{?acl-number?|?acl-name?acl-name?|?ip-prefix?ip-prefix-name?}?import

配置對接收的路由信息進行過濾。

[Huawei-bgp-af-ipv4] filter-policy?{?acl-number?|?acl-name?acl-name?|?ip-prefix?ip-prefix-name?}?export?[?protocol?[?process-id?] ]

配置對發布的路由進行過濾,只有通過過濾的路由才被BGP發布。

[Huawei-bgp-af-ipv4] peer?{?group-name?|?ipv4-address?}?filter-policy?{?acl-number?|?acl-name?acl-name?} {?import?|?export?}

配置向對等體(組)發布或從對等體(組)接收路由時的過濾策略。

二、策略路由

2.1 策略路由的概念

策略路由是一種基于策略的路由選擇方法,通過根據特定的策略或條件來決定數據包的轉發路徑。與傳統的基于目的地地址的路由選擇不同,策略路由可以根據源IP地址、目的IP地址、服務類型等多個因素進行靈活的決策。其目標是根據網絡管理員定義的策略,實現網絡流量的優化和管理。

2.2 策略路由的工作原理

  • 策略定義:管理員定義一組策略,這些策略可以基于多個因素,如源IP地址、目的IP地址、服務類型等。

  • 條件匹配:當數據包到達路由器時,它會被與策略中定義的條件進行匹配。如果數據包符合某個策略的條件,那么該策略將被觸發。

  • 路徑選擇:策略觸發后,根據策略中定義的規則和動作,路由器會選擇最佳的路徑來轉發數據包。這可以是固定的下一跳路徑,也可以是負載均衡的多個路徑之一。

  • 轉發處理:根據選擇的路徑,路由器將數據包轉發到目標地址。

策略路由的選路參數:源目IP址、協議字段,甚至于TCP、UDP的源目的端口等多種組合進行選路,較為靈活。

策略路由進行數據包的轉發時,不是簡單根據目的IP地址而定,而是綜合考慮多種因素,例如源目端口號、IP地址等參數進行流量工程制定,能夠滿足不同業務走不同鏈路的需求,基于流量進行分配。

2.3 策略路由優勢

①不同的用戶可以分配不同的鏈路(例如存在多個ISP)

②設置IPP或者TOS字段來實現QoS

③實現負載均衡

2.4 策略路由的處理流程

①流模式

第一個包查路由轉發表,如果存在路由,將該路由項以source、dest、tos、入接口等索引放置到cache中,以后同樣的流就可以直接查cache

對于低端路由器,所有操作由CPU+內存處理

對于中高端設備,一般由NP 和Asic芯片完成處理

②逐包模式

每個包都進行查表后才進行轉發

2.5 策略路由PBR

本地策略路由:對本設備發送的報文實現策略路由,比如本機下發的ICMP、BGP等協議報文。

當用戶需要實現不同源地址的報文或者不同長度的報文通過不同的方式進行發送時,可以配置本地策略路由。

常用Policy-Based-Route工具來實現。

接口策略路由:對本設備轉發的報文生效,對本機下發的報文不生效。

當用戶需要將收到的某些報文通過特定的下一跳地址進行轉發時,需要配置接口策略路由。使匹配重定向規則的報文通過特定的下一跳出口進行轉發,不匹配重定向規則的報文則根據路由表直接轉發。接口策略路由多應用于負載分擔和安全監控。

常用Traffic-Policy工具來實現。

智能策略路由:基于鏈路質量信息為業務數據流選擇最佳鏈路。

當用戶需要為不同業務選擇不同質量的鏈路時,可以配置智能策略路由。

2.6?路由策略以及策略路由區別

路由策略策略路由
基于控制平面,會影響路由表表項。基于轉發平面,不會影響路由表表項且設備收到報文后,會先查找策略路由進行匹配轉發,若匹配失敗,則再查找路由表進行轉發。
只能基于目的地址進行策略制定。可基于源地址、目的地址、協議類型報文大小等進行策略制定。
與路由協議結合使用。需手工逐跳配置,以保證報文按策略進行轉發。
常用工具:Route-PolicyFilter-Policy等。常用工具:Traffic-Filter、Traffic-Policy, Policy-Based-Route

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80232.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80232.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80232.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VSCode 擴展離線下載方法

學習自該文章&#xff0c;感謝作者&#xff01; 2025 年 VSCode 插件離線下載攻略&#xff1a;官方渠道一鍵獲取 - 知乎 獲取擴展關鍵信息 方法一&#xff1a;官網獲取 打開 VSCode 擴展官方網站 搜索要下載的擴展&#xff0c;以 CodeGeeX 為例&#xff0c;網址為&#xf…

一 、環境的安裝 Anaconda + Pycharm + PaddlePaddle

《從零到一實踐&#xff1a;系統性學習生成式 AI(NLP)》 一 、環境的安裝 Anaconda Pycharm PaddlePaddle 1. Anaconda 軟件安裝 Anaconda 軟件安裝有大量的教程&#xff0c;此處不在說明&#xff0c;安裝完成之后界面如下&#xff1a; 2. 創建 Anaconda 虛擬環境 Paddl…

軟考教材重點內容 信息安全工程師 第23章 云計算安全需求分析與安全保護工程

23.1.云計算基本概念 云計算就是在這樣的需求驅動下而產生的一種計算模式。云計算通過虛擬化及網絡通信技術&#xff0c;提供一種按需服務、彈性化的 IT 資源池服務平臺。云計算的主要特征如下。 1. IT 資源以服務的形式提供 IT 資源以一種服務產品的形式提供&#xff0c;滿…

藍橋杯 19. 最大比例

最大比例 原題目鏈接 題目描述 X 星球的某個大獎賽設了 M 級獎勵。每個級別的獎金是一個正整數。 并且&#xff0c;相鄰兩個級別間的比例是一個固定值&#xff0c;也就是說&#xff1a;所有級別的獎金構成一個等比數列。 例如&#xff1a; 獎金數列為 16, 24, 36, 54&…

基于 Python 的自然語言處理系列(82):Transformer Reinforcement Learning

&#x1f517; 本文所用工具&#xff1a;trl、transformers、peft、bitsandbytes &#x1f4d8; 官方文檔參考&#xff1a;https://huggingface.co/docs/trl 一、引言&#xff1a;從有監督微調到 RLHF 全流程 隨著語言大模型的發展&#xff0c;如何在大規模預訓練模型基礎上更精…

JAVA猜數小游戲

import java.util.Random; import java.util.Scanner;public class HelloWorld {public static void main(String[] args) {Random rnew Random();int luck_number r.nextInt(100)1;while (true){System.out.println("輸入猜數字");Scanner sc new Scanner(System…

GPU渲染階段介紹+Shader基礎結構實現

GPU是什么 &#xff08;CPU&#xff09;Center Processing Unit:邏輯編程 &#xff08;GPU&#xff09;Graphics Processing Unit&#xff1a;圖形處理&#xff08;矩陣運算&#xff0c;數據公式運算&#xff0c;光柵化&#xff09; 渲染管線 渲染管線也稱為渲染流水線&#x…

Spring Boot + MyBatis 動態字段更新方法

在Spring Boot和MyBatis中&#xff0c;實現動態更新不固定字段的步驟如下&#xff1a; 方法一&#xff1a;使用MyBatis動態SQL&#xff08;適合字段允許為null的場景&#xff09; 定義實體類 包含所有可能被更新的字段。 Mapper接口 定義更新方法&#xff0c;參數為實體對象&…

單例模式:確保唯一實例的設計模式

單例模式&#xff1a;確保唯一實例的設計模式 一、模式核心&#xff1a;保證類僅有一個實例并提供全局訪問點 在軟件開發中&#xff0c;有些類需要確保只有一個實例&#xff08;如系統配置類、日志管理器&#xff09;&#xff0c;避免因多個實例導致狀態混亂或資源浪費。 單…

UnoCSS原子CSS引擎-前端福音

UnoCSS是一款原子化的即時按需 CSS 引擎&#xff0c;其中沒有核心實用程序&#xff0c;所有功能都是通過預設提供的。默認情況下UnoCSS應用通過預設來實現相關功能。 UnoCSS中文文檔&#xff1a; https://www.unocss.com.cn 前有很多種原子化的框架&#xff0c;例如 Tailwind…

【Qwen2.5-VL 踩坑記錄】本地 + 海外賬號和國內賬號的 API 調用區別(阿里云百煉平臺)

API 調用 阿里云百煉平臺的海內外 API 的區別&#xff1a; 海外版&#xff1a;需要進行 API 基礎 URL 設置國內版&#xff1a;無需設置。 本人的服務器在香港&#xff0c;采用海外版的 API 時&#xff0c;需要進行如下API端點配置 / API基礎URL設置 / API客戶端配置&#xf…

C語言筆記(鵬哥)上課板書+課件匯總(結構體)-----數據結構常用

結構體 目錄&#xff1a; 1、結構體類型聲明 2、結構體變量的創建和初始化 3、結構體成員訪問操作符 4、結構體內存對齊*****&#xff08;重要指數五顆星&#xff09; 5、結構體傳參 6、結構體實現位段 一、結構體類型聲明 其實在指針中我們已經講解了一些結構體內容了&…

UV: Python包和項目管理器(從入門到不放棄教程)

目錄 UV: Python包和項目管理器&#xff08;從入門到不放棄教程&#xff09;1. 為什么用uv&#xff0c;而不是conda或者pip2. 安裝uv&#xff08;Windows&#xff09;2.1 powershell下載2.2 winget下載2.3 直接下載安裝包 3. uv教程3.1 創建虛擬環境 (uv venv) 4. uvx5. 此pip非…

網絡開發基礎(游戲方向)之 概念名詞

前言 1、一款網絡游戲分為客戶端和服務端兩個部分&#xff0c;客戶端程序運行在用戶的電腦或手機上&#xff0c;服務端程序運行在游戲運營商的服務器上。 2、客戶端和服務端之間&#xff0c;服務端和服務端之間一般都是使用TCP網絡通信。客戶端和客戶端之間通過服務端的消息轉…

java將pdf轉換成word

1、jar包準備 在項目中新增lib目錄&#xff0c;并將如下兩個文件放入lib目錄下 aspose-words-15.8.0-jdk16.jar aspose-pdf-22.9.jar 2、pom.xml配置 <dependency><groupId>com.aspose</groupId><artifactId>aspose-pdf</artifactId><versi…

【C/C++】插件機制:基于工廠函數的動態插件加載

本文介紹了如何通過 C 的 工廠函數、動態庫&#xff08;.so 文件&#xff09;和 dlopen / dlsym 實現插件機制。這個機制允許程序在運行時動態加載和調用插件&#xff0c;而無需在編譯時知道插件的具體類型。 一、 動態插件機制 在現代 C 中&#xff0c;插件機制廣泛應用于需要…

【音視頻】AAC-ADTS分析

AAC-ADTS 格式分析 AAC?頻格式&#xff1a;Advanced Audio Coding(?級?頻解碼)&#xff0c;是?種由MPEG-4標準定義的有損?頻壓縮格式&#xff0c;由Fraunhofer發展&#xff0c;Dolby, Sony和AT&T是主 要的貢獻者。 ADIF&#xff1a;Audio Data Interchange Format ?…

機器學習 Day12 集成學習簡單介紹

1.集成學習概述 1.1. 什么是集成學習 集成學習是一種通過組合多個模型來提高預測性能的機器學習方法。它類似于&#xff1a; 超級個體 vs 弱者聯盟 單個復雜模型(如9次多項式函數)可能能力過強但容易過擬合 組合多個簡單模型(如一堆1次函數)可以增強能力而不易過擬合 集成…

通過爬蟲方式實現頭條號發布視頻(2025年4月)

1、將真實的cookie貼到代碼目錄中toutiaohao_cookie.txt文件里,修改python代碼里的user_agent和video_path, cover_path等變量的值,最后運行python腳本即可; 2、運行之前根據import提示安裝一些常見依賴,比如requests等; 3、2025年4月份最新版; 代碼如下: import js…

Linux ssh免密登陸設置

使用 ssh-copy-id 命令來設置 SSH 免密登錄&#xff0c;并確保所有相關文件和目錄權限正確設置&#xff0c;可以按照以下步驟進行&#xff1a; 步驟 1&#xff1a;在源服務器&#xff08;198.120.1.109&#xff09;生成 SSH 密鑰對 如果還沒有生成 SSH 密鑰對&#xff0c;首先…