RFC: 1122
Оригинал: Requirements for Internet Hosts - Communication Layers
Категория: Стандарт Интернета
Дата публикации:
Автор:
Перевод: Николай Малых
4.2.2.6 Максимальный размер сегмента: RFC 793, параграф 3.1

Протокол TCP должен поддерживать опции максимального размера сегмента — MSS для приема и передачи [RFC879]. Для TCP рекомендуется передавать опцию MSS в каждом сегменте SYN при получении MSS, отличного от принятого по умолчанию значения 536; можно передавать эту опцию во всех случаях.

Если опция MSS не получена при организации соединения, протокол TCP должен использовать принятое по умолчанию значение MSS = 536 (576-40) [RFC879].

Максимальный размер сегмента, реально передаваемого TCP — эффективное значение MSS для передачи должно быть меньше MSS для передачи (отражает доступный размер буфера сборки на удаленном хосте) и максимального размера, поддерживаемого уровнем IP:

Eff.snd.MSS =

   min(SendMSS+20, MMS_S) - TCPhdrsize - IPoptionsize

где:

  • SendMSS — значение MSS, полученное от удаленного хоста или принятое по умолчанию значение 536. если опция MSS не была получена.
  • MMS_S — максимальный размер сообщений транспортного уровня, которые может передавать TCP.
  • TCPhdrsize — размер заголовка TCP (обычно 20, но может быть больше за счет опций TCP).
  • IPoptionsize — размер всех опций IP, которые TCP будет передавать на уровень IP с этим сообщением.

Значение MSS, которое будет передано в опции MSS, не должно быть больше

MMS_R - 20

где MMS_R — максимальный размер для сообщений транспортного уровня, которые могут быть приняты (и собраны); TCP получает значения MMS_R и MMS_S от уровня IP (см. описание функции GET_MAXSIZES в 3.4).

  • Обсуждение:
  • Размер сегмента TCP оказывает существенное влияние на производительность. Увеличение сегментов повышает пропускную способность за счет снижения объема заголовков в общем потоке данных и уменьшения времени на обработку этих заголовков. Однако, если пакеты столь велики, что требуется фрагментация IP, эффективность существенно снижается при потере любого фрагмента [IP:9].

    Некоторые реализации TCP передают опцию MSS только в тех случаях, когда хост-получатель относится к подключенной сети. Однако в общем случае уровень TCP может не иметь достаточно информации для определения такой принадлежности, поэтому разумно передать уровню IP решение вопроса определения приемлемого значения MTU для пути Internet.

    Рекомендуется использовать опцию MSS во всех случаях, когда значение отличается от 536 (тогда уровень IP определяет MMS_R в соответствии с параграфами 3.3.3 и 3.4). Предлагаемые для уровня IP механизмы определения MTU в этом случае не будут оказывать влияния на TCP.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.