Настройка MTU с помощью Mss Clamping, UniFi Network
Mark8par
Guest
03.04.2018 20:33:00
Хотелось бы узнать, на какое значение нужно установить MSS clamping, чтобы добиться MTU 1492? Сейчас у меня подключение PPPoE, и мой провайдер сказал, что MTU должен быть выставлен на 1492. Спасибо!
BrianG61UK
Guest
18.12.2021 00:27:00
Спасибо, @waterside, за дополнительную информацию. Я уберу MSS clamping для IPv6. Можешь подробнее объяснить, почему именно PPP и PPPoE вызывают проблему? Это просто из-за уменьшения MTU или есть что-то большее? Насколько мне известно, мой PPPoE настроен так, чтобы позволять MTU оставаться равным 1500. Совсем недавно я начал экспериментировать с MSS clamping. Сначала заметил, что практически всё работает лучше без него, но потом увидел, что один конкретный сайт часто вообще стал недоступен без MSS clamping — и это сайт, работающий только по IPv4. Я не могу понять, что именно может отличать этот проблемный сайт. Но он очень большой и важный, так что, возможно, мой провайдер как-то иначе настраивает соединение с ним.
waterside
Guest
04.12.2021 17:03:00
Правильно: В целом лучше не ограничивать MSS искусственно. К сожалению, есть случаи (особенно при использовании любых форм PPP, включая PPPoE), когда это необходимо. Сам TCP пытается определить минимальный MTU (с помощью обнаружения MTU по пути) между двумя узлами и на основе этого настраивает MSS. В IPv4 этот метод может иногда давать сбои, и в таких случаях применяется ограничение MSS. Поскольку IPv6 специально разрабатывался, чтобы решить проблемы IPv4 с обнаружением MTU по пути (а значит и с MSS), в IPv6 обычно нет необходимости использовать ограничение MSS, хотя оно все равно часто поддерживается, пусть и для очень редких случаев. Установка MSS (или MTU) меньше необходимого не должна вызывать проблем. В худшем случае это слегка скажется на производительности, но мы говорим о таких мелких различиях, что при современной связи это обычно не ощущается и не выявляется. Если найдено рабочее значение, нет никакого смысла пытаться его дополнительно настраивать, разве что для очень медленных соединений.
BrianG61UK
Guest
02.12.2021 03:15:00
Как я теперь понимаю, всё должно работать лучше всего без какого-либо MSS-клаппинга. Отсутствие MSS-клаппинга — более правильный выбор, чем установка MSS-клаппинга на нормальное значение MSS для вашего MTU, то есть (MTU - 40) для IPv4 или (MTU - 60) для IPv6. Бывают случаи, когда максимально возможный MSS будет меньше этих значений! Если что-то где-то в маршруте между двумя концами соединения настроено неправильно, соединения могут падать (или иногда просто работать очень медленно), и одним из решений может быть использование MSS-клаппинга с гораздо более низкими значениями, чем нормальное, которое я указал выше. Я успешно использовал MSS-клаппинг, установленный на 40 байт меньше, чем то, что я называл нормальным значением, чтобы исправить несколько странных проблем с некоторыми соединениями к определённым сайтам. Вероятно, это значение ниже необходимого, но именно так я делал.
gregorio
Guest
20.08.2021 03:44:00
Низкая пропускная способность. Высокие колебания задержки. Автонастройка не всегда умна настолько, чтобы правильно выставить параметры.
falunifi
Guest
20.08.2021 03:25:00
Может кто-то объяснить, какие именно негативные симптомы возникают при использовании авто в неподходящих случаях?
SGNR
Guest
03.09.2020 13:38:00
Если не использовать DSLAM или DSL-соединение, то обычно MTU 1300 на VPN-интерфейсе подойдёт для большинства случаев без особой настройки. По сути, MTU clamping изменяет поле MSS в IP-пакетах, которые идут по сети. Если задать слишком большое значение для узла в верхней части сети, он не сможет его обработать и будет вынужден отбросить пакет (при условии, что "DF=1" — «Не фрагментировать пакет» установлено в TRUE). Это важно для VPN, так как изменение пакета нарушает криптографическую контрольную сумму и приводит к сбоям на более высоких уровнях.
Когда слишком большой пакет сбрасывается, устройство, которое его отбросило, отправляет обратно сообщение ICMP «Пакет слишком большой» к источнику. В свою очередь источник должен распознать это сообщение, обработать его и повторить отправку с меньшим размером полезной нагрузки. Здесь заложено много предположений, поэтому это часто ломается.
Итог: для VPN-туннелей лучше использовать MTU 1300, для IPv4-интерфейсов — 1400. IPv6 — совсем другая история, там всё иначе, поскольку это кадры второго уровня (Layer 2). В общем, стоит включить поддержку Jumbo Frame на всех устройствах второго уровня — особенно это важно для iSCSI и подобных приложений.
Два очень хороших источника по теме: - ^^ Этот материал от Dykstra (для тех, кто знаком с OSPF). - Документ Cisco, который фактически содержит всё, что нужно знать:
adam_wrobel
Guest
03.09.2020 13:27:00
Привет! Я использую Ubiquiti ER-X с кабельным модемом Arris от Multimedia Polska. После множества тестов я выяснил, что лучшая настройка для PPTP VPN, настроенного внутри ER-X, — это MSS-Clamp = 1356. Немного большее значение вызывает проблемы (хотя в некоторых тестах большие значения позволяли добиться более высокой скорости соединения).
BrianG61UK
Guest
21.12.2019 19:54:00
Как насчёт IPv6? Если у меня MTU для IPv4 равен 1500, я предполагаю, что MTU для IPv6 такой же. Верно? MSS для IPv4 будет 1460. MSS для IPv6 — 1440, правильно? В этом случае (когда MTU полный, 1500) стоит ли включать MSS clamping на 1460 для IPv4? И тоже на 1440 для IPv6? Или лучше оставить один или оба без настройки? Буду благодарен за любые советы.
waterside
Guest
23.02.2019 01:16:00
Если ваш канал к провайдеру требует MTU равный 1452, нужно вычесть 40 байт на суммарные заголовки IP и TCP, чтобы получить MSS равный 1412 (то есть ваше описание правильное). На любом уровне сети MTU — это максимальный размер полезной нагрузки отдельного блока данных следующего более высокого уровня. Чтобы избежать фрагментации на любом уровне, размер служебной информации и данных этого уровня должен поместиться в полезной нагрузке одного блока данных следующего более низкого уровня. Например, Ethernet-кадр имеет размер 1518 байт, если вычесть из него служебную информацию (18 байт), остается MTU равный 1500. Заголовок IP — 20 байт, что даёт «MTU» равный 1480. Заголовок TCP тоже 20 байт, и получается MSS (MTU) равный 1460. Обычно, когда говорят «MTU», имеют в виду уровень 2 (Ethernet или другой), но, как вы видите, у каждого уровня своя своя «MTU». Например, IPv4-датаграмма может достигать 64К байт с полезной нагрузкой на 20 байт меньше — граница накладывается именно на более низком уровне (например, Ethernet), если хотим избежать фрагментации. Алгоритм определения MTU пути (Path MTU Discovery) в большинстве современных сетевых стеков автоматически подберёт правильный MSS для TCP, но не всегда. Вот тогда и используется MSS clamping на роутере.
cgregory
Guest
22.02.2019 19:10:00
Просто пытаюсь понять... Допустим, у меня провайдер требует MTU равный 1452. Если я установлю MSS на 1412, не приведёт ли это к тому, что пакеты будут размером именно 1452 байта? Ведь при выходе из роутера к этим 1452 байтам добавляются 40 байт для TCP и IP. Я понимаю, что физически размер MTU не меняется, но разве это не ограничит коммуникацию размером в 1452 байта?