一、优先级的映射:
配置802.1p优先级到本地优先级映射表,将802.1p优先级3、4、5对应的本地优先级配置为2、6、4。保证访问服务器的优先级为研发部门(6)>管理部门(4)>市场部门(2)。
[Router] qos map-table dot1p-lp
[Router-maptbl-dot1p-lp] import 3 export 2
[Router-maptbl-dot1p-lp] import 4 export 6
[Router-maptbl-dot1p-lp] import 5 export 4
[Router-maptbl-dot1p-lp] quit
配置重标记
将本地优先级6、2重标记为2、3,本地优先级4保持不变。保证访问Internet的优先级为管理部门(4)>市场部门(3)>研发部门(2)。
[Router] traffic classifier H3CA
[Router-classifier-rd] if-match local-precedence 6
[Router-classifier-rd] quit
[Router] traffic classifier H3CB
[Router-classifier-market] if-match local-precedence 2
[Router-classifier-market] quit
[Router] traffic behavior H3CA
[Router-behavior-rd] remark local-precedence 2
[Router-behavior-rd] quit
[Router] traffic behavior H3CB
[Router-behavior-market] remark local-precedence 3
[Router-behavior-market] quit
[Router] qos policy CCIE
[Router-qospolicy-policy1] classifier H3CA behavior H3CA
[Router-qospolicy-policy1] classifier H3CB behavior H3CB
[Router-qospolicy-policy1] quit
[Router] interface gigabitethernet 2/1/4
[Router-GigabitEthernet2/1/4] qos apply policy CCIE outbound
二、流量监管和流量×××:
1. 令牌桶的特点
令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加
2. 用令牌桶评估流量
在用令牌桶评估流量规格时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文,称流量遵守或符合这个规格,否则称为不符合或超标
评估流量时令牌桶的参数包括:
(1)平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常配置为CIR。
(2)突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常配置为CBS,突发尺寸必须大于最大报文长度。
每到达一个报文就进行一次评估。每次评估,如果桶中有足够的令牌可供使用,则说明流量控制在允许的范围内,此时要从桶中取走满足报文的转发的令牌;否则说明已经耗费太多令牌,流量超标了。
3. 复杂评估
为了评估更复杂的情况,实施更灵活的调控策略,可以配置两个令牌桶(分别称为C桶和E桶)。例如流量监管中有四个参数:
(1)CIR:表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;
(2)CBS:表示C桶的容量,即C桶瞬间能够通过的承诺突发流量;
(3)PIR:表示向E桶中投放令牌的速率,即E桶允许传输或转发报文的最大速率;
(4)EBS:表示E桶的容量,即E桶瞬间能够通过的超出突发流量。
CBS和EBS是由两个不同的令牌桶承载的。每次评估时,依据下面的情况,可以分别实施不同的流控策略:
(1)如果C桶有足够的令牌,报文被标记为green,即绿色报文;
(2)如果C桶令牌不足,但E桶有足够的令牌,报文被标记为yellow,即×××报文;
(3)如果C桶和E桶都没有足够的令牌,报文被标记为red,即红色报文
注意:
流量×××与流量监管的主要区别在于流量×××对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内,当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。流量×××可能会增加延迟,而流量监管几乎不引入额外的延迟
实验要求:(拓扑见QQ收藏)
· 设备Router A通过接口GigabitEthernet2/1/2【g0/0】和设备Router B的接口 g2/1/0【g0/0】互连
· Server、Host A、Host B可经由Router A和Router B访问Internet
· Server、Host A与Router A的GigabitEthernet2/1/0接口在同一网段
· Host B与Router A的GigabitEthernet2/1/1接口在同一网段
要求在设备Router A上对接口GigabitEthernet0/0接收到的源自Server和Host A的报文流分别实施流量控制如下:
· 来自Server的报文流量约束为54kbps,流量小于54kbps时可以正常发送,流量超过54kbps时则将 违规报文的优先级设置为0后进行发送;
· 来自Host A的报文流量约束为8kbps,流量小于8kbps时可以正常发送,流量超过8kbps时则丢弃违 规报文;
对设备Router B的GigabitEthernet0/0和s1/0接口收发报文有如下要求:
· Router B的GigabitEthernet0/0接口接收报文的总流量限制为500kbps,如果超过流量限制则将 违规报文丢弃;
· 经由Router B的s1/0接口进入Internet的报文流量限制为1000kbps,如果超过 流量限制则将违规报文丢弃。
配置:
router A:
[router A]int g0/0
[router A-GigabitEthernet0/0]qos gts any cir 500
[router A-GigabitEthernet0/0]quit (对发送的报文进行×××,降低router B的丢包率)
[router A]acl basic 2000
[router A-acl-ipv4-basic-2000]rule permit source 1.1.1.1 0
[router A-acl-ipv4-basic-2000]quit
[router A]acl basic 2001
[router A-acl-ipv4-basic-2001]rule permit source 1.1.1.2 0
[router A-acl-ipv4-basic-2001]quit (匹配流量)
[router A]int g0/1
[router A-GigabitEthernet0/1]qos car inbound acl 2001 cir 8 cbs 4000 ebs 0 green pass red discard (丢弃)
[router A-GigabitEthernet0/1]qos car inbound acl 2000 cir 54 cbs 4000 ebs 0 green pass red remark-prec-pass 0 (优先级降低为0)
router B:
[router B]int g0/0
[router B-GigabitEthernet0/0]qos car inbound any cir 500 cbs 40000 ebs 0 green pass red discard
[router B-GigabitEthernet0/0]quit (超过500k流量丢弃)
[router B]int s1/0
[router B-Serial1/0]qos car outbound any cir 1000 cbs 60000 ebs 0 green pass red discard
[router B-Serial1/0]quit (进入internet的流量超过1000k丢弃)
三、接口限速:
实验要求:
对接口g0/0接收到的报文流进行限速:对HostA~HostZ(源地址属于IP地址段2.1.1.1~2.1.1.100)进行IP限速,逐IP地址流量限速5kbps,网段内各IP地址的流量共享剩余带宽
[S1-if-range]qos lr outbound cir 1000 出接口限速1M/S
配置:
[router]qos carl 1 source-ip-address range 2.1.1.1 to 2.1.1.100 per-address shared-bandwidth
[router]int g0/0
[router-GigabitEthernet0/0]qos car inbound carl 1 cir 500 cbs 20000 ebs 0 green pass red discard
四、拥塞管理:
拥塞有可能会引发一系列的负面影响:
(1)拥塞增加了报文传输的延迟和抖动,可能会引起报文重传,从而导致更多的拥塞产生。
(2)拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。
(3)拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。
处理拥塞的几种队列:
1.FIFO队列:(先进先出)
FIFO按照时间到达的先后决定分组的转发次序,先进的先出,后进的后出,不需要进行流分类和队列调度,FIFO关心的只是队列的长度,队列的长度对延迟和丢包率的影响
注意:如果设备的每个端口只有一个基于FIFO的输入或输出队列,那么恶性的应用可能会占用所有的网络资源,严重影响关键业务数据的传送
2.WFQ队列:(加权公平队列)
WFQ使高优先权的报文获得优先调度的机会多于低优先权的报文。WFQ能够按流的“会话”信息(协议类型、源和目的TCP或UDP端口号、源和目的IP地址、ToS域中的优先级位等)自动进行流分类,并且尽可能多地提供队列,以将每个流均匀地放入不同队列中,从而在总体上均衡各个流的延迟。在出队的时候,WFQ按流的优先级来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。
例如:接口中当前共有5个流,它们的优先级分别为0、1、2、3、4,则带宽总配额为所有(流的优先级+1)的和,即1+2+3+4+5=15。
每个流所占带宽比例为:(自己的优先级数+1)/(所有(流的优先级+1)的和)。即每个流可得的带宽分别为:1/15,2/15,3/15,4/15,5/15
3.CBQ队列
CBQ是对WFQ的一个扩张,它提供了一下队列
(1)紧急队列:CBQ提供一个紧急队列,紧急报文入该队列,该队列采用FIFO调度,没有带宽限制
(2)LLQ:即EF队列。如果CBQ加权公平对待所有类的队列,实时业务报文(包括语音与视频业务,对延迟比较敏感)就可能得不到及时发送。为此引入一个EF队列,为实时业务报文提供严格优先发送服务。LLQ将严格优先队列机制与CBQ结合起来使用,用户在定义类时可以指定其享受严格优先服务,这样的类称作优先类。所有优先类的报文将进入同一个优先队列,在入队列之前需对各类报文进行带宽限制的检查。报文出队列时,将首先发送优先队列中的报文,直到发送完后才发送其他类对应的队列的报文。为了不让其他队列中的报文延迟时间过长,在使用LLQ时将会为每个优先类指定可用最大带宽,该带宽值用于拥塞发生时监管流量。如果拥塞未发生,优先类允许使用超过分配的带宽。如果拥塞发生,优先类超过分配带宽的数据包将被丢弃。最多支持64个EF队列
(3)BQ:即AF队列。为AF业务提供严格、精确的带宽保证,并且保证各类AF业务之间按一定的比例关系进行队列调度。最多支持64个AF队列
(4)缺省队列:一个WFQ队列,用来支撑BE业务,使用接口剩余带宽进行发送
系统在为报文匹配规则时,规则如下:
(1)先匹配优先类,然后再匹配其他类;
(2)对多个优先类,按照配置顺序逐一匹配;
(3)对其他类,也是按照配置顺序逐一匹配;
(4)对类中多个规则,按照配置顺序逐一匹配。
队列的配置:
实验要求:
(1)Router C发出的数据流根据IP报文的DSCP域分为3类,要求配置QoS策略,对于DSCP域为AF11和AF21的流进行确保转发(AF),最小带宽为5%;
(2)对于DSCP域为EF的流进行加速转发(EF),最大带宽为30%。
在进行配置之前,应保证:
(3)Router C发出的流能够通过Router A和Router B可达Router D。
(4)报文的DSCP域在进入Router A之前已经设置完毕。
命令:
[router A]traffic classifier AF11
[router A-classifier-AF11]if-match dscp af11
[router A-classifier-AF11]quit
[router A]traffic classifier AF21
[router A-classifier-AF21]if-match dscp af21
[router A-classifier-AF21]quit
[router A]traffic classifier EF
[router A-classifier-EF]if-match dscp ef
[router A-classifier-EF]quit
[router A]traffic behavior AF11
[router A-behavior-AF11]queue af bandwidth pct 5
[router A-behavior-AF11]quit
[router A]traffic behavior AF21
[router A-behavior-AF21]queue af bandwidth pct 5
[router A-behavior-AF21]quit
[router A]traffic behavior EF
[router A-behavior-EF]queue ef bandwidth pct 30
[router A-behavior-EF]quit
[router A]qos policy H3C
[router A-qospolicy-H3C]classifier AF11 behavior AF11
[router A-qospolicy-H3C]classifier AF21 behavior AF21
[router A-qospolicy-H3C]classifier EF behavior EF
[router A-qospolicy-H3C]quit
[router A]int g0/1
[router A-GigabitEthernet0/1]ip add 1.1.1.1 24
[router A-GigabitEthernet0/1]un sh
[router A-GigabitEthernet0/1]qos apply policy H3C outbound
[router A-GigabitEthernet0/1]quit
五、拥塞避免:
在RED类算法中,为每个队列都设定上限和下限,对队列中的报文进行如下处理:
(1)当队列的长度小于下限时,不丢弃报文;
(2)当队列的长度超过上限时,丢弃所有到来的报文;
(3)当队列的长度在上限和下限之间时,开始随机丢弃到来的报文。队列越长,丢弃概率越高,但有一个最大丢弃概率。
注意:直接采用队列的长度和上限、下限比较并进行丢弃,将会对突发性的数据流造成不公正的待遇,不利于数据流的传输。
WRED采用平均队列和设置的队列上限、下限比较来确定丢弃的概率。队列平均长度既反映了队列的变化趋势,又对队列长度的突发变化不敏感,避免了对突发性数据流的不公正待遇。当队列机制采用WFQ时,可以为不同优先级的报文设定计算队列平均长度时的指数、上限、下限、丢弃概率,从而对不同优先级的报文提供不同的丢弃特性。当队列机制采用FIFO时,可以为每个队列设定计算队列平均长度时的指数、上限、下限、丢弃概率,为不同类别的报文提供不同的丢弃特性。
配置:
[router A]int g0/0
[router A-GigabitEthernet0/0]qos wfq 配置接口模式为WFQ
[router A-GigabitEthernet0/0]qos wred ip-precedence enable (开启基于优先级的WRED)
[router A-GigabitEthernet0/0]qos wred ip-precedence 3 low-limit 20 high-limit 40 discard-probability 15 (上限40,下限20,,丢弃概率分母15)
[router A-GigabitEthernet0/0]qos wred weighting-constant 6 (指数为6)
查看:[router A]dis qos wred interface
六、流量过滤:
[router B]acl advanced 3000
[router B-acl-ipv4-adv-3000]rule permit tcp source-port neq 21 (匹配源端口不等于21数据)
[router B-acl-ipv4-adv-3000]quit
[router B]traffic classifier H3C
[router B-classifier-H3C]if-match acl 3000
[router B-classifier-H3C]quit
[router B]traffic behavior H3C
[router B-behavior-H3C]filter deny
[router B-behavior-H3C]quit
[router B]qos policy H3C
[router B-qospolicy-H3C]classifier H3C behavior H3C
[router B-qospolicy-H3C]quit
[router B]int g0/0
[router B-GigabitEthernet0/0]qos apply policy H3C inbound
七、重标记:
实验要求:
通过配置重标记功能,Router上实现如下需求:
(1)优先处理Host A和Host B访问数据库服务器的报文;
(2)其次处理Host A和Host B访问邮件服务器的报文;
(3)最后处理Host A和Host B访问文件服务器的报文
配置:
[router B]acl advanced 3000
[router B-acl-ipv4-adv-3000]rule permit ip destination 192.168.0.1 0
[router B-acl-ipv4-adv-3000]quit
[router B]acl advanced 3001
[router B-acl-ipv4-adv-3001]ru permit ip destination 192.168.0.2 0
[router B-acl-ipv4-adv-3001]quit
[router B]acl advanced 3002
[router B-acl-ipv4-adv-3002]ru permit ip destination 192.168.0.3 0
[router B-acl-ipv4-adv-3002]quit
[router B]traffic classifier DaTa
[router B-classifier-DaTa]if-match acl 3000
[router B-classifier-DaTa]quit
[router B]traffic classifier Mail
[router B-classifier-Mail]if-match acl 3001
[router B-classifier-Mail]quit
[router B]traffic classifier File
[router B-classifier-File]if-match acl 3002
[router B-classifier-File]quit
[router B]traffic behavior DaTa
[router B-behavior-DaTa]remark local-precedence 4
[router B-behavior-DaTa]quit
[router B]traffic behavior Mail
[router B-behavior-Mail]remark local-precedence 3
[router B-behavior-Mail]quit
[router B]traffic behavior File
[router B-behavior-File]remark local-precedence 2
[router B-behavior-File]quit
[router B]qos policy H3C
[router B-qospolicy-H3C]classifier DaTa behavior DaTa
[router B-qospolicy-H3C]classifier Mail behavior Mail
[router B-qospolicy-H3C]classifier File behavior File
[router B-qospolicy-H3C]quit
[router B]int g0/0
[router B-GigabitEthernet0/0]qos apply policy H3C inbound
八、重定向:
实验要求:
有两个源网段地址分别为2.2.2.0/24、3.3.3.0/24的报文都从g0/0接口进入设备,要求做重定向功能,使得这两个网段的报文分别转发至g0/1接口和g0/2接口
配置:
[router B]acl basic 2000
[router B-acl-ipv4-basic-2000]ru permit source 2.2.2.0 0.0.0.255
[router B-acl-ipv4-basic-2000]quit
[router B]acl basic 2001
[router B-acl-ipv4-basic-2001]rule permit source 3.3.3.0 0.0.0.255
[router B-acl-ipv4-basic-2001]quit
[router B]traffic classifier A
[router B-classifier-A]if-match acl 2000
[router B-classifier-A]quit
[router B]traffic classifier B
[router B-classifier-B]if-match acl 2001
[router B-classifier-B]quit
[router B]traffic behavior A
[router B-behavior-A]redirect interface g0/1
[router B]traffic behavior B
[router B-behavior-B]redirect interface g02
[router B]qos policy H3C
[router B-qospolicy-H3C]classifier A behavior A
[router B-qospolicy-H3C]classifier B behavior B
[router B-qospolicy-H3C]quit
[router B]int g0/0
[router B-GigabitEthernet0/2]qos apply policy H3C inbound