QoS配置指导

QoS配置指导

QoS配置指导
1 QoS简介
QoS(Quality of Service,服务质量)是各种存在服务供需关系的场合中普遍存在的概念,它评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是注重分析在什么条件下服务是好的,在什么情况下还存在着不足,以便有针对性地做出改进。
在Internet 中,QoS 所评估的就是网络转发分组的服务能力。由于网络提供的服务是多样的,因此对QoS 的评估可以基于不同方面。通常所说的QoS,是对分组转发过程中为延迟、抖动、丢包率等核心需求提供支持的服务能力的评估。
在这里列出的都是针对目前最常见的应用场景所对应的配置,希望能够为大家提供指导.
2 QoS配置指导
以下例子中的组网如下:
ETH0/1 ______________
192.168.1.12 | |
---------------| ROUTER |---------------
内网 |_____________| 外网


2.1 基于内网网段进行限速
场景要求:对内网为192.168.1.0的网段进行限速,访问外网的速率不能超过64k。
定义ACL规则:
[H3C]acl number 2000
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
在内网口应用策略:
[H3C] interface Ethernet 0/1
[H3C-Ethernet0/1] qos car inbound acl 2000 cir 64 cbs 4000 ebs 0 green pass red discard
CBS和EBS的配置方法:
CIR:表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;
CBS:表示C桶的容量,即C桶瞬间能够通过的承诺突发流量;
EBS:表示E桶的容量,即E桶瞬间能够通过的超出突发流量。
CIR用来确定设备允许的流的平均速度,基于速率的设置就是指该值的设置;CBS表示每次突发所允许的最大的流量尺寸,这个值可以通过(流量波动时间 超过CIR的部分)进行估算。但是该值的设置一般比较粗略,只能是一个大概的数值,在实际使用中如果效果不好,还需要继续细调;EBS的值一般来说不需要设置,所以设置为0即可
2.2 基于时间段和网段进行限速
场景要求:对内网为192.168.1.0的网段进行限速,访问外网的速率不能超过64k,限定时间为工作时间。
通过设置time-range和ACL,可以实现基于时间段的限速。
定义时间段:
[H3C]time-range worktimeam 8:00 to 12:00 working-day
[H3C]time-range worktimepm 13:00 to 17:00 working-day
定义ACL规则:
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255 time-range worktimeam
[H3C -acl-basic-2000] rule 1 permit source 192.168.1.0 0.0.0.255 time-range worktimepm
在内网口应用策略:
[H3C] interface Ethernet 0/1
[H3C-Ethernet0/1] qos car inbound acl 2000 cir 64 cbs 4000 ebs 0 green pass red discard
2.3 基于网段进行流量整形
场景要求:为了减少报文的无谓丢失,可以在ICG的出口对报文进行流量整形处理。将超出流量整形特性的报文缓存在ICG中。当可以继续发送下一批报文时,流量整形再从缓冲队列中取出报文进行发送。这样,发向外网的报文将都符合外网的流量规定。
对内网为192.168.1.0的网段进行流量整形,访问外网的速率不能超过512k。
定义ACL规则:
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
在外网口应用策略:
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos gts acl 2000 cir 512 cbs 32000 ebs 0 queue-length 50

2.4 基于物理接口进行限速
场景要求:物理接口限速能够限制在物理接口上通过的所有报文,流量监管在IP层实现,可以对端口上不同的流分类进行限速,但是对于不经过IP层处理的报文不起作用。当用户只要求对所有报文限速时,使用物理接口限速比较简单。
这里要求对出接口方向的物理限速为64k。
在外网口应用策略:
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos lr outbound cir 64 cbs 4000 ebs 0
2.5 基于协议进行限速
场景要求:对BT下载的速率不能超过64k。
定义类:
[H3C] traffic classifier bt operator and
[H3C-classifier-bt] if-match protocol bittorrent
定义流行为:
[H3C] traffic behavior 64k
[H3C-behavior-64k] car cir 64 cbs 4000 ebs 0 green pass red discard
定义策略:
[H3C] qos policy bt_64k
[H3C-qospolicy-bt_64k] classifier bt behavior 64k
在外网口的入和出方向应用策略
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos apply policy bt_64k inbound
[H3C-Ethernet0/0] qos apply policy bt_64k outbound

