TCP,全称为Transmission Control Protocol,即 传输控制协议,是 TCP/IP协议族中一个最核心的协议。它向下使用网络层IP协议,向上为应用层HTTP、FTP、SMTP、POP3、SSH、Telnet等协议提供支持。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,由国际互联网工程任务组(IETF)的RFC 793定义。在简化的计算机网络OSI模型中,它完成传输层所指定的功能。
TCP的主要特点包括:
面向连接:
在数据传输之前,TCP需要通过三次握手建立一个可靠的连接。
可靠性:
TCP通过序列号、确认应答、重传机制等手段确保数据的可靠传输。
基于字节流:
TCP将数据视为无结构的字节流,接收方无法知道一条信息的结束和下一条信息的开始,因此发送方必须确定信息的结构让接收方能够识别。
全双工通信:
TCP允许同时进行数据的发送和接收。
流量控制:
TCP通过滑动窗口机制进行流量控制,防止接收方被发送方的数据淹没。
拥塞控制:
TCP通过拥塞窗口机制进行拥塞控制,避免网络拥塞。
TCP适用于需要高可靠性和顺序保证的应用,如文件传输、电子邮件、网页浏览等。与UDP相比,TCP的缺点是相对较慢和开销较大,但在需要可靠传输的场景下,这些缺点是可以接受的。