概念:
限速是对流经设备接口的报文速度做限制,使流量超出指定阀值的那部分直接被丢弃,而低于阀值的部分则进入或离开设备。限速正如名字所示,对流量起到速率限制的目的,限速机制更多地应用到网络边界,如在接入层交换机端口上或企业网络的边缘网关上。
实现方式:
接口限速也是采用令牌桶进行流量控制,采用的是单速单桶模型。限速功能在华为交换机上可以作用于入接口和出接口方向,路由器则一般仅支持出接口方向。
华为路由器通过qos lr命令用来配置物理接口发送报文的速率占接口带宽的百分比,qos lr命令之后跟随的cbs关键词用来定义令牌桶模型中的C桶大小,也用来定义流量的突发大小。pct是以百分比形式定义的限速阀值:
interface interface-type interface-number
qos lr pct pct-va1ue [ cbs cbs-value ]
华为交换机同理可以配置,但是由于可以作用于两个方向,所以需要配置具体的inbound和outbound参数:
interface interface-type interface-number
qos lr inbound cir cir-value [ cbs cbs-value ] #配置入方向的接口限速
qos lr outbound cir cir-value [ cbs cbs-value ] #配置出方向的接口限速
#缺省情况下,接口限速速率为接口的最大带宽。出方向当令牌不够时,缓存报文。入方向令牌不够,则丢包。
使用注意:
如果不限制用户发送的流量,大量用户不断突发的数据会使网络更拥挤。通过配置入方向的接口限速,可以将通过某个接口进入网络的流量限制在一个合理的范围内。
若需要对接口出方向所有流量进行控制时,可以配置出方向的接口限速。当报文的发送速率超过限制速率时,超出的那部分报文先进入缓存队列;当令牌桶有足够的令牌时,再均匀向外发送这些被缓存的报文;当缓存队列已满时,新到达的报文将被丢弃。
概念:
流量整形TS(Traffic Shaping)是一种主动调整流量输出速率的措施。流量整形将上游不规整的流量进行削峰填谷,使流量输出比较平稳,从而解决下游设备的拥塞问题。
1.基于接口的流量整形
若需要对接口出方向所有流量进行控制时,可在接口下直接配置流量整形。当报文的发送速率超过限制速率时,超出的那部分报文先进入缓存队列;当令牌桶有足够的令牌时,再均匀地向外发送这些被缓存的报文;当缓存队列已满时,报文将被丟弃。配置如下:
#配置基于接口的流量整形
#在RouterA上配置基于接口的流量整形,将接口G1/0/0速率限制在8000kbit/s
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet3/0/0] qos gts cir 8000
cir是整形所需限制到的速率。cbs是整形模型中使用的令牌桶的大小,cbs不是越大越好,越大则流量波动就越大:反之,流量波动就较小,但cbs一定要大于1500。
2.基于队列的流量整形
在队列模板(qos queue-profile)中,对各队列的流量做整形。接口收到的报文根据设备内部优先级映射进入不同的队列,不同的队列可分别设置不同的流量整形参数,实现对不同业务的差分服务。
举例:
企业边缘路由器A对接口E2/0/0 进来的报文根据802.1p选择出队列,出队列0-5使用wfq调度,6-7 使用pq调度;图中语音流量使用队列6,视频流量使用队列5,数据流量使用队列2,流量分别限制到256kbit/s、 4000kbit/s 及2000kbit/s。
配置:
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet3/0/0] trust 8021p
#经2/0/0接口进来的报文基于802.1p生成内部优先级,选择出队列
[RouterA] qos queue profile qp1
[RouterA-qos-queue profile-qp1 ]schedule wfq 0 to 5 pq 6 to 7
[RouterA-qos-queue profile-qp1]queue 6 gts cir 256 cbs 6400
[RouterA-qos-queue-profile-qp1 ]queue 5 gts cir 4000 cbs 00000
[RouterA-qos-queue-profile-qpl ]queue 2 gts cir 2000 cbs 50000
#配置队列6的承诺信息速率为256kbits,承诺突发尺寸为6400Byte
#配置队列5的承诺信息速率为4000kbit/s,承诺突发尺寸为100000Byte
#配置队列2的承诺信息速率为2000kbit/s,承诺突发尺寸为50000Byte
[RouterA] interface gigabitethernet 3/0/0
[RouterA-GigabitEthernet3/0/0] qos queue-profile qpl
#队列2/5/6超出承诺带宽的流量会缓存起来
3.基于MQC的流量整形
使用MQC工具来实现流量整形,它的实现方式是在接口下的流策略中,针对流分类中的流量定义整形,限制匹配该分类规则报文的发送速率超出限制时,超出的那部分报文进入缓存队列。用MQC实现流量整形,可实现更细化的针对不同业务的更精细的差分服务。
举例:
实验拓扑基于队列的流量整形一样,企业中有多种业务,在边界路由器上,要做到限制语音流量不超出256kbit/s,视频流量不超出4000kbit/s, 数据流量不超出2000kbit/s, 超过的流量能缓存起来,不丢包,但最多能缓存100个包。具体配置如下:
#c1是voip, c2 是视频流量,c3 是数据流量,此处分类定义的配置省略
[RouterA] traffic behavior b1
[RouterA-behavior-b1] qos cir 256 cbs 48128 queue-length 100
[RouterA-behavior-b1] statistic enable
[RouterA-behavior-b1] quit
#
[RouterA] traffic behavior b2
[RouterA-behavior-b2] qos cir 4000 cbs 752000 queue-length 100
[RouterA-behavior-b2] statistic enable
[RouterA-behavior-b2] quit
#
[RouterA] traffie behavior b3
[RouterA-behavior-b2] qos cir 2000 cbs 376000 queue-length 100
[RouterA-behavior-b2] statistic enable
[RouterA behavior-b2] quit
#
[RouterA] traffic policy p1
[Router-tafcpolicy-p1] classifer c1 behavior b1
[RouterA-trafficpolicy-p1] classifier c2 behavior b2
[RouterA-trafficpolicy-p1] classifier c3 behavior b3
[RouterA-trafficpolicy-p1] quit
#
[RouterA] interface ethernet 2/0/0
[RouterA-Ethernet2/0/0] traffic-policy p1 outbound
#整形仅能应用在流量外出的方向上
概念:
监管使用双桶模型的令牌桶来评估网络流量,监督进入网络的流量速率,对超出部分的流量进行“惩罚”。而惩罚行为可以自定义为丢包或重新标记该报文,若动作为丢包则监管实现限速的功能;若重新标记,则监管可实现Remark的功能。
监管机制保证进入网络的流量都是承诺可信的,不可信的流量会惩罚而丢弃或给予低级别标记以区分对待。监管可定义在网络的任何位置的进或者出的方向上,但更多的是应用到网络的边界设备.上,对进入网络的流量标记为绿色、黄色或红色。
一般而言,在华为路由器上,流量监管可以应用在出方向上,也可以在入方向上;而华为交换机上仅能够在入方向应用流量监管。
核心技术:令牌桶。使用的是两种双桶模型,也就是单速双桶和双速双桶模型。
1.基于接口的监管
环境描述:
企业业务数据有语音、视频及数据,分别有各自的业务要求。要求在路由器A上通过监管实现流量控制,其中语音限制在256kbit/s,视频限制在4000kbit/s,数据限制在2000kbit/s。其中,对视频流要求做到对其每个流都实现监管控制,并且对数据速率在1000kbit/s范围内的流量打上AF21标记,而高于1000kbit/s部分则标记为AF23。语音流源自192.168.10.1-192.168.10.100地址范围。数据流源自192.168.20.1-192.168.20.100,视频流源自192.168.30.1-192.168.30.100地址范围。
配置:
[RouterA] interface ethernet 2/0/0
[RouterA-Ethernet2/0/0] qos car inbound source-ip-address range 192.168.10.1 to 192. 168.10.100 cir 256
[RouterA-Ethernet2/0/0] qos car inbound source -ip-address range 192.168.20.1 to 192. 168.20.100 per-address cir 4000
[RouterA-Ethernet2/0/0] qos car inbound source-ip-address range 192.168.30.1 to 192.168.30.100 cir 1000 pir 2000 green pass remark-dscp af21 yellow pass remark dscp af23 red discard
[RouterA-Ethernet2/0/0] quit
2.基于类的监管(MQC方式)
环境与基于接口的监管相同,具体配置如下:
#在RouterA 上定义用户类c1、c2及c3,分别对应图中的vlan10、 vlan20及vlan30
[RouterA] traffic classifier c1
[RouterA-classifer-c1] if-match vlan-id 10
[RouterA-classifier-c1] quit
[RouterA] traffic classifer c2
[RouterA-classifier-c2] if-match vlan-id 20
[RouterA-classifier-c2] quit
[RouterA] traffic classifer c3
[RouterA-classifier-c3] if-match vlan-id 30
[RouterA-classifier-c3] quit
#在RouterA上创建流行为b1~b3,对进入企业的不同业务流进行流量监管
[RouterA] traffic behavior b1
[RouterA-behavior-b1] car cir 256 cbs 48128 pbs 80128
[RouterA-behavior-b1] statistic enable
[RouterA-behavior-b1] quit
#没有定义car的颜色行为,则缺省情况下,绿色、黄色报文被允许通过,红色报文被丢弃
[RouterA] traffiec behavior b2
[RouterA-behavior-b2] car cir 1000 pir 4000 green pass yellow pass remark-dscp af21 red pass remark-dscp af23
[RouterA-behavior-b2] statistic enable
[RouterA-behavior-b2] quit
[RouterA] trffic behavior b3
[RouterA-behavior-b3] car cir 2000 cbs 376000 pbs 626000
[RouterA-behavior-b3] statistic enable
[RouterA-behavior-b3] quit
#
[RouterA] traffic policy p1
[RouterA-trafficpolicy-p1] classifier c1 behavior b1
[RouterA-trafficpolicy-p1] classifier c2 behavior b2
[RouterA-trafficpolicy-p1] classifier c3 behavior b3
[RouterA-tafficpolicy-p1] quit
#
[RouterA] interface ethernet 2/0/0
[RouterA-Ethernet2/0/0] traffic-policy p1 inbound
#流量监管的动作包括通过、丢弃和改变优先级转发
说明:
基于接口和基于类的监管的区别是MQC结构性强、易于扩展,而基于接口的CAR则实现容易,配置简单。如果仅为了实现监管机制,则在接口上调用CAR更容易实现。若同时在设备上配置其他QoS机制,如队列等,则MQC较易。
限速 | 整形 | 监管 | |
---|---|---|---|
使用令牌桶模型 | 单速单桶双色(绿和红) | 单速单桶双色(绿和红) | 单速双桶或双速双桶模型三色(绿,黄,红) |
默认动作或行为 | 绿色标记的报文转发,而红色标记的报文被丢弃 | 绿色标记的报文转发,红色标记的报文被缓存 | 绿色、黄色和红色标记的报文都可以在三者:pass、remark、discard中选择一种动作来配置 |
实现机制 | 1.实现简单 2.路由器上上仅用在物理接口外出方向 3.交换机上,接口的入或出方向都可以(但出方向可以缓存报文) | 1.多种整形,可基于接口或queue或用MQC来实现2.仅应用在接口外出方向上 | 可应用在接口的入或出方向上,可对流量基于速率来分类 |
应用场景 | 企业或运营商设备上流量流入的接口 | 企业上联运营商的设备的出口 | 需要基于速率来打标记或需要限速的场景下 |
整理资料来源:《HCIE路由交换学习指南》