【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )

简介: 【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )

文章目录

一、TCP 流量控制

二、TCP 流量控制 过程

三、持续计时器机制





一、TCP 流量控制


TCP 流量控制 :


① 流量控制 : 控制 发送方 降低发送速率 , 避免 接收方 来不及接收 , 丢弃数据 , 导致重传 ;


② 滑动窗口机制 : TCP 通过 该 滑动窗口机制 实现 流量控制 ;


③ 滑动窗口 调整 : 接收方 根据 接收缓存大小 , 动态调整 发送方 发送窗口 大小 ;


④ 接收方窗口 rwnd : 接收方 设置 确认报文段 中含有 窗口字段 , 将 rwnd 通知给发送方 ;


⑤ 发送窗口 : 发送方 发送窗口 取 接收窗口 rwnd , 与 拥塞窗口 cwnd , 中较小的值 ;






二、TCP 流量控制 过程


TCP 流量控制 过程 : 发送端 向 接收端 发送数据 ;


① 连接建立 : 接收端 向 发送端 发送 接收窗口 rwnd = 400 ;


② 发送端 发送数据 :


发送 1 ~ 100 字节 , 此时还能再发送 300 字节 ; ( seq = 1 )

发送 101 ~ 200 字节 , 此时还能再发送 200 字节 ; ( seq = 101 )

发送 201 ~ 300 字节 , 该报文段丢失 ; ( seq = 201 )

③ 接收端 返回数据 : 返回 ACK = 1 , ack = 201 , rwnd = 300 ;


表示 接收端 接收到了 201 之前的数据 , 期待发送 201 数据 , 接收窗口 rwnd 大小为 300 字节 ;

发送方此时 只能发从 201 开始的 300 字节滑动窗口大小的数据 , 即发送 201 ~ 500 之间的数据 , 共 300 字节 ;

④ 发送方 发送数据 :


发送 301 ~ 400 字节 , 此时还能再发送 100 字节数据 ;

发送 401 ~ 500 字节 , 此时滑动窗口的数据都发送完毕 , 不能再发送了 ;

发送方 的 超时重传计时器 , 时间到期 , 重传 201 ~ 300 字节数据 , 此时不能发送 新数据 ;

⑤ 接收方 接收数据 : 接收方接收到了上述 所有发送的数据 , 返回 ACK = 1 , ack = 501 , rwnd = 100 ; 表示 期待 发送方发送 501 之后的数据 , 接收窗口 rwnd 设置为 100 字节 ;


⑥ 发送方 发送数据 : 发送方发送 501 ~ 600 字节数据 , 此时滑动窗口占满 , 不能继续发送数据 ;


⑦ 接收方 接收数据 : 接收方接收到了 501 ~ 600 字节数据 , 此时回送 ACK = 1 , ack = 601 , rwnd = 0 ; 设置期望发送 601 之后的数据 , 接收窗口设置为 0 ; 此时不允许发送方再发送了 ;






三、持续计时器机制


持续计时器机制 :


① 开始计时 : TCP 连接中 , 有一个 持续计时器 , 发送方 收到 接收方 的 零窗口 通知 , 即 rwnd = 0 , 启动该 持续计时器 ;


② 零窗口探测报文 : 如果 持续计时器 到期 , 发送方 发送 零窗口探测报文 给接收方 , 接收方 收到上述报文 , 返回 当前窗口值 ;


③ 重新计时 : 如果 接收方的 接收窗口 rwnd 仍然为 0 , 发送方收到该 0 窗口值 , 重置 持续计时器 , 重新开始计时 ;


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1月前
|
移动开发 网络协议 安全
网络面试题:什么是 TCP/IP?
网络面试题:什么是 TCP/IP?
43 0
网络面试题:什么是 TCP/IP?
|
1月前
|
监控 负载均衡 网络协议
TCP重传与超时机制:解锁网络性能之秘
TCP重传与超时机制:解锁网络性能之秘
61 0
|
15天前
|
网络协议 安全 网络性能优化
|
25天前
|
缓存 网络协议 数据库连接
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
22 0
|
1月前
|
网络协议 算法 Linux
探索TCP状态机之旅:发现网络连接的生命周期与神秘魅力
探索TCP状态机之旅:发现网络连接的生命周期与神秘魅力
67 0
|
2月前
|
算法 网络协议 网络架构
计算机网络-网络层:IP协议
【2月更文挑战第1天】
46 0
|
3月前
|
缓存 安全 前端开发
【计算机网络】HTTP 协议-2
【计算机网络】HTTP 协议-2
|
14天前
|
存储 网络协议 Linux
|
14天前
|
安全 SDN 数据中心
|
1月前
计算机网络:数据链路层(广域网、PPP协议、HDLC协议)
计算机网络:数据链路层(广域网、PPP协议、HDLC协议)

热门文章

最新文章