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

VSole2022-04-29 22:56:17

前言

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

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,允许绿色报文正常发送,允许黄色报文通过,丢弃红色报文。

 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 //将流策略p1应用在接口GE1/0/1的入方向,限制进入接口的流量的速率


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

[HUAWEI] display traffic policy statistics all
 Interface: 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 ]


流量整形令牌桶算法
本作品采用《CC 协议》,转载必须注明作者和本文链接
限速的有关参数交换机通过令牌判断流量是否超速。如果中存在足够的令牌可以用来转发报文,称流量遵守或符合约定值,否则称为不符合或超标。因此,CIR的值是控制流入网络中流量多少的关键。
通过流量审查技术,审查者可以获取通信过程的双方连接信息、双方身份信息以及流量属性,从而进行进一步的利用或者破坏。在社会安全领域,流量审查甚至能够防止恐怖分子的恐怖袭击、追查嫌疑犯的动向,为社会治安带来新的突破口。从社会安定、国家安全方面来看,应该适当发展流量审查技术,同时应该对这种技术实行严格的管控,避免其成为隐患,造成不可估量的损失。
重要事件回顾,智览网安行业发展。近日国内外网安行业发生了哪些重要事件,呈现出了怎样的发展态势呢?中国网安科技情报研究团队将从行业大角度出发,带领大家回顾近日国内外行业的重要事件,探究其中的发展态势。
2022年1月,国务院印发《“十四五”数字经济发展规划》(以下简称“规划”),明确了“十四五”时期推动数字经济健康发展的指导思想、基本原则、发展目标、重点任务和保障措施。规划指出,数字经济是继农业经济、工业经济之后的主要经济形态,是以数据资源为关键要素,以现代信息网络为主要载体,以信息通信技术融合应用、全要素数字化转型为重要推动力,促进公平与效率更加统一的新经济形态。
当前,人工智能技术迅猛发展,并被广泛应用于军事领域。由于人工智能新技术本身的不确定性及其治理机制的不完善,人工智能技术的武器化应用将可能弱化人类对战争的把控权,增加战争发生的可能性,冲击现有国际秩序的稳定性,挑战国际法规的基本原则,甚至引发复合型危机。对此,国际层面、区域层面、国家层面的各相关行为体已开始着手探寻相关治理机制。但目前国际社会在全面禁止人工智能武器方面尚未达成共识,各国政府应创造性地
数据作为新型生产要素,与云计算、大数据、人工智能等新兴技术深度融合,促进社会生产力以前所未有的速度发展。以数据为基础资源,我国将数字经济作为国家战略进行实施,并强调数据安全是数字经济健康发展的基本保障。当前的数据环境更加开放,共享利用更为频繁,数据呈现来源广、规模大、结构丰富、处理行为多样、拥有权与使用权分离等特点,针对数据面临着被恶意窃取、篡改、删除、非法使用等威胁和技术挑战,以密码技术为核心,
国家工业信息安全发展研究中心作为国家级信息安全研究和推进机构,联合华为技术有限公司共同研究编制了《数据安全白皮书》,全面分析了我国数据安全产业基础、防护关键技术、法律法规体系现状,从提升数据安全产业基础能力、加快研究和应用数据安全防护技术、强化法律法规在数据安全主权的支撑保障作用等三方面展望数据安全发展未来,提出了数据安全发展倡议,为行业发展提供借鉴和参考,积极推动我国数据治理工作有序开展。
8月4日下午,在2022新京报贝壳财经夏季峰会“下一代互联网离我们有多远” 数字技术主题论坛上,中国工程院院士、中国互联网协会咨询委员会主任邬贺铨发表了主旨演讲。他指出,中国互联网行业进入转型期,互联网企业告别了野蛮生长阶段,希望互联网企业正确理解治理,也相信国家在监管上将以一种长期的、稳定的方式来进行,让中国的互联网行业发展更加规范有序。web3.0更多只是web2.0的演进版本,还承担不了作为
传统IT网络安全架构基于内网安全的假设,安全边界一旦被突破,传统网络安全防护就可能失效,导致网络系统受到严重破坏。为解决上述问题,设计了一种基于标识密码的零信任安全方案。在防护网络中,所有用户和设备都被赋予唯一访问标识,基于国产密码体系搭建标识密钥基础设施,构建统一身份认证体系,对系统主体及客体实施身份认证和加密传输,同时利用策略管理系统对安全凭证进行持续信任评估,实现了零信任网关对访问主体的动态
系统安全第31篇文章介绍恶意代码攻击溯源基础知识
VSole
网络安全专家