【白话理解Qos】
发布网友
发布时间:2024-10-02 05:45
我来回答
共1个回答
热心网友
时间:2024-10-14 01:28
补一补网络相关的知识~这个系列和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提供了足够的资源,“路径”方可建立。
IntServ模型使用的RSVP信令需要跨越整个网络进行资源请求/预留,因此要求端到端所有网络节点支持RSVP协议,且每个节点需要周期性同相邻节点交换状态信息,协议报文
开销大
。更关键的是,所有网络节点需要
为每个数据流保存状态信息
,而当前在Internet骨干网上有着成千上万条数据流,因此IntServ模型在Internet骨干网上
无法得到广泛应用
。IntServ模型
一般应用在网络的边沿
。
DiffServ模型
DiffServ模型的基本原理是将网络中的流量分成多个类,每个类享受不同的处理,尤其是网络出现拥塞时不同的类会享受不同的优先处理,从而得到不同的丢弃率、时延以及时延抖动。同一类的业务在网络中会被聚合起来统一发送,保证相同的延迟、抖动、丢包率等QoS指标。
Diffserv模型中,
业务流分类
和
汇聚工作
在网络边缘由
边缘路由器
完成。边界路由器可以通过多种条件(
比如报文的源地址和目的地址、ToS域中的优先级、协议类型等
)灵活地对报文进行分类,对
不同的报文设置不同的标记字段
,而其他路由器只需要
简单地识别报文中的这些标记
,进行资源分配和流量控制。因此,DiffServ是一种基于报文流的QoS模型。
与Intserv模型相比,DiffServ模型不需要信令。在DiffServ模型中,应用程序发出报文前,不需要预先向网络提出资源申请,而是通过设置IP报文头部的QoS参数信息,来告知网络节点它的QoS需求。网络不需要为每个流维护状态,而是根据每个报文流指定的QoS参数信息来提供服务,对报文的服务等级划分,有差别地进行流量控制和转发,提供端到端的QoS保证。
DiffServ模型充分考虑了IP网络本身灵活性、可扩展性强的特点,将复杂的服务质量保证通过报文自身携带的信息转换为单跳行为,从而大大减少了信令的工作。因此,DiffServ模型不但适合运营商环境使用,而且也大大加快了IP QoS在实际网络中应用的进程。
上、下行概念解释
根据数据流方向,路由器报文转发可以分为上行、下行两个流程。对于设备内部实现而言,流量去往交换网方向为“上行”;流量远离交换网方向为“下行”,如图3所示。
对于网络流量而言,流量从用户方向去往运营商网络方向称之为“上行”;流量从运营商网络去往用户方向称之为“下行”。
流分类和标记流分类与流动作
流分类
流分类是对进入DiffServ域的业务进行分类,以便在网络中得到相应的适当处理。流分类主要目的是让其他处理此报文的应用系统或设备知道该报文的类别,并根据这种类别对报文进行一些事先约定了的处理。
实现流分类的技术
业务流进入DiffServ域时,可以有多种方法对它进行分类,例如根据报文所携带的QoS优先级位,识别出不同优先级特征的流量,或根据源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。也可以根据业务等级协议SLA规定的一些策略给每个数据包加上标记,从而对数据包进行分类。
当报文在DiffServ域边界被分类之后,在网络的中间节点,就可以根据分类,对不同类别的流量给予差别服务。下游(downstream)节点可以选择使用上游(upstream)节点的分类结果,也可以按照自己的分类标准对数据流重新进行分类。
因此,实现流分类的技术被分成**“简单流分类(Behavior Aggregate Classifier)”与“复杂流分类(Multi-Field Classifier)”**。
流动作
进行流分类是为了有区别地提供服务,它必须与某种流量控制或资源分配动作关联起来才有意义。流量控制或资源分配动作被称为流动作。
目前针对流分类可实施的流动作包括以下几类(这些流动作可以组合使用):