среда, 27 мая 2009 г.

Обнаружение и восстановление соседей EIGRP

Используя надежную доставку пакетов протокола маршрутизации, можно создать две новые проблемы:
Маршрутизатору нужно знать, как много других маршрутизаторов существует, то есть, сколько ответных подтверждений нужно ожидать.
Маршрутизатору нужно знать, нужно ли отстутсвие подтверждения понимать как «нет новой информации» или как «сосед отключен».
EIGRP испльзует концепцию соседства для решения этих проблем, рассылая периодические сообщения Hello. Первые из них используются для того чтобы построить список соседей, следующие за ними отслеживают, «жив» ли сосед. Если сообщения не приходят долгое время — период удержания — сосед удаляется из списка соседей EIGRP и маршрутизация перестраивается.

EIGRP начинает работу с обнаружения соседей. Сообщения Hello рассылаются через мультикаст, и соседи отвечают юникастовыми сообщениями. Обнаруженные соседи заносятся в таблицу соседей, чтобы убедиться что каждый из них ответил. Если сосед не ответил — ему отсылается «персональная» уникастовая копия, и это повторяется либо пока он не ответит, либо пока число повторов не достигнет 16 — в этом случае сосед удаляется из таблцы и EIGRP переходит к следующему шагу.
В любой момент сосед может вернуться и стать доступным для общения. В этом случае он посылает сообщение Hello и процесс маршрутизации с этим соседом будет начат снова.

Сложная метрика EIRGP.
Для вычисления метрики маршрута EIGRP использует «сложную» метрику, которая учитывает пропускную способность, загрузку, надежность и задержку маршрута. Формула вот такая:
metric = 256*(K1 * bandwidth * (K2*bandwith)/(256*load) + K3*delay)*(K5/(reliability +K4))

С первого взгляда эта формула может напугать, но некоторые объяснения помогают понять влияние отдельных значений на метрику, а значит и на выбор маршрута.

С помощью коэффициентов K форумулу можно подстраивать, увеличивая влияние тех или иных параметров маршрута на его вес.
Bandwith — это значение пропускной способности, заданное как 107kbps/скорость самого медленного линка на маршруте. Из-за того что протоколы маршрутизации выбирают наименьшие метрики, использование этого значения как делителя дает маршрутам с большой пропускной способностью меньшую метрику.
Load и reliability. Это 8-битные рассчетные значения, взятые из параметров соединения. Оба по-умолчанию умножаются на нулевые K-коэффициенты, так что не влияют на рассчет метрики.
Delay — это константное значение, которое определяется типом интерфейса. Например, последовательное соединение имеет задержку в 2000, а Ethernet — 1000 микросекунд (хотя на самом деле это могут быть и меньшие значения). EIGRP суммирует эти значения.

По-умолчанию K1 и K3 равны 1, остальные коэффициенты — 0. Но если подумать с точки зрения математики, при K5=0 метрика равна 0. Из-за этого маршрутизатор не учитывает все что есть за скобками в этом случае.
Таким образом, формула по-умолчанию:
метрика = 256 * ((10^7)/минимальная пропускная способность + сумма задержек/10)

Маршрутизаторы не будут становиться соседями, если их K-коэффициенты не совпадают. Также нет явных причин менять их, поэтому Cisco не рекомендует делать это.

Комментариев нет:

Отправить комментарий