数据链路层传输协议(点到点):停等协议、GBN、SR协议
数据链路层的传输协议:停等协议、GBN、SR
停止等待协议(单窗口的滑动窗口协议)
滑动窗口协议:GBN、SR
GBN协议
GBN发送方需响应的三件事
1. 上层调用(网络层)
上层要发送数据时,发送方先检查发送窗口是否已满。
如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示窗口已满.
2. 收到一个ACK
G B N \rm GBNGBN协议中,对n nn号帧的确认采用累计确认,标明接收方已经收到n nn号帧和它之前的全部帧
3. 超时事件
若出现丢失和时延过长帧时,发送方将重传所有已发送但未收到确认的帧
GBN接收方
1. 若正确收到n号帧,并且按序,那么接收方为n帧返回一个ACK,并将该帧中的数据部分交给上层
2. 其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK.接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)
心里有数:一定要等到自己期待的的帧,后面的帧我都不管
一个GBN协议的工作图解
例题:
选:C
累计确认 导致 批量重传问题
改进协议——> SR
选择重传协议(SR)
重传两个:0和2号帧