Предположим, есть два хоста A и B, и они собираются обмениваться данными по TCP. Мне любопытно, как ведет себя TCP в отношении MSS. Википедия говорит, что значение MSS по умолчанию - 536. Но, RFC-793 состояния - если опция MSS не указана, разрешен любой размер сегмента. Эти два утверждения сбили меня с толку, и мне любопытно узнать о следующих сценариях:
Если оба хоста не указывают MSS во время установления связи TCP, будет ли значение MSS, используемое обоими хостами, равным 536, иначе что? Как стек TCP с обеих сторон будет обрабатывать входящий сегмент TCP, который имеет больше полезной нагрузки, чем MSS? Оба хоста отбросят этот пакет?
Когда хост A не указывает MSS во время установления связи TCP, а хост B делает это, какое значение MSS принимает одноранговый узел (хост B)? 536 или что-то еще? Каким будет поведение хоста A, когда он получит пакет с сегментом TCP, который содержит полезную нагрузку более 536 байт (значение MSS по умолчанию). Будет ли хост A отбрасывать этот пакет?
Когда оба хоста указывают MSS и отправляют сегмент TCP, содержащий полезную нагрузку, превышающую MSS?
Спасибо заранее!