TCP RTT 和乱序重传计算

目录

RTT

乱序重传


工作中需要计算tcp 的rtt和重传连续包,以下是我们计算的方法。

RTT

Round trip time 往返时间 (RTT),是网络请求从起点到达目的地并再次返回起点所需的持续时间。

在tcp中是发送包到与接收到与此数据包对应的ack包的持续时间,在我们的计算中对于下图第三种情况,我们只计算了两次rtt。

下图是一个网络包的情况,在tcp中,当前包的seq + payload_len 即为下一个包的seq值,同时也为当前包的回复包的ack值。图中6、8包为一对rtt计算区间,6包的seq(1341) ,payload(1340), 则next_seq = seq + payload = 2681, 正好与8包的ack等值,所以这是一对rtt计算区间。

乱序重传

先重传乱序包判断:在此以上行为例,当前上行包的seq 不是期望的值(上一个上行包的seq+ payload_len),就认为当前包乱序或者重传。

在此基础上检查 按照优先级检查。

检查快速重传:TCP_A_FAST_RETRANSMISSION  ,当前上行包之前已有连续多次下行冗余的ACK, 同时当前上行包的seq == 之前下行包的ack,则认为此包为快速重传包

 

如果不是快速重传才检查乱序。

检查乱序:TCP_A_OUT_OF_ORDER  ,当前包的seq_num + payload_len!= 上一个包的seq_num + payload_len(不是发送的数据包) 是乱序

都不是的话都归类到其他重传。


凡是过往,即为序章

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值