5.8.6 TCP可靠传输(二)超时重传机制

这篇具有很好参考价值的文章主要介绍了5.8.6 TCP可靠传输(二)超时重传机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

5.8.6 TCP可靠传输(二)超时重传机制

超时重传机制是TCP协议保证数据可靠性另外一个非常重要的机制,它的原理是当发出一个数据之后就开启一个定时器,如果在规定的时间之内没有得到发送数据报的ACK的应答就应当从缓存中把数据取出并重新发送出去,一直到数据发送成功为止。影响超时重传机制协议效率的非常重要的参数就是超时重传超时时间(retransmission time out即RTO),如果RTO的值设置的过大,会使得发送端经过较长的时间才能够发现报文确实是丢失了,从而降低连接数据传输的吞吐量。而另一方面如果RTO值设置的过小,发送端尽管可以很快的检测出报文段的丢失,但它有可能将一些延迟稍大的报文段误认为是丢失的报文段,从而造成没有必要的重传,进而浪费网络资源。

一、超时重传机制

超时重传时间RTO计算公式

R T O = R T T + 4 × R T T D RTO = RTT + 4\times RTTD RTO=RTT+4×RTTD

RTT值:指端点间的传输往返时延
RTTD值:传输往返时延的偏差值

为了确定合适的往返时延RTT,在传输层方面是非常困难的一件事,因为TCP的下层是一个因特网的网际互联环境,发送的报文段可能要经过一个高速以太网,但也有可能是多个低速率的广域网,并且数据报所选择的路由还可能随时发生变化,所以TCP采用了一种自适应的算法。

这个算法是:在数据成功传输的情况下,记录每一个报文段发出的时间
以及收到对应的确认报文段的时间
这两个时间的差值就是我们所说的报文段的一个往返时延
将各个报文段的往返时延样本进行加权平均就得到报文段的平均往返时延RTT
每测量一个新的往返时延的样本就按照以下规律进行一次计算平均往返时延

往返时延RTT公式:

R T T n e w = R T T s a m p l e RTTnew = RTTsample RTTnew=RTTsample(第一次测量得到的RTT样本值我们就把它当做往返时延的第一次测量值)

R T T n e w = α × R T T o l d + ( 1 − α ) × R T T s a m p l e RTTnew = \alpha\times RTTold + (1-\alpha) \times RTTsample RTTnew=α×RTTold+(1α)×RTTsample(第二次以后的测量)

对第二次以后的测量值这其中有两个参数即RTT的累积值(RTTold),当前RTT的样本值(RTTsample),这里我们用一个参数 α \alpha α来进行调节,在公式中 α \alpha α取值在0~1之间,这其中我们能够看出

  1. 如果 α \alpha α很接近于1,就表示计算出的往返时延RTT和原来累积值的变化差别不大,而对新的往返时延的测量样本对RTT的更新影响并不大。
  2. 如果 α \alpha α趋近于0,就表示加权计算受新的往返时延的影响较大。

这里典型的 α \alpha α取值是 7 8 \frac{7}{8} 87,也就是说87.5%取决于累积值, 1 8 \frac{1}{8} 81取决于新的测量样本值。

二、示例

例:如果TCP来回路程时间RTT的当前值是32ms,随后应答在40ms时候到来,如果 α = 7 8 \alpha = \frac{7}{8} α=87,那么新的RTT估算值是多少?

分析:我们知道在第二次以后测量是一个累积值的测量,这其中87.5%取决于累积值,而12.5%取决于新的样本值。

计算: R T T n e w = α × R T T o l d + ( 1 − α ) × R T T s a m p l e = 7 8 × 32 + 1 8 × 40 = 33 m s RTTnew = \alpha\times RTTold + (1-\alpha) \times RTTsample = \frac{7}{8} \times 32 + \frac{1}{8} \times 40=33ms RTTnew=α×RTTold+(1α)×RTTsample=87×32+81×40=33ms

从以上我们可以看出往返时延的测量实现起来还是比较复杂的,发出的一个报文段如果超时重发的时间到了还没有收到确认,于是又发出了一个报文段,但是后来收到了一个确认报文段,这个时候问题就来了,我们如何判定此报文段是对原来的报文段的确认还是对重传报文段的确认呢?由于重传的报文段与我们原来的报文段是一样的,所以在源站收到确认时没有办法对报文段做出正确判断,根据这些,提出了一个修正的算法,就是在计算平均往返时延时,只要报文段重传了,此时就不采纳它作为往返时延测量的样本值。这样测出的一个平均往返时延和重发时延相对较为准确。文章来源地址https://www.toymoban.com/news/detail-534705.html

