交换机中流量监管、流量整形和接口限速是如何实现的

本文介绍交换机的流量监管、流量整形和接口限速的原理,并且介绍相关参数和配置方法。
 

01

     相关名词解释

表1-1 简称及对应的全称

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

尽管流量监管和流量整形都能实现流量限速,但二者存在一定的差别:

流量监管:如果流量超速,则直接丢弃超出部分的流量。一般用于入方向,就像高速路,只有在入口限制进入高速公路车辆的数量。

流量整形:如果流量超速,则暂时存入缓存队列,等到令牌数足够时,再均匀地发送这些被缓冲的报文。如果报文放入缓存队列时,缓存队列已满,则丢弃报文。这样使流量输出比较平稳,从而解决下游设备的拥塞问题,所以流量整形一般用于出方向。

接口限速即限制一个接口上发送或者接收全部报文的总速率。当不需要区分报文类型而要限制通过接口全部流量速率时,可以选择配置简单的接口限速。入方向的接口限速是流量监管的一种特殊情况,即不需要分类报文的流量监管是接口限速;出方向的接口限速是流量整形的一种特殊情况,即针对所有队列的流量整形是接口限速。
 

02

   限速的有关参数

交换机通过令牌桶判断流量是否超速。令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。每个需要被转发的报文,都要从令牌桶中领取一定数量的令牌(具体数量视报文大小而定),才可以被正常转发。如果桶中存在足够的令牌可以用来转发报文,称流量遵守或符合约定值,否则称为不符合或超标。

令牌桶有三种测速方法,对应单速单桶、单速双桶、双速双桶三种机制:

单速单桶:以CIR速率向C桶投放令牌。

报文来了之后,从C桶取令牌,如果令牌够了,则进行转发,如果令牌不够,则直接丢弃。一般用于优先级较低的业务(如企业外网HTTP流量)限速,对于超过额度的流量直接丢弃保证其他业务,不考虑突发流量。

单速双桶:以CIR速率向两个桶投放令牌。

先投放小桶C桶,小桶满了再投放大桶E桶。报文来了之后,先使用小桶中的令牌,小桶中令牌数量不够,则放回去,再使用大桶中的令牌。对于超过C桶,而又没有超过E桶的报文标记为黄色,采用BE方式或者等网络空闲后进行转发。和单桶相比,单速双桶允许突发流量,主要用于较为重要而又不太紧急的业务,比如企业邮件数据,可避免邮件发送失败。

双速双桶:以CIR速率向C桶投放令牌,以PIR速率向P桶投放令牌。

报文进来之后,会同时取两个桶的令牌,C桶令牌够用则标记为绿色直接转发,如果连P桶的令牌都不够用,则标记为红色直接丢弃,介于C桶和P桶之间,则标记为黄色。和单速双桶的区别就是向两个桶投放令牌的速率不同,我们一般设置PIR>CIR,P桶投放令牌的速率更快,所以更能长时间撑住突发流量。

使用令牌桶的总体原则:

如果不考虑突发流量,使用单速单桶;如果要考虑突发流量,使用单速双桶;如果考虑可能会有长时间的流量突发,使用双速双桶。在令牌桶算法中,CIR的值越大,即令牌产生的速率越大,报文可以获取的令牌就越多,流向网络的流量也就越大。因此,CIR的值是控制流入网络中流量多少的关键。CBS也是一个重要参数,CBS的值越大,C桶中可以积累令牌的数目也越多,允许通过的报文尺寸就越大。
 

由于设备进行的是逐包转发,CBS的值不应该小于当前网络上允许传输的报文的最大长度。

例如,在单速单桶模式下,假设要把流量限定在10Mbit/s,而CBS值太小(如设置成1000byte)。如果某个时间段内流量的报文,每个报文大小都大于1000byte,那么这些报文全都被丢弃。这段时间内,没有报文被转发,报文的转发速率为0,导致网络资源被浪费,业务也出现异常。

那是不是CBS的值越大就越好呢?显然不是。

