Кратко

  • RFC 9722 передаёт абсолютный Service Carving Time (SCT) в маршруте Ethernet Segment и координирует PE с возможностью T вокруг этой цели; корректный SCT подтверждает лишь заявление отправителя.
  • Обоснованное «синхронное восстановление» требует связать данные о часах, приёме маршрута, возможностях, таймерах, программировании DF/NDF и трафике с одной генерацией восстановления.
  • «Без потерь» — результат в клиентской плоскости данных. Он не следует из успешного BGP-обновления, завершённых выборов или отсутствия тревог.

Назначенный момент — ещё не результат

EVPN PE возвращается после отказа, обнаруживает партнёров multihoming, прибавляет период ожидания к локальному времени и объявляет SCT в Ethernet Segment Route. У соседей появляется общий момент для выборов DF. Но к нему один ASIC может ещё загружать фильтры, другие часы могут расходиться на миллисекунды, а третий PE — вовсе не получить маршрут. Плоскость управления выглядит согласованной, пока пакеты теряются, дублируются или ненадолго зацикливаются.

RFC 9722, стандарт мая 2025 года, обновляет RFC 8584. Будущий абсолютный момент заменяет гонку независимых локальных таймеров. Переход становится планируемым, но не распределённой транзакцией и не проверкой качества услуги.

Опасны обе границы. Если новый DF начнёт раньше остановки старого, возникают дубликаты или петля. Если старый остановится первым, возникает black hole. Длинный период обнаружения уменьшает поспешность, но удлиняет перерыв. RFC 9722 координирует время, а не готовность.

Что действительно несёт SCT

SCT расположен в BGP Extended Community маршрута Ethernet Segment, RT-4. IANA выделяет Service Carving Time subtype 0x0F в Transitive Opaque Extended Community. Значение — сокращённая метка NTP: 32 бита секунд и старшие 16 бит дроби, около 15 микросекунд разрешения. NTP Era не передаётся.

Восстанавливающийся PE складывает локальное «сейчас» с периодом обнаружения партнёров. Поэтому валидный приём доказывает лишь заявление отправителя о времени и окне ожидания. Он не подтверждает точность часов, общую Era и смещение, своевременное распространение BGP или завершение аппаратной настройки.

Бит 3 поля DF Election Capabilities обозначает возможность T. Её должны объявить все PE сегмента. При появлении участника без T остальные немедленно возвращаются к базовой процедуре и отменяют SCT-задержки. Следовательно, состав участников сам является доказательством: нужна реально наблюдавшаяся группа этого сегмента и поколения, а не старый реестр.

Получить не значит принять

Получатель сравнивает SCT со своими часами. Прошедшее значение отбрасывается; будущий сдвиг больше локального peering timer — тоже. В обоих случаях выборы соседа считаются уже состоявшимися. Правило ограничивает устаревшие и далёкие значения, однако две корректные реализации могут решить по-разному при разных часах или настройках.

Запись инцидента должна сохранить исходный RT-4, время приёма, разобранный SCT, вычисленный сдвиг, локальный предел и решение каждого PE. Фраза «BGP-маршрут получен» стирает главный выбор. Формат может быть правильным, а значение отвергнуто; принятое значение может опираться на часы, позднее признанные ненадёжными.

При одновременном восстановлении RFC 9722 сортирует SCT и проводит одни выборы по максимальному, то есть самому позднему значению. Ранние действия отменяются или переносятся. Это работает, только если все вовремя увидели одинаковый набор. Следует хранить кандидатов, порядок, заменённый таймер и основание максимума: одно конечное время не покажет поздний RT-4 или сработавший отменённый таймер.

Доверию к часам нужны отдельные свидетельства

RFC 5905 описывает качество NTP через offset, delay, dispersion, jitter и root distance, а не лампой «синхронизировано». RFC 8633 рекомендует не менее четырёх независимых разнородных источников, когда точность важна, и постоянный контроль. Несколько источников могут разделять общий отказ или расходиться из-за leap smear. RFC 8915 позволяет NTS аутентифицировать сервер и обмен и противостоять replay, но не удостоверяет объективную правильность времени.

Для доверия нужны набор источников, состояние выбора, offset, root distance, dispersion, jitter, leap-состояние, последнее обновление и события step или slew в окне восстановления. «NTP работает» — состояние процесса, не предел расхождения PE.

RFC 9722 задаёт настраиваемый skew, по умолчанию 10 мс. PE, переходящий из DF в NDF, применяет NDF в SCT − skew, а результат выборов — в SCT. Окно снижает перекрытие, но безопасная ширина зависит от масштаба, оборудования и точности часов. Значение по умолчанию не является измерением. Нужны фактические распределения ошибок часов, обработки маршрута, расчёта и программирования.

Роль ещё должна дойти до аппаратуры

Алгоритм выдаёт роль. Программа должна превратить её в правила VLAN или Ethernet Tag, отправить на платы и подтвердить активацию. API может ответить раньше таблицы; line card могут закончить неодновременно; сотни услуг могут пройти очередь вместо атомарного изменения.

Для каждой услуги сохраняются четыре момента: решение, отправка настройки, аппаратное подтверждение и первое наблюдаемое состояние пересылки. Нужны прежний и новый DF, сегмент, VLAN или tag, поколение и ошибки. Одно «DF сошёлся» скрывает хвост клиентов в black hole или двойной пересылке.

Цепочку замыкают пакеты. В заявленном окне двусторонние пробы или клиентская телеметрия с номерами и метками времени считают пропуски, перестановки, дубликаты и неожиданные пути. При риске петли нужны точки входа и выхода. Нет жалоб — не значит нет потерь; выборка доказывает только свой поток, точки и период.

Источники

Первичные материалы: RFC 9722, запись RFC Editor, IETF Datatracker, RFC 8584, RFC 7432, RFC 5905, RFC 8633, RFC 8915 и реестр IANA.