QoS(服务质量)学习记录

news2024/11/23 19:30:15

一、概述

QoS,英文全称quality of service,是网络通信协议的设计提供了理论基础。

QoS的度量指标

带宽

时延

指数据报文从发送端到接收端所需要的延迟时间。时延包括传输延迟、发送端处理延迟和接收端处理延迟。

抖动

描述延迟变化的程度,也就是最大延迟和最小延迟的时间差。
抖动对于实时性传输是一个重要参数,特别是语音和视频,抖动过大会造成音频的断续;另外,有些协议是按固定时间间隔发送交互性报文,抖动过大会导致协议振荡。

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

丢包率

丢包率是指数据报文传输是,接收端接收报文是丢失的报文数量占发送端总报文数的比率。

QoS服务模型

QoS模型不是具体的功能,而是设备间QoS设计的方案。

Best-Effort service(尽力而为服务模型)

网络近可能大的带宽发送数据,对时延、丢包率不提供保证。

Integrated service(综合服务模型,简称IntServ)

IntServ模型是指应用程序在发送报文前,首先通过RSVP(Resource Reservation Protocol)信令向网络描述它的流量参数。
网络在流量参数描述的范围内,预留资源(如带宽、优先级)以承诺满足该请求。在收到确认信息,确定网络已经为这个应用程序的报文预留了资源后,应用程序才开始发送报文

Differentiated service(区分服务模型,简称DiffServ)

DiffServ服务模型,也叫差分服务模型,意思就是提供有差别的服务。网络中的流量可以根据多种条件被分成多个类,或者标记不同的优先级;当网络出现拥塞时,不同的类会享受不同的优先处理,从而实现差分服务。同一类的业务在网络中会被聚合起来统一发送,保证相同的延迟、抖动、丢包率等QoS指标。

DiffServ模型不像IntServ模型那样需要信令,也不需要预先向网络提出资源申请。

PCIe协议即采用该类型模型。

基于DiffServ的组成

在这里插入图片描述
== 注:图片来源于知乎作者onme0 ==

报文分类和标记

要实现差分服务,首先需要将报文分为不同的类别

流量监管、流量整形和接口限速

流量监管是将流量限制在特定的带宽内。当业务流量超过额定带宽时,超过的流量将被丢弃。
流量整形是一种主动调整流的输出速率的流控措施,使流量比较平稳地传送给下游设备,避免不必要的报文丢弃和拥塞
接口限速是对一个接口上发送或者接收全部报文的总速率进行限制。当不需要对报文类型进行进一步细化分类而要限制通过接口全部流量的速率时,接口限速功能可以简化配置。

拥塞管理

发生拥塞时,通过一定的调度算法安排报文的转发次序,保证网络可以尽快恢复正常

拥塞避免

在拥塞有加剧的趋势时,主动丢弃报文,避免网络拥塞继续加剧

参考文献

QoS服务质量-理论基础

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1181917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

栈(定义,基本操作,顺序存储,链式存储)

目录 1.栈的定义1.重要术语2.特点 2.栈的基本操作3.栈的顺序存储1.顺序栈的定义2.基本操作1.初始化2.进栈3.出栈4.读栈顶 3.共享栈 4.栈的链式存储 1.栈的定义 栈( Stack)是只允许在一端进行插入或删除操作的线性表。 一种受限的线性表,只能在栈顶进行插…

IDEA使用Git进行代码管理教程

系列文章目录 1.Win11Git安装教程 2.git同时配置Gitee和GitHub 文章目录 系列文章目录前言一、Git提交代码二、合并分支三、版本回退 前言 这一篇文章主要用来记录如何使用IDEA中的git进行代码管理,包括日常开发中进行代码提交,以及如何将开发分支的代…

红黑数原理及存在原因

我红黑树那么牛,你们为什么不用?_哔哩哔哩_bilibili 面试时经常会被问到红黑树,它到底有什么优点呢? 对于查找数据,数组二分查询速度最快,时间复杂度为O(logN)。但是如果增加和删除数据,数组就…

TikTok小店运营的三大技巧!跨境电商必看

众所周知,国内的抖音早已风生水起,抖音给了很多普通人一夜暴富的机会。而Tiktok也跟随着抖音开启了商业模式,目前流量与机会都是不可小觑的。在店铺申请通过,成功入驻之后,又该如何运营?这篇文章为大家解答…

每天一点python——day63

#第63天 #字符串的字符串的查询操作字符串的查询操作方法 如图 我们可以把字符串看做是关于字符的列表 所以字符串与列表查的操作是非常相似的 区别在于 当我们获得字符串中指定子串索引的时候除了index()方法,还有如上图所示的rindex&#x…

得帆云iPaaS白皮书|WMS集成,打造高效规范的仓储管理业务生态

仓储管理,在传统企业运作中往往是比较容易被管理者忽视的一个部分,部分管理者认为仓库只是放货的场所,能正常出入库即可。 而随着企业信息化的不断发展,越来越多的企业意识到仓储管理与生产、销售、发货有着密切的联系&#xff0…

使用STM32微控制器进行 Blink LED

在嵌入式系统开发中,点亮一个简单的 LED 是入门级的练习。通过使用STM32微控制器,我们可以通过 GPIO 控制来实现Blink LED的功能。本文将介绍如何在STM32微控制器上利用CubeMX和HAL库来实现Blink LED的功能。 一、 硬件准备 首先,确保你有一…

