Максимальный размер сегмента ( 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 устанавливается операционной системой.
Максимальный размер сегмента TCP по умолчанию - 536. Если хост желает установить максимальный размер сегмента на значение, отличное от значения по умолчанию, максимальный размер сегмента указывается как опция TCP, первоначально в пакете TCP SYN во время установления связи TCP. Значение не может быть изменено после установления соединения.
Чтобы уведомить MSS на другом конце, межуровневая связь выполняется следующим образом:
При отправке сегментов TCP на другой конец межуровневое взаимодействие осуществляется следующим образом:
MSS иногда объединяют с MTU / PMTU, что является характеристикой нижележащего канального уровня, тогда как MSS применяется конкретно к TCP и, следовательно, к транспортному уровню. Эти два аналогичны в том, что они ограничивают максимальный размер полезной нагрузки, передаваемой их соответствующим блоком данных протокола (кадр для MTU, сегмент TCP для MSS), и связаны между собой, поскольку MSS не может превышать MTU для своего базового канала (с учетом накладных расходов). любых заголовков, добавленных уровнями ниже TCP). Однако разница, помимо применения к разным уровням, заключается в том, что MSS может иметь разное значение в любом направлении, а также то, что кадры, превышающие MTU, могут вызывать фрагментацию пакетов (которые инкапсулируют сегменты) на сетевом уровне, в то время как сегменты, превышающие MSS просто отбрасываются.
|volume=
имеет дополнительный текст ( справка )