补全:退避之后的超时

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

本节的超时小工具:

rto_trace(samples)         RFC 6298 的整数版:第一次 SRTT = R、RTTVAR = R // 2;之后 RTTVAR = (3·RTTVAR + |SRTT − R|) // 4、SRTT = (7·SRTT + R) // 8;RTO = SRTT + 4·RTTVAR;交回每个样本后的 (SRTT, RTTVAR, RTO)
backoff(rto, n)            连续超时 n 次后的 RTO:每次翻倍
resend(segs, plan, rtt, rto)   停等 + 超时重传:plan 每次发送一个字符(. 到  x 丢),丢了等 rto 再发、rto 翻倍;交回 (发了几次, 花了多少时间)
fast_retransmit(acks)      同一个 ack 连着第 4 次出现(原始 + 3 个重复)就触发,交回触发位置(从 1 数),没有交回 0

补全 rto_after(samples, n):先按样本算出当前 RTO,再连续超时 n 次之后是多少。样本 100、100、300、100,n 取 0 和 2:

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论