锐捷交换机双链路断点时重点业务保障

发布时间 2023-06-20 11:26:35作者: Mr临川

一、组网需求

网点直接采用三层交换机作为用户网关,下连划分多个VLAN,连接生产、办公、视频业务,上行连接1条或2条MSTP线路,通过OSPF路由控制实现,业务分流,生产和办公/视频走单独的链路,当出现链路故障,多种业务在同一条链路中传输时,部署QOS带宽策略实现重点业务的保障。

QoS需求

1.在RG-S3760E上将生产、办公、视频业务的数据流所对应的数据流的DSCP标识为56、32、48

2. 办公及视频主线路上拥塞时,保证两种业务所占4M带宽的比例(办公:视频)为1:2

3.当出现线路故障时,三种业务在1条4M线路上所占带宽比例(生产:办公:视频)为1:1:2

 

 

 

二、组网拓扑

     

 

 

 

 

 

 

 

 

三、配置要点

1、使用policy-map进行限速

1) 用ACL进行流量分类

2) 配置class-map 关联ACL

3) 配置Policy-map关联class-map,并设置流量策略

4) 接口调用Policy-map

2、使用rate-limit进行限速

1) 直接在接口上应用rate-limit

 

四、配置步骤

1、将3760E的上联接口的实际带宽配置为4M

Ruijie>en

Ruijie#config ter

Ruijie(config-if)#rate-limit output 4000 128

虽然运营商提供的是4M MSTP线路接入,但由于上联接口为百兆(或千兆)接口,所以只有当上联接口输出的数据流总和为100M,从而出现拥塞时,所配置的QoS策略才会发挥作用。因此可能会出现下面的情况:

交换机从上联口转发出去的流量为5M,但由于没有达到上联口的最大带宽100M,因此QoS策略不会起到作用,而实际的运营商传输线路只有4M,已经开始丢弃超过部分的数据。因此在上联口配置rate-limit的用途就是修改上联口的实际带宽与运营商提供的线路带宽相等,从而触发当数据流速率超过4M时,QOS调度策略即生效。

 

2、为不同数据流标记不同的DSCP值

由于各种业务PC直接连在交换机上,一种简单标记方式是使用端口的缺省CoS值,而不是使用policy-map方式

配置端口的信任模式为CoS,并配置不同端口的缺省CoS值

建议首先查看下CoS-DSCP MAP的缺省配置,查看32、48、56所对应的CoS值分别是多少,如果默认的CoS-DSCP MAP中就已经包含了特定的CoS值来对应32、48、56,就可以直接确定相应端口的缺省CoS值,而不需要再去修改cos-dscp map配置。如果默认的cos-dscp map中没有CoS值和DSCP 32、48、56对应,那么就需要修改cos-dscp map配置,因此建议在前期设计使用DSCP值标识数据流时,要首先参考下默认的一些MAP配置

Ruijie#sh mls qos maps cos-dscp

cos dscp

--- ----

0   0

1   8

2   16

3   24

4   32

5   40

6   48

7   56

连接生产主机的接口QoS配置

Ruijie(config-if)# mls qos trust cos

Ruijie(config-if)# mls qos cos 7    ------>对应DSCP为56

连接办公主机的接口QoS配置

Ruijie(config-if)# mls qos trust cos

Ruijie(config-if)# mls qos cos 4    ------>对应DSCP为32

连接视频主机的接口QoS配置

Ruijie(config-if)# mls qos trust cos

Ruijie(config-if)# mls qos cos 6    ------>对应DSCP为48

 

3.确定三种数据流输出队列

①查看DSCP-CoS MAP的缺省配置,查看DSCP 32、48、56所对应的CoS值

②查看CoS MAP的缺省配置,查看CoS 所对应的队列

③通过上述两步确定三种数据流的输出队列

      

 

4.确定三种数据流输出队列调度算法及权重

 

配置调度算法为DRR

Ruijie(config)# mls qos scheduler  drr

