-
Hillstone
QoS
流量控制解决方案
QoS
介绍
QoS
(
Quality of Se
rvice
)即“服务质量”
。它是指网络为特定流量提供更高
优先服务的同时控制抖动和延迟的能力,
并且能够降低数据传输
丢包率。
当网络过载
或拥塞时,
QoS
能够确保重要业务流量的正常传输。
QoS
的实现
通常来讲,实现
QoS
管理功能的工具包括:
?
分类和标记工具
?
管制和整形工具
?
拥塞管理工具
?
拥塞避免工具
图
22-1
描绘了
QoS
的体系结构
。
图
22-1
:
QoS
体系结构
Ingress
LLQ
Ingress
Traffic
DSCP Marking
Egress
VoIP
Marker or
Police
r
VoIP
HTTP
HTTP
Classsifier
IP
IP
PHY IF
Ingress
Traffic
Classification and
Marking
WRED
Congestion
Avoidance
Queuing
Scheduling
PHY
IF
and
Egress
Traffic
Shaping
Congestion
Management
如图
22-1
所示,数据包通过入接口进入系统后,首先会被分类和标记。在
这一
过程中,系统会通过管制机制丢弃一些数据包。然后,根据标记结果,
数据包会被再
次分类。系统会通过拥塞管理(
Con
gection
Management
)机制和拥塞避免
p>
(
Congection Avoidence
)
机制对数据包进行管理,
为数据包排列优先次序并且在<
/p>
发生拥塞时保证高优先级数据包的顺利通过。最后,系统会将经过
QoS
管理的数据
1
/
21
包通过出接口发送出去。
分类和标记
分类和标记的过程就是识
别出需进行不同处理(优先或者区分)的流量的过程。
分类和标记是执行
QoS
管理的第一步。分类和标记应该在和源主机尽量接近的地方
进行。
分类
通常来讲,
分类工具依据封装报文的头部信息对流量进行分类。
为做出分类决定,
分类工具需要对头部信息进行逐层深入检查。图
22-2
显示出头部信息的分类字段,
而表
p>
22-1
列出不同字段的分类标准。
p>
图
22-2
:分类字段
Layer 2
Layer
3
Layer 4
Layer 7
MA
C/COS/
VLAN
ToS/
DSC
P
SRC
DST
SRC
DST
IP
IP
Port
Port
APP
type/signature
表
2
2-1
:分类标准
L
ayer
L
ayer
1
L
ayer
2
L
ayer
3
L
ayer
4
L
ayer
7
应
用
类<
/p>
型
(
Application
Type
)
或
者
应
用
签
名
(
Application
Signature
)
端口号(
p>
TCP
或者
UDP
)
IP
优先权
(
IP Precedence
)
、
DiffServ
代码点
(
DSCP
)
和源
/
目的
IP
地址组
<
/p>
MAC
地址、
802.1Q/p
服务类别(
CoS
)位串和
VLAN
标识
物理接口和子接口
标准描述
2
/
21
标记
可携带标记的字段如下:
?
第
2
p>
层标记字段:
802.1Q/p
。
?
第
3
层标记字段:
IP
优先权
和
DSCP
。
802.1Q/p
通过设置
802.
1Q
头的
802.1p
用户优先级位(
CoS
)来标记以太网帧。在以
太网第
2
层以太网帧中至于
8
种服务类别
(
0
到
7
)
可以标记。
数值的分
配请参阅表
22-2
。
表
p>
22-2
:应用类型值
< br>CoS
值
/IP
优先权值
7
6
5
4
3
2
1
0
预留(
Reserved
)
预留(
Reserved
)
语音(
Voice
)
视频会议(
Video
Conference
)
呼叫信号(
Call
Signaling
)
高优先级数据(
High-priority
Data
)
中优先级数据(
Medium-priority
Data
)
尽力服务数据(
Best-effort
Data
)
应用类型
IP
优先权和
DSCP
IP
优先权与
CoS
相同,
有
8
种服务(
0
到
7
)可以标记,请参考表
22-2
。
DSCP
(
DiffServ
Code Point
)是区分服务代码点。
DSCP
提供
6
位字段用于
Qo
S
标记,这
6
位字段是与
IP
优先权相同的
3
位,再
加上接下来的
ToS
字段的
3
位。因此,
DSCP
值的范围是
0
到
63
。图
22-3
为
DSCP
和
IP
优先权位示意图。
图
22-3
为
DSCP
和
IP
优先权位示意图
ToS
7
6
5
4
3
2
Unu
sed
DSCP
ECN
IP
Precedence
DSCP
值有
两种表达方法,数字形式和关键字形式。关键字形式的
DSCP
值称
为逐跳行为
(
PHB
)
。
目前有三类已定义的
P
HB
,
分别是尽力服务
(
BE
或者
DSCP
0
)
、
3
/
21
确保转发(
< br>AFxy
)和加速转发(
EF
)
。具体信息请参考
RFC2547
、<
/p>
2597
和
3246
。
DSCP
值将在后面的
QoS
处理中起到关键性的作用。
管制和整形
QoS
< br>管理提供管制和整形功能。
管制和整形的作用是识别流量违约并做出响应。
管制和整形使用同样的算法识别流量违约,但是做出的响应不同。
<
/p>
管制工具对流量违约进行即时检查,发现违约后立即采取设定的动作进行处理。
例如,
管制工具可以确定负载是否超出了定义的流量速率,
然后对超出部分的流量进
行重新标记或者直接丢弃。管制工具可以应用在入接口
和出接口上。
整形工具是一个与排队机制一起工作的流量平滑
工具。
整形的目的是将所有的流
量发送到同一个接口,
并且控制流量永远不超出指定的速率,
使流量平滑地通过该接
口发送出去。整形工具只可以应用在出接口上。
管制与整形相比较,具有以下区别,参见表
22-3
。
表
22-2
:管制与整形比较
管制
由于包被丢弃,引起
TCP
重
传
不灵活和不可适应
塞
入接口和出接口工具
没有缓存的速率限制
出接口工具
有缓存的速率限制
整形
通常延迟流量,
很少引起
TCP
重传
通过排队机制来适应网络拥
令牌桶算法
SA
系列安全网关通过使用令牌桶算法评估流量是否违约。
p>
令牌桶是一个存放令牌的容器,
它有一定
的容量。
系统按设定的速度向桶中放置
令牌,
< br>当桶中令牌满时,
多出的令牌溢出,桶中令牌不再增加。在用令牌桶评估流量
p>
时,
是以令牌桶中的令牌数量是否足够满足数据包的转发为依据的。
如果桶中存在足
够的令牌可以用来转发数据包(通常一个令牌拥
有一个比特的转发权限)
,称流量符
合(
conform
)这个规格,否则称为超标(
excess<
/p>
)
。评估流量时令牌桶的参数设置
包括:
?
CIR
(
Conmitted
Information Rate
)
:向桶中放置令牌的速率
,即允许的
流量的平均速率。
?
CBS
(
Committed
Burst Size
)
:第一个令牌桶的容量,即每次突发所
允许
的最大的流量值。该值必须大于最大包的长度。该令牌桶简称为
C
桶。
?
EBS
(
Excess Burst
Size
)
:第二个令牌桶的容量,即为允许的超出突发的
p>
4
/
21
最大流量值。该令牌桶简称为
E
桶。<
/p>
当使用两个令牌桶进行流量评估时,
依
据
“
C
桶有足够的令牌”
、
“
C
桶令牌不足,
但
E
桶足够”以及“
C
桶和
E
桶都没有足够的令牌”的情况
,分别实施不同的操作
控制。图
22-3
为双令牌桶算法示意图。
图
22-
3
:双令牌桶算法示意图
CIR
p>
Overflow
CBS
EBS
Packet
B
No
B
No
Yes
Conform
Yes
Exceed
Violate<
/p>
Action
Action
Action
图
22-3
中,
B=
数据包的大小;
Tc=CBS
中令牌的数量;
Te=EBS
中令牌的
数
量。
当
C
BS
中的令牌数大于数据包的大小时,则该数据包符合规格(
C
onform
)
,
系统将根据配置进行
操作;
当
CSB
中的令牌数小于数据包
的大小,
系统将检查
EBS
5
/
21
中令牌的数量,
如果
EBS
中令牌数量
大于数据包的大小,
则该数据包超出
(
Exceed
)
,
系统根据配置进行操
作,如果
EBS
中的令牌数也小于数据包的大小,则该数据包违
约,系统再根据配置进行操作。
拥塞管理
拥塞管理工具是
QoS
工具中最重要的一个。拥塞管理工具即排队工具,应用在
产生拥塞的接口上。
由于网络之间的速率不匹配,
在广域网或者局域网中都有可能出
现拥塞。只有当接口发生拥塞时,排队工具才会被启用
。
SA
系列安全网关支持加权
公平队列
(
CBWFQ
)和低延迟队列(
LLQ
)
。
?
CBWFQ
:基于类别的加权公平队列。使用户能够为某一类流量配置最小带
宽。
?
LLQ
:低延迟队列。
LLQ
是
PQ
、
CQ
和
WF
Q
的综合算法。
LLQ
一般用于语
p>
音和交互式视频。
在配置时,
所有
LLQ
类型的应用所占总带宽不能超过链路
带宽
的
33%
。
拥塞避免
拥塞避免机制是排队算法的
补充,
并且依赖于排队算法。
使用拥塞避免工具的目
的是为了处理基于
TCP
的数据流。
SA
系列安全网关使用加权早期随机检测
(
WRED
)
算法实现拥塞避免。
配置
QoS
SA
系列安全网关上通过配置
QoS
Profile
,然后将配置好的
QoS Profile
p>
应用
到接口上来实现
QoS
管理。用户可以将多个
QoS Profile
应用到
一个接口上。通常
情况下,配置
QoS
,需要经过以下三个步骤:
1.
<
/p>
配置
Class
。
该步骤为流量识别分类的过程。
Class
定义设备需要匹配的流量,从而设备
可以将流量进行区分。
2.
配置
QoS
Profile
。
QoS Prof
ile
定义了对匹配的流量所做的操作,包括管制、整形、拥塞管理
和拥塞避免。
3.
绑定
QoS
Profile
到接口。
只有将配置好的
QoS
Profil
e
绑定到接口上,
QoS
功能才能在安
全网关上
起作用。
6
/
21
配置
Class
SA
系列安全网关支持
5
种类型的匹配条件:
?
应用类型匹配条件
?
DSCP
值匹配条件
?
IP
地址范围匹配条件
?
QoS
标签匹配条件
?
IP
优先权值匹配条件
定义流量的匹配条件,需要在
Class
配置模式下
进行。进入
Class
配置模式,
在全
局配置模式下使用以下命令:
class-map
class-name
?
class-name
–
指定
cl
ass
的名称。
执行该命令后,
系统创
建指定的
class
,
并且进入
class
配置模式。如果指定的名称已存在,则直接进入
class
配置
模式。
StoneOS
支持最多
16
个
class
。并且,系统提供一个默认
class
,名为
class-defaul
t
。在进行
QoS
管理时,没有匹配到
的流量都将进入
class-
default
。
class-default
的默认队列是
CBWFQ
,它的权是接口带宽减去所有
被预留的带宽。
在进行
CBWFQ
计算
时,建议用户为
class-default
预留
25%
的带宽,该数值为经
过实践证明的最佳预留值
。
在全局配置模式下使用
no
class-map
clas-name
命令删除指定的
p>
class
。
配置应用类型匹配条件
SA
系列安全网关支持近百中应用类型,例如以及
OSFP
< br>等。定义某种应用类型
匹配条件,在
Class
配置模式下,使用以下命令:
match
application
app-name
?
app-
name
–
指定应用类型的名称。
改名称为系统预定义服务和用户自定义
服务。
使用多条该命令定义多种匹配应用类型。
在
Class
配置模式下,使用
n
o
match
application
app-
name
命令删除指定的
应用类型。
配置
DSCP
值匹配条件
定义
DSCP
值匹配条件
,在
Class
配置模式下,使用以下命令:
< br>
match dscp
dscp-value1
[
dscp-value2
]
[
dscp-value3
]
[
dscp-value4
]
?
dscp-
value
–
指定
DSCP
的值。
安全网关支持
两种
DSCP
值的表达方式,
分别是<
/p>
0
到
63
的数字
和
RFC
中预定义的
DSCP
值,例如
af11
、
c
s2
等。
7
/
21
一条命令中最多可以指定
p>
4
个
DSCP
值,
所有数值之间为“或”的关系。
使用多条该命令配置多个
p>
DSCP
值匹配条件。
< br>在
Class
配置模式下,使用
no match dscp
dscp-value1
[
dscp-value2
]
[
dscp-value3
]
[
dscp-value4
]
命令删除
指定的
SDCP
值匹配条件。
配置
IP
地址范围匹配条件
< br>
定义
IP
地址范围匹配条件,
在
Class
配置模式下,使用以下命令:
match ip-range
start-ip
end-ip
?
start-ip
–
指定
IP
地址范围的起始
IP
地址。
?
end-
ip
–
指
定
IP
地址范围的结束
IP
地址。
一个
ip-ra
nge
不能超过一个
B
类地址的范围。
使用多条该命令配置多个地址范围匹配条件。
在
Class
配置模式下,使用
no match ip-range
start-ip end-ip
命令删除
指定的
IP
地址
范围匹配条件。
配置
QoS
标签匹配条件
定义
Q
oS
标签匹配条件,在
Class
配置
模式下,使用以下命令:
match policy-
qos-tag
tag-value
?
tag-
value
–
指定
QoS
标签的值。范围是
1<
/p>
到
16
。用户在创建策略规则
或者
P2P Profile
时,可以配置
QoS
标签。
使用
多条该命令配置多个
QoS
标签匹配条件。
在
Class
配置模式下,使用
no match policy-qos-tag
tag-
value
命令删除
指定的
QoS
p>
标签匹配条件。
配置
IP
优先权匹配条件
定义
IP
优先权(
IP Precedence<
/p>
)匹配条件,在
Class
配置模式下,
使用以下
命令:
match
precedence
precedence-value1
[
precedence-
value2
]
[
precedence-
value3
] [
precedence-
value4
]
?
precedence-
value
–
指定
IP
优先权值。范围是
0
p>
到
7
。一条命令中最
多可以指定
4
个
IP
优先权值,所有数值之间为“或”的关系。
使用多条
该命令配置多个
IP
优先权匹配条件。
在
Class
配置模式下,使用
no match precedence
precedence-
value1
[
precedence-
value2
] [
precedence-
value3
] [
precedence-value4
p>
]
命
令删除指定的
IP
优先权匹配条件。
显示
Class
信息
显示
Class
信息,在任何模式下使用以下命令:
8
/
21
show class-map
[
class-name
]
?
class-
name
–
显示指定名称的
class
信息。
如
不指定该参数,
则显示系统
中所有
cl
ass
的信息。
配置
QoS
Pro Profile
配置了对匹配流量进行的
QoS
管理操
作。
QoS
Profile
的配置需要在
QoS
Profile
配置模式下进行。进入
QoS
Profile
配置模式,在全局
配置模式下,使用以下命令:
qos-
pro
?
qos-pro
–
指定
QoS
Profile
的名称。执行该命令后,系统创建指定名称
的
Q
oS Profile
,并且进入该
QoS Profile<
/p>
配置模式;如果指定的名称已存
在,则直接进入
< br>QoS Profile
配置模式。
在全局配置模式下,使用
no qos-
pro
命令删除指定的
QoS
Profile
。
进入
QoS
Profile
配置模式后,用户需要首先为该
QoS Pro
file
指定
class
。然
后为符合
class
匹配条件的流量指定
QoS
管理操作。
为
QoS Profile
指定
class
,在
QoS
Profile
配置模式下,使用以下命令:
class
class-
name
?
class-name
–
指定
cl
ass
的名称。执行该命令后,系统进入
QoS
Pro
配
置模式。
使用
no class
class-name
命令从
QoS
Profile
中删除指定的
class
。
在
QoS Pro
配置模式下,用户可
以为匹配的流量指定
QoS
管理操作,包括:
< br>
?
指定最小带宽保证
?
配置管制功能
?
配置整形功能
?
配置基于
IP
的
QoS
?
配置低延迟队列
?
设置
DS
CP
值
?
设置
IP
优先权值
?
配置匹配优先级
指定最小带宽保证
为
QoS Profile
中的
class
指定最小带宽,在
QoS
Pro
配置模式下使用以下命
令:
bandwidth
bandwidth-value
?
bandwidth-
value
–
指定
class
的最小带宽值,单位是
kbps
。该带宽值
也是系统进行
CBWFQ
计算时的权重值。范围是
32
到
1000000
。
在
QoS
Pro
配置模式下,使用
no bandwidth
命令取消
class
的最小带宽配置。
9
/
21
配置管制功能
流量管制功能对流量进行限制,并且对符合规格(
Conform
< br>)的流量以及超出
(
Exceed
)流量根据配置进行不同的操作。配置流量管制功能,在
QoS
Pro
配置
模式下使用以下命令:
police
cir-
value
[[
cbs-
value
]
[
ebs-
value
]]
conform-
action
{
drop
|
set-dscp-
transmit
dscp-
value
|
set-prec-
transmit
precedence-
value
|
transmit
}
exceed-action
{
drop
|
set-dscp-transmit
dscp-value
|
set-
prec-transmit
precedence-
value
|
transmit
}
?
cir-
value
–
指定
CIR
,即向令牌桶中放置令牌的速率,单位是
kbps
。
该数值为
class
的最大带宽限制值,必须小于接口的实际带宽。范围是
32
到
1000000
。
?
cbs-
value
–
指定第一个令牌桶的容量,即
CBS
的大小,单位是字节。
该
数值必须小于接口的实际带宽。范围是
2048
到
51200000
。
?
ebs-
value
–
指定第二个令牌桶的容量,即
EBS
的大小,单位是字节。
该
数值必须小于接口的实际带宽。范围是
2048
到
51200000
。
?
conform-
action
–
< br>指定对符合规格数据包所做的操作,可以是以下各操
作中的一种:
?
drop
:丢弃数据包。
?
set-dscp-
transmit
dscp-value
:为数据包设置
DSCP
值,然后
传输数据包。
?
set-prec-transmit
precedence-value
:
为数据包设置
IP
优先权
值,然后传输
数据包。
?
transmit
:不改变并且传输数据包。
?
exceed-action
- <
/p>
指
定
对
超
出
数
据
包
所
做
的
操
作
。
可
选
择
操
作
与
comform-action
相同。
在
QoS
Pro
配置模式下使用
no police
命令取消
class
管制功能的配置。
配置整形功能
流量整形限制数
据传输速率,
使流量平滑地通过接口发送出去。
流量整形为出接
口工具。配置
class
的整形功能,
在
QoS
Pro
配置模式下使用以下命令:
shape
cir-
value
[[
cbs-
value
] [
ebs-
value
]]
?
cir-value
–
指定
CI
R
,即向令牌桶中放置令牌的速率,单位是
kbps
。
该数值为
class
的
最大带宽限制值,必须小于接口的实际带宽。范围是
32
到
p>
1000000
。
?
cbs-
value
–
指定第一个令牌桶的容量,即
CBS
的大小,单位是字节。
该
10
/
21
-
-
-
-
-
-
-
-
-
上一篇:可使用时间原则上为星期一到星期五的上午10点到下午5点
下一篇:IP与MPLS