改进“尽最大努力交付”服务
作者:互联网
改进“尽最大努力交付”服务
- 使互联网提供服务质量
- 服务质量QoS是服务性能的总效果,此效果决定了一个用户对服务的满意程度。
- 图中局域网表示两台主机H1,H2通过非常简单的网路(路由器R1和路由器R2)分别向另外两个主机H2和H4发送数据。连接R1和R2的链路带宽为1.5Mbit/s。现在考虑以下四种情况:
- 一个1Mbit/s的实时语音数据,而H2向H4传送低优先级的FTP文件数据。两台主机发送的数据都在路由器R1的输出队列中排队,若突然有一个很大的FTP数据来到R1,就会把输出队列全部占满,后面达到路由器的R1的实时语音就会把音频分组丢弃掉,显然这是不合理的。因此需要增加一个机制,需要给不同性质的分组打上不同的标记。这样当H1和H2的分组进入路由器R1时,R1就能够识别H1实时的数据分组,并使这些分组以高优先级进入输出队列,而仅仅在队列有多余的空间的时候才允许低优先级的FTP数据分组进入。
- 一个1Mbit/s的实时音频数据和一个高优先级的FTP服务。路由器根据某些规则(例如:根据发送数据的地址)对输入的分组进行分类,然后对不同类别的通信量给予不同的优先级。
- 一个数据率异常的实时语音数据和FTP文件数据。主机H1的速率突然不正常的增加到1.5Mbit/s或更高,那么这会使得FTP低优先级的数据无法通过路由器R1,因此,应当使路由器能够对某个数据流进行通信量的管制,为了更加合理利用网络资源,应该在路由器中在增加一中机制,:调度。我们可以利用调度动态的为不同的应用分配不同的带宽。
- H1和H2都发送数据率为1Mbit/s的实时数据。则每个数据流将平均丢失25%的分组。比较合理的做法是让一个数据流通过1.5Mbit/s的链路,而阻止另一个另一个数据流的通过。这就需要另一个机制:呼叫接纳。
- 调度和管理机制
- 调度机制:
- “调度”指的是排队的规则,路由器默认的排队规则为FIFO,当队列已满的时候,后到达的分组就会丢弃掉。FIFO最大的缺点是不能区分时间敏感分组和一般分组。并且也不公平,排在长分组后面的分组需要等待很长的时间。
- 在先进先出的基础上增加按优先级排序,就能使得优先级高的分组优先得到服务。
- 简单的按照优先排列会带来一个缺点,这就是在高优先级的队列中总是有分组时,低优先级中的队列中的分组就长期得不到服务。这就不太公平。公平队列FQ(Fair Queuing)可以解决这个问题,公平排队是对每一个种类的分组设置一个队列,然后轮流使每一个队列一次只能发送一个分组,对于空的队列就跳过去。但公平队列也有不公平的地,就是长分组得到的服务期时间长,而短分组就比较吃亏,并且公平队列并没有区分分组的优先级。
- 为了使高优先的队列中的分组有更多的机会得到服务,可以增加队列权重的概念,这就是加权公平队列WFQ(Weighted Fair Queuing):
- WFQ是这样工作的:分组到达后就进行分类,然后送交与其类别对应的队列(图中假设为3类)。三个队列按顺序依次把队列的首部的分组发送到链路。遇到队列空就跳过去。但根据各类别的优先级不同,每个队列分配到的服务时间也不同。可以给队列i指派一个权重w(i),于是队列i得到的平均服务时间为
,这里
是对所有非空队列的权重求和。这样路由器输出链路的数据率(即带宽)为R,那么队列i将得到的有保证的数据率Ri为:
- 管理机制
- 对于一个数据流,我们可以根据以下三个方面进行管制
- 平均速率:网络需要控制一个数据流的平均速率。这里的平均速率是指在一定的时间间隔内通过的分组数。但这个时间间隔的选择也说明了这个指标的严重程度。
- 峰值速率:峰值速率限制了数据流在非常短的时间间隔内的流量。峰值速率也同受到链路带宽的限制。
- 突发长度:网络业限制在非常短的时间间隔内连续注入到网络中的分组数。
- 要在网络中对进入的分组流按照以上三个指标进行管制,可以使用非常著名的漏桶管制器(leaky bucket policer)简称漏桶,工作原理如图所示:
- 漏桶是一个抽象的机制。在漏桶中可以装入许多权标(token),但最多装入b个权标,只有漏桶中的权标数小于b个,新的权标就以每秒r个权标的恒定速率加入到漏桶中,但若漏桶中已经加入了b个权标,则新的权标就不能再加入。漏桶的权标数最大为b。
- 漏统管理分组流进入到网络的过程如下。分组进入到网络前,先要进入一个队列中等候漏桶中的权标。只要漏桶中有权标,就可以从漏桶中取走一个权标,然后就准许一个分组从队列进入到网络。若漏桶中没有权标,就要等待新的权标进入到漏桶中,再把这个权标拿走后才能准许下一个分组进入网络。注意,准许进入网络并不是进入到网络,因为分组进入网络还需要时间,这取决于输出链路层的带宽和分组在输出端的排队情况。
- 假定在时间间隔为t中把漏桶中的全部b个权标全部拿走,但在这个时间间隔内漏桶有装入了rt个新的权标,因此在任何时间间隔t内准许进入网络的分组数最大值为rt+b,控制权标进入桶的速率r就可以对分组进入网络的速率进行管制。
- 漏桶机制与加权公平排队相结合
- 把漏桶机制与加权公平排队相结合,可以控制队列中的最大时延。
- 现假定有n个分组流输入到一个路由器中,复用后从一个链路输出。每一个分组流使用漏桶机制进行管制,漏桶参数为ri和bi,i=1,2,3,....,n。如图:
- WFQ可以使每一个分组流到合适的数据率,那么当分组通过漏桶后等待WFQ服务的时候,一个分组所经受的最大时延是多少?
- 现在考虑分组刘流i,假定漏桶i已经装满了bi个权标,就表示这个分组i不需要等待就可以从漏桶中拿走bi个权标,因此bi个分组可以立即从路由器中输出,但分组i得到的数据率是由公式给出的,这bi个分组最后的一个分组所经受的时延最大,它等于传输这bi个分组所需要的时间dmax,即:
- 对于一个数据流,我们可以根据以下三个方面进行管制
- 调度机制:
标签:R1,努力,队列,权标,改进,分组,交付,漏桶,路由器 来源: https://www.cnblogs.com/xiaomitu/p/15302528.html