21-QOS操作
本章节下载 (465.07 KB)
目 录
QoS(Quality of Service,服务质量)是各种存在服务供需关系的场合中普遍存在的概念,它评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是注重分析在什么条件下服务是好的,在什么情况下还存在着不足,以便有针对性地做出改进。
在Internet中,QoS所评估的就是网络转发分组的服务能力。由于网络提供的服务是多样的,因此对QoS的评估可以基于不同方面。通常所说的QoS,是对分组转发过程中为延迟、抖动、丢包率等核心需求提供支持的服务能力的评估。
传统的IP网络无区别地对待所有的报文,设备处理报文采用的策略是FIFO(First In First Out,先入先出),它依照报文到达时间的先后顺序分配转发所需要的资源。所有报文共享网络和设备的资源,至于得到资源的多少完全取决于报文到达的时机。这种服务策略称作Best-Effort,它尽最大的努力将报文送到目的地,但对分组转发的延迟、抖动、丢包率和可靠性等需求不提供任何承诺和保证。
传统的Best-Effort服务策略只适用于对带宽、延迟不敏感的WWW、FTP、E-mail等业务。
随着计算机网络的高速发展,越来越多的网络接入Internet。Internet无论从规模、覆盖范围和用户数量上都拓展得非常快。越来越多的用户使用Internet作为数据传输的平台,开展各种应用。
除了传统的WWW、FTP、E-mail应用外,用户还尝试在Internet上拓展新业务,比如远程教学、远程医疗、可视电话、电视会议、视频点播等。企业用户也希望通过VPN技术,将分布在各地的分支机构连接起来,开展一些事务性应用:比如访问公司的数据库或通过Telnet管理远程设备。
这些新业务有一个共同特点,即对带宽、延迟、抖动等传输性能有着特殊的需求。比如电视会议、视频点播需要高带宽、低延迟和低抖动的保证。事务处理、Telnet等关键任务虽然不一定要求高带宽,但非常注重低延迟,在拥塞发生时要求优先获得处理。
新业务的不断涌现对IP网络的服务能力提出了更高的要求,用户已不再满足于能够简单地将报文送达目的地,而是还希望在转发过程中得到更好的服务,诸如支持为用户提供专用带宽、减少报文的丢失率、管理和避免网络拥塞、调控网络的流量、设置报文的优先级。所有这些,都要求网络应当具备更为完善的服务能力。
传统网络所面临的服务质量问题,主要是由网络拥塞引起的。所谓拥塞,是指由于供给资源的相对不足而造成转发速率下降、引入额外的延迟的一种现象。
在因特网分组交换的复杂环境下,拥塞极为常见。以下图中的两种情况为例:
(1) 分组流从高速链路进入交换机,由低速链路转发出去。
(2) 分组流从相同速率的多个端口同时进入交换机,由一个相同速率的端口转发出去。
如果流量在出端口超过线速,那么就会遭遇资源的瓶颈而导致拥塞。
不仅仅是链路带宽的瓶颈会导致拥塞,任何用以正常转发处理的资源的不足,如可分配的处理器时间、缓冲区、内存资源的不足,都会造成拥塞。此外,在某个时间内对所到达的流量控制不力,使之超出了可分配的网络资源,也是引发网络拥塞的一个因素。
拥塞有可能会引发一系列的负面影响:
l 拥塞增加了报文传输的延迟和抖动,过高的延迟会引起报文重传。
l 拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。
l 拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。
可见,拥塞使流量不能及时获得资源,是造成服务性能下降的源头。然而在分组交换以及多用户业务并存的复杂环境下,拥塞又是常见的,因此必须慎重加以对待。
增加网络带宽是解决资源不足的一个直接途径,然而它并不能解决所有导致网络拥塞的问题。
解决网络拥塞问题的一个更有效的办法是在网络中增加流量控制和资源分配的功能,为有不同服务需求的业务提供有区别的服务,正确地分配和使用资源。在进行资源分配和流量控制的过程中,尽可能地控制好那些可能引发网络拥塞的直接或间接因素,减少拥塞发生的概率;在拥塞发生时,依据业务的性质及其需求特性权衡资源的分配,将拥塞对QoS的影响减到最小。
流分类、流量监管、流量整形、拥塞管理和拥塞避免是构造有区别地实施服务的基石,它们主要完成如下功能:
l 流分类:依据一定的匹配规则识别出对象。流分类是有区别地实施服务的前提。
l 流量监管:对进入设备的特定流量的规格进行监管。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。
l 流量整形:一种主动调整流的输出速率的流控措施,通常是为了使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃和拥塞。
l 拥塞管理:拥塞管理是必须采取的解决资源竞争的措施。通常是将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序。
l 拥塞避免:过度的拥塞会对网络资源造成损害。拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载。
在这些流量管理技术中,流分类是基础,它依据一定的匹配规则识别出报文,是有区别地实施服务的前提;而流量监管、流量整形、拥塞管理和拥塞避免从不同方面对网络流量及其分配的资源实施控制,是有区别地提供服务思想的具体体现。
流分类采用一定的规则识别符合某类特征的报文,它是有区别地进行服务的前提和基础。
流分类规则可以使用IP报文头的ToS(Type of Service,服务类型)字段的优先级位,识别出有不同优先级特征的流量;也可以由网络管理者设置流分类的策略,例如综合源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。一般的分类依据都局限在封装报文的头部信息,使用报文的内容作为分类的标准是比较少见的。分类的结果是没有范围限制的,它可以是一个由五元组(源地址、源端口号、协议号、目的地址、目的端口号)确定的狭小范围,也可以是到某网段的所有报文。
一般在网络边界对报文分类时,同时设置报文IP头的ToS字段中的优先级位。这样,在网络的内部就可以直接使用IP优先级作为分类标准。而队列技术也可以使用这个优先级来对报文进行不同的处理。下游网络可以选择接收上游网络的分类结果,也可以按照自己的标准重新进行分类。
进行流分类是为了有区别地提供服务,它必须与某种流控或资源分配动作关联起来才有意义。具体采取何种流控动作,与所处的阶段以及网络当前的负载状况有关。
下面介绍一下IP优先级、ToS优先级、DSCP优先级和802.1p优先级。
(1) IP优先级、ToS优先级和DSCP优先级
IP header的ToS字段有8个bit,其中:
l 前3个bit表示的是IP优先级,取值范围为0~7;
l 第3~6这4个bit表示的是ToS优先级,取值范围为0~15;
l RFC2474重新定义了IP报文头部的ToS域,称之为DS域,其中DSCP(Differentiated Services CodePoint,差分服务编码点)优先级用该域的前6个bit(0~5bit)表示,取值范围为0~63,后2个bit(6、7bit)是保留位。
IP优先级(十进制) |
IP优先级(二进制) |
关键字 |
0 |
000 |
routine |
1 |
001 |
priority |
2 |
010 |
immediate |
3 |
011 |
flash |
4 |
100 |
flash-override |
5 |
101 |
critical |
6 |
110 |
internet |
7 |
111 |
network |
Diff-Serv网络定义了四类流量,设备会根据报文中的DSCP优先级对报文执行相应的动作:
l 加速转发(Expedited Forwarding,EF)类,这种方式不用考虑其他流量是否分享其链路,适用于低时延、低丢失、低抖动、确保带宽的优先业务(如虚租用线路);
l 确保转发(Assured Forwarding,AF)类,又分为四个小类(AF1/2/3/4),每个AF小类又分为三个丢弃优先级,可以细分AF业务的等级,AF类的QoS等级低于EF类;
l 兼容IP优先级(Class Selector,CS)类,是从IP ToS字段演变而来的,共8类;
l 尽力转发(Best Effort,BE)类,是CS中特殊一类,没有任何保证,AF类超限后可以降级为BE类,现有IP网络流量也都默认为此类。
DSCP优先级(十进制) |
DSCP优先级(二进制) |
关键字 |
46 |
101110 |
ef |
10 |
001010 |
af11 |
12 |
001100 |
af12 |
14 |
001110 |
af13 |
18 |
010010 |
af21 |
20 |
010100 |
af22 |
22 |
010110 |
af23 |
26 |
011010 |
af31 |
28 |
011100 |
af32 |
30 |
011110 |
af33 |
34 |
100010 |
af41 |
36 |
100100 |
af42 |
38 |
100110 |
af43 |
8 |
001000 |
cs1 |
16 |
010000 |
cs2 |
24 |
011000 |
cs3 |
32 |
100000 |
cs4 |
40 |
101000 |
cs5 |
48 |
110000 |
cs6 |
56 |
111000 |
cs7 |
0 |
000000 |
be(default) |
(2) 802.1p优先级
802.1p优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环境下保证QoS的场合。
如图2-2所示,4个字节的802.1Q标签头包含了2个字节的TPID(Tag Protocol Identifier,标签协议标识,取值为0x8100)和2个字节的TCI(Tag Control Information,标签控制信息),图2-3显示了802.1Q标签头的详细内容。
在上图中,TCI中Priority字段就是802.1p优先级,也称为CoS优先级。它由3个bit组成,取值范围为0~7。
802.1p优先级(十进制) |
802.1p优先级(二进制) |
802.1p优先级(二进制) |
0 |
000 |
best-effort |
1 |
001 |
background |
2 |
010 |
spare |
3 |
011 |
excellent-effort |
4 |
100 |
controlled-load |
5 |
101 |
video |
6 |
110 |
voice |
7 |
111 |
network-management |
之所以称此优先级为802.1p优先级,是因为有关这些优先级的应用是在802.1p规范中被详细定义。
如果不限制用户发送的流量,那么大量用户不断突发的数据只会使网络更拥挤。为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的流量加以限制。比如限制每个时间间隔某个流只能得到承诺分配给它的那部分资源,防止由于过分突发所引发的网络拥塞。
流量监管就是一种通过对流量规格的监督,来限制流量及其资源使用的流控策略。进行流量监管有一个前提条件,就是要知道流量是否超出了规格,然后才能根据评估结果实施调控策略。一般采用令牌桶(Token Bucket)对流量的规格进行评估。
令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。
在使用令牌桶对流量进行评估时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文,称流量遵守或符合(conforming)约定值,否则称为不符合或超标(excess)。
评估流量时令牌桶的参数设置包括:
l 平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常设置为CIR(Committed Information Rate,承诺信息速率)。
l 突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常设置为CBS(Committed Burst Size,承诺突发尺寸),设置的突发尺寸必须大于最大报文长度。
每到达一个报文就进行一次评估。每次评估,如果桶中有足够的令牌可供使用,则说明流量控制在允许的范围内,此时要从桶中取走与报文转发权限相当的令牌数量;否则说明已经耗费太多令牌,流量超标了。
为了评估更复杂的情况,实施更灵活的调控策略,可以设置两个令牌桶。例如TP(Traffic Policing,流量监管)中有四个参数:
l CIR
l CBS
l PIR(Peak Information Rate,峰值信息速率)
l EBS(Excess Burst Size,超出突发尺寸)
它使用了两个令牌桶,每个桶投放令牌的速率分别为CIR、PIR,只是尺寸不同——分别为CBS和EBS(这两个桶简称C桶和E桶),代表所允许的不同突发级别。每次评估时,依据“C桶有足够的令牌”、“C桶令牌不足,但E桶足够”以及“C桶和E桶都没有足够的令牌”的情况,可以分别实施不同的流控策略。
TP(Traffic Policing,流量监管)的典型应用是监督进入网络的某一流量的规格,把它限制在一个合理的范围之内,或对超出的部分流量进行“惩罚”,以保护网络资源和运营商的利益。例如可以限制HTTP报文不能占用超过50%的网络带宽。如果发现某个连接的流量超标,流量监管可以丢弃报文。
流量监管广泛的用于监管进入因特网服务提供商ISP的网络流量。流量监管还包括对所监管流量的流分类服务,并依据不同的评估结果,实施预先设定好的监管动作。这些动作可以是:
l 转发:对评估结果为“符合”或者“不符合”的报文正常转发。
l 丢弃:对评估结果为“符合”或者“不符合”的报文进行丢弃。
l 重标记802.1p优先级并转发:对评估结果为“符合”的报文,重标记其802.1p优先级并转发。
l 重标记IP优先级并转发:对评估结果为“符合”的报文,重标记其IP优先级并转发。
l 重标记DSCP优先级并转发:对评估结果为“符合”或者“不符合”的报文,重标记其DSCP优先级并转发。
利用LR(Line Rate,端口限速)可以在一个端口上限制发送报文的总速率。
LR也是采用令牌桶进行流量控制。如果在设备的某个端口上配置了LR,所有经由该端口发送的报文首先要经过LR的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将被丢弃。
与流量监管相比,端口限速能够限制在端口上通过的所有报文。当用户只要求对所有报文限速时,使用端口限速比较简单。
表2-4 端口限速配置
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口限速 |
qos lr outbound cir committed-information-rate [ cbs committed-burst-size ] |
必选 |
限制端口GigabitEthernet 1/0/1发送报文的速率为640 kbps。
配置步骤:
# 进入系统视图
<Sysname> system-view
# 进入端口视图
[Sysname] interface GigabitEthernet 1/0/1
# 配置限速参数,将端口发送报文的速率限制为640kbps
[Sysname-GigabitEthernet1/0/1] qos lr outbound cir 640
完成上述配置后,在任意视图下执行display命令,可以显示配置端口限速后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表2-5 端口限速显示
操作 |
命令 |
显示端口限速的配置信息 |
display qos lr interface [ interface-type interface-number ] |
QoS策略包含了三个要素:类、流行为、策略。用户可以通过QoS策略将指定的类和流行为绑定起来,方便的进行QoS配置。
类是用来识别流的。
类的要素包括:类的名称和类的规则。
用户可以通过命令定义一系列的规则,来对报文进行分类。同时用户可以通过命令指定规则之间的关系:and和or。
l and:报文只有匹配了所有的规则,设备才认为报文属于这个类。
l or:报文只要匹配了类中的一个规则,设备就认为报文属于这个类。
流行为用来定义针对报文所做的QoS动作。
流行为的要素包括:流行为的名称和流行为中定义的动作。
用户可以通过命令在一个流行为中定义多个动作。
策略用来将指定的类和指定的流行为绑定起来。
策略的要素包括:策略名称、绑定在一起的类和流行为的名称。
QoS策略的配置步骤如下:
(1) 定义类,并在类视图中定义一组流分类规则;
(2) 定义流行为,并在流行为视图中定义一组动作;
(3) 定义策略,在策略视图下为使用的类中指定对应的流行为;
l 确定了策略中类的名称、类的匹配规则
l 确定了策略中流行为的名称、流行为中包含的动作
l 确定了策略的名称
l 确定了应用策略的端口或端口组
定义类首先要创建一个类名称,然后在此类视图下配置其匹配规则。
表3-1 定义类
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建类并进入类视图 |
traffic classifier classifier-name [ operator { and | or } ] |
必选 缺省情况下,类视图下各规则之间的关系为and,即逻辑与 |
配置匹配报文的规则 |
if-match match-criteria |
必选 |
match-criteria:匹配规则,取值如表3-2所示。
表3-2 匹配规则
取值 |
描述 |
acl access-list-number |
定义匹配IPv4 ACL的规则,access-list-number的取值范围为2000~4999 需要注意的是,当类中各规则之间的关系为and时,如果在一个IPv4 ACL中定义了多条规则,在应用策略时,各条规则之间的逻辑关系实际为or |
acl ipv6 access-list-number |
定义匹配IPv6 ACL的规则,access-list-number的取值范围为2000~3999 需要注意的是,当类中各规则之间的关系为and时,如果在一个IPv6 ACL中定义了多条规则,在应用策略时,各条规则之间的逻辑关系实际为or |
any |
定义匹配所有报文的规则 |
customer-dot1p 8021p-list |
定义匹配用户网络802.1p优先级的规则,8021p-list为CoS取值的列表,最多可以输入8个CoS取值,用空格隔开,CoS的取值范围为0~7 |
customer-vlan-id vlan-id-list |
定义匹配用户网络VLAN ID的规则,vlan-id-list为VLAN ID的列表,形式可以为vlan-id to vlan-id,也可以输入多个不连续的VLAN ID,用空格隔开,设备最多允许用户同时指定8个VLAN ID;VLAN ID的取值范围为1~4094 需要注意的是,当类中各规则之间的关系为and时,如果在一个customer-vlan-id匹配规则中同时配置了多个值,在应用策略时,各个值之间的逻辑关系实际为or |
destination-mac mac-address |
定义匹配目的MAC地址的规则 |
dscp dscp-list |
定义匹配DSCP的规则,dscp-list为DSCP取值的列表,最多可以输入8个DSCP取值,用空格隔开,DSCP的取值范围为0~63 |
ip-precedence ip-precedence-list |
定义匹配IP优先级的规则,ip-precedence-list为IP优先级取值的列表,最多可以输入8个IP优先级取值,用空格隔开,IP优先级的取值范围为0~7 |
protocol protocol-name |
定义匹配协议的规则,protocol-name取值为IP或IPv6 |
service-dot1p 8021p-list |
定义匹配运营商网络802.1p优先级的规则,8021p-list为CoS取值的列表,最多可以输入8个CoS取值,用空格隔开,CoS的取值范围为0~7 |
service-vlan-id vlan-id-list |
定义匹配运营商网络VLAN ID的规则,vlan-id-list为VLAN ID的列表,形式可以为vlan-id to vlan-id,也可以输入多个不连续的VLAN ID,用空格隔开,设备最多允许用户同时指定8个VLAN ID;VLAN ID的取值范围为1~4094 需要注意的是,当类中各规则之间的关系为and时,如果在一个service-vlan-id匹配规则中同时配置了多个值,在应用策略时,各个值之间的逻辑关系实际为or |
source-mac mac-address |
定义匹配源MAC地址的规则 |
& 说明:
如果指定类的逻辑关系为and,使用if-match命令定义匹配规则时,有如下注意事项:
l 匹配规则含有acl或acl ipv6时,如果在类中配置了多条这样的匹配规则,在应用策略时,匹配acl或acl ipv6的规则之间的逻辑关系实际为or。
l 匹配规则含有customer-vlan-id或service-vlan-id时,如果在类中配置了多条这样的匹配规则,在应用策略时,匹配customer-vlan-id或service-vlan-id的规则之间的逻辑关系实际为or。
(1) 组网需求
配置一个类test,规则为匹配IP优先级为6的报文。
(2) 配置步骤
# 进入系统视图。
<Sysname> system-view
# 定义类并进入类视图。
[Sysname] traffic classifier test
# 配置匹配规则。
[Sysname-classifier-test] if-match ip-precedence 6
定义流行为首先需要创建一个流行为名称,然后在此流行为视图下配置其动作。
表3-3 定义流行为
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置统计动作 |
accounting |
必选 用户可以根据需要配置相应的流行为 |
配置流量监管动作 |
car cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ pir peak-information-rate ] [ green action ] [ red action ] [ yellow action ] |
|
配置流量过滤动作 |
filter { deny | permit } |
|
配置流镜像动作 |
mirror-to { cpu | interface interface-type interface-number } |
|
配置外层VLAN标签 |
nest top-most vlan-id vlan-id |
|
配置重定向动作 |
redirect { cpu | interface interface-type interface-number | link-aggregation group agg-id | next-hop { ipv4-add [ ipv4-add ] | ipv6-add [ interface-type interface-number ] [ ipv6-add [ interface-type interface-number ] ] } } |
|
配置标记报文的用户网络VLAN ID |
remark customer-vlan-id vlan-id-value |
|
配置标记报文的DSCP值 |
remark dscp dscp-value |
|
配置标记报文的802.1p优先级 |
remark dot1p 8021p |
|
配置标记报文的丢弃优先级 |
remark drop-precedence drop-precedence-value |
|
配置标记报文的IP优先级值 |
remark ip-precedence ip-precedence-value |
|
配置标记报文的本地优先级 |
remark local-precedence local-precedence |
|
配置标记报文的运营商网络VLAN ID |
remark service-vlan-id vlan-id-value |
定义流行为test,配置流量监管动作,限制报文的速率为640kbps。
配置步骤:
# 进入系统视图。
<Sysname> system-view
# 创建流行为并进入流行为视图。
[Sysname] traffic behavior test
# 配置流量监管动作。
[Sysname-behavior-test] car cir 640
定义策略指的是定义该策略中类和流行为的对应关系。
每个策略下可以配置多组类和流行为的对应关系,设备将按照配置的顺序进行应用。
表3-4 在策略中为类指定流行为
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建策略并进入策略视图 |
qos policy policy-name |
- |
在策略中为类指定采用的流行为 |
classifier classifier-name behavior behavior-name |
必选 |
& 说明:
当用户在策略下配置了多组类和流行为的对应关系时,如果某个流行为中配置了nest、remark customer-vlan-id或remark service-vlan-id动作,建议用户不要在此流行为中配置其他动作,以保证应用策略后实际的运行结果与用户的配置意图一致。
表3-5 应用策略
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
应用策略 |
qos apply policy policy-name { inbound | outbound } |
必选 |
需要注意的是,应用策略时inbound和outbound方向的支持情况和流行为中定义的动作有关,详细情况如下表所示。
表3-6 inbound和outbound方向的支持情况
动作 |
inbound方向 |
outbound方向 |
流量统计 |
支持 |
支持 |
流量监管 |
支持 |
支持 |
流量过滤 |
支持 |
支持 |
流镜像 |
支持 |
支持 |
外层VLAN标签 |
支持 |
不支持 |
重定向 |
支持 |
不支持 |
标记报文的用户网络VLAN ID |
不支持 |
支持 |
标记报文的802.1p优先级 |
支持 |
支持 |
标记报文的丢弃优先级 |
支持 |
不支持 |
标记报文的DSCP优先级 |
支持 |
支持 |
标记报文的IP优先级 |
支持 |
支持 |
标记报文的本地优先级 |
支持 |
不支持 |
标记报文的运营商网络VLAN ID |
支持 |
支持 |
注意:
在定义流行为时请遵循如下约束,否则策略将不能成功应用:
l nest动作与除filter、remark dot1p以外的其他动作不能同时配置,并且将nest动作应用到端口/端口组之前必须在端口/端口组上开启基本QinQ功能。
l remark service-vlan-id动作应用于入方向(inbound)时,与除filter、remark dot1p以外的其他动作不能同时配置。
l mirror-to动作应用于出方向(outbound)时,不能与其他动作同时配置。
定义策略test,为类test_class指定流行为test_behavior,并将该策略应用到端口GigabitEthernet 1/0/1的入方向上。
配置步骤:
# 进入系统视图。
<Sysname> system-view
# 创建策略并进入策略视图。
[Sysname] qos policy test
[Sysname-qospolicy-test]
# 为类指定流行为。
[Sysname-qospolicy-test] classifier test_class behavior test_behavior
[Sysname-qospolicy-test] quit
# 进入端口视图。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1]
# 将策略应用到端口上。
[Sysname-GigabitEthernet1/0/1] qos apply policy test inbound
完成上述配置后,在任意视图下执行display命令,可以显示配置QoS策略后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表3-7 QoS策略显示
操作 |
命令 |
显示指定策略或所有策略中指定类或所有类以及与类关联的行为的配置信息 |
display qos policy user-defined [ policy-name [ classifier classifier-name ] ] |
显示指定端口或所有端口上策略的配置信息和运行情况 |
display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] |
显示流行为的配置信息 |
display traffic behavior user-defined [ behavior-name ] |
显示类的配置信息 |
display traffic classifier user-defined [ classifier-name ] |
当分组到达的速度大于端口发送分组的速度时,在该端口处就会产生拥塞。如果没有足够的存储空间来保存这些分组,它们其中的一部分就会丢失。分组的丢失又可能会导致发送该分组的设备因超时而重传此分组,这将导致恶性循环。
拥塞管理的中心内容就是当拥塞发生时如何制定一个资源的调度策略,决定报文转发的处理次序。
对于拥塞管理,一般采用排队技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、延迟抖动等有着十分重要的影响。
这里介绍两种各具特色的队列调度算法:严格优先级SP(Strict-Priority)队列调度算法和加权轮询WRR(Weighted Round Robin)队列调度算法。
(1) SP队列调度算法
图4-1 SP队列示意图
SP队列调度算法,是针对关键业务类型应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。以端口有8个输出队列为例,优先队列将端口的8个输出队列分成8类,依次为7、6、5、4、3、2、1、0队列,它们的优先级依次降低。
在队列调度时,SP严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
SP的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”。
(2) WRR队列调度算法
WRR队列调度算法在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。以端口有8个输出队列为例,WRR可为每个队列配置一个加权值(依次为w7、w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。如一个100M的端口,配置它的WRR队列调度算法的加权值为50、50、30、30、10、10、10、10(依次对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少获得5Mbit/s带宽,避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。WRR队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
S5500-EI系列以太网交换机支持以下三种队列调度方式:
l 所有队列全部采用SP调度。
l 所有队列全部采用WRR调度。
l 部分队列采用SP调度,部分队列采用WRR调度。
表4-1 配置SP队列
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置SP队列 |
qos sp |
必选 缺省情况下,所有端口使用WRR队列调度算法,队列0~7的权重分别为1、2、3、4、5、9、13、15 |
配置端口GigabitEthernet 1/0/1使用SP队列调度算法。
# 进入系统视图
<Sysname> system-view
# 配置端口GigabitEthernet 1/0/1使用SP队列调度算法。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos sp
表4-2 配置WRR队列
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置WRR队列 |
qos wrr queue-id group group-id weight schedule-value |
必选 缺省情况下,所有端口使用WRR队列调度算法,队列0~7的权重分别为1、2、3、4、5、9、13、15 |
配置端口GigabitEthernet 1/0/1使用WRR队列调度算法,队列0~7的权重分别为1、2、4、6、8、10、12、14。
# 进入系统视图。
<Sysname> system-view
# 配置端口GigabitEthernet 1/0/1使用WRR队列调度算法。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos wrr 0 group 1 weight 1
[Sysname-GigabitEthernet1/0/1] qos wrr 1 group 1 weight 2
[Sysname-GigabitEthernet1/0/1] qos wrr 2 group 1 weight 4
[Sysname-GigabitEthernet1/0/1] qos wrr 3 group 1 weight 6
[Sysname-GigabitEthernet1/0/1] qos wrr 4 group 1 weight 8
[Sysname-GigabitEthernet1/0/1] qos wrr 5 group 1 weight 10
[Sysname-GigabitEthernet1/0/1] qos wrr 6 group 1 weight 12
[Sysname-GigabitEthernet1/0/1] qos wrr 7 group 1 weight 14
用户可以根据需要配置端口上的部分队列使用SP队列调度,部分队列使用WRR队列调度,通过将端口上的队列分别加入SP调度组和WRR调度组(即group 1),实现SP+WRR的调度功能。在队列调度时,系统会优先保证SP调度组内的队列调度,当SP调度组内的队列中没有报文发送时,才会调度WRR调度组内的队列。SP调度组内各个队列执行严格优先级调度方式,WRR调度组内各个队列执行加权轮询调度方式。
表4-3 配置SP+WRR队列
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置SP队列 |
qos wrr queue-id group sp |
必选 缺省情况下,所有端口使用WRR队列调度算法,队列0~7的权重分别为1、2、3、4、5、9、13、15 |
|
配置WRR队列 |
qos wrr queue-id group group-id weight queue-weight |
可选 |
l 配置端口GigabitEthernet 1/0/1使用SP+WRR队列调度算法
l 配置端口GigabitEthernet 1/0/1上的0、1、2、3队列属于SP调度组
l 配置端口GigabitEthernet 1/0/1上的4、5、6、7队列属于WRR调度组,权重分别为2、4、6、8
# 进入系统视图。
<Sysname> system-view
# 配置端口GigabitEthernet 1/0/1使用SP+WRR队列调度算法。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos wrr 0 group sp
[Sysname-GigabitEthernet1/0/1] qos wrr 1 group sp
[Sysname-GigabitEthernet1/0/1] qos wrr 2 group sp
[Sysname-GigabitEthernet1/0/1] qos wrr 3 group sp
[Sysname-GigabitEthernet1/0/1] qos wrr 4 group 1 weight 2
[Sysname-GigabitEthernet1/0/1] qos wrr 5 group 1 weight 4
[Sysname-GigabitEthernet1/0/1] qos wrr 6 group 1 weight 6
[Sysname-GigabitEthernet1/0/1] qos wrr 7 group 1 weight 8
完成上述配置后,在任意视图下执行display命令,可以显示配置拥塞管理后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表4-4 拥塞管理显示
操作 |
命令 |
显示WRR队列的配置信息 |
display qos wrr interface [ interface-type interface-number ] |
显示SP队列的配置信息 |
display qos sp interface [ interface-type interface-number ] |
报文在进入交换机以后,交换机会根据自身支持的情况和相应的规则给报文分配包括802.1p优先级、DSCP优先级、IP优先级、本地优先级、丢弃优先级等在内的一系列参数。
其中,本地优先级和丢弃优先级的概念如下:
l 本地优先级:交换机为报文分配的一种具有本地意义的优先级,对应出端口队列,本地优先级值大的报文被优先处理。
l 丢弃优先级:交换机在丢弃报文时参考的优先级,丢弃优先级值大的报文被优先丢弃。
S5500-EI系列以太网交换机提供两种优先级信任模式:
l 信任报文的DSCP优先级:根据报文的DSCP优先级,查找DSCP优先级到802.1p优先级/丢弃优先级/DSCP优先级映射表,为报文标记802.1p优先级、丢弃优先级和新的DSCP优先级。然后再根据802.1p优先级查找802.1p优先级到本地优先级映射表,为报文标记本地优先级。
l 信任报文的802.1p优先级:对于不带有802.1Q标签头的报文,交换机将使用端口的优先级作为该端口接收的报文的802.1p优先级,然后根据此优先级查找802.1p优先级到本地优先级/丢弃优先级映射表,然后为报文标记本地优先级和丢弃优先级;对于带有802.1Q标签头的报文,根据报文的802.1p优先级,查找802.1p优先级到本地优先级/丢弃优先级映射表,然后为报文标记本地优先级和丢弃优先级。
S5500-EI系列以太网交换机提供的802.1p优先级到本地优先级/丢弃优先级、DSCP优先级到802.1p优先级/丢弃优先级/DSCP优先级的映射关系缺省取值如下表所示。
表5-1 dot1p-lp,dot1p-dp缺省映射关系
映射输入索引 |
dot1p-lp映射 |
dot1p-dp映射 |
802.1p优先级(dot1p) |
本地优先级(lp) |
丢弃优先级(dp) |
0 |
2 |
0 |
1 |
0 |
0 |
2 |
1 |
0 |
3 |
3 |
0 |
4 |
4 |
0 |
5 |
5 |
0 |
6 |
6 |
0 |
7 |
7 |
0 |
表5-2 dscp-dp,dscp-dot1p,dscp-dscp缺省映射关系
映射输入索引 |
dscp-dp映射 |
dscp-dot1p映射 |
dscp-dscp映射 |
DSCP优先级 |
丢弃优先级(dp) |
802.1p优先级(dot1p) |
DSCP优先级 |
0~7 |
0 |
0 |
0 |
8~15 |
0 |
1 |
8 |
16~23 |
0 |
2 |
16 |
24~31 |
0 |
3 |
24 |
32~39 |
0 |
4 |
32 |
40~47 |
0 |
5 |
40 |
48~55 |
0 |
6 |
48 |
56~63 |
0 |
7 |
56 |
用户确定了新的优先级映射关系。
表5-3 优先级映射关系配置过程
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入映射表视图 |
qos map-table { dot1p-dp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp } |
必选 用户可以根据需要进入相应的优先级映射表视图 |
配置映射关系 |
import import-value-list export export-value |
必选 新配置的映射项将覆盖原有的映射项 |
& 说明:
配置DSCP优先级与丢弃优先级的映射关系时,不支持将DSCP优先级映射为丢弃优先级1。
修改802.1p优先级到本地优先级映射表,修改后的映射关系如下表所示。
表5-4 802.1p优先级到本地优先级映射关系
802.1p优先级 |
本地优先级 |
0 |
0 |
1 |
0 |
2 |
1 |
3 |
1 |
4 |
2 |
5 |
2 |
6 |
3 |
7 |
3 |
# 进入系统视图。
<Sysname> system-view
# 进入802.1p优先级到本地优先级映射表视图。
[Sysname] qos map-table dot1p-lp
# 修改802.1p优先级到本地优先级映射表参数。
[Sysname-maptbl-dot1p-lp] import 0 1 export 0
[Sysname-maptbl-dot1p-lp] import 2 3 export 1
[Sysname-maptbl-dot1p-lp] import 4 5 export 2
[Sysname-maptbl-dot1p-lp] import 6 7 export 3
缺省情况下,对于不带有802.1Q标签头的报文,交换机将使用端口的优先级作为该端口接收的报文的802.1p优先级,然后根据该优先级查找802.1p优先级到本地优先级/丢弃优先级映射表,为报文标记本地优先级/丢弃优先级。
端口优先级取值范围为0~7,用户可以根据需要配置端口的优先级。
用户确定了相应端口的端口优先级取值。
表5-5 配置端口优先级
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口优先级 |
qos priority priority-value |
必选 缺省情况下,端口优先级为0 |
配置端口GigabitEthernet 1/0/1的优先级为7。
# 进入系统视图。
<Sysname> system-view
# 配置端口GigabitEthernet 1/0/1的优先级为7。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos priority 7
用户可以通过配置实现交换机信任报文的DSCP优先级,使用DSCP优先级到802.1p优先级/丢弃优先级/DSCP优先级映射表为报文标记相应的优先级。
确定了需要信任报文的DSCP优先级。
表5-6 配置优先级信任模式
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置信任报文的DSCP优先级 |
qos trust dscp |
必选 缺省情况下,信任模式为信任报文的802.1p优先级 |
配置端口GigabitEthernet 1/0/1上的优先级信任模式为信任报文的DSCP优先级。
# 进入系统视图。
<Sysname> system-view
# 进入端口视图。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1]
# 配置端口GigabitEthernet 1/0/1上的信任模式为信任报文的DSCP优先级。
[Sysname-GigabitEthernet1/0/1] qos trust dscp
完成上述配置后,在任意视图下执行display命令,可以显示配置优先级映射后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表5-7 优先级映射显示
操作 |
命令 |
显示优先级映射表的配置信息 |
display qos map-table [ dot1p-dp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp ] |
显示优先级信任模式的配置信息 |
display qos trust interface [ interface-type interface-number ] |
QoS策略支持如下的应用方式:
l 基于端口应用:QoS策略对端口接收的流量生效
l 基于VLAN应用:QoS策略对该VLAN接收的流量生效
基于VLAN应用的策略简称为VLAN策略。VLAN策略可以方便QoS策略在设备上的应用和管理。
需要注意的是,VLAN策略不能应用到动态VLAN上。例如,在运行GVRP协议的情况下,设备可能会动态创建VLAN,相应的VLAN策略在动态VLAN上不生效。
l VLAN策略已经配置完毕,具体配置请参见“3.2 QoS策略的配置过程”
l 确定了应用策略的VLAN
表6-1 应用VLAN策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
应用策略到指定的VLAN |
qos vlan-policy policy-name vlan vlan-id-list { inbound | outbound } |
必选 |
需要注意的是,应用VLAN策略时inbound和outbound方向的支持情况和流行为中定义的动作有关,详细情况请参见表3-6。
在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN策略的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除VLAN策略的统计信息。
表6-2 VLAN策略显示和维护
操作 |
命令 |
显示VLAN策略的配置信息 |
display qos vlan-policy { name policy-name | vlan [ vlan-id ] } |
清除VLAN策略的统计信息 |
reset qos vlan-policy [ vlan vlan-id ] |
l 配置VLAN策略test,对匹配基本IPv4 ACL 2000的报文进行流量监管,限制报文的速率为64kpbs,丢弃超出限制的报文。
l 对VLAN 200、300、400、500、600、700、800、900接收的报文应用策略test。
# 进入系统视图。
<Sysname> system-view
# 创建类并进入类视图。
[Sysname] traffic classifier cl1
# 配置分类规则。
[Sysname-classifier-cl1] if-match acl 2000
[Sysname-classifier-cl1] quit
# 创建流行为并进入流行为视图。
[Sysname] traffic behavior be1
# 配置流行为。
[Sysname-behavior-be1] car cir 64
[Sysname-behavior-be1] quit
# 创建QoS策略并进入QoS策略视图。
[Sysname] qos policy test
# 为类指定流行为。
[Sysname-qospolicy-test] classifier cl1 behavior be1
[Sysname-qospolicy-test] quit
# 应用策略到指定的VLAN。
[Sysname] qos vlan-policy test vlan 200 300 400 500 600 700 800 900 inbound
流镜像,即将指定的数据包复制到用户指定的目的地,以进行网络检测和故障排除。
流镜像分为三种:流镜像到端口、流镜像到CPU、流镜像到VLAN。
l 流镜像到端口,是把通过配置了流镜像的端口的符合要求的数据包复制一份,然后发送到目的端口。
l 流镜像到CPU,是把通过配置了流镜像的端口的符合要求的数据包复制一份,然后发送到CPU以供分析诊断。
l 流镜像到VLAN,是把通过配置了流镜像的端口的符合要求的数据包复制一份,然后发送到VLAN中广播,如果VLAN中有端口加入,那么加入的端口就可以接收到镜像报文,如果VLAN不存在,也可以预先配置,等VLAN被创建并有端口加入后,流镜像可以自动生效。
& 说明:
S5500-EI系列以太网交换机目前只支持配置流镜像到端口和流镜像到CPU。
配置流镜像时,用户首先要创建一个流行为,然后进入流行为视图进行流镜像的相关配置。
表7-1 配置流镜像
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置流镜像 |
mirror-to { cpu | interface interface-type interface-number } |
必选 |
完成上述配置后,在任意视图下执行display命令,可以显示配置流镜像后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表7-2 流镜像显示
操作 |
命令 |
显示流行为的配置信息 |
display traffic behavior user-defined behavior-name |
显示策略的配置信息 |
display qos policy user-defined [ policy-name [ classifier classifier-name ] ] |
用户网络描述如下:
l Host A(IP地址为192.168.0.1)和Host B通过端口GigabitEthernet 1/0/1接入交换机Switch;
l 数据监测设备连接在Switch的端口GigabitEthernet 1/0/2上。
要求通过数据监测设备对Host A发出的所有报文进行分析监控。
图7-1 配置流镜像组网图
# 进入系统视图。
<Sysname> system-view
# 配置基本IPv4 ACL 2000,匹配源IP地址为192.168.0.1的报文。
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule permit source 192.168.0.1 0
[Sysname-acl-basic-2000] quit
# 配置流分类规则,使用基本IPv4 ACL 2000进行流分类。
[Sysname] traffic classfier 1
[Sysname-classifier-1] if-match acl 2000
[Sysname-classifier-1] quit
# 配置流行为,定义流镜像到GigabitEthernet 1/0/2的动作。
[Sysname] traffic behavior 1
[Sysname-behavior-1] mirror-to interface GigabitEthernet 1/0/2
[Sysname-behavior-1] quit
# 配置QoS策略1,为流分类1指定流行为1。
[Sysname] qos policy 1
[Sysname-policy-1] classifier 1 behavior 1
[Sysname-policy-1] quit
# 将QoS策略应用到端口GigabitEthernet 1/0/1上。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos apply policy 1 inbound
完成上述配置后,用户可以在数据监测设备上对Host A发出的所有报文进行分析监控。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!