В чем разница между MSS и MTU?

Я смущен относительно разницы между максимальным размером сегмента и максимальной единицей передачи.

Может кто-нибудь объяснить в отношении слоев 2 и 3?

Если бы у меня был пакет размером 800 байт в полезной нагрузке. Было бы правильно сказать, что MSS будет 800 байт (если я его установил), а MTU будет 840? TCP 20 и IP 20 байтов. Было бы иначе, если бы я делал PPPoE?

23 голоса | спросил NetworkNinja 8 J0000006Europe/Moscow 2014, 08:30:45

3 ответа


13

Кроме того. Значение MSS происходит от значения MTU , если у вас есть 800-байтовый пакет, он также может сказать, что такой пакет изначально был 2260 байтов, и он ворвался в 2 пакет 1460 + 800 байт, если мы используем MTU = 1500.
Вы говорите, что это правда, если вы MSS = 800, MTU должен быть не менее 840. Поскольку накладные расходы PPPoE составляют 8 байтов, и поэтому MTU = 1492 байта, а MSS = 1492-40 = 1452 байта.

ответил t3mp 8 J0000006Europe/Moscow 2014, 18:30:00
24

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

Если фрагментация не требуется, либо вы должны проверить MTU на каждом прыжке, либо использовать для этого вспомогательный протокол (PMTUD)

Обратите внимание, что IPv6 делает NOT поддержку фрагментации пакетов маршрутизаторами, поэтому 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 байтов, следовательно, MSS 1492 обычно настроен для его прохождения.

Ваш IP-стек отбросит данные, которые будут отправлены в MSS, поместите его в сегмент TCP, а затем поместите его в один или несколько IP-пакетов (в зависимости от размера локальных настроек MTU) перед отправкой. Промежуточный маршрутизатор может сократить его, если у них меньше MTU, но они влияют только на сам IP-пакет, не играя в сегмент /заголовок TCP.

ответил Remi Letourneau 8 J0000006Europe/Moscow 2014, 19:39:42
0

MTU - это максимальный размер IP-пакета для данной ссылки. MSS - максимальный размер сегмента TCP.

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

MSS указывается во время рукопожатия TCP в основном в SYN, и его значение не может быть изменено после установления соединения.

MSS = MTU-40 (заголовок IP (20 байт) + заголовок TCP (20 байт))

ответил Prayag Singh 3 Jpm1000000pmTue, 03 Jan 2017 13:33:27 +030017 2017, 13:33:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132