六、流量监管、流量整形

流量监管、流量整形

  • 流量监管、流量整形
    • 1.1.定义
    • 1.2.简单流分类应用场景举例
    • 1.3.简单流分类的配置
    • 1.4.复杂流分类
    • 1.5.复杂流分类在产品中的实现

—————————————————

流量监管、流量整形

当报文的发送速率大于接收速率,或者下游设备的接口速率小于上游设备的接口速率,可能会引起拥塞。如果不限制用户发送的业务流量大小呢,大量用户不断突发业务数据会使网络更加拥挤。为了使有限的网络资源更有效的为用户服务,需要对用户的业务流量加以限制。

流量监管、流量整形和接口限速就是一种通过对流量规格进行监督,以限制流量及其资源使用的流控策略。

———————————————————

1.1.定义

流量监管

流量监管(Traffic Policing)可以监督不同流量进入网络的速率,对超出部分的流量进行惩罚,使进入的流量被限制在一个合理的范围之内,从而保护网络资源和用户的利益。

**

华为路由器产品支持配置8个DS域。

上行简单流分类,根据IP DSCP、MPLS EXP或802.1P将报文分为8种业务类型(CS7、CS6、EF、AF4—AF1、BE)、三种颜色(green、yellow、red。绿黄红),从而区分不同的业务,如语音、视频、数据等。在拥塞管理、队列调度时,不同业务进入不同的队列,得到差异化的调度。例如语音可以进入高优先级的PQ队列,保证低延时。上行若不做简单流分类,报文业务类型都是BE。

下行简单流分类,根据内部业务类型(CS7、CS6、EF、AF4—AF1、BE)、三种颜色(green、yellow、red。绿黄红),重新设置报文的IP DSCP、MPLS EXP或802.1P,实现了重标记功能,重新标记IP DSCP、MPLS EXP或802.1P。下行未配置简单流分类时,IP DSCP、MPLS EXP或802.1P不做改变。

在这里插入图片描述

举例:
在设备的G0/0/1口和G0/0/2口,实现DSCP与EXP的映射。

配置differv域,名称为d1。
diffserv domain d1
在这里插入图片描述

配置报文入方向的映射关系。指定DSCP值34,放到业务类型AF1中,标识为绿色。
ip-dscp-inbound 34 phb af1 green
在这里插入图片描述

配置报文出方向的映射关系。出去的时候将AF1,标识为绿色,映射到EXP 3值。
mpls-exp-outbound af1 green map 3
在这里插入图片描述
在接口下应用简单流分类。
trust upstream d1
在这里插入图片描述

这样当DSCP为34的IP报文进入到接口G0/0/0后,根据简单流分类转换为路由器内部优先级AF1(业务类型),green颜色参与队列调度,流量管理等处理。当报文出G0/0/2时,简单流分类将根据其内部的优先级AF1和颜色green标记报文的EXP值为3。

应用场景

IP、MPLS、VLAN报文跨域转换时,可以使用简单流分类实现DSCP/IP-PRE/EXP/802.1P之间的映射,并保证报文的服务等级不受变化。

—————————————————————

1.2.简单流分类应用场景举例

简单流分类是指根据IP报文的IP优先级或DSCP值、MPLS报文的EXP域值、VLAN报文的802.1P值,将报文划分为多个优先级或多个服务等级。配置基于简单流分类的流量策略可以将一种网络流量中的优先级映射到另外一种网络流量中,使流量在另外一种网络按照原来的优先级传送。

简单流分类通常配置在网络的核心位置。

如图:IP域,进入MPLS域的时候,要把DSCP值映射成MPLS EXP的值。出去的时候在从EXP值映射到DSCP值。默认情况下,设备都集成了DSCP----EXP----DSCP值的对应表。不用进行任何操作。比如设备集成的DSCP值1对应的EXP值为1,你不想让值1对应EXP1,你就手动自定义。基本不会自定义。
在这里插入图片描述

—————————————————————

1.3.简单流分类的配置

在这里插入图片描述

RTA:

[RTA]diffserv domain A
[RTA-dsdomain-a] ip-dscp-inbound 18 phb af4 green
[RTA-dsdomain-a] mpls-exp-outbound af4 green map 5 //定义了DSCP18,映射成EXP5,完全可以不用配置映射,18自动会匹配映射表,自己会映射。
[RTA] interface pos 1/0/0
[RTA-Pos1/0/0]trust upstream A
[RTA] interface pos 2/0/0
[RTA-Pos2/0/0]trust upstream A

RTD:

[RTD]diffserv domain B
[RTD-dsdomain-a] mpls-exp-outbound 5 phb af4 green
[RTD-dsdomain-a] ip-dscp-inbound af4 green map 18
[RTD] interface pos 1/0/0
[RTD-Pos1/0/0]trust upstream B
[RTD] interface pos 2/0/0
[RTD-Pos2/0/0]trust upstream B

—————————————————————

在看下这个PHB和DSCP对应关系

在来看看这个PHB行为。

RFC定义四种标准PHB:CS、EF、AF、BE,BE是缺省PHB。
CS又分了两个等级,CS6和CS7。AF划分为四个等级,AF1-AF4。EF固定的,BE缺省的。共8个细分级别。每个PHB又划分三个颜色,绿黄红,不同颜色决定不同流的拥塞避免策略。
—————————————————————

看看设备里的对应关系
在这里插入图片描述

CS7和CS6,默认用于协议报文,如各个路由协议,STP协议、LLDP报文、LACP报文等。这些协议无法接收会引起协议中断。对应DSCP值为CS7:56。CS6:48。在所有的标准中CS优先级最高。

EF固定值:用于承载语音流量,如企业内部视频会议流量,要求低延时低抖动低丢包率。仅次于协议报文。必须限制EF的专用带宽,以免其他服务得不到可用带宽。对应DSCP值为46。

AF推出其实是为了满足用户与ISP订购带宽服务时,允许业务量超出所订购的规格,对不超出的确保转发质量,对超出的降低服务待遇继续转发,而不是就直接丢弃。AF要求较低延迟、低丢包率、高可靠性。应用于数据可靠性要求高的业务,如电子商务,企业VPN等等。
AF又细分了AF1-AF4。

AF4:用来承载语音的信令流量,即语音业务的协议报文。AF4又细分了:AF41、42、43分别对应DSCP值:34,36,38。

AF3:用作远端设备的telnet、FTP等服务,要求带宽适当就行,但是对时延、抖动非常敏感,要求可靠传输,不能出现丢包。AF3又细分了:AF31、AF32、AF33对应DSCP值:26,28,30

AF2:用来承载企业内部IPTV的直播流量,可以保证在线视频业务流畅性。直播业务实时性强,需要连续性和大吞吐量保证,允许小规模丢包。AF2细分了:AF21、AF22、AF23,对应DSCP18,20,22。

AF1:用作企业内部普通数据流业务,如MAIL。对实时性和抖动等因素要求都不高,只要保证不丢包的传达即可。AF1又细分了:AF11、AF12、AF13,对应DSCP10,12,14。

BE:就是上面的Default,默认。尽力而为,值为0。应用传统的IP报文投递服务,只关注可达,其他不做任何要求。任何交换机都必须支持BE PHB。尽力而为服务,不紧急、不重要、不需要负责的业务,比如员工浏览HTTP网页业务。

—————————————————————

1.4.复杂流分类

复杂流分类是根据五元组(源地址、源端口号、协议号码、目的地址、目的端口号)等报文信息对报文进行分类(一般的分类依据都局限在封装报文的头部信息,使用报文内容作为分类的标准比较少见),缺省应用于网络的边缘位置。报文进入边缘节点时,网络管理员可以灵活配置分类规则。分类的结果是没有范围限制的,它可以是一个五元组(源端口、源端口号、协议号码、目的地址、目的端口号)确定的狭小范围,也可以是匹配某网段的所有报文。

复杂流分类通过提取报文信息,如报文优先级、源IP、目的IP、源MAC、目的MAC、802.1P、报文封装类型等等,组成关键字去匹配规则表,然后通过匹配规则得到一个索引,再根据索引查动作表,将报文映射为内部优先级,除了映射内部优先级外,复杂流分类还可以支持流量监管(CAR)、PBR(Policy-based Routing)、重标记,报文过滤、采样、镜像等其他动作。

—————————————————————

1.5.复杂流分类在产品中的实现

在实现复杂流分类时分为两个部分:规则部分和动作部分。

当处理报文时,根据报文中用来分类的字段信息组成关键字,查找规则表,如果报文能匹配上规则部分,则根据查找结果确定该规则对应的动作表,确定该报文应该执行何种动作。如果报文没有匹配任何规则,则报文不做分类按普通报文正常转发。

ACL:访问控制列表,用于复杂流分类的规则部分。

———————————————————————

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Python合并pdf文件

import PyPDF2 # 创建一个空的 PDF 文档对象 def pdf_merge(path_a,path_b,path_save):merged_pdf PyPDF2.PdfMerger()# 打开第一个 PDF 文件,读取其内容并追加到新创建的 PDF 文档对象中with open(path_a, rb) as file1:merged_pdf.append(file1)# 打开第二个 PDF…

GitHub 2023报告-开源和AI的现状

GitHub 2023报告-开源和AI的现状 深入探讨人工智能如何与开源互动,以及未来几年可能出现的趋势。 背景介绍 2023年,开源已成为全球软件开发的标准。无论是大公司还是小团队,都广泛使用开源技术进行项目开发。此外,随着机器学习和…

Docker部署FLASK Unicorn并配置Nginx

1. 安装相关依赖 flask3.0.0 pymysql1.1.0 #我自己需要的 flask_cors4.0.0 gunicorn21.2.0 gevent23.9.12. 配置Gunicorn 新建gunicorn.conf.py bind 0.0.0.0:5418 # 绑定的IP地址和端口 workers 8 # 同时执行的进程数,推荐为当前CPU个数*21 worker_class&qu…

【Java】java | CacheManager | redisCacheManager

