MSS is the most frequent and earliest option in the TCP option. MSS option occupies 4byte. MSS is the maximum length of the data field in each TCP message segment, note: Only the data part of the field, not including the head of TCP. TCP's three-time handshake, each party advertises the MSS it expects to receive (the MSS only appears in the SYN packet) if one side does not accept the MSS value of the other, the default value is 536byte.
MSS value is too small or too large is not suitable. Too small, for example, the MSS value is only 1byte, then in order to transmit this 1byte data, it consumes at least 20 bytes IP header + 20 byte TCP head =40bytes, this does not include the overhead of two layer head, obviously this data transmission efficiency is very low. MSS is too large, so that the packet can be encapsulated very large, then the probability of fragmentation in the IP transmission will increase, the receiver in the processing of fragmented packets consumed by the resources and processing time will increase, if the shards in the transmission of retransmission, then the network overhead will increase. Therefore, a reasonable MSS is crucial. The reasonable value of MSS should be the maximum value to ensure that the packet is not fragmented. The corresponding Ethernet MSS can reach 1460byte. Similar to MSS in the IP layer also has a similar concept-MTU
Mtu=mss+tcp Header+ip Header.
There are many intermediary devices between the sender and the receiver, and the MSS is if the negotiation is in order.