Многодоступовая маршрутизация¶
Многодоступовая маршрутизация — это класс алгоритмов и протоколов сетевого уровня, предназначенных для построения маршрутов передачи данных от одного источника к нескольким адресатам одновременно, при условии, что сеть обладает избыточностью связей и поддерживает множественные пути. В отличие от традиционной одноадресной (unicast) маршрутизации, где для каждой пары «отправитель — получатель» выбирается единственный оптимальный путь, многодоступовая маршрутизация позволяет использовать несколько параллельных маршрутов, что повышает отказоустойчивость, пропускную способность и балансировку нагрузки в сетях со сложной топологией.
¶История
Концепция многодоступовой маршрутизации возникла в 1970-х годах в рамках развития распределённых вычислительных сетей, таких как ARPANET. Первоначально маршрутизация была одноадресной, но с ростом числа узлов и требований к надёжности возникла необходимость в резервировании путей. В 1980-х годах были разработаны первые протоколы, поддерживающие множественные маршруты, в частности, протокол RIP (Routing Information Protocol) с механизмом «разделения горизонта» (split horizon) для предотвращения петель, но он не обеспечивал полноценной многодоступовости. Значительный прорыв произошёл в 1990-х годах с появлением протокола OSPF (Open Shortest Path First) и EIGRP (Enhanced Interior Gateway Routing Protocol), которые явно поддерживали вычисление нескольких равнозначных путей (equal-cost multipath, ECMP). В 2000-х годах, с развитием мультимедийных и облачных технологий, многодоступовая маршрутизация стала стандартом для корпоративных и провайдерских сетей, а также для беспроводных сенсорных сетей и mesh-сетей.
¶Классификация
Многодоступовая маршрутизация делится на несколько типов в зависимости от критериев выбора путей и области применения:
- По стоимости путей:
- Равнодоступовая (ECMP) — все маршруты имеют одинаковую метрику (например, одинаковую задержку или количество хопов). Пакеты распределяются между ними по алгоритмам хеширования (по IP-адресам, портам) или циклически (round-robin).
- Неравнодоступовая (UCMP) — маршруты имеют разную стоимость, но используются одновременно, при этом нагрузка распределяется пропорционально весам путей (например, 70% трафика по одному каналу, 30% — по другому).
- По типу адресации:
- Одноадресная многодоступовая — трафик направляется к одному получателю, но через несколько физических или логических каналов (например, агрегация каналов Link Aggregation).
- Многоадресная (multicast) — трафик передаётся от одного источника группе получателей, при этом маршрутизаторы строят дерево распределения (например, протоколы PIM-SM, DVMRP). В этом случае также возможны множественные пути для резервирования.
- По динамике:
- Статическая — администратор вручную задаёт несколько маршрутов к одному адресату, что используется в простых сетях.
- Динамическая — маршруты вычисляются протоколами автоматически, с учётом изменений топологии.
¶Устройство и принцип работы
Многодоступовая маршрутизация реализуется на сетевом уровне модели OSI (уровень 3) и требует поддержки со стороны маршрутизаторов и коммутаторов уровня 3. Основные компоненты:
- Таблица маршрутизации — содержит записи о сетях назначения, next-hop (следующий узел) и метриках. Для многодоступовости в таблице может быть несколько записей с одинаковым адресом назначения, но разными next-hop и метриками.
- Алгоритм выбора путей — определяет, какие маршруты считаются пригодными для одновременного использования. В ECMP все пути с одинаковой метрикой включаются в пул; в UCMP — пути с разными метриками, но с учётом порога (например, не более чем в 2 раза хуже лучшего).
- Механизм распределения нагрузки — решает, как распределять пакеты между выбранными маршрутами. Обычно используется хеширование по полям заголовка IP (source IP, destination IP, протокол, порты) для обеспечения целостности потока (все пакеты одного сеанса идут по одному пути). В некоторых реализациях применяется циклическое распределение (per-packet), но это может привести к переупорядочиванию пакетов.
- Протоколы маршрутизации — такие как OSPF, EIGRP, BGP (Border Gateway Protocol) с поддержкой multipath, а также специализированные протоколы для беспроводных сетей (например, AODV, DSR).
¶Пример работы ECMP в OSPF
Протокол OSPF вычисляет кратчайшие пути с помощью алгоритма Дейкстры. Если к одной сети существует несколько путей с одинаковой стоимостью (например, два канала по 1 Гбит/с), OSPF добавляет их все в таблицу маршрутизации. Маршрутизатор затем использует хеш-функцию, например, XOR от IP-адресов источника и получателя, чтобы выбрать один из путей для каждого потока. Это обеспечивает балансировку без потери порядка пакетов.
¶Применение
Многодоступовая маршрутизация широко используется в различных типах сетей:
- Корпоративные сети (LAN/WAN) — для балансировки нагрузки между несколькими интернет-каналами или связями между филиалами. Например, в сети компании с двумя провайдерами ECMP позволяет распределять трафик между ними, повышая отказоустойчивость.
- Центры обработки данных (ЦОД) — в топологиях типа Clos (leaf-spine) многодоступовая маршрутизация является основой для масштабирования. Каждый сервер подключён к нескольким leaf-коммутаторам, а те — к spine-коммутаторам, и ECMP используется для распределения трафика между всеми доступными путями.
- Провайдерские сети (ISP) — для агрегации трафика от клиентов и обеспечения высокой пропускной способности магистральных каналов. Протокол BGP поддерживает multipath для балансировки между несколькими автономными системами.
- Беспроводные сенсорные сети и mesh-сети — в условиях ограниченной пропускной способности и нестабильных каналов многодоступовая маршрутизация повышает надёжность доставки данных. Например, в протоколе RPL (Routing Protocol for Low-Power and Lossy Networks) используются множественные родительские узлы.
- Мобильные сети (MANET) — в подвижных сетях, где топология постоянно меняется, многодоступовые протоколы (например, AODV с multipath) позволяют быстро переключаться между альтернативными маршрутами при разрывах связи.
¶Преимущества и недостатки
Преимущества:
- Повышение пропускной способности за счёт использования нескольких параллельных каналов.
- Увеличение отказоустойчивости: при выходе из строя одного маршрута трафик автоматически перераспределяется по оставшимся.
- Балансировка нагрузки, снижающая вероятность перегрузки отдельных каналов.
- Поддержка качества обслуживания (QoS) за счёт приоритизации потоков на разных путях.
Недостатки:
- Сложность конфигурации и администрирования, особенно в крупных сетях с UCMP.
- Риск переупорядочивания пакетов при использовании per-packet распределения, что может негативно сказаться на работе протоколов, чувствительных к порядку (например, TCP).
- Необходимость в дополнительных вычислительных ресурсах маршрутизаторов для хеширования и поддержания большого числа записей в таблице.
- Ограниченная эффективность при неравномерном распределении трафика (например, если один поток занимает почти всю полосу).
¶Примеры протоколов и реализаций
- OSPF ECMP — поддерживает до 32 равнодоступовых путей (зависит от реализации). Используется в большинстве корпоративных сетей.
- EIGRP — поддерживает ECMP и UCMP (через механизм variance). Позволяет включать пути с метрикой, отличающейся от лучшей на заданный коэффициент.
- BGP multipath — поддерживает ECMP для нескольких соседей, а также load-balancing для eBGP и iBGP. В некоторых реализациях (Cisco, Juniper) возможна балансировка до 16 путей.
- Linux multipath — в ядре Linux реализована поддержка ECMP через таблицу маршрутизации и модуль
multipath. Администратор может настроить распределение черезip routeс опциейnexthop. - MPLS-TE (Traffic Engineering) — использует многодоступовость для управления трафиком через туннели с резервированием.
¶Интересные факты
- В протоколе OSPF для предотвращения петель при многодоступовой маршрутизации используется механизм LSA (Link State Advertisement) и алгоритм SPF, который гарантирует, что все пути являются кратчайшими.
- В сетях ЦОД на основе технологии VXLAN (Virtual Extensible LAN) многодоступовая маршрутизация часто комбинируется с ECMP для балансировки трафика между виртуальными туннелями.
- В России многодоступовая маршрутизация активно применяется в сетях операторов связи, таких как «Ростелеком» и МТС, для обеспечения отказоустойчивости магистральных каналов.
¶Источники
- Кузнецов В. В. «Сети и телекоммуникации». — М.: Горячая линия – Телеком, 2020.
- Таненбаум Э., Уэзеролл Д. «Компьютерные сети». — 5-е изд. — СПб.: Питер, 2016.
- Документация Cisco: «Understanding Equal Cost Multipath (ECMP) Routing».
- RFC 2328 (OSPF Version 2), RFC 4271 (BGP-4), RFC 7868 (EIGRP).
- Статья «Multipath Routing in Data Center Networks» — IEEE Communications Surveys & Tutorials, 2018.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


