Qos技术

1,324 阅读9分钟

前言

QoS(Quality of Service),服务质量指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如VoIP和IPTV等,因为这些应用常常需要固定的传输率,对延时也比较敏感。

衡量网络质量的四个指标

带宽 bandwidth

是连路上单位时间所能通过的最大数据流量 其单位为bps(bit per second) 在一条端到端的链路中,最大可用带宽等于路径上带宽最低的链路的带宽

1728717110381_d.jpg

延迟 delay

是标识数据包穿越网络所用时间的指标

1728717151517_d.jpg

  • 交换延迟 设备收到一个数据要进行处理 (查询路由表或者路由策略)
  • 排队延迟 平时不排队 当数据阻塞处理不过来需要排队
  • 设备发送电信号和光信号为串行化延迟
  • 数据在传输为传输延迟
  • 端到端延迟等于所有图中链路和设备造成的延时的总和

1728717206287_d.jpg

抖动 Jitter

抖动是指数据标穿越网络时延迟的变化,是衡量网络延迟稳定性的指标

抖动是由于延迟的随机性造成的,主要原因是数据包排队延迟的不确定性

1728717241567_d.jpg

丢包 packet loss

丢包是指数包在传输过程中的丢失,是衡量网络可靠性的重要指标

丢包的主要原因

  • 网络拥塞时,当队列满了后,后续的报文将由于无法入队而被丢弃
  • 流量超过限制时 设备对其进行丢包 (acl等)

丢包 以丢包率作为衡量指标

丢包率=被丢弃的报文数量/全部报文数量

Qos模型

Best-Effort 尽力而为服务 (默认)

网络尽最大的可能性来发送报文,但对时间、可靠性等性能不供任何保证是internet的缺省服务模型。它适用于绝大多数网络应用,如FTP E-mail,他通过FIFO(first in first out)队列来实现 所有数据进入同一队列,按先进先出的原则调度,队列满后,后续报文被丢弃

1728717368124_d.jpg

Integrated Service 集成服务

使用RSVP(资源预留协议)要求用户要事先申请声明想要什么样的服务。在资源满足的情况下,预留资源以满足该需求

Differentiated Service差分服务

先对流量进行分类,然后把类别标记在报文头中,网络各节点只需要简单地识别报文中的这些标记,进行相应的处理,即将网络中的流量分为多个类,不同的类采用不同的处理方式

Qos技术分类

分类与标记 [进行流量区分 打标签]

根据一定的匹配规则识别出对象,是对网络业务进行区分服务的前提和基础,通常作用在接口入方向

拥塞管理 [设置流量转发优先级]

当拥塞发生时,制定一个资源的调度策略,以决定报文转发的处理次序,通常作用在接口出方向

拥塞避免

监管网络资源的使用情况,当发现拥塞有加剧的趋势,采取主动丢弃报文策略,通过调整队列长度来解除网络的过载,通常作用在接口出方向

流量监管 [进行流量限速 例如接口流量限速20M 超出丢包]

对进入或流出设备的特定流量进行监管,当流量超出设定值时,可以采取限制或惩罚措施,以保护网络资源不受损害,可以作用在接口入方向出方向

流量整形 [进行流量限速 例如接口流量限速18M 超出延迟高]

主动调整流的输出速率的流量控制措施,用来使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃,通常作用在接口出方向

图片.png

图片.png

  1. 首先通过流分类对各种业务进行识别和区分,它是后续各种动作的基础
  2. 通过各种动作对特定的业务进行处理。这些动作需要和流分类关联起来才有意义。具体采取何种动作,与所处的阶段以及网络当前的负载状况有关。例如,当报文进入网络时进行流量监管;流出节点之前进行流量整形;拥塞时对队列进行拥塞管理;拥塞加剧时采取拥塞避免措施等.

技术

分类与标记

根据acl或者报文自身信息等对流量进行分类

基于DSCP/IP Precedence/ 802.1p/mpls exp等信息对报文进行标记

图片.png

PHB

Per Hop Behavior ,每跳行为,即设备对报文的处理,根据那些可见的服务特征,如时延、抖动或丢包率,分为以下几类: 图片.png

第三层标记[ip优先级,DSCP]

DSCP前三位为CE1-7 ip优先级 前六位为DSCP 后两位为预留位 图片.png

图片.png

第二层标记[802.1p]

数字越大 优先级越高 图片.png

图片.png

图片.png

qos流量统计[华三模拟器不支持qos]

# 创建流分类
[Switch]traffic classifier classifier_1 <Name of classifier>      
[Switch-classifier-classifier_1]if-match dscp default                // 创建匹配原则

# 创建流行为
[Switch]traffic behavior behavior_1 <Name of behavior>          
[Switch-behavior-behavior_1]accounting packet                        // 流量统计

# 创建流策略
[Switch]qos policy policy <Policy name>
[Switch-qospolicy-policy]classifier classifier_1 behavior behavior_1  // 流分类关联流行为

# 应用流策略
[Switch-GigabitEthernet1/0/1]qos apply policy policy inbound

