TCP超时和重传的简单介绍

本人刚学不久水平有限,如有错误,万望指出。

1.TCP为什么需要超时和重传
这是因为TCP协议是一种可靠数据传输服务,而实现这一点的正是TCP的超时和重传功能。
也是因为网络层和链路层不实现可靠数据传输服务,只能依靠传输层或应用层来实现可靠数据传输服务。

2.超时重传和快速重传
TCP在发送数据时会设置一个计时器,如果计时器超时ACK报文仍未到达,则会引发超时或基于计时器的重传操作,这种因为计时器超时而引起的重传叫作超时重传(RTO)。
如果TCP累积确认无法返回新的ACK,或者当ACK包含的选择确认信息(SACK)表明出现失序报文时,就会引发快速重传。

3.超时重传(RTO)的设置
首先介绍一下往返时间(RTT),因为RTO是受RTT所影响的,它的释义是发送端发送数据到接收端的时间、接收端处理数据的时间和确认时间到达接收端的时间之和。
TCP超时和重传的基础是根据RTT设置RTO。为何要跟据RTT设置RTO呢?因为如果RTO先于RTT,可能导致大量的重传,而如果RTO远慢于RTT的话,那么整个网络的利用率会随之而下降(造成不必要的浪费)。
然后随之而来的问题是RTT测量的复杂,因为根据路由和网络资源的不同,RTT会随时间而变化(比如因为某条线路故障导致路由发生改变,进而使RTT发生变化)。这里我只介绍一下带时间戳选项的RTT测量,因为带时间戳选项的RTT测量可以轻松解决重传二义性问题。
带时间戳选项的RTT测量。测量RTT还有一项必要的东西——TCP时钟,它在测量RTT的过程中,始终运行。带时间戳选项的RTT测量是这样运行的,发送端在发送数据时将自己当前的TCP时钟的值放在时间戳数值字段(TSV)中,然后接收端在返回ACK时会将发送端发来的数据中的TSV放到时间戳会显重试字段(TSET)中࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值