到了这里,关于5.8.6 TCP可靠传输(二)超时重传机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TCP/IP(十二)TCP的确认、超时、重传机制

    一    TCP的 确认应答 机制 ①  带 重传 的肯定确认 ②  细节   二    TCP的 重传 机制 ①  RTT 和 RTO ②    TCP的 重传 机制 ③  超时 重传 ④  快速 重传 ⑤  SACK  重点 ⑥  Duplicate SACK D-SACK

    2024年02月07日
    浏览(41)
  • 【网络原理】TCP协议如何实现可靠传输(确认应答机制)

    🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本篇主要讲解:TCP协议段格式,TCP的序列号,SYN、ACK标志位,确认应答机制。 目录 1、TCP协议段格式 1.1 TCP格式段 1.2 TCP协议段格式 2、确认应答机制 2.1 后发

    2024年02月09日
    浏览(49)
  • 计网 - TCP重传策略大揭秘:确保数据可靠传输的秘诀

    计网 - 传输层协议 TCP:TCP 为什么握手是 3 次、挥手是 4 次? 计网 - TCP三次握手原理全曝光:深度解析与实战演示 计网 - TCP四次挥手原理全曝光:深度解析与实战演示 TCP 实现可靠传输的方式之一,是通过序列号与确认应答 。 在 TCP 中,当发送端的数据到达接收主机时,接收

    2024年01月16日
    浏览(48)
  • TCP协议内部工作机制一(确认应答,超时重传,连接管理)

    目录 TCP报文结构 TCP的首部长度 保留(6位) TCP特点 TCP内部的工作机制 一确认应答 超时重传 连接管理 建立建立(三次握手)  TCP断开连接(四次挥手)  TCP的报文结构中, 16位源端口 , 16位目的端口 , 16位校验和和 UDP是一样的,本篇文章就暂不介绍了,可参考俺之前写的UDP协议详解, T

    2023年04月09日
    浏览(81)
  • TCP/IP协议栈的心跳、丢包重传、连接超时机制实例详解

    大家好,本文结合具体的问题实例,详细讲解一下TCP/IP协议栈的心跳机制、丢包重传机制等内容,给大家提供一个借鉴和参考。 1、问题概述 虽然软件底层模块在网络恢复后能自动重连上服务器,但会议因为网络问题已经退出,需要重新加入会议。 因为客户特殊的网络运行环

    2024年02月07日
    浏览(48)
  • 网络协议--TCP的超时与重传

    TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对任何实现而言,关键之处就在于超时和重传的策略,即怎样决

    2024年02月04日
    浏览(41)
  • 网路原理-传输层UDP,TCP/IP(确认应答,超时重传,连接管理,三次握手,四次挥手,状态转换,流量控制,滑动窗口,拥塞控制,延时应答,捎带应答,异常情况,面向字节流)-网络层(IP协议,地址管理)

    本节重点 • 理解传输层的作⽤,深⼊理解TCP的各项特性和机制 • 对整个TCP/IP协议有系统的理解 • 对TCP/IP协议体系下的其他重要协议和技术有⼀定的了解 我们之前编写完了基本的 java socket ,要知道,我们之前所写的所有代码都在应⽤层,都是为了 完成某项业务,如翻译等。

    2024年04月15日
    浏览(58)
  • 【TCP 协议】报文格式,数据可靠传输的机制(一)

    哈喽,大家好~我是你们的老朋友: 保护小周ღ   本期为大家带来的是网络编程的 TCP 传输控制协议的概念 ,首先会讲解 TCP 协议的报文格式 ,在学习报文格式之后,会学习两种 TCP 保证数据可靠传输的机制, 确认应答,超时重传, 这也是TCP 中较为核心的机制,以及接收缓

    2024年02月01日
    浏览(53)
  • 10000字讲解TCP协议(确认应答,超时重传,三次握手,四次挥手等等众多机制)以及UDP协议(UDP报文,校验和)

    UDP它是属于TCP/IP协议族中的一种。是无连接的协议,发送数据前不需要建立连接,因为不需要建立连接,所以可以在网络上以任何可能的路径传输,至于有没有传输到目的地,UDP是不关心的,所以,UDP它是天然支持广播的,就类似学校的广播,只需要将声音传递给每个学生即

    2024年01月21日
    浏览(53)
  • 网络原理(二)TCP的可靠传输

    网络协议的在实际运用是分为5层协议及: 应用层 传输层 网络层 数据链路层 物理层 这五层结构在,java 网络编程中已经有所现,具体用法具体实现的功能,都有。 这里主要的一个协议也是目前网络上最常用的一个协议,HTTP协议。 这层结构,决定数据要传输什么,拿到数据

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包