# 查看配置后流量统计的情况
[Switch] display qos policy interface gigabitethernet 1/0/1
Interface: GigabitEthernet1/0/1
  Direction: Inbound
  Policy: policy
   Classifier: classifier_1
     Operator: AND
     Rule(s) :
      If-match dscp default
     Behavior: behavior_1
      Accounting enable:
        28529 (Packets)

流量监管car与流量整形gts/lr

  • 对于ISP来说,对用户送入网络的流量控制是十分必要的
  • 对于企业网,对某些应用的流量进行控制也是一个有力的控制网络状况的工具
  • 监督进入网络的某一个流量的规格,把他限制在一个合理的范围之内,或者对超出的部分流量惩罚,以保护网络资源和运营商的利益
流量监管丢包,没有延迟
流量整形缓存,增加延迟

图片.png

  1. 单桶单速

cir (committed infotmation rate) 承诺信息速率 [令牌进令牌桶的速度] cbs (committed burst size) 承诺突发尺寸 [存放令牌的令牌桶的容量]

单桶单速 c桶

一个令牌桶,容量是CBS一个填充令牌的速率CIR。当有B字节的报文传过来的时候,根据桶的当前容量来对这个报文进行处理 超出丢弃 未超出转发 图片.png

图片.png

  1. 双桶单速

双桶单速 e桶 e桶>c桶 取令牌 优先c桶 c桶不够再e桶 ebs (extended burst size) 超额突发尺寸

设备执行car的时候 流量是逐包转发的

  • 经验公式
  • CIR<=100Mbps时,CBS(Bytes)=CIR(kbps)x1.5(s)/8
  • CIR>100Mbps时,CBS(Bytes)=100,000(kbps)x1.5(s)/8

两个令牌桶,一个的容量是CBS一个的容量是EBS ,一个填充令牌的速率CIR,两个令牌桶使用同一个填充速率。当有B字节的报文传过来的时候,根据两个桶的当前容量来对这个报文进行处理。 图片.png

图片.png

  1. 双桶双速

双速双桶 c桶 p桶 PIR (peak information rate) 峰值信息速率 [最高速率是多少] 先p桶后c桶 pbs (peak burst size) 峰值突发尺寸

两个令牌桶,一个的容量是CBS,一个的容量是PBS。这两个令牌桶分别使用两个填充令牌的速率,一个填充速率是CIR,一个填充速率是PIR。当有B字节的报文传过来得时候,根据两个桶的当前容量来对这个报文进行处理。 图片.png

---双速双桶单速双桶
---先p桶后c桶先c桶后e桶
绿灯两桶都拿只拿c桶
黄灯只拿p桶只拿e桶
红灯都没拿都没拿
  1. 应用场景
  • 只限速,用单桶单速
  • 限速+区分突发量,用单速双桶
  • 限速+区分突发量+区分带宽是否超出峰值,用双速双桶

图片.png

配置命令

# 创建流行为
[Switch]traffic behavior behavior_1 <Name of behavior>          
[Switch-behavior-behavior_1]car cir 8 cbs 512 ebs 65536                    // 限速8kbps 最高通行65536kbps大小的数据

拥塞与管理

  • 需要发送的数据流量大于设备发送接口的发送能力时,会产生拥塞。
  • 拥塞管理是指在网络发生拥塞时,进行管理和控制合理分配资源。通常采用队列技术实现。
  • 报文按一定的策略缓存到队列中,然后再按一定的调度策略把报文从队列中取出,在接口上发送出去。

队列

默认队列 FIFO先入先出

图片.png

PQ(Priority Queuing) 优先队列

缺陷 如果高级别流量一直存在 那么低级别流量将一直排队

图片.png

CQ(Custom Queuing) 定制队列

优先转发优先队列 优先队列转发完毕 其他队列按照比例进行转发 最多16个队列

图片.png

WFQ(Weightted Fair Queuing) 加权公平队列

可以设置N个队列

图片.png

CBWFQ(Class Based Weighted Fair Queuing) 基于类的加权公平队列

图片.png

RTP(Real-time Transport Protocol) 优先队列

RTP优先队列是一种解决实时业务(包括语音与视频业务)服务质量的简单的队列 技术。其原理就是将承载语音或视频的RTP报文送入高优先级队列,使其得到优先 发送,保证时延和抖动降低为最低限度,从而保证了语音或视频这种对时延敏感业 务的服务质量。

图片.png

队列对比

图片.png

拥塞避免

通过监视网络资源(如队列或内存缓冲区)的使用情况,在 拥塞有加剧的趋势时,主动丢弃报文,通过调整网络的流量来解除网络过载 主要技术Tail-Drop(尾丢弃),RED,WRED

Tail-Drop传统丢包策略

传统的丢包策略采用尾部丢弃(Tail-Drop)的方法。当队列的长度达到某一最大值 后,所有新到来的报文都将被丢弃。 这种丢弃策略会引发TCP全局同步现象——当队列同时丢弃多个TCP连接的报文 时,将造成多个TCP连接同时进入拥塞避免和慢启动状态以降低并调整流量,而后 又会在某个时间同时出现流量高峰,如此反复,使网络流量不停震荡。