1、可靠传输

1.1、停止等待协议(自动重传请求AQR(Automatic Repeat reQuest))

每发送完一个分组就停止发送,等待对方的确认,收到确认后再发送下一个分组。

超时重传:每发送一个分组时设置一个超时计时器,同时保留已发送分组的副本,若超时计时器到期任未收到确认,则重传。

确认丢失:若接收方返回给发送方的确认在网络中丢失了,那么发送方无法知道自己发送的分组是出错、丢失,还是确认丢失,所以发送方会超时重传

确认迟到:什么也不做

1.2、连续ARQ协议

一次性发送多个分组。接收方一般采用累计确认的方式,即只对按序到达的最后一个分组发送确认,表示到这个分组为止的所有分组都已正确收到。当多个分组中的某一个分组丢失时,发送方需要重传丢失分组及后面的所有分组(回退N)。

1.3、选择确认SACK

若收到的报文段无差错,只是未按序号,中间还缺少一些序号的数据,选择确认SACK能够只传送缺少的数据而不重传已经正确到达接收方的数据。

2、流量控制

让发送方的发送速率不要太快,要让接收方来得及接收。

发送方的发送窗口不过能超过接收方给出的接收窗口的大小。接收窗口的大小是动态的,接收方会在确认报文中的窗口字段动态更新接收窗口的大小。当接收窗口的大小为0时,发送方停止发送数据,同时启动一个定时器,若定时器超时仍没有收到接收方的非零窗口通知(因为通知可能中途丢失,若一致等待可能造成死锁),则发送测试报文主动询问

3、拥塞控制

3.1、慢开始和拥塞避免

慢开始和拥塞避免

3.2、快重传和快恢复

快重传和快恢复


likeqc
ends