当前位置: 首页 > news >正文

路由策略/策略路由之route-policy

思科名称:route-map、match、set

Route-policy 是一个非常重要的基础性策略工具。你可以把它想象成一个拥有多个节点(node)的列表(这些 node 按编号大小进行排序)。在每个节点中,可以定义条件语句及执行语句,这就有点像程序设计里的 if-then 语句,如上图所示。

route-policy 执行的时候,是自上而下进行计算的。首先看节点 1(这里假设编号最小的节点为 1),对节点 1 中的“条件语句”进行计算,如果所有的条件都满足,则执行该节点下的“执行语句”,并且不会再继续往下一个节点进行匹配了。而如果节点 1 中,有任何一个条件不满足,则继续看下一个节点,到节点 2 中去匹配条件语句,如果全都满足则执行该节点中定义的执行语句,如果不满足,则继续往下一个节点进行,以此类推。下图就是一个 route-policy:

路由控制可以通过路由策略下 Route-Policy)实现,路策略应用灵活而广泛

  • 控制路由的发布:通过路由策略对发布的路由进行过滤,只发布满足条件的路由
  • 控制路由的接收:通过路由策略对接收的路由进行过滤,只接收满足条件的路由
  • 控制路由的引入:通过路由策略控制从其他路由协议引入的路由条目,只有满足条件的路由

配置

创建 route-policy

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

  • Permit 关键字指定节点的匹配模式为允许。当该节点下所有的条件都被满足时,将执行该节点的 apply 子句,不进入下一个节点;如果有任何一个条件不满足,将进入下一个节点继续计算。
  • Deny 关键字指定节点的匹配模式为拒绝,这时 apply 子句不会被执行。当该节点下所有的条件都被满足时,将被拒绝通过该节点,不进入下一个节点;如果有任何一个条件不满足,将进入下一个节点继续计算。
  • 默认情况下,所有未匹配的路由将被拒绝通过 route-policy。如果 Route-Policy 中定义了一个以上的节点,则各节点中至少应该有一个节点的匹配模式是 permit。

配置 IF-math 语句

[Huawei-route-policy] if-match ?acl 匹配ACL
cost 匹配路由信息的cost
interface 匹配路由信息的出接口
ip { next-hop | route-source | group-address }  匹配IPv4的路由信息(下一跳、源地址或组播组地址)
ip-prefix  匹配前缀列表
route-type 匹配各类型路由信息
tag 匹配路由信息的标记域
……
  • 对于同一个 route-policy 节点,命令 if-match acl 和命令 if-match ip-prefix 不能同时配置,后配置的命令会覆盖先配置的命令。
  • 对于同一个 Route-Policy 节点,在匹配的过程中,各个 if-match 子句间是“与”的关系,即路由信息必须同时满足所有匹配条件,才可以执行 apply 子句的动作。但命令 if-match route-type 和 if-match interface 除外,这两个命令的各自 if-match 子句间是“或”的关系,与其它命令的 if-match 子句间仍是“与”的关系。
  • 如不指定 if-match 子句,则所有路由信息都会通过该节点的过滤。
  • 如果多个条件在一行内显示,那么此时的关系是“与”,and。即需要同时满足这几个条件(一般不会遇到)
  • 如狗多个条件在多行内显示,那么此时的关系是“或”,or。即满足任意一个条件即可

[Huawei-route-policy] apply ?
cost  设置路由的cost
cost-type { type-1 | type-2 }  设置OSPF的开销类型
ip-address next-hop  设置IPv4路由信息的下一跳地址
preference  设置路由协议的优先级
tag 设置路由信息的标记域
……

R1 的配置:

# 定义一个acl2000,用于匹配需要放行的路由:
[R1] acl 2000
[R1-acl-basic-2000] rule permit source 172.16.1.0 0.0.0.0
[R1-acl-basic-2000] quit# 创建一个route-policy,名字叫RP,同时配置第一个节点,节点编号为10:
[R1] route-policy RP permit node 10
[R1-route-policy] if-match acl 2000  # 在节点10中,定义了一个if-match子句,调用acl 2000
[R1-route-policy] apply cost 20 # 在节点10中,定义了一个apply子句,设置cost为20[R1] ospf 1
[R1-ospf-1] import-route direct route-policy RP # 在ospf注入直连路由的时候调用这个route-policy

由于 route-policy 在末尾隐含“拒绝所有”的节点,因此 172.16.2.0/24 及 172.16.3.0/24 路由因为没有满足任何节点的 if-match 语句,从而不被注入到 OSPF 中。

 

 

相关文章:

路由策略/策略路由之route-policy

思科名称:route-map、match、set Route-policy 是一个非常重要的基础性策略工具。你可以把它想象成一个拥有多个节点(node)的列表(这些 node 按编号大小进行排序)。在每个节点中,可以定义条件语句及执行语…...

《嵌入式系统原理》一些题目

1 .ARM 的存储格式?默认的存储模式是? 大端格式和小端格式,默认为小端模式 2 .当前程序状态寄存器?(英文简写、条件码标志位及控制位的含义) CPSR,N,Z,C,V(P26) 3 &a…...

卡洛诗已悄然改写高性价比西餐的竞争规则

在餐饮行业竞争日益激烈的今天,消费者对“高性价比”的定义已从单纯的低价转向品质、体验与情感价值的综合考量。萨莉亚原团队成员出来升级孵化的新概念中式西餐卡洛诗以“访九州异馔,再造东方味”为核心理念,通过本土化创新、严控文化及场景…...

独立开发者之网站的robots.txt文件如何生成和添加

