2024年2月3日发(作者:)

QoS配置指导

1、QoS简介

QoS(Quality of Service,服务质量)是各种存在服务供需关系的场合中普遍存在的概念,它评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是注重分析在什么条件下服务是好的,在什么情况下还存在着不足,以便有针对性地做出改进。

在Internet 中,QoS 所评估的就是网络转发分组的服务能力。由于网络提供的服务是多样的,因此对QoS 的评估可以基于不同方面。通常所说的QoS,是对分组转发过程中为延迟、抖动、丢包率等核心需求提供支持的服务能力的评估。

在这里列出的都是针对目前最常见的应用场景所对应的配置,希望能够为大家提供指导。

2、QoS配置指导

以下例子中的组网如下:

ETH0/1 ------- 192.168.1.12 | |

---------------| ROUTER |---------------

内网 |_____________| 外网

2.1基于内网网段进行限速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桶瞬间能够通过的超出突发流量。

- 1 -

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

在外网口应用策略:

- 2 -

[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]

- 3 -

[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

- 4 -

将 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可以有效解决尾丢弃- 5 -

技术造成的问题,和尾丢弃不同,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

- 6 -