TCP有两种独立机制来完成重传,一:基于时间,二:基于确认信息的构成,第二种方法通常更高效
对于接受端,道道序列号小于做窗口边界,被认为事重复数据而丢弃,超过右边界的则超出处理范围,也被丢弃。
TCP是靠确认应答(ACK)来实现可靠数据传输。发送到发送数据给对方,服务器收到后会回复ACK,当发送端收到ACK以后,则认为数据正常发送到对方了,正确的模型
一:数据丢包,在一定时间内发送到没有得到确认应答,发送到认为数据已经丢失,进行重发。
二:确认应答丢失,发送端在特定时间内没有等到确认应答,其实这个时候数据已经发送过去了,只不过ACK在返回途中丢失了,这个时候,发送端会重新发送数据,但是由于接收端已经接收到数据了,所以会丢弃接受的相同数据
四:TCP以段为单位发送数据
TCP在传送大量数据时,以MSS的大小将数据进行分割发送,重发时也是以MSS为单位。
MSS在三次握手的时候,在两端主机之间计算出来的,两端主机在发送建立连接的时候,会在TCP首部中写入MSS,告诉对方自己能够接受的MSS的大小,会在两者中选择一个小的值进行使用