TCP中的重传概念

TCP中的重传概念

问题描述:

服务器向客户端发送数据,但客户端未发送数据ACK。所以一旦RTT完成,服务器将重新发送数据给客户端......就像它会尝试发送数据多长时间一样?服务器将尝试将数据发送到客户端的最长时间是多少?TCP中的重传概念

TCP使用指数回退,这意味着它使每次未确认的重新传输之间的时间加倍。一旦达到最大阈值,连接就会关闭。此限制因系统而异,但通常在2 and 9 minutes之间。

为了提供发送数据的基本可靠性,每个设备的TCP实现都使用重发队列。每个发送的段都放在队列中,并为其启动一个重传计时器。当收到段中数据的确认时,它将从重发队列中删除。如果定时器在接收到确认之前关闭,则重新传输段并重新启动定时器。

+0

谢谢,什么是计时器的价值?如果你有链接与我分享 – Bharathi

+0

@Bharathi你想设置重发定时器的值稍微大于两个TCP设备之间的往返时间,也就是说,发送段的典型时间从客户端到服务器,服务器向客户端发送确认(反之亦然)。问题在于,由于连接距离和瞬态延迟的差异,没有这种“典型”的往返时间。 – DJO

+0

那么如果我们没有收到客户端的ACK,它会尝试重新传输多少时间? – Bharathi