Удалённые оболочки остаются отзывчивыми, маленькие пробы отвечают, а затем копирование файла ползёт и замирает без ошибки, на которую кто-либо мог бы указать. Ping с большей полезной нагрузкой воспроизводит это мгновенно, а та же передача работает из локальной сети. В шифровании нет ничего медленного; определённые пакеты просто не приходят. Два разных разделения могут дать этот признак, и они оставляют разные доказательства.

Два места, где пакет можно разделить

До шифрования маршрутизатор может разделить слишком большой внутренний пакет и защитить каждый кусок отдельно. После шифрования делится готовый внешний пакет, и дальняя сторона должна собрать его заново, прежде чем что-либо расшифровать. Тот же симптом, другая работа для получателя и другие рычаги для вас.

Различие важно, потому что исправление, направленное не на ту сторону, меняет число, не сдвигая сбой. Пакет, отклонённый на интерфейсе, никогда не становится внешним пакетом, поэтому никакая настройка внешней стороны его не спасёт.

Где на самом деле принимается решение о размере

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

Сначала проверьте значение интерфейса, затем внешнее поведение. Два числа, два этапа, и обычно отвечает только одно из них.

Внешний бюджет — не внутренний бюджет

Каждая инкапсуляция тратит байты на заголовки, и количество зависит от транспорта, семейства адресов и наличия NAT traversal. Внутренний пакет, помещающийся в локальное звено, всё равно может дать внешний пакет, который не помещается в путь за ним. Измеряйте накладные расходы, а не предполагайте их, потому что каждый необязательный заголовок добавляется в счёт. Туннель с NAT traversal платит больше, чем голый, и разницы достаточно, чтобы сломать передачу, которая работала вчера.

Когда внешний пакет несёт бит запрета фрагментации, хоп, который не может его передать, отбрасывает его и должен вернуть сообщение ICMP. Если это сообщение где-то фильтруется, отправитель продолжает попытки, а пользователь видит остановку без объяснения. Именно это молчаливое отбрасывание обычно и приводит к тому, что проблему размера сообщают как проблему скорости.

IPv6 убирает одну из возможностей

Маршрутизаторы IPv6 не фрагментируют в транзите, поэтому внешний пакет либо помещается, либо исчезает с сообщением Packet Too Big. Это сообщение становится единственным каналом обратной связи, и его блокировка ломает обнаружение пути для каждой следующей крупной передачи. Маршрутизаторы IPv4 могут фрагментировать крупный пакет, когда бит снят, что скрывает неисправность, пока что-то другое не установит этот бит.

На смешанном стеке один и тот же туннель может вести себя по-разному для двух семейств, поэтому один тест по IPv4 не решает жалобу по IPv6. Проверка, упражняющая только одно семейство, оставляет половину ответа неизмеренной.

Политика сегментов TCP — не общий ответ

Ограничение максимального размера сегмента помогает потокам TCP, и это законное управление, когда проблема ограничена ими. На UDP оно не влияет, а UDP несёт DNS, некоторые голосовые протоколы и растущую долю веб-трафика.

Примените её, затем проверьте нагрузку, которая не прошла. Если случай UDP всё ещё не проходит, политика сегментов никогда не была ответом, и бюджету интерфейса по-прежнему нужно внимание. Сначала определите протокол сбойной нагрузки, затем выберите управление, которое к нему относится.

Порядок работы

Запишите наибольшую полезную нагрузку, которая выживает, затем MTU интерфейса, затем несёт ли внешний пакет бит запрета фрагментации, и наконец доходит ли обратная связь ICMP до отправителя. Эта последовательность сужает неисправность без догадок. Сохраняйте каждое наблюдение с отметкой времени и конечной точкой, потому что все четыре числа смещаются, когда путь меняется.

Измените одно значение, повторите проверку исходной передачи и сохраните результат. Туннель, проходящий крупную пробу, но всё ещё застревающий в приложении, перешёл к другой проблеме, и это прогресс, который стоит записать. Следующему человеку нужнее числа, чем вывод.

Похожие статьи