MSS () является параметром протокола TCP и определяет максимальный размер полезного блока данных в байтах для TCP-пакета (сегмента). Таким образом этот параметр не учитывает длину заголовков TCP и IPRFC 879 , page 2, Section 3, «The MSS counts only data octets in the segment, it does not count the TCP header or the IP header»..

Для установления корректной TCP-сессии с удалённым хостом должно соблюдаться следующее условие: MSS + заголовок TCP + заголовок IP ≤ MTU

Таким образом, максимальный размер MSS = MTU − размер заголовка IP − размер заголовка TCP.

Так каждый хост требует доступности для MSS: IPv4 — последних 536 октетов (= 576 − 20 − 20) IPv6 — последних 1220 октетов (= 1280 − 40 − 20).

Обычно конкретное значение MSS определяется операционной системой во время «TCP-рукопожатия» с целевым хостом исходя из значений MTU или ()PMTUD , «О PPPoE, MTU и проблеме Path MTU Discovery Black Hole»..

Однако промежуточный маршрутизатор (например, имея линк с малым MTU) может подслушивать TCP SYN пакеты и подменять значения MSS, анонсируемые конечными устройствами. В результате конечные узлы "договорятся" о меньших MSS и пакеты не придётся фрагментировать.

Примечания

Категория:TCP/IP Категория:Сетевые пакеты Категория:Параметры компьютерных сетей