最后更新:2022-06-24 00:16
TCP可靠的数据传输服务确保数据在传输中完成并订购
需要解决的问题
TCP协议仅用于读取,每个节点都有序列编号。
序列序列字段指消息段的第一个部分的序列
确认空格字段指下一个消息的第一个字母的序列
默认情况下,TCP使用累积确认
只返回应通过序列接受的消息段的第一行序列数目
累积确认允许我们同时确认多个收据
超时+重传
发送者在发送未确认数据包后启动计时器。如果ACK未在指定的时间内收到,发送者可以重新发送消息
有一个问题:等待太久
每当到达一个超出预期序列的错误消息段落时,发送一个冗余的ACK指示下一个预期字符串的序列。
TCP发送器一次性可以发送多个消息段,接收器使用累积确认
流量控制:让发送者放慢,让接收者来接受
TCP采用滑窗机制实现流量控制
控制方:接收方
被控制方:发送方
原理
在通信过程中,接收者根据接收的缓存大小通知发送者rwnd(接受窗口),在确认消息字段中设置窗口字段,发送者发送窗口取出接受窗口rwnd和拥挤窗口cwnd的最小值。
拥塞控制的目的在于防止全球范围内太多的数据被注入网络。
四种算法
假定
1.数据以一种方向传送,只以另一种方向确认
2.接收器总是有一个足够大的缓存空间,发送窗口=最小(接收窗口rwnd,拥挤窗口cwnd),所以发送窗口的大小取决于拥挤的程度
转播圈: 发送一批消息段落,并收到其确认时间 = 转播延迟 RTT
1.首先尝试网络情况,拥挤窗口/发送窗口指数增加。
2.当初始阈值达到时,网络被检测为某种程度被封锁,并为了避免拥挤,添加了拥挤窗口/发送窗口添加器。
3.新的阈值=当前拥挤窗口值/2,然后将当前拥挤窗口值更改为初始值1,并重复步骤1和2
假定
1.数据以一种方向传送,只以另一种方向确认
2.接收器总是有一个足够大的缓存空间,发送窗口=最小(接收窗口rwnd,拥挤窗口cwnd),所以发送窗口的大小取决于拥挤的程度

快速重传输:获得3次重复验证,执行快速重传输算法
快速恢复:在第3步中,更改当前窗口值到一个新的阈值,然后直接添加它
本文由 在线网速测试 整理编辑,转载请注明出处。