一道网络的题目,计算TCP链接的RTO超时重传时间!
(1)据RFC2988建议,RTO=RTTs+4*RTTd。其中RTTd是RTTs的偏差加权均值。 初次测量时,RTTd(1)= RTT(1)/2;后续测量中,RTTd(i)=(1-Beta)* RTTd(i-1)+Beta*{ RTTs- RTT(i)};Beta=1/4依题意,RTT(1)样本值为1.5秒,则RTTs(1)=RTT(1)=1.5s RTTd(1)=RTT(1)/2=0.75sRTO(1)=RTTs(1)+4RTTd(1)=1.5+4*0.75=4.5(s)(2)RTT(2)=2.5 RTTs(1)=1.5s RTTd(1)=0.75sRTTd(2)=(1-Beta)* RTTd(1)+Beta*{ RTTs(1)- RT(2)}=0.75*3/4+{1.5-2.5}/4=13/16 RTO(2)=RTTs(1)+4RTTd(2)=1.5+4*13/16=4.75s
书后面有答案啊傻孩子
根据RTO(2)=RTTs(1)+4RTTd(2)=1.5+4*13/16=4.75s得出ASDF1(26)=ASRSCHI+ASD1W(81)+4.99*2541/TAN∠²121³ACW.
上FOXY找丫
第一题过后: RTTD = 0.75RTTS = 1.5------------------------第二题:RTTS = (1-0.125) * 1.5 + 0.125 * 2.5 = 1.3125+0.3125 = 1.625RTTD = (1-0.25) * 0.75 + 0.25 * (2.5-1.625) = 0.5625 + 0.21875 = 0.78125 RTO = RTTS + RTTD*4 = 4.75

TCP/IP详解卷一 ——tcp
即使端口处于2MSL状态,使用该选项,仍然能够在该端口建立连接。服务器常会设置该选项,以防服务器重启。如果在TIME_WAIT时间内,收到了对端发送来的数据报(不是重置报文段都行),那么该状态将被破坏,称为时间等待错误。原因是,当收到报文段以后,通常Seq是旧的,所以本端就会发送ACK,对端已经关闭或者是别的连接,就会发送RST,导致TIME_WAIT状态被破坏。但是许多系统规定,TIME_WAIT状态是不对重置报文段做出反应。两端同时发送FIN,两端又同时ACK。又同时进入TIME_WAIT当处于TIME_WAIT的主机崩溃以后,重启,然后需要等待相当与一个MSL的时间才能建立新的连接。这段时间成为静默时间。当一段发现到达的报文段对相关连接(也就是进程,套接字对)而言不正确的时候,TCP就会发送一个重置报文段,从而导致对端的连接快速拆卸(也就是结束吧!)。重置报文段的ACK位必须有,而且ACK的值必须在正确的窗口范围内,这样可以防止被攻击。FIN正常关闭一条连接成为有序释放,通常不会出现丢失数据的情况。重置报文段终止一条连接成为终止释放。重置报文段在任何时候都可以发送,代替FIN来终止连接,且不学校对端ACK终止报文段特性:当该数值设置为0,那么也意味着,不会再连接终止之前为了确保本端缓存中的数据都发送出去而等待。TCP在发送数据时会设置计时器,如果计时器超时认为受到数据确认信息,就会引发相应的超时,或给予计时器的重传操作,计时器超时时成为重传超时(RTO)。TCP累计确认无法返回新的ACK,或者当ACK包含选择确认信息(SACK)时,表明出现书序数据报,空洞。就会引起快速重传。若RTO短与RTT,那么没分都会重传,反之,整个网络利用率就会随之下降。RTT样本:TCP在收到数据后会返回确认信息ACK,该信息中携带一个字节的数据,测量传输该确认需要的时间,该测量结果成为RTT样本。每个连接的RTT军独立计算。如何根据RTT来设置RTO,有如下的方法公式: SRTT=a*SRTT+(1-a)RTT ,a取 0.8-0.9 。当TCP运行在RTT变化较大的网络中,无法取得期望的结果。以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补因为丢失ACK,或者实际RTT显著增长,可能出现伪超时的现象。以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补每个包可以选择各自的传送路径。某些高级路由器的采用多个并行数据链路,不同的处理演示也会导致包的离开顺序和到达顺序不匹配包的失序会造成重传,很近单嘛,前面一个小号的Seq没到达,后面的先到达,那么ACK就会 重复当TCP超时重发是,循序执行重新租宝,发送送一个更大的报文段提高性能,不超过MSS和MTU。出现在每次传送的包较小,又丢包的情况每个交互键通常会生成一个单独的数据报,也就是每个按键是独立传输的。ssh调用一个shell,对客户端输入的字符做出辉县,因此,每个字符生成4个tcp数据段,客户端的交互按键输入,服务器对按键的ACK,服务器生成的辉县,客户端对回显的ACK。通常第二段和第三段合并,成为捎带延时确认。PSH位设置,意味着发送端的缓存为空,也就是没什么可以发送了。许多情况下,TCP并不是对每个到来的包都单独的ACK,利用累计ACK可以确认之前的ACK。累计确认可以允许TCP延时一段时间发送ACK,以便将ACK和相同方向上需要传输的数据结合发。这种捎带传输的方法常用于批量数据传输。不能任意的延迟ACK,会造成重传。同时当失序发生时,必须立刻传送ACK。系统可以设置,一般延时为200-600毫秒。该算法要求,当TCP连接中有在传数据(那些已发送,但是未确认的数据)时,小的报文段就不能被发送,知道所有的数据都受到ACK。并且受到ACK后,TCP收集这些小的数据,整合到一个报文段中发送。这种方法破事TCP遵循等停规程,只有收到所有传送数据的ACK后才能继续发送新数据。该算法的不同之处在于他实现了自时钟控制,ACK返回越快,传输也越快。在相对高延迟的广域网中,更需要减小小报文的数目,该算法使得单位时间内发送的报文数目更少,RTT控制发包速率。该算法减少小包数目的同时,也增大了传输时延,也就是总的发送时间。窗口大小表明本端可用缓存大小,对端传送的数据不应该超过改大小。也表明对端发送的数据的最大大小为TCP头部ACK号和窗口大小字段之和。也就是Seq = ACK+MSSTCP活动的两端都维护一个发送窗口结构和接受窗口结构。TCP以字节为单位维护窗口结构。每个TCP报文段都包含ACK号和窗口通告信息,TCP发送端可以据此调节窗口结构。窗口左边界不能左移。窗口的动作分为,关闭(收到ACK,左边右移),打开(MSS扩大,右边右移),收缩(MSS减小,右边左移)当收到ACK号增大,而MSS不变时窗口向前滑动当当左边界与右边界相等时,成为零窗口,此时发送端不能在发送新的数据,这种情况下,TCP开始探测对端窗口,伺机增大窗口。当接受窗口值变为0是,可以邮箱的组织发送端继续发送,知道窗口大小回复为非0值。当接收端窗口得到可用空间是,就会给发送端传输一个窗口更新,告知器可以继续发送数据,这样的这样的窗口更新通常不包含数据,成为纯ACK,因此不能保证传输的可靠性。如果一端的窗口更新ACK丢失,通信双方就会处于等待状态。为避免这种情况发生。发送端会采用一个持续计时器间歇性的查询接收端,看其窗口是否已经增长。持续计时器会触发窗口探测的传输,强制要求对端返回ACK。窗口探测包包含一个字节数据,采用TCP传输,因此可以避免窗口更新丢失导致的死锁。因为包含一个字节数据Seq改变,接受端必须处理,如果接受就会ACK。窗口大小还是0,那么就会丢弃该报,没有响应。这时候发送端会持续的发送窗口探测包。当接收端通告窗口较小,或者发送端发送的数据较小。这样数据报的有效携带率小,耗费网络资源多。避免方法以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补以后再补

TCP 计时器
为了顺利完成TCP的操作,大多数TCP使用了至少4种计时器 重传计时器(Retransmession),持久计时器(Persistance),保活计时器(keep-alive)及时间等待(time-wait)还是图形比较鲜明,一目了然重传计时器为了防止数据报丢失,当TCP发送一个报文时,就启动重传计时器,有2种情况:1.若在计时器超时之前收到了特定报文的确认,则撤消这个计时器;2.特定数据报在计时器超时前没有收到确认,则重传该数据报,并把计时器复位关于计时器超时计算要计算重传超时时间(RTO),首先需要知道往返时间(RTT-round trip time),计算RTT比较复杂需要用到的几个变量测量的RTT 即发送一个数据报都收到对它的确认所需时间,记为MRTT(TCP在任何时刻只能对一个RTT测量)平滑的RTT(Smoothed RTT) 因为RTT对不同的往返有不同的数值,而且其起伏比较大,以致不能为重传超时做标准,所以需要平滑的RTT,记为SRTT它对和前一个SRTT加权平均如下所示:最初-->没有数值第一次测试后 -->SRTT=MRTT其他任意次测试-->SRTT=(1-α)SRTT+α*MRTTα取值与现实无关,通常为1/8,即新的SRTT是7/8的旧SRTT和1/8的新的MRTT的和RTT的偏差大多数现实不仅使用SRTT,还计算RTT的偏差,记为DRTT,是基于SRTT和MRTT使用如下关系计算:最初 -->没有数值第一次测量后-->DRTT=MRTT/2其他任意次测量后-->DRTT=(1-β)DRTT+β*|SRTT-MRTT|β通常为1/4重传超时(RTO)RTO的数值基于平滑的往返时间及其偏差,大多数使用下面的公式:最初-->初始值在任意次测试后 -->RTO=SRTT+4*DRTTKarn算法假如一个报文在传输期间没有被确认,因而有重传当发送端收到对这个报文的确认时,它就无法知道该确认是对原来报文的确认,还是对重传报文的确认新的RTT值要根据发送去时的时间来计算,即对于重传报文的计算要从重传报文发出时计时Karn算法的解决方法是在计算新的RTT时不考虑重传报文的RTT指数退避在发生重传现象时,那其RTO是多少?大多数TCP使用指数退避策略每产生一次重传,其RTO值就加倍持久计时器前面在流量控制篇提到死锁现象要解开死锁,TCP为每一个连接使用一个持久计时器当发送端TCP接收到rwnd=0的确认时,就启动持久计时器,当计时器截止时间到时,发送端TCP需要发送一个特殊的报文,叫做探测报文该报文只有1字节,有序号,但无需确认探测报文提醒接收端TCP:确认已丢失,必须重传持久计时器截止时间设置为重传时间的数值,但是,如果没有收到从接收端回来的响应,则需要发送另外一个探测报文,并将持久计时器的值加倍和复位如果结果和上面一样,发送端继续发送探测报文,直到其截止时间增大到阈值(通常为60s)为止在这以后,发送端每60s发送一个探测报文,直到窗口重新打开保活计时器在某些实现中要使用keeplive timer来防止两个TCP之间出现长时间的空闲比如客户端打开了服务器端的连接,传送了一些数据,然后就保持静默了也许该客户端除了故障,在这种情况下,这个连接就永远处于打开状态保活计时器的解决方法为,当服务器端收到客户端的信息时,就把计时器复位,超时通常设置2小时若服务器2小时还没有收到客户的信息,就发送探测报文若发送10个同样的报文(每个相隔75s)还没有收到响应,就认为客户端出了故障,终止这个连接TIME-WAIT计时器Time-wait(2MSL)计时器在终止连接时使用,在前面的状态转换篇曾在图中出现过设置该计时器的主要目的有:1.如果最后一个ACK报文丢失了,那么服务器TCP(它为最后的FIN设置了计时器)以为它的FIN丢失了,因而重传如果客户端进入了closed状态,并在2MSL计时器超时之前就关闭了这个连接,那么它就永远无法收到这个重传的FIN报文,因而服务器端也就无法收到ACK,服务器就不能关闭这个连接2MSL计时器可以使客户端等待足够长的时间,使得当ACK丢失了(一个MSL),可以等到下一个FIN的到来(另一个MSL)如果在TIME-WAIT状态时一个新的FIN到达了,客户端就发送一个ACK,并重新启动这个2MSL计时器2.从一个连接发来的重复报文可能会在下一个连接中出现假定客户和服务器已关闭这个连接,经过短暂时间又使用相同套接字打开一个连接这样的新连接叫久连接的化身(incarnation)那么前一个连接的报文可能会到达新的连接中,同时被解释为新连接的报文 为了避免这个问题,TCP规定这个化身必须经过2MSL以后才出现

