当 TCP 客户端想要与 tcp 服务器建立 tcp 连接时,它需要发送 SYN 然后 ACK 而 tcp 服务器只发送 SYN/ACK 所以它们是不同的
但是,在3次握手之后,这个连接是不是对称的,即TCP客户端和服务器是否处于平等状态,例如,在3次握手之后,通常是客户端先发送数据包,TCP服务器可以先发送数据包吗?
当 TCP 客户端想要与 tcp 服务器建立 tcp 连接时,它需要发送 SYN 然后 ACK 而 tcp 服务器只发送 SYN/ACK 所以它们是不同的
但是,在3次握手之后,这个连接是不是对称的,即TCP客户端和服务器是否处于平等状态,例如,在3次握手之后,通常是客户端先发送数据包,TCP服务器可以先发送数据包吗?
连接建立后,两端确实是“对称的”。谁先发送由底层协议决定,并且在它们之间有所不同。
例如,HTTP 以GET <path> HTTP/1.0
命令开头,而其他协议让服务器先给出问候语,然后客户端才发送其请求。
所以一般来说,两端都可以先发送他们的东西。
不,这个过程根本没有什么不同,但是服务器不是在两个不同的数据包中发送一个 SYN 然后一个 ACK,而是通过一个数据包发送它们来连接它们!
另一方面,请始终记住客户端/服务器命名是相对的。服务器是保持监听模式的一方,而客户端是发起连接的一方……连接
建立后,双方是等价的(和你说的一样的状态:ESTABLISHED)。因此,两者都可以发送 FIN 语句来关闭连接......