TCP,全称为Transmission Control Protocol,即 传输控制协议,是一种 面向连接的、可靠的、基于字节流的传输层通信协议。它由国际互联网工程任务组(IETF)的RFC 793定义,并在Internet协议(IP)之上工作,为应用层提供数据传输服务。
TCP协议的主要特点包括:
面向连接:
在数据传输之前,TCP需要先建立连接,数据传输结束后需要释放连接。这个过程涉及三次握手和四次挥手。
可靠性:
TCP通过序列号、确认应答、重传机制、校验和等手段来保证数据的可靠传输,确保数据能够完整、有序地到达目标主机。
基于字节流:
TCP将应用程序发送的数据视为无结构的字节流,接收方无法预先知道数据的边界,因此发送方需要确保数据的结构能够让接收方识别。
拥塞控制:
TCP具有拥塞控制机制,能够在网络拥塞时调整发送速率,避免过多的数据包丢失,从而提高网络的整体性能。
多路复用:
TCP连接上的数据可以来自多个应用程序,每个应用程序通过不同的端口号进行区分。
TCP协议广泛应用于各种Internet应用程序,如FTP(文件传输协议)、HTTP(超文本传输协议)、SMTP(简单邮件传输协议)等,是Internet通信的基石之一。