配置队列8、5、7的权重,保证生产:办公:视频为1:1:2的关系

Ruijie(config)# drr-queue  bandwidth   1 1 1 1 7 1 14 7

 

这里选取7  14 7 或1  2  1 作用相同,但建议选择更大的权重,选择较大的权重的原因如下:

1、防止其他队列中还存在报文,占用总带宽的权重较大,这样可以尽可能充分按照预定义的带宽分配给这几类业务。

2、权重值较大时,在硬件实现上,每次调度的字节数比权重小的情况下更多,由于受到报文长度的限制,由于每次调度的一定量字节数,最后一个报文在调度的时候可能已经超过了字节数限制,导致个别报文需要等待下一次调度,这样在一次调度更多字节的情况下,这个未调度字节的误差将会更小,调度更精确,特别是在接口速率较大的情况下更是如此。

 

注意事项:

1).如果需要将生产映射到SP队列,值需要将其队列权重设置为0即可(并参考注意事项3)

例如:将生产业务设置为SP队列,将队列8设置权重为0.

Ruijie(config)# drr-queue  bandwidth   1 1 1 1 7 1 14 0

2).SP队列需要慎用:

      ① 交换机SP队列与路由器的LLQ不一样(与PQ的高优先级队列类似),无法对该队列的带宽进行限制,由于该队列是优先调度,因此会出现可能无法调度其他队列中的数据

      ② 如果使用SP队列,建议在数据流的入接口对报文流进行限制,如在用户业务接口(物理口)使用policy-map即policing阶段,对报文的最大带宽进行限制。

3)、目前我司交换机SP+DRR/SP+WRR的调度方式存在2种行为:

A类交换机:

通过以下的举例来说明SP+DRR的调度算法:

例 1:

组类型          DRR0   SP        DRR1   DRR1   DRR1   DRR1   DRR1   DRR1

队列              0              1          2          3          4          5          6          7

配置权重    1       0          1          1          3          1          1          1

 

DRR0和DRR1组可以分别看做成一个大队列,来参与队列间的SP调度,而DRR组内部队列则按照DRR模式来进行调度。

DDR1的5个队列优先级最高,只有等这5个队列全部为空时(这5个队列使用DRR进行调度),才会调度SP组,SP组对应的队列为空时,才调度DDR0。

 

例 2:

组类型          SP0      SP0     DRR0              DRR0              DRR0              SP1      DRR1   DRR1

队列              0              1          2          3          4          5          6          7

配置权重    0          0              1          2          3          0          1          1

 

与例1类似,我们可以将例2中的队列看成4个参加SP调度的队列:SP0、DRR0、SP1、DRR1。

DDR1的2个队列优先级最高;只有等DRR1的队列调度为空时,才会调度SP1组;SP1组对应队列为空时,才调度DDR0;只有等DRR0调度为空时,才会调度SP0组。

 

A类交换机存在限制,有数据的队列都应该连续,否则有可能导致调度不准确。例如我们应该将数据映射到队列1、2、3,则不应该映射到1,2,4。

所以实际部署时,A类交换机如有有SP队列需要优先调度建议将其DSCP设置为最大,并映射到最后一个队列。(例如只有4个队列有数据,则SP队列映射到第4个队列,权重设置为0,)

 

在上面的示例中,如果A类交换机需要将生产数据设置为SP队列,则生产队列的则应该映射到队列8,权重设置为0,如果映射到其他其他队列,例如队列6,则视频数据会最优调度,办公数据队列也应该保持联系和生产、视频队列连续,可以将COS为4映射到队列6,

调整方法为:Ruijie(config)#priority-queue cos-map 6 4 5 ,将COS4、5都映射到队列6,其WRR权重设置也应调整为

Ruijie(config)# drr-queue bandwidth   1 1 1 1 1 7 14 0

 

 

B类交换机:

SP组的队列优先级最高,只有SP组队列调度为空时,才调度DRR组队列

