一、停止-等待协议
1.停止等待就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
2.停止-等待协议的算法:
这里不使用否认帧,而且确认帧带有序号 n。
按照习惯的表示法,ACKn 表示“第 n – 1 号帧已经收到,现在期望接收第 n 号帧”。
ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”;
ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。
二、回退N帧协议
按顺序,等待收到确认信息后再发送下一条数据
例如A主机向B主机发送了0~7号数据帧,当计时器超时时,主机A只收到0、2、3号帧的确认,则A主机需要重发的帧数是4(即4~7号数据帧)。
【主机A收到了0、2、3号帧==已经按序接收0~3号帧,1号帧的确认消息可能延迟可能丢失】
三、选择重发协议
有选择地发送数据,不需要等收到确认信息后再发送数据。
例如A主机向B主机发送了0~3号数据帧,现在收到1号帧的确认,而0、2号帧依次超时,则A主机需要重发的帧数是2(即0、2号数据帧)。