The Gateway to Computer Science Excellence
+2 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 ?
in Computer Networks by Loyal (5.5k points) | 398 views

1 Answer

+2 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?

by Veteran (60.8k points)
Thanks for the apt examples which helped in understanding.
I have a follow up question on this one..

Is MSS negotiated periodically or is it only negotiated during connection establishment ?

I am under an impression that MSS is negotiated only during connection establishment and Window Size is negotiated periodically (in ACKs)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,741 questions
57,243 answers
104,604 users