IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 计算机网络学习笔记15--拥塞控制&TCP性能分析&传输层总结 -> 正文阅读

[系统运维]计算机网络学习笔记15--拥塞控制&TCP性能分析&传输层总结

https://www.bilibili.com/video/BV1Up411Z7hC?p=4&spm_id_from=pageDriver

如有错误之处请指出,谢谢!

p53-p57

拥塞控制

拥塞(Congestion)

非正式定义:

太多发送主机发送了太多数据或者发送速度太快,以至于网络无法处理

表现:

分组丢失(路由器缓存溢出)

分组延迟过大(在路由器缓存中排队)

拥塞控制VS流量控制

可靠数据传输根据端到端符合个体利益,拥塞控制像是一个社会问题

流量控制是不要让接收方溢出,而拥塞控制是不要让网络溢出

A top-10 problem

用色的成因和代价

场景1:分组时延太大

路由器向C、D主机总带宽未C?

由于路由器有无限的缓存,不存在丢包,所以没有重传机制

左边的图表示吞吐率

因为共享带宽,输出最大带宽为C/2

右边的图表示时延

输入接近C/2时时延接近无限

?因为一直在排队,形成排队的速度大于处理的速度,越后面的分组等的时间越久

场景2:吞吐率降低

一个路由器有有限的buffer

Sender重传分组

?因为重传造成了资源的浪费

定时器与丢失叠加造成了更多的重传

场景3

?多跳产生了多个主机传输间的竞争

?Q为什么拥塞控制在传输层做

A应该是单个应用不知道其他应用是否也在发数据,所以就不能控制自己的发送速率。而多个应用的数据是汇总到传输层,所以传输层才知道数据是否太多

拥塞控制的方法

端到端拥塞控制

网络层不需要显式地提供支持

端系统通过观察loss,delay等网络行为判断是否发生拥塞

TCP采取这种方法

网络辅助的拥塞控制

路由器向发送方显式地反馈网络拥塞信息(端系统利用信息来调节)

简单的拥塞指示(1bit):SNA,DECbit,TCP/IP ECN,ATM

指示发送方应该采取何种速率

ATM ABR拥塞控制

ABR:available bit rate

弹性服务

如果发送方路径“underloaded”负载低:使用可用带宽

如果发送方路径拥塞:将发送方速率降到最低保障速率

RM(resource management )cells

穿插在data cells中间

发送方发送

交换机设置RM cell位(网络辅助)

? ? ? NI bit:rate不许增长

? ? ? CI bit:拥塞指示

RM cell由接收方返回给发送方(得到了路径上所有的交换机RM cell,并返回给发送方)

?

在RM cell中有显式地速率(ER)字段:两个字节

? ? ? 拥塞的交换机可以将ER置为更低的值

? ? ?发送方获知路径所能支持的最小速率

数据cell中的EFCI位:拥塞的交换机将其设为1

如果RMcell前面的data cell的EFCI位被设为1,那么发送方在返回RM cell中置CI位

TCP拥塞控制

TCP拥塞控制的基本原理

Sender限制发送速率

设置一个变量叫拥塞窗口CongWin

?CongWin:

动态调整以改变发送速率

反应所感知到的网络拥塞

Q如何感知网络拥塞?

A

Loss事件=timeout或3个重复的ACK

发生loss事件后,发送方降低速率

Q如何合理的调整发送速率

A

加性增-乘性减:AIMD 拥塞避免机制

慢启动:SS

加性增-乘性减:AIMD

原理:逐渐增加发送速率,谨慎探测可用带宽,知道发生loss

方法:AIMD

Additive Increase:每个RTT将CongWin增大一个MSS-----拥塞避免

Multiplicative Decrease:发生loss后将CongWin减半

?慢启动:SS

TCP建立时,CongWin=1

eg:MSS=500 byte,RTT=200ms

初始速率=20kbps

可用带宽可能远远高于初始速率

希望快速增长

原理:

?当连接开始时,指数型增长

?每个RTT将CongWin翻倍

收到每个ACK进行操作

初始速率很慢,但是快速攀升

Q何时应该指数性增长切换线性增长(拥塞避免)?

当CongWin达到Loss事件前值的1/2时?

实现方法:

变量Threshold

Loss事件发生时,Threshold被设为Loss事件前CongWin值的1/2

蓝色为TCP早期版本:重新进入慢启动

黑色为后来版本:慢启动后,执行加性增-乘性减

Loss事件的处理

?3个重复的ACKs:

CongWin切到一半

然后线性增长

Timeout事件:

CongWin直接设为1个MSS

然后指数增长

到达threshold后,再线性增长

Q为什么两个处理不同

3个重复ACKs表示网络还能够传输一些segments

timeout事件表明拥塞更为严重

总结

当CongWin低于Threshold,发送方处于慢启动阶段,CongWin指数增长

当CongWin大于Threshold,发送方处于拥塞避免阶段,CongWin线性增长

当收到3个重复ACKs时,Threshold减为原来CongWin的一半,CongWin=Threshold

当timeout时,Threshold减为原来CongWin的一半,CongWin=1

?TCP拥塞控制算法

rate≈CongWin/RTT,流水线机制一个RTT可能收到多个ACK,对于每个ACKCongWin+1,速率就成倍增长了

?例题

?TCP性能分析

TCP吞吐率

例子

?Q:TCP在未来是否还适用

?TCP连接丢包率极低,对链路的设计要求极高

TCP的设计有些参数不满足当今某些硬件需求了

高速网络下需要设计新的TCP

TCP的公平性

TCP是公平的

?细线:最终TCP吞吐率相等

粗线:限制了整个带宽的瓶颈带宽R

?

?公平性与UDP(TCP吃亏)

多媒体应用通常不使用TCP,以免被拥塞控制机制限制速率

使用UDP:以恒定速率发送,能够容忍丢失

产生了不公平

研究:对TCP有好的UDP

公平性与并发性TCP连接

?某些应用会打开多个并发连接

Web浏览器

产生公平性问题

例子:链路速率为R,已有9个连接

新来的应用请求1个TCP,获得R/10的速率

新来的应用请求11个TCP,获得R/2的速率

传输层总结

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 12:21:23  更:2022-01-28 12:22:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 8:45:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码