TCP Handshake Sequence

Comments
Step 2
- ACK=1 increased (from 0 to 1) because of SYN=1 in Step 1.
Step 3
- SEQ=1 because of ACK=1 in Step 2
- ACK=1 increased (from 0 to 1) because of SYN=1 in Step 2
Step 4
- ACK=1, SEQ=1 remain the same because no additional data has been yet exchanged.
- Client sends 76 bytes of data to the server.
Step 5
- ACK=77 because server received 76 bytes of data
- Client's next sequence number will be SEQ=77
- SEQ=1 remains the same because ACK=1 in Step 2
Step 6
- For the first time server sends us non-zero length segment (264 bytes)
- ACK=77 remains the same because LEN=0 in step 5
- SEQ=1 because of SEQ=1 in Step 5
Step 7
- SEQ=77 because of ACK=77 in Step 6
- ACK=265 because we received 264 bytes of data
Step 8
- Client initiates closing down the TCP connection
- ACK=77 and SEQ=265 passes unchanged because LEN=0 in step 7
Step 9
- SEQ=265 because ACK=265 in Step 8
- ACK=78, increased by one because of FIN=1 and LEN=0 in Step 8
Step 10
- SEQ=78 because of ACK=78 in Step 9
- ACK=266, increased by one because of FIN=1 and LEN=0 in step 9