2.6 基于类的队列进行限速
场景要求:ICG是外网出口,下挂2个网段,存在语音业务。对192.168.1.0网段访问Internet需要8k保证,对于所有RTP流需要32k保证。
由于存在语音业务,语音报文对延迟敏感,所以,需要对于RTP流放入EF类,其他的报文可放入AF类。所以,此时需要实现给予类的队列进行限速。
定义ACL规则:
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
定义类:
[H3C] traffic classifier acl2000 operator and
[H3C-classifier-acl2000] if-match acl 2000
[H3C]traffic classifier rtp operator and
[H3C-classifier-rtp]if-match protocol rtp
定义流行为:
[H3C]traffic behavior ef32k
[H3C-behavior-ef32k]queue ef bandwidth 32 cbs 1500
[H3C]traffic behavior af8k
[H3C-behavior-af8k]queue af bandwidth 8
[H3C-behavior-af8k]wred
定义策略:
[H3C]qos policy cbq
[H3C-qospolicy-cbq]classifier acl2000 behavior af8k
[H3C-qospolicy-cbq]classifier rtp behavior ef32k
将策略应用在外网接口:
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos apply policy cbq outbound

2.7 基于自定义队列解决拥塞
场景要求:ICG是外网出口,下挂2个网段,要求网络拥塞时通过CQ对192.168.1.0/24网段给予优先保证。
在该场景下,只需要保证网段192.168.1.0/24下流量的优先于网段192.168.2.0/24下的流量。
定义ACL规则(均为内网网段):
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
[H3C]acl number 2001
[H3C -acl-basic-2001]
[H3C -acl-basic-2001] rule 0 permit source 192.168.2.0 0.0.0.255
定义CQL 1队列:
[H3C]qos cql 1 queue 1 queue-length 1000
[H3C]qos cql 1 queue 1 serving 1000
[H3C]qos cql 1 queue 2 queue-length 500
[H3C]qos cql 1 queue 2 serving 500
将ACL2000和CQL 1的队列1绑定起来
[H3C]qos cql 1 protocol ip acl 2000 queue 1
将ACL2001和CQL 1的队列2绑定起来
[H3C]qos cql 1 protocol ip acl 2001 queue 2
将CQL 1应用在外网接口
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos cq cql 1
2.8 基于优先队列解决拥塞
场景要求:ICG是外网出口,下挂2个网段,要求网络拥塞时通过PQ对192.168.1.0/24网段给予优先保证。
在该场景下,需要优先保证网段192.168.1.0/24下流量的绝对优先。
定义ACL规则(均为内网网段):
[H3C]acl number 2000
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
[H3C]acl number 2001
[H3C -acl-basic-2001] rule 0 permit source 192.168.2.0 0.0.0.255
定义PQL 1队列,对ACL 2000的流量作为高优先级队列,对ACL 2001的流量作为低优先级队列:
[H3C]qos pql 1 protocol ip acl 2000 queue top
[H3C]qos pql 1 protocol ip acl 2001 queue bottom
将PQL 1应用在外网接口
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos pq pql 1

2.9 基于RTP队列对RTP进行优先处理
场景要求:ICG是外网出口,要求在出口对RTP进行优先处理。
为了保证RTP的时延和抖动降低为最低限度,保证语音或视频业务的服务质量,这里可以采用给予RTP优先队列。
在外网接口设置RTP优先队列
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos reserved-bandwidth pct 50
[H3C-Ethernet0/0] qos rtpq start-port 16384 end-port 32767 bandwidth 32 cbs 1500
2.10 基于WRED接口模式的配置
场景要求:在外网口应用WRED处理。
为了避免TCP全局同步,可以采用WRED。WRED可以有效解决尾丢弃技术造成的问题,和尾丢弃不同,WRED不是等到队列满了才开始丢弃,而是发现队列长度不够时,在数据包进入队列前随机的提取数据包进行丢弃,这样可以解决丢弃对语音传输的影响。
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos wfq precedence queue-length 64 queue-number 256
[H3C-Ethernet0/0] qos wred enable
[H3C-Ethernet0/0] qos wred weighting-constant 6
[H3C-Ethernet0/0] qos wred ip-precedence 3 low-limit 20 high-limit 40 discard-probability 15