Go-back-N
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190524215353481.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDAyNzg5Nw==,size_16,color_FFFFFF,t_70)
上图可以清楚的看出 go-back-n的 动作 特点。pkg2 丢失,即使 pkg 3,pkg 4 在 sender 端 收到 ACK,但是 等pkg2 超时, pkg 2,3,4,5,还是需要重传。这个例子中 window size 是4,所以一次传输4个 package。
很明显 go-back-n的一个缺点 *是单个分组端差错能够引起大量分组端重传,许多分组其实没必要重传。*为了解决这个缺点, selective repeat来了。
selective repeat:
**sender 端:**接收上层端数据,为 分组 assign 序号,如果 在 window 范围内,则发送,同时为每一个分组起一个逻辑定时器,哪个分组端定时器超时,