Qos分类使用环境概述
Qos技术知识分类
分类 |
原理 |
应用 |
测试 |
难点 |
LR |
令牌桶超速率进行缓存 |
出接口 丢包少 |
带宽 丢包率 |
CBS 承突发 EBS 超承突发 |
CAR |
突发为超出,可重标记 |
进出口 |
带宽 开始突发量 |
重标记 |
GTS |
符合放行 超出入缓存 |
出口 |
接口丢包率 |
理解令牌 |
FIFQ |
一个队列 |
路由出口 |
队列长度小延时大 |
难设计size length |
PQ |
绝对关键业务保证4个用户队列 |
路由出口 |
列队长度小延时大 |
难设计为normal |
CQ |
轮询调度16队列 |
路由出口 |
带宽基础一样 |
默认队列1 |
WFQ |
五元素+优先级Hash |
路由出口 |
带宽权重比例 |
列队长度和列对数控制 |
RTPQ |
同等于协议队列 |
以上列队合用 |
带宽UDP端口2000以上决定优先 |
协议测试 |
COS DSCP |
标记优先级-丢弃率 |
入口标记 |
配合队列 |
交换机网络传标记 |
IP-pr EP AF CBQ |
64EF-64AF-BE=WFQ |
路由出口 |
带宽EP AF WPQ |
默认流为BE结合WRED |
SPQ+WRR |
3160v2 Spq 8个优先级+8个WRR队列3个 |
交换机 |
带宽group2>1>0 |
标记 |
DAR |
深度应用层识别 |
入口/出口 |
.mp3域名 |
BitTorrent QQ限制特征库升级 |
WRED |
随机加权早起检测丢弃 |
出口 |
丢包率 |
丢包率设计 |
关键命令
·best Effort 尽最大努力
·IntServ 集成服务
·DiffServ 区分服务
·Quality of service 服务质量
·Bandwidth 带宽
·Delay 延时
·Packet 包
·Precednce 优先级
·Class 类
引入故事(交通车辆银行排队VIP)
·传统的IP网络仅提供“尽力而为”的传输服务,网络可用资源就转发,资源不足就丢弃。
·新一代IP网络承载了语音、视频等实时互动信息,要求网络能提供有保证的服务质量。
·Qos允许用户在丢包、延迟、抖动和带宽等方面获得可预期的服务水平。
常见语音视频质量问题
·声音断断续续,严重时彻底中断
·声音时快时慢
·视频图像停顿或出现“马赛克”
·声音与图像脱节
丢包率
·丢包(Packet Loss)是指数据包在传输过程中的丢失,是衡量网络可靠性的重要指标。
·丢包的主要原因:
-当网络拥塞时,当队列满了后,后续的报文将由于无法入队列而被丢弃。
-流量超过限制时,设备对其进行丢弃。
·丢包以丢包率作为衡量指标。
-丢包率=被丢弃报文数量/全部报文数量
工作中常规应用对网络服务质量要求
应用类型 |
典型应用 |
带宽 |
延迟 |
抖动 |
丢包率 |
批量传输 |
FTP、批量存储备份 |
高 |
影响小 |
营销低 |
低 |
交互音频 |
IP电话 |
低 |
低 |
低 |
低 |
单向音频 |
在线广播 |
低 |
影响小 |
低 |
低 |
交互视频 |
可视电话、视频会议 |
高 |
低 |
低 |
低 |
单向视频 |
视频点播 |
高 |
影响小 |
低 |
低 |
实时交互操作 |
Telnet |
低 |
低 |
影响小 |
低 |
严格任务 |
电子交易 |
低 |
影响小 |
影响小 |
低 |
思考?IP网络Qos的功能
·尽力避免网络拥塞
·在不能避免拥塞时对带宽进行有效管理
·降低报文丢失率
·调控IP网络流量
·为特定IP网络流量
·为特定用户或特定业务提供专用带宽
·支撑网络上的实时业务
·Qos不能创建带宽,只能使带宽的分配更加合理
Best Effort模型介绍
·Best Effort是最简单的服务模型,网络尽最大可能来发送报文,对延迟、丢包等不提供任何保证。
·Best Effort模型是Internet的缺省服务模型
·Best Effort模型通过FIFO(First Input First Output,先入先出)队列来实现。
Best Effrt模型的特点
·优点
-实现简单
-节省处理资源,处理速度快。
·缺点
-所有数据流同等对待
-所有数据流的带宽、延迟、抖动、丢包等都不可控。
DiffServ模型介绍
·DiffServ模型由RFC 2475所定义
·对不同业务进行分类,对报文按类进行优先级标记,然后有差别地对其进行远程提供服务。
·不需要跟踪每一数据流,资源占用少,扩展性强。
·不能提供精确的Qos,难以提供端到端的Qos。
PHB介绍
·PHB指DS节点对行为聚合应用的可由外部观测到的转发行为
·PHB可以通过占用带宽、缓冲等资源的优先级来定义,也可以通过延迟、抖动等可观测的特性来定义。
·PHB具有单跳性和节点独立性的特点,每个节点具有独立的PHB策略,上下游之间互相没有影响。
PHB的类型
·Default PHB
-是默认的PHB,提供尽力而为的服务。
·Class Selector PHB
-Class Seltector代码点的值越高,其重要性和优先级就越高
·EF PHB
-提供了低延迟、低抖动、低丢包率和保证带宽的优先转发服务
-流量不得超过既定的限制。
·AF PHB
-提供有保证的带宽服务。
-如果资源许可,可以提供超出承诺的额外的带宽服务。
IntServ模型介绍
·IntServ模型由RFC1633所定义
·在报文传输前,通过信令在传输路径上进行资源预留,提供预期的Qos保证。
·IntServ模型所使用的信令协议为RSVP。
IntServ模型的特定
·优点
-提供绝对的、准确的Qos保障,不会随网络状态的变化而受到影响
-提供端到端的Qos服务
·缺点:
-需要跟踪和记录每一个流的状态,因而扩展性很差。
IntServ模型的主要应用
·和DiffServ模型相结合
-在网络的边缘利用IntServ模型进行精细的Qos控制
-在网络骨干部分则利用
接口限速介绍
·接口限速(Line Rate,LR)限制了从一个接口发向下游的报文的总速率。
·LR在令牌桶引入了队列缓存的机制,因而减少了丢包,平滑了流量,但同时增加了延迟。
·LR位于链路层,在用户队列之后,发送队列之前,对从该接口发出的所有IP和非IP报文(紧急报文除外)均能生效。
·LR只能应用于接口的出方向
接口限速的配置
·接口下的接口限速配置
-在接口下进行接口限速的设置
qos lr {outbound} cir committed-information-rate [cbs committed-burst-size [ebs excess-burst-size]]
·接口限速的显示和维护
-显示接口的LR配置和统计信息
display qos lr interface [interface-type interface-number]
配置Qos边界行为
关键命令
·Continue 继续
·Discard 丢弃
·Green 绿色(放行)
·red 红色(超过)
·shared 共享
·Queue 队列
·Length 长度
·Line Rate(LR) 线路速率
引入故事(人以穷分,物以类聚)
·DS域内的节点可分为边界节点和内部节点。DS边界节点负责区分和标记用户数据,并根据SAL/TCA对数据进行一定的调节。内部节点依据标记按照特定的PHB进行转发。
分类的实现
·路由器和交换机可以依据丰富的条件对报文进行分类
·路由器和交换机支持两种分类方法
-自动分类:根据入口上配置的信任分类。包括信任端口优先级或者信任报文优先级。
-手动分类:通过ACL等手段匹配报文的IP地址、端口号、MAC地址、入接口、协议类型、VLAN号、Cos、IP Precedence、DSCP等。
流量监管的实现
·流量监管的目的是监督进入网络的流量大小,对超出部分的流量进行“惩罚"
·流量监管通过CAR实现
-用令牌桶技术测量流量
-对符合监督条件的报文可以采取放行、丢弃、重标记及转入下一级监管等操作。
CAR的配置命令
·基于CARL或ACL的配置方式
-配置CARL:
qos carl carl-index {precedence precedence-value | mac-address | dscp dscp-list | {destination-ip-address | source-ip-address} [per-address [shared-bandwidth] ]}
-在接口应用基于CARL或ACL的CAR原则:
qos car {inbound | outbound} {any | acl [ipv6] acl-number | carl carl-index} cir committed-information-rate [cbs commited-burst-size [ebs excess-burst-size]][pir pear-information-rate] [green action] [red action]
CAR的信息显示命令
·显示CARL的规则
display qos carl [carl-index]
·显示CAR在接口上的信息
display qos car interface [interface-type interface-number]
·显示设置的CAR资源使用情况
display car resource [chassis chassis-number slot slot-number]
流量×××的实现
·流量×××是一种主动调整流量输出速率的措施。一个典型应用是基于与下游网络节点的SLA/TCA协定来控制本地流量的输出。
·流量×××通过GTS实现
-以令牌桶算法测量流量
-对于超出承诺速率的报文会放入一个队列缓存。
GTS的配置
·配置基于ACL的GTS
-配置ACL:
acl number acl-number [name acl-name] [match-order {auto | config}]
-在接口上配置GTS
qos gts acl acl-number cir committed-information-rate [cbs committed-burst-size [ebs excess-burst-size [queue-length queue-length]]] [pri peak-information-rate]
-在接口上配置基于队列的GTS
qos gts queue queue-number cir committed-information-rate [cbscommitted-burst-size [ebs excess-bust-size [ebs excess-burst-size [queue-lengthqueue-length]]]][pir peak-information-rate]
-在接口上配置对接口上全部流量进行×××
qos gts any cir committed-information-rate[cbs committed-burst-size [ebs excess-burst-size][quere-lengthqueue-length]]
-显示流量×××配置运行信息:
display qos gts interface [interface-typeinterface-number]
基本拥塞管理机制
关键命令
·Queue 队列
·Length 长度
·Bottom 低
·middle 中
·normal 标准
·Top 高
·Serving 服务
·Greater 大于
·Less 小于
引入故事
·所谓拥塞,是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象
·在拥塞发生时保证重要数据的正常传送,是Qos的主要功能之一,也是一类重要的PHB。
拥塞与拥塞管理
·需要发送的数据流量大于设备发送接口的发送能力时,会产生拥塞。
·拥塞管理是指网络发生拥塞时,进行管理和控制,合理分配资源。通常采用队列技术实现。
·报文按一定的策略缓存到队列中,然后再按一定的调度策略把报文从队列中取出,在接口上发送出去。
工程中 路由器拥塞管理
·接口不拥塞,报文直接入发送队列
·接口拥塞,报文按规则入软件队列
·路由器软件队列包括:系统队列和协议队列
·系统队列优先于用户队列调度
工程中 交换机拥塞管理
·报文中在入端口,根据映射表入本地队列
·报文在出端口,进行队列调度后发送
·常用的队列:SPQ、WRR
FIFO队列配置
·路由器的默认队列,即不配置其他队列时的队列处理方式
·FIFO队列配置命令
[sysname-Ethernet6/0]qos queue-length queue -length
-增加FIFO队列的长度可以减少丢包,但同时也会增加延迟。
PQ队列配置任务
·配置PQL
-配置默认情况下,流量进入的队列
-配置PQ队列的分类规则
-配置PQ各队列的长度
·将PQL应用到接口
PQ队列配置命令
·配置无对应规则的报文所入的缺省队列
[sysname]qos pql pql-index default-queue {bottom | middle | normal | top}
·配置PQ队列长度
[sysname]qos pql pql-index queue {bottom | middle | normal | top} queue-length queue-length
·配置基于接口的分类规则
[system]qos pql pql-index inbound-interface interface-type interface-number queue {bottom | middle | normal | top}
高级Qos管理工具
引入故事
·标记和Qos的配置方式分为Qos policy配置方式和非Qos policy配置方式两种。
·Qos policy配置方式是指通过配置Qos policy来实现Qos功能。
·用户可以通过Qos policy将指定的类和行为绑定起来,灵活地进行Qos配置。
·实现公平加权队列WFQ
关键命令
·Classifier分类
·Operator操作
·Tranffic流量
·Behavior行为
主要标记方法
·RFC 791 IP Tos字段标记
-RFC 1349 IP Precedence
-RFC 2474 DSCP
·802.1p Cos
·MPLS EXP
0 routine 一般
1 priority 优先
2 immediate 立即
3 flash 瞬间
4 flash-override 最优先
5 critical 关键
6 internet(网络中所有路由控制通信默认使用此优先级)
7 network(网络控制通信默认保留给此优先级)
默认情况下,所有的IP数据包的COS值都为000,制定它们都应当采用尽力而为传递的服务。
CAR标记的原理
·CAR可以对经过测量的报文进行标记/重标记,包括IP Precedence、DSCP和Cos等。
·CAR标记是最典型的应用是将超出承诺速率的流量标记为低优先级,以便在发生拥塞时优先丢弃这部分流量。
QoS policy介绍
·QoS policy包含了三个要素:
-类:用户定义的一系列规则的集合
-行为:定义了针对报文所做的QoS动作
-策略:将各个类与相应的行为绑定起来
·可以实现分类、标记、×××、监管、拥塞管理、拥塞避免、统计、镜像、访问控制、深度应用识别等QoS功能。
类的定义
·类分为下列两种:
-系统预定义类:不能被用户修改或删除
-用户定义类:由用户创建并维护
·用户定义类的分类标准
-根据ACL分类
-匹配所有数据报文
-根据协议类型分类
-根据报文二层信息分类
-根据报文三层信息分类
-根据各类优先级、标志位分类
-根据各类优先级、标志位分类
-根据报文接收接口分类
-根据MPLS标签分类
类的配置命令
·定义用户类、指定规则间逻辑关系
[sysname]traffic classifier tcl-name [operator {and | or}]
定义类中的规则
[sysname-classifier-classA]if-match [not] match-criteria
·not关键字:指定本规则为不匹配指定条件的规则,正如if-match not acl 2000,就是匹配acl 2000范围之外的报文。
·match-criteria参数的支持情况与设备类型和软件版本有关。
QoS Policy的配置命令
·定义QoS Policy
[sysname]qos policy policy-name
·配置一个条目,为类指定对应的行为
[sysname-qospolicy-test]classifier tcl-name behavior behavior-name [mode dot1q-tag-manipulation]
·QoS policy应用到接口
[sysname-Ethernet1/0/1]qos apply policy policy-name {inbound | outbound}
·QoS policy应用到VLAN:
[sysname]qos vlan-policy policy-name vlan vlan-id-list {inbound | outbound}
·QoS policy应用到全局
[sysname]qos apply policy policy-name global {inbound | outbound}
QoS Policy的显示命令
·显示系统与用户定义的QoS policy
[sysname]display qos policy {system-defined | user-denfined} [policy-name [classifier tcl-name]]
·显示应用到接口的QoS policy
[sysname]display qos policy interface [interface-type interface-number] [inbound | outbound] [pvc {pvc-name [vpi/vci] | vpi/vci}]
·显示应用到VLAN的QoS policy
[sysname]display qos vlan-policy {name policy-name | vlan [vlan-id]}[inbound | outbound]
·显示应用到全局的QoS policy
[sysname]display qos policy global [inbound | outbound]
DAR概述
·DAR(Deeper Application Recognition,深度应用识别)是一个智能的识别分类工具。
·DAR可以对报文中第4层到第7层的内容和一些动态协议进行检查和识别,以基于应用区分出各种报文协议。
-对于HTTP、FTP、RTP、RTCP、BitTorrent这些协议,是按照协议规则来识别的,可以支持匹配协议报文和数据报文。
-对于基于TCP的应用,需要检测TCP连接是否存在
-对于其他基于UDP的应用的,使用接口号特征,静态匹配。
-对P2P应用报文进行识别时,首先需要将特征文件加载到系统中。
LR 接口限速
CAR 流量监管
GTS 流量×××
高级QoS管理工具 工程中最重要的-CBQ
引入故事
·QoS的配置方式分为QoS policy配置方式和非QoS policy配置方式两种。
·QoS policy配置方式是指通过配置QoS policy来实现QoS功能。
·用户可以通过QoS policy将指定的类和行为绑定起来,灵活地进行QoS配置CBQ。
关键命令
·Classifier 分类
·Operator 操作
·Traffic 流量
·Behavior 行为
·随着定义的AF Class级别越高,其对应的IP报文的优先级越高,相对来说提高的QoS质量也越较好。
标记的实现
·标记是用来对分类后的报文进行某种标识的操作,以利于后续的模块或设备根据这些标识进行进一步的处理。
·标记可以多种方式来实现,本章讨论以下两种基本方式:
-CAR:利用流量监管对符合条件的报文进行Remark操作。
-映射表:根据预先先建立的各种标记间的映射关系对进入的报文进行二次标记。
CAR标记的原理
·CAR可以对经过测量的报文进行标记/重标记,包括IP Precedence、DSCP和Cos等。
·CAR标记最典型的应用是将超出承诺速率的流量标记为低优先级,以便在发生拥塞时优先丢弃这部分流量。
CBQ概述
·CBQ是一种基于QoS policy实现的拥塞管理技术
-包含1个LLQ(Low Latency Queuing,低延迟队列),用来支撑EF(Expedited Forwarding,快速转发)类业务,被绝对优先发送,保证延时-绝对最高保障
-最大64个BQ(Bandwidth Queuing,带宽保证队列),用来支撑AF(Assured Forwarding,确保转发-)类业务,保证每一个队列的带宽及可控的时延-最低保障
-1个WFQ队列,对应缺省类,用于为BE(Best Effort,尽力传送)业务提供服务。其利用接口剩余带宽进行发送。
其他数据入WFQ
·流量按五元组散列入,加权公平出队,丢弃策略为尾丢弃或WRED丢弃。
QoS最大可用带宽
·接口的QoS最大可用带宽,是指在此接口上CBQ可能占用的最大带宽QoS最大可用带宽并非接口实际带宽,允许手工配置。
·配置接口QoS最大可用带宽
[sysname-Serial1/0]qos max-bandwidth bandwidth
·不配置时,使用如下缺省值
-对于物理接口,其取值为物理接口实际的波特率或速率
-对于T1/E1、MFR等通过绑定生成的逻辑串口,其取值为绑定通道的总带宽
-对于VT、Dialer、BRI、PRI等模版类型的接口,取值为1000000kbps
-对于其他虚接口(如Tunnel接口),取值为0kbps。
QoS预留带宽
·为了避免缺省类的数据流被“饿死”,CBQ队列中LLQ和BQ队列配置带宽的总和不得超过QoS预留带宽
·QoS预留带宽计算公式
QoS预留带宽=QoS最大可用带宽*QoS预留百分比
·QoS预留百分比配置命令
[sysname-Serial1/0]qos reserved-bandwidth pct percent
·QoS预留带宽建议不要超过接口实际带宽的80%
CBQ队列配置
·配置EF队列
-可用绝对值和百分比两种方式配置分配带宽
-绝对值方式:可以直接配置CBS,支持突发
-百分比方式:通过配置突发因子计算CBS
cbs=QoS预留带宽*percentage*ratio/100/1000
-不支持队列长度配置
-不能使用于系统缺省类
[sysname-behavior-behaviorA]queue ef bandwidth {bandwidth [cbs burst] | pct percenttage [cbs-ratio ratio]}
·配置AF队列
-可用绝对值和百分比两种方式配置保证带宽
-可以配置WRED或尾丢弃策略-后续WRED讲解
[sysname-behavior-behaviorA]queue af bandwidth {bandwidth | pct percentage}
·配置CBQ缺省类使用的WFQ队列
-可以配置WRED或尾丢弃策略
[sysname-behavior-behaviorA]queue wfq [queue-number total-queue-number]
·配置最大队列长度
[sysname-behavior-behaviorA]queue-length queue-length
交换机拥塞管理机制
引入故事
·所谓拥塞,是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象。
·在拥塞发生时保证重要数据的正常传送,是QoS的主要功能之一,也是一类最重要的PHB
RTPQ的配置与显示
·配置RTPQ队列
[sysname-Ethernet1/0/1]qos rtpq start-port first-rtp-port-number end-port last-rtp-pool-number bandwidth bandwidth [cbs burst]
·RTPQ队列显示
[sysname]dis qos rtpq interface Ethernet 9/0
Interface:Ethernet 9/0
Output queue:(RTP queueing:size/Max/Outputs/Discards)
0/364/435689/7580744
配置拥塞避免机制
关键命令
Weighting-constant 加权常数
low-limit 最小范围
high-limit 最大范围
Discard-probability 丢弃概率
解决尾丢弃的方法
·增加队列长度可以减少丢弃,但无法从根本上解决问题。
-队列长度受限于资源,不能无限制增加。
-增加队列长度也增加了报文的平均延迟和抖动。
·在尾丢弃发生前,使不同TCP连接的报文在不同时刻被丢弃,则各个TCP连接的流量振荡就不会同步。
WRED介绍
·RED对不同类型的数据不能区别对待,重要数据没有得到更好的服务。
·WRED区别对待不同类型的数据,每一类数据采用独立的门限值和丢弃概率。
·WRED可以通过IP Precedence和DSCP区分数据。