百度站长自动推送wordpress,网站开发谷歌浏览器js不更新,北京做网站比较大的公司,加强公司网站建设及数据库的通知目录
一、延迟应答
二、捎带应答
三. 流量控制
总结
四. 拥塞控制
1. 拥塞控制
2. 慢启动机制#xff1a;
3.思考
4.拥塞避免算法
5. 快速恢复算法 一、延迟应答
1. 立即应答问题
接收数据的主机若立刻返回ACK应答#xff0c;可能返回的窗口较小。例如#xff1…目录
一、延迟应答
二、捎带应答
三. 流量控制
总结
四. 拥塞控制
1. 拥塞控制
2. 慢启动机制
3.思考
4.拥塞避免算法
5. 快速恢复算法 一、延迟应答
1. 立即应答问题
接收数据的主机若立刻返回ACK应答可能返回的窗口较小。例如接收端缓冲区为1M一次收到500K数据立即应答则窗口为500K。
2. 延迟应答
等待一段时间后再返回窗口大小
举例
接收端处理速度快10ms内可将500K数据消费。等待200ms应答返回的窗口大小为1M增加网络吞吐量。目标保证网络不拥塞的情况下提高传输效率。 3. 延迟应答限制
数量限制每隔N个包应答一次N一般取2。时间限制超过最大延迟时间应答一般取200ms。延时应答时间不能超过超时重传时间。
4. 确认序号
TCP不一定对每个报文都应答确认序号表示之前连续报文已收到。
二、捎带应答
1. 报头应答
主机A给主机B发信息主机B 返回 ACK发给 A 的 data
2. 捎带应答实现
主机 B 可以携带报头它也有序号也可以携带有效载荷发送数据主机B给主机A应答时将ACK标记位设为1并携带B给A的信息。 三. 流量控制
借助滑动窗口实现
定义与目的
接收端处理数据的速度是有限的。如果发送端发送速度过快接收端缓冲区可能被打满导致丢包及重传等连锁反应。TCP支持根据接收端处理能力调整发送端的发送速率此机制称为流量控制(Flow Control)。
如何确定对方初始接收能力
在正式通信前双方通过三次握手过程交换信息。三次握手期间TCP报文头部包含窗口大小字段用于指示接收方当前能够接受的数据量。
流量控制 动态调整窗口大小
接收端会在TCP首部中的“窗口大小”字段标明自己可接收的数据量并通过ACK确认报文告知发送端。较大的窗口值意味着网络具有更高的吞吐潜力。当接收端接近其缓冲区容量限制时它会减小并通知新的窗口大小给发送端以降低发送速率。若接收端缓冲区完全占满则设置窗口为0此时发送方暂停发送新数据但需周期性地发送窗口探测数据段来获取最新的窗口信息。
关于TCP窗口大小的技术细节
TCP头部含有一个16位长的窗口字段理论上最大表示65535字节。然而通过使用TCP选项里的窗口扩大因子M实际窗口大小可远超这个数值。具体来说实际窗口大小等于窗口字段值左移M位的结果。
总结 几乎所有的策略起作用的都是在两端机器上的
tcp 还替我们考虑了网络的情况网络信道有所评估 四. 拥塞控制
场景
1. 拥塞控制
TCP的可靠性机制
包括超时重传、连接管理、丢包重传、按序到达、去重、滑动窗口和流量控制等。这些策略主要针对端到端的问题但网络本身也可能出现问题。
网络问题与重传决策
与超时重传对比学习
如果客户端发送1万个报文而服务器只响应了一个ACK这表明可能不是接收方的问题而是网络拥塞导致的大量丢失。在这种情况下不应该简单地进行大量的超时重传因为这样会加重已经拥堵的网络状况。
拥塞控制的重要性
TCP不仅考虑了双方主机的可靠性还考虑了网络路径上的问题。拥塞控制避免在网络故障时大量重传从而减轻网络压力等待网络恢复后再正常传输数据。
2. 慢启动机制
即使有滑动窗口刚开始发送大量数据仍然可能导致问题。慢启动通过先发送少量数据来探测当前网络状态再根据反馈调整发送速率。拥塞窗口是一个用于表示网络接收能力的数值。初始值设为1每次收到ACK后增加1。 ⭕拥塞窗口与滑动窗口的关系 客户端发送窗口 网络拥塞窗口 服务器接收窗口(自己的接收能力
实际 发送窗口min(拥塞窗口, 接收窗口)决定。swnd min(cwnd, rwnd) 慢启动 初始阶段增长迅速指数级但当超过慢启动阈值时转为线性增长。慢启动阈值在超时重传时减半并且拥塞窗口重新置为1。 动态调整与拥塞检测
少量丢包触发超时重传大量丢包则视为网络拥塞。随着通信开始吞吐量逐渐上升直至网络拥堵发生此时吞吐量急剧下降。拥塞控制旨在快速传输数据同时防止网络过载。 3.思考
发明慢启动机制算法的人就是一个天才实验是检验真理的唯一标准 慢启动何时结束 慢启动不会无限进行其增长会在达到一个特定阈值时停止这个阈值称为慢启动门限ssthresh。
慢启动门限的定义慢启动门限是一个状态变量用于控制慢启动和拥塞避免算法的切换。 慢启动与拥塞避免的切换条件 当拥塞窗口cwnd小于ssthresh时使用慢启动算法。当cwnd大于或等于ssthresh时使用拥塞避免算法。
4.拥塞避免算法
拥塞避免的触发条件
当cwnd超过ssthresh时进入拥塞避免算法。
拥塞避免的ssthresh值通常设置为65535字节。 ⭕ 拥塞避免的增长规则 每收到一个ACKcwnd增加1/cwnd。以线性增长代替慢启动的指数增长增长速度放缓。
拥塞状况的识别
随着cwnd的增长网络逐渐进入拥塞状态出现丢包现象。 拥塞发生时的处理重传机制
超时重传快速重传
超时重传的拥塞发生算法 ssthresh设为cwnd/2cwnd重置为1重新开始慢启动数据流突然减少。 快速重传的拥塞发生算法 cwnd设为原来的一半ssthresh设为更新后的cwnd进入快速恢复算法
5. 快速恢复算法
快速恢复的前提
快速重传和快速恢复算法通常同时使用。认为网络状况不那么糟糕因为还能收到3个重复ACK。
快速恢复的步骤
cwnd设为ssthresh 3重传丢失的数据包收到重复ACK时cwnd增加1收到新数据的ACK后cwnd设为第一步中的ssthresh值重新进入拥塞避免状态。
总结
拥塞控制既提高了效率也保证了可靠性是一种优雅的折中方案。目标是在不引起网络拥塞的情况下最大化传输效率。 补对于每一个TCP 通信的进程都存在两端的通信实体通常是两个网络设备或主机每一端都分别维护着自己的接收缓冲区和发送缓冲区