作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。
座右铭:低头赶路,敬事如仪
个人主页:网络豆的主页
目录
前言
随着网络的发展,数据流量的增加,网络中时常发生拥塞现象,网络拥塞,导致延时增大,严
重时还会产生丢包,这时关键业务数据的传输将无法得到保障,那么如何在有限的带宽上控制不同
业务的流量呢? 这就需要使用本章介绍的QoS (Quality of Service,服务质量)技术。
本章重点
- CAR和CBWFQ流量控制的原理
本章难点
- QoS的工作原理和主要技术
一.QoS技术概述
随着网络的发展,互联网流量迅速增加,网络产生拥塞,延时增大,有时还会造成丢包,导致
业务质量下降。当网络出现拥塞时,如何保证重要数据的带宽和实时性数据能够快速转发呢?
1.QoS的应用需求
随着网络的高速发展,接入网络的用户越来越多,网络提供的服务也越来越多,网络普及,业
务多样化,使得网络流量迅速增大,导致网络带宽不能满足网络的需求,这时就出现了网络拥塞
现象。
由于网络拥塞导致报文产生不能预期的传达,从而产生一定的网络影响。
①网络拥塞的影响:
- 报文延迟 抖动和丢包
- 增加网络负担
- 降低网络吞吐量
为了应对网络拥塞,最直接的方式就是扩大网络带宽,但是由于技术或经济等方面的限制,有时不能通过增加带宽的方法来解决,这时就需要一种技术能够在有限的带宽上保证报文的带宽以免延迟,丢包,这种技术就是OoS技术。
②QoS的解决方法
QoS是一种网络拥塞的解决方法,其基本思想是把数据进行分类,放到不同队列中,然后根据
数据的类型决定传输的先后或保证一定的带宽,而解决网络拥塞的根本方法是增加网络带宽,OoS
不能代替网络带宽升级。QoS技术在网络发生拥塞时才起作用,当网络带宽足够时QoS没有任何
价值。
③例子
某公司接入互联网的带宽为2Mb/s、在公司建成初期2Mb/s的带宽可以满足公司的正常需求,但是随着公司的发展,公司员工与客户的增多,导致公司接入的互联网带宽已无法满足公司的需求,产生网络拥塞。由于网络拥塞,可能导致一些重要数据不能即时发送,造成公司损失,这时就可以使用QoS技术,在网络拥塞时为重要数据保留一定带宽,使其能够尽快转发。
2.网络拥塞
①网络拥塞的产生
产生网络拥塞的两种常见情况如下
数据从高速端口进入设备,从低速端口转发出去,如图所示。(如同漏斗)
流量汇聚,流量由多个端口进入设备,从一个端口转发出去,并且进入设备端口的速率之
和大于转发接口的速率、如图所示。(如同高速出口)
一般情况下,网络拥塞是由于网络中出现瓶颈造成的,例如,设备转发处理能力不够、链路带
宽过小,设备缓冲区或内存不够等,此外,当某一时间访问网络的流量超过运营商分配的带宽时,
也会发生网络拥塞,网络上的流量攻击也是造成网络拥塞的一种可能原因。
②网络拥塞的影响
- 报文传输延迟、延迟抖动和丢包率增加。
- 由于过高的延迟和丢包导致报文重传,增加网络负担。
- 由于网络拥塞,报文重传导致网络的有效吞吐量降低
③网络拥塞的解决方法
- 提高带宽
-
通过QoS解决
3.QoS的三种模型
- Best-Effort service:尽力而为的服务模型 先进先出的转发
- Integrated service:综合服务模型 提前申请网络资源,各节点预留资源
- Differentiated service:区分服务模型 不预留资源,通过多种方法指定报文的QoS
4.流量管理概述
①分类和标记
- ACL
- PBR
②流量监控
- 承诺平均速率(CIR)
- 突发量(Committed Burst size,Bc)
- 额外突发量(Excess Burst size,Be)
③流量策略
- 转发
- 丢弃
- 标记
-
进入下一级流量策略
二.QoS的操作模型
QoS涉及四大组件,分别是分类和标记,整形和监管、拥塞避免,拥塞管理,QoS操作模型如图
- 首先,数据进入设备进行流分类,根据流量的重要程度划分不同的类别,并打上不同的标记。
- 然后使用GTS或CAR技术进行整形和监管,并根据策路对违规报文进行操作,限制流量的速率,随后通过WRED技术随机丢弃相对不重要的报文避免网络拥塞。
- 最后通过拥塞管理的队列技术将报文放入不同的队列。队列达到最大长度后,后到的报文将被丢弃,通过队列的出队调度技术转发报文。
案例深入对QoS的理解
正常数据流按照先后顺序先后到达路由器,经过QoS的分类和标记之后,数据根据不同的重要程度,通过不同的颜色加以区分。在后续的处理中就可以根据这些不同的颜色分别对待这些报文,在整形和监管流程当中,对数据流做限速。超出指定速率的报文被丢弃,如报文③或报文⑦,或者标记为一个更低的优先级,如报文④,拥塞避免是随机丢弃一些不重要的报文,如报文①和报文⑥,拥塞管理是将不同优先级的数据流加入不同的队列,最终发送报文时,高优先队列会优先发送,如报文⑧,低优先队列延迟发送,如报文④。
1.分类和标记
OoS是一个整体的设计框架、不局限于一台设备,整个网络中设备相互配合,最终达到流量优化的目的,OoS的核心是保证重要的流量优先通过网络设备,默认情况下,网络设备对任何报文都一视同仁,为了可以让任何设备都可以识别重要的流量,在网络的边界,也就是任何进入网络的流量都应该根据重要程度被分类,并打上不同的标记,后续设备基于这些标记来识别哪些流量是相对比较重要的。
①分类
流分类是进行区别服务的基础,流分类可以使用报文的优先级来识别不同优先级特征的流量:也可以使用源地址,目的地址,MAC地址.协议或端口等信息来识别不同流量,流分类完全由网络管理人员定义,不同的网络,流量重要性也不同,
例如.对于小型公司而言,HTTP流量可能是比较重要的:而对于大型公司而言,语音流量才是比较重要的。重要是相对而言的,任何流量都应该通过网络,QoS只是优先保证重要的流量,流分类必须与某种流量控制或带宽分配的动作关联起来才有意义。
流分类一般通过ACL区分不同的流量,尤其是扩展ACL,基本上可以定义大部分流量,如下命
令定义了网络中所有的HTTP流量。
Rl(config)#access-list 101 permit tcp any any eq 80
②标记
在OoS技术的DiffServ服务模型中,对于IP报文中的DS字段使用DSCP(Differentiatod Services CodePoint.差异化服务编码点)作为QoS优先级描述.
QoS 中标记可以通过 PBR(Policy-Based Routing.策略路由)或者Class-Based Marking.前者多
用于策略路由,后者通过一个配置模板实现,可以关联本章后续的CAR和CBWFQ
2.分类和标记的配置
定义ACL(标准或扩展)
定义匹配类
Router(config)#class-map [match-all | match-any] {class-map-name}
Router(config-cmap)#match access-group {access-group}
Router(config-cmap)#match protocol {protocol}
定义流量控制策略
Router(config)#policy-map {policy-map-name}
Router(config-pmap)#class {class-map-name}
Router(config-pmap-c)#set ip dscp {dscp}
Router(config-pmap-c)#set ip precedence {precedence}
在接口上应用策略
Router(config-if)#service-policy {input|output} {policy-map-name}
查看策略配置
show policy-map [policy-map-name]
查看端口策略应用和流量信息
show policy-map interface [interface-type interface-number]
创作不易,求关注,点赞,收藏,谢谢~