改进"尽最大努力交付"的服务
改进"尽最大努力交付"的服务
网络层的作用就是负责在不同的网段尽力转发数据包,但是负责中专数据包的路由器并不关心数据包的内容和优先顺序。而是先到达的数据包先处理,后到达的数据包排队等待处理,路由器处理不过来就丢弃。
但是,有的在互联网上传输的音频视频数据就应该优先传输,这就要求要改进网络层的功能,即改进网络层 "尽最大努力交付" 的服务,以保证着急的数据优先传输。
1.1.使因特网提供质量保证的服务
- 服务质量 QoS 是服务性能的总效果,此效果决定了一个用户对服务的满意程度。因此在最简单的意义上,有服务质量的服务就是能够满足用户的应用需求的服务。
- 服务质量可用若干基本的性能指标来描述,包括可用性、差错率、响应时间、吞吐量、分组丢失率、连接建立时间、故障检测和改正时间等。服务提供者可向其用户保证某一种等级的服务质量。
1.2.改善的方面
主机 H1 和 H2 分别向主机 H3 和 H4 发送数据可通过以下方式实现流量控制:
- 为数据分组打上标记:
需要给不同性质的分组打上不同的标记。当 H1 和 H2 的分组进入 R1 时, R1 应能识别实时数据分组,并使这些分组以高优先级进入输出队列,先进行传输,而仅在队列有多余空间时才准许低优先级的 FTP 数据分组进入。
即1.5Mb/s带宽的链路优先使用1Mb/s带宽传输实时音频数据,满足它的传输需求,剩下的0.5Mb/s带宽再用来传输优先级低的FTP文件数据。这样FTP文件数据的传输带宽最多只能占到0.5Mb/s,以此优先保证实时音频数据的传输带宽需要。
- 为路由器增加分类机制:
应当使路由器增加分类(classification)机制,即路由器根据某些准则对输入分组进行分类,然后对不同类别的通信量给予不同的优先级。
例如,在路由器上设置只要遇到 源 / 目标 地址为某个地址的就优先传输。这样即使数据包没有设置优先级,路由器通过识别数据包的 源/目标 地址也能判断优先顺序。
- 对数据流进行通信量的管制(policing):
路由器应能将对数据流进行通信量的管制(policing),使该数据流不影响其他正常数据流在网络中通过。例如,可将 H1 的数据率限定为 1 Mb/s。R1 不停地监视 H1 的数据率。只要其数据率超过规定的 1 Mb/s,R1 就将其中的某些分组丢弃。
比如:限定传输音频数据的带宽为1Mb/s,如果传输某一音频数据需要的带宽为1.2Mb/s那么路由器丢弃多于1Mb/s的0.2Mb/s带宽传输的数据包。
- 在路由器中再增加调度机制:
应在路由器中再增加调度(scheduling)机制。利用调度功能给实时音频分配 1.0 Mb/s 的带宽,给传送FTP文件数据分配 0.5 Mb/s 的带宽(相当于在带宽为 1.5 Mb/s 的链路中划分出两个逻辑链路,彼此互不干扰),因而对这两种应用都有相应的服务质量保证。
- 在路由器中再增加呼叫接纳机制:
总数据率已超过了 1.5 Mb/s 链路的带宽。比较合理的做法是让一个数据流通过 1.5 Mb/s 的链路,而阻止另一个数据流的通过。这就需要呼叫接纳(call admission)机制。数据流要预先声明所需的服务质量。
比如:带宽为1.5Mb/s的链路,先对带宽需求为1Mb/s的第一个数据进行传输。随后路由器收到带宽需求也为1Mb/s的第二个数据传输请求,路由器一看剩下的0.5Mb/s带宽不能满足第二个数据传输的需求,于是路由器拒绝传输第二个数据。
改进"尽最大努力交付"的服务的更多相关文章
- QNJR-GROUP/EasyTransaction: 依赖于Spring的一个柔性事务实现,包含 TCC事务,补偿事务,基于消息的最终一致性事务,基于消息的最大努力交付事务交付QNJR-GROUP/EasyTransaction: 依赖于Spring的一个柔性事务实现,包含 TCC事务,补偿事务,基于消息的最终一致性事务,基于消息的最大努力交付事务交付
QNJR-GROUP/EasyTransaction: 依赖于Spring的一个柔性事务实现,包含 TCC事务,补偿事务,基于消息的最终一致性事务,基于消息的最大努力交付事务交付 大规模SOA系统的分 ...
- kubernetes实战-交付dubbo服务到k8s集群(四)使用blue ocean流水线构建dubbo-demo-service
使用jenkins创建一个新的项目:dubbo-demo,选择流水线构建 勾选保存构建历史和指定项目为参数化构建项目: 添加构建参数:以下配置项,是王导根据多年生产经验总结出来的甩锅大法: 除了bas ...
- kubernetes实战-交付dubbo服务到k8s集群(一)准备工作
本次交付的服务架构图:因为zookeeper属于有状态服务,不建议将有状态服务,交付到k8s,如mysql,zk等. 首先部署zk集群:zk是java服务,需要依赖jdk,jdk请自行下载: 集群分布 ...
- 改进基于Boost.Asio的聊天服务
Boost.Asio是个非常易用的C++异步网络库,官方文档中一个示例是聊天服务,分为chat_message.chat_client.chat_server三个部分.chat_server的启动代码 ...
- kubernetes实战-交付dubbo服务到k8s集群(六)使用blue ocean流水线构建dubbo-consumer服务
我们这里的dubbo-consumer是dubbo-demo-service的消费者: 我们之前已经在jenkins配置好了流水线,只需要填写参数就行了. 由于dubbo-consumer用的gite ...
- 实战交付一套dubbo微服务到k8s集群(7)之交付dubbo服务的消费者集群到K8S
构建dubbo-demo-consumer,可以使用和dubbo-demo-service的流水线来构建 1.登录jenkins构建dubbo-demo-consumer 2.填写构建dubbo-de ...
- kubernetes实战-交付dubbo服务到k8s集群(五)交付dubbo-monitor监控服务到k8s
首先下载 dubbo-monitor源码包7-200 dubbo-monitor是监控zookeeper状态的一个服务,另外还有dubbo-admin,效果一样,感兴趣的可以自己研究一下. # cd ...
- kubernetes实战-交付dubbo服务到k8s集群(三)安装配置maven和java运行时环境的底包镜像
maven 官方地址: 官方地址 下载maven,shdd7-200 # cd /opt/src # wget https://archive.apache.org/dist/maven/maven- ...
- kubernetes实战-交付dubbo服务到k8s集群(二)交付jenkins到k8s集群
首先下载jenkins镜像并上传到我们自己的私有仓库:7-200 # docker pull jenkins/jenkins:2.190.3 # docker tag 22b8b9a84dbe har ...
随机推荐
- python与mysql部分函数和控制流语法对比
条件语句 python语法 a=int(input("输入一个数[0,100]成绩:")) if 100>=a>=90: print("优") el ...
- 获取cell上按钮事件
原由:点击cell上的按钮,无法获取button对应的cell位置 //获取按钮上层控件,也就是cell本身 AccountCell *cell= (AccountCell *)[按钮名称 super ...
- RDD(九)——序列化问题
在实际开发中我们往往需要自己定义一些对于RDD的操作,那么此时需要考虑的主要问题是,初始化工作是在Driver端进行的,而实际运行程序是在Executor端进行的,这就涉及到了跨进程通信,是需要序列化 ...
- Codeforces 1295E Permutation Separation
题目链接 link Solution 暴力一眼就可以看出来,枚举分界点,然后左右两边统计答案即可,但复杂度是我们无法接受的 然后我们看我们可以优化哪一部分 \(1^0\) 枚举:这部分没有办法优化 \ ...
- openfire配置好文
http://www.th7.cn/db/mysql/201406/59838.shtml 下载地址:Openfire 3.8.2 Release
- day44-线程
#1.开启线程: from threading import Thread import os def func(): print('func',os.getpid()) t = Thread(tar ...
- day28-黏包现象
#黏包现象:信息还没接收完,下一次接收的时候一下子接收好几条黏在一起的信息. #黏包现象的原因:接收端不知道发送端发送的数据的长度.recv(字节数小了). # 第一次无法接收完就缓存起来,下一次接收 ...
- day11-random模块-随机
import random # 一.随机小数: print(random.random()) # 0.848972270116501结果是0-1之间的随机小数 print(random.uniform ...
- java 解析URL里的主域名及参数工具类
java 解析URL里的协议及参数工具类,解析URL中的主域名,并统一把协议修改成http或去掉协议 public class UrlDomainUtils { private static fina ...
- transcription-coupled repair|Germ|HK|TS|Mutation|四类变异
生命组学-可遗传变异 GC content:碱基: GC content不同的植物对应的gene length,可看作上图的转置: 由GC content看出来碱基变异程度,可以找到对应碱基改变,所以 ...