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

Симптом: цифра ниже обещанной конфигурацией

Длинный список трансформаций описывает возможности, и каждая возможность оценивается на бумаге, а не на этом оборудовании. Согласованный результат — единственная комбинация, которую приняли оба узла, и она может оказаться самой слабой из тех, что каждая сторона ещё допускает ради совместимости. Что даёт эта комбинация, зависит от состояния offload, размера пакета и поведения очередей, поэтому два устройства с одинаковым файлом политики могут разойтись очень далеко. Список — это меню; ассоциация — это заказ, который вернулся.

Чтение списка говорит о том, что могло быть выбрано. Чтение ассоциации говорит о том, что на самом деле несёт передачу, и только это описывает показатель пропускной способности. Каждый шаг настройки, который начинается со списка, — это догадка с лишней бумажной работой.

Запишите ассоциацию, которая несёт эту передачу

На ASA show crypto ipsec sa выводит активные ассоциации с их трансформациями и счётчиками по направлениям, а справочник команд Cisco документирует этот вывод. Выберите узел и направление, которые важны, и учтите, что повторное согласование ключей заменяет ассоциацию и обнуляет её счётчики, что незаметно обесценивает базовую линию, на которую вы ещё опирались. Сохраните вывод рядом с заметками о тесте, чтобы следующему запуску было с чем сравнивать. Идентификатор ассоциации, который меняется между запусками, делает любое последующее сравнение бессмысленным.

What to recordWhere to read itWhat it rules out
Negotiated transform and SA identifiersshow crypto ipsec sa for that peer and direction"the configuration picked the wrong algorithm"
Offload or accelerator state for that buildplatform show commands and interface statistics"the crypto engine is the ceiling"
Payload size and offered ratethe test tool's own settings and summary"packets per second versus bytes per second"
Delivered rate and loss at the receiverthe receiving endpoint, not the sender's counters"the sender transmitted, so it arrived"
Access-link load and dropsunderlay interface counters along the path"the bottleneck lives inside the tunnel"

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

Строка про канал доступа — та, которую пропускают, и именно она чаще всего объясняет разрыв, который выглядит криптографическим. Насыщенный underlay или policer на пути даёт ту же форму симптома, что и медленный движок.

Измерьте одно направление с контролируемой нагрузкой

Запускайте тест с конечной точки в ЛВС, которая представляет приложение, а не с самого шлюза, потому что проба, созданная шлюзом, может следовать другой локальной политике. Измерьте одно направление, прежде чем добавлять второй поток, и запишите как предлагаемую скорость, так и то, что приёмник действительно получил. Запуск UDP с ограничением скорости отделяет предложенную нагрузку от реакции TCP на перегрузку, тогда как отправитель UDP без ограничения не является нейтральной диагностикой. Запишите и длину полезной нагрузки, поскольку больший датаграмм меняет и частоту пакетов, и накладные расходы инкапсуляции.

show crypto ipsec sa peer 203.0.113.9
iperf3 -c 10.20.0.10 -u -b 200M -l 1200 -t 30

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

Объясните разрыв, прежде чем что-либо настраивать

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

Размер пакета заслуживает отдельного контролируемого сравнения, а не числа, скопированного из старого примера. TCP MSS настраивает TCP и никак не влияет на произвольные датаграммы UDP, поэтому фиксированное значение 1350, перенесённое из устаревшего документа, не измеряет вообще ничего. Измените длину полезной нагрузки намеренно и посмотрите, что сообщает приёмник.

Измените одну переменную и сохраните нагрузку

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

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

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