Протокол маршрутизации
Протокол маршрутизации (англ. routing protocol) — сетевой протокол, определяющий, каким образом маршрутизаторы обмениваются друг с другом информацией, позволяющей выбирать пути между узлами в компьютерной сети. Маршрутизаторы осуществляют функции направления трафика в Интернете. Пакеты данных пересылаются через сеть Интернет от одного маршрутизатора к другому, пока не достигнут конечного компьютера назначения. За выбор конкретного маршрута отвечают алгоритмы маршрутизации. Каждый маршрутизатор изначально знает только о сетях, непосредственно к нему подключённых. Протокол маршрутизации сначала распространяет эту информацию между ближайшими соседями, а затем по всей сети. Таким образом, маршрутизаторы получают сведения о топологии сети. Именно способность протоколов маршрутизации динамически адаптироваться к изменяющимся условиям, таким как отказ соединений и компонентов, а также перенаправлять данные в обход препятствий, обеспечивает Интернету высокую отказоустойчивость и доступность[1][2].
Особенности протоколов маршрутизации включают способы предотвращения петель маршрутизации, методы выбора предпочтительных маршрутов с использованием информации о стоимости перехода, время, необходимое для достижения сходимости маршрутизаторов, масштабируемость, а также другие параметры, такие как мультиплексирование передающих узлов и параметры облачных платформ. Дополнительные характеристики, например многоуровневое взаимодействие, могут использоваться для распределения защищённых сетевых шлюзов между авторизованными портами, что также способствует предотвращению проблем с петлями протоколов маршрутизации.
Многие протоколы маршрутизации определяются в документах технических стандартов, известных как RFC[3][4][5][6].
Виды
Существует множество видов протоколов маршрутизации, однако в IP-сетях наибольшее распространение получили три основных класса:
- Протоколы внутреннего шлюза (IGP) типа 1, протокол маршрутизации с отслеживанием состояния каналов, например OSPF и IS-IS.
- Протоколы внутреннего шлюза (IGP) типа 2, протокол маршрутизации на основе вектора расстояния, например RIP, RIPv2, IGRP.
- Протоколы внешнего шлюза (EGP) используются для обмена маршрутной информацией между автономными системами в Интернете, например Border Gateway Protocol (BGP), который основан на протоколе маршрутизации по векторам путей. Не следует путать современные внешние протоколы с устаревшим Exterior Gateway Protocol (EGP).
Соответствие уровню 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.
Протоколы внутреннего шлюза
Протокол внутреннего шлюза (IGP, англ. Interior Gateway Protocol) обменяется маршрутной информацией внутри одного маршрутизируемого домена. Примеры IGP:
Протоколы внешнего шлюза
Протокол внешнего шлюза (EGP, англ. Exterior Gateway Protocol) используется для обмена маршрутной информацией между автономными системами. Примеры:
- Exterior Gateway Protocol (EGP)
- Border Gateway Protocol (BGP)
Программное обеспечение маршрутизации
Маршрутизируемые протоколы
В некоторых курсах по сетевым технологиям различают протоколы маршрутизации и маршрутизируемые протоколы. Маршрутизируемый протокол предназначен для передачи пользовательского трафика. Он содержит адресную информацию на сетевом уровне, необходимую для пересылки пакетов между разными сетями. Примеры маршрутизируемых протоколов — IP и IPX.
Примечания
Литература
- Глава «Основы маршрутизации» в «Internetworking Technology Handbook» компании Cisco (на англ.)