关于TCP 往返时间的 计算题 考试在线高分求解!
为了顺利完成TCP的操作,大多数TCP使用了至少4种计时器 重传计时器(Retransmession),持久计时器(Persistance),保活计时器(keep-alive)及时间等待(time-wait)还是图形比较鲜明,一目了然重传计时器为了防止数据报丢失,当TCP发送一个报文时,就启动重传计时器,有2种情况:1.若在计时器超时之前收到了特定报文的确认,则撤消这个计时器;2.特定数据报在计时器超时前没有收到确认,则重传该数据报,并把计时器复位关于计时器超时计算要计算重传超时时间(RTO),首先需要知道往返时间(RTT-round trip time),计算RTT比较复杂需要用到的几个变量测量的RTT 即发送一个数据报都收到对它的确认所需时间,记为MRTT(TCP在任何时刻只能对一个RTT测量)平滑的RTT(Smoothed RTT) 因为RTT对不同的往返有不同的数值,而且其起伏比较大,以致不能为重传超时做标准,所以需要平滑的RTT,记为SRTT它对和前一个SRTT加权平均如下所示:最初-->没有数值第一次测试后 -->SRTT=MRTT其他任意次测试-->SRTT=(1-α)SRTT+α*MRTTα取值与现实无关,通常为1/8,即新的SRTT是7/8的旧SRTT和1/8的新的MRTT的和RTT的偏差大多数现实不仅使用SRTT,还计算RTT的偏差,记为DRTT,是基于SRTT和MRTT使用如下关系计算:最初 -->没有数值第一次测量后-->DRTT=MRTT/2其他任意次测量后-->DRTT=(1-β)DRTT+β*|SRTT-MRTT|β通常为1/4重传超时(RTO)RTO的数值基于平滑的往返时间及其偏差,大多数使用下面的公式:最初-->初始值在任意次测试后 -->RTO=SRTT+4*DRTTTCP最大窗口的含义就是一个争用期内允许发送的最大数据 最大吞吐量=65535B/20ms=3.27675MBps
你上网搜索下应该有吧。。 TCP最大窗口的含义就是一个争用期内允许发送的最大数据 最大吞吐量=65535B/20ms=3.27675MBps

TCP建立连接时,(1)发送方第一次发送数据到收到对方确认的RTT样本值为4s,试计算超时重传时间?
数据传输举例 TCP数据传输发送方首先发送第一个包含序列号为1(可变化)和1460字节数据的TCP报文段给接收方。接收方以一个没有数据的TCP报文段来回复(只含报头)...

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/45561.html。