QoS------Quality of Server服务质量

1.什么叫QoS服务质量?我们需要针对网络里的哪些参数进行调优呢?
服务质量指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力, 是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。
1).带宽(能占用的带宽);
2).延时(你去往目标所用的时间);
3).丢包率;
4).抖动(时延与时延的差值,越低越好);
5).吞吐量(实际发送和接受的流量)
延时=发送延时(例如我ping 百度,敲下回车的一刻,数据从网卡发出的时间)+传输延时(数据在线路里边所传输的延时)+排队延时(到达设备接口,等待处理的延时,数据包得排队)+处理延时(排完队了,匹配相应接口转发的延时)
2.QoS流量的分类、标记方法:
QoS------Quality of Server服务质量_第1张图片
如图所示是基于IP数据包的TOS(服务类型)字段来进行流量的分类和标记的两种方法。
TOS------(Type of Service)字段长度为8位,它用来指定特殊的数据包处理方式。
第一种方法:IP Precedence(优先权)占用TOS字段的高三位,可以分为8类优先级(0-7,越大越优先转发)。
缺点:这个标识只能决定让哪些数据包优先转发,而数据包在转发的时候进入设备的接口是要根据标识排队的,那麽如果这个队满了,该丢包的时候该如何丢呢?这个标识不能决定当需要丢弃数据包的时候应该先丢弃谁。
解决第一种方法的不足是应用第二种方法。
第二种方法:TOS的DSCP区分服务代码点,占用了TOS字段的6个高位,而相对于这6个高位再分高3位来代表调度优先级来决定了调度优先级(就是哪些数据包优先转发,数字越大先被调度),低三位代表丢弃优先级,决定了丢弃优先级(数字越大越容易被丢弃)。
AF:确保转发,共分为12种。
EF:快速转发,调度优先级最高,丢弃优先级也是最高(适用与语音流量)。
CS:分类选择,共分为7种,兼容IP Precedence,CS6(确切的讲OSPF、BGP流量在其中)/CS7 动态路由协议(CS6/CS7转发优先级最高,丢弃优先级最低,一般是控制流量)。
实施方法:
首先利用Class-Map这个工具把流量匹配上,然后通过Policy-Map对这个流量采取标记动作。(除了用Class/Policy Map组合外,我们还可以利用Route-Map组合来为流量打上标识,前提是我们必须捕获到这个流量,用ACL就可以,根据IP五元组包括TOS值都可以作为捕获目标的参数)。

