Maximum segment size

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

MSS (англ. Maximum segment size) является параметром протокола TCP и определяет максимальный размер полезного блока данных в байтах для TCP-пакета (сегмента). Таким образом этот параметр не учитывает длину заголовков TCP и IP[1].

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

  • MSS + заголовок TCP + заголовок IP ≤ MTU

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

Так каждый хост требует доступности для MSS:

  • IPv4 — последних 536 октетов (= 576 — 20 — 20)
  • IPv6 — последних 1220 октетов (= 1280 — 40 — 20).

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

Примечания[править | править код]

  1. RFC 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».
  2. PMTUD, «О PPPoE, MTU и проблеме Path MTU Discovery Black Hole».