网站首页 > 技术文章 正文
高速公路会堵车,网络这条信息的高速公路也会堵。
距离过完年也有段时间了,相信大家对春节期间开车返乡堵在高速路上一天一夜一动不动的痛苦经历深有体会。因为道路宽窄和交通工作人员处理工作效率有限,导致车流量在短时间内达到高峰就会造成堵车,如果把网络比作高速公路,数据流量比作车流量,那么网络带宽等资源和存储、处理数据的能力有限,在出现突发流量时也会造成网络拥塞。
网络拥塞不仅会造成资源浪费,严重的话还会引发业务异常,网络拥塞作为普遍发生的网络问题,有什么机制可以提高网络资源使用率,提供更好的网络服务质量呢?
为了解决这个问题,QoS(Quality of Service,服务质量)诞生了!
小贴士:影响网络服务质量有4个要素:带宽、时延、抖动和丢包率,这四个要素也是QoS质量指标。
Qos如何提高网络服务质量?
QoS是如何对网络流量进行调控,避免并处理网络拥塞的呢?QoS是通过3种服务模型为用户提高网络服务质量的,下面开始详细为大家介绍这3种模型。
1. Best-Effort 服务模型(尽力而为)
简单的一种服务模型,通过FIFO(Frist in First Out,先进先出)队列来实现。例如小明需要从FTP服务器中拷贝某一文件到自己的电脑中,小明的电脑要发送一个报文到FTP服务器,并从FTP中获取到一个个报文组成该文件,电脑可以在不通知网络的情况下随时发送报文,发送的报文在网络中不被分类和标记,直接进入FIFO队列进行转发或者丢弃。该服务模型适用于FTP、E-Mail等对质量指标要求不高的业务。
2. InServ 服务模型(Intergrated Service,综合服务)
该模型通过RSVP(Resource ReSerVation Protocol,资源预留协议)申请QoS需求的方式来工作的,用手机看视频时,手机发送一个报文到网络视频服务器,并从视频服务器中获取到一个个报文在手机中组成视频画面,手机发送报文到服务器前通知网络待发送报文的流量配置和需要的特定服务质量请求,报文将经过的所有传输设备确认这些请求,随后视频服务器向网络申请资源预留,在网络中要经过的所有传输设备为手机发送到服务器的报文预留了资源后,手机才开始发送报文给服务器,同时手机发送的报文流量要在申请的范围内。该模型不适用于有大量数据量的骨干网,目前主要与MPLS-TE(Multi-Protocol Label Switching-TE,基于流量工程的多协议标签交换)一起使用。
RSVP工作在传输层,从第一节点开始使用路径消息(Path)逐跳对每个节点进行资源请求,到达目的地后使用预留消息(Resv)反向逐跳进行资源预留。
3. DiffServ 服务模型(Differentiated Service,差分服务)
该模型一般用来为一些重要的应用提供QoS,主要包含流量分类和标记、流量监管、流量整形、接口限速、拥塞管理和拥塞避免等技术。下面小编以一个有5辆货车的车队在A高速路通行为例来介绍A设备在此服务模型下如何处理转发一个5Bit大小的报文。
流量分类和标记
道路上有不同的车队,有运输车队、游行车队、驴友车队等等,这些车队有不同的任务要完成,对交通服务有不同的需求。为了给有不同业务的各个车队提供有差别的服务,交通服务人员会根据服务需求对各个进来的车队进行服务等级分类,分好类后给车队的领队相应位置贴上不同的标记,来识别车队处理通行的优先等级。
流量监管和流量整形
在A高速路入口和出口处各放置了一台自动出卡机,出卡机以一定的速率不停地向卡桶(令牌桶)中投放通行证。这时过来了一个有5辆车的车队A,该车队的领队小明从卡桶中领取到5张通行证小明的车队才可以通行,此时桶内只有3张通行证,小明从桶内拿出通行证后发现数量不够,他们不允许通行,小明只好沮丧地把拿到的3张通行证放回桶中另寻他法。为了将业务流量限制在一定带宽内,预防网络拥塞,利用令牌桶机制评估报文,丢弃流量超出的报文,未超出流量的报文进入队列调度或者转发的处理过程称为流量监管。
拥塞管理
A车队走在A高速路上,突然前方道路发生了交通拥堵,小明他们只好进入调度队列排队接受交通管制人员的安排协调,管制人员看了看各个领队车上贴的标记,开始讨论调度方案,随后协调队伍中各个车队通行的次序。在发生网络拥塞时将报文放入队列中缓存,并采取PQ、CQ、WFQ、WRR、DWRR等队列调度算法安排报文的转发次序的过程称为拥塞管理。
拥塞避免
交通管制人员小王时刻观察着车辆通行情况,小王发现交通开始越来越拥堵了,于是决定采取策略强烈禁止后面的所有或者部分车辆通行,以此来缓解交通过于拥堵。在网络拥堵时采用丢弃策略,主动调整流量来解除网络过载的过程称为拥塞避免。
流量整形
A车队到了出口处只领到了一张通行证,放回通行证后因为小明他们处理优先级很高,可以排队等待交通管制人员的安排调度,经过调度后小明从桶中拿到了5张通行证,终于可以顺利通行了。流量整形就是在设备出口处利用令牌桶机制评估报文,超出流量的报文进入队列缓存处理的流量控制措施。
接口限速
不区分车队而是对入口、出口处的所有来往车辆统一采取流量监管或者流量整形的制度。
QoS升级版HQos提升网络服务质量效果更好?
随着互联网的快速发展,网络用户规模不断扩大,业务数量和种类不断增多,传统QoS已经不适合部署在用户接入侧,无法对多个用户的多个业务进行流量监管和调度。为了解决该问题,QosHQos(Hierarchical Quality of Service,层次化Qos)诞生了!
HQoS也是提升网络服务质量的,与传统QoS区别就是HQoS可以将调度队列划分为多个调度级别,每个级别使用不同的特征进行流量监管。
HQoS不仅可以更细化的区分业务流量还可以对多个用户和多种业务等传输对象进行统一流量监管和分层调度。
今天,我们又get到了以下知识!
1. 网络是一条信息高速公路,需要QoS来避免堵车。
2. QoS的3大法宝,可以用来提高网络质量。Best-Effort服务模型适用于FTP、E-Mail等应用;IntServ 服务模型适用于电视会议、视频点播等应用;DiffServ 服务模型适用于游戏/视频网站等应用。
3. HQos带来的更细化区分和多层调度可以更好地帮助运营商进行多用户、多业务的服务管理。
转载内容仅代表作者观点
不代表中科院物理所立场
来源:中兴文档
编辑:Garrett
猜你喜欢
- 2025-07-09 视图计算背后的技术架构思考(实验4.2视图的使用)
- 2025-07-09 对象存储oos如何实现分片上传(对象存储能上传文件夹吗)
- 2025-07-09 自己动手从0开始实现一个分布式 RPC 框架
- 2025-07-09 阿里开源MySQL中间件Canal快速入门
- 2025-07-09 终于把TCP/IP 协议讲的明明白白了,再也不怕被问三次握手了
- 2025-07-09 36 张图带你理解计算机网络 6 大基础知识点
- 2025-07-09 别再裸写 parseFrom() 了!这才是 MQTT + Protobuf 消费的正确姿势
- 2025-07-09 非常强悍的 RabbitMQ 总结,写得真好
- 2025-07-09 部署canal server 1.1.5,消费mysql信息,订阅测试
- 2025-07-09 再聊HttpClient的NoHttpResponseException
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 533℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 496℃MySQL service启动脚本浅析(r12笔记第59天)
- 475℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 473℃启用MySQL查询缓存(mysql8.0查询缓存)
- 453℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 432℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 430℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)