HCIE-QOS基本原理

QOS概述

  • 在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。

什么是QOS

在这里插入图片描述

  • 为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而提供相应的服务。
    • 例如VoIP等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和FTP业务对时间延迟并不敏感)。
  • 为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而为之提供相应的服务。
    • 传统IP网络的尽力服务不可能识别和区分出网络中的各种通信类别,而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统网络的尽力服务模式已不能满足应用的需要。——QoS的提出。

QoS服务模型

  • 通常QoS提供以下三种服务模型:
    • Best-Effort service(尽力而为服务模型)
    • Integrated service(综合服务模型,简称IntServ)
    • Differentiated service(区分服务模型,简称DiffServ)

区分服务模型

  • 将网络中的流量分成多个类,然后为每个类定义相应的处理行为,使其拥有不同的优先转发、丢包率、时延等。
    在这里插入图片描述
  • DiffServ是一个多服务模型,它也可以满足不同的QoS需求。该模型目前IP网络广泛使用。
  • 应用程序在发出报文前,不需要通知网络为其预留资源。对DiffServ服务模型,网络不需要为每个流维护状态,它根据每个报文的差分服务类(各报文头中的差分服务标记字段,如IP头的DS Field),来提供特定的服务。
  • 其实就是将网络中的流量分成多个类,不同的类采用不同的处理。也就是说,先对流量分类,然后把类别标记在报文头中,通过报文携带到网络上,网络各节点只需要简单地识别报文中的这些标记,进行相应的处理。
  • 小例子:就好比你去坐火车,火车票就是用来标记你所要享受的服务,是软卧、硬卧、硬座还是无座。火车票你随身携带,上车时你根据火车票进入对应的车厢,享受相应的服务:进入卧铺车厢的,可以舒服的躺着,进入硬座车厢,表示要坐着或站着咯。车票就相当于报文头中的“标记”。
  • 除了流分类和标记,差分服务比较优秀的地方还有强大的队列技术。当网络拥塞,也就是进来的报文太多,设备处理不过来,就让报文排队。

QoS常用技术 (DiffServ模型)

在这里插入图片描述

QoS数据处理流程 (DiffServ模型)

在这里插入图片描述

  • QoS技术提供了下述功能:
    • 流量分类和标记:依据一定的匹配规则识别出对象,是有区别地实施服务的前提,通常作用在接口入方向。
    • 令牌桶:使用令牌桶对流量进行评估,是否满足报文转发的条件。
    • 流量监管:对进入设备的特定流量的规格进行监管,通常作用在接口入方向。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。
    • 拥塞避免:过度的拥塞会对网络资源造成损害,拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载,通常作用在接口出方向。
    • 拥塞管理:是必须采取的解决资源竞争的措施,将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序,通常作用在接口出方向。
    • 流量整形:一种主动调整流的输出速率的流控措施,是为了使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃和拥塞,通常作用在接口出方向。

QoS流分类和流标记

QoS数据处理流程

在这里插入图片描述

  • 流量分类和标记:依据一定的匹配规则识别出对象,是有区别地实施服务的前提,通常作用在接口入方向。

为什么需要流分类和流标记

  • 流量分类和标记是QoS的基础,是有区别地实施服务的前提。
    在这里插入图片描述
  • 要实现差分服务,就需要对进入DiffServ域的流量按照一定的规则进行分类,然后根据不同类别的流量提供不同的服务。
  • 当报文在DiffServ域边界被分类之后,在网络的中间节点,就可以根据分类,对不同类别的流量给予差别服务。下游(downstream)节点可以选择使用上游(upstream)节点的分类结果,也可以按照自己的分类标准对数据流重新进行分类。
  • 需要首先将数据包分为不同的类别或者设置为不同的优先级。
    • 将数据包分为不同的类别,称为流分类,流分类并不修改原来的数据包。
    • 将数据包设置为不同的优先级称为标记,而标记会修改原来的数据包。其中,标记分为内部标记和外部标记:
      • 内部标记
      • 标记报文在设备内部处理的服务等级(service-class)与丢弃优先级,让匹配的报文能够直接进入指定服务等级的队列,而不需要根据报文头中的优先级字段来确定服务等级。
      • 标记报文的丢弃优先级也叫着色(color),是指在相同service-class的时候,入同一个队列,当此队列快拥塞的时候,可以通过color再进行差分服务,体现在缓存使用上的优先顺序。
      • 外部标记
      • 设置/改写报文的优先级字段,用于向下一台设备传递差分服务的QoS信息。其中,改写报文的优先级字段也称为“重标记-remark”。

