Stanford CS 144 Note 16 - Retransmission Strategy

 Go-back-N为什么是pessimistic:if one packet is lost,all of them are lost in the window,必须要从新发送整个batch的packet

而Selective repeat可以只发送那个lost的packet

Go-back-N

 第一个 window发送1,2,3,4,只返回ack1,那么当timeout之后,sender需要重新发送1-5.(5是因为收到了ack1,n=4,因此它可以继续发送下一个到5)

Selective Repeat

 

 同样是传输1-4,当2lost并没有收到ack2时,sender会在5之后retransmit packet2,之后就更新传输到6,7...

但是 

如果传输过程途中lost的几率很大(即需要多次一个一个重新传输),加上传递时的timeout/round-trip time,selective repeat可能会比go back n慢不少

Examples

 当 RWS = 1时,receiver没有buffer来接受同一个window中除了第一个的其他packet,因此当中间有一个lost时,这个lost packet顺序后面的所有packet都需要重新传输一遍来获得ack

因此在这种情况下,go back n更好

 当RWS = n时,receiver可以有buffer储存一部分来自同一个window处在lost part后面的packet,例如图示中,当2 was lost,3,4,5都进入到buffer中,因此当sender retransmit 2后,receiver会直接送回ack5

在这种情况下 selective repeat会更好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值