Java教程
改进“尽最大努力交付”服务
本文主要是介绍改进“尽最大努力交付”服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
改进“尽最大努力交付”服务
使互联网提供服务质量
服务质量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,即:
这篇关于改进“尽最大努力交付”服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
您可能喜欢
百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
01-12
有哪些好用的家政团队管理工具?
01-11
营销人必看的GTM五个指标
01-11
办公软件在直播电商前期筹划中的应用与推荐
01-11
提升组织效率:上级管理者如何优化跨部门任务分配
01-11
酒店精细化运营背后的协同工具支持
01-11
跨境电商选品全攻略:工具使用、市场数据与选品策略
01-11
数据驱动酒店管理:在线工具的核心价值解析
01-11
cursor试用出现:Too many free trial accounts used on this machine 的解决方法
01-11
百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
01-11
不得不了解的高效AI办公工具API
01-11
2025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
01-10
高效运营背后的支柱:文档管理优化指南
01-10
年末压力山大?试试优化你的文档管理
01-10
跨部门协作中的进度追踪重要性解析
01-10
栏目导航
前端开发
HTML5教程
CSS教程
Javascript
jQuery教程
AJAX教程
Node.js教程
XML教程
正则表达式
后端开发
Go教程
C/C++教程
消息队列MQ
Net Core教程
Asp.net教程
Java教程
PHP教程
移动端开发
微信公众号开发
小程序开发
Swift教程
IOS教程
Kotlin教程
Android开发
数据库
Redis教程
MongoDB教程
PostgreSQL教程
Oracle教程
MariaDB教程
SqLite教程
MySql教程
SqlServer教程
服务器运维
Kubernetes
Docker容器
linux shell
Nginx教程
网站安全
PowerShell教程
Linux教程
人工智能
TensorFlow教程
Python教程
机器学习
人工智能学习
区块链
区块链技术
游戏开发
游戏编程
Unity3D教程
网站运营
网站策划
网站优化
建站知识
大数据/云计算
云计算
Hadoop教程
软件工程
软件/开发工具使用
Git教程
资讯