cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
514
Views
5
Helpful
1
Replies

How MSS & Fragmentation works

Hello Expert,

Just trying to understand the underlying working principle of mss , mtu, fragmention etc.

Appreciate if you could enlighten me  on below query.

 

R1----R2---R3
R1 and R3 running Gre tunnel

 

1) I found the minumum mtu on internet is 576 so the mss for internet is 536 (536=576-20(TCP) -20(IP)).How node come to know that it is connected to internet and set mss as 536.why don't is calculate mss as usual.
2)Why internet minimum mtu is 576 only.
3)As per my understanding MSS calculation is always MSS=MTU -TCP header -IP header-(other header if use like PPP, GRE, ESP, IPSEC MPLS etc) ?
4)Fragmentation: Lets say R1 having mtu as 1500 and R2 have 9000 mtu, so the MSS of R1 and R2 will be 1460 and 8960 respectively.Now during 3 way handshake R1 will negotiate least mss as 1460 with R2. Now R2 already know the maximum data it can send to R1 is 1460.Fragmention is segmenting the large data into small parts but here since R2 already know the R1 mss as 1460 it should always create packet of 1460 size only.
Then what is the significant of having higher mtu on R2 ?Do fragmentation work here ?.
5)Data are created on application layer while at transport layer mss negotiation occur, fragmentation is done at layer 3.So if at layer 4 mss is already decided which is lets say in default scenario 1460. Fragmention is not occuring for payload 1460.
Even fragmention of payload 1600 byte should not occur , as at Layer 4 it should chop payload into two segment  1460 byte & 140 byte before reaching to Layer 3, so why fragmention needed at layer 3 if minimum size already decided at layer 4.
6)I assume any application with any MTU or mss should work as they negotiate the value with each other or for internet the least mss is 536.Problem is only when you need to send data more then mss size in one go without fragmentation.If fragmentation is enabled then it should work.

 

Thanks,

1 Reply 1

Joseph W. Doherty
Hall of Fame
Hall of Fame
#1 Node doesn't know if it's connected to Internet. What node "knows" is whether destination is to connected network or beyond. If beyond, node assumes max MTU is 576 unless path MTU discovery is enabled.

#2 Don't know off-the-top-of-my-head. Likely might have to do with state-of-the-art, at that time, what MTU any device should be able to support.

#3 Don't know if "always" truly applies. MSS can be larger than what the packet can carry, which is where fragmentation comes into play. Generally/usually devices try to avoid fragmentation, so source will use a MSS that fits into its packet.

#4 If only R2 supported the larger MTU, yes, no advantage to use it.

#5 As noted above, sender tries to avoid fragmentation. So if sender "knows" L3 MTU only supports a MSS of 1460 it wouldn't normally send L3 MSS sized at 1600. So, answer to your question, fragmentation isn't needed unless sender decides to ignore MTU (or doesn't know it).

#6 Is there a question for #6?