网络层的拥塞控制与服务质量
拥塞控制与流控制区别:
拥塞控制Congestion control is a global issue.
流控制Flow control is to make sure that a faster sender can’t continually transmit data faster than the receiver is able to absorb it.
拥塞控制
1. 将路由器的内存放大;
2. 提高路由器的CPU处理速度。
上述两种方法都没有解决问题,此问题的解决必须让所有部件相互平衡之后才能解决。
拥塞控制的通用原则:
1. Open loop开环,试图采用良好的设计来解决此问题,保证系统一旦启动运行起来,就不需中途修正。追求完美。
2. Close loop闭环,基于反馈环路的概念。首先监视系统,检测何时何地发生拥塞;然后将该信息传递到能够采用行动的(多个)源主机;最后调整系统运行,修正问题。
数据链路层的拥塞预防策略:
1. 重传策略(重传时间不能太短);
2. 乱序缓存策略(选择性重传比回退N帧重传好);
3. 确认控制策略(捎带确认Piggyback);
4. 流控制策略(各窗口协议)。
虚电路子网的拥塞控制策略:
1. 准入策略(Admission control),一旦出现拥塞信号,不再创建任何虚电路,直到问题排除;
2. 允许建立虚电路,但是谨慎选择路由,使得有问题的虚电路都绕开有问题的区域;
3. 资源预留策略,造成带宽的浪费。
数据报子网的拥塞控制策略:
1. 警告位The Warning Bit,只针对源主机,当问题排除后,缓慢把流量加上去;
2. 抑制分组Choke packet,只针对源主机,通过发送抑制分组;
3. 逐跳抑制分组hop-by-hop,对它经过的每个路由器都起作用,此方案能迅速缓解拥塞,能将拥塞消灭于萌芽态,代价是上游路径上需要消耗更多的缓冲区空间。
4. 负载丢弃Loading shedding,最后一招,当上述方法均不能消除拥塞时采取。
丢弃策略:
4.1 wine策略(旧分组好,丢弃新分组,文件传输);milk策略(新分组好,丢弃旧分组,多媒体传播);
4.2 分组优先级策略(应用程序表明分组优先级);
4.3 随机的早期检测RED(在实际耗尽所有缓冲区空间之前就开始丢弃分组。)TCP针对分组丢失的相应措施是源主机减慢传输速度,因为分组丢失多半是因为缓冲区满。路由器如何告知源主机有关问题?发送抑制分组;或单纯丢弃分组不送报告;
4.4 抖动策略Jitter(适用于音频流和视频流,分组到达时间的变化量有偏差,当一分组到达路由时间比预定早,就缓存路由中直至预定是哎那再转发;如果分组到达比预定晚,路由器会尽快将其转发)。如视频点播,一般接收方会将分组缓存,然后从缓冲区中读取数据显示至显示器,而不是实时的从网络上获取数据。
服务质量
可靠性、延迟、抖动、带宽。这四个特征合起来决定了一个流所要求的服务质量Quality of Service, QoS。
获得好的服务质量:
1. 过度提供资源,提供足够的路由器容量、缓冲区空间与带宽,保证分组能顺利通过;
2. 缓冲能力,在接收方,数据流被递交之前可以先缓存起来,这样不会影响到可靠性与带宽,只是增加延迟,然而却可以消除抖动jitter。对于音频和视频,抖动是主要问题。
3. 流量整形:
一、 漏桶算法Leaky Bucket Algorithm
不断桶中进水速度为多少,水流出去的速度是常数a,当桶中无水时,速度为0,否则就是常数a。一旦桶满了,再往里流的水就溢出,造成分组的丢失。
无论负载如何变化, 漏桶算法始终保持一个速率,不灵活,同时可能造成分组丢失。
二、 令牌桶Token Bucket Algorithm
同漏桶算法的流量整形,但是桶中保存的是令牌,这些令牌是按照特定速度产生的。每一个分组要被传送出去,必须捉住一个令牌,出去时销毁一个令牌。
漏桶算法不允许空闲的主机将许可权保存起来以便以后发送大的突发数据;令牌桶则允许将许可权保存起来,直到桶的最大尺寸n。这特性意味着即使多达n个分组的突发数据也可以一次性发送出去。同时令牌桶满,丢弃的是令牌,而不是分组。
网络层的拥塞控制与服务质量相关推荐
- 【计算机网络】第五部分 传输层(24) 拥塞控制和服务质量
文章目录 24.1 数据通信量 24.1.1 通信量描述符 1. 平均数据速率 2. 峰值数据速率 3. 最大突发长度 4. 有效带宽 24.1.2 通信量特征值 1. 恒定比特率 2. 可变比特率 ...
- 四、网络层(一)网络层的功能
目录 1.0 网络层的功能 1.1 异构网络互连 1.2 路由选择与分组转发 1.3 软件定义网络(SDN) 1.4 拥塞控制 1.0 网络层的功能 网络层的主要任务就是将分组从源主机经过多个网络和多 ...
- 《计算机网络》第一章:基础知识Part II
内容概要 计算机网络在信息时代的作用 计算机网络与因特网 计算机网络的发展历史 计算机网络(因特网)的组成 计算机网络的分类 几种常用网络 计算机网络的性能 计算机网络的体系结构 -分层 -计算机网络 ...
- 计算机网络与网络管理 基础知识
计算机网络与网络管理 一.对下列各图进行说明(40题) 1. 答:图中主机A向主机F发生数据包时,通过中间链路及B和E路由器,路由器到路由器,路由器到主机之间是跳到跳的传输,而主机之间是端到端的传输. ...
- 西电计算机通信与网络复习
<计算机通信与网络>课程总复习知识点 *配套<数据通信与网络(Forouzan第四版)>*2021年12月 第一部分 概述 第1章 绪论 1. 数据通信的概念及模型 数据通信 ...
- 音视频网络传输技术之一
一.传输协议 流媒体的很多协议都是在传统的TCP/UDP协议之上,加强流媒体在网络传输中的稳定性.在端到端的结构中,发送端的音视频数据通过流媒体协议发送给接收端,中间的传输过程重要的部分就是用TCP/ ...
- 五、传输层(三)TCP
目录 3.0 TCP特点补充 3.1 TCP报文段首部格式 3.2 TCP连接管理 3.2.1 三报文握手 3.2.2 四报文挥手 3.3 TCP的流量控制和可靠传输 3.4 TCP拥 ...
- 可编程数据平面(论文阅读)
可编程数据平面 原文 <A Survey on the Programmable Data Plane: Abstractions, Architectures, and Open Proble ...
- 计算机网络笔记Part1 概述
本人计算机网络笔记总目录 计算机网络笔记Part1 概述 计算机网络笔记Part2 物理层(Physical Layer) 计算机网络笔记Part3 数据链路层(Data Link Layer) 计算 ...
最新文章
- cocos2d-x 打包成so文件之后,假设出现错误,能够使用ndk-stack来查看里面的异常...
- 清单革命:为什么不仅是工具革命
- Java中的同步集合与并发集合有什么区别?
- SiamBAN论文学习
- p批处理替换目录下文本中的字符串
- slf4j在linux位置,SLF4J环境设置
- js复制功能的有效方法总结
- 第二季-专题11-世界一下变大了-MMU
- 锐捷Ruijie交换机补丁升级及补丁卸载
- Spring Cloud 常用注解
- 微信公众号迁移:流程指引、迁移内容、注意事项、申请函公证指引
- 基于LabVIEW的计时器
- Springboot爱护大自然的设计与实现 毕业设计-附源码231643
- Photoshop入门学习
- 也不能在你喝醉的时候假装很生气的臭骂一顿
- python爬虫爬取古诗词实例补充讲解之获取注释和译文
- torch实现ESIM算法
- Jetson AGX Xavier 刷机教程
- [web面试必备]深入浅出HTTP协议
- nginx配置监听443端口,开启ssl协议,走 https 访问