1

From RFC 793:

To be sure that a TCP does not create a segment that carries a sequence number which may be duplicated by an old segment remaining in the network, the TCP must keep quiet for a maximum segment lifetime (MSL) before assigning any sequence numbers upon starting up or recovering from a crash in which memory of sequence numbers in use was lost. For this specification the MSL is taken to be 2 minutes.

Seems contradicting what RFC 791 states:

Network delays are incurred in other ways, e.g., satellite links, which can add seconds of delay even though the Time to Live (TTL) is not decremented by a corresponding amount. There is thus no enforcement mechanism to ensure that datagrams older than 120 seconds are discarded.

I understand that MSL and TTL are used for different purposes reading this.

Provided that TCP segments are forwarded between routers as IP packets (considering no fragmentation for the sake of easier understanding), and IP packets have a Time To Live (TTL) field that works as a hop count and from RFC 791 seems like that is not time-related, how can routers in the network or TCP entities check that MSL is expired and therefore discard the segment?

2

They don't. The MSL is an assumption. We assume that no segment takes more than 2 minutes to be delivered, and therefore it is safe to reuse a segment number if we wait for 2 minutes or more.

4
  • I think I am missing something... What kind of safety comes from an arbitrary assumption? Is it assumed that after 2 minutes the segment will be delivered or discarded by some other way? If not, what stops an obsolete segment from reappearing back to the sender after being in the network for 5 minutes? – giuliotal Jan 26 at 19:57
  • @GiulioTalarico why would it be in the network for 5 minutes? – user253751 Jan 26 at 19:57
  • Hypothetically some kind of bottleneck. Why not? My question is how can the sender be sure that an obsolete segment won't interfere after MSL? – giuliotal Jan 26 at 20:02
  • @GiulioTalarico if an obsolete segment interferes with MSL then the sender calls up the network admin's boss and demands to know why the network is delaying packets for 5 minutes. That's how he knows. Do you know what "assumption" means? – user253751 Jan 26 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.