The final ACK confirms the server's SYN and completes the ordering. The full timeline shows both endpoints reaching ESTABLISHED with exact sequence and acknowledgment numbers.

highlighted = computed this step

Why the last ACK completes the setup

The final ACK confirms that the client saw the server's sequence number. After this ordered exchange, both lanes are established.

serverĀ ack=3001\text{server ack}=3001
Full handshakeA TCP handshake timeline recomputed from exact sequence and acknowledgment numbers.Full handshakeClientCLOSEDSYN-SENTESTABLISHEDServerLISTENSYN-RECEIVEDESTABLISHEDSYN seq=1000 SYNSYN-ACK seq=3000 ack=1001 SYN, ACKACK seq=1001 ack=3001 ACK

The client's next sequence number

The client already used SYN at 1000, so its final ACK carries sequence number 1001.

1000+1=10011000+1=1001
Full handshakeA TCP handshake timeline recomputed from exact sequence and acknowledgment numbers.Full handshakeClientCLOSEDSYN-SENTESTABLISHEDServerLISTENSYN-RECEIVEDESTABLISHEDSYN seq=1000 SYNSYN-ACK seq=3000 ack=1001 SYN, ACKACK seq=1001 ack=3001 ACK

Acknowledging the server SYN

The server SYN used sequence number 3000. The client acknowledges 3001, which is one past that server number.

3000+1=30013000+1=3001
Full handshakeA TCP handshake timeline recomputed from exact sequence and acknowledgment numbers.Full handshakeClientCLOSEDSYN-SENTESTABLISHEDServerLISTENSYN-RECEIVEDESTABLISHEDSYN seq=1000 SYNSYN-ACK seq=3000 ack=1001 SYN, ACKACK seq=1001 ack=3001 ACK

Both sides are established

The timeline now has SYN, SYN-ACK, and ACK in order. The states reach ESTABLISHED on both lanes.

messages=3\text{messages}=3
Full handshakeA TCP handshake timeline recomputed from exact sequence and acknowledgment numbers.Full handshakeClientCLOSEDSYN-SENTESTABLISHEDServerLISTENSYN-RECEIVEDESTABLISHEDSYN seq=1000 SYNSYN-ACK seq=3000 ack=1001 SYN, ACKACK seq=1001 ack=3001 ACK

Summary

The full handshake pins both initial sequence numbers and both acknowledgments. Connection setup ordering and exact sequence numbers only; timing, retransmission, and round-trip time are not modeled here.

acks=1001,3001\text{acks}=1001,3001
Full handshakeA TCP handshake timeline recomputed from exact sequence and acknowledgment numbers.Full handshakeClientCLOSEDSYN-SENTESTABLISHEDServerLISTENSYN-RECEIVEDESTABLISHEDSYN seq=1000 SYNSYN-ACK seq=3000 ack=1001 SYN, ACKACK seq=1001 ack=3001 ACK