【白话理解Qos】

写在前面的话

补一补网络相关的知识~这个系列和Qos有关,资料取得比较杂,舍去了详细的细节,重点在了解不深挖,仅供参考。

什么是QoS

QoS是Quality of Service(服务质量)的简称,其目的是针对各种业务的不同需求,为其提供端到端的服务质量保证。

当前实时性服务增多,对于网络质量的要求更高了,特别是网络拥塞问题。解决网络拥塞的最好的办法是增加网络的带宽。但从运营、维护的成本考虑,这是不现实的,最有效的解决方案就是应用一个“有保证”的策略对网络拥塞进行管理,所以QoS应运而生。

QoS度量指标

带宽/吞吐量

带宽(bandwidth)也称为吞吐量(throughput),是指在一个固定的时间内(1秒),从网络一端流到另一端的最大数据位数,也可以理解为网络的两个节点之间特定数据流的平均速率。带宽的单位是比特/秒(bit/s,简写为bps)。

例如供水管道的直径可以衡量运水的能力。水管的直径好比是带宽,水就好比是网络传输的数据。使用粗管子就意味着拥有更宽的带宽,也就是有更大的数据传输能力。

通信成本:

在网络通信中,人们在使用网络时总是希望带宽越来越宽,随着信息量猛增使得带宽成为了严重的瓶颈。

在网络中,有两个常见的与带宽有关的概念——“上行速率”、“下行速率”。上行速率是指用户向网络发送信息时的数据传输速率,下行速率是指网络向用户发送信息时的传输速率。例如,用户用FTP上传文件到网上,影响上传速度的就是“上行速率”;而从网上下载文件,影响下载速度的就是“下行速率”。

时延

时延(Latency)是指一个报文或分组从一个网络的一端传送到另一端所需要的时间。

例如语音传输,时延是指从说话者开始说话到对方听到所说内容的时间。若时延太大,会引起通话声音不清晰、不连贯或破碎。

时延变化(抖动)

时延变化是指同一业务流中不同分组所呈现的时延不同。时延变化也称为抖动(Jitter)。抖动主要是由于业务流中相继分组的排队等候时间不同引起的,是对服务质量影响最大的一个问题。

某些业务类型,特别是话音和视像等实时业务是极不容忍抖动的。分组到达时间的差异将在话音或视像中造成断续。

抖动也会影响一些网络协议的处理,有些协议是按固定的时间间隔发送交互性报文,抖动过大会导致协议震荡。

所有传输系统都有抖动,只要抖动在规定容差之内就不会影响服务质量。利用缓存可以克服过量的抖动,但这将增加时延。

丢包率

丢包率是指在网络传输过程中丢失报文占传输报文的百分比。

少量的丢包(Loss)对业务的影响并不大,使用传输控制协议(TCP)传送数据也能处理少量的丢包,因为传输控制协议允许丢失的信息重发。但大量的丢包会影响传输效率。所以,QoS更关注的是丢包的统计数据——丢包率。

端到端QoS服务模型

QoS有如下三种服务模型:

1.尽力而为(Best-Effort)服务模型
2.综合服务(Integrated Service,简称IntServ)模型
3.差分服务(Differentiated Service,简称DiffServ)模型

Best-Effort服务模型

Best-Effort是最简单的QoS服务模型,应用程序可以在任何时候,发出任意数量的报文,而且不需要通知网络。对Best-Effort服务,网络尽最大的可能性来发送报文,但对时延、可靠性等性能不提供任何保证

Best-Effort服务模型适用于对时延、可靠性等性能要求不高的业务质量保证。Best-Effort是现在Internet的缺省服务模型,它适用于绝大多数网络应用,如FTP、E-Mail等。

IntServ模型

IntServ模型是指应用程序在发送报文前,需要通过信令(signaling)向网络描述它的流量参数申请特定的QoS服务。网络在流量参数描述的范围内,预留资源以承诺满足该请求。在收到确认信息,确定网络已经为这个应用程序的报文预留了资源后,应用程序才开始发送报文。应用程序发送的报文应该控制在流量参数描述的范围内。网络节点需要为每个流维护一个状态,并基于这个状态执行相应的QoS动作,来满足对应用程序的承诺。

IntServ模型使用RSVP(Resource Reservation Protocol)作为信令,类似于ATM SVC的方式,是面向连接的。RSVP工作在传输层,但不参与应用数据的传送,是一种网络上的控制协议(类似于ICMP),用于在网络节点间传递资源预留信息以及建立资源预留

在通过RSVP建立端到端通信的过程中,沿途的各路由器(包括核心路由器)必须为每个要求服务质量保证的数据流保存状态信息,称为“软状态”。“软状态”是一种临时性状态,被定期的RSVP信息更新。通过RSVP信息的预留,各路由器可以判断是否有足够的资源可以预留。只有所有的路由器都给RSVP提供了足够的资源,“路径”方可建立。
图1
IntServ模型使用的RSVP信令需要跨越整个网络进行资源请求/预留,因此要求端到端所有网络节点支持RSVP协议,且每个节点需要周期性同相邻节点交换状态信息,协议报文开销大。更关键的是,所有网络节点需要为每个数据流保存状态信息,而当前在Internet骨干网上有着成千上万条数据流,因此IntServ模型在Internet骨干网上无法得到广泛应用。IntServ模型一般应用在网络的边沿

DiffServ模型

