QoS笔记

一、概念、三种服务模型 、过程

       QoS:Quality of Service 服务质量,通过牺牲非关键流量或者侵略流量来保障优先转发关键流量的能力,有以下三种服务模型:
        1、BE:Best Effort 尽力而为,默认
        2、InterServ:综合服务模型 RSVP:  Resource Reservation Protocol 资源预留协议,基于流的方式(五元组)对带宽资源进行预留
    所有节点qos参数必须一致,所有节点都要支持RSVP协议,节点之间周期性交互
    优点:特定业务带宽保证、延迟保证
    缺点:配置麻烦,要求所有设备支持RSVP协议,其他业务紧张时,带宽利用率低。现实中使用少
        3、DiffServ: Difference Service 区分服务模型,基于类的方式实现对不同业务流提供不同服务质量,不需要协议,应用最广
            过程:

               1、网络入口对报文进行分类,完成对报文的标记
               2、根据标记,映射为服务等级值
               3、根据不同的服务等级值,进入不同的队列,根据队列间的调度机制,进行不同的转发服务
    数据 --->     分类 --->    标记 --->    调节 --->    拥塞避免    拥塞管理
        ACL    二层标记    整形GTS、FRTS    硬件队列
        接口    802.1p.cos监管CAR        软件队列调度schedule
        Length    exp(mpls)     限速LR        (PQ
        测速    DE(FR)            (RR:WRR、DRR
        令牌桶    三层标记            WFQ
        IPP优先级                LLQ
        DSCP区分服务编码点
        速率    

        二、名词解释:

DSCP:Differenct Service Code Point
IPP:IP Precedance IP优先级,在IP v4报文中的TOS的前三个bit,从0到7
PHB:Per-Hop Behavior 逐跳行为
RED:  Random Early Detection    随机早期丢弃
WRED:Weighted  Random Early Detection    带权重值的随机早期德丢弃
port trust mode:端口信任模式
CBQ:Class-Based Queueing    基于类的流队列分类
MQC:Moduled Queue CLI 模块化队列
PQ:Priority Queue 特权队列
LLQ:Low Latency Queuing    低时延队列,EF队列中的特殊,更低时延
WRR:  Weighted Round Robin
DRR:Deficit Round Robin
WFQ:Weighted Fair Queuing
CIR:Commited Information Rate 承诺速率
PIR:Peak Information Rate 指定峰值信息速率,能够通过的最大速率(仅双桶双速有)
PBS:Peak Burst Size 指定峰值突发尺寸,瞬间能够通过的峰值突发流量
CBS:Committed Burst Size 承诺突发尺寸,C桶容量
EBS:Extended Burst Size 扩展突发尺寸,扩展令牌桶E桶的大小
CAR:Committed Access Rate 承诺流量速率,流量监管(限速),无缓存机制,超过的报文丢弃或者降级转发,可做双向
GTS:Gernal Traffic Shapping 通用流量整型,削峰填谷,有缓存机制,仅在出方向做

DiffServ区分服务模型:
1、流分类和标记:classification & marking
2、流量监管和整形:shaping & poicing
3、拥塞避免:congrestion avoidance
4、拥塞管理:congestion management

        三、衡量网络质量的因素:

1、带宽:bandwidth
    端到端计算带宽的的最小值
2、延时:delay
    端到端的延时总和(固定)设备转发延时、线缆转发延时
3、抖动:jitter
    因为各种因素变化的延时,来源于侵略流量(aggressive traffic)
4、丢包:drop
    报文被丢弃:
    1)、tail drop 尾丢弃,后续所有报文都被丢弃(无差别和区分的丢弃)
    2)、RED:  Random Early Detection 随机早期检测,丢弃一些报文
    3)、WRED:Weighted Random Early Drop 权重随机丢弃

        四、 QoS工具

    1)传统命令行:Legacy CLI (仅出向有效)
         interface G0.0.0
          qos gts cir 1024    #出方向整形限速 1M,包含了测速、分类(单桶单色,红绿,超过红、低于1M则绿)
        优点:简单高效
        缺点:配置量大、重复
    2)MQC:  Moduled QoS CLI 模块化QoS命令行
        traffic classfier     #流分类
           if-match acl 3000 | 接口 | 包长度。。。
        traffic behavier    #流行为
           gts cir 1024    #承诺速率1M
        traffic policy      #流策略,绑定流分类和行为
           classifier A behavier A
        int G0/0/0        #接口出方向上调用流策略
           traffic policy outbound | inbound A    
        优点:模块化,分类灵活、可通过模块调用来复用,配置思路清晰,方便排查
    3)、auto QoS
        专项行业模板供调用


        五.  分类和标记
          1、 二层标记:

    1、802.1p:包含在802.1q中:3个bit PRI字段priority(802.1p),0-7个级别
    2、EXP:  mpls中的EXPerimental 实验位, 3bit,  0-7
    3、源目mac、ACL4000-4999
        二层分类举例:
        traffic classifier manager
          if-match source-mac 3333.3333.3333
        traffic classifier voice
          if-match 802.1p 3
        traffic classifier video 
          if-match 802.1p 2        

    2、三层标记:

    1、ToS(Type of Service)中的 IPP(IP precedence),IP优先级,3bit:  0-7 进分分类,电信中使用的IPP、EXP、802.1p
        111     7    Network Control | 网络控制协议
        110     6    Internetwork Control | 网间控制协议
        101     5    Critic  关键 | 语音
        100     4    FlashOverride  疾速 | 视频
        011     3    Flash  闪速 | 呼叫信令
        010     2    Immediate 快速 | 数据流高优先级
        001     1    Priority  优先 | 数据流中优先级
        000     0    Routine  普通 | 默认优先级
        如直接在ACL中可以打QoS标记:
            ACL 3000
              rule permit ip source 10.1.1.0 0.0.0.255 precedence 0-7
        做在MQC中:
            acl 3001
              rule permit tcp source eq 20
            traffic classifier ftp
              if-match acl 3001 
    2、DSCP:  Differential Service Code Point 区分服务编码点 ,6bit
        rule permit ip source 10.1.1.0 0.0.0.255 dscp 0-15    #0-7兼容IPP,0为default,1到7称为CS1-7,后3个 bit 称为 value 值,标记丢弃概率
        DSCP 数字方式为0-63,也可用关键字方式表达,定义了四种分组的PHB:
            Service Class:服务等级:CS7、CS6、EF、AF4、AF3、AF2、AF1、BE
            1)CS:Class Selector 类选择码,CS7、CS6一般用于协议报文
            2)EF:Expedited Forwarding 快速转发,需要低延时的业务,如语音流量
            3)AF:Assured Forwarding 确保转发,对应AF4、AF3、AF2、AF1,需要带宽保证的业务
                前3位取值如下:  
                001    AF1
                010    AF2
                011    AF3
                100    AF4
                后3位最后一位始终为0,后2、3位分别为:01   10   11,分别对应丢弃概率,从低到高
                AF和value值组合4*3,可有12种组合,对应的数字表达式为8X+2Y
            4)BE:Best Effort 尽力而为

            PQ:从高到低    
            BE配置为QPQ:BE最高
            WFQ:加权公平队列,无高低之分
        Color:颜色,丢弃优先级:Green、Yellow、Red
            丢弃优先级高低取决于对应参数的配置,只是标识
            CS1-4:100000
            CS1-4:100010 低丢弃    
            CS1-4:100100 中丢弃
            CS1-4:100110 高丢弃
            以上数值对应行为PHB逐跳行为
            CS5:  EF:  促进转发(优先转发)
            CS1-4:      AF:确保转发
            AF41:丢弃百分比低
            AF42:丢弃百分比中
            AF43:丢弃百分比高

        分类 :
            1)简单流分类:
            dis qos queue statistics int G0/0/0    #查看接口队列
            int G0/0/0
              port priority 6        #把接口的队列改为CS6(不使用队列软调度的话,队列默认为0,FIFO)
              trust 802.1p | dscp |  exp    #信任入接口报文的标记,放入不同的队列
            dis qos map-table dscp-lp        #查看qos标记映射表,这里从dscp映射到 LP:local preference
            也可以通过改映射表的方式简单地转换:
            qos map-table dscp-lp
              input 2 output 0
            qos map-table dscp-dscp 
              input 0 output 46
            int G0/0/1
              trust dscp overide    #入队列0改到CS5(EF) 
            reset qos queue statics int G0/0/0    #重置队列计数器    
            2)复杂流分类:
            traffic classifier icmp
              if-match acl 3001
            traffic classifier telnet
              if-match acl 3002
            traffic behavior icmp
              remark dscp ef
            traffic behavior telnet
              remark dscp af11
            traffic policy remark
              classifier icmp behavior icmp
              classifier telnet behavior icmp
            int G0/0/0
              traffic policy remark inbound
            #
            traffic classifier af-telnet
              if-match dscp af-11
            traffic classifier ef-icmp
              if-match dscp ef
            traffic behavior af-telnet
              queue af bandwidth 40000
            traffic behavior af-icmp
              queue ef bandwidth 60000
              car cir 8 cbs 1504 pbs 2504 green pass yellow pass red discard
            traffic policy bw
              classifier af-telnet behavior af-telnet
              classifier ef-icmp behavior ef-icmp
            int G0/0/1
              traffic policy bw outbound
配置示例:
[CE]acl number 3000      #CE 侧打上语音标记送出去
 rule 5 permit ip source 10.1.1.0 0.0.0.255 
#
traffic classifier A operator or
 if-match acl 3000
#
traffic behavior remark
 remark dscp ef
 queue ef bandwidth 1000 cbs 5000
#
traffic policy remark
 classifier A behavior remark
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.1 255.255.255.0 
 traffic-policy remark outbound
#
[ISP]traffic classifier voice    #ISP侧做简单标记配上带宽
    if-match dscp ef
#
traffic behavior bw
    queue ef bandwidth 100000 cbs 250000
#
traffic policy
    classifier voice behavior bw
#
int G0/0/1
    traffic-policy bw outbound
#
    六、队列:queueing

    硬件队列 :FIFO,先进先出,调度算法
    软件队列 :多队列 ,每个队列 是FIFO,多个队列之间的调度根据调度算法
        1、PQ:Schedule Priority,严格优先级队列
            如配置一个队列模板并在接口下调用:
        2、RR:Round Robin,轮询,8个每个队列每轮发个包
        3、WRR:Weighted Round Robin 加权轮循调度,以报文为单位,每轮每个队列走一个包,高权重队列可以走多轮,更关注包数量
            qos queue-profile wrr
              scdule wfq 0 to 5 pq 6 to 7    #调度0-7队列
              queue 0 to 5 weight 80    #0队列分配10%,默认10%
              queue 1 weight 20
            int G0/0/0        #在接口上应用
              qos queue-profile wfq
            dis qos queue statistics interface G0/0/0
        4、DRR:Deficit Round Robin 赤字调度,根据权重计算带宽比例,根据带宽比例,计算每个队列的带宽(更关注每个队列发送的包大小总量)。初始值为0,且在每次调度前,计算Dificit做为下次能否参与调度的依据,大于0则可参与调度,小于0则不参与
        5、WFQ:Weighted Fair Queue 加权公平队列
            用于小包(短报文)优先,每个流共享带宽
                a、基于“流”(五元组:源目端口、协议、源目IP),256个队列,WFQ根据流的优先级分配带宽,优先级越高,带宽越高
                b、基于“优先级”,根据8个优先级,分配到8个队列中,默认权重相同平均分,通过修改不同的权重来获取更多的带宽
        6、组合队列PQ+WRR、PQ+DRR、PQ+WFQ...:
    队列优先级分类,越大越优:
        LLQ    EF    AF    BE

    七、流量调节:contidional
        1、  整形 shapping

              GTS:  Gernal Traffic Shapping 通行流量整形,针对接口
              FRTS:FR Traffic Shapping    帧中继流量整形,针对 接口下不同的PVC做
               整形和监管的区别:
            整形:削峰填谷,小于等于当前承诺速率,正常转发,有buffer,有队列支持,一般做在出向,中高端设备也可做入向
            监管:小于等于当前承诺速率,正常转发;  大于当前 速率,要么丢弃,要么重新标记;无buffer,不需要队列 ,可以出向也可以入向
            适用场景:整形:尽量不丢包;监管:超速就简单粗暴地丢弃
              测速模块:令牌桶(tocket bucket)通过测速来分类(着色)--流量调节执行动作
                  分类:
            单桶
                单速单桶双色(适用于整形)---GTS
                CBS:Committed Burst Size 突发值 :字节为单位,一个字节一个令牌,等于桶的大小
                T:周期,一个周期往桶里流入令牌
                CIR:Committed Information Rate 承诺信息速率 bps
                CIR = CBS / T
                每个周期 T 往桶 里注入CBS个令牌(权限)设备配的是CBS和T
                例如,直接在接口下做整形:
                int G0/0/0
                  qos gts cir 1000(Kbits/s) cbs 25000     #默认CBS 为CIR 值 的25倍,CBS如果小于1500,取最小1500

        2、监管 monitor    
            1)单速双桶三色(监管,C桶、E桶)关注包的尺寸突发

                突发:黄色
                int G0/0/0
                  qos car inbound cir 1000 cbs 188000 pbs 313000 green pass yellow pass red discard|remark...    #默认188倍、313倍
                除了允许突发,超速丢弃之外,还允许重标记:
                int G0/0/0
                  qos car inbound cir 1000 green pass yellow pass remark-dscp af43 red pass-dscp af43  

           2)双速双桶三色(P桶、C桶)关注报文速率突:

            场景:A公司业务需求在1M -2M之间,1M成本1万,1- 2M成本2万,需要标识黄色。黄色的出现,依赖于前期有多余的信息溢出,如果前期没有多余的信息溢出,那么双桶单速本质上就是单桶 单速双色。,首先评估的是数据流的速率是否规定的突发要求PBS,规则 是先比较P桶,再比较C桶 ,分为色盲模式和色敏模式。

           3)限速:LR:  Line Rate 华为私有

        监管只能针对 IP 流量进行限速 ,LR 可以针对非 IP 流量限速 
        场景:当用户希望限制 接口发送报文的能力时,可以执行qos lr来配置接口发送报文速率占接口带宽的百分比,限制 接口发送报文的速率。注意:仅WAN侧物理接口支持配置接口发送报文占接口带宽的百分比。另外 :接口上需要配置队列 ,接口LR才会生效
            int G0/0/0
              qos lr pct 50 cbs 375000    #pct百分比1-100,单桶 单速,类似于gts

        八、拥塞避免:Congestion Avoidance

    概念:入向流量大于出向流量(堵车)
    结果:队列满了,导致尾丢弃---多个tcp流量丢包,tcp重新建立 连接,tcp慢启动,导致整个tcp速率降低,到达 同一时间到达峰值 ,来回反复,最后导致带宽利用率下降,称为TCP全局同步
    解决方案:WRED,默认基于 IPP,可以修改为DSCP

    R3】Drop-profile wredA
    wred ip-precedence | dscp
      dscp af41 low-limit 99 high-limit 100 discard-percentage 1
      dscp af42 low-limit 50 high-limit 90 discard-percentage 5
      dscp af43 low-limit 10 high-limit 50 discard-percentage 10
    q
    drop-profile ippA
      ip-precedence routine low-limit 30 high-limit 60 discard-percentage 30  =0    #ipp
      ip-precedence flash-overide  low-limit 80 high-limit 90 discard-percentage 10     #ipp=?
      ip-precedence critial low-limit 99 high-limit 100 discard-percentage 1    #ipp=5
        1、拥塞避免:

    尾丢弃
    RED
    WRED

        2、拥塞管理:

    PQ调度:Priority Queuing 严格按照队列优先级高低顺序调度,缺点是高优先级队列长时间有分组存在,低优先级会得不到调度机会
    WRR调度:  Weighted Round Robin 加权轮询调度,在队列 之间进行轮流调度,保证每个队列 都得到一定的服务时间,优点是带宽可以得到充分利用,缺点是队列的平均报文长度变化 时,用户不能配置WRR权重获取需要的带宽,另一个低延时业务得不到及时调度
    DRR调度
    WFQ调度:Weighted Fair Queueing 加权公平队列 调度
    PQ+WRR / PQ+DRR / PQ+WFQ:  混合方式
    CBQ调度:Class-based Queueing 基于类的加权公平队列调度
        是对WFQ功能的扩展,首先根据IPP或者DSCP优先级、输入接口、IP报文五元组等规则 来对报文进行分类,然后让不同类别 的报文进入不同的队列 ,其它未匹配报文,进入系统定义的缺省类
        EF队列:满足低时延业务
        AF队列:满足需要带宽保证的业务
        BE队列 :满足不需要严格QoS保证的的尽力发送的业务

