23-QoS配置
本章节下载: 23-QoS配置 (769.68 KB)
目 录
QoS(Quality of Service,服务质量)是各种存在服务供需关系的场合中普遍存在的概念,它评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是注重分析在什么条件下服务是好的,在什么情况下还存在着不足,以便有针对性地做出改进。
在Internet中,QoS所评估的就是网络转发分组的服务能力。由于网络提供的服务是多样的,因此对QoS的评估可以基于不同方面。通常所说的QoS,是对分组转发过程中为延迟、抖动、丢包率等核心需求提供支持的服务能力的评估。
传统的IP网络无区别地对待所有的报文,设备处理报文采用的策略是FIFO(First In First Out,先入先出),它依照报文到达时间的先后顺序分配转发所需要的资源。所有报文共享网络和设备的资源,至于得到资源的多少完全取决于报文到达的时间。这种服务策略称作Best-Effort,它尽最大的努力将报文送到目的地,但对分组转发的延迟、抖动、丢包率和可靠性等需求不提供任何承诺和保证。
传统的Best-Effort服务策略只适用于对带宽、延迟不敏感的WWW、文件传输、e-mail等业务。
随着计算机网络的高速发展,越来越多的网络接入Internet。Internet无论从规模、覆盖范围和用户数量上都拓展得非常快。越来越多的用户使用Internet作为数据传输的平台,开展各种应用。
除了传统的WWW、e-mail、FTP应用外,用户还尝试在Internet上拓展新业务,比如远程教学、远程医疗、可视电话、电视会议、视频点播等。企业用户也希望通过VPN技术,将分布在各地的分支机构连接起来,开展一些事务性应用:比如访问公司的数据库或通过Telnet管理远程设备。
这些新业务有一个共同特点,即对带宽、延迟、抖动等传输性能有着特殊的需求。比如电视会议、视频点播需要高带宽、低延迟和低抖动的保证。事务处理、Telnet等关键任务虽然不一定要求高带宽,但非常注重低延迟,在拥塞发生时要求优先获得处理。
新业务的不断涌现对IP网络的服务能力提出了更高的要求,用户已不再满足于能够简单地将报文送达目的地,还希望在转发过程中得到更好的服务,诸如支持为用户提供专用带宽、减少报文的丢失率、管理和避免网络拥塞、调控网络的流量、设置报文的优先级。所有这些,都要求网络应当具备更为完善的服务能力。
传统网络所面临的服务质量问题,主要是由网络拥塞引起的。所谓拥塞,是指由于供给资源的相对不足而造成转发速率下降、引入额外的延迟的一种现象。
在Internet分组交换的复杂环境下,拥塞极为常见。以下图中的两种情况为例:
图1-1 流量拥塞示意图
(1) 分组流从高速链路进入设备,由低速链路转发出去。
(2) 分组流从相同速率的多个端口同时进入网络设备,由一个相同速率的端口转发出去。
如果流量以线速到达,那么就会遭遇资源的瓶颈而导致拥塞。
不仅仅是链路带宽的瓶颈会导致拥塞,任何用以正常转发处理的资源的不足,如可分配的处理器时间、缓冲区、内存资源的不足,都会造成拥塞。此外,在某个时间内对所到达的流量控制不力,使之超出了可分配的网络资源,也是引发网络拥塞的一个因素。
拥塞有可能会引发一系列的负面影响:
l 拥塞增加了报文传输的延迟和抖动,过高的延迟会引起报文重传。
l 拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。
l 拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。
可见,拥塞使流量不能及时获得资源,是造成服务性能下降的源头。然而在分组交换以及多用户业务并存的复杂环境下,拥塞又是常见的,因此必须慎重加以对待。
增加网络带宽是解决资源不足的一个直接途径,然而它并不能解决所有导致网络拥塞的问题。
解决网络拥塞问题的一个更有效的办法是在网络中增加流量控制和资源分配的功能,为有不同服务需求的业务提供有区别的服务,正确地分配和使用资源。在进行资源分配和流量控制的过程中,尽可能地控制好那些可能引发网络拥塞的直接或间接因素,减少拥塞发生的概率;在拥塞发生时,依据业务的性质及其需求特性权衡资源的分配,将拥塞对QoS的影响减到最小。
图1-2 端到端QoS模型图
如图1-2所示,流分类、流量监管、流量整形、拥塞管理和拥塞避免是构造有区别地实施服务的基石,它们主要完成如下功能:
l 流分类:依据一定的匹配规则识别出对象。流分类是有区别地实施服务的前提,通常作用在端口入方向。
l 流量监管:对进入设备的特定流量的规格进行监管,通常作用在端口入方向。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。
l 流量整形:一种主动调整流的输出速率的流控措施,是为了使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃和拥塞,通常作用在端口出方向。
l 拥塞管理:拥塞管理是必须采取的解决资源竞争的措施,是将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序,通常作用在端口出方向。
l 拥塞避免:过度的拥塞会对网络资源造成损害,拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载,通常作用在端口出方向。
在这些流量管理技术中,流分类是基础,它依据一定的匹配规则识别出报文,是有区别地实施服务的前提;而流量监管、流量整形、拥塞管理和拥塞避免从不同方面对网络流量及其分配的资源实施控制,是有区别地提供服务思想的具体体现。
S3600-OLT系列交换机支持以下几种QoS技术:
l 流分类
l 访问控制
l 流量监管和端口限速
l 拥塞管理
l 拥塞避免
本节重点介绍流分类技术,后续章节会对其他技术进行详细介绍。
流分类可以使用IP报文头的ToS(Type of Service,服务类型)字段的优先级位,识别出有不同优先级特征的流量;也可以由网络管理者设置流分类的策略,例如综合源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。
流分类的结果是没有范围限制的,它可以是一个由五元组(源地址、源端口号、协议号、目的地址、目的端口号)确定的狭小范围,也可以是到某网段的所有报文。
一般在网络边界对报文分类时,同时设置报文IP头的ToS字段中的优先级位。这样,在网络的内部就可以直接使用IP优先级作为分类标准。而队列技术也可以使用这个优先级来对报文进行不同的处理。下游网络可以选择接收上游网络的分类结果,也可以按照自己的标准重新进行分类。
进行流分类是为了有区别地提供服务,它必须与某种流控或资源分配动作关联起来才有意义。具体采取何种流控动作,与所处的阶段以及网络当前的负载状况有关。例如,当报文进入网络时依据承诺速率对它进行监管;流出节点之前进行整形;拥塞时对队列进行调度管理;拥塞加剧时采取拥塞避免措施等。
EPON系统的QoS通过OLT侧和ONU侧共同来保障,下面分别介绍对于上行和下行流量可以配置的QoS功能。
l 配置ONU设备的优先级信任模式;
l 配置ONU设备的流分类功能:ONU对从UNI端口上行的报文进行流分类,并为匹配分类规则的流量进行CoS优先级的重标记;
l 配置ONU端口对收到的上行不带802.1Q标签的报文添加缺省VLAN Tag,并把ONU端口优先级填入Priority字段作为802.1p优先级(即CoS优先级);
l 配置ONU设备对UNI端口的上行流量进行监管;
l OLT设备根据上行报文的CoS优先级和本地优先级的映射关系,把上行流量分配到不同的出端口队列;
l 配置ONU对从上行口发送的流量进行拥塞管理,支持SP、WRR、SP+WRR和WFQ队列调度方式;
l 缺省情况下,OLT端口信任报文的802.1p优先级,可以通过命令行设置信任报文的DSCP优先级,这样OLT将先根据DSCP优先级和CoS优先级的映射关系,获得CoS优先级,再通过CoS优先级映射到对应的出端口队列;该配置对所有ONU上行的报文均生效;
l 配置上行千兆以太网端口的拥塞管理功能,支持SP、WRR和SP+WRR队列调度方式;
l 配置OLT设备的拥塞避免功能。当端口流量拥塞时,有选择的对收到的报文进行丢弃。
EPON系统上行流量的QoS功能模型示意如图1-3所示。
图1-3 EPON系统上行流量QoS模型示意图
l 配置OLT设备对从千兆以太网端口接收并转发过来的报文进行优先级映射(根据CoS优先级到本地优先级的映射表),然后进入OLT端口的出队列;
l 配置OLT设备对下行流量进行拥塞管理,支持SP和WRR队列调度方式;
l 配置OLT设备对下行流量进行限速和整形;
l 配置OLT设备对发往指定ONU的下行流量配置高优先级数据缓冲区;
l 配置ONU设备对接收到的下行流量进行优先级映射(根据CoS优先级和本地优先级的映射表),把下行流量分配到不同的出端口队列;
l ONU对UNI端口进行下行流量监管。
某些ONU设备可以支持对UNI端口发出的报文配置队列调度,具体配置需要用户登录到ONU设备上进行配置,请参见ONU设备的用户手册。
EPON系统下行流量的QoS功能模型示意如图1-4所示。
图1-4 EPON系统下行流量QoS模型示意图
对于EPON系统中上下行数据的各种QoS配置方法请参见表1-1和表1-2中的相关章节。
表1-1 EPON系统的QoS在OLT侧的保障措施
OLT侧的QoS功能 |
相关章节 |
|
上行数据的QoS配置 |
OLT对报文进行优先级映射 |
|
配置OLT端口优先级信任模式 |
||
对所有ONU的上行数据配置流量监管(通过QoS方式实现) |
||
在上行以太网端口配置拥塞管理(SP和WRR) |
||
下行数据的QoS配置 |
OLT对上行千兆以太网端口接收的报文进行优先级映射 |
|
在下行OLT端口配置拥塞管理(SP和WRR) |
||
设置为指定ONU设置高优先级队列缓冲区 |
2.2.4 、 |
|
对下行报文的物理端口限速 |
表1-2 EPON系统的QoS在ONU侧的保障措施
ONU侧的QoS功能 |
相关章节 |
|
上行数据的QoS配置 |
对从UNI端口进入的报文进行分类和CoS优先级重标记 |
|
配置ONU的优先级信任模式 |
||
对UNI端口的上行数据进行流量监管 |
||
ONU设备的上行端口配置拥塞管理(SP和WFQ) |
||
下行数据的QoS配置 |
ONU对来自OLT侧的下行报文进行优先级映射(根据CoS优先级到本地优先级映射表) |
|
设置ONU端口优先级 |
||
对从UNI端口发出的下行数据进行流量监管 |
流分类采用一定的规则识别符合某类特征的报文,它是有区别地进行服务的前提和基础。
流分类规则可以使用IP报文头的ToS(Type of Service,服务类型)字段的优先级位,识别出有不同优先级特征的流量;也可以由网络管理者设置流分类的策略,例如综合源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。一般的分类依据都局限在封装报文的头部信息,使用报文的内容作为分类的标准是比较少见的。分类的结果是没有范围限制的,它可以是一个由五元组(源地址、源端口号、协议号、目的地址、目的端口号)确定的狭小范围,也可以是到某网段的所有报文。
一般在网络边界对报文分类时,同时设置报文IP头的ToS字段中的优先级位。这样,在网络的内部就可以直接使用IP优先级作为分类标准。而队列技术也可以使用这个优先级来对报文进行不同的处理。下游网络可以选择接收上游网络的分类结果,也可以按照自己的标准重新进行分类。
进行流分类是为了有区别地提供服务,它必须与某种流控或资源分配动作关联起来才有意义。具体采取何种流控动作,与所处的阶段以及网络当前的负载状况有关。例如,当报文进入网络时依据承诺速率对它进行监管;流出结点之前进行整形;拥塞时的队列调度管理;拥塞加剧时要采取拥塞避免措施等。
如果不限制用户发送的流量,那么大量用户不断突发的数据只会使网络更拥挤。为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的流量加以限制。比如限制每个时间间隔某个流只能得到承诺分配给它的那部分资源,防止由于过分突发所引发的网络拥塞。
流量监管就是一种通过对流量规格的监督,来限制流量及其资源使用的流控策略。进行流量监管有一个前提条件,就是要知道流量是否超出了规格,然后才能根据评估结果实施调控策略。一般采用令牌桶(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桶都没有足够的令牌”的情况,可以分别实施不同的流控策略。
流量监管的典型应用是监督进入网络的某一流量的规格,把它限制在一个合理的范围之内,或对超出的部分流量进行“惩罚”,以保护网络资源和运营商的利益。例如可以限制HTTP报文不能占用超过50%的网络带宽。如果发现某个连接的流量超标,流量监管可以选择丢弃报文,或重新设置报文的优先级。
流量监管广泛的用于监管进入Internet服务提供商ISP的网络流量。流量监管还包括对所监管流量的流分类服务,并依据不同的评估结果,实施预先设定好的监管动作。这些动作可以是:
l 转发:比如对评估结果为“符合”的报文继续正常转发的处理。
l 丢弃:比如对评估结果为“不符合”的报文进行丢弃。
l 改变优先级并转发:比如对评估结果为“符合”的报文,将之标记为其它的DSCP优先级后再进行转发。
在EPON组网环境中,S3600系列以太网PON OLT交换机还可以根据不同的终端业务需求,为每个ONU分配不同的上下行带宽,以实现带宽资源的有效利用。
利用LR(Line Rate,物理端口限速)可以在一个物理端口上限制发送报文(包括紧急报文)的总速率。
LR也是采用令牌桶进行流量控制。如果在设备的某个端口上配置了LR,所有经由该端口发送的报文首先要经过LR的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将进入QoS队列进行拥塞管理。这样,就可以对通过该物理端口的报文流量进行控制。
图2-2 LR处理过程示意图
由于采用了令牌桶控制流量,当令牌桶中存有令牌时,可以允许报文的突发性传输;当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以继续发送。这就限制了报文的流量不能大于令牌生成的速度,达到了限制流量,同时允许突发流量通过的目的。
与流量监管相比,物理端口限速能够限制在物理端口上通过的所有报文。流量监管在IP层实现,可以对端口上不同的流分类进行限速,但是对于不经过IP层处理的报文不起作用。当用户只要求对所有报文限速时,使用物理端口限速比较简单。
对于需要从OLT端口发出的报文,可以通过设定优先级的阈值来分为高优先级报文和低优先级报文。高优先级报文在相应的高优先级队列中传输,用户可以通过设置发送缓冲区来为高优先级队列保留缓冲空间,使高优先级报文的传输质量得到保障,而这个缓冲空间对低优先级队列不起作用。
在S3600系列以太网PON OLT交换机上,对以太网端口和OLT端口的流量监管功能通过配置QoS策略实现,详细配置请参见QoS策略配置部分的介绍。本节主要介绍对ONU设备所配置的以下两种流量监管功能:
l 根据ONU所连接的终端业务需求为每个ONU分配不同的下行带宽,并请参见表2-1。
l 对UNI端口上行和下行的流量配置流量监管功能,请参见表2-2。
表2-1 配置为ONU分配的带宽及相关参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ONU端口视图 |
interface interface-type interface-number |
- |
开启ONU下行带宽策略监管功能 |
bandwidth downstream policy enable |
必选 缺省情况下,下行带宽监管策略处于关闭状态 |
配置ONU下行带宽范围 |
bandwidth downstream { max-bandwidth value | max-burstsize value } * |
可选 缺省情况下,最大带宽为999994Kbps,最大突发缓存为8388480字节 |
|
|
|
l 仅当下行带宽策略监管开启时,下行高优先级报文优先(请参见2.3.3 )和下行带宽范围配置才会有效。
l 下行带宽范围的设置仅对已知单播报文有效,未知单播报文、组播报文和广播报文流量不受带宽范围限制。
l 一个OLT端口下,所有已经创建的ONU端口下的上行最小带宽总和不能超过921600kbps(即900Mbps)。
表2-2 配置UNI端口上下行流量监管
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ONU端口视图 |
interface interface-type interface-number |
- |
配置UNI端口上下行流量监管参数 |
uni uni-number port-policy { { inbound { cir cir-value | bucket-depth bucket-depth-value | extra-burst-size ebs-value }* } | outbound cir cir-value [ pir pir-value ] } |
可选 CIR值应为64的倍数 缺省情况下,没有配置UNI端口的流量监管功能 需要注意的是,仅H3C的ONU支持outbound方向的限速 |
S3600系列以太网PON OLT交换机提供的物理端口限速功能可以对物理端口向外发送数据的速率进行限制。
表2-3 端口限速配置过程
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入以太网端口、OLT端口视图 |
interface interface-type interface-number |
二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group manual port-group-name |
||
设置端口限速 |
qos lr outbound cir committed-information-rate [ cbs committed-burst-size ] |
必选 |
|
显示端口的LR配置和统计信息 |
display qos lr interface [ interface-type interface-number ] |
display命令可以在任意视图下执行 |
把端口Olt1/0/1的出速度限制为512kbps。
# 进入系统视图。
<Sysname> system-view
# 进入端口视图。
[Sysname] interface Olt 1/0/1
# 配置限速参数,端口出速率限制为512kbps。
[Sysname-Olt1/0/1] qos lr outbound cir 512
用户需要在OLT视图下进行高优先级报文缓冲区的参数设置,然后在ONU端口视图下为当前视图所指代的ONU设备开启高优先级报文缓冲功能。完成配置后,当OLT设备发送目的为该ONU设备的报文时,将启用高优先级报文缓冲区,使高优先级报文优先被发送。
用户可以为多个ONU设备开启高优先级报文缓冲区功能,OLT设备将为每个ONU设备保留独立的缓冲区。
表2-4 配置OLT端口的QoS能力
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OLT端口视图 |
interface interface-type interface-number |
- |
配置优先级阈值,并设置高优先级报文缓冲区功能 |
bandwidth downstream priority-queue priority high-priority-reserved value |
必选 仅当OLT端口下行方向报文的优先级大于或等于priority值时,才认为该报文是具有高优先级的报文 Value单位为字节 缺省情况下,未给高优先级的报文保留缓冲区 |
退出至系统视图 |
quit |
- |
进入ONU端口视图 |
interface interface-type interface-number |
- |
配置为当前ONU保留高优先级缓冲区 |
bandwidth downstream high-priority enable |
可选 缺省情况下,OLT没有为ONU保留高优先级缓冲区 |
仅当下行带宽策略监管开启时(请参见2.3.1 ),下行高优先级报文优先配置才会有效。
在完成上述配置后,在任意视图下执行display命令可以显示配置后流量监管/端口限速的运行情况,通过查看显示信息验证配置的效果。
表2-5 流量监管/物理端口限速显示和维护
操作 |
命令 |
显示端口的LR配置和统计信息 |
display qos lr interface [ interface-type interface-number ] |
QoS策略包含了三个要素:类、流行为、策略。用户可以通过QoS策略将指定的类和流行为绑定起来,方便的进行QoS配置。
类是用来识别流的。
类的要素包括:类的名称和类的规则。
用户可以通过命令定义一系列的规则,来对报文进行分类。同时用户可以通过命令指定规则之间的关系:and或者or。
l and:报文只有匹配了所有的规则,设备才认为报文属于这个类。
l or:报文只要匹配了类中的一个规则,设备就认为报文属于这个类。
流行为用来定义针对报文所做的QoS动作。
流行为的要素包括:流行为的名称和流行为中定义的动作。
用户可以通过命令在一个流行为中定义多个动作。
策略用来将指定的类和指定的流行为绑定起来。
策略的要素包括:策略名称、绑定在一起的类和流行为的名称。
用户可以通过命令在一个策略中定义多个类与流行为的绑定关系。
QoS策略的配置步骤如下:
l 定义类,并在类视图中定义一组流分类规则
l 定义流行为,并在流行为视图中定义一组QoS动作
l 定义策略,在策略视图下为使用的类指定对应的流行为
l 确定了策略中类的名称、类的规则
l 确定了策略中流行为的名称、流行为中包含的动作
l 确定了策略的名称
定义类首先要创建一个类名称,然后在此类视图下配置其匹配规则。
表3-1 定义类
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 缺省为and,即类视图下各匹配规则之间的关系为逻辑与 |
定义匹配数据包的规则 |
if-match match-criteria |
必选 |
显示类信息 |
display traffic classifier user-defined [ tcl-name ] |
可选 display命令可以在任意视图下执行 |
match-criteria:匹配规则,取值如表3-2所示。
取值 |
描述 |
acl [ ipv6 ] { acl-number | name acl-name } |
定义匹配ACL的规则,IPv4 ACL编号的取值范围为2000~4999,IPv6 ACL编号的取值范围为2000~3999,用户还可以通过ACL名称来指定ACL 需要注意的是,如果类中各规则之间的关系为and,且匹配的规则中多条含有acl,在应用策略时,匹配acl的规则之间的逻辑关系实际为or。对单个ACL中各条rule之间的匹配顺序,设备遵循用户在创建ACL时配置的“配置顺序”或“深度优先顺序”,详情请参见ACL部分的介绍 |
any |
定义匹配所有报文的规则 |
customer-dot1p 8021p-list |
定义匹配用户网络802.1p优先级的规则,8021p-list为802.1p优先级值的列表,最多可以输入8个802.1p优先级值,802.1p优先级取值范围为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取值的列表,DSCP的取值范围为0~63, dscp-list最多可以输入8个DSCP取值(用空格隔开), 需要注意的是,当类中各规则之间的关系为and时,如果在一个dscp匹配规则中同时配置了多个值,在应用策略时,各个值之间的逻辑关系实际为or |
ip-precedence ip-precedence-list |
定义匹配IP优先级的规则,ip-precedence-list为IP优先级取值的列表,IP优先级的取值范围为0~7, ip-precedence-list最多可以输入8个IP优先级取值(用空格隔开), 需要注意的是,当类中各规则之间的关系为and时,如果在一个ip-precedence匹配规则中同时配置了多个值,在应用策略时,各个值之间的逻辑关系实际为or |
protocol protocol-name |
定义匹配协议的规则,protocol-name取值为ip、ipv6 |
service-dot1p 8021p-list |
定义匹配运营商网络802.1p优先级的规则,8021p-list为CoS取值的列表, CoS的取值范围为0~7 需要注意的是,目前设备只支持配置802.1p为一个CoS值的规则,当输入多个CoS值后会导致使用该规则的QoS策略无法下发 |
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地址的规则 |
定义流行为首先需要创建一个流行为名称,然后在此流行为视图下配置其特性。
表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 } |
|
配置流量重定向动作 |
redirect { cpu | interface interface-type interface-number | 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 |
|
配置标记报文的802.1p优先级 |
remark dot1p 8021p |
|
配置标记报文的丢弃优先级 |
remark drop-precedence drop-precedence-value |
|
配置标记报文的DSCP值 |
remark dscp dscp-value |
|
配置标记报文的IP优先级值 |
remark ip-precedence ip-precedence-value |
|
配置标记报文的本地优先级 |
remark local-precedence local-precedence |
|
配置标记报文的运营商网络VLAN ID值 |
remark service-vlan-id vlan-id-value |
|
显示流行为信息 |
display traffic behavior user-defined [ behavior-name ] |
可选 display命令可以在任意视图下执行 |
策略定义该策略中类和流行为的对应关系,而每个流行为由一组QoS动作组成。
每个策略下可以配置多组类和流行为的对应关系,过滤的时候按照配置的顺序进行。
表3-4 在策略中为类指定流行为
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义策略并进入策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
显示指定策略中指定类及与类关联的流行为的配置信息 |
display qos policy user-defined [ policy-name [ classifier tcl-name ] ] |
可选 display命令可以在任意视图下执行 |
配置QoS策略test_policy,将IP优先级为6的报文的速率限制为10Mbps。
# 定义类test_class,匹配IP优先级为6的报文。
<Sysname> system-view
[Sysname] traffic classifier test_class
[Sysname-classifier-test_class] if-match ip-precedence 6
[Sysname-classifier-test_class] quit
# 定义流行为test_behavior,限制报文的承诺速率为10Mbps。
[Sysname] traffic behavior test_behavior
[Sysname-behavior-test_behavior] car cir 10240
[Sysname-behavior-test_behavior] quit
# 定义策略test_policy,将类和流行为结合起来。
[Sysname] qos policy test_policy
[Sysname-qospolicy-test_policy] classifier test_class behavior test_behavior
QoS策略支持以下应用方式:
l 基于端口应用QoS策略:QoS策略对端口接收的流量生效。
l 基于VLAN应用QoS策略:QoS策略对VLAN内所有端口接收的流量生效。
l 基于全局应用QoS策略:QoS策略对所有端口接收到的流量生效。
QoS策略应用后,用户仍然可以修改QoS策略中的流分类规则、流行为以及流分类规则和流行为的对应关系。
一个策略可以应用于多个端口,但每个端口只能应用一个策略。
表3-5 在端口上应用策略
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入以太网端口、OLT端口、ONU端口视图 |
interface interface-type interface-number |
二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group manual port-group-name |
||
应用关联的策略 |
qos apply policy policy-name inbound |
必选 |
QoS策略是否能够在ONU端口上应用取决于ONU设备对QoS策略中动作的支持情况,请参考ONU设备的用户手册。
# 把策略test_policy应用到端口Olt1/0/1的入方向上。
<Sysname> system-view
[Sysname] interface Olt 1/0/1
[Sysname-Olt1/0/1] qos apply policy test_policy inbound
基于VLAN应用的QoS策略简称为VLAN策略。
表3-6 应用VLAN策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
应用VLAN策略到指定的VLAN |
qos vlan-policy policy-name vlan vlan-id-list inbound |
必选 |
VLAN策略不能应用在动态VLAN上。
# 把策略test_policy应用到VLAN 200、300、400、500的入方向上。
<Sysname> system-view
[Sysname] qos vlan-policy test_policy vlan 200 300 400 500 inbound
基于全局应用的策略简称为全局策略。全局策略可以方便对设备上的所有流量进行管理。
表3-7 应用全局策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
应用全局策略 |
qos apply policy policy-name global inbound |
必选 |
# 把策略test_policy应用到全局入方向上。
<Sysname> system-view
[sysname] qos apply policy test_policy global inbound
在完成上述配置后,在任意视图下执行display命令可以显示QoS策略的运行情况,通过查看显示信息验证配置的效果。
表3-8 QoS策略显示和维护
操作 |
命令 |
显示配置的类信息 |
display traffic classifier user-defined [ tcl-name ] |
显示配置的流行为信息 |
display traffic behavior user-defined [ behavior-name ] |
显示指定策略或所有策略中指定类或所有类及与类关联的行为的配置信息 |
display qos policy user-defined [ policy-name [ classifier tcl-name ] ] |
显示指定端口或所有端口上策略的配置信息和运行情况 |
display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] |
显示VLAN策略信息 |
display qos vlan-policy { name policy-name | vlan vlan-id } [ inbound ] |
显示全局策略信息 |
display qos policy global [ inbound ] |
清除VLAN策略的统计信息 |
reset qos vlan-policy [ vlan vlan-id ] [ inbound ] |
清除全局策略的统计信息 |
reset qos policy global [ inbound ] |
当分组到达的速度大于端口发送分组的速度时,在该端口处就会产生拥塞。如果没有足够的存储空间来保存这些分组,它们其中的一部分就会丢失。分组的丢失又可能会导致发送该分组的设备因超时而重传此分组,这将导致恶性循环。
拥塞管理的中心内容就是当拥塞发生时如何制定一个资源的调度策略,决定报文转发的处理次序。
对于拥塞管理,一般采用排队技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、延迟抖动等有着十分重要的影响。
S3600系列以太网PON OLT交换机支持以下三种队列调度方式:
l 所有队列全部采用SP调度。
l 所有队列全部采用WRR调度。
l 部分队列采用SP调度,部分队列采用WRR调度。
同时,S3600系列以太网PON OLT交换机还支持在ONU设备上配置WFQ队列调度算法。
这里介绍这四种各具特色的队列调度算法:严格优先级SP(Strict-Priority)队列调度算法、加权轮询WRR(Weighted Round Robin)队列调度算法、SP+WRR队列调度算法和加权公平队列WFQ(Weighted Fair Queuing)队列调度算法。
(1) SP队列调度算法
图4-1 SP队列示意图
SP队列调度算法,是针对关键业务类型应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。以端口有8个输出队列为例,优先队列将端口的8个输出队列分成8类,依次为7、6、5、4、3、2、1、0队列,它们的优先级依次降低。
在队列调度时,SP严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
SP的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”。
(2) WRR队列调度算法
图4-2 WRR队列示意图
WRR队列调度算法在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。以端口有8个输出队列为例,WRR可为每个队列配置一个加权值(依次为w7、w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。如一个100M的端口,配置它的WRR队列调度算法的加权值为5、5、3、3、1、1、1、1(依次对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少获得5Mbit/s带宽,避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。WRR队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
(3) SP+WRR队列调度算法
用户可以根据需要配置端口上的部分队列使用SP队列调度,部分队列使用WRR队列调度,通过将端口上的队列分别加入SP调度组和WRR调度组(即group 1),实现SP+WRR的调度功能。在队列调度时,系统会优先保证SP调度组内的队列调度,当SP调度组内的队列中没有报文发送时,才会调度WRR调度组内的队列。SP调度组内各个队列执行严格优先级调度方式,WRR调度组内各个队列执行加权轮询调度方式。
(4) WFQ队列调度算法
图4-3 WRQ队列
在介绍加权公平队列前,先要理解公平队列FQ(Fair Queuing)。FQ是为了公平地分享网络资源,尽可能使所有流的延迟和抖动达到最优而推出的。它照顾了各方面的利益,主要表现在:
l 不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。
l 短报文和长报文获得公平的调度:如果不同队列间同时存在多个长报文和短报文等待发送,应当顾及短报文的利益,让短报文优先获得调度,从而在总体上减少各个流的报文间的抖动。
与FQ相比,WFQ在计算报文调度次序时增加了优先权方面的考虑。从统计上,WFQ使高优先权的报文获得优先调度的机会多于低优先权的报文。WFQ能够按流的“会话”信息(协议类型、源和目的TCP或UDP端口号、源和目的IP地址、ToS域中的优先级位等)自动进行流分类,并且尽可能多地提供队列,以将每个流均匀地放入不同队列中,从而在总体上均衡各个流的延迟。在出队的时候,WFQ可以按照流的优先级(precedence)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。
另外,WFQ还可以通过最小带宽保证机制与WFQ进行配合,具体实现如下:
l 通过配置最小带宽保证值,确保WFQ中每一个队列都拥有最小保证带宽。
l 可分配带宽(可分配带宽 = 总带宽 - 各队列最小保证带宽)按照各队列优先级进行分配。
例如:端口的总带宽为10M、端口中当前共有5个流,它们的优先级分别为0、1、2、3、4;每个流的最小带宽保证分别为128kbps、128kbps、128kbps、64kbps、64kbps。
l 可分配带宽=10M-(128k+128k+128k+64k+64k) = 9.5M。
l 可分配带宽总配额为所有(流的优先级+1)的和。即:1+2+3+4+5 = 15。
l 每个流所占可分配带宽比例为:(自己的优先级数+1)/(所有 (流的优先级+1) 的和)。即每个流可得的可分配带宽比分别为:1/15、2/15、3/15、4/15、5/15。
l 最终每个队列得到的带宽=最小保证带宽+该队列从可分配带宽中分到的带宽。
由于WFQ在拥塞发生时能均衡各个流的延迟和抖动,所以WFQ在一些特殊场合得到了有效的应用。比如在使用资源预留协议RSVP(Resource Reservation Protocol)的保证型业务中,通常就是采用WFQ作为调度策略;在流量整形TS中,也采用WFQ调度缓存的报文。
表4-1 SP队列配置过程
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入以太网端口、OLT端口、ONU端口视图 |
interface interface-type interface-number |
二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group manual port-group-name |
||
配置SP队列 |
qos sp |
可选 缺省情况下,所有端口使用SP队列调度算法 |
|
显示SP队列 |
display qos sp interface [ interface-type interface-number ] |
可选 display命令可以在任意视图下执行 |
(1) 组网需求
配置Olt1/0/1端口采用SP队列。
(2) 配置步骤
# 进入系统视图
<Sysname> system-view
# 配置Olt1/0/1端口的SP队列。
[Sysname] interface Olt 1/0/1
[Sysname-Olt1/0/1] qos sp
表4-2 配置WRR队列
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入以太网端口、OLT端口视图 |
interface interface-type interface-number |
二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group manual port-group-name |
||
使能WRR队列 |
qos wrr |
必选 缺省情况下,端口使用SP队列调度算法 |
|
配置WRR队列 |
qos wrr queue-id group group-id weight schedule-value |
必选 缺省情况下,所有端口使用WRR队列调度算法,队列0~7的权重分别为1、2、3、4、5、9、13、15 |
(1) 组网需求
配置端口Olt1/0/1使用WRR队列调度算法,队列0~7的权重分别为1、2、4、6、8、10、12、14。
(2) 配置步骤
# 进入系统视图。
<Sysname> system-view
# 配置端口Olt1/0/1使用WRR队列调度算法。
[Sysname] interface Olt 1/0/1
[Sysname-Olt1/0/1] qos wrr
[Sysname-Olt1/0/1] qos wrr 0 group 1 weight 1
[Sysname-Olt1/0/1] qos wrr 1 group 1 weight 2
[Sysname-Olt1/0/1] qos wrr 2 group 1 weight 4
[Sysname-Olt1/0/1] qos wrr 3 group 1 weight 6
[Sysname-Olt1/0/1] qos wrr 4 group 1 weight 8
[Sysname-Olt1/0/1] qos wrr 5 group 1 weight 10
[Sysname-Olt1/0/1] qos wrr 6 group 1 weight 12
[Sysname-Olt1/0/1] qos wrr 7 group 1 weight 14
缺省情况下,所有端口使用SP队列调度算法。用户可以根据需要配置使用SP+WRR队列调度算法。
表4-3 配置SP+WRR队列
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入以太网端口、OLT端口视图 |
interface interface-type interface-number |
二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group manual port-group-name |
||
使能WRR队列 |
qos wrr |
必选 缺省情况下,端口使用SP队列调度算法 |
|
配置部分队列使用SP队列调度算法 |
qos wrr queue-id group sp |
必选 |
|
配置部分队列使用WRR队列调度算法 |
qos wrr queue-id group group-id weight schedule-value |
(1) 组网需求
l 配置端口Olt1/0/1使用SP+WRR队列调度算法
l 配置端口Olt1/0/1上的4、5、6、7队列属于SP调度组
l 配置端口Olt1/0/1上的0、1、2、3队列属于WRR调度组,权重分别为2、4、6、8
(2) 配置步骤
# 进入系统视图。
<Sysname> system-view
# 配置端口Olt1/0/1使用SP+WRR队列调度算法。
[Sysname] interface Olt 1/0/1
[Sysname-Olt1/0/1] qos wrr
[Sysname-Olt1/0/1] qos wrr 0 group 1 weight 2
[Sysname-Olt1/0/1] qos wrr 1 group 1 weight 4
[Sysname-Olt1/0/1] qos wrr 2 group 1 weight 6
[Sysname-Olt1/0/1] qos wrr 3 group 1 weight 8
[Sysname-Olt1/0/1] qos wrr 4 group sp
[Sysname-Olt1/0/1] qos wrr 5 group sp
[Sysname-Olt1/0/1] qos wrr 6 group sp
[Sysname-Olt1/0/1] qos wrr 7 group sp
对于S3600系列以太网PON OLT交换机,只能在ONU端口上配置WFQ队列调度算法。
表4-4 WFQ队列配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ONU端口视图 |
interface interface-type interface-number |
- |
使能WFQ队列 |
qos wfq |
可选 缺省情况下,ONU端口采用SP队列 |
配置WFQ队列的队列调度权重值 |
qos wfq queue-id weight schedule-value |
必选 |
显示WFQ队列配置 |
display qos wfq interface [ interface-type interface-number ] |
可选 display命令可以在任意视图下执行 |
WFQ队列调度算法是否可以配置取决于ONU设备是否支持WFQ队列。
下面介绍IP优先级、ToS优先级、DSCP(Differentiated Services Codepoint,差分服务编码点)优先级、802.1p优先级。
(1) IP优先级、ToS优先级和DSCP优先级
图5-1 DS域和ToS字节
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)是保留位。
表5-1 IP优先级说明
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网络流量也都默认为此类。
表5-2 DSCP优先级说明
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的场合。
图5-2 带有802.1Q标签头的以太网帧
如图5-2所示,4个字节的802.1Q标签头包含了2个字节的TPID(Tag Protocol Identifier,标签协议标识,取值为0x8100)和2个字节的TCI(Tag Control Information,标签控制信息),图5-3显示了802.1Q标签头的详细内容。
图5-3 802.1Q标签头
在上图中,TCI中Priority字段就是802.1p优先级,也称为CoS优先级。它由3个bit组成,取值范围为0~7。
表5-3 802.1p优先级说明
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规范中被详细定义。
报文在进入设备以后,设备会根据自身支持的情况和相应的规则给报文分配包括802.1p优先级、DSCP、本地优先级、丢弃优先级等在内的一系列参数。
其中,本地优先级和丢弃优先级的概念如下:
l 本地优先级:设备为报文分配的一种具有本地意义的优先级,对应出端口队列序号。本地优先级值越大的报文越被优先处理。
l 丢弃优先级:在进行报文丢弃时参考的参数,2对应红色报文、1对应黄色报文、0对应绿色报文。丢弃优先级值越大的报文越被优先丢弃。
S3600系列以太网PON OLT交换机提供两种端口优先级信任模式:
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优先级到本地优先级/丢弃优先级映射表,然后为报文标记本地优先级和丢弃优先级。
设备提供多张优先级映射表,分别对应相应的优先级映射关系。各个优先级的映射表和缺省取值如下所示。
l dot1p-dp:802.1p优先级到丢弃优先级映射表;
l dot1p-lp:802.1p优先级到本地优先级映射表;
l dscp-dot1p:DSCP到802.1p优先级映射表,仅对IP报文生效;
l dscp-dp:DSCP到丢弃优先级映射表,仅对IP报文生效;
l dscp-dscp:DSCP到DSCP映射表,仅对IP报文生效;
对于dot1p-dp和dot1p-lp两种映射表,在以太网端口和OLT端口上缺省情况有所不同,具体请参见表5-4和表5-5中的介绍。
表5-4 以太网端口的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-5 OLT端口的dot1p-lp、dot1p-dp缺省映射关系
映射输入索引 |
dot1p-lp映射 |
dot1p-dp映射 |
802.1p优先级(dot1p) |
本地优先级(lp) |
丢弃优先级(dp) |
0 |
0 |
0 |
1 |
1 |
0 |
2 |
2 |
0 |
3 |
3 |
0 |
4 |
4 |
0 |
5 |
5 |
0 |
6 |
6 |
0 |
7 |
7 |
0 |
表5-6 dscp-dp,dscp-dot1p缺省映射关系
映射输入索引 |
dscp-dp映射 |
dscp-dot1p映射 |
dscp |
丢弃优先级(dp) |
802.1p优先级(dot1p) |
0~7 |
0 |
0 |
8~15 |
0 |
1 |
16~23 |
0 |
2 |
24~31 |
0 |
3 |
32~39 |
0 |
4 |
40~47 |
0 |
5 |
48~55 |
0 |
6 |
56~63 |
0 |
7 |
dscp-dscp映射表的缺省映射关系为:映射输出值等于输入值。
ONU设备从ONU端口接收报文后,将根据802.1p优先级映射到本地优先级,缺省情况下的802.1p优先级到本地优先级映射表如表5-7所示。
表5-7 缺省的802.1p优先级和本地优先级队列的映射关系
802.1p优先级 |
本地优先级队列 |
0 |
0 |
1 |
0 |
2 |
1 |
3 |
1 |
4 |
2 |
5 |
2 |
6 |
3 |
7 |
3 |
用户可以根据报文中的各种信息(例如MAC地址、IP地址等)对从UNI端口接收的报文进行分类,再针对每一类报文配置不同的优先级映射策略。当ONU设备从UNI端口接收到报文后,将根据分类规则、端口VLAN操作模式、接收数据是否携带VLAN Tag三个条件,对报文采取不同的优先级映射动作,具体情况如表5-8所示。
表5-8 UNI端口优先级重标记与端口VLAN操作模式的对应关系
端口VLAN操作模式 |
接收数据是否带VLAN Tag |
处理方式 |
VLAN透传模式 |
带VLAN Tag |
l 基于源MAC地址/目的MAC地址、802.1p优先级、VLAN ID和物理端口进行分类时:如果匹配用户定义的分类规则,则替换报文的优先级为分类规则中所定义的标记值,然后转发,否则,直接转发 l 基于以太网类型、DSCP、IP协议类型、源IP/目的IP、源L4端口进行分类时:对数据不作任何改变,直接转发 |
不带VLAN Tag |
对报文不作任何改变,直接转发 |
|
VLAN 标记模式 |
带VLAN Tag |
将报文直接丢弃 |
不带VLAN Tag |
打上端口PVID所对应的VLAN Tag,如果匹配用户定义的分类规则,则将报文的优先级替换为分类规则中所定义的标记值,否则打上端口优先级,然后再转发 |
|
VLAN Translation模式 |
带VLAN Tag |
l 当原有Tag的VLAN ID在对应端口的VLAN Translation列表中有对应的记录时,则按照该表项将原有VLAN ID转换为记录所对应的VLAN ID,此时,如果匹配用户定义的分类规则,则将报文的优先级替换为分类规则中所定义的标记值,然后转发,否则,直接转发 l 当原有Tag的VLAN ID为端口缺省的VLAN ID时,此时,如果匹配用户定义的分类规则,则将报文的优先级替换为分类规则中所定义的标记值,然后转发,否则,直接转发 l 当原有Tag的VLAN ID在对应端口的VLAN Translation列表中没有对应的记录时,则直接丢弃 |
不带VLAN Tag |
打上端口PVID所对应的VLAN Tag,如果匹配用户定义的分类规则,则将报文的优先级替换为分类规则中所定义的标记值,否则打上端口优先级,然后再转发 |
用户可以根据需要,修改OLT设备和ONU设备中的优先级映射表。
用户确定了新的优先级映射关系。
表5-9 优先级映射表配置过程
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入指定的优先级映射表视图 |
qos map-table { dot1p-dp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp } |
必选 用户根据需要进入相应的优先级映射表视图 |
配置指定优先级映射表参数,定义优先级映射关系 |
import import-value-list export export-value |
必选 新配置的映射项将覆盖原有映射项 |
显示优先级映射表配置情况 |
display qos map-table [ dot1p-dp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp ] |
可选 display命令可以在任意视图执行 |
需要注意的是,在修改OLT端口的802.1p优先级到本地优先级的映射关系时,请使用表5-10中的配置步骤。
表5-10 修改OLT端口的802.1p优先级到本地优先级的映射关系
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OLT端口视图 |
interface interface-type interface-number |
- |
配置OLT端口上下行流量802.1p优先级和本地优先级的映射关系 |
priority-queue-mapping { downstream | upstream } { value } &<1-8> |
可选 缺省的映射关系请参见表5-5 |
表5-11 配置CoS优先级和本地优先级队列的映射关系
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ONU端口视图 |
interface interface-type interface-number |
- |
配置802.1p优先级和本地优先级队列的映射关系 |
qos cos-local-precedence-map cos0-map-local-prec cos1-map-local-prec cos2-map-local-prec cos3-map-local-prec cos4-map-local-prec cos5-map-local-prec cos6-map-local-prec cos7-map-local-prec |
必选 缺省的映射关系请参见表5-7 |
用户可以通过下面的配置来制定分类规则和优先级替换策略。
表5-12 配置UNI端口上行业务分类和优先级重标记
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ONU端口视图 |
interface interface-type interface-number |
- |
配置UNI端口优先级重标记 |
uni uni-numbe classification-marking index index queue qid priority priority { selector operator matched-value } &<1-4> |
必选 缺省情况下,没有配置UNI端口优先级重标记 |
H3C的ONU的每个UNI端口最多只支持配置8条匹配规则。
表5-13 配置注意事项
项目 |
注意事项 |
基于源MAC地址/目的MAC地址的优先级重标记 |
l 当在一个UNI端口配置了一条基于源MAC地址和一条基于目的MAC地址的分类规则时,如果上行数据同时满足这两条规则,那么,即使源MAC地址的分类规则的优先级高于基于目的MAC地址的分类规则,也只匹配基于目的MAC地址的分类规则 l 基于目的MAC地址的优先级重标记是全局性的,即如果在ONU的某个UNI端口配置了一条基于目的MAC地址的分类规则后,则从该ONU的其它UNI端口进来的数据也同样会去匹配该规则 l 当按源MAC地址来进行UNI端口优先级重标记时,ONU会将该源MAC地址与对应的UNI端口以静态的形式添加到ONU的MAC地址表中;当用户按目的MAC地址来进行UNI端口优先级重标记时,ONU则会将该目的MAC地址与ONU的PON端口以静态的形式添加到ONU的MAC地址表中 l 不支持基于源MAC地址/目的MAC地址为多播MAC、全0 MAC、广播MAC和ONU MAC的优先级重标记 |
基于以太网优先级的优先级重标记 |
当UNI端口VLAN操作模式是标记模式时,如果分类规则中CoS值与UNI端口的优先级相同,则该分类规则不生效 |
基于VLAN ID的优先级重标记 |
基于VLAN ID的优先级重标记是全局性的,即如果在ONU的某个UNI端口配置了一条基于VLAN ID的分类规则后,则从该ONU的其它UNI端口进来的数据也同样会去匹配该规则 |
基于以太网类型、DSCP、IP协议类型、源IP地址/目的IP地址、源L4端口/目的L4端口的优先级重标记 |
l 基于以太网类型、DSCP、IP协议类型、源IP地址/目的IP地址、源L4端口的优先级重标记是全局性的,即如果在ONU的某个UNI端口配置了一条基于以太网类型的分类规则后,则从该ONU的其它UNI端口进来的数据也同样会去匹配该规则 l 当在ONU的一个UNI端口上有多条规则同时匹配的话,则匹配顺序为L3→L4→L2,如果同时匹配的规则是属于同一层的则按照规则的索引号的来匹配,索引号越小,则该索引号下所配置的规则就越先匹配 l 不支持在ONU的不同UNI端口配置基于相同以太网类型、DSCP、IP协议类型、源IP地址/目的IP地址、源L4端口的优先级重标记 l 不支持基于目的L4端口的优先级重标记 |
有关UNI端口VLAN操作模式的介绍和配置,请参见“VLAN配置”部分。
修改OLT设备的dot1p-lp优先级映射表,修改后的映射关系如下表所示。
表5-14 指定的dot1p-lp映射关系
802.1p优先级 |
本地优先级 |
0 |
0 |
1 |
0 |
2 |
1 |
3 |
1 |
4 |
2 |
5 |
2 |
6 |
3 |
7 |
3 |
l 配置以太网端口的dot1p-lp映射表
# 进入系统视图。
<Sysname> system-view
# 进入接收报文方向的dot1p-lp优先级映射表视图。
[Sysname] qos map-table dot1p-lp
# 修改do1p-lp映射表参数。
[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
l 配置Olt1/0/1端口上行流量的dot1p-lp映射表
# 进入系统视图。
<Sysname> system-view
# 进入Olt1/0/1端口视图。
[Sysname] interface Olt 1/0/1
# 修改do1p-lp映射表参数。
[Sysname-Olt1/0/1] priority-queue-mapping upstream 0 0 1 1 2 2 3 3
端口优先级取值范围为0~7,用户可以根据需要设置端口的优先级。
用户确定了相应端口的端口优先级取值。
表5-15 端口优先级配置过程
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入以太网端口、OLT端口、ONU端口视图 |
interface interface-type interface-number |
二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group manual port-group-name |
||
配置端口优先级 |
qos priority priority-value |
必选 端口优先级的缺省值为0 |
配置端口优先级为7。
# 进入系统视图。
<Sysname> system-view
# 配置Olt1/0/1的端口优先级。
[Sysname] interface Olt 1/0/1
[Sysname-Olt1/0/1] qos priority 7
用户可以通过配置实现是否信任报文的优先级。报文的优先级映射过程请参见“5.2 优先级映射简介”。
在配置信任端口上设置的优先级模式时,用户可以选择下列信任模式:
l dot1p:信任报文自带的802.1p优先级,以此优先级进行优先级映射。
l dscp:信任IP报文自带的DSCP,以此优先级进行优先级映射。
确定了所信任优先级对应的优先级映射表,具体配置参见“5.3 优先级映射表配置”
表5-16 端口优先级信任模式配置过程
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图或端口组视图 |
进入以太网端口、OLT端口、ONU端口视图 |
interface interface-type interface-number |
二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group manual port-group-name |
||
配置端口的优先级信任模式为DSCP模式 |
qos trust dscp |
二者必选其一 缺省情况下,端口的优先级信任模式为dot1p模式 |
|
配置端口的优先级信任模式为dot1p模式 |
undo qos trust |
||
显示端口优先级信任模式 |
display qos trust interface [ interface-type interface-number ] |
可选 display命令可以在任意视图执行 |
配置Olt1/0/1端口上的优先级信任模式为信任DSCP优先级。
# 进入系统视图。
<Sysname> system-view
# 进入端口视图。
[Sysname] interface Olt 1/0/1
# 配置信任DSCP优先级。
[Sysname-Olt1/0/1] qos trust dscp
在完成上述配置后,在任意视图下执行display命令可以显示配置后优先级映射的运行情况,通过查看显示信息验证配置的效果。
表5-17 优先级映射显示和维护
操作 |
命令 |
显示指定优先级映射表配置情况 |
display qos map-table [ dot1p-dp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp ] |
显示端口优先级信任模式信息 |
display qos trust interface [ interface-type interface-number ] |
l S3600以太网PON OLT交换机通过以太网端口和OLT端口连接多个网络,要求S3600交换机在进行报文处理时,能够根据报文的802.1p优先级选择入队列;
l 映射关系使用用户定义的映射关系。
图5-4 优先级映射组网图
# 进入系统视图。
<Switch> system-view
# 进入接收报文方向的dot1p-lp优先级映射表视图,修改映射表参数。
[Switch] qos map-table inbound dot1p-lp
[Switch-maptbl-in-dot1p-lp] import 0 1 export 0
[Switch-maptbl-in-dot1p-lp] import 2 3 export 1
[Switch-maptbl-in-dot1p-lp] import 4 5 export 2
[Switch-maptbl-in-dot1p-lp] import 6 7 export 3
[Switch-maptbl-in-dot1p-lp] quit
# 配置GigabitEthernet1/1/1信任802.1p优先级。
[Switch] interface gigabitethernet 1/1/1
[Switch-GigabitEthernet1/1/1] qos trust dot1p
[Switch-GigabitEthernet1/1/1] quit
# 配置GigabitEthernet1/1/3信任802.1p优先级。
[Switch] interface gigabitethernet 1/1/3
[Switch-GigabitEthernet1/1/3] qos trust dot1p
[Switch-GigabitEthernet1/1/3] quit
# 配置Olt1/0/1端口的上下行报文优先级映射。
[Switch] interface Olt 1/0/1
[Switch-Olt1/0/1] priority-queue-mapping downstream 0 0 1 1 2 2 3 3
[Switch-Olt1/0/1] priority-queue-mapping upstream 0 0 1 1 2 2 3 3
[Switch-Olt1/0/1] quit
# 配置Olt1/0/2端口的上下行报文优先级映射。
[Switch] interface Olt 1/0/2
[Switch-Olt1/0/2] priority-queue-mapping downstream 0 0 1 1 2 2 3 3
[Switch-Olt1/0/2] priority-queue-mapping upstream 0 0 1 1 2 2 3 3
l Switch通过以太网端口和Olt端口连接各个网络;
l 要求设备Switch根据接入端口的优先级映射生成报文的本地优先级;
l 映射关系使用设备Switch缺省的映射表。
图5-5 优先级信任模式组网图
# 进入系统视图。
<Switch> system-view
# 配置GigabitEthernet1/1/1的端口优先级。
[Switch] interface gigabitethernet 1/1/1
[Switch-GigabitEthernet1/1/1] qos priority 1
[Switch-GigabitEthernet1/1/1] quit
# 配置端口GigabitEthernet1/1/3的端口优先级。
[Switch] interface gigabitethernet 1/1/3
[Switch-GigabitEthernet1/1/3] qos priority 3
[Switch-GigabitEthernet1/1/3] quit
# 配置端口Olt1/0/1的端口优先级。
[Switch] interface Olt 1/0/1
[Switch-Olt1/0/1] qos priority 5
[Switch-Olt1/0/1] quit
# 配置端口Olt1/0/2的端口优先级。
[Switch] interface Olt 1/0/2
[Switch-Olt1/0/2] qos priority 7
l 配置ONU上行带宽为50Mbps;
l 配置UNI端口1和UNI端口2的VLAN操作模式均为透传模式;
l 配置UNI端口1优先级重标记:对源MAC地址为000A-EB7F-AAAB的带Tag报文重新打上CoS 3的优先级;
l 配置UNI端口2优先级重标记:对源MAC为001B-EB7F-21AC的带Tag报文重新打上CoS 1的优先级。
图5-6 UNI端口优先级重标记配置组网示意图
# 创建ONU端口ONU1/0/1:1,并将ONU绑定到此ONU端口。
<Sysname> system-view
[Sysname] interface olt 1/0/1
[Sysname-Olt1/0/1] using onu 1
[Sysname-Olt1/0/1] quit
[Sysname] interface onu 1/0/1:1
[Sysname-Onu1/0/1:1] bind onuid 000f-e200-0104
# 配置ONU上行带宽为50Mbps(64Kbps*800)。
[Sysname-Onu1/0/1:1] upstream-sla minimum-bandwidth 800 maximum-bandwidth 800
# 配置UNI端口1和UNI端口2的VLAN操作模式为透传模式。
[Sysname-Onu1/0/1:1] uni 1 vlan-mode transparent
[Sysname-Onu1/0/1:1] uni 2 vlan-mode transparent
# 配置UNI端口1和UNI端口2优先级重标记。
[Sysname-Onu1/0/1:1] uni 1 classification-marking index 1 queue 3 priority 3 src-mac equal 000A-EB7F-AAAB
[Sysname-Onu1/0/1:1] uni 2 classification-marking index 1 queue 1 priority 1 src-mac equal 001B-EB7F-21AC
配置完成后,当从ONU的两个UNI端口进来的两条数据流(流量各为50Mbps)往OLT侧转发时,由于ONU端口产生拥塞,则丢弃了源MAC地址为001B-EB7F-21AC的报文,因为该报文的队列优先级比源MAC地址为000A-EB7F-AAAB的报文低。
流镜像,即将指定的报文复制到用户指定的目的地,用于报文的分析和监视。
流镜像分为两种:流镜像到端口和流镜像到CPU。
l 流镜像到端口:将端口接收到的符合要求的报文复制一份并转发到目的端口。
l 流镜像到CPU:将端口接收到的符合要求的报文复制一份并转发到CPU,这里的CPU指的是配置了流镜像的端口所在设备上的CPU。
配置流镜像时,用户首先要有一个已经存在的流行为,然后进入流行为视图进行流镜像的相关配置。
在配置流镜像动作时,同一个流行为中流镜像类型只能为流镜像到端口和流镜像到CPU中的一种。
表6-1 配置流镜像到端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入流行为视图 |
traffic behavior behavior-name |
- |
为流行为配置流镜像目的端口 |
mirror-to interface interface-type interface-number |
必选 |
表6-2 配置流镜像到CPU
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入流行为视图 |
traffic behavior behavior-name |
- |
为流行为配置流镜像到CPU |
mirror-to cpu |
必选 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后流镜像的运行情况,通过查看显示信息验证配置的效果。
表6-3 流镜像显示和维护
操作 |
命令 |
显示用户自定义流行为的配置内容 |
display traffic behavior user-defined [ behavior-name ] |
显示用户自定义策略的配置内容 |
display qos policy user-defined [ policy-name [ classifier tcl-name ] ] |
用户网络描述如下:
l Host通过端口Olt1/0/1接入到设备Device,Host A的MAC地址为0014-222c-aa6。
l Server接在设备Device的GigabitEthernet1/1/2端口上。
需求为:通过Server对Host A发出的所有报文进行分析监控。
配置Device:
# 进入系统视图。
<Device> system-view
# 配置ACL 2000,允许所有报文通过。
[Device] acl number 2000
[Device-acl-basic-2000] rule 1 permit
[Device-acl-basic-2000] quit
# 配置流分类规则,使用ACL 2000进行流分类。
[Device] traffic classifier 1
[Device-classifier-1] if-match acl 2000
[Device-classifier-1] quit
# 配置将数据流镜像到GigabitEthernet1/1/2端口的流行为。
[Device] traffic behavior 1
[Device-behavior-1] mirror-to interface gigabitethernet 1/1/2
[Device-behavior-1] quit
# 配置QoS策略,流分类1匹配流行为1。
[Device] qos policy 1
[Device-qospolicy-1] classifier 1 behavior 1
[Device-qospolicy-1] quit
# 把策略应用到端口Olt1/0/1入方向上。
[Device] interface Olt 1/0/1
[Device-Olt1/0/1] qos apply policy 1 inbound
配置完成后,用户就可以在Server上对PC A发出的所有报文进行分析监控。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!