Шрифт:
8.12.5 Возможности EIGRP
Улучшения в EIGRP основаны на тех же метриках и вычислении расстояния, что и обычные свойства этого протокола. Однако расширение свойств существенно улучшает возможности EIGRP за счет поддержки маски подсети и исключения периодических изменений. Пересылаются только реальные изменения, a EIGRP обеспечивает проверку их получения путем анализа обратного сообщения о подтверждении приема. Простые периодические сообщения Hello! (Привет!) позволяют узнать об активности своих ближайших соседей. Еще одним важным усовершенствованием стало применение диффузионного алгоритма для изменений (Diffusing Update Algorithm — DUAL), гарантирующего маршрутизацию без зацикливания.
8.12.6 DUAL в EIGRP
Основная идея DUAL проста и основана на следующем наблюдении:
Если путь постоянно приближает к точке назначения, то он не может сформировать зацикливание.
С другой стороны, если путь зациклен (т.е. образует кольцо), он будет содержать маршрутизатор, расстояние которого до точки назначения больше, чем у предшествующего маршрутизатора (см. рис. 8.11).
Рис. 8.11. Маршрут с формированием зацикливания
Метод DUAL разработан для поиска таких путей, на которых каждый маршрутизатор при движении к точке назначения стоит ближе каждого своего предшественника. Маршрутизатор E на рис. 8.11 порождает серьезные подозрения, поскольку сведения от ближайшего маршрутизатора, следующего по пути движения (Z), в сообщениях будут иметь большую метрику, чем в собственной таблице E.
8.12.7 Таблицы топологии в DUAL
Для реализации DUAL протокол EIGRP сохраняет информацию, которой не пользуется IGRP. EIGRP хранит информацию о маршрутах для каждого соседнего маршрутизатора, извлекая ее из сообщений об изменениях от этих маршрутизаторов (IGRP игнорирует любую информацию о неоптимальных маршрутах). Эта информация хранится в дополнительной таблице топологии (topology table), содержащей следующие сведения:
Точка назначения | Ближайший сосед | Метрика ближайшего соседа | Собственная текущая метрика |
---|
8.12.8 Пригодный преемник в DUAL
Наиболее интересными в таблице топологии являются сведения о пригодном преемнике (feasible successor), которым для маршрутизатора является его ближайший сосед, находящийся в текущий момент ближе к точке назначения, чем он сам.
Когда существует, по крайней мере, один пригодный преемник, то можно достичь точки назначения, и для данного пути текущим является пассивное (passive) состояние DUAL. Однако когда поступившие изменения меняют картину и пригодный преемник теряется, маршрутизатор начинает опрос ближайших соседей, чтобы определить, нельзя ли переключиться на более длинный маршрут и не будет ли при этом сформировано зацикливание.
Рассмотрим этот процесс с более формальной точки зрения:
1. Предположим, что я могу достичь точки, где будет только один пригодный преемник на пути к точке назначения, через маршрутизатор Z.
2. Поступившие от Z изменения увеличат метрику Z. Более того, новое расстояние от Z до точки назначения больше, чем текущее расстояние. Это верный признак формирования зацикливания.
3. Я перехожу в активное (active) состояние и начинаю процесс пересчета маршрута (route recomputation).
4. Во время пересчета я продолжаю маршрутизировать данные через Z.
5. Я посылаю сообщение об изменениях (называемое query — запрос) всем ближайшим соседям, за исключением Z. В сообщении объявляется о моей новой, большей метрике расстояния до точки назначения.
6. Если сосед имеет один или более пригодных маршрутов, он посылает ответ и объявляет собственный верный путь к точке назначения.
7. Сосед, не имеющий пригодного пути, переходит в активное состояние (если только он уже не находится в нем) и посылает запросы своим соседям (может немедленно сообщить о том, что он в активном состоянии и выполняет пересчет).
8. Запросы распространяются в сети, пока не будут найдены все пригодные маршруты или запрос не дойдет до маршрутизатора, который точно знает, что данная точка назначения недостижима.
9. Когда маршрутизатор определяет для себя пригодный путь или недоступность точки назначения, он отсылает обратно ответ на полученный им запрос.
10. Когда придут ответы на все собственные запросы (не вторичные от других маршрутизаторов. — Прим. пер.), маршрутизатор переходит в пассивное состояние.
EIGRP показал, что вектор расстояния еще долго может использоваться при маршрутизации в сетях. В следующих разделах мы рассмотрим альтернативный способ — метод по состоянию связи.
8.13 Протокол OSPF
В 1988 г. комитет IETF начал работу над стандартом нового протокола для замены RIP. В результате была создана спецификация одного из протоколов IGP, призванная сначала открывать самый короткий путь (Open Shortest Path First — OSPF). OSPF был разработан как протокол маршрутизации для использования внутри всех автономных систем любых сайтов. В 1990 г. OSPF был рекомендован в качестве стандарта. Это нелицензированный протокол для общедоступного использования.