drop-profile wredA    #拥塞避免
  wred dscp 
    dscp af41 low-limit 99 high-limit 100 discard-percentage 1
    dscp af42 low-limit 50 high-limit 90 discard-percentage 5
    dscp af43 low-limit 10 high-limit 50 discard-percentage 10
    q
  q
traffic classifier EF
  if-match dscp ef
traffic classifier AF41
  if-match dscp af41
  q
traffic behavier EF
  queue llq bandwidth 100000    #100M,限速,延时敏感
traffic behavior AF41
  queue af bandwidth 300000    #300M,延时不敏感
  drop-profile WRED

traffic policy A
  classifier EF behavior EF
  classifier AF41 behavior AF41

int G0/0/0        #对接研发接口
  traffic-policy A outbound 
int G0/0/1        #对接生产线
  traffic-policy 

dis qos map-table    #查看qos队列映射
qos map-table

  接口信任,信任标记、识别,但不能修改
  if 需要修改,接口trust override ,信任标记,根据map-table进行修改(仅华为私有)

        九、最后:

流量调节:
    监管:无buffer
        部署在入向、出向
    整形:有buffer ( AR 设备只有出向有buffer )
        整形模块在拥塞避免后边
        整形通过信息版(单桶单速双色)-- AR默认支持双桶 双速
        绿色 :转发
        红色:缓存
拥塞管理:
    按照优先级来进行:8个队列
        每个硬件接口只有一个队列 FIFO
        每个硬件接口对应8个软件队列
            if 没有拥塞,数据流通过分类--标记--入队8个队列 ,直接转发
            if 存在拥塞,数据流通过分类--标记--入队8个队列 ,通过调度算法
                调度算法:FIFO:
                    PQ:  Stick Priority 严格优先级;(EF、 LLQ(CBQ)LLQ相当于队列7,EF相当于队列6)
                    RR:Round Robin 轮询
                        WRR:
                        DRR:
                        WFQ:
    按照类来进行:CBQ
        traffic classifier
        traffic behavior
        traffic policy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值