CBS值太大,会失去限速的意义。例如,假设要把流量限定在10Mbit/s,CBS设置成7200Mbyte。某个时刻,令牌桶中的令牌已满,如果接下来1小时内流量的报文,其报文长度不一,但共计7200Mbyte,这些报文都能获得令牌并被转发,那么这段时间内的报文速率为16Mbit/s(7200M * 8 / 3600)而不是10Mbit/s,即没有实现限速。

同理,对于双速双桶模式,PIR和PBS的值也应设置在合理范围内。

03

配置基于MQC的流量监管

配置基于MQC的流量监管包括以下四个主要步骤:

  1. 配置流分类。通过定义流分类中的匹配规则,使需要限速的流量归入此类。

  2. 配置流行为。创建并进入流行为视图后,配置CAR动作。

  3. 配置流策略。创建并进入流策略视图后,将流分类与流行为绑定。

  4. 应用流策略。将流策略应用到相应的接口、VLAN或全局视图。

以下示例中,限制所有进入接口GE1/0/1流量的速率。在流行为b1中配置流量监管动作:承诺信息速率(保证能够通过的平均速率)为200000kbit/s,峰值信息速率(最大能够通过的速率)为2500000kbit/s,允许绿色报文正常发送,允许黄色报文通过,丢弃红色报文。

<HUAWEI> system-view 
[HUAWEI] traffic classifier c1 operator and   //创建流分类c1,并进入流分类视图
[HUAWEI-classifier-c1] if-match any           //流分类c1匹配所有报文,目的是对所有报文进行流量监管
[HUAWEI-classifier-c1] quit
[HUAWEI] traffic behavior b1                 //创建流行为b1,并进入流行为视图
[HUAWEI-behavior-b1] car cir 200000 pir 2500000 green pass yellow pass red discard  //创建流量监管动作
[HUAWEI-behavior-b1] statistic enable     //使能流量统计功能,便于后续查看流量统计信息
[HUAWEI-behavior-b1] quit 
[HUAWEI] traffic policy p1                   //创建流策略p1,并进入流策略视图
[HUAWEI-trafficpolicy-p1] classifier c1 behavior b1  //将流分类c1和流行为b1绑定
[HUAWEI-trafficpolicy-p1] quit 
[HUAWEI] interface gigabitethernet 1/0/1       
[HUAWEI-GigabitEthernet1/0/1] traffic-policy p1 inbound //将流策略p

配置基于MQC的流量监管后,执行display traffic policy statistics命令,可以查看流量统计信息。

[HUAWEI] display traffic policy statistics allInterface: GigabitEthernet1/0/1                                                                                                    Traffic policy inbound: p1                                                                                                         Rule number: 1                                                                                                                     Current status: success                                                                                                            Statistics interval: 300                                                                                                           
---------------------------------------------------------------------                                                               Board : 0                                                                                                                          
---------------------------------------------------------------------                                                               Matched          |      Packets:                             0                                                                     |      Bytes:                               -                                                                     |      Rate(pps):                           0                                                                     |      Rate(bps):                           -                                                                     
---------------------------------------------------------------------                                                               Passed         |      Packets:                             0                                                                     |      Bytes:                               -                                                                     |      Rate(pps):                           0                                                                     |      Rate(bps):                           -                                                                     
---------------------------------------------------------------------                                                               Dropped        |      Packets:                             0                                                                     |      Bytes:                               -                                                                     |      Rate(pps):                           0                                                                     |      Rate(bps):                           -                                                                     
---------------------------------------------------------------------                                                               Filter       |      Packets:                             0                                                                     |      Bytes:                               -                                                                     
---------------------------------------------------------------------                                                               Car          |      Packets:                             0                                                                     |      Bytes:                               -                                                                     
---------------------------------------------------------------------

04

   配置队列流量整形

配置队列流量整形前,需要配置优先级映射,将报文的优先级映射为PHB行为(Per-Hop Behavior,即服务等级的取值),从而使不同业务进入不同的端口队列。

以下示例中,Switch通过接口GE2/0/1与路由器互连,来自网络侧的业务有语音、视频、数据,携带的802.1p优先级分别为6、5、2。由于来自用户局域网的流量速率大于Router接口的速率,出接口GE2/0/1处可能会发生带宽抖动。为减少带宽抖动,同时保证各类业务带宽要求,现要求:

  • 语音带宽限制为3000kbit/s,最大不超过5000kbit/s。

  • 视频带宽限制为5000kbit/s,最大不超过8000kbit/s。

  • 数据带宽限制为2000kbit/s,最大不超过3000kbit/s。

