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

admin 2022年5月1日14:17:17安全闲碎评论13 views6029字阅读20分5秒阅读模式

前言

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


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
//将流策略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 ]



 热文推荐  


欢迎关注LemonSec

觉得不错点个“赞”、“在看”哦

原文始发于微信公众号(LemonSec):交换机中流量监管、流量整形和接口限速是如何实现的?

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月1日14:17:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  交换机中流量监管、流量整形和接口限速是如何实现的? http://cn-sec.com/archives/967220.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: