Ответ на вопрос
Протокол маршрутизации
Протокол маршрутизации (англ. routing protocol) — сетевой протокол, определяющий, каким образом маршрутизаторы обмениваются друг с другом информацией, позволяющей выбирать пути между узлами в компьютерной сети. Маршрутизаторы осуществляют функции направления трафика в Интернете. Пакеты данных пересылаются через сеть Интернет от одного маршрутизатора к другому, пока не достигнут конечного компьютера назначения. За выбор конкретного маршрута отвечают алгоритмы маршрутизации. Каждый маршрутизатор изначально знает только о сетях, непосредственно к нему подключённых. Протокол маршрутизации сначала распространяет эту информацию между ближайшими соседями, а затем по всей сети. Таким образом, маршрутизаторы получают сведения о топологии сети. Именно способность протоколов маршрутизации динамически адаптироваться к изменяющимся условиям, таким как отказ соединений и компонентов, а также перенаправлять данные в обход препятствий, обеспечивает Интернету высокую отказоустойчивость и доступность[1][2].
Особенности протоколов маршрутизации включают способы предотвращения петель маршрутизации, методы выбора предпочтительных маршрутов с использованием информации о стоимости перехода, время, необходимое для достижения сходимости маршрутизаторов, масштабируемость, а также другие параметры, такие как мультиплексирование передающих узлов и параметры облачных платформ. Дополнительные характеристики, например многоуровневое взаимодействие, могут использоваться для распределения защищённых сетевых шлюзов между авторизованными портами, что также способствует предотвращению проблем с петлями протоколов маршрутизации.
Многие протоколы маршрутизации определяются в документах технических стандартов, известных как RFC, а также в актуальных рабочих черновиках (drafts), таких как draft-ietf-grow-bgpopsecupd-15, который предлагает обновлённые практики для обеспечения безопасности и отказоустойчивости протокола BGP[3].
Для обеспечения безопасности сетевых коммуникаций институтом NIST были финализированы стандарты постквантовой криптографии: ML-KEM (FIPS 203), ML-DSA (FIPS 204) и SLH-DSA (FIPS 205)[4].
Виды
Существует множество видов протоколов маршрутизации, однако в IP-сетях наибольшее распространение получили три основных класса:
- Протоколы внутреннего шлюза (IGP) типа 1, протокол маршрутизации с отслеживанием состояния каналов, например OSPF и IS-IS.
- Протоколы внутреннего шлюза (IGP) типа 2, протокол маршрутизации на основе вектора расстояния, например RIP, RIPv2, IGRP.
- Протоколы внешнего шлюза (EGP) используются для обмена маршрутной информацией между автономными системами в Интернете, например Border Gateway Protocol (BGP), который основан на протоколе маршрутизации по векторам путей. Не следует путать современные внешние протоколы с окончательно устаревшим и неиспользуемым Exterior Gateway Protocol (EGP)[5].
- Segment Routing (SR-MPLS, SRv6) представляет собой архитектуру маршрутизации от источника и не выделяется в отдельный класс протоколов, а рассматривается как расширение существующих протоколов внутреннего шлюза с отслеживанием состояния каналов (IGP)[6][7].
Соответствие уровню OSI
В соответствии с сетевой моделью OSI, протоколы маршрутизации относятся к протоколам управления 3-го уровня (сетевого), независимо от способа их транспортировки:
- IS-IS работает на канальном уровне (уровень 2).
- Open Shortest Path First (OSPF) инкапсулируется в IP, но работает только в подсетях IPv4; версия для IPv6 функционирует на уровне связи, используя только локальные адреса.
- IGRP и EIGRP инкапсулируются непосредственно в IP; EIGRP использует собственный механизм надёжной передачи, в то время как IGRP подразумевает ненадёжный транспорт.
- RIP работает поверх UDP; версия 1 используется в режиме широковещания, а версия 2 — с многоадресной рассылкой.
- BGP работает поверх TCP.
- Протоколы туннелирования GRE и IP6GRE работают на сетевом уровне[8].
Протоколы внутреннего шлюза
Протокол внутреннего шлюза (IGP, англ. Interior Gateway Protocol) обменяется маршрутной информацией внутри одного маршрутизируемого домена. Примеры IGP:
- Open Shortest Path First (OSPF)
- Routing Information Protocol (RIP) — имеет ограниченное использование в legacy-сетях[9][10].
- Intermediate System to Intermediate System (IS-IS)
- Enhanced Interior Gateway Routing Protocol (EIGRP) — продвинутый дистанционно-векторный (гибридный) протокол, фактически не поддерживаемый сторонними вендорами[11][12].
Согласно RFC 9513, в протоколе OSPFv3 реализована поддержка Segment Routing (SRv6)[13].
Протоколы внешнего шлюза
Протокол внешнего шлюза (EGP, англ. Exterior Gateway Protocol) используется для обмена маршрутной информацией между автономными системами. Примеры:
- Exterior Gateway Protocol (EGP) — окончательно устарел и заменён протоколом BGP[14]
- Border Gateway Protocol (BGP)
В качестве альтернатив BGP для обмена маршрутной информацией в частных сетях и облаках выделяют такие решения, как SCION (обеспечивает многопутевую маршрутизацию и криптографическую проверку пути) и noBGP (заменяет традиционное анонсирование маршрутов на доступ между рабочими нагрузками на основе политик)[15][16].
Безопасность и уязвимости
Современные протоколы маршрутизации подвержены ряду уязвимостей, влияющих на глобальную сетевую связность. Протокол BGP уязвим к перехвату маршрутов (BGP-хайджекинг) и утечкам маршрутов (route leaks), что может приводить к масштабным сбоям и потере трафика. Для предотвращения инцидентов применяется инфраструктура RPKI, однако её глобальное внедрение остаётся непоследовательным[17].
Для защиты от атак на BGP применяются следующие методы:
- Механизм BGP Role (RFC 9234), который вводит атрибут «Only to Customer» (OTC) для предотвращения утечек маршрутов[18].
- Системы мониторинга и автоматического реагирования (например, ARTEMIS), способные обнаруживать и нейтрализовать перехват префиксов в течение минуты[19].
- Архитектура SCION, обеспечивающая сквозную криптографическую проверку пути. При этом внедрение стандарта BGPsec признано нецелесообразным из-за высоких вычислительных накладных расходов и необходимости одновременного обновления оборудования[20].[21]
Магистральные протоколы туннелирования, такие как GRE и IPv4-in-IPv6, не имеют встроенной аутентификации и шифрования, что делает их уязвимыми для DoS-атак с усилением трафика. Основными методами защиты являются внедрение IPsec или полная блокировка данных протоколов на уровне межсетевого экрана, если их использование не требуется[22].[23]
Аномальная маршрутизация и обход DPI
Для обхода систем глубокого анализа трафика (DPI) и интернет-цензуры применяются методы нестандартной обработки пакетов, маскировки и обфускации, которые делают защищённое соединение неотличимым от обычного веб-сёрфинга[24]. К основным принципам работы аномальной маршрутизации и обхода блокировок относятся:
- Инкапсуляция и туннелирование: трафик оборачивается в SSL/TLS и направляется через TCP-порт 443, имитируя стандартное HTTPS-соединение.
- Морфинг трафика и скремблирование: изменяются размеры пакетов, их заголовки и временные интервалы отправки, добавляются случайные байты, а сеансы рандомизируются[24].
- Фрагментация: данные разбиваются на части, чтобы система DPI не могла собрать их воедино и распознать запрещённый паттерн[24].
- Протокол REALITY: метод заимствует реальное TLS-рукопожатие у легитимных сайтов, делая трафик похожим на настоящее подключение к популярным ресурсам.
- Отправка «мусорных» пакетов: перед подключением отправляются случайные пакеты, что нарушает начальное распознавание протокола системой фильтрации[25].
Современные методы обфускации эффективны против сложных систем DPI, однако их стабильность зависит от настроек оборудования провайдера. Сами по себе эти методы не обеспечивают безопасность данных, а лишь помогают установить защищённый канал связи[24].
Программное обеспечение маршрутизации
Программные реализации большинства распространённых протоколов маршрутизации представлены в различных продуктах. Примеры свободного программного обеспечения: Bird Internet routing daemon, FRRouting (FRR) (современный преемник Quagga и GNU Zebra с поддержкой BGP, EVPN и Segment Routing[26]), OpenBGPD, OpenOSPFD, XORP. Для облачных сред применяются современные cloud-native реализации BGP, такие как Cilium BGP Control Plane, MetalLB и GoBGP[27].
Маршрутизируемые протоколы
В некоторых курсах по сетевым технологиям различают протоколы маршрутизации и маршрутизируемые протоколы. Маршрутизируемый протокол предназначен для передачи пользовательского трафика. Он содержит адресную информацию на сетевом уровне, необходимую для пересылки пакетов между разными сетями. Примеры маршрутизируемых протоколов — IP и IPX.
Примечания
Литература
- Глава «Основы маршрутизации» в «Internetworking Technology Handbook» компании Cisco (на англ.)