图1-1 流量整形配置组网图

【1】配置优先级映射。

# 创建DiffServ域ds1,将802.1p优先级6、5、2分别映射为PHB行为CS7、EF、AF2。

[HUAWEI] diffserv domain ds1                     //创建DiffServ域ds1
[HUAWEI-dsdomain-ds1] 8021p-inbound 6 phb cs7    //将802.1p优先级6映射为PHB行为CS7
[HUAWEI-dsdomain-ds1] 8021p-inbound 5 phb ef     //将802.1p优先级5映射为PHB行为EF
[HUAWEI-dsdomain-ds1] 8021p-inbound 2 phb af2    //将802.1p优先级2映射为PHB行为AF2
[HUAWEI-dsdomain-ds1] quit 
[HUAWEI] interface gigabitethernet 1/0/1  
[HUAWEI-GigabitEthernet1/0/1] trust upstream ds1 //根据流量方向,将DiffServ域应用到报文的入接口 
[HUAWEI-GigabitEthernet1/0/1] quit

【2】配置端口队列整形。

# 在Switch上配置端口队列整形,使语音、视频、数据业务的带宽分别限制为3000kbit/s、5000kbit/s、2000kbit/s,最大分别不超过5000kbit/s、8000kbit/s、3000kbit/s。

[HUAWEI] interface gigabitethernet 2/0/1       //根据流量方向,在报文的出接口配置流量整形
[HUAWEI-GigabitEthernet2/0/1] qos queue 7 shaping cir 3000 pir 5000  //PHB行为CS7对应的队列索引为7
[HUAWEI-GigabitEthernet2/0/1] qos queue 5 shaping cir 5000 pir 8000  //PHB行为EF对应的队列索引为5
[HUAWEI-GigabitEthernet2/0/1] qos queue 2 shaping cir 2000 pir 3000  //PHB行为AF2对应的队列索引为2
[HUAWEI-GigabitEthernet2/0/1] quit 

配置队列流量整形后,执行display qos queue statistics命令,可以查看流量统计信息。以接口GE2/0/1的2号队列为例:

[HUAWEI] display qos queue statistics interface gigabitethernet 2/0/1 queue 2
------------------------------------------------------------     Queue ID          : 2                                   CIR(kbps)         : 2,000                                PIR(kbps)         : 3,000                                           Used Length(byte) : 0                                        Passed Packets    : 0                                       Passed Rate(pps)  : 0                                     Passed Bytes      : 0                                      Passed Rate(bps)  : 0                                     Dropped Packets   : 0                                      Dropped Rate(pps) : 0                                      Dropped Bytes     : 0         Dropped Rate(bps) : 0  
------------------------------------------------------------

05

   配置接口限速

入方向接口限速的配置方法如下:

  1. 配置CAR参数:qos car car-name cir cir-value [ cbs cbs-value [ pbs pbs-value ] | pir pir-value [ cbs cbs-value pbs pbs-value ] ]

  2. 进入接口视图:interfaceinterface-type interface-number

  3. 在接口下应用CAR模板:qos car inbound car-name

  4. (可选)查看接口入方向的报文统计信息:

    • display qos car statistics interfaceinterface-type interface-numberinbound(显示指定接口入方向上通过和丢弃的报文统计信息)

    • display qos car statistics all [ nonzero ](显示所有应用QoS CAR后的接口入方向上的报文统计信息)

出方向接口限速的配置方法如下:

  1. 进入接口视图:执行命令interfaceinterface-type interface-number

  2. 配置出方向的接口限速qos lr circir-value [ cbs cbs-value ] [outbound ]

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

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

相关文章

百度地图sdk导航

百度地图sdk导航 文章目录 百度地图sdk导航前言一、准备二、下载demo三、配置将上面libs的复制到下面的目录&#xff08;我有x86和x86_64因为之前同事写了地图插件&#x1f413;&#xff09;导入这两个aar导入过程 1.配置build.gradle&#xff08;两个不同的&#xff09;2.打开…