组类型          SP0      SP0     DRR0              DRR0              DRR0              SP1      DRR1   DRR1

队列              0              1          2          3          4          5          6          7

配置权重    0          0              1          2          3          0          1          1

调度的顺序跟A类交换机存在差异,先后顺序为SP1,SP0,其他的DRR队列则最后按照权重比进行调度。

B类交换机配置:Ruijie(config)# drr-queue bandwidth   1 1 1 1 1 7 14 0

 

说明:经过分析比较,该调度模式实现与芯片ASIC硬件实现有关,

A类交换机:(例如S26i/S26S、S29、S3760、S5760、S5750E、S6000,S6200,S7800系列等)。

B类交换机:(例如S23、S26/26E、S29E、S3250/3250E、S3760E、S5750、S6220、S8600、S12000系列等)。

 

 

 

五、配置验证

 

1、通过show interface xx 可以查看接口8个队列的收发报文统计,目前只有部分交换机支持,以实际输出结果显示为准。

Ruijie(config)#show interfaces gigabitEthernet 0/1

Index(dec):1 (hex):1

GigabitEthernet 0/1 is DOWN , line protocol is DOWN   

Hardware is S5750E GigabitEthernet

Interface address is: no ip address

  MTU 1500 bytes, BW 1000000 Kbit

  Encapsulation protocol is Bridge, loopback not set

  Keepalive interval is 10 sec , set

  Carrier delay is 2 sec

  Rxload is 1/255, Txload is 1/255          

  Queue    Transmitted packets     Transmitted bytes       Dropped packets        Dropped bytes                             ------>各个队列的收发包统计

     0                 1768               138926                    0                    0

     1                    0                    0                    0                    0

     2                    0                    0                    0                    0

     3                    0                    0                    0                    0

     4                    0                    0                    0                    0

     5                    0                    0                    0                    0

     6                    0                    0                    0                    0

     7               130719            163928716                    0                    0

  Switchport attributes:

    interface's description:""

    admin medium-type is Copper, oper medium-type is Copper

    lastchange time:7 Day: 0 Hour:26 Minute:28 Second

    Priority is 0

    admin duplex mode is AUTO, oper duplex is Unknown

    admin speed is AUTO, oper speed is Unknown

    flow control admin status is OFF, flow control oper status is Unknown

    admin negotiation mode is ON, oper negotiation state is ON

    Storm Control: Broadcast is OFF, Multicast is OFF, Unicast is OFF

  Port-type: access

    Vlan id: 1

  5 minutes input rate 0 bits/sec, 0 packets/sec

  5 minutes output rate 0 bits/sec, 0 packets/sec

    202759 packets input, 169458119 bytes, 0 no buffer, 0 dropped

    Received 45834 broadcasts, 0 runts, 0 giants

    0 input errors, 0 CRC, 0 frame, 0 overrun, 0 abort

    132486 packets output, 163021662 bytes, 0 underruns , 0 dropped

    0 output errors, 0 collisions, 0 interface resets

2、通过show  mls qos scheduler 可以查看QOS队列调度的方式

Ruijie(config)# show mls qos scheduler

Global Multi-Layer Switching scheduling

 Deficit Round Robin                    ------>DRR

 

3、通过show  mls qos queueing  可以查看COS-Queue的映射关系及队列的权重关系

Ruijie(config)#show mls qos queueing

Cos-queue map:

cos qid

--- ---

0   1

1   2

2   3

3   4

       4   6    ------>原本默认是队列5,通过Ruijie(config)#priority-queue cos-map 6 4 5 ,将COS4、5都映射到队列6

5   6

6   7

7   8

 

wrr bandwidth weights:

qid weights

--- -------

1   1

2   1

3   1

4   1

5   1

6   1

7   1

8   1

 

drr bandwidth weights:

qid weights

--- -------

1   1

2   1

3   1

4   1

5   1

6   7                    ------>权重配置

7   14

8   7