QOS笔记

来源:本站原创 网络技术 超过8,819 views围观 0条评论

QOS 还是要到CISCO官网上去看英文文档写的很详细很多特性技术啥的,但是实施起来一定注意要简单简洁
因为QOS是会耗资源的。呵呵比较长不知几人能看完
QOS
QOS四特征
带宽:带宽就是特定网络介质或协议中额定的吞吐量
延迟:延迟有多种如处理延迟指从设备收到数据帧到转发数据帧之间的处理时间,串行延迟之数据在介质中传送的延迟
抖动:数字信号的各个有效瞬时对其当时的理想位置的短期性偏离,通常来说就是指网络一下快一下慢这个时候就说网络抖动比较大
丢包:是指沿转发路径所产生的分组丢失,造成原因很多
QOS解决什么问题?
并未解决带宽问题,而是更合理和更公平的分配带宽(公平不等于平均)!
QOS服务类型
1.综合服务IntSERV     RSVP
2.区分服务 DIFFSERV   DSCP per-hop
3.尽力服务            (IP)无QOS
差分服务操作
1.      分类        classification
2.      标记        MARKER
3.      拥塞管理    queuing
4.      拥塞避免    WRED 加权早期随机检测
5.      流量调节    policing 超过抛弃 sharpping 超过延迟 policing组建为 CAR sharpping 组件为GTS通用流量整形 FRTS 帧中继流量整形基于类的流量整形
流量监管 VS 流量整形
流量整形是缓存超出策略/协定SLA规定的超额流量,流量监管是丢弃超额流量或将超额流量标记为低优先级(重标记)
流量整形:出接口;流量监管:入接口或出接口
主要都用于网络边缘
流量监管的目的和功能:
将流量速率降低到物理接入速率之下
对每种流量类别进行速率限制
重标记流量
流量整形的目的和功能:
降低通过WAN服务(如帧中继或ATM)向其他站点发送的流量速率
遵从订购的速率
以不同的速率发送不同类别的流量
在CE设备面向站点内部的接口和ISP的网络边缘适合实施流量监管
在CE设备经ISP想远程站点发送流量的输出接口适合实施流量整形
Policing VS Shaping
1    policing和shaping 都是流量的测量机制.对于不同的流量类别进行分开测量
2    policing可以既用于出方向和入方向的流量,shaping只能用于出方向的流量
3    shaping的作用是缓存超额的流量,并按照预先配置的速率发送超额流量,policing丢弃或重标记超额流量
4    shaping 需要内存去缓存超额流量,可能会带来延迟和抖动,policing不需要额外的内存资源,不会带来延迟和抖动
5     policing丢包后会重传丢弃的流量如TCP的流量,而非TCP流量可能会重传比丢弃流量更多的流量
6     policing可以重标记流量,而shaping不能重标记
7     shaping的配置可以基于网络状况和网络信号,policing无法响应网络状况和网络信号.
令牌桶
利用桶和令牌测量流量速率
令牌桶的方案:
单桶单速率(single bucket with single rate)
双桶单速率(dual bucket with single rate)
双桶双速率(dual bucket with dual rate)
1    在发送一个数据字节之前,桶必须先获得一个令牌.令牌丢入桶中的速率与SLA速率相等
有活动流量才会向桶中丢入令牌,每发送一个字节就使用一个令牌
2    单桶模型,桶满的时候令牌就会溢出,导致令牌浪费
3    如果令牌桶中有足够的令牌可以用来发送数据量,则转发数据;如果令牌桶中的令牌不满足数据的发送条件则数据被缓存,或稍后再发,或丢弃,或重标记.
4    CIR(比特/秒)=Bc(比特)/Tc(秒)
CIR表示承诺速率,Bc表示承诺突发量,Tc承诺时间间隔
增加的令牌数=时间差(s)*CIR/8
时间差是新数据包到达的时间与上一个数据包到达时间之间的时间差
5    桶中的全部令牌数(字节数)不能超过Bc值,
Bc越大,表示所允许的突发数据量越大, 大的Bc值能够节省大量令牌
6    流量监管基于CAR(约定访问速度)技术来实现流量监管
CAR利用令牌桶(Token Bucket,TB)进行流量控制CAR不仅可以用来进行流量控制,还可以进行报文的标记(mark)或重新标记(re-mark)
可以为不同类别的报文设置不同的流量特性和标记特性
使用在网络边界路由器的接口上,用来限制进入或离开该网络的流量速率,每个接口可以配置多个CAR策略
CAR的使用限制:第一、CAR只能对IP 流量限速。第二、CAR不支持快速以太网信道(Fast EtherChannel)第三、CAR不支持隧道接口第四、CAR不支持ISDN PRI 接口。R1(config-if)#rate-limit {input | output}{Cir Bc Be} conform-action {action} exceed-action{action}
output|input指输出或者输入的流量。CIR是承诺接入速率,它的值的范围是在8000-2000000000 bit每秒。Bc是普通突发,它的值应在1000-512000000byte,Be是最大突发,其值范围为2000-1024000000bytes.conform-action后面规定的是遵从条件时候的动作,exceed-action 后面规定的是超出时的动作
action的操作
continue 继续执行下一条CAR 语句
drop 丢弃该数据包
set-prec-continue {precedence} 设置IP 优先级并继续执行下一条CAR 语句
set-prec-trasnmit {precedence} 设置IP 优先级并转发该数据包
set-dscp-continue {dscp} 设置IP DSCP 值并继续执行下一条CAR 语句
set-dscp-trasnmit {dscp} 设置IP DSCP 值并转发该数据包
set-qos-continue {group ID} 设置QoS 组ID 并继续执行下一条CAR 语句
set-qos-transmit {group ID} 设置QoS 组ID 并发送该数据包
transmit 转发该数据包
7    针对于DSCP值进行CAR
R1(config-if)#rate-limit {input|output} [dscp dscp] {CIR Bc Be} conform-action {action} exceed-action {action}
针对于ACL进行CAR
R1(config-if)#rate-limit {input|output}access-group {ACL} {CIR Bc Be} conform-action {action} exceed-action {action}
针对于限速ACL进行CAR
R1(config-if)#rate-limit {input|output} access-group rate-limit {ACL} {CIR Bc Be} conform-action {action} exceed-action {action}
限速ACL是一种特殊的ACL,ACL说得是限速ACL的号码,可以匹配优先级,也可以匹配源mac地址
R1(config)#access-list rate-limit {ACL} {precedence|mac-address}
6.     
R1(config-pmap-c)#police {CIR Bc Be} conform-action {action} exceed-action {action}
[violate-action {action}]
可以看出只是rate-limit改成了police,后面还增加了一个violate-action,违规操作,即超过了Be流量之后的操作
Action的操作命令
continue 继续执行下一条CAR 语句
drop 丢弃该数据包
set-prec-continue {precedence} 设置IP 优先级并继续执行下一条CAR 语句
set-prec-trasnmit {precedence} 设置IP 优先级并转发该数据包
set-dscp-continue {dscp} 设置IP DSCP 值并继续执行下一条CAR 语句
set-dscp-trasnmit {dscp} 设置IP DSCP 值并转发该数据包
set-qos-continue {group ID} 设置QoS 组ID 并继续执行下一条CAR 语句
set-qos-transmit {group ID} 设置QoS 组ID 并发送该数据包
transmit 转发该数据包
流量整形
流量整形的形式:基于类的流量整形、FRTS、GTS(Generic Traffic Shaping,通用流量整形)使用缓冲区和令牌桶来实现
当数据的发送速度过多时,首先在缓冲区进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的报文可以基于类别的流量整形机制,利用MQC来实现.可以联合CBWFQ使用,不支持帧中继分段和交织机制
帧中继流量整形仅能控制帧中继流量,用于帧中继子接口或帧中继DLCI,支持帧中继分段和交织机制
两者都支持帧中继网络拥塞信号(如BECN和FECN)并进行互操作
路由器接受到BECN之后,会将出帧中继流量整形到较低速率.路由器接受到FECN之后,即使该路由器没有向其他对端设备发送流量,也会向对端发送一个BECN比特置位的测试帧,以通知对端设备降速.
GTS(Generic Traffic Shaping,通用流量整形)
两种方法配置GTS
基本的GTS:
R1(config-if)#traffic-shape rate{Cir Bc Be}
基于ACL的GTS.可选:
R1(config-if)#traffic-shape group {ACL} {Cir Bc Be}
配置GTS在FR上的实现
1启用GTS:
R1(config-if)#traffic-shape rate {Cir Bc Be}
2当接口收到向后显性拥塞通知(BECN)时,估算流量速率的最低值:
R1(config-if)#tracffic-shape fecn-adapt {Cir}
3向前显性拥塞通知(FECN)做为BECN的响应,可选
R1(config-if)#traffic-shape fecn-adapt
可以利用MQC实现GTS:
基于分类的流量整形可以启用在支持GTS 的任何接口上
可以定义平均值和峰值的流量整形,并可以在配置GTS的时候采用CBWFQ
1定义平均值和峰值的Cir,Bc和Be:
R1(config-pamp-c)#shape {average | peak} {Cir Bc Be} //average指平均值,peak是峰值
2定义缓冲区上限,默认值为1000.可选:
R1(config-pamp-c)#shape max-buffers {number-of-buffers}
3在策略上应用CBWFQ.可选:
R1(config-if)#service-policy output {policy-name}
FRTS(Frame relay traffic shaping,帧中继流量整形)
FR中的FECN和BECN用于暗示网络上发生了拥塞,当收到带有BECN标记的数据包时,FR流量整形(FRTS)将动态的对流量进行整行.注意:FRTS只能使用在FR的PVC和SVC上

 

