Skip to content

关于本章

本章讨论TCP connection相关的内容。

What is TCP connection?

首先搞清楚TCP connection的本质。

在 wikipedia Transmission Control Protocol#Network_function 中已经描述了TCP connection的本质:

At the transport layer, TCP handles all handshaking and transmission details and presents an abstraction of the network connection to the application typically through a network socket interface.

它描述了TCP connecting的本质,可以认为TCP network connection is an abstraction、

在 zhihu TCP连接是什么? # 陶辉的回答 中描述的更加明确:

两台PC机器上有两个进程,通过2个端口逻辑上建立了通道。由于网络上消息是可以丢失的,可以无序的,可以多次重传的,所以这个通道的必要性就出现了:它确保消息是有序的、不会丢失的。而且TCP含有流量控制,防止瞬间网络风暴引发恶性循环。

而TCP连接纯粹是**虚拟**的,它只存在于两台**主机**间,网络中的路由器、交换机并不知情。

在 coolshell TCP 的那些事儿(上) # TCP的状态机 :

其实,网络上的传输是没有连接的,包括TCP也是一样的。而TCP所谓的“连接”,其实只不过是在通讯的双方维护一个“连接状态”,让它看上去好像有连接一样。所以,TCP的状态变换是非常重要的。