c语言程序设计高速公路超速处罚,高速超速违章处理流程

1 如图所示&#xff0c;驾驶机动车看到这种手势信号时&#xff0c;应当停车等待。查看本题分析 2 如图所示&#xff0c;驾驶机动车在路口遇到这种交通信号时&#xff0c;右转弯的车辆在不妨碍被放行的车辆、行人的情况下&#xff0c;可以通行。查看本题分析 3 机动车驾驶证损毁…

什么是跨站脚本 (XSS) 攻击?

目录 定义跨站点脚本的工作原理 进行攻击以感染网站受感染的网站攻击用户统计和分析跨站点脚本攻击的类型反射式&#xff08;非持久性&#xff09;XSS反射式&#xff08;非持久性&#xff09;XSS 示例 存储&#xff08;持久&#xff09;XSS存储&#xff08;持久&#xff09;XSS…

周遭心理学的应用-什么是心理学?

前言 这篇文章的标题如果去掉好处二字就显得并不吸引人&#xff0c;难道好处二字对我们的判断影响那么大吗&#xff1f;这又是为什么&#xff1f;&#xff08;在引起共鸣的因素章节中&#xff0c;将会得到你要的答案&#xff09; 每一篇文章&#xff0c;每一本书只要涉及到生活…

超速判断java_超速如何判定

例如高速限速80码&#xff0c;行车时速92码&#xff0c;(92-80)除以80乘以100%等于15%&#xff0c;那就超速15% 。 第八十六条 机动车在道路上行驶&#xff0c;违反限速规定的&#xff0c;按下列规定处罚&#xff1a; 1、时速超过限定时速不到10%的&#xff0c;给予警告。 2、在…

怎样用c语言写高速超速罚款标准,超速罚款 超速扣分标准2020新交规怎么规定的...

高速驾驶确实可以带来速度的乐趣&#xff0c;但是这种行为违背了交通规则&#xff0c;而是超速行为。 那超速呢? 超速驾驶的惩罚是什么? 让我们来看看新的2020年超速处罚标准! 一、超速扣分标准新交规 机动车在道路上行驶&#xff0c;违反限速规定的&#xff0c;按下列最新超…

000210什么意思 error_检测卡上是0002什么意思啊

展开全部 【电脑主板故障诊断卡 代码】 代码 Award BIOS Ami BIOS Phoenix BIOS或Tandy 3000 BIOS 00 . 已显62616964757a686964616fe58685e5aeb931333264623139示系统的配置&#xff1b;即将控制INI19引导装入。 . 01 处理器测试1&#xff0c;处理器状态核实,如果测试失败&…

煤矿企业矿用重大设备感知数据接入方案

重大设备感知数据接入 建 设 方 案 1、项目建设背景 为贯彻落实全国关于安全生产工作的总体部署&#xff0c;依据《国家矿山安全监察局关于印发煤矿冲击地压、水害防治及重大设备感知数据接入细则&#xff08;试行&#xff09;的通知》&#xff08;矿安〔2021〕2号&#xff09…

Python案例3—计算基础代谢率V_4.0(已完结)

大家好&#xff0c;我是白菜胡萝丸子 人生苦短&#xff0c;Python当歌 项目导入 版本4.0&#xff1a;如果用户把信息输入错误了怎么办——处理异常操作 项目分析—理清思路 分析问题&#xff1a;分析问题的计算部分明确问题&#xff1a;划分问题的输入、处理和输出部分&…

代谢组检测

代谢组学是继基因组学和蛋白质组学之后新近发展起来的一门学科&#xff0c;是系统生物学的重要组成部分。基因组学和蛋白质组学分别从基因层面和蛋白质层面探寻生命的活动&#xff0c;而实际上细胞内许多生命活动是与代谢物相关的&#xff0c;如细胞信号、能量传递等都是受代谢…

[基因遗传算法]进阶之三:sko.GA的实践TSP

参考资料:《VRP问题分类》 相关文章: 《[基因遗传算法]原理思想和python代码的结合理解之(一) :单变量》 《[基因遗传算法]进阶之二:最优规划问题–多种编码方式多变量》 文章目录 一. GA的用法1.1 help(sko.GA)1.2 目标函数的书写A. 单变量的书写B. 多变量的书写C. 变量的范围…

