Philip,
Just would like to confirm:
TCP Connection
MSS = MTU - (IP header + TCP Header)
UDP Connection
MSS = MTU - (IP header + UDP Header)
Why is it Ethernet Header of 18 bytes is not considered?
Are there any other variables to consider?
MSS Size
You are correct.
As to Ethernet headers, in Ethernet v2 the payload is 1500 bytes. The rest is just CRC (4 bytes) and inter-frame spacing (12 bytes) that cannot be used. There are more bytes that exist in an Ethernet frame (MAC soruce/destination) but they are not part of the payload. Jumbo frames and other variants are not supported through all the switches/nodes that packets travel through, so anything larger than 1500 will get fragmented by some router before transmission, causing additional delay.
As to Ethernet headers, in Ethernet v2 the payload is 1500 bytes. The rest is just CRC (4 bytes) and inter-frame spacing (12 bytes) that cannot be used. There are more bytes that exist in an Ethernet frame (MAC soruce/destination) but they are not part of the payload. Jumbo frames and other variants are not supported through all the switches/nodes that packets travel through, so anything larger than 1500 will get fragmented by some router before transmission, causing additional delay.
Disclaimer: Please use caution when opening messages, my grasp on reality may have shaken loose during transmission (going on rusty memory circuits), even though my tin foil hat is regularly audited for potential supply chain tampering. I also eat whatever crayons are put in front of me.
๑۩۞۩๑
๑۩۞۩๑