Segment Routing
Segment Routing (SR) — это метод маршрутизации пакетов в компьютерных сетях, основанный на принципе «источник-маршрутизация» (source routing). В отличие от традиционных протоколов, где каждый промежуточный узел самостоятельно принимает решение о дальнейшей передаче пакета, в Segment Routing путь следования трафика полностью определяется на узле-источнике. Источник вкладывает в заголовок пакета упорядоченный список сегментов (segments) — инструкций, которые последовательно выполняются сетевыми устройствами на пути к получателю. Каждый сегмент может представлять собой либо идентификатор узла (например, конкретного маршрутизатора), либо идентификатор определённого сервиса или функции. Технология является эволюционным развитием MPLS (Multiprotocol Label Switching) и активно применяется в магистральных сетях операторов связи, центрах обработки данных (ЦОД) и для организации сетей SD-WAN.
История и развитие
Предпосылки появления
Традиционные протоколы динамической маршрутизации (OSPF, IS-IS, BGP) и технология MPLS, несмотря на свою эффективность, обладали рядом ограничений. Управление трафиком (Traffic Engineering) в MPLS требовало сложной сигнализации с использованием протокола RSVP-TE (Resource Reservation Protocol — Traffic Engineering), что приводило к большому количеству состояний (state) на каждом маршрутизаторе и усложняло масштабирование сети. Кроме того, настройка и изменение путей в MPLS-сетях были трудоёмкими и требовали значительного ручного вмешательства.
Разработка стандарта
Идея Segment Routing была впервые предложена инженерами компании Cisco Systems в 2012 году как способ упростить управление трафиком и снизить зависимость от протоколов сигнализации. В 2013 году технология была представлена в IETF (Internet Engineering Task Force) для стандартизации. Ключевыми документами стали:
- RFC 8402 (Segment Routing Architecture) — определяет общую архитектуру и терминологию.
- RFC 8660 (Segment Routing with MPLS Data Plane) — описывает реализацию SR поверх MPLS.
- RFC 8986 (Segment Routing over IPv6, SRv6) — описывает реализацию SR поверх IPv6.
В 2016—2017 годах началось активное внедрение технологии крупными операторами связи (например, Deutsche Telekom, Comcast). К 2020-м годам Segment Routing стал одним из основных стандартов для построения современных магистральных сетей (WAN) и сетей 5G.
Отличие от MPLS-TE
Основное отличие SR от классического MPLS с RSVP-TE заключается в отсутствии необходимости поддерживать состояние каждого пути на всех промежуточных узлах. В SR состояние пути хранится только на узле-источнике и в самом пакете (в виде списка сегментов). Это радикально упрощает работу сети, снижает требования к памяти маршрутизаторов и повышает отказоустойчивость.
Архитектура и принцип работы
Основные понятия
- Сегмент (Segment) — идентификатор, определяющий действие, которое должно быть выполнено сетевым узлом. Сегмент может быть:
- Узловым (Node Segment) — идентифицирует конкретный маршрутизатор (например, по его loopback-адресу). Пакет направляется к этому узлу по кратчайшему пути.
- Соседским (Adjacency Segment) — идентифицирует конкретное исходящее соединение (интерфейс) на узле. Пакет передаётся строго через это соединение.
- Сервисным (Service Segment) — идентифицирует определённый сервис (например, межсетевой экран, балансировщик нагрузки).
- SID (Segment Identifier) — идентификатор сегмента. В реализации MPLS SID представляет собой метку (label), в реализации SRv6 — IPv6-адрес.
- Список сегментов (Segment List) — упорядоченный набор SID, который вкладывается в заголовок пакета. Это и есть маршрут, по которому пойдёт трафик.
- SRGB (Segment Routing Global Block) — диапазон глобальных меток, зарезервированных для использования Segment Routing в MPLS-сети.
Механизм работы
- Узел-источник (например, пограничный маршрутизатор) получает пакет данных.
- Источник вычисляет или получает из центрального контроллера (SDN-контроллера) список сегментов, который определяет желаемый путь через сеть.
- Источник вкладывает этот список в заголовок пакета (в виде стека меток MPLS или в заголовок маршрутизации IPv6).
- Пакет отправляется в сеть. Каждый промежуточный узел выполняет только одну операцию: берёт верхний сегмент из списка, выполняет соответствующее действие (например, пересылает пакет на определённый интерфейс) и удаляет этот сегмент из списка.
- Процесс повторяется, пока список сегментов не опустеет. После этого пакет доставляется конечному получателю.
Плоскость управления
Segment Routing может работать в двух режимах управления:
- Распределённый режим (Distributed Control Plane) — пути вычисляются самими маршрутизаторами на основе расширений протоколов IGP (OSPF, IS-IS) или BGP. Эти протоколы распространяют информацию о SID между узлами.
- Централизованный режим (Centralized Control Plane) — пути вычисляются и устанавливаются SDN-контроллером (например, Cisco XTC, Juniper NorthStar). Контроллер имеет полную карту сети и может оптимизировать трафик в соответствии с заданными политиками.
Реализации
Segment Routing over MPLS (SR-MPLS)
Наиболее распространённая реализация. Каждый SID представляет собой метку MPLS (20 бит). Список сегментов — это стек меток. Маршрутизаторы, поддерживающие MPLS, могут работать с SR-MPLS без значительных аппаратных изменений. Технология обеспечивает обратную совместимость с существующими MPLS-сетями.
Segment Routing over IPv6 (SRv6)
Более современная и гибкая реализация, определённая в RFC 8986. В SRv6 каждый SID является полноценным IPv6-адресом, который кодируется в специальном заголовке расширения IPv6 (Segment Routing Header, SRH). SRv6 позволяет встраивать в сегменты не только информацию о маршрутизации, но и инструкции для выполнения сетевых функций (например, NAT, брандмауэр). Это делает SRv6 основой для архитектуры «Сеть как компьютер» (Network as a Computer). Однако SRv6 требует поддержки на уровне оборудования и может приводить к увеличению накладных расходов на заголовки.
Применение
Управление трафиком (Traffic Engineering)
Segment Routing позволяет точно задавать пути прохождения трафика, обходя перегруженные или неисправные участки сети. Это особенно важно для сетей с жёсткими требованиями к задержкам и пропускной способности (например, для финансовых транзакций или видеоконференций).
Быстрая перемаршрутизация (Fast Reroute)
В случае отказа узла или канала связи, узел-источник может быстро переключить трафик на заранее заданный резервный путь. Это обеспечивает время восстановления связи менее 50 миллисекунд, что критично для телекоммуникационных сетей.
Сети 5G
Segment Routing является ключевой технологией для транспортной сети 5G (5G Transport Network). Он позволяет динамически создавать сквозные каналы (slices) с различными характеристиками качества обслуживания (QoS) для разных типов трафика (например, для сверхнадёжной связи с малой задержкой URLLC или для массового интернета вещей mMTC).
Центры обработки данных (ЦОД)
В сетях ЦОД SR используется для организации виртуальных сетей (overlay) и управления трафиком между серверами. Технология упрощает масштабирование и позволяет быстро перераспределять ресурсы в ответ на изменение нагрузки.
SD-WAN
Segment Routing может применяться для управления трафиком в сетях SD-WAN, обеспечивая гибкую маршрутизацию между филиалами и центральными офисами.
Преимущества и недостатки
Преимущества
- Упрощение сети: отсутствие необходимости в протоколах сигнализации (RSVP-TE) и поддержке состояний на всех узлах.
- Масштабируемость: количество состояний в сети растёт линейно, а не экспоненциально.
- Гибкость: возможность точного управления трафиком, включая создание путей с обходом определённых узлов или каналов.
- Отказоустойчивость: встроенные механизмы быстрой перемаршрутизации.
- Совместимость: SR-MPLS работает на существующем оборудовании, поддерживающем MPLS.
Недостатки
- Сложность внедрения SRv6: требует нового оборудования или обновления прошивок, а также может увеличивать накладные расходы на заголовки.
- Зависимость от центрального контроллера: при централизованном управлении отказ контроллера может нарушить работу сети.
- Ограниченная поддержка в legacy-оборудовании: не все старые маршрутизаторы поддерживают SR.
- Сложность отладки: при неправильной настройке списка сегментов возможны петли маршрутизации или потеря пакетов.
Сравнение с другими технологиями
| Характеристика | Segment Routing (SR-MPLS) | MPLS-TE (RSVP-TE) | IP-маршрутизация |
|---|---|---|---|
| Состояние на узлах | Только на источнике | На всех узлах пути | Нет |
| Протокол сигнализации | Не требуется (IGP/BGP) | RSVP-TE | Не требуется |
| Управление трафиком | Высокое | Высокое | Низкое |
| Масштабируемость | Высокая | Низкая (при большом числе путей) | Высокая |
| Быстрая перемаршрутизация | < 50 мс | < 50 мс | Зависит от протокола |
Развитие и перспективы
Segment Routing продолжает активно развиваться. Основные направления включают:
- Интеграция с SDN: всё большее число операторов переходят на централизованное управление трафиком с использованием SR.
- Развитие SRv6: появление новых функций, таких как встроенная поддержка сетевых функций (NFV) и программируемость.
- Стандартизация: IETF продолжает выпускать новые RFC, расширяющие возможности технологии (например, для поддержки multicast и детерминированной сети).
- Применение в IoT: использование SR для управления трафиком в сетях интернета вещей с ограниченными ресурсами.
Источники
- RFC 8402 — Segment Routing Architecture.
- RFC 8660 — Segment Routing with MPLS Data Plane.
- RFC 8986 — Segment Routing over IPv6 (SRv6).
- Cisco Systems. «Segment Routing Configuration Guide».
- IETF Working Group Documents on Segment Routing.
- «Segment Routing: A Comprehensive Guide» — техническая литература (Cisco Press, 2019).
- Материалы конференций RIPE, NANOG, MPLS World Congress.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →