Перейти к основному содержимому

Действия

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

В интерфейсе используется следующая иерархия:

  1. Категории → Эмуляция разрыва;
  2. Тип разрыва → Интерфейсы, BGP, IS-IS, OSPF, LDP или IGMP (IPTV), если соответствующий протокол присутствует в задаче;
  3. параметры выбранного действия.

Доступные типы разрыва формируются по конфигурации задачи. Например, BGP отображается только для задачи с BGP, а IGMP — для задачи с Access Groups.

Общая модель

ЭлементНазначение
АгентВыбирает один агент задачи. Все агенты отправляет действие всем участвующим в задаче агентам
ИнтерфейсВыбирает один интерфейс выбранного агента. Все интерфейсы применяет действие ко всем интерфейсам задачи на этом агенте
РазовоВыполняет один полный цикл разрыва и восстановления
С интерваломЗапускает последовательные циклы до нажатия Остановить или завершения задачи
ЗапуститьПринимает действие к выполнению. В интервальном режиме после запуска меняется на Остановить

Эффект разрыва контролируйте на вкладке Метрики. Для интерфейсов полезны графики активных TCP-соединений, скорости и пакетов; для протоколов — состояние сессий, маршрутов и показатели сходимости. Технические причины отказа действия сохраняются в логах задачи и агента.

Интерфейсы

Разрыв интерфейса — это полный цикл:

  1. агент выбирает настроенный в задаче DPDK-порт;
  2. переводит порт в состояние Down;
  3. удерживает его выключенным в течение Времени отключения;
  4. автоматически переводит порт в Up;
  5. ждёт подтверждения, что линк снова поднялся;
  6. завершает цикл или возвращает ошибку восстановления.

Разовый режим

Выберите Разово, задайте время отключения и нажмите Запустить.

Рис. 26а — Разовый разрыв интерфейса

Рис. 26а — Эмуляция разрыва интерфейса в разовом режиме

Команда принимается контроллером без ожидания полного восстановления интерфейса. Пользователь может сразу перейти на другую вкладку или страницу: агент самостоятельно закончит отключение, включит интерфейс и проверит состояние Up. Ожидание в браузере и информационное inline-уведомление для успешного запуска не используются.

ПараметрКак работаетОграничение
Время отключенияВремя между командами Down и Upмиллисекунды; минимум в интерфейсе — 100 мс, агент ограничивает значение пятью минутами
АгентОдин агент задачи или все агентыпустое значение означает Все агенты
ИнтерфейсОдин порт или все настроенные порты выбранного агентадоступен после выбора конкретного агента
Почему нет поля «Ожидание восстановления»

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

Через REST API предел можно переопределить параметром up_timeout_ms, но для обычного запуска из интерфейса применяется 30 000 мс.

Режим «С интервалом»

Выберите С интервалом, задайте Время отключения и Интервал, затем нажмите Запустить. Кнопка изменится на Остановить.

Рис. 26б — Интервальный разрыв интерфейса

Рис. 26б — Эмуляция последовательных разрывов интерфейса

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

Минимальное время между началами двух циклов можно оценить так:

время отключения + фактическое восстановление линка + интервал + служебное время

Например, при отключении на 5 секунд, восстановлении примерно за 30 секунд и интервале 3 секунды новый разрыв начнётся ориентировочно через 38 секунд или позже. Он не начнётся каждые 3 секунды. Если линк восстановится за 2 секунды, ждать все 30 секунд агент не будет: следующий цикл начнётся после этих 2 секунд, заданного интервала и небольшого служебного времени.

Интервал на графике

Продолжительность провала прикладной метрики может быть больше Времени отключения. После включения линка TCP-соединения, маршруты и состояния тестируемого устройства восстанавливаются отдельно, а график обычно агрегируется по секундным точкам. Поэтому отключение на 5 секунд может выглядеть как провал TCP продолжительностью 9–10 секунд.

Остановка интервального режима

После нажатия Остановить новые циклы больше не запускаются. Если интерфейс уже выключен или агент уже проверяет его восстановление, текущий цикл безопасно завершается: порт сначала возвращается в Up, и только затем планировщик останавливается окончательно.

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

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

Физическое и программное отключение

Агент сначала пытается выполнить физический разрыв на поддерживаемом Mellanox PF через средства управления портом. Если физическое управление недоступно, но DPDK-порт поддерживает изменение состояния, применяется программный DPDK link down/up.

Для программного режима результат остаётся тем же с точки зрения задачи: порт переводится в Down, затем в Up, после чего агент ждёт подтверждения восстановления. В интервальном режиме неуспешная аппаратная проверка запоминается на время расписания, чтобы не повторять длительную проверку перед каждым циклом.

Важные ограничения:

  • виртуальные NIC (virtio, vmxnet3, hv_netvsc и аналоги) не поддерживают такой DPDK-разрыв — интерфейс блокирует запуск и показывает причину;
  • физическое управление Mellanox требует PF, прав агента и установленных средств управления; для SR-IOV VF используется программный режим, если его поддерживает драйвер;
  • для bonded-порта действие применяется к его физическим участникам;
  • при выборе нескольких портов цикл считается завершённым только после обработки всех выбранных портов;
  • одновременно на одном агенте работает одно интервальное расписание интерфейсов.

BGP

ПараметрОписание
Режим разрываОтключение сессии разрывает TCP-сессию и приводит к потере полученных маршрутов; Отзыв префиксов удаляет выбранный диапазон маршрутов
Локальный адрес / Адрес пираФильтр BGP-сессий; пустые значения применяют действие ко всем подходящим сессиям
Базовый префикс / КоличествоДиапазон доступных префиксов для отзыва
Смещение / Количество для отзываПозволяет отозвать часть диапазона
Базовая метка / Address familyMPLS label и семейство адресов, например ipv4-labeled-unicast
Базовый next-hop / ASNПараметры повторного объявления; ASN 0 означает iBGP
ТаймерПауза между отзывом и повторным объявлением; 0 оставляет префиксы отозванными

IS-IS, OSPF и LDP

ПротоколДействие и основные параметры
IS-ISВыбирает экземпляр и уровень 1/2, удаляет один или несколько LSP и при заданном таймере возвращает их
OSPFВыбирает OSPFv2/OSPFv3 и экземпляр, отправляет обычные или MaxAge LSA и при необходимости возвращает исходные LSA
LDPФильтрует сессию по локальному и соседнему адресу, разрывает её и после таймера повторно устанавливает label bindings

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

IGMP (IPTV)

ПараметрОписание
РежимBurst выполняет одновременный zap, Только join добавляет подписку, Только leave удаляет её
Базовая multicast-группаПервая группа диапазона, например 232.1.1.1
Шаг между группами0.0.0.0 направляет STB в одну группу; 0.0.0.1 распределяет их по последовательным группам
Количество подписок0 означает все активные STB; положительное значение ограничивает выборку
Source IP (SSM)Источник для IGMPv3 SSM; пустое значение означает ASM

Как проверять результат

  1. До запуска зафиксируйте стабильный участок нужной метрики.
  2. Выполните разовый разрыв или запустите интервальный режим.
  3. Убедитесь, что число провалов совпадает с числом завершённых циклов.
  4. Для интерфейсов отдельно учитывайте время Down, восстановление линка и восстановление прикладных сессий.
  5. Проверьте логи на ошибки отключения или превышение 30-секундного предела восстановления.
  6. Остановите интервальный режим и убедитесь, что после завершения активного цикла новые провалы не появляются.

Для измерения потерь и времени сходимости L2 используйте плагин Измерение сходимости L2 (UDP) и соответствующий дашборд. Обычное вычитание переданных и принятых пакетов не заменяет приёмное измерение последовательностей и времени восстановления.