chatgpt赋能python:Python计算BMI——如何快速方便地计算身体质量指数

Python计算BMI —— 如何快速方便地计算身体质量指数 身体质量指数&#xff08;BMI&#xff09;是一种常用的计算方法&#xff0c;用于衡量人体体重和身高的比例。这个算法在健康行业中非常受欢迎&#xff0c;因为它简单而且可以快速得出结果。在Python中&#xff0c;我们可以…

干货第一弹!多组学联合分析之代谢组FAQ

代谢组是对生物体内代谢产物全谱分析的一种研究手段&#xff0c;代谢产物包括核酸、蛋白质、脂类生物大分子以及其他小分子物质&#xff0c;目前主要是检测1000Da以下的物质。代谢组研究具有高通量的检测能力、高灵敏度和准确度、非侵入性、非破坏性、全面性、数据资源整合等特…

组学数据上传(五):代谢组学数据

继扩增子、转录组、蛋白组、基因组数据上传教程发布后&#xff0c;组学数据上传教程最后一弹--代谢组数据上传教程来罗&#xff0c;有需要的一定要点赞加收藏&#xff01;后续上传数据遇到问题可以私聊小编&#xff01;接下来我们来了解下代谢组学常用数据库MetaboLights以及如…

Python案例3—计算基础代谢率V_2.0

大家好&#xff0c;我是白菜胡萝丸子 人生苦短&#xff0c;Python当歌 项目导入 版本2.0:在版本1.0的基础上改造程序&#xff0c;根据用户的输入计算BMR&#xff0c;将BMR计算封装到函数并实现持续运行&#xff0c;让用户选择退出 项目分析—理清思路 分析问题&#xff1a;分…

Python案例3—计算基础代谢率V_3.0

大家好&#xff0c;我是白菜胡萝丸子 人生苦短&#xff0c;Python当歌 项目导入 版本3.0&#xff1a;在版本2.0的基础上改造程序&#xff0c;BMR值的输出要带单位&#xff0c;用户能否将数值在一行输入 项目分析—理清思路 分析问题&#xff1a;分析问题的计算部分明确问题&…

Python案例3—计算基础代谢率V_1.0

大家好&#xff0c;我是白菜胡萝丸子 人生苦短&#xff0c;Python当歌 项目导入 基础代谢率( Basal Metabolic Rate , BMR )是指人体在清醒而又极端安静的状态下,不受肌肉活动、环境温度、食物及精神紧张等影响时的能量代谢率。即基本的生理活动(即血液循环、呼吸及恒定的体温…

计算消耗卡路里C语言程序,人体基础代谢率计算公式,热量表,运动消耗热量值...

原标题&#xff1a;人体基础代谢率计算公式&#xff0c;热量表&#xff0c;运动消耗热量值 基础代谢率大概的计算公式&#xff1a; 女性&#xff1a;655 (9.6 x 体重) (1.7 x 身高) - (4.7X年龄) (体重kg 身高cm) 男性&#xff1a;66 (13.7 x 体重) (5.0 x 身高) - (6.8x年…

C语言底层逻辑剖析函数篇(其三),函数递归与迭代超详解,斐波那契数列递归经典例题,汉诺塔问题,青蛙跳台阶

这里写目录标题 C语言底层逻辑剖析函数篇&#xff08;其三&#xff09;&#xff0c;函数递归与迭代超详解&#xff0c;递归经典例题斐波那契数列&#xff0c;汉诺塔问题&#xff0c;青蛙跳台阶开篇语函数递归递归的两个必要条件递归案例1递归案例2递归和迭代递归经典例题——斐…

深入理解函数递归(汉诺塔问题详解)

汉诺塔问题 汉诺塔问题描述算法步骤三阶汉诺塔为例 函数递归什么是递归递归的两个必要条件 解决方法代码演示 汉诺塔问题描述 有一种被称为汉诺塔(Hanoi)的游戏&#xff0c;该游戏是在一块铜板装置上&#xff0c;有三根杆(编号A、B、C)&#xff0c;在A杆自下而上、由大到小按顺…