Java连接数据库并查询表中的全部数据

1、导入相关jar包 这里创建简单的maven项目&#xff0c;我们导入相关的jar包 相关依赖&#xff1a; <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependenc…

操作系统实验--进程调度算法的模拟代码

代码如下&#xff0c;运行了没问题&#xff01; #include<stdio.h> #include<stdlib.h> #define getpch(type) (type*)malloc(sizeof(type)) struct pcb {char name[10];char state;int nice;int ntime;int rtime;struct pcb* link; }*readyNULL, *p; typedef str…

怎样选择金鸣识别中的输出选项(网页版)?

本操作适合金鸣表格文字识别程序的网页版&#xff08;新版&#xff09;。 表格识别&#xff1a; excel(xlsx)&#xff1a;将需识别的图片转换成编辑的xlsx格式&#xff0c;此格式仅支持excel2007以上版本或wps打开。 excel(xls)&#xff1a;将需识别的图片转换成编辑的xls格式…

虚幻引擎:如何进行关卡切换?

一丶非无缝切换 在切换的时候会先断开连接,等创建好后才会链接,造成体验差 蓝图中用到的节点是 Execute Console Command 二丶无缝切换 链接的时候不会断开连接,中间不会出现卡顿,携带数据转换地图 1.需要在gamemode里面开启无缝漫游,开启之后使用上面的切换方式就可以做到无缝…

‘vite‘ is not recognized as an internal or external command

标题翻译后就是&#xff1a;‘vite‘ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文 运行一个由 Vite 构建的 Vue3 项目&#xff0c;之前还好好的能正常跑&#xff0c; 但拉取新代码之后再次执行 npm run dev 就提示 ‘vite’ 不是内部或外部命令&#xff0…

C语言--结构体(内容超级详细)

一.前言 通过数据类型来定义一个一个的变量,当需要很多相同类型的变量时有数组。基本数据类型在使用时 很方便,但是利用它们来描述现实世界就显得捉襟见肘。例如需要保存一个班学生的信息”姓名,年龄,分 数”,按照前面的学习需要单独定义三个数组,一个保存姓名,一个保存年龄,一…

台式电脑怎么无损备份迁移系统到新硬盘(使用傲梅,免费的就可以)

文章目录 前言一、想要将源硬盘上的系统原封不动地迁移到新硬盘上二、准备工作2.具体步骤 总结 前言 半路接手公司一台台式电脑&#xff0c;C盘&#xff08;120g&#xff09;爆红&#xff0c;仅剩几个G&#xff0c;优化了几次&#xff0c;无果后。准备换一个大一点的增到500g。…

【ARM Trace32(劳特巴赫) 使用介绍 2 - Veloce 环境中使用trace32 连接 Cortex-M33】

文章目录 T32MARM 介绍Trace32 .t32 和 .cmm 差异veloce 下启动TRACE321.1.3 TAP 状态机操作命令1.1.3.1 IDCODE&#xff08;Identification Code&#xff09;寄存器 介绍 T32MARM 介绍 T32MARM 是 Lauterbach 的 Trace32 软件包的一部分&#xff0c;专门用于 ARM 基础架构的微…

kubernetes集群编排(6)

目录 k8s调度 nodename nodeselector nodeaffinity podaffinity podantiaffinity Taints cordon、drain、delete k8s调度 nodename [rootk8s2 node]# vim nodename.yaml apiVersion: v1 kind: Pod metadata:name: nginxlabels:app: nginxspec:containers:- name: nginximage: n…

Markov Chain Fingerprinting to Classify Encrypted Traffic 论文笔记

0.Abstract 在本文中&#xff0c;提出了用于SSL/TLS会话中传输的应用程序流量的随机指纹。这个指纹基于一阶齐次马尔可夫链&#xff0c;模型识别应用程序的准确率&#xff0c;并提供了检测异常对话的可能性。 1.Introduction 通过SSL/TLS会话时的头部信息创建统计指纹&#xff…

贝塞尔曲线和曲面原理

文章目录 贝塞尔曲线1.伯恩斯坦多项式法2.德卡斯特里奥算法&#xff08;de Casteljau Algorithm&#xff09; 贝塞尔曲面实验结果 贝塞尔曲线 给出一系列点&#xff08;一般称为控制点&#xff09;&#xff0c;贝塞尔曲线可以利用这些点得到一个平滑的曲线&#xff0c;贝塞尔曲…

机器学习模型,超级全面总结!

机器学习是一种通过让计算机自动从数据中学习规律和模式&#xff0c;从而完成特定任务的方法。按照模型类型&#xff0c;机器学习可以分为两大类&#xff1a;监督学习模型和无监督学习模型。 附注&#xff1a;除了以上两大类模型&#xff0c;还有半监督学习和强化学习等其他类…

MicroStation二次开发问题记录(1):打开项目时自动加载dll文件

环境配置 Windows10 MicroStation CE Update16 Visual Studio 2019 前言 开发好的dll文件若每次都需要在打开MS时单独加载&#xff0c;则过于繁琐&#xff0c;因此可以在确定的工程项目文件中进行一次设置&#xff0c;在打开该文件时自动加载 一、加载dll文件 1. 点击File—Se…