简单流分类

在这里插入图片描述

  • 简单流分类是指采用简单的规则,如只根据IP报文的IP优先级或DSCP值、IPv6报文的TC值、MPLS报文的EXP域值、VLAN报文的802.1p值,对报文进行粗略的分类,以识别出具有不同优先级或服务等级特征的流量,实现外部优先级和内部优先级之间的映射。

外部优先级 - VLAN报文

在这里插入图片描述

外部优先级 - MPLS报文

在这里插入图片描述

外部优先级 - IP报文

在这里插入图片描述

各外部优先级间的对应关系

在这里插入图片描述

  • EF:一般是语音流量
  • AF:普通流量,确保转发

服务等级 (Service Class)

在这里插入图片描述

复杂流分类

在这里插入图片描述

流量分类全过程

在这里插入图片描述

  • 需求:要求为语音、视频等即时性业务提供最优先的转发服务
  • 实现:在DS边界节点,先通过复杂流分类抓取语音、视频等业务流量,映射到对应的优先级;再通过简单流分类,处理剩余流量。

配置复杂流分类

在这里插入图片描述

  • 由于DS边界收到的流量一般未被分类,所以复杂流分类一般在DS边界设备上配置。配置思路如下:
    • 使用Traffic classifier工具匹配流量
    • 使用Traffic behavior工具定义流分类的规则
    • 使用Traffic policy工具将Traffic classifier与Traffic behavior进行绑定
    • 将Traffic policy应用到DS边界设备接口入方向上
System-view
   traffic classifier [classifier-name]        //创建流分类
      if-match [acl | vlan-id |. ]       //基于流量特征匹配流量
      
System-view
   traffic behavior [behavior-name]        //创建流行为
      remark [dscp-name | 8021p-value | EXP |]       //对流量的QoS字段赋值

System-view
   traffic policy [policy-name]    //创建流策略
      classifier [classifier-name] behavior [behavior-name]     //绑定流分类与流行为

System-view
   interface [interface-type interface-num]      //进入接口视图
      traffic-policy [policy-name] [inbound | outbound]     //在接口入方向上应用流策略

//当配置完成复杂流分类,可以通过以下命令查看结果:
System-view
   display traffic classifier user-defined [ classifier-name ]   //查看已配置的流分类信息。
   display traffic behavior [ system-defined | user-defined ] [ behavior-name ]   //查看已配置的流行为信息。
   display traffic policy user-defined [ policy-name ] classifier [classifier-name ]    //查看流策略的配置信息。
   display traffic-policy applied-record [ policy-name ]   //查看指定流策略的应用记录。

修改简单流分类 (可选)

在这里插入图片描述

  • 简单流分类基于优先级映射表,将带有特定QoS字段数据映射为内部优先级。
  • 优先级映射表根据实际需求可以进行一定修改,修改优先级映射表的思路如下:
    • 配置端口信任的报文优先级
    • 配置优先级映射表
//配置端口信任的报文优先级
System-view
   interface [interface-type interface-num]      //进入接口视图
      trust [8021p | dscp]       //基于802.1P或者基于DSCP景下修改

//配置优先级映射表
System-view
   qos map-table [ dot1p-dot1p | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dscp | dscp-lp ]      //进入优先级映射表视图
      input [input-value1] output [output-value]     //配置优先级映射表中的映射关系

//修改优先级映射配置后,可以通过以下命令查看配置结果:
System-view
   display qos map-table [ dot1p-dot1p | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dscp | dscp-lp ]    //查看当前的各优先级间的映射关系。

实验

在这里插入图片描述

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值