Меня смущает разница между максимальным размером сегмента и максимальной единицей передачи.
Может кто-нибудь объяснить, пожалуйста, в отношении слоев 2 и 3?
Если бы у меня был пакет из 800 байтов в полезной нагрузке. Было бы правильно сказать, что MSS будет 800 байтов (если я установлю так), а MTU будет 840? TCP 20 и IP 20 байтов. Было бы по-другому, если бы я делал PPPoE?
Ответы:
К тому же. MSS значение происходит от значения MTU , если у вас есть пакет с 800 байт, то это может также сказать , что такой пакет первоначально был длиной 2260 байт, и он ворвался в 2 пакета 1460 + 800 байт, если использовать MTU = 1500.
Вы скажем, верно, если MSS = 800, MTU должен быть не менее 840. Поскольку издержки PPPoE составляют 8 байтов, и, следовательно, MTU = 1492 байта, а MSS = 1492-40 = 1452 байта.
источник
MTU - это максимальный размер IP-пакета для данного канала. Пакеты, большие, чем MTU, фрагментируются в точке, где находится нижний MTU, и снова собираются вниз по цепочке.
Если фрагментация не требуется, либо вы должны проверять MTU на каждом прыжке, либо использовать для этого вспомогательный протокол ( Path MTU Discovery ).
Обратите внимание, что IPv6 НЕ поддерживает фрагментацию пакетов по маршрутизаторам, поэтому PMTUD с ICMPv6 является обязательным, если вы не хотите потерять пакет где-либо из-за небольшого MTU. Конечные точки могут фрагментироваться, но не маршрутизаторы. Кроме того, IPv6 имеет намного более высокий МИНИМАЛЬНЫЙ MTU.
MSS - Максимальный размер сегмента TCP. В отличие от MTU, пакеты, превышающие MSS, не фрагментированы, они просто отбрасываются. Обычно MSS выбирается при трехстороннем рукопожатии TCP, но некоторые настройки могут привести к тому, что определенный MSS все еще слишком велик, что приведет к отбрасыванию пакетов. MSS - это не согласованный пакет на пакет, а полный сеанс TCP и не учитывает заголовки TCP / IP.
При использовании PPPoE все накладные расходы означают, что вам нужно уменьшить MSS в пути, обычно, указав его на маршрутизаторе, где находится точка chokepoint, который затем заменит MSS проходящего трехстороннего рукопожатия на правильное более низкое значение, если оно выше. PPPoE просто добавляет 8 байтов (6 байтов PPPoE + 2 байта PPP) поверх всего (IP + TCP) и предназначен для работы через Ethernet при MTU 1500 байт, следовательно, 1492 MSS, как правило, настроены для его прохождения.
Ваш IP-стек отрубит данные для отправки в MSS, поместит их в сегмент TCP, а затем поместит их в один или несколько IP-пакетов (в зависимости от того, превышает ли он локальные настройки MTU) перед отправкой. Промежуточный маршрутизатор может снизить его, если у них более низкий MTU, но они влияют только на сам IP-пакет, а не играют в сегмент / заголовок TCP.
источник
MTU - максимальный размер IP-пакета для данного канала. MSS - Максимальный размер сегмента TCP.
MTU используется для фрагментации, то есть пакет, больший, чем MTU, фрагментирован. Но в случае MSS пакет, больший, чем MSS, отбрасывается.
MSS указывается во время TCP-квитирования в основном в SYN, и его значение не может быть изменено после установления соединения.
MSS = MTU-40 (заголовок IP (20 байтов) + заголовок TCP (20 байтов))
источник