TCP协议可靠传输、流量控制、拥塞控制
1、可靠传输
1.1、停止等待协议(自动重传请求AQR(Automatic Repeat reQuest))
每发送完一个分组就停止发送,等待对方的确认,收到确认后再发送下一个分组。
超时重传
:每发送一个分组时设置一个超时计时器,同时保留已发送分组的副本,若超时计时器到期任未收到确认,则重传。
确认丢失
:若接收方返回给发送方的确认在网络中丢失了,那么发送方无法知道自己发送的分组是出错、丢失,还是确认丢失,所以发送方会超时重传
确认迟到
:什么也不做
1.2、连续ARQ协议
一次性发送多个分组。接收方一般采用累计确认的方式,即只对按序到达
的最后一个分组发送确认,表示到这个分组为止的所有分组都已正确收到。当多个分组中的某一个分组丢失时,发送方需要重传丢失分组及后面的所有分组(回退N
)。
1.3、选择确认SACK
若收到的报文段无差错,只是未按序号,中间还缺少一些序号的数据,选择确认SACK能够只传送缺少的数据而不重传已经正确到达接收方的数据。
2、流量控制
让发送方的发送速率不要太快,要让接收方来得及接收。
发送方的发送窗口不过能超过接收方给出的接收窗口的大小。接收窗口的大小是动态的,接收方会在确认报文中的窗口字段动态更新接收窗口的大小。当接收窗口的大小为0时,发送方停止发送数据,同时启动一个定时器,若定时器超时仍没有收到接收方的非零窗口通知(因为通知可能中途丢失,若一致等待可能造成死锁),则发送测试报文主动询问。
3、拥塞控制
3.1、慢开始和拥塞避免
3.2、快重传和快恢复
likeqc
ends
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hi, likeqc!
评论