上一篇写到停止等待协议 图片满了 写不下去了
二、滑动窗口协议
1、后退N帧协议(GBN): 接收方给发送方 发送一个窗口公告,只有等这个窗口内的数据全部发送等到确认,才能向后移动一个窗口的数据
GBN中发送方必须响应的三件事
1、上层的调用
上层需要发送数据的时候,发送方先检查发送窗口是否已经满了
如果窗口没满,则产生一个帧进行发送
如果窗口满了,只需要将数据返回给上层,暗示上层 窗口已满,等一会再 发送
2、收到一个ACK
GBN协议中,对于n号帧采用累计确认,标记接受已经收到 n 号帧 和他之前的数据
3、超时事件
用一个定时器计算帧等待确认的时间,如果超时,则重传
接受方要做的事情
1、如果n帧正确 按序到来(n之前全部已经收到),则给发送方回复一个ACK,将n 号帧中的数据提交给上一层
2、 其他情况下收到的帧 全部丢弃,并给发送方发送一个 最近按序确认帧的ACK