QoS(服务质量)学习记录

2023-11-08 06:45
文章标签 学习 记录 qos 服务质量

本文主要是介绍QoS(服务质量)学习记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

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服务质量-理论基础

这篇关于QoS(服务质量)学习记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/368414

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert