选择重传协议疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
n2l
V2EX    HTTP

选择重传协议疑问

  •  1
     
  •   n2l 2023-09-29 17:59:35 +08:00 via iPhone 1847 次点击
    这是一个创建于 743 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在选择重传协议中,如果发送接收窗口的尺寸都是 4 ,发送方发送的 0-3 号数据都被接收方正确接受,接收方也发送了 0-3 号确认分组,但是 2 号确认分组在传输过程中丢失了,只有 0 ,1 ,3 号确认分组正确被发送方收到,那后续的过程是怎样的?(不要 chatgpt 的答案,因为我试过,引申的疑问来自于 https://b23.tv/fRUMaRO 的 6 分钟左右,视频里说的是 2 号数据分组丢失,我的引申问题背景是 2 号确认分组丢失)

    第 1 条附言    2023-10-07 20:05:33 +08:00
    背景:采用 3 个比特给数据分组编号
    13 条回复    2023-10-08 16:52:06 +08:00
    MarsCloud
        1
    MarsCloud  
       2023-09-29 18:54:54 +08:00
    个人理解:按照协议,当接收者已经接受到 3 之前的所有数据,才可以发送 3 的确认分组,所以当发送者接受到了 3 号的确认分组信号,那么发送者就可以确认接收方已经接受到了 3 号以及之前的数据了;(所以 2 号丢失无所谓)
    这也是累积确认的工作方式,为了避免接收方发送太多确认数据,可以累计多个,然后发送最后一个确认数据的序号,这样子可以简化确认的流程。
    以上是个人从 TCP 的重传协议来理解。
    n2l
        2
    n2l  
    OP
       2023-09-29 21:35:35 +08:00 via iPhone
    @MarsCloud 但是视频里介绍的回退 N 帧才是累计确认的方式,选择重传是每收到一个数据分组就会发出一个确认分组。
    fbcskpebfr
        3
    fbcskpebfr  
       2023-09-29 21:48:32 +08:00 via iPhone
    对于现代实际部署的 TCP 来说:
    1. 如果后续收到了对于 4 的确认包,那么 2 号确认是否丢失不影响发送方的行为。即累计确认
    2. 稍微影响一下 RTT 的估计

    历史协议以及课本上的例子( SW 、SR 、GBN )的行为:由于他没说,也不知道具体实现,可以默认等同于 2 号丢失
    shalingye
        4
    shalingye  
       2023-09-30 00:35:19 +08:00 via Android   2
    会导致发送端 2 号分组计时器超时,随后发送端以为 2 号分组丢失,尝试重传 2 号分组,接收端此时由于 2 号分组接收完毕,窗口下限大于 2 号,会丢弃第二次发来的 2 号分组并重传 2 号 ACK 。
    n2l
        5
    n2l  
    OP
       2023-09-30 08:17:17 +08:00 via iPhone
    @shalingye 靠谱,结帖。
    julyclyde
        6
    julyclyde  
       2023-09-30 16:42:47 +08:00
    为什么在 HTTP 里提问 retransmission 呢?
    n2l
        7
    n2l  
    OP
       2023-09-30 17:10:21 +08:00 via iPhone
    @julyclyde 好像系统自动改的,我记得我发帖的时候选的是问与答
    n2l
        8
    n2l  
    OP
       2023-10-07 20:04:56 +08:00 via iPhone
    @shalingye 以下是我的疑问,接收方正确接收 0-3 号数据分组后,接收窗口向后移动 4 个位置,接收窗口变为 4-7 ,当发送方计时器超时后,发送方重新发送 2 号数据分组,有没有可能是以下过程:接收方判断第二次收到的 2 号数据分组以前接收过,然后丢弃之,然后发送 2 号确认分组,发送方收到 2 号确认分组后,窗口向后滑动 4 个位置,变为 4-7 。
    shalingye
        9
    shalingye  
       2023-10-07 20:12:12 +08:00 via Android
    @n2l 都是一个意思吧,只不过这次把编号写清楚了。
    shalingye
        10
    shalingye  
       2023-10-07 20:13:47 +08:00 via Android
    @n2l xd 在考研吗,哈哈
    n2l
        11
    n2l  
    OP
       2023-10-08 13:15:14 +08:00
    @shalingye 非常感谢!
    n2l
        12
    n2l  
    OP
       2023-10-08 13:15:43 +08:00
    @shalingye 没,单纯想学
    shalingye
        13
    shalingye  
       2023-10-08 16:52:06 +08:00 via Android
    @n2l 厉害
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2665 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:32 PVG 21:32 LAX 06:32 JFK 09:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86