In the Figure 24.13 of Data Communications and Networking, 5/e the first ACK message from the server holds y-1 in it's Sequence no. field. Note that the first FIN message from the client message had y in it's Acknowledgement no. field. So shouldn't the first ACK message from the server be holding y in it's Sequence no. field instead of holding y-1? Is the diagram faulty or is there a reason behind it?
Asked
Active
Viewed 214 times
3
Caleb Stanford
- 7,298
- 2
- 29
- 50
Argon
- 103
- 6
1 Answers
1
The FIN segment consumes 1 sequence number as it does not carry data. ACK does not consume a sequence number. The FIN segment is sent by the client process. The server process receives a FIN segment but does not send a FIN segment as the connection is not closed, since it is a half-close process. Server process send only an ACK segment to acknowledge receipt of FIN segment from the client. Hence, the sequence number decreases by 1 and becomes $y-1$.
Contrast this with the Three way handshaking, where the sequence number is $y$ because in that process, the server sends a ACK segment as it acknowledges receipt of FIN segment from the client and sends a FIN segment as it terminates the connection.
Shashank V M
- 409
- 3
- 24
