题目
已知第一次测得TCP的往返时间RTT是30 ms。接着收到了三个确认报文段,用它们测量出的往返时间样本RTT分别是:26ms,32ms和24ms。设α=0.1。试计算每一次的新的加权平均往返时间值RTTs。讨论所得出的结果。
已知第一次测得TCP的往返时间RTT是30 ms。接着收到了三个确认报文段,用它们测量出的往返时间样本RTT分别是:26ms,32ms和24ms。设α=0.1。试计算每一次的新的加权平均往返时间值RTTs。讨论所得出的结果。
题目解答
答案
第一次测得RTT样本时,RTTs取值为该RTT样本值,因此,RTTs=30ms。
根据公式:新的RTTs=(1-α)×(旧的RTTs)+α×(新的RTT样本)
第一次算出:RTTs=(1-0.1)×30+0.1×26=29.6ms
第二次算出:RTTs=(1-0.1)×29.6+0.1×32=29.84ms
第三次算出:RTTs=(1-0.1)×29.84+0.1×24=29.256ms
三次算出加权平均往返时间分别为29.6,29.84和29.256ms。
可以看出,RTT的样本值变化多达(30-24)/30=20%时,加权平均往返时间RTTs的变化却很小。
解析
本题考查TCP协议中加权平均往返时间(RTTs)的计算,解题思路是依据给定的初始RTT值、RTT样本值以及平滑因子α,运用加权平均往返时间的计算公式,逐步计算每次新的RTTs值,最后分析计算结果。
- 第一次测量时:
- 当第一次测得RTT样本时,按照规定,RTTs取值就为该RTT样本值。
- 已知第一次测得的RTT样本值为30ms,所以此时$RTTs = 30ms$。
- 第二次测量时:
- 已知平滑因子$\alpha = 0.1$,新的RTT样本值为26ms,旧的RTTs值为30ms。
- 根据公式$新的RTTs=(1 - \alpha)\times(旧的RTTs)+\alpha\times(新的RTT样本)$,将数值代入可得:
- $RTTs=(1 - 0.1)\times30 + 0.1\times26$
- 先计算括号内的值:$1 - 0.1 = 0.9$。
- 再计算乘法:$0.9\times30 = 27$,$0.1\times26 = 2.6$。
- 最后计算加法:$27 + 2.6 = 29.6ms$。
- 第三次测量时:
- 此时新的RTT样本值为32ms,旧的RTTs值为29.6ms。
- 同样根据公式$新的RTTs=(1 - \alpha)\times(旧的RTTs)+\alpha\times(新的RTT样本)$,代入数值:
- $RTTs=(1 - 0.1)\times29.6 + 0.1\times32$
- 先算括号内:$1 - 0.1 = 0.9$。
- 接着算乘法:$0.9\times29.6 = 26.64$,$0.1\times32 = 3.2$。
- 最后算加法:$26.64 + 3.2 = 29.84ms$。
- 第四次测量时:
- 新的RTT样本值为24ms,旧的RTTs值为29.84ms。
- 依据公式$新的RTTs=(1 - \alpha)\times(旧的RTTs)+\alpha\times(新的RTT样本)$,代入数值:
- $RTTs=(1 - 0.1)\times29.84 + 0.1\times24$
- 先算括号内:$1 - 0.1 = 0.9$。
- 再算乘法:$0.9\times29.84 = 26.856$,$0.1\times24 = 2.4$。
- 最后算加法:$26.856 + 2.4 = 29.256ms$。
- 结果讨论:
- 计算RTT样本值的变化比例,RTT样本值从30ms变化到24ms,变化量为$30 - 24 = 6ms$。
- 变化比例为$\frac{30 - 24}{30}=\frac{6}{30}=0.2 = 20\%$。
- 而加权平均往返时间RTTs从30ms变化到29.256ms,变化相对较小。这表明加权平均往返时间能够在一定程度上平滑RTT样本值的波动,使得RTTs不会因为个别RTT样本值的较大变化而产生剧烈波动,从而更稳定地反映网络的实际往返时间情况。