配置FRTS 的步骤如下:
1、启用FRTS:
R1(config-if)#frame-relay traffic-shaping
2、全局定义map class。当定义了map class 之后,所有VC将继承该map class的FRTS参数
R1(config)#map-class frame-relay {name}
3、基于接口的定义map class。当基于接口的定义了map class之后,所有该接口的子接口的VC将继承该map class的FRTS参数。可选:
R1(config-if)#frame-relay class {name}
4、定义该map class的速率的平均值和峰值:
R1(config-map-class)#frame-relay traffic-rate {average [peak]}
5、定义CIR,Bc和Be,如果不指定方向,则定义为双向。可选:
R1(config-map-class)#frame-relay {cir [in|out] CIR|bc [in|out] Bc|be [in|out] Be}
6、定义CIR 的最低值。可选:
R1(config-map-class)#frame-relay mincir [in|out] {min-CIR}
7、定义以BECN 做为拥塞通知符。可选:
R1(config-map-class)#frame-relay adaptive-shaping becn
8、定义CQ 列表和PQ 列表。可选:
R1(config-map-class)#frame-relay {custom-queue-list|priority-group} {list}

 

 

分类和标记
在网络边缘进行第一次流量分类并加以标记(着色)数据包,内部网络的设备只要基于该数据包标记进行一次简单有效地分类,并提供差异化服务。建议在靠近源的位置进程流量的分类和标记。标记位于流量分类之后
常用的二层标记
COS:3bit用户优先级字段(PRI),位于ISL或802.1p帧
EXP:3bit,位于MPLS头,介于二层与三层之间
DE:1bit,位于帧中继头,
CLP:1bit,位于ATM信元头
常用的三层标记
IP优先级或者DSCP 6位位于IP头部
DSCP有4类PHB:
类别选择PHB,即等同于IP优先级字段,基于TOS的IP优先级的向后兼容
默认PHB,无法映射DSCP时被指定,用于尽力而为服务(BE)
AF PHB,用于保证带宽服务
EF PHB,用于提供低延迟服务
AF PHB为4种类别的流量提供了4队列(AFxy):AF1y,AF2y,AF3y,AF4y
每个AFxy所对应的DSCP值SCP(十进制)=8x+2y
x:表示IP优先级字段的值,Y:表示数据包的丢弃概率,该值越大,丢弃的概率越大
在实施过程中,必须为每个AF队列预留足够的带宽资源,并应用相关的拥塞管理机制
一般来说,尽量将信任边界设置在网络边缘
端系统(end system)
接入层交换机
分布层交换机
NBAR(network based application recognition,基于网络的应用识别)
可以使用NBAR定义网络的流量类别BA,也可以在CB(class-based,基于类别的)标记或其他基于MQC的工具中应用
不但可以识别部分协议,还可以将cisco systems发布的PDLM(packet description language modules,包描述语言模块)加载到flash并引用,来扩展NBAR所能识别的协议列表.
NBAR可以通过检查网络层和传输层包头来进行流量分类.
拥塞管理
一个借口的排队机制中含有两个子机制
软件排队机制
硬件排队机制
在接口默式下,可以使用tx-ring-limit命令设置硬件队列的大小
先去查看软件队列,要不要排队,如果不需要排队就直接到硬件队列,如果硬件队列未满,那么就直接从接口出去了,如果硬件队列满了,那么tail-drop将会发生
FIFO(First In First Out,先入先出)
是一种最简单的队列机制。 分组的传输顺序与接收顺序相同
2.048M以上接口默认队列方式,硬件队列(TxQ)也基于该队列规则处理数据包.
2.048m以下默认队列方式为WFQ只有一个队列,tail-drop
想在小于E1的接口上也启用FIFO,可在接口上输入no fair-queue命令
设置FIF的队列缓存:R1(config-if)#hold-queue 200 out (200为数据包的个数)
PQ(Priority Queuing,优先级队列)
提供4种队列,高优先级、中优先级、正常优先级和低优先级队列
每个队列为fifo调度.tail-drop.
只要高优先级队列中有数据包,一定先转发高优先级队列的数据包,传完高优先级队列的才传低优先级队列中的
建议在低带宽接口上使用优先级排队.前提是关键型任务或增值应用的流量提供绝对的优先级保证
access-list 101 permit ip any any
priority-list 1 protocol ip high list 101 //把access-list 101定义的数据映射到高优先级队列
priority-list 1 interface fa0/0 medium   //把来自fa0/0的流量映射到中等优先级队列
priority-list 1 default normal   //所有其他流量映射到正常优先级队列
priority-list 1 queue-limit 20 30 40 50   //定义队列深度,分别代表high,medium,normal,low
interface s1/1
priority-group 1 //把PQ应用在接口上
show queueing (看所以队列)
一般来说,高优先级的会优先传输,因此不需要很深的缓存队列。但是如果超出了队列深度,那么高优先级的也将会有丢弃。默认是20、40、60、80
CQ(Custom Queuing,定制队列)
有1~16队列,0队列是PQ队列,为最优,系统队列,用于处理网络控制信息 ,共17个队列
CQ使用WRR(Round-Robin)机制
建立在PQ的基础上
轮循调度,第一个传完就传第二个
为了能够为每个队列分配一定的带宽,必须为每个队列定义一定字节数的数据包
CQ与PQ不能同时
Queuing 0为系统队列,执行方式为PQ。可以改lowest-custom
queue-list list-number lowest-custom queue-number
比如命令queue-list 1 lowest-custom 3,设置0,1,2都是优先级队列,3以及3以上编号的队列都是定制队列。
interface serial 1/0
custom-queue-list 50   //应用CQ到接口上
queue-list 50 protocol ip 1 list 101   //把access-list 101定义的数据分配到队列1
queue-list 50 queue 1 limit 40   //定义队列1允许通过的最大包数,默认是20,范围是0~32767
queue-list 50 interface fa0/0 2   //把从E0/0进入的流量分配到队列2
queue-list 50 queue 2 byte-count 3000   //定义队列2在一个轮循内转发的平均字节数
queue-list 50 protocol ip 3   //把所有ip流量分配到队列3
queue-list 50 default 4   //所有其他流量分配到队列4
access-list 101 permit ip any any precedence 5
WFQ(Weighted Fair Queuing,加权公平队列)
按流进行分类
WFQ会根据数据包中的源ip,目标ip,ToS,协议号,TCP端口号等自动分类(通过一个Hash算法),相同应用的数据流会被分到同一个队列。WFQ给每个流指定一个权重,权重决定了队列中分组的传输顺序。首先会传输权重小的分组。并加入IP优先级,按流的IP优先级来分配每个流的带宽,优先级的数值越大,分配的带宽就越大,确保相同流中的每个数据报都获得公平的带宽,体现不同流的之间的权值。
将对延迟不敏感的大包往后排,对延迟敏感的小包往前排。
每个队列使用基于流的FIFO队列。
默认256个队列(范围16~4096之间,要配置为2的n次方的数目),最大还支持8个系统队列,和1000个RSVP流队列
WFQ给每个会话分配一个队列,队列优先级分7种。
速率不超过E1(2.048Mbps)的Serial默认使用WFQ。在使用X.25或压缩PPP的Serial,WFQ被禁用。E3/T3 (34M/45M)的WAN接口和Serial不支持WFQ。
每个流所占带宽比例(为自己的优先级数 + 1)/ (所有 (流的优先级 + 1)之和)即每个流可得的带宽比例
队列中的丢弃不再是Tail-Drop,而是WFQ Drop。IP优先级对WFQ的丢弃机制没有影响
HQ(hold-queue保持队列,即最大队列长度)
CDT(congestive-discard-threshold,拥塞丢弃阀值)相当于警戒线
大于HQ,
入站的包属于最长的队列,则drop掉
不属于最长队列,则放入该队列,并drop掉最长队列的最后一个包
大于CDT,
入站的包属于最长的队列,则drop掉
不属于最长队列,则放入该队列
interface so1/0
fair-queue 99 256 0    //99为修改CDT,默认是64,范围16~4096之间,要配置2的n次方的数目
                           256是所能允许的最大的流队列数,默认为256,范围16~4096之间,要配置2的n次方的数目
                           0为设置所允许的保留会话数(可预留队列),默认为0,范围0~100
