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.