3.流量的管制与整形技术(门票机制):
QoS------Quality of Server服务质量_第2张图片
令牌桶技术(通过算法来控制流速):
bc(一定时间发送的令牌数) ;
tc(时间) ;
be(超发);
cir(承诺信息速率):保证是这个量(但是实际上不一定)。
cir=bc/tc;
存在三种方式:
1).单速率单筒双色标记,取到令牌标记为绿色,取不到令牌就标记为红色。如图所示,令牌数是无积存的,当流量数小与令牌数时,可以得到很好的转发;当流量数大于令牌数时,最多只能转发令牌数个量。
QoS------Quality of Server服务质量_第3张图片
2).单速率双桶三色,第一个桶取到令牌为绿色,第二个桶取到的令牌为红色,取不到的为红色 ;假设如图所示,第一个桶内令牌下发,当第一次令牌有剩余的时候就将剩余的令牌存于第二个桶中,当下一次数据流量大于第一个桶下发的令牌数时就会获得第一个桶加第二个桶的令牌数获得转发<切记第二个桶的令牌数总是上一次第一个桶的剩余量,当下一次数据流量转发后第二个桶中的令牌数是要根据第一个桶来更新的,无积存> (对于用户是友好的,因为传输效率偶尔会获得超发,而对于设备的接口是不友好的,因为会使接口的转发效率忽高忽低)依赖于上一次令牌的剩余获得超发。
QoS------Quality of Server服务质量_第4张图片
3)双速率双桶三色,两个桶按照不同的时间间隔下放不同的令牌数量,假设如图所示,第一个桶每0.2s下发4个令牌,第二个桶每0.25s下发8个令牌,那麽当流量数小于第一个桶令牌数的时候,取第一个桶的令牌,当流量数大于第一个桶的令牌数时,直接去第二个桶拿令牌(最大的发送量便是令牌数最多的桶的令牌数)。一般做限速用(运营商做的),可以很好的获得超发效果。
QoS------Quality of Server服务质量_第5张图片
对于企业来讲利用令牌桶技术是能对企业内的不同业务实现限速的效果,保证企业重要流的传输。
令牌桶技术的两个应用:限速(红色流量直接丢弃);整形(把红色流量缓存下来,下一次再过令牌桶;机制上保障流量整体不变,时间上压后了)。
整形的场景:整形一般用于大带宽接口与小带宽接口的对接。
整形的目的:防止大带宽接口堵塞小带宽接口,如果发现小带宽接口堵塞了,可以进一步降低CIR值。
限速和整形,揭示的是令牌桶算法限制的最大流速(防干扰机制)。
4.流量的管理(通过调度算法------队列机制):
PQ绝对优先队列:四个队high、medium、normal、low,高队列有流量调度高队列,高优先级队列转发完还得等待一会才会转发低优先级的(会存在饿死现象,如果高队列一直有流量,就会一直转发高队列的流量,为忽略低队列的流量)。
CQ:ROBIN,存在16个队列0-15,本质上是一种轮询算法,0队列为优先队列,有它就得发,发完0队列才会对1-15队列实施轮询转发。
WFQ:加权公平队列,存在256个队列 (本质上也是一种循环算法) 每一个队列都有发送机会,根据你的权重来决定,自动队列(人无法操作),五元组一样是一个队,五元组不一样另开一个队。(低于2.048串行线路的默认队列,大于2.048默认队列FIFO)。
CBWFQ:(手动版的WFQ),手动设置队列和占用的带宽值,可以根据优先级抢占,对语音流量不太友好(带宽的百分比占用默认不能大于75%)。
LLQ:低延时队列,专门为VOIP(语音流量)设定的,可以插到所有队列的最前方。
5.拥塞避免(丢弃机制,早期的丢弃机制是尾丢弃机制,存在的风险是有的重要流量会被丢弃,例如:丢弃TCP的握手包就会引起TCP的全局同步问题):
RED早期检测随机丢弃会避免这种现象(原理就是不能让这个队满,如果发现队满了就会挑一个丢弃,保证下一个数据包到达有位置,存在的缺点还是随机丢,会丢掉重要的数据);
WRED加权的RED根据优先级来对数据进行丢弃(有选择性的丢弃,这个权重就是通过DSCP的丢弃维度实现的)。

举例:
假设某企业拥有一个1000M的网络出口,但是限制某个用户最多占用100M,他有两种流量特别重要,第一种要保障最低10M,第二种要保障最低20M。
配置:

IP access-list extend K                        //首先通过ACL捕获流量
permit ip host 1.1.1.1 any
class-map match-all/any K                      //匹配,all表示底下匹配的条件为且的关系,Any表示匹配底下条件为或的关系
match access-group K                                  

//匹配两种重要流量并保障最低带宽
IP access-list extend baidu       
Permit ip any host 6.6.6.6 eq80
class-map baidu  
match access-group baidu

IP access-list extend xinlang 
Permit ip any host 8.8.8.8 eq80
class-map xinlang 
match access-group xinlang

Policy-map App
class baidu
Bandwith 10000000
class baidu
Bandwith 20000000

policy-map K
class K
Server-policy App                                //层状结构嵌套两个重要流量的保障策略
policy cir 100000000                             //限速

Qos的第三种玩法:RSVP 资源预留协议(必须整个通路里的所有设备都能支持)。

总结:通常我们所应用QoS技术都是在带宽不够用的情况下保障数据的合理转发;也就是说只要带宽足够大,那麽并不需要实施QoS技术。

你可能感兴趣的:(网络)