Как рассчитать MSS
По умолчанию, когда мы говорим о MSS для пакета Ethernet Ethernet 1460 и MTU 1500.
MSS = MTU - 20 (заголовок IP) - 20(заголовок TCP) = 1460
Исходя из вышесказанного, заголовок TCP рассчитывается без каких-либо options
в заголовке TCP. В случае, если какой-либо пакет состоит option
значение в заголовке TCP это уменьшит размер MSS или нет?
Тогда каков будет размер MSS? option
в заголовке TCP
1 ответ
Вы правильно думаете, что MSS сжимается при добавлении параметров IP/TCP.
MSS = MTU - (20(IP header) + len(IP Options)) - (20(TCP Header) + len(TCP Options))
Другая основная причина, по которой он будет снижен, заключается в том, что пакет каким-то образом инкапсулируется (IPsec/GTP), поскольку это добавляет служебные данные к пакету.
MSS не будет уменьшаться вообще, однако, если параметры IP, TCP были там, значение MSS будет 1460 только для Ethernet. Эти параметры будут частью части данных отправителя, поэтому отправителю необходимо уменьшить часть данных при добавлении параметров IP или TCP в заголовок. См. Следующую страницу
http://tools.ietf.org/html/rfc6691