什么是 TCP?
首先来说 TCP(Transmission Control Protocol,传输控制协议)是一个面向连接的、可靠的、基于字节流的传输层协议。从它的概念中我们可以看出 TCP 的三个特点:面向连接、可靠性和面向字节流。
面向连接:是指 TCP 是面向客户端和服务器端连接的通讯协议,使用它可以将客户端和服务器端进行连接。
可靠性:是指无论网络环境多差,TCP 都可以保证信息一定能够传递到接收端。
TCP 之所以可以保证可靠性主要得益于两个方面,一个是“状态性”,另一个是“可控制性”。所谓状态性是指 TCP 会记录信息的发送状态,例如,哪些数据收到了、哪些数据没收到等状态信息都会被记录;可控制性是指 TCP 会根据状态情况控制自己的行为,比如当 TCP 意识到丢包了就会控制重发此包,这样就实现了 TCP 的可靠性。
面向字节流:是指 TCP 是以字节流的方式进行数据传输的。
小贴士:TCP 之所以被广泛应用,首先是因为它是一个标准化的协议,TCP 的标准协议就是由 RFC 793 定义的,它已经有了 30 多年的历史,并且已经被多次更新。RFC(Request For Comments)是 IETF(Internet Engineering Task Force)的正式文档。IETF 是一家制定互联网标准的组织,它制定了 Internet(互联网)的整体协议体系,凡是经过 IETF 评审认可的标准都会被发布为带编号的 RFC 的文档。
TCP 定义的大致意思