[TCP/IP] TCP如何实现流量控制和拥塞控制
2023-02-18 15:41:31 时间
流量控制:数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制,以免数据丢失。流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。流量控制可以有效的防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定的运行。
1.通信双方主机上都分别有一个“发送窗口”和一个“接受窗口”
2.TCP连接阶段,双方协商窗口尺寸
3.发送方根据协商的结果,发送符合窗口尺寸的数据字节流,并等待对方的确认,等待确认机制
4.发送方根据确认信息,改变窗口的尺寸
拥塞控制:网络拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。拥塞控制是处理网络拥塞现象的一种机制。
1.TCP发送方首先发送一个数据报,然后等待对方的回应
2.得到回应后就把这个窗口的大小加倍,然后连续发送两个数据报
3.直到出现超时错误,这样,发送端就了解到了通信双方的线路承载能力,也就确定了拥塞窗口的大小
相关文章
- netfilter 五链四表 - 为什么服务器没有监听 80 端口却被k3s占用了
- RedisRoad - 01 Redis 的基本操作
- RedisRoad - 02 数据类型 String
- RedisRoad - 03 数据类型: List 列表
- RedisRoad - 04 数据类型 Set 集合
- RedisRoad - 05 数据类型 ZSet 有序集合
- RedisRoad - 06 数据类型 Hash 映射
- RedisRoad - redis 使用 unlink 删除大 key
- 【开个坑】 kustz 快速发布应用到 Kubernetes
- kustz 从零开始写一个 kubernetes 发布管理工具(汇总)
- 算法学习——递推之猴子爬山
- 算法学习——递推之超级素数
- 算法学习——枚举之完美综合式
- 算法学习——递归之排队购票问题
- 算法学习——枚举之超级方程
- 算法学习——枚举之最简真分数
- 算法学习——枚举之基于素数的代数和
- 算法学习——枚举之全素组
- 我的第三个开源库GuaJiangViewDemo——中文文档
- Markdown字体大小与颜色