Какой выбрать протокол маршрутизации?
Для начала давайте разберёмся с типами протоколов:
- Distance-Vector (DV) – RIP; EIGRP.
- Link-State (LS) – OSPF; IS-IS.
Основное отличие этих двух типов состоит в том, что протоколы LS строят полную топологию сети и держит её в памяти, вследствие чего каждый маршрутизатор знает всю сеть. В протоколах DV маршрутизаторы знают только о конечной сети, расстоянии до неё и о том, через какой интерфейс она доступна (или адрес следующего хопа).
Плюсы и минусы
И в том, и в другом подходе есть свои плюсы и минусы.
В качестве LS протокола разберём OSPF, так как IS-IS не так распространен. Различия в этих протоколах минимальны.
OSPF – открытый протокол маршрутизации, рассчитывающий топологию сети по алгоритму Дейкстры (или его ещё называют SPF — Shortest Path First). Вычисляется кратчайший маршрут до каждого маршрутизатора в зоне – метрика. Чем меньше метрика, тем лучше маршрут. То есть это своеобразная стоимость движения по выбранному маршруту.
Для больших сетей протокол OSPF удобен разделением сети на зоны (area). Маршруты между зонами можно передавать суммарными – появляется логика DV протоколов. То есть маршрутизатор в одной зоне может не знать топологию в другой зоне и посылает свой трафик только на пограничный маршрутизатор своей зоны.
Так как OPSF открытый протокол – нет привязки к конкретному производителю. Но при выборе вендора оборудования необходимо ознакомиться с документацией, так как многие производители делают свои доработки протокола, что может привести к несовместимости OSPF на разных маршрутизаторах разных производителей.
EIGRP – изначально проприетарный протокол, разработанный компанией Cisco (стал открытым в феврале 2013). Этот протокол относился к типу DV-протоколов. В отличии от протокола RIP, который рассчитывает только количество маршрутизаторов до удаленной сети, EIGRP в расчёте метрики изначально строит топологию всей сети с учетом 5 параметров: 1. Bandwidth (пропускная способность). Минимальная пропускная способность для данного маршрута (а не сумма цен (cost) в отличие от OSPF). 2. Delay (задержка). Суммарная задержка на всём пути маршрута. 3. Reliability (надежность). Наименьший показатель надёжности на всём пути маршрута, основанный на keepalive. 4. Loading (загруженность). Наименьший показатель загруженности интерфейса на всём пути маршрута, основанный на количестве трафика, проходящего через интерфейс и настроенном на нём параметре bandwidth. 5. MTU. Минимальный размер MTU на всём пути маршрута.
Как только топология построена и рассчитана стоимость всех маршрутов, EIGRP запоминает только сами маршруты. Всю топологию сети маршрутизатор не содержит в своей памяти.
Такой расчет метрики позволяет использовать самые оптимальные маршруты в сети. При этом EIGRP способен балансировать трафик с учётом загруженности канала или, например, отправлять трафик с учётом его пропускной способности в соотношении 80/20, распределяя нагрузку на двух каналах. Если мы не используем балансировку трафика, EIGRP запоминает альтернативные маршруты и в случае отказа основного канала мгновенно переключается на запасной (Backup).
В OSPF балансировать маршруты можно только с полностью идентичной метрикой. И при отказе одного маршрута пересчитывается вся топология, что в больших сетях занимает заметное время, плюс нагружается канал служебным трафиком.
При этом изначальная настройка EIGRP несколько проще, чем OSPF. Не надо задумываться о различных зонах и рассчитывать, какой именно маршрутизатор станет DR/BDR.
И что в итоге?
Делаем вывод, что протокол EIGRP хорош в плане балансировки трафика и в простоте его настройки. Однако, из-за отсутствия встроенного внутреннего разграничения на различные зоны, таблица маршрутизации на каждом маршрутизаторе в больших сетях (от 1000 маршрутизаторов) может занимать большие объемы оперативной памяти (но этот вопрос можно решить грамотным проектированием адресного пространства).
Второй недостаток – с протоколом EIGRP работает намного меньше специалистов, чем с протоколом OSPF. Чаще это специалисты Cisco. Третий недостаток протокола EIGRP – это его проприетарность. Хоть протокол и открыт с 2013 года, но до сих нет хороших реализаций среди различных вендоров, кроме самой Cisco.
Протокол OSPF работает практически на всём маршрутизирующем оборудовании. Есть встроенное разделение на зоны, что способствует уменьшению базы маршрутов и способствует масштабируемости сети.
В итоге стоит выбрать протокол OSPF для сетей, где существует «зоопарк» различного оборудования, и необходимо разделение на зоны для вертикальной иерархии.
EIGRP с учётом всех его плюсов перед OSPF стоит рассматривать только в тех случаях, когда вся сеть построена на оборудовании Cisco и не планируется закупка оборудования другого вендора.
Если появились вопросы, задавайте их в комментариях!