Maximum segment size

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Sorx00 (обсуждение | вклад) в 11:23, 25 апреля 2017 (оформление, викификация, категоризация). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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[англ.] (англ. 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».