hold-queue 1111 out   //修改保持队列的数据包数量 HQ,默认为1000
CBWFQ(Class-Based Weighted Fair Queuing,基于类的加权公平队列)
CBWFQ拓展了标准WFQ的功能,支持用户定义的数据流类别,为所有类别分配专属队列,并保证预留带宽。
可以根据多种条件来定义数据流类别。(协议/ACL/输入接口)
只能用在出接口,且只能用在物理接口,子接口上不能使用
最大能创建64个队列,还有一个默认类别的队列(class-defualt),FIFO队列,tail-drop,但支持WRED丢弃,但不能直接应用与接口
class-defualt队列如没定义带宽,就使用接口的剩余带宽
队列所配置的带宽在没有相应数据流的时候将会被其他类的流所使用
CBWFQ给每个类别(而不是流)指定权重,它与分配给类别的带宽呈反比。
默认情况下,分配给所有类别的带宽总和不能超过接口可用带宽的75%。余下的25%用于传输控制数据流和路由选择数据流。
R1(config-pmap-c)#bandwidth ?
<8-2000000> Kilo Bits per second    //为队列分配带宽
   percent      % of total Bandwidth //总接口带宽的百分比
   remaining    % of the remaining bandwidth //可用带宽剩余的百分比。
这三个参数不能在同一个策略映射中混合使用。
利用MQC配置CBWFQ
1定义分类的策略,即class-map
2设置策略,即定义policy map
3把policy map 应用到相关的接口上
1、定义class map
R1(config)#class-map [match-all | match-any] {map-name}
2、定义匹配语句
R1(config-cmap)#{condition}
一些匹配条件选项:
match access-group {ACL}      匹配IP ACL
match protocol {protocol}      匹配协议
match input-interface {interface}     匹配进站接口
match qos-group {Group ID}      匹配组ID
match destination-address {mac mac-address} 匹配目标MAC 地址
match source-address {mac mac-address}    匹配源MAC 地址
match ip {dscp dscp}      匹配IP DSCP 值
match ip {precedence precedence}     匹配IP 优先级
match class-map {map-name}      匹配class map
match vlan {vlan-id}      匹配VLAN
设置策略,即policy map 的步骤如下:
1.设置policy map:
R1(config)#policy-map {policy-name}
2.调用class map 或默认的class map(所有未分类的流量默认分类):
R1(config-pmap)#class {class-map | class-default}
3.设置策略:
R1(config-pmap-c)#bandwidth {kbps | percent percent}
4.定义尾丢弃机制允许的队列中数据包个数的上限,默认值为64:
R1(config-pmap-c)#queue-limit {packets}
其他配置参数
R1(config-pmap-c)#random-detect 用于WRED
R1(config-pmap-c)#shape 令牌桶参数
R1(config-pmap-c)#police (car限速)
R1(config-pmap-c)#priority 优先级,低延迟队列(LLQ).
在出站接口上应用policy map:
R1(config-if)#service-policy output {policy-name}
其他命令
更改用于RSVP 和CBWFQ 等队列机制保留的最大带宽值,默认为75%:
R1(config-if)#max-reserved-bandwidth {percent}
LLQ(Low Latency Queuing,低延迟队列)
LLQ=PQ+CBWFQ  
LLQ将严格优先队列技术应用于CBWFQ,从而缓和了延迟敏感数据的抖动。发送完对延迟敏感的数据,才发送其他队列中的分组。LLQ的严格优先级队列是受监管的队列,即保证了最小带宽,拥塞时,不能超过允许的带宽,否则会丢弃.
可以创建一个或多个严格优先级队列
LLQ和IP RTP优先级特性的区别在于,它不受UDP端口号的限制
虽然可以将各种实时数据流加入到Priority中,但Cisco建议只将语音流加入到这种队列中。
MPC模块化配置LLQ于CBWFQ非常相似
R1(config-pmap-c)#priority {bandwith} {burst} //设置严格优先级队列的预留带宽
R1(config-pmap-c)#priority {pencentage} {burst} //设置严格优先级队列预留带宽为接口带宽的百分比
参数burst表示突发量,取值范围32-2000000,表示在被监管的带宽之外所允许的临时突发量
RTP(Real Transport protocol,实时传输协议)
IP实时传输协议(RTP)优先级对延迟比较敏感的数据流,提供优先级队列.如语音
无需知道语音的端口号,提供了鉴别数据流端口号范围的能力,并可以定义端口的范围,16384-32767.
可以同前面所述的队列,FIFO、PQ、CQ、WFQ和CBWFQ结合使用
保证了优先队列的低延迟转发,还进行了限速,超过规定的带宽将丢弃
适合用于低于1.544Mbps带宽的链路使用
R1(config-if)#ip rtp priority {starting-rtp-port-number port-number-range} {bandwidth} //设置起始port和port范围,bandwidth是预留的带宽)
拥塞避免

 

 

