2022-07-02 网工进阶(十五)路由策略-Route-Policy特性、策略路由(Policy-Based Routing)、MQC(模块化QoS命令行)

本文主要是介绍2022-07-02 网工进阶(十五)路由策略-Route-Policy特性、策略路由(Policy-Based Routing)、MQC(模块化QoS命令行),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Route-Policy特性

if-match子句

没有if-match子句代表匹配所有未被匹配的。

Route-Policy匹配规则

在Route-Policy中调用的匹配工具(ACL、p-prefix)中的permit代表意思为“抓取、命中”;而deny代表意思为“忽略、跳过”。

Route-Policy中的匹配模式permit代表意思为“允许通过”;而deny代表意思为“拒绝通过”。

举例说明

假设Route-Policy的过滤范围中有2条路由。

第一个节点调用的匹配工具的规则为:第1条permit、第2条deny。

当第一个节点匹配模式为permit时:会对第1条采 取放行并执行apply子句。把第2条交给后面的节点处理,因为第1条已经被“抓取”,就不会再次被后面的节点“抓取”。如果后面的节点中的匹配工具permit了第2条,处理方式同第1条。

当第一个节点匹配模式为deny时:会对第1条采取拒绝通行的处理方式。把第2条交给后面的节点处理,因为第1条已经被“抓取”,就不会再次被后面的节点“抓取”。如果后面的节点中的匹配工具permit了第2条,将会采取放行并执行apply子句

注1:Route-Policy的匹配模式为deny的情况下不会执行apply子句。

注2:通过观察实验结果,如果笔者没有猜错,匹配工具ip-prefix的index 和 策略工具Route-Policy的node 与 匹配工具ACL的rule一样在末尾都包含一条拒绝所有通过的隐藏规则。

策略路由(Policy-Based Routing)

PBR(Policy-Based Routing,策略路由):PBR使得网络设备不仅能够基于报文的目的IP地址进行数据转发,更能基于其他元素进行数据转发,例如源IP地址源MAC地址目的MAC地址源端口号目的端口号VLAN-ID等等。

用户还可以使用ACL匹配特定的报文,然后针对该ACL进行PBR部署。

若设备部署了PBR,则被匹配的报文优先根据PBR的策略进行转发,即PBR策略的优先级高于传统路由表

PBR结构

PBR与Route-Policy类似,由多个节点组成,每个节点由匹配条件(条件语句)执行动作(执行语句)组成。

每个节点内可包含多个条件语句

节点内的多个条件语句之间的关系为“”,即匹配所有条件语句才会执行本节点内的动作。

节点之间的关系为“”,PBR根据节点编号从小到大顺序执行,匹配当前节点将不会继续向下匹配。

6185380837f44870bff90b405d983f1b.png

策略路由(PBR)与路由策略区别

名称操作对象描述
路由策略路由信息路由策略是一套用于对路由信息进行过滤属性设置等操作的方法,通过对路由的操作或控制,来影响数据报文的转发路径
策略路由数据报文PBR直接对数据报文进行操作,通过多种手段匹配感兴趣的报文,然后执行丢弃强制转发路径等操作

PBR的分类

接口PBR

接口PBR只对转发的报文起作用,对本地始发的报文无效。

接口PBR调用在接口下,对接口的入方向报文生效。缺省情况下,设备按照路由表的下一跳进行报文转发,如果配置了接口PBR,则设备按照接口PBR指定的下一跳进行转发。

本地PBR

本地PBR对本地始发的流量生效,如:本地始发的ICMP报文。

本地PBR在系统视图调用。

相关命令

创建PBR

[R1]policy-based-route 10 permit node 10

设置匹配条件(匹配ACL)

[R1-policy-based-route-10-10]if-match acl 2000

设置匹配条件(匹配报文字节长度范文)

[R1-policy-based-route-10-10]if-match packet-length 0 100

设置匹配动作(指定下一跳)

[R1-policy-based-route-10-10]apply ip-address next-hop 10.1.1.3

设置匹配动作(指定出接口,路由优先级高于指定下一跳)

[R1-policy-based-route-10-10]apply output-interface GigabitEthernet 0/0/1

调用到全局(本地)PBR

[R1]ip local policy-based-route 10

调用到接口PBR

[R1-GigabitEthernet0/0/0]ip local policy-based-route 10

MQC

MQC(Modular QoS Command-Line Interface,模块化QoS命令行)是指通过将具有某类共同特征的数据流划分为一类并为同一类数据流提供相同的服务也可以对不同类的数据流提供不同的服务

MQC包含三个要素:流分类(traffic classifier)流行为(traffic behavior)流策略(traffic policy)。

流分类:配置流分类,用于匹配感兴趣数据流。可基于VLAN Tag、DSCP、ACL规则等。

流行为:将感兴趣报文进行重定向。 可以设置重定向的下一跳IP地址或出接口。

流策略将流分类和流行为绑定,对分类后的报文执行对应流行为中定义的动作。一个流策略可以绑定多个流分类和流行为。

应用流策略:1.在接口入方向上应用流策略。 2.对属于该VLAN并匹配流分类中规则的入方向报文实施策略控制。3.在全局或板卡上应用流策略。

MQC的流行为支持重定向报文,因此可以使用MQC实现IP单播策略路由。

相关命令

创建匹配(流分类)规则ACL 3000,允许目的IP地址为3.3.3.3的数据流

[R1]acl 3000[R1-acl-adv-3000]rule 5 permit ip destination 3.3.3.3 0

创建流分类10(规则之间的关系为或),设置匹配(流分类)规则ACL 3000

[R1]traffic classifier 10 operator or[R1-classifier-10]if-match acl 3000

创建流行为10,设置行为为指定下一跳

[R1]traffic behavior 10[R1-behavior-10]redirect ip-nexthop 10.1.2.2

创建流策略11,并绑定流分类10与流行为10

[R1]traffic policy 11[R1-trafficpolicy-11]classifier 10 behavior 10

在接口的入方向应用流策略11

[R1-GigabitEthernet0/0/0]traffic-policy 11 inbound 

PBR MQC配置举例

R2 配置MQC

创建匹配(流分类)规则ACL 3000,匹配目的IP地址为1.1.1.1和10.1.1.1的数据流[R2]acl 3000 
[R2-acl-adv-3000]rule 5 permit ip destination 1.1.1.1 0
[R2-acl-adv-3000]rule 10 permit ip destination 10.1.1.1 0创建流分类10(规则之间的关系为或),设置匹配(流分类)规则ACL 3000[R2]traffic classifier 10 operator or 
[R2-classifier-10]if-match acl 3000创建流行为10,设置行为为指定下一跳[R2]traffic behavior 10 
[R2-behavior-10]redirect ip-nexthop 10.1.4.4创建匹配(流分类)规则ACL 3001,匹配目的IP地址为3.3.3.3和10.1.3.3的数据流[R2]acl 3001
[R2-acl-adv-3001]rule 5 permit ip destination 3.3.3.3 0
[R2-acl-adv-3001]rule 10 permit ip destination 10.1.3.3 0创建流分类20(规则之间的关系为或),设置匹配(流分类)规则ACL 3001[R2]traffic classifier 20 operator or 
[R2-classifier-20]if-match acl 3001创建流行为20,设置行为为指定下一跳[R2]traffic behavior 20 
[R2-behavior-20]redirect ip-nexthop 10.1.2.4创建流策略11,并绑定流分类10与流行为10,绑定流分类20与流行为20[R2]traffic policy 11 
[R2-trafficpolicy-11]classifier 10 behavior 10
[R2-trafficpolicy-11]classifier 20 behavior 20在接口的入方向应用流策略11[R2-GigabitEthernet0/0/0]traffic-policy 11 inbound 
[R2-GigabitEthernet0/0/1]traffic-policy 11 inbound

R4 配置PBR

配置匹配规则ACL 3000,匹配R1的ip[R4]acl 3000
[R4-acl-adv-3000]rule 5 permit ip destination 1.1.1.1 0
[R4-acl-adv-3000]rule 10 permit ip destination 10.1.1.1 0创建PBR10 节点10[R4]policy-based-route 10 permit node 10设置匹配条件(匹配ACL 3000)[R4-policy-based-route-10-10]if-match acl 3000设置匹配动作(指定出接口g0/0/0)[R4-policy-based-route-10-10]apply output-interface GigabitEthernet 0/0/0配置匹配规则ACL 3001,匹配R3的ip[R4]acl 3001
[R4-acl-adv-3001]rule 5 permit ip destination 3.3.3.3 0
[R4-acl-adv-3001]rule 10 permit ip destination 10.1.3.3 0创建PBR10 节点20[R4]policy-based-route 10 permit node 20设置匹配条件(匹配ACL 3001)[R4-policy-based-route-10-20]if-match acl 3001设置匹配动作(指定出接口g0/0/1)[R4-policy-based-route-10-20]apply output-interface GigabitEthernet 0/0/1调用到全局(本地)PBR
[R4]ip local policy-based-route 10

模拟器拓扑文件

https://download.csdn.net/download/x629242/87581389

这篇关于2022-07-02 网工进阶(十五)路由策略-Route-Policy特性、策略路由(Policy-Based Routing)、MQC(模块化QoS命令行)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/203987

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