TCP是一种面向连接的字节流服务,也就是说需要依靠TCP来通信的双方必须事先建立连接,并且只能是一对一的连接,就像打电话一样。
TCP服务主要利用以下的一些方式来保证可靠性:
1、报文段
应用层提交给TCP的数据,将会被分割成TCP认为最合适大小的数据块(报文段)后,再交给IP层。
2、超时重传
TCP每发送出一个报文段后,都会启动一个定时器,对目的端传回的确认信息进行确认计时,超时后便重传。
3、确认信号
当TCP收到一个来自TCP的报文段后,便会发送回一个确认信号。
4、检验和
TCP将始终保持首部和数据的检验和,如果收到的报文段的检验和有差错,便将其丢弃,希望发送端超时重传。
5、重新排序
由于IP数据报的达到可能失序,因此TCP将会数据进行重新排序,以正确的顺序交给应用层。
6、丢弃重复
由于IP数据报有可能重复,因此TCP将会丢弃重复的数据。
7、流量控制
TCP连接的两端都有固定大小的缓冲区空间,TCP接受端只允许对端发送本端缓冲区能容纳的数据。