TCP A TCP B
1. CLOSED LISTEN
2. SYN-SENT --> <SEQ=100><CTL=SYN> --> SYN-RECEIVED
3. ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
4. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK> --> ESTABLISHED
5. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK><DATA> --> ESTABLISHED
个人理解:
客户端发出 SYN 请求同步 seq 号
服务器收到 SYN,承认此次 SYN,表现为返回 ACK,并且服务器也要与客户端同步 seq,因此也要带上 SYN
客户端收到 SYN+ACK,此时客户端已经算是建立连接,但是仍然要向服务器发送 ACK 表示客户端承认服务器的 seq
参考文章: