002-QOS基本原理

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:普通流量,确保转发

PS:

类选择码:CS(Class Selctor)
加速转发:EF(Expedited Forwarding)
确保转发:AF(Assured Forwarding’)
尽力而为:BE(Best-Effort) BE是缺省的PHB,每台路由器都支持

IP优先级部分共3位,取值范围为0~7(值越大,优先级越高)。
ToS字段共一个字节(8位),包括3个部分:0~2共3位用来定义数据包的IP优先级(IP Precedence)、ToS(4位)和最后一个固定为0的位,如下图:
以上IP优先级中:
6和7一般保留给网络控制数据使用,比如路由;
5推荐给话音数据使用;
4推荐由视频会议和视频流使用;
3推荐给话音控制数据使用;
1和2推荐给数据业务使用;
0为缺省标记值。
在IP优先级配置时,既可以使用0~7这样的数值,也可使用上述对应的优先级名称。

 

服务等级 (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 ]//查看指定流策略的应用记录。
posted @   Jeason001  阅读(132)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示