Saturday, March 2, 2019

Wendell Odom's OCG and TCP Retransmission logic

I've grabbed Wendell Odom's CCNA book set to begin studying for the CCNA and I'm a bit confused about how he explains how the TCP retransmission system works.

Figure 1-7 shows web server Larry sending a web page to web browser Bob, using three

separate messages. Note that this figure shows the same HTTP headers as Figure 1-6, but

it also shows a TCP header. The TCP header shows a sequence number (SEQ) with each

message. In this example, the network has a problem, and the network fails to deliver the

TCP message (called a segment) with sequence number 2. When Bob receives messages

with sequence numbers 1 and 3, but does not receive a message with sequence number 2,

Bob realizes that message 2 was lost. That realization by Bob’s TCP logic causes Bob to

send a TCP segment back to Larry, asking Larry to send message 2 again.

First of all he lists the sequence numbers as sequential integers, but I'm guessing he's doing that to simplify things since it's so early in the book? Because it's my understanding that TCP sequence numbers don't work that way at all. But my real confusion comes in where he explains that the client notices it gets segment 3 before it gets segment 2, and the client explicitly requests the specific segment it thinks it's missing. Isn't TCP retransmission logic all based on the sender's side, based on ack timeout? And wouldn't receiving segments out of order happen naturally occasionally anyway?

This book comes highly recommended practically everywhere, so is there just something I'm missing here? I've looked around to find a case where TCP works the way he explains it, but all I can find is to the contrary. This is the newest edition of this book, that was release after they updated the CCNA.



No comments:

Post a Comment