QOS个人笔记

网络时延

抖动

丢包

1,在带宽不充裕的时候,优化关键业务的服务质量,劣化非关键业务的服务质量

2,在带宽充裕的时候,优化带宽和利用,合理的配置带宽资源,限速等

服务模型

尽力而为

综合服务模型,RSVP,资源预留协议

区分服务模型

1,在网络出口对报文进行分类,完成对报文的标记

2,根据标记,将其映射成本地对其定义的服务等级值

3,根据不同的服务等级值进入相应的缓存队列,根据队列间的调度机制,实现不同的转发服务

报文分类的依据

报文分类可依据不同链路传输的不同类别的报文,且自身所含有的QoS优先级的字段值来分类

@由于其只能依据一种粗略地分类且匹配规则较为简单,故称为简单流分类

802.1Q、Label(EXP)、这两个都是3个比特,取值0-7

Tos(IPP/DSCP)、8个比特位

IP报文字段:

IP报文使用IP-Precedence字段标识其优先级(取值范围0~7)

@IP-Precedence字段最多只能将IP报文分为8类,而在实际部署网络时,这些优先级是远远不够的

@所以在RFC2474中对IPv4报文头中的TOS字段进行重新定义,称为DS(Differentiated Services)字段,区分服务代码点

DSCP字段可以将报文分类有0~63种,即2的6次方64种

IPv4中的DSCP字段值:

DSCP/IP-Precedence/802.1p/exp值表

DSCP关键字:

CS 类别服务 : 取值特征DSCP的/后 3 bit 始终等于000,前 3bit 用于和 IPP/EXP/802.1p 实现映射的兼容性。CS6和CS7是为协议预留的

AF 确保转发服务 : 实现带宽保证的业务,AFxy ,X(取值1-4)代表优先级,越大优先级越高,

Y(取值1-3)代表丢弃率,越大代表丢弃率越高、适合TCP类业务,或者对丢包不敏感的业务进行分类

EF 快速转发服务 : 实现低时延,低丢包率的业务

BF 尽力而为(CS0) : 没有任何承诺的业务

对应的AF对应的DSCP十进制值换算方法:

AFxy = 8x+2y AF11=8*1 + 2*1 =10

AF22=8*2 + 2*2 =20、AF33=8*3+2*3=30

111 110=CS7=ip-pre=7

DSCP的值变为IP-Pre的值为:DSCP=001110=14=1,只看前3个比特位即为001

CS值的二进制只看前面三个比特,后面的三个比特都为0,用来与IP-pre优先级做兼容

EF PHB提供低丢包率、低延时、低抖动、该值为46

AF PHB:保证带宽服务

DD值为:

低丢弃概率 010,AF11

中丢弃概率 100,AF12

高丢弃概率 110,AF13

报文分类实现:

对于接入的SWA和SWB

一般在DS边界对报文进行分类,如SWA,SWB

下游downstream 设备可以选择接收上游upstream 设备的分类结果,也可以按照自己的标准分类

拥塞管理:

拥塞产生的点:1,流量汇聚的链路上

2,流量从高速链路往低速链路转发

# 将准备从一个接口发出的所有报文放入不同的缓存队列中,当接口硬件队列满时则认为产生了拥塞

# 拥塞后,设备启动软件队列,对报文进行缓存,根据个队列间的调度机制实现不同的报文差分转发

对于RTA:

在RTA内部有一个本地优先级LP,又称内部优先级

实现优先级映射实现从数据原始携带的QOS优先级到内部优先级QOS的映射

将进入设备的报文,设备将报文携带的优先级或者端口优先级映射为内部优先级,根据内部优先级确定进入的队列

调度机制有:

FIFO(First IN First OUT),实现机制简单且处理速度快,但不能有差别地对待优先级不同地报文

FIFO队列不对报文进行分类,当报文进入接口地速度大于出接口能发送地速度

FIFO按报文到达接口的先后顺序让报文进入队列,同时,FIFO在队列出口让报文按进队的顺序出队,先进先出

PQ(priority Queuing)

优点:对高优先级的报文提供了优先转发

