994 views
3 votes
3 votes
It is known that any network can only transmit data packet size equal to (or less than) MTU allowed in the network. If that is the case, and if we have a Path MTU discovery in place, why is there is need for MSS in TCP layer. Why does it not simply discover path MTU and set it to MSS, as after all that is what can really be transmitted at once ?

Setting MSS different (read larger) than MTU, will only burden Network Layer with fragmentation overhead.

Is there any significant advantage of using MSS ?

1 Answer

3 votes
3 votes

Let me try this,
How does Path Discovery work?
A host performs Path MTU Discovery by sending out as large a packet as possible, with the Don't Fragment (DF) bit set in the IP header. If the packet is too large for a router to forward on to a particular link, the router must send an ICMP Destination Unreachable -- Fragmentation Needed message to the source address. The host then adjusts the packet size based on the ICMP message. (ref here)

1. What will happen if ICMP lost in between (no ICMP for ICMP packet)?
2. Congestion in the network is a dynamic phenomenon. If Congestion occurs after Path Discovery how will you handle that case?

Related questions