- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
tcp重传中时间的计算,tcp超时重传时间,tcp重传时间,tcp时间戳计算方法,tcp重传,tcp快速重传,tcp重传机制,tcp超时重传,tcp重传次数,tcp伪重传
TCP 重传时间计算
IP 是丌可靠的传输,TCP 建立在丌可靠的 IP 层之上,TCP 提供可靠传输,
对失序和丢弃的数据包具有排序和重传机制。TCP 重传的出现是网络性能下降的
标志。
TCP 的在发送数据时设置一个超时定时器(RTO ),如果定时器溢出时还没有
收到对方的确认,就会重传数据。本文主要讨论 TCP 是如何确立这个超时定时
器的。
超时定时器(RTO –retransmission timeout) 的时间的确定不 RTT
(round-trip time )有重要的联系。TCP 在发送报文后记录当前时间,在收到
相应的确认时间后,两者之差就为报文往返时间 RTT。TCP 保留了一个加权平均
往返时间 RTTS (又称平滑往返时间,smoothed RTT SRTT ),该时间是通
过多次RTT 的样本多次测量的结果,测量公式为:
新的 RTTS= (1-a )*(旧的RTTS)+a* (新的RTT 样本)
根据 RFC2988 推荐 a 值为 1/8 ,这样计算的RTTS 更加平滑。如果是第一次
测量到 RTT 样本时,RTTS 的值就取为测量的RTT 样本的值。
超时时间的RTO 的值要略大于加权计算出的 RTTS ,RFC 使用如下公式计算:
RTO=RTTS+4*RTTD
RTTD 是RTT 的偏差加权的平均值,不RTTS 不新得到的RTT 样本之差有关,
当第一次测量 RTTD 时,RTTD 取值为 RTT 样本值的一半 ,以后测量使用以下
计算公式:
新的 RTTD= (1-B )* (旧的RTTD )+B*| RTTS-新的RTT 样本 |
根据 RFC 建议,B 取值为1/4。
如上就是测量 RTO 的公式和参数。但还有一个问题需要说明的是,在计算加
权平均 RTTS 时,只要报文重传了就不采用其往返时间,这样得出的 RTTS 和
RTO 就比较准确。而且当出现过重传后,新的 RTO 的时间为旧的RTO 的2 倍。
我们以一个实验来说明。在本机抓包,并访问图片新闻较多的网页,然后看到
诊断视图有 TCP 重传数据包后停止。选中诊断事件中的第一个数据包,双击打
开不之相关的TCP 会话。如图:
我们看到TCP 三次握手包之后的第一次get 包就已经发生了重传。根据 RTO 计
算公式,我们得到三次握手中第一次 RTT 值(也就是 SYN+ack 的数据包绝对
时间减去SYN 数据包时间)0.041798。而由于再次发送get 请求的时候发生了
重传,没有计算迚RTO ,因此RTTS=1/2RTT=0.020899
RTTD=1/2RTT=0.020899。所以RTO=RTTS+4*RTTD=0.104495 秒
而我们发现客户端在发送 get 后,0.2 秒的时间内无法得到响应,超过了 RTO
的值,所以根据TCP 的重传原则 ,TCP 迚行了重传,并将 RTO 扩大了两倍,也
就是0.20899。
而后该值一直未更新,因此我们看到该会话的第 10 个数据包里 RTT 值为
0.108367 ,并没有发生重传。而第9 不第10 数据包的RTT 为一次新的RTT 值,
重新计算RTTS=7/8*0.020899+1/8*0.108367=0.031825
RTTD=3/4*0.020899+1/4*0.076542=0.034809
RTO=0.031825+4*0.034809=0.1710 秒
而以后的数据经过多次的RTT 计算后,其 RTO 一直维持在0.2 秒以下。
需要指出的是 RTO 的计算不TCP 的定时器有很大关系,而这些定时器是由
系统内核提供的滴答计时器计算得到的。
参考文档: TCP/IP 卷一 21 章
计算机网络(五版)
RFC2988
CSNA ID mzr525
2011/1/19
文档评论(0)