拥塞避免
目的:避免尾部丢弃
尾部丢弃的缺陷:TCP全局同步,TCP资源缺乏和缺乏差异化
RED(Random Early Detection,随机早期检测)
RED在队列溢出之前随即地丢弃数据包,随着队列的尺寸的增长,丢包的概率越大.
只对大量的TCP流起作用.
有一个流量简档(traffic profile),配置的参数有最小门限,最大门限和MPD(Mark Probability Denominator,标记概率分母)
MPD是一个整数值,用来指示RED丢弃MPD分之一的数据包
3种工作模式:不丢弃,随即丢弃和全丢弃
WRED(Weighted Random Early Detection,加权随机早期检测)
针对不同流量的优先级建立不同的流量简档,流量优先级基于IP优先级或DSCP值.
IP优先级低的将优先被丢弃,一般的数据流的数据包将优于RSVP丢弃.非IP数据留的IP优先级设置为0,因此非IP数据包被丢弃的可能性最高
建议在核心层网络上使用,不要应用于语音队列
基于当前队列长度和最后的平均队列长度计算当前的平均队列长度
不能与CQ,PQ,WFQ同时应用在同一个接口上
不能在同一个分类映射上同时应用WRED和WFQ机制(WRED random-detect和WFQ命令是互斥)

 

 

WRED的操作基于IP优先级–8种流量简档,1种RSVP流简档
基于DSCP–64种流量简档
接口下启动WRED机制R1(config-if)#random-detect
CBWRED(Class-Based Weighted Random Early Detection,基于类别的加权随机早期检测)
CBWFQ+WRED=CBWRED
实现AF PHB的唯一方法是在CBWFQ系统应用WRED
LLQ=CBWFQ+严格优先级队列
所以在LLQ应用WRED也能实现AF PHB,并严格优先级队列能够实现EF PHB.
保持队列(hold-queue)尺寸的默认取值为0~4096,最小门限的为1,最大门限为4096,MPD的默认值为10
R1(config-pmap-c)#random dscp-based
R1(config-pmap-c)#random dscp {dscp-value} {min-threshold} {max-threshold} {mark-prob-denominator}
R1(config-pmap-c)#random precedence {precedence-value} {min-threshold} {max-threshold} {mark-prob-denominator}
//设置WRED丢弃数据包的最小值,最大值和丢弃数据包的轮循间隔
FBWRED(Flow-based Weighted Random Early Detection,基于流的加权随机早期检测)
WFQ+WRED=CBWRED
不同的流都有自己的队列,对于流量小的流,其队列长度总是比较小,所以丢弃的概率也会小;队列长度大,丢弃的概率也会大,保证了流量丢弃的公平性.
R1(config-if)# random-detect flow //开启基于流的WRED
R1(config-if)# random-detect flow average-depth-factor {scaling-factor} //设置基于流的WRED的阀值乘数,即改变队列的长度.默认4,可配置2的n次方
R1(config-if)# random-detect flow count {number} //设置基于流的WRED最大流的数目
链路效率机制
链路效率机制主要两大类:
基于压缩的和基于分段的链路效率机制
压缩类型:链路压缩、二层净荷压缩、RTP头压缩和TCP头压缩
大多数压缩算法都是利用并去处数据中的重复部分和冗余量,差别在于算法所优化的数据类型
压缩的成功标准是看原始数据与压缩后数据的比率
建议使用硬件压缩
常见的压缩方式:二层净荷压缩、和上层头部压缩
二层净荷压缩是二层帧的全部净荷数据
二层压缩方法差异于开销以及CPU和内存使用率
二层净荷压缩算法产生的吞吐量增益取决于算法本身
头压缩仅压缩头部,基于字典式压缩算法
操作基于逐链路方式,不能在会话或流的子集上应用头压缩
可以利用MQC,实施基于类别的头压缩
非CPU敏感型QOS机制
CRTP压缩式实时传输协议
CRTP是一种逐跳的压缩机制,可以把IP/UDP/UDP包头从40字节压缩为2到5字节
当广域网接口带宽不高,并RTP数据流量过大的话,应该考虑使用CRTP,但是对于高于T1线路速率的接口,无需使用CRTP
CRTP支持ISDN,支持使用PPP,HDLC或FR封装的接口,但FR的封装格式只能使用CISCO特有的格式

 

 

