Максимальный размер сегмента

редактировать

Максимальный размер сегмента ( MSS) представляет собой параметр опций поля TCP заголовка, который определяет максимальный объем данных, указанный в байтах, что компьютер или устройство связи может принимать в одном сегменте TCP. Он не считает заголовок TCP или заголовок IP (в отличие, например, от MTU для дейтаграмм IP). IP - дейтаграммы, содержащий сегмент TCP может быть самодостаточным в пределах одного пакета, или он может быть восстановлен из нескольких разрозненных частей; в любом случае ограничение MSS применяется к общему количеству данных, содержащихся в окончательном восстановленном сегменте TCP.

Чтобы избежать фрагментации на уровне IP, хост должен указать максимальный размер сегмента, равный самой большой датаграмме IP, которую может обработать хост, за вычетом размеров заголовков IP и TCP. Следовательно, хосты IPv4 должны иметь возможность обрабатывать MSS из 536 октетов (= 576-20-20), а хосты IPv6 должны иметь возможность обрабатывать MSS из 1220 октетов (= 1280-40-20).

Небольшие значения MSS уменьшат или устранят фрагментацию IP, но приведут к более высоким накладным расходам.

Каждое направление потока данных может использовать разные MSS.

Для большинства пользователей компьютеров параметр MSS устанавливается операционной системой.

СОДЕРЖАНИЕ

  • 1 Значение по умолчанию
  • 2 Межуровневая коммуникация
  • 3 MSS и MTU
  • 4 Дальнейшее чтение
  • 5 См. Также
  • 6 Ссылки

Значение по умолчанию

Максимальный размер сегмента TCP по умолчанию - 536. Если хост желает установить максимальный размер сегмента на значение, отличное от значения по умолчанию, максимальный размер сегмента указывается как опция TCP, первоначально в пакете TCP SYN во время установления связи TCP. Значение не может быть изменено после установления соединения.

Межуровневая коммуникация

Чтобы уведомить MSS на другом конце, межуровневая связь выполняется следующим образом:

  • Сетевой драйвер (ND) или интерфейс должен знать максимальный размер передаваемого блока (MTU) напрямую подключенной сети.
  • IP должен запросить у сетевого драйвера максимальный размер передаваемого блока.
  • TCP должен запросить у IP-адреса максимальный размер данных дейтаграммы (MDDS). Это MTU за вычетом длины IP-заголовка (MDDS = MTU - IPHdrLen).
  • При открытии соединения TCP может отправить параметр MSS со значением, равным: MDDS - TCPHdrLen. Другими словами, значение MSS для отправки: MSS = MTU - TCPHdrLen - IPHdrLen

При отправке сегментов TCP на другой конец межуровневое взаимодействие осуществляется следующим образом:

  • TCP должен определить максимальный размер данных сегмента (MSDS) либо из значения по умолчанию, либо из полученного значения параметра MSS.
  • TCP должен определить, возможна ли фрагментация источника (запрашивая IP) и желательна ли.
    • Если это так, TCP может передавать IP сегменты (включая заголовок TCP) до MSDS + TCPHdrLen.
    • В противном случае TCP может передать IP сегменты (включая заголовок TCP) до меньшего из (MSDS + TCPHdrLen) и MDDS.
  • IP проверяет длину данных, передаваемых ему по TCP. Если длина меньше или равна MDDS, IP присоединяет заголовок IP и передает его ND. В противном случае IP-адрес должен выполнять фрагментацию источника.

MSS и MTU

MSS иногда объединяют с MTU / PMTU, что является характеристикой нижележащего канального уровня, тогда как MSS применяется конкретно к TCP и, следовательно, к транспортному уровню. Эти два аналогичны в том, что они ограничивают максимальный размер полезной нагрузки, передаваемой их соответствующим блоком данных протокола (кадр для MTU, сегмент TCP для MSS), и связаны между собой, поскольку MSS не может превышать MTU для своего базового канала (с учетом накладных расходов). любых заголовков, добавленных уровнями ниже TCP). Однако разница, помимо применения к разным уровням, заключается в том, что MSS может иметь разное значение в любом направлении, а также то, что кадры, превышающие MTU, могут вызывать фрагментацию пакетов (которые инкапсулируют сегменты) на сетевом уровне, в то время как сегменты, превышающие MSS просто отбрасываются.

дальнейшее чтение

  • Комер, Дуглас Э. (2006). Межсетевое взаимодействие с TCP / IP. Vol. 1 (5 / изд.). Река Аппер Сэдл, Нью-Джерси, США: Прентис-Холл. |volume=имеет дополнительный текст ( справка )
  • Козиерок, Чарльз М. (20 сентября 2005 г.). Руководство по TCP / IP (3.0-е изд.). Проверено 8 сентября 2011.

Смотрите также

использованная литература

Последняя правка сделана 2024-01-02 02:52:30
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте