TCP (Transmission Control Protocol,传输控制协议),该协议在IP提供的不可靠数据服务的基础上为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。
TCP是如何实现可靠性的呢?最主要和最重要的是TCP采用了重发技术。具体来说,在TCP传输过程中,发送方启动一个定时器,然后将数据包发出,当接收方收到了这个信息时就给发送方一个确认信息。如果发送方在定时器到点之前没有收到这个确认信息,就重新发送这个数据包。
利用TCP在源主机和目的主机之间建立和关闭连接操作时,均需要通过三次握手来确认建立和关闭是否成功。三次握手通过“序号/确认号”使得系统正常工作,从而使它们的序号达成同步。TCP建立连接的三次握手过程如下。
(1)源主机发送一个SYN (同步)标志位为1的TCP数据包,表示想与目标主机进行通信,并发送一个同步序列号(如SEQ=200)进行同步。
(2)目标主机同意进行通信,则响应一个确认(ACK位置1),并以下一个序列号为参考进行确认(如201)。
(3)源主机以确认来响应目标主机的TCP包,这个确认中包括它想要接收的下一个序列号(该帧可以含有发送的数据)。至此连接建立完成。
同样,关闭连接也要进行三次握手。
另外,基于TCP协议的常见应用层协议包括:Telnet协议、FTP协议、SMTP协议、POP3协议、HTTP协议以及HTTPS协议等。