robots.txt是一个存放在网站根目录下的文本文件,用于告诉搜索引擎爬虫哪些页面可以抓取,哪些页面不可以抓取。下面我将详细介绍如何生成和添加robots.txt文件。 什么是robots.txt文件? robots.txt是遵循"机器人排除协议"(Robots…...

02核心-EffectSpec,EffectContext

1.FGameplayEffectSpec 效果Spec 创建:MakeOutGoingSpec>EffectSpecHandle≈EffectSpec. 创建总结:EffectLevelEffectContext>EffectSpec(Handle) 数据:EffectSpec存有效果的等级,上下文,类。 还有很多其他东…...

驱动开发硬核特训 · Day 10(下篇):设备模型实战篇 —— Platform 驱动机制 ≈ 运行时适配器

🔍 B站相应的视屏教程: 📌 内核:博文视频 - 总线驱动模型实战全解析 敬请关注,记得标为原始粉丝。 🔧 📍 一、目标与回顾 在上篇《理论篇》中,我们从软件工程角度,解释…...

集合框架二三事

一.集合框架 Java集合框架(Java Collections Framework)是Java标准库中用于存储和处理对象集合的一组接口和实现类。它提供了一套统一的API,使得开发者能够高效地管理和操作数据集合。以下是关于Java集合框架的详细介绍,包括其核…...

前端jest(vitest)单元测试快速手上

前言 vitest和jest除了配置上不同,其他的基本差不多,这里以jest为例进行说明 安装依赖 npm install -D jest编写测试 例如,我们将编写一个简单的测试来验证将两个数字相加的函数的输出。 sum.js export function sum(a, b) {return a b…...

优化方法介绍(二)

优化方法介绍(二) 本博客是一个系列博客,主要是介绍各种优化方法,使用 matlab 实现,包括方法介绍,公式推导和优化过程可视化 1 BFGS 方法介绍 BFGS 的其实就是一种改良后的牛顿法,因为计算二阶导数 Hessian 矩阵所需的计算资源是比较大的,复杂度为 O ( 2 ⋅ n 2 ) …...

Sklearn入门之datasets的基本用法

、 Sklearn全称:Scipy-toolkit Learn是 一个基于scipy实现的的开源机器学习库。它提供了大量的算法和工具,用于数据挖掘和数据分析,包括分类、回归、聚类等多种任务。本文我将带你了解并入门Sklearn下的datasets在机器学习中的基本用法。 获取方式 pi…...

UDS协议 - 应用层服务测试用例概览

目录 前言一、10服务物理寻址测试功能寻址测试二、11服务物理寻址测试功能寻址测试三、14服务物理寻址测试功能寻址测试四、19服务物理寻址测试功能寻址测试五、22服务物理寻址测试功能寻址测试六、27服务物理寻址测试七、28服务物理寻址测试功能寻址测试八、2E服务物理寻址测试…...

记录一个虚拟机分配资源的问题

Virtualize Intel VT - x/EPT or AMD - V/RVI:若物理机的 CPU 支持对应的硬件虚拟化技术(Intel VT - x 或 AMD - V),强烈建议开启。该功能可显著提升虚拟机的性能,让虚拟机更高效地利用物理 CPU 资源,改善卡…...

(即插即用模块-特征处理部分) 三十一、(2024) CDFA 对比度驱动的特征聚合模块

文章目录 1、Contrast-Driven Feature Aggregation module2、代码实现 paper:ConDSeg: A General Medical Image Segmentation Framework via Contrast-Driven Feature Enhancement Code:https://github.com/Mengqi-Lei/ConDSeg 1、Contrast-Driven Feat…...

机械革命 无界15X 自带的 有线网卡 YT6801 debian12下 的驱动方法

这网卡是国货啊。。。 而且人家发了驱动程序 Motorcomm Microelectronics. YT6801 Gigabit Ethernet Controller [1f0a:6801] 网卡YT6801在Linux环境中的安装方法 下载网址 yt6801-linux-driver-1.0.29.zip 我不知道别的系统是否按照说明安装就行了 但是debian12不行&…...

TypeScript 的 interface 接口

TypeScript 的 interface 接口 简介 interface 是对象的模板,可以看作是一种类型约定,中文译为“接口”。使用了某个模板的对象,就拥有了指定的类型结构。 interface Person {firstName: string;lastName: string;age: number;} 上面示例中…...

SpringBoot3-web开发笔记(下)

内容协商 实现:一套系统适配多端数据返回 多端内容适配: 1. 默认规则 SpringBoot 多端内容适配。 基于请求头内容协商:(默认开启) 客户端向服务端发送请求,携带HTTP标准的Accept请求头。 Accept: applica…...

关于无线网络安全的基础知识,涵盖常见威胁、防护措施和实用建议

无线网络(WiFi)的普及极大地方便了我们的生活,但其开放性也带来了诸多安全隐患。以下是关于无线网络安全的基础知识,涵盖常见威胁、防护措施和实用建议: 一、无线网络常见安全威胁 窃听(Eavesdropping) 攻击者通过监听无线信号,截获未加密的数据(如登录密码、聊天记录…...

《基于 RNN 的股票预测模型代码优化:从重塑到直接可视化》

在深度学习领域,使用循环神经网络(RNN)进行股票价格预测是一个常见且具有挑战性的任务。本文将围绕一段基于 RNN 的股票预测代码的改动前后差别展开,深入剖析代码的优化思路和效果。 原始代码思路与问题 原始代码实现了一个完整…...

【leetcode刷题日记】lc.347-前 K 个高频元素

目录 1.题目 2.代码 1.题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1] 提示&#xff1a; 1 <…...

进程I·介绍、查看、创建与状态

目录 介绍 PCB&#xff08;进程控制块&#xff09; task_struct 查看、创建进程 进程状态 小知识 介绍 进程&#xff1a;PCB&#xff08;process control block&#xff09;&#xff08;内核数据结构&#xff09; 代码和数据 进程创建&#xff1a;操作系统将其相关属性信…...

[k8s]随笔- spec内容整理

面对 Kubernetes 中 spec 字段的复杂性&#xff0c;关键在于建立 层次化的分类逻辑 和 功能导向的归纳方法。以下是具体的规整思路和实践步骤&#xff0c;帮助你理清脉络、高效使用&#xff1a; 一、按资源类型分层&#xff1a;先分“大类”&#xff0c;再钻“细节” K8s 资源…...

程序化广告行业(81/89):行业术语解析与日常交流词汇指南

程序化广告行业&#xff08;81/89&#xff09;&#xff1a;行业术语解析与日常交流词汇指南 在程序化广告这个不断发展的行业中&#xff0c;持续学习和知识共享是我们紧跟潮流、提升能力的关键。一直以来&#xff0c;我都希望能和大家一起探索这个领域&#xff0c;共同进步。今…...

层归一化(Layer Normalization) vs 批量归一化(Batch Normalization)

层归一化和批量归一化都是 归一化方法,目的是让训练更稳定、收敛更快,但应用场景和工作方式大不相同。 名称一句话解释BatchNorm对 同一通道、不同样本之间 做归一化,适合图像任务,依赖 Batch Size。LayerNorm对 每个样本自身所有特征维度 做归一化,适合序列任务,不依赖 …...

【杂谈】-开源 AI 的复兴:Llama 4 引领潮流

开源 AI 的复兴&#xff1a;Llama 4 引领潮流 文章目录 开源 AI 的复兴&#xff1a;Llama 4 引领潮流一、Llama 4&#xff1a;开源 AI 的挑战者二、真实利他还是战略布局&#xff1f;三、对开发者、企业和人工智能未来的启示 在过去的几年里&#xff0c;AI 领域发生了重大转变。…...

instructor 库实现缓存

目录 代码代码解释1. 基础设置2. 客户端初始化3. 数据模型定义4. 缓存设置5. 缓存装饰器6. 示例函数工作流程 示例类似例子 代码 import functools import inspect import instructor import diskcachefrom openai import OpenAI, AsyncOpenAI from pydantic import BaseModel…...

【日志链路】⭐️SpringBoot 整合 TraceId 日志链路追踪!

&#x1f4a5;&#x1f4a5;✈️✈️欢迎阅读本文章❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;本篇文章阅读大约耗时6分钟。 ⛳️motto&#xff1a;不积跬步、无以千里 &#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;&#x1f381;&#x1f381;&am…...

QT6 源(16):存储 QT 里元对象的类信息的类 QMetaClassInfo 的类,只有两个成员函数 name()、value(),比元对象属性简单多了

&#xff08;1&#xff09;所在头文件 qmetaobject.h &#xff1a; class Q_CORE_EXPORT QMetaClassInfo { private: //private 属性里包含了至关重要的数据成员的定义&#xff0c;放前面struct Data {enum { Size 2 };const uint * d; //包含了数组的起始地址uint name ()…...

deskflow使用教程:一个可以让两台电脑鼠标键盘截图剪贴板共同使用的开源项目

首先去开源网站下载&#xff1a;Release v1.21.2 deskflow/deskflow 两台电脑都要下载这个文件 下载好后直接打开找到你想要的exe desflow.exe 然后你打开他&#xff0c;将两台电脑的TLS都关掉 下面步骤两台电脑都要完成&#xff1a; 电脑点开edit-》preferences 把这个取…...

波束形成(BF)从算法仿真到工程源码实现-第六节-广义旁瓣消除算法(GSC)

一、概述 本节我们讨论广义旁瓣消除算法(GSC)&#xff0c;包括原理分析及代码实现。 更多资料和代码可以进入https://t.zsxq.com/qgmoN &#xff0c;同时欢迎大家提出宝贵的建议&#xff0c;以共同探讨学习。 二、原理分析 广义旁瓣消除(GSC)算法 GSC算法是与LCMV算法等效的&…...

企业数字化转型需要注重的深层维度:生成式AI时代的战略重构

企业数字化转型正在经历从"技术适配"到"基因重组"的质变。生成式AI技术的突破性发展,要求企业超越传统信息化框架,构建全新的数字化转型认知体系。本文将从战略认知、技术融合、组织进化、伦理治理、生态协作五个维度,系统解构企业数字化转型需注重的核…...

图论之并查集——含例题

目录 介绍 秩是什么 例子——快速入门 例题 使用路径压缩&#xff0c;不使用秩合并 使用路径压缩和秩合并 无向图和有向图 介绍 并查集是一种用于 处理不相交集合的合并与查询问题的数据结构。它主要涉及以下基本概念和操作&#xff1a; 基本概念&#xff1a; 集合&…...

解释型语言和编译型语言的区别

Python 的执行过程通常涉及字节码&#xff0c;而不是直接将代码编译为机器码。以下是详细的解释&#xff1a; ### **Python 的执行过程** 1. **源代码到字节码**&#xff1a; - Python 源代码&#xff08;.py 文件&#xff09;首先被编译为字节码&#xff08;.pyc 文件&…...

零基础上手Python数据分析 (14):DataFrame 数据分组与聚合 - 玩转数据透视,从明细到洞察

写在前面 —— 像搭积木一样分析数据,掌握Pandas GroupBy,轻松实现分组统计与聚合 回顾一下,上篇博客我们学习了如何使用 Pandas 合并与连接多个 DataFrame,将分散的数据整合到一起。 现在,我们拥有了更完整、更丰富的数据视图。 接下来,一个非常常见的分析需求就是 对…...

Honor of Kings (S39) 13-win streak

Honor of Kings (S39) 13-win streak S39赛季13连胜&#xff0c;庄周&#xff0c;廉颇硬辅助&#xff0c;对面有回血就先出红莲斗盆&#xff0c;有遇到马克没带净化的&#xff0c;出【冰霜冲击】破他大招 S39&#xff0c;庄周廉颇前排硬辅助全肉全堆血13连胜_哔哩哔哩bilibi…...

输出流-----超级详细的在程序中向文件.txt中写入内容

1.使用Fileoutputstream对象&#xff0c;如果在目录中已经存在该文件&#xff0c;那么将不会在创建&#xff0c;如果该目录中没有该文件&#xff0c;那么将会自动创建文件。 2.在目录中a.txt文件中写入一个h字符&#xff0c;这种方式是写入单个字符。 //在目录中a.txt文件中写入…...

【Mysql】死锁问题详解

【Mysql】死锁问题详解 【一】Mysql中锁分类和加锁情况【1】按锁的粒度分类&#xff08;1&#xff09;全局锁&#xff08;2&#xff09;表级锁1、表共享读锁&#xff08;Table Read Lock&#xff09;2、表独占写锁&#xff08;Table Write Lock&#xff09;3、元数据锁&#xf…...

C语言实现用户管理系统

以下是一个简单的C语言用户管理系统示例&#xff0c;它实现了用户信息的添加、删除、修改和查询功能。代码中包含了详细的注释和解释&#xff0c;帮助你理解每个部分的作用。 #include <stdio.h> #include <stdlib.h> #include <string.h>#define MAX_USERS…...

SAP BDC:企业数据管理的新纪元

2025年4月&#xff0c;SAP在纽约发布了其全新企业数据平台——Business Data Cloud&#xff08;BDC&#xff09;&#xff0c;标志着企业数据管理和AI集成战略的重大升级。BDC不仅整合了SAP内部和外部的结构化与非结构化数据&#xff0c;还借助与Databricks的合作&#xff0c;推…...

数学建模学习资料免费分享:历年赛题与优秀论文、算法课程、数学软件等

本文介绍并分享自己当初准备数学建模比赛时&#xff0c;收集的所有资料&#xff0c;包括历年赛题与论文、排版模板、算法讲解课程与书籍、评分标准、数学建模软件等各类资料。 最近&#xff0c;准备将自己在学习过程中&#xff0c;到处收集到的各类资料都整理一下&#xff0c;并…...

计算机的运算方式

1. 计算机运算的基本概念 计算机的运算由 算术逻辑单元&#xff08;ALU&#xff09; 执行&#xff0c;其核心功能是完成 算术运算 和 逻辑运算。所有运算均基于二进制编码&#xff0c;通过硬件电路实现高速计算。 运算对象&#xff1a;二进制数&#xff08;定点数、浮点数&am…...

Tkinter事件与绑定

在Tkinter中,事件和事件绑定是实现用户交互的核心机制。通过事件机制,您可以捕捉用户的操作(例如鼠标点击、键盘输入等)并执行相应的回调函数。事件绑定是将事件与处理该事件的函数(或方法)关联起来。掌握事件和绑定技术是开发交互式应用程序的关键。 5.1 事件概述 事件…...

CAD 像素点显示图片——CAD二次开发 OpenCV实现

效果如下&#xff1a; 部分代码如下&#xff1a; public class Opencv1{[CommandMethod("xx1")]public void Opencv(){Document doc Application.DocumentManager.MdiActiveDocument;Database db doc.Database;Editor ed doc.Editor;// 设置采样精度&#xff0c;这…...

即梦+剪映:三国演义变中国好声音制作详解!

最近在刷抖音时&#xff0c;发现这种电影人物唱歌视频比较火热&#xff0c;今天手把手教大家如何制作这种让电影人物唱歌的视频&#xff01; 一、素材准备 1、准备好视频或人物图片素材 这里需要准备一张人物截图或者电影视频片段&#xff0c;大家可以去各大视频网站找原始素…...

04-线程

一、线程的概念 1、进程是系统分配资源的最少单位,操作系统会为每一个进程分配一块虚拟内存空间&#xff01; 线程是系统调度最少的单位,操作系统分配时间片的过程&#xff0c;就是系统调度&#xff01; 线程也会占用时间片&#xff01; 2、线程的内存资源 线程的内存资源是…...

7.渐入佳境 -- 优雅的断开套接字连接

前言 本章将讨论如何优雅地断开相互连接的套接字。之前用的方法不够优雅是因为&#xff0c;我们是调用close或closesocket函数单方面断开连接的。 一、基于TCP的半关闭 TCP中的断开连接过程比建立连接过程更重要&#xff0c;因为连接过程中一般不会出现大的变数&#xff0c;…...

Django3 - 开启Django Hello World

一、开启Django Hello World 要学习Django首先需要了解Django的操作指令&#xff0c;了解了每个指令的作用&#xff0c;才能在MyDjango项目里编写Hello World网页&#xff0c;然后通过该网页我们可以简单了解Django的开发过程。 1.1 Django的操作指令 无论是创建项目还是创建项…...

JavaScript 基础特性

一、变量特性 1.1 变量提升 console.log(temp); // undefined&#xff08;变量提升但未初始化&#xff09; var temp hello; 现象&#xff1a;var声明的变量会提升至作用域顶部&#xff0c;但赋值不提升 建议&#xff1a;改用 let/const 避免变量提升问题 1.2 变量泄露 fo…...

MATLAB遇到内部问题,需要关闭,Crash Decoding : Disabled - No sandbox or build area path

1.故障界面 MATLAB运行时突然中断&#xff0c;停止运行。故障界面如图&#xff1a; MATLAB Log File: C:\Users\wei\AppData\Local\Temp\matlab_crash_dump.21720-1 ------------------------------------------------ MATLAB Log File -----------------------------------…...

L1-5 吉老师的回归

题目 L1-078 吉老师的回归&#xff08;15分&#xff09; 曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦&#xff01; 为了简化题目&#xff0c;我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来&#xff0c;如&#xff1a;Probl…...

0413-多态、Object类方法、访问权限修饰符、装箱拆箱、128陷阱

1:A and A 2:A and A 3: A and D 4: B and A 5: B and A 6:A and D 7:B and A 8: B and A 9:A and D package 第四章对象和类;public class ForthThir {//多态&#xff1a;父类的引用指向子类的对象,只能调父类的方法和子类重写的方法&#xff0c;不能调子类独有的方法&…...