cnp3 / ebook

Third edition of the Computer Networking: Principles, Protocols and Practice ebook
https://www.computer-networking.info
112 stars 41 forks source link

Ambiguous use of the Maximum Segment Lifetime #135

Open leonardomaccari opened 1 year ago

leonardomaccari commented 1 year ago

MSL is defined at the section 2.4.2 referring to the clock of fig. 43. In the discussion about data transfer it is used mentioning its role in avoiding duplicates (end of the paragraph after the two figures without number) and saying that sequence numbers should not wrap up before MSL. Then in the example referring to figure 50 it seems the sequence number wraps up before MSL, and in the text commenting that example, MSL is defined again.

Besides the repetition, the relationship between fig. 43 and 44 is not really clear. The key point is that the timer makes it so that seq. number is not reset after a reboot, or it could conflict with a previously used one, but this is not explicitly mentioned. Only the second bullet mentions reboot but it is not straightforward to relate.

Finally, I would add a note that says that using predictable initial sequence numbers has security consequences and that randomness must be introduced, referencing to sect. 3.12.

leonardomaccari commented 1 year ago

Also, fig. 50 is not really clear to me. Is it assuming a 2-bit sequence number? it wraps up at 3?