一、QOS是什么
服务质量。对服务质量进行控制,比如是否保证传输,保证到什么程度,是否有丢包,延迟和抖动各自在什么程度等。
二、为什么需要QOS
1、拥塞:分为三种情况
(1)广域网链路
(2)整个网络带宽不够
(3)网络内部:双工不匹配、多对一交换炬阵、聚集、异常行为(网络风暴或数据包风暴)
2、延迟
(1)固定延迟:包含编解码时间、电光信号沿介质传输到接收方所需要的时间
①数据包化延迟:对信号进行分段、采样、编码、数据处理,将数据转化为数据包的时间
②处理延迟:网络设备将数据帧从输入接口中取出,将其放入接收队列,再将它放到出站接口输出队列所需要的时间
③串行化延迟:将封装在数据帧中的数据包的比特放到物理介质上所需要的时间
④传播延迟:通过物理介质传输数据帧中的比特所需要的时间
(2)可变延迟:队列化延迟
注:QOS所能控制的是可变部分的队列化延迟,进而能够影响关键业务流的整体处理延迟,从而也影响了关键业务流的整个传播延迟
3、抖动
发生抖动的情况有下列两种:
(1)抖动缓冲区欠载
(2)抖动缓冲区过载
4、丢包
发生丢包的场合:输出队列已满
三、园区网QOS应用
1、Voip:要求延迟低、抖动稳定
2、SAN存储网络:要求低丢包率,对抖动不太敏感
3、其它
四、QOS能做什么
1、对特定数据流优先转发,减缓拥塞
2、减少特定数据流的队列化延迟,影响其固定延迟
3、通过流量×××,减少特定数据流的抖动
4、应用×××、分类、队列、策略保证特定数据流的不丢包
5、其它
五、QOS三种大的类别
1、不做QOS:FIFO先进先出,尽力而为的传输
2、端到端同一种策略的服务:集成服务模型。通过在两个端点和所有中间设备上启用一种协议(rsvp),为每个数据流预留一定的带宽,从而保证端到端的应用服务。具体过程是:启用了RSVP的应用向网络设备发出其流量配置请求,网络设备根据自身可用的网络资源和应用请求信息进行响应,允许或者拒绝应用的带宽和延迟请求。只要应用发送的通信流遵循了配置文件中的规定,网络将承诺满足其QOS需求。每个流都必须经过许可控制过程。
3、不同的网络设备不同的QOS策略:差分服务模型。通过分类、标记、队列等一系列策略QOS,设备间各自独立,不用跑协议。
六、两种QOS模式的优劣(不讨论FIFO)
1、集成服务模型
(1)优点:真正意义上的端到端QOS保证;集中管理服务和许可控制
(2)缺点:为每个流预留带宽,非常耗资源;每个网络设备都要发送协议数据,占用网络带宽;因为现实中的网络具有管理的区域性,端到端同一的策略无法实行。这个其实不是技术本身的不足,而是出于成本、现实可行性的考虑。
2、差分服务模型
(1)优点:基于类的控制,多个流可归为同一类,节省设备资源,简化了配置;应用在发送数据前不显示的通知网络设备,不占用链路带宽;
(2)缺点:不能保证该QOS策略在整个网络中得到应用;每个设备都得配置
七、差分服务的标记(DSCP)
1、保证转发
(1)概念:AF(Assured Forwarding):根据DSCP值来定义提供不同服务的类别。
(2)类别:AF1X~~AF4X,优先级递增。前三位为类别或优先级,后三位为丢弃概率
2、快速转发
含义:相当于PQ,最优先传输
八、Catalyst Qos一览
1、QOS实施全过程
已经分过类的数据包入站--接口进行流量控制,策略限速或×××--标记,修改DSCP/优先级/cos--队列--拥塞避免--拥塞管理
2、一个实例
ASW1(config)#int f0/2
ASW1(config-if)#switchport mode access
ASW1(config-if)#mls qos trust device cisco-phone 信任DSCP值为46的思科IP电话
ASW1(config-if)#wrr-queue cos-map 1 0 1 将cos值1和2的数据包加入到队列1
ASW1(config-if)#wrr-queue cos-map 2 2 3
ASW1(config-if)#wrr-queue cos-map 3 4 6 7
ASW1(config-if)#wrr-queue cos-map 4 5
ASW1(config-if)#priority-queue out 启用严格优先级队列
ASW1(config-if)#spanning-tree portfast
九、分类
1、含义:以特定优先级或预定的参数来区分帧或数据包
2、作用:决定内部DSCP值.Catalyst 交换机通过内部DSCP值进行QOS数据包处理,包括策略和调度
3、分类的方法
(1)按接口的信任模式
(2)按接口的手工分类
(3)按数据包(基于访问列表)
(4)NBAR基于网络的应用识别
4、信任边界和配置
(1)信任配置:信任数据包中原有的分类
(2)信任方法:如果原有数据包中的分类是基于DSCP,则直接修改内部DSCP值为原数据包的值;如果原有数据包中的分类是基于IP优先级或COS,则会将它们以8的倍数映射到内部DSCP;不信任时所有的原数据包的DSCP值都会被设置为0.
mls qos trust dscp/cos/ip-precedence 信任所有通信流的QOS分类参数
mls qos map cos-dscp ** 修改COS到DSCP的映射 mls qos map ip-prec-dscp **
(3)配置方法:
ASW1(config)#mls qos
ASW1(config)#access-list 100 permit tcp any 10.1.1.0 0.0.0.255
ASW1(config)#class-map match-all Voice-subnet
ASW1(config-cmap)#match access-group 100
ASW1(config-pmap-c)#trust dscp
ASW1(config-pmap)#int f0/2
ASW1(config-if)#service-policy input Ingress-Policy
这个配置只信任从F0/2收到的、到10.1.1.0/24的所有TCP通信流的入站DSCP。对于其他入站通信流,交换机将其内部DSCP设备为默认值0.
5、手工分类
ASW1(config)#mls qos
ASW1(config)#access-list 100 permit tcp any 10.1.1.0 0.0.0.255
ASW1(config)#class-map match-all cisco
ASW1(config-cmap)#match access-group 100
ASW1(config)#policy-map AAA
ASW1(config-pmap)#class cisco
ASW1(config-pmap-c)#set dscp af43
ASW1(config)#int vlan 10
ASW1(config-if)#service-policy output AAA
呵呵,大概是这个样子,不过这个配置没多大实际意义
6、NBAR智能分类
(1)分类基础:第7层信息,例如应用类型、URL以及动态分配TCP、UDP端口的其他协议
(2)配置实例
ASW1(config)#class-map NBAR
ASW1(config-cmap)#match protocol arp
ASW1(config)#policy-map NEW
ASW1(config-pmap)#class NBAR
ASW1(config-pmap-c)#set dscp af11
ASW1(config)#interface vlan 10
ASW1(config-if)#service-policy output NEW
十、标记
1、含义:修改入站帧的DSCP、COS或IP优先级
2、实质:修改数据包的DSCP值,进而影响内部DSCP值。因为交换机将根据新的而不是原来的DSCP值或COS值来决定内部DSCP值,所以这些命令的执行结果相当于分类
3、其他:也可用于控制流量,如超过指定速率后,将帧的DSCP标记为更低的值
4、配置:在接口上配置或使用策略映射
(1)接口配置(针对所有流量)
ASW1(config-if)#mls qos cos ?
<0-7> class of service value between 0 and 7
override override keyword
(2)策略映射
ASW1(config)#access-list 100 permit tcp any 10.1.1.0 0.0.0.255
ASW1(config)#class-map match-all Voice-Subnet
ASW1(config-cmap)#match access-group 100
ASW1(config)#policy-map Ingress-Policy
ASW1(config-pmap)#class Voice-Subnet
ASW1(config-pmap-c)#set ip dscp 45
ASW1(config-if)#service-policy input Ingress-Policy
十一、流量的控制与调节
1、整型
(1)含义:测量通信流的速率,并推迟或缓冲超额通信流的传输,确保通信流的速率不超过指定的值。
(2)作用:×××平滑超额突发流量,进而生成平衡的通信流
(3)用处:对延迟敏感的通信流(例如语音、视频和存储)无用,但对于突发性TCP流很有用。
2、策略
(1)含义:测量通信流的速率,对超过指定速率的通信流采取特定措施,不推迟或缓冲通信流,而通常代之于丢弃,但也可采取其他措施,如信任和标记
(2)机制:泄漏的令牌桶算法
(3)参数:速率、突发量、合规措施、超额措施、违规措施
(4)类型:单一策略器、聚合策略器、微流策略
police 定义单一策略器和微流策略器
mls qos aggregate-policer 定义聚合策略器
(6)实例:
ASW1(config)#class-map match-all MATCH-UDP
ASW1(config-cmap)#match access-group 101
ASW1(config)#policy-map LIMIT-UDP
ASW1(config-pmap)#class MATCH-UDP
ASW1(config-pmap-c)#police 1536000 20000 conform-action exceed-action drop
ASW1(config-if)#service-policy input LIMIT-UDP
十二、拥塞管理
1、含义:出站时的队列及其调度机制
2、方法:FIFO/WRR/SRR/PQ/CQ
3、FIFO:默认排队机制,交换机将所有出站帧加入到同一个队列中,不考虑其类别,调度机制为先进先出
4、WRR加权循环队列
(1)队列机制:分多个队列,并为每个队列分配不同的权重值,根据权重值分配不同的带宽资源
(2)调度机制:循环调用
(3)优缺点:好处是每个队列都能够得到传输,不足是不能100%保证关键业务如语音通信的服务
(4)配置举例
ASW1(config)#mls qos
ASW1(config)#interface f0/0
ASW1(config-if)#wrr-queue cos-map 1 1 0 1 给队列指定出站COS值和队列罚值的对应关系。交换机使用拥塞避免罚值设备COS映射。每个队列都得执行这一步。队列1为低优先级队列,队列N为严格优先级队列。
ASW1(config-if)#wrr-queue cos-map 2 2 3 cos值3对应到队列2罚值为2
ASW1(config-if)#wrr-queue cos-map 2 1 4 cos值4对应队列2罚值为1
ASW1(config-if)#priority-queue cos-map 3 1 5 7 将队列3设置为严格优先级队列
ASW1(config-if)#wrr-queue bandwidth 50 75 队列1权重为50,队列2权重为75,权重范围为1~255
ASW1(config-if)#wrr-queue queue-limit 100 50 定义队列长度的比例,划分缓冲区。取值范围为1~100%。
(5)Catalyst 2950全局应用WRR配置,6500和3500应用于接口;2970和3750使用专用的WRR特性SRR来实现拥塞管理;4000和4500不使用WRR来进行拥塞管理
5、SRR(Shaped Round Robin,×××循环队列)
(1)含义:为每个队列限速,并进行循环调度
(2)模式:两种,×××模式和共享模式。区别在于后者的出站队列不局限于该限定的带宽,如果其他队列没有需要发送的流量,单个队列能够消耗整个带宽。两种模式可以混合配置
(3)支持:Catalyst 2970/3560/3750支持出站队列的SRR
(4)配置:
ASW1(config)#int f0/0
ASW1(config-if)#srr-queue bandwith shape 20 0 0 0 队列1用×××模式,带宽为20%,其他三个队列工作在共享模式(必须这样配)
ASW1(config-if)#srr-queue bandwith share 20 30 25 25 各个队列发送数据包的频率比例,范围为1~255
6、优先级队列PQ
(1)含义:只有这个队列的数据包传输完毕之后才能传输其他队列
(2)应用:语音应用
(3)支持:大多数交换机都支持单个出站队列为严格优先级队列
(4)配置:
DSW1(config-if)#priority-queue cos-map 3 1 5 7 运行IOS的6500交换机
ASW1(config-if)#priority-queue out 3550交换机上在队列4上启用严格优先级队列
4000和4500系列交换机通过在接口tx-queue 3上使用命令priority high将可以在队列3上启用严格优先级队列
7、自定义队列CQ
(1)含义:为每种通信流保留一定比例的接口带宽,队列间共享
(2)应用:适用于WAN接口
(3)缺点:静态手工配置,不能自动适应网络变化
十三、拥塞避免(丢弃技术)
1、尾丢弃
(1)含义:当队列满了后来的数据包就全被丢弃
(2)特点:平等对待所有通信流,不管其DSCP值大小
(3)缺点:影响TCP会话,造成全局同步,拥塞波形成锯齿状,在此期间,链路带宽得不到充分利用
2、WRED加权随机早期检测
(1)含义:在输出缓冲区达到指定的罚值后开始随机地丢弃某些类别的数据包,以避免拥塞
(2)实质:WRR基础上的RED
(3)应用:非常适用于TCP流,而不适用于其他类型的通信流,如UDP流和语音通信流
(4)配置:wrr-queue threshold 1 80 100或
wrr-queue random-detect min-threshold 1 50 70
wrr-queue random-detect max-threshold 1 75 100
(5)示例:
ASW1(config-if)#wrr-queue bandwith 50 75
ASW1(config-if)#wrr-queue queue-limit 100 50
ASW1(config-if)#wrr-queue random-detect min-threshold 1 50 70 这个是什么意思?
ASW1(config-if)#wrr-queue random-detect max-threshold 1 75 100 这个呢
ASW1(config-if)#wrr-queue cos-map 1 1 0 2
ASW1(config-if)#wrr-queue cos-map 1 2 3
ASW1(config-if)#wrr-queue cos-map 2 1 4
ASW1(config-if)#wrr-queue cos-map 2 2 6
priority-queue cos-map 1 1 5 7
rcv-queue cos-map 1 1 0 这个也不明白?
十四、多层交换网络中的QOS
1、分类一般在第二层边缘上执行,其他地方只需信任即可,因为同属于一个园区网,标记实际上也是重新分类
2、流量策略和流量×××一般在连接园区主干的边缘子模块实行,也是分布层的可选项
3、拥塞管理在整个园区网的网络设备上都得执行,是必选项
4、拥塞避免和拥塞管理一样在整个园区网的网络设备上都得执行,但是是可选项