缺点:低优先级队列可能出现 饿死 现象

PQ队列是针对关键业务应用设计的,分为4个队列,在报文出队列时,PQ会首先让高优先级队列出队并发送,直到高优先级报文发完,

然后发送低优先级队列的报文

如果高优先级队列持续有报文发送,那么较低优先级的报文会有 饿死 的现象发送

发送队列有0 ~ 7个队列

WRR(Weighted Round Robin)加权轮询队列

根据优先级进入队列,然后分配权重

优点:避免PQ队列的 饿死 现象

缺点:基于报文个数来调度,低时延业务得不到及时调度

根据每个队列的权重来轮流调度各队列中的报文流,实际上,RR调度相当于权值为1的WRR调度

WFQ(Weighted Fair Queuing)

可根据优先级进入队列,或者根据流进入队列,然后分配权重

两种调度机制

1,基于流的分类机制:当报文的SIP+DIP+SPORT+DPORT+TCP/UDP+TOS 六元组相同的报文为同一个组

2,基于优先级:优先级相同的报文放入一个队列

PQ+WFQ

可以将八个队列中个几个队列按照PQ方式,另外几个队列按照WFQ的调度方式

配置:命令效果:将5号队列设置成PQ,将1,2,3号队列设置成WFQ调度方式,并在G0/0/0口调度该队列方式

CBQ(Class-based Queueing)基于类的队列 比较常用,可保证带宽

可根据管理员自行对流量进行分类,分出来的每一类就自行放在一个队列中

优点:提供自定义类的支持,可为不同的业务定义不同的调度策略

确定,涉及到复杂的流分类,启用CBQ会耗费一定的系统资源

CBQ提供三类队列:

EF队列:满足低延时业务,具有最高优先级

AF队列:满足需要带宽保证的关键数据业务

BE队列:满足不需要严格QOS保证的尽力发送业务

LLQ队列:低延时队列

配置:指定队列调度模式:

qos queue-profile test

schedule ?

  drr  Deficit weighted round robin

 pq   Priority queuing

  wfq  Weighted fair queuing

 wrr  Weighted round robin

队列的组成:1,分类机制,2,调度机制,3,丢弃机制(默认都是尾丢弃,可配置为RED/WRED的丢弃机制)

当队列被装满后的传统处理方式:

尾丢弃:后续将该队列发送的报文全部丢弃,直至拥塞解除

导致出现TCP全局同步的情况,当链路出现拥塞,会丢弃该链路队列的报文来缓解,当客户端检测到TCP连接不稳定或者超时时,会重传TCP

并降低TCP窗口大小,来恢复网络质量。客户端会不断提升TCP窗口大小来提升网络质量,则又可能造成拥塞,重复该过程

解决方法:

尾丢弃对于丢弃TCP报文造成全局同步现象,造成的其他影响:

1,引起TCP饿死现象

后续法网队列的TCP报文进行尾丢弃, 造成windows size减小,但UDP流量不会减少,反而会占满整个带宽,造成TCP饿死现象

2,无差别丢弃

因为RED技术解决了TCP全局同步,但丢弃方法是根据随机数,无法区分优先级,关键业务等

可能导致大量非关键业务数据被转发,而大量关键数据被丢弃,原因是尾丢弃无法对流量进行区分丢弃

解决方法:WERD

WERD技术可以通过对不同优先级数据包或者队列设置相应的丢弃策略,实现对不同优先级的流量进行丢弃

当队列在20-30之间我随机丢弃IP优先级为0的,当队列在30-35之间我随机丢弃IP优先级为1的,以此类推

可大大节省链路带宽并保证关键业务

可使用流策略工具实现对流量的带宽的限速,命令:

配置:

#

drop-profile a //配置一个丢弃模板

wred dscp //基于DSCP值

 dscp default low-limit 20 high-limit 80 discard-percentage 30 //最低门限是20最高门限是80,丢弃概率是30%

#

本地端口镜像配置实现:

设置观察接口: observe-port interface Ethernet0/0/0

设置镜像接口,镜像所有入方向报文: interface Ethernet0/0/1

mirror to observe-port inbound

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路明非z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值