DiffServ模型的基本原理是将网络中的流量分成多个类,每个类享受不同的处理,尤其是网络出现拥塞时不同的类会享受不同的优先处理,从而得到不同的丢弃率、时延以及时延抖动。同一类的业务在网络中会被聚合起来统一发送,保证相同的延迟、抖动、丢包率等QoS指标

Diffserv模型中,业务流分类汇聚工作在网络边缘由边缘路由器完成。边界路由器可以通过多种条件(比如报文的源地址和目的地址、ToS域中的优先级、协议类型等)灵活地对报文进行分类,对不同的报文设置不同的标记字段,而其他路由器只需要简单地识别报文中的这些标记,进行资源分配和流量控制。因此,DiffServ是一种基于报文流的QoS模型。
图2

与Intserv模型相比,DiffServ模型不需要信令。在DiffServ模型中,应用程序发出报文前,不需要预先向网络提出资源申请,而是通过设置IP报文头部的QoS参数信息,来告知网络节点它的QoS需求。网络不需要为每个流维护状态,而是根据每个报文流指定的QoS参数信息来提供服务,对报文的服务等级划分有差别地进行流量控制和转发,提供端到端的QoS保证。

DiffServ模型充分考虑了IP网络本身灵活性、可扩展性强的特点,将复杂的服务质量保证通过报文自身携带的信息转换为单跳行为,从而大大减少了信令的工作。因此,DiffServ模型不但适合运营商环境使用,而且也大大加快了IP QoS在实际网络中应用的进程

上、下行概念解释

根据数据流方向,路由器报文转发可以分为上行、下行两个流程。对于设备内部实现而言,流量去往交换网方向为“上行”;流量远离交换网方向为“下行”,如图3所示。

对于网络流量而言,流量从用户方向去往运营商网络方向称之为“上行”;流量从运营商网络去往用户方向称之为“下行”。

图3

流分类和标记

流分类与流动作

流分类

流分类是对进入DiffServ域的业务进行分类,以便在网络中得到相应的适当处理。流分类主要目的是让其他处理此报文的应用系统或设备知道该报文的类别,并根据这种类别对报文进行一些事先约定了的处理

实现流分类的技术

业务流进入DiffServ域时,可以有多种方法对它进行分类,例如根据报文所携带的QoS优先级位,识别出不同优先级特征的流量,或根据源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。也可以根据业务等级协议SLA规定的一些策略给每个数据包加上标记,从而对数据包进行分类。

当报文在DiffServ域边界被分类之后,在网络的中间节点,就可以根据分类,对不同类别的流量给予差别服务。下游(downstream)节点可以选择使用上游(upstream)节点的分类结果,也可以按照自己的分类标准对数据流重新进行分类。

因此,实现流分类的技术被分成**“简单流分类(Behavior Aggregate Classifier)”“复杂流分类(Multi-Field Classifier)”**。

流动作

进行流分类是为了有区别地提供服务,它必须与某种流量控制或资源分配动作关联起来才有意义。流量控制或资源分配动作被称为流动作。

目前针对流分类可实施的流动作包括以下几类(这些流动作可以组合使用):

流动作含义
外部标记设置/改写报文的优先级字段,用于向下一台设备传递差分服务的QoS信息。其中,改写报文的优先级字段也称为“重标记”。
内部标记标记报文在设备内部处理的服务等级(service-class)与丢弃优先级,让匹配的报文能够直接进入指定服务等级的队列,而不需要根据报文头中的优先级字段来确定服务等级。标记报文的丢弃优先级也叫着色(color),是指在相同service-class的时候,入同一个队列,当此队列快拥塞的时候,可以通过color再进行差分服务,体现在缓存使用上的优先顺序。
流量监管将业务流量限制在特定的带宽,当业务流量超过额定带宽时,超过的流量将被丢弃。
拥塞管理在网络发生拥塞时,将报文放入队列中缓存,采取某种调度算法安排报文的转发次序同时对输出流量进行整形(Shaping),满足业务流量在QoS属性(带宽、时延、抖动、丢包率)方面的要求。
拥塞避免通过监视队列缓存的使用情况,当队列缓存使用情况达到指定门限时,主动丢弃报文来解除网络过载。
报文过滤最基本的安全手段。通过流分类,决定报文是被直接丢弃还是可以继续后面的转发处理。
重定向/策略路由根据流分类决定报文的转发路径。分为强策略路由与弱策略路由。强策略路由是指根据指定的IP地址查转发表,查到则转发;查不到则丢弃;弱策略路由是指根据指定的IP地址查转发表,查到则转发;如果查不到,再根据报文的目的IP地址查转发表。
负载分担设置报文的负载分担方式为逐流或逐包。只对存在多条转发路径的报文有效。多条转发路径分为两种情况:一种是存在多条转发表项;另外一种是只有一条转发表项,但转发表项中的出口是一个Trunk接口。
报文分片改写IP报文头中的DF字段。
URPF(Unicast Reverse Path Forwarding)一种安全手段,根据报文的源IP地址反查路由表,确定报文源IP地址的合法性,防止源地址欺骗的攻击。
流镜像设备复制一份和被观察流的原始报文一模一样的报文,并传送到指定的观察端口上。
流采样收集特定数据流的时间戳、源地址、目的地址、源端口号、目的端口号、ToS值、协议号、报文长度和被采样报文的入接口等信息,从而可以监控特定用户的通信情况。
修改TTL值修改IP报文头的TTL(Time To Live)字段值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

粥粥粥少女的拧发条鸟

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值