CRTP配置
1启用CRTP,如果不指定关键passive,将所有IP/UDP/RTP包头进行压缩,如果指定passive关键字,当进站RTP数据包的IP/UDP/RTP包头被压缩,才相应的压缩出站的RTP数据包的IP/UDP/RTP包头:
R1(config-if)#ip rtp header-compression {passive}
2更改IP/UDP/RTP包头压缩的连接数,默认为16条,可选:
R1 (config-if)#ip rtp compressoion-connections {number}
configuring CRTP with FR encapsulation
1,在物理接口上启用CRTP,那么该物理接口相关的子接口将继承CRTP的配置信息如果不指定关键passive,将所有IP/UDP/RTP包头进行压缩,如果指定passive关键字,当进站RTP数据包的IP/UDP/RTP包头被压缩,才相应的压缩出站的RTP数据包的IP/UDP/RTP包头
R1(config-if)#frame-relay ip rtp header-compression {passive}
2更改IP/UDP/RTP包头压缩的连接数,默认为16条,可选:
R1 (config-if)#frame-relay ip rtp compressoion-connections {number}
3只针对特定的PVC启用CRTP.如果不指定关键passive,将所有IP/UDP/RTP包头进行压缩,如果指定passive关键字,当进站RTP数据包的IP/UDP/RTP包头被压缩,才相应的压缩出站的RTP数据包的IP/UDP/RTP包头,还可以指定最大的IP/UDP/RTP包头压缩的连接数,默认为16条,可选
R1(config-if)#frame-relay map ip {ip-address} {dlci}{broadcast} rtp header-compression {active | passive } {connections number}
4在特定PVC上同时启用CRTP和TCP头部压缩,可选:
R1(config-if)#frame-relay map ip {ip-address } {dlci} [broadcast] compress
LFI(Link Fragmentation and interleaving,链路分段和交织)
降低时延敏感型数据包,使用LFI(Link Fragmentation and interleaving,链路分段和交织)
分段必须和交织配合使用
交织是将时延敏感型流量的数据包以某种方式插入到大数据单元分段后的小数据包中,从而可以有效地降低低速链路上的时延和抖动
WAN链路的带宽小于等于T1/E1,建议同时启动TCP/RTP头压缩和LFI
二层净荷压缩对CPU敏感,建议仅用硬件压缩或硬件辅助压缩的场合.

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文标题:QOS笔记
本文链接:http://www.jdccie.com/?p=3253转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

您必须 [ 登录 ] 才能发表留言!