保证TCP数据传输可靠性的方法,TCP协议是面向连接的协议,也就是说,TCP协议是可靠的数据传输协议。
TCP协议提供UDP协议所无法提供的数据传输可靠性操作。当使用TCP协议传输数据时,数据的发送方按数据的顺序号发送数据包,并且在得到数据接收方对数据的接收确认之前,发送方不会发送下一个顺序的数据包。如果在规定时间内发送方没有得到接收方关于收到某个数据包的确认,发送方会重新传送该数据包。数据包的发送和确认过程如图1所示。
图1 TCP协议的数据传输
如图1所示,当主机A和主机B通过TCP连接进行数据传输时,假设主机A向主机B发出的数据包的顺序号是10;主机B收到10号包之后,会向主机A发出确认号为11的确认包,表示主机B希望得到第11号数据包,也就是说它已经收到了第10号数据包;主机A收到该确认之后,会向主机B发送第11号数据包。
如果主机B没有收到10号数据包,或者主机B的确认包由于某种原因没有到达主机A,主机A认为主机B没有收到该数据包,主机A会向主机B重新传送10号数据包。