一、说明 1、查询增加缓存,使用Cacheable注解 2、项目中已经用到了ehcache,现在需求是两个都用 二、备份配置 1、redisConfig增加代码 Bean("redisCacheManage")Primarypublic CacheManager redisCacheManager(RedisConnectionFactory fact…

项目集成的关键过程总结

项目集成是确保项目各部分协调一致,共同实现项目目标的过程。以下是项目集成的关键过程: 制定集成计划 制定集成计划是项目集成的第一步。该计划应明确集成的目标、范围、时间表、资源分配和风险管理策略。在制定集成计划时,需要考虑项目干…

CKD TransBTS:用于脑肿瘤分割的具有模态相关交叉注意的临床知识驱动混合转换器

CKD-TransBTS: Clinical Knowledge-Driven Hybrid Transformer With Modality-Correlated Cross-Attention for Brain Tumor Segmentation CKD TransBTS:用于脑肿瘤分割的具有模态相关交叉注意的临床知识驱动混合转换器背景贡献实验方法how radiologists diagnose b…

【19年扬大真题】已知a数组int a[ ]={1,2,3,4,5,6,7,8,9,10},编写程序,求a数组中偶数的个数和偶数的平均值

【18年扬大真题】 已知a数组int a[ ]{1,2,3,4,5,6,7,8,9,10}&#xff0c;编写程序&#xff0c;求a数组中偶数的个数和偶数的平均值 int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int os 0;//偶数个数int sum 0;//偶数和float ave 0;//偶数平均值for (int i 0;i <…

关于2023年11月25日PMI认证考试准考信下载及考场规定等事项通知

各位考生&#xff1a;为保证参加2023年11月25日PMI项目管理资格认证考试的每位考生都能顺利进入考场参加考试&#xff0c;请完整阅读本通知内容。 一、关于准考信下载为确保您顺利进入考场参加11月份考试&#xff0c;请及时登录本网站个人系统下载并打印准考信&#xff0c;准考…

Google codelab WebGPU入门教程源码<6> - 使用计算着色器实现计算元胞自动机之生命游戏模拟过程(源码)

对应的教程文章: https://codelabs.developers.google.com/your-first-webgpu-app?hlzh-cn#7 对应的源码执行效果: 对应的教程源码: 此处源码和教程本身提供的部分代码可能存在一点差异。点击画面&#xff0c;切换效果。 class Color4 {r: number;g: number;b: number;a…

论文阅读:“基于特征检测与深度特征描述的点云粗对齐算法”

文章目录 摘要简介相关工作粗对齐传统的粗对齐算法基于深度学习的粗对齐算法 特征检测及描述符构建 本文算法ISS 特征检测RANSAC 算法3DMatch 算法 实验结果参考文献 摘要 点云对齐是点云数据处理的重要步骤之一&#xff0c;粗对齐则是其中的难点。近年来&#xff0c;基于深度…

【机器学习Python实战】线性回归

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习python实战 欢迎订阅&#xff01;后面的内容会越来越有意思~ ⭐内容说明&#xff1a;本专栏主要针对机器学习专栏的基础内容进行python的实现&#xff0c;部分…

C++ Qt 学习(十):Qt 其他技巧

1. 带参数启动外部进程 QProcess 用于启动外部进程int QProcess::execute(const QString &program, const QStringList &arguments);QObject *parent; ... QString program "./path/to/Qt/examples/widgets/analogclock"; QStringList arguments; argument…

当前系统并无桌面环境,或无显示器,无法显示远程桌面,您需要自行安装X11桌面环境,或者使用终端文件功能

ToDesk远程遇到的问题如上图&#xff0c;换向日葵直接黑屏&#xff1b; 问题原因 截止发文时间&#xff0c;Todesk只支持X11协议&#xff0c;没有适配最新的Wayland协议&#xff0c;所以我们需要把窗口系统调整为X11才可以。 解决方法 修改配置文件&#xff0c;关闭wayland su…

Vellum|SOP —— Vellum Constraints

目录 约束类型 Distance Along Edges&#xff08;distance&#xff09; Bend Across Triangles&#xff08;bend&#xff09; Cloth&#xff08;distance、bend&#xff09; Hair&#xff08;stretchshear、bendtwist&#xff09; String&#xff08;distance、angle&…

生成指定位数强Lucas校验伪素数-Arnault1995构造法

Arnault在1995年的论文《Constructing Carmichael Numbers which are Strong Pseudoprimes to Several Bases》提出了一种用于构造强Lucas校验伪素数的方法&#xff0c;本文将对其方法做具体的实现分析。 文章目录 1.Lucas素数测试1.1 Lucas序列1.2 Lucas定理1.3 Lucas素数测试…

Spring Cloud Netflix微服务组件-Hystrix

目录 Hystrix的主要功能 传统容错手段 超时机制 应用容错三板斧 超时机制 舱壁隔离 熔断降级 侵入式Command用法 改进版一&#xff1a;ribbon与hystrix组合 改进版二&#xff1a;feign与hystrix组合 Hystrix三态转换图 源码分析 流程图 原理流程图 核心实现流程…

MySQL 的执行原理(一)

5.1 单表访问之索引合并 我们前边说过 MySQL 在一般情况下执行一个查询时最多只会用到单个二级 索引&#xff0c;但存在有特殊情况&#xff0c;在这些特殊情况下也可能在一个查询中使用到多个二 级索引&#xff0c;MySQL 中这种使用到多个索引来完成一次查询的执行方法称之为&…

基于Android个人理财家庭收支系统uniAPP+vue -hbuiderx-微信小程序vj9n8

摘 要 个人理财APP设计的目的是为用户提供对活动信息和提醒信息管理等方面的平台。 与PC端应用程序相比&#xff0c;个人理财的设计旨在为用户提供一个个人理财信息的管理。用户可以通过APP及时收入信息和支出信息&#xff0c;并对提醒消息进行查看等。 个人理财APP是在Androi…

代码随想录算法训练营第23期day53|1143.最长公共子序列、1035.不相交的线、53. 最大子序和

目录 一、1143.最长公共子序列 二、1035.不相交的线 三、53. 最大子序和 一、1143.最长公共子序列 力扣题目链接 class Solution { public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>> dp(text1.size() 1, vector<int…

Vue 优雅的减少请求次数

文章目录 前言Java代码Vue代码改造前改造后前言 当开发一个应用程序或者网站时,我们经常需要从后端获取一些数据来展示给用户。在某些情况下,我们可能需要获取多个属性的值,而不是单独获取每个属性的值。这时,我们可以使用一次请求获取多个属性的值,以减少网络请求的次数…