TCP往返传输时间(RTT)的估计

TCP往返传输时间(RTT)的估计

1) TCP传输往返时间是指发送端从发送TCP包开始到接收到它的立即响应所耗费的传输时间.
当接收端和发送端同时支持TCP时戳选项时,
发送端记录在TCP包头选项内的时戳可以被接收端随响应反射回来,
发送端就可以利用响应报文的反射时戳计算出某个TCP包的即时往返传输时间.
当接收端应答不反射时戳时,
发送端则利用重发队列中非重传响应所确认的最先数据片段的时戳来取样RTT.

2) 发送端每接收到一次新的响应, 产生出一个新的RTT样本. 为了去除RTT样本的随机抖动,
系统利用加权平均算法对样本进行平滑, 为了避免内核浮点运算,
RTT的平滑值(SRTT)是实际RTT均值的8倍, 在迭代过程中, SRTT收敛于8倍的RTT.

3) 在平滑RTT样本值的同时, 发送端还跟踪样本的抖动性. RTT的抖动用中心差(tp->mdev)来衡量,
它是RTT与RTT均值偏差绝对值的加权平均, 它的值越大, 说明RTT抖动得越利害.
tp->mdev_max变量用来跟踪MDEV的最大值, 它再经过平滑生成tp->rttvar,
描述RTT抖动的最大范围. 发送端的重发超时被设为RTT均值和tp->rttvar的和.


1) TCP传输往返时间是指发送端从发送TCP包开始到接收到它的立即响应所耗费的传输时间.
当接收端和发送端同时支持TCP时戳选项时,
发送端记录在TCP包头选项内的时戳可以被接收端随响应反射回来,
发送端就可以利用响应报文的反射时戳计算出某个TCP包的即时往返传输时间.
当接收端应答不反射时戳时,
发送端则利用重发队列中非重传响应所确认的最先数据片段的时戳来取样RTT.

2) 发送端每接收到一次新的响应, 产生出一个新的RTT样本. 为了去除RTT样本的随机抖动,
系统利用加权平均算法对样本进行平滑, 为了避免内核浮点运算,
RTT的平滑值(SRTT)是实际RTT均值的8倍, 在迭代过程中, SRTT收敛于8倍的RTT.

3) 在平滑RTT样本值的同时, 发送端还跟踪样本的抖动性. RTT的抖动用中心差(tp->mdev)来衡量,
它是RTT与RTT均值偏差绝对值的加权平均, 它的值越大, 说明RTT抖动得越利害.
tp->mdev_max变量用来跟踪MDEV的最大值, 它再经过平滑生成tp->rttvar,
描述RTT抖动的最大范围. 发送端的重发超时被设为RTT均值和tp->rttvar的和.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值