Основы и возможности — различия между версиями
imported>Artem (→4.3. EIGRP Hello пакеты) |
imported>Artem (→4.3. EIGRP Hello пакеты) |
||
| Строка 144: | Строка 144: | ||
Можно регулировать интервал рассылки hello-пакетов, изменением параметра hello-interval | Можно регулировать интервал рассылки hello-пакетов, изменением параметра hello-interval | ||
| − | '''ip hello-interval eigrp''' '' as-number seconds'' | + | '''ip hello-interval eigrp''' '' as-number seconds'' //на интерфейсе |
Hello-пакеты содержат hold-time - максимальное время, в секундах, которое маршрутизатор будет ждать каких-либо сообщений (hello или некоторых других) от соседа, прежде чем он сочтет соседа недоступным. По умолчанию равно трем hello-интервалам, но может быть изменено администратором. Т.е. для LAN - 15 сек., а для WAN или более медленных интерфейсов - 180 сек. | Hello-пакеты содержат hold-time - максимальное время, в секундах, которое маршрутизатор будет ждать каких-либо сообщений (hello или некоторых других) от соседа, прежде чем он сочтет соседа недоступным. По умолчанию равно трем hello-интервалам, но может быть изменено администратором. Т.е. для LAN - 15 сек., а для WAN или более медленных интерфейсов - 180 сек. | ||
Версия 19:04, 8 февраля 2012
EIGRP (Enhanced Interior Gateway Routing Protocol) является собственным протоколом маршрутизации Cisco. Его называют гибридным, т.к. он объединяет в себе лучшее из дистанционно-векторных (distance-vector) протоколов с алгоритмами протоколов состояния канала (link-state).
EIGRP имеет преимущества по сравнению с устаревшими дистанционно-векторными протоколами, такими как RIPv1 и IGRP, предлагая быструю сходимость, низкое использование полосы пропускания, поддержку IP, IPX и AppleTalk, поддержку бесклассовой маршрутизации CIDR и масок подсетей переменной длины VLSM. Для достижения некоторых из этих преимуществ, EIGRP использует особенности link-state протоколов, например частичные обновления (partial update) и обнаружение соседей (neighbor discovery).
Содержание
1. Особенности EIGRP
EIGRP имеет следующие ключевые особенности:
- Быстрая сходимость - Используется DUAL. Маршрутизатор EIGRP сохраняет всех своих соседей в таблице, что позволяет быстро находить альтернативные маршруты в случае пропадания основных. Если соответствующий маршрут не найден в локальной таблице маршрутизации, и нет запасного маршрута, то маршрутизатор опрашивает соседей о наличии альтернативных маршрутов. Запросы будут рассылаться маршрутизатором до тех пор, пока не будет получен маршрут или обнаружится, что маршрута не существует.
- Поддержка VLSM - EIGRP является протоколом бесклассовой маршрутизации. Это означает, что маршрутизатор включает в объявления маску подсети. EIGRP автоматически суммирует маршруты до границы класса, однако предусматривает настройку суммаризации до любой границы на любом интерфейсе.
- Частичные обновления - EIGRP посылает частичные тригерные обновления, а не периодические. Обновления посылаются только при изменениях пути или метрики маршрута и содержат информацию только об этих изменениях линка, а не полные таблицы маршрутизации. Частичные обновления рассылаются только тем маршрутизаторам, которые в них нуждаются.
- Поддержка нескольких протоколов сетевого уровня - EIGRP поддерживает IPv4, IPv6, AppleTalk и Novell NetWare IPX используя PDM (protocol-dependent modules), отвечающие за требования протокола, которые специфичны для сетевого уровня. Быстрая сходимость EIGRP и сложная структура метрик предлагает большую производительность и стабильность при внедрении IP, IPv6 IPX и AppleTalk в сети.
- Независимость от протоколов канального уровня и топологии - EIGRP не нуждается в дополнительной конфигурации для работы через Layer 2 протоколы. Другие протоколы, такие как OSPF, используют различные настройки для различных канальных протоколов (например, Ethernet и Frame Relay). EIGRP эффективно функционирцет как в LAN, так и в WAN окружении, приспосабливается к различным скоростям и средам.
- Сложная метрика - Используется тот же алгоритм для расчёта метрики, что и в IGRP, но представляет значения в 32-битном формате, а не 24-битном. Метрика EIGRP рассчитывается на основе полосы пропускания и задержки. Однако, существует возможность вовлечь в процесс расчета метрики надежность, загрузку и MTU. Для балансировки может использовать маршруты с разными метриками.
- Использование мультикаста и юникаста - Обновления используют многоадресные (multicast) и одноадресные (unicast) пакеты вместо широковещательных. EIGRP multicast-адрес - 224.0.0.10. В результате, EIGRP потребляет значительно меньшую часть полосы пропускания канала по сравнению с IGRP.
Все сообщения EIGRP инкапсулируются в IP-пакеты, номер EIGRP в поле protocol IP-пакета — 88. (TCP - 6, UDP - 17).
2. Процессы и технологии в основе EIGRP
EIGRP содержит четыре модуля, которые отличают его от других протоколов маршрутизации:
- PDM
- RTP
- Обнаружение соседей и восстановление (Neighbor discovery/recovery mechanism)
- DUAL
2.1. PDM. Протокол-зависимые модули
PDM (Protocol-depended modules) удовлетворяют запросы протоколов сетевого уровня. Каждый из поддерживаемых протоколов сетевого уровня (IP, IPX или AppleTalk) имеет свой модуль, функционирующий отдельно от остальных.
IP-EIGRP модуль, например, отвечает за передачу и прием EIGRP-пакетов, в которые инкапсулируется поток IP. IP-EIGRP отвечает также за разбор EIGRP-пакетов и информировании DUAL о полученной информации. IP-EIGRP запрашивает от DUAL принятие решения о маршруте, результаты которого сохраняются в таблице маршрутизации для IP. IP-EIGRP отвечает за распределение маршрутов, изученных через IP-протокол.
2.2. RTP. Надежный транспортный протокол
RTP (Reliable Transport Protocol) отвечает за доставку EIGRP-пакетов всем соседям. RTP поддерживает multicast и unicast адресацию. Для эффективности только некоторые EIGRP-пакеты передаются надежным способом.
Например, в рамках Ethernet сети или другой сети с множественным доступом нет необходимости надежно передавать hello-пакеты каждому соседу в отдельности. Вместо этого, EIGRP посылает один multicast hello-пакет, содержащий индикатор, который информирует получателя, что данный пакет не нуждается в подтверждении. Другие виды пакетов, такие как пакет обновления, помечаются как нуждающиеся в подтверждении о получении.
RTP придерживается мнения, что multicast пакеты рассылаются быстрее, тем более если не нуждаются в подтверждении. Это гарантирует быструю сходимость независимо от скорости соединений.
2.3. Обнаружение соседей и восстановление
Обнаружение соседей и восстановление заставляет EIGRP маршрутизаторы динамически узнавать о других маршрутизаторах в непосредственно поключенных к ним сетях. Маршрутизаторы также должны обнаруживать, когда их соседи становятся недоступными или нерабочими. Это реализовывается периодической рассылкой небольших по размеру hello-пакетов. Пока маршрутизатор получает hello-пакеты от соседа, он считает, что сосед функционирует, и оба могу обмениваться маршрутной информацией. EIGRP должен постоянно поддерживать таблицу маршрутизации, следя за существующими соединениями, обнаруживая новых соседей и пропадание существующих.
2.4. DUAL
Алгоритм DUAL (Diffusing Update Algorithm) отслеживает все маршруты, анонсируемые всеми соседями, и использует информацию о расстоянии маршрута, называемую композитной метрикой или стоимостью, для эффективного выбора беспетлевых маршрутов ко всем получаетлям.
Наименьшая стоимость маршрута рассчитывается сложением AD (advertised distance - объявленное расстояние) - стоимости маршрута между соседним маршрутизатором и местом назначения и стоимости маршрута между локальным маршрутизатором и соседом. Сумма этих стоимостей называется возможным расстоянием FD (feaseible distance).
FD = AD + расстояние до соседа
Преемником (successor), также называемый текущим преемником, является соседний маршрутизатор, маршрут через который имеет наименьшую стоимость до места назначения (наименьший FD). Successor используется для доставки пакетов к данному месту назначения. Каждое место назначения, для которого определены один или более преемников, записан в таблице топологии. Для каждого места назначения в таблице топологии выбирается маршрут с наименьшей метрикой и помещается в таблицу маршрутизации.
Для места назначения может существовать и более одного преемника, если они имеют одинаковый FD. По умолчанию в таблицу маршрутизации могут быть помещены не более четырех перемников. Однако, это число может быть увеличено до шести при помощи настроек.
DUAL сохраняет также резервные маршруты. Соседний маршрутизатор, через который проходит резервный маршрут, называется возможным преемником (feasible successor). Чтобы стать возможным преемником, маршрут через соседний маршрутизатор должен иметь AD меньше чем FD. Другими словами, соседний маршрутизатор должен быть ближе к месту назначения, чем локальный.
При пропадании маршрута, проходящего через преемника, или при изменении его метрики, DUAL проверяет маршруты возможных преемников и выбирает из них наилучший для передачи пакетов. В случае отсутствия возможных преемников, маршрут должен быть заново пересчитан для определения преемника.
3. Терминология EIGRP
- Таблица соседей (neighbor table) - EIGRP-маршрутизаторы используют пакеты hello для обнаружения соседей. Когда роутер обнаруживает и формирует отношение соседства (adjacency) с новым соседом, он включает адрес соседа и интерфейс, через который сосед доступен, в таблицу соседей. Всё это напоминает протоколы, учитывающие состояние канала: цель одна - убедиться в двухсторонней коммуникации между двумя смежными маршрутизаторами. Для каждого сетевого протокола своя таблица соседей!
- Таблица топологии (topology table) — При обнаружении соседа, маршрутизатор отправляет анонс с известными ему маршрутами и получает анонс с маршрутами, известными соседу. Эти обновления и составляют таблицу топологии. Топологическая таблица содержит все сети и подсети, анонсированные соседями. Другими словами, каждый маршрутизатор хранит таблицы маршрутизации соседей в собственной топологической таблице EIGRP. Если сосед сообщает локальному маршрутизатору о маршруте, то сосед должен использовать этот маршрут для передачи трафика. Это правило обязательно должно соблюдаться для всех дистанционно-векторных протоколов.
- Advertised distance and feasible distance - DUAL использует для расчёта наилучшего пути информацию о расстоянии (метрика или стоимость)
- Advertised distance (AD) — стоимость расстояния между соседним маршрутизатором, который анонсирует маршрут и сетью назначения.
- Feasible distance (FD) — стоимость расстояния от локального маршрутизатора до сети назначения = AD, которое анонсирует соседний маршрутизатор + стоимость расстояния между локальным маршрутизатором и соседним маршрутизатором.
- Successor — соседний маршрутизатор (или current successor) с путем без петель и с наименьшей стоимостью пути к сети назначения (FD). Может быть несколько Successor, если они имеют одинаковую FD. Маршуты Successor используются для перенаправления пакетов (?).
- Таблица маршрутизации (routing table) — таблица содержит наилучшие маршруты к всем получателям и используется для перенаправления пакетов. Маршруты EIGRP successor предлагаются в таблицу маршрутизации. По-умолчанию, каждый протокол маршрутизации может добавлять в таблицу маршрутизации до 4 маршрутов к одному получателю с одинаковой метрикой. Для каждого маршрутизируемого протокола своя таблица маршрутизации.
- Feasible Successor (резервный маршрутизатор) — Наряду с хранением путей с наименьшей стоимостью, DUAL так же хранит и резервные маршруты к каждому получателю. Next-hop маршрутизатор с путем без петель (AD feasible successor должно быть меньше чем FD текущего маршрута successor). FS-это сосед, который ближе всего к получателю, но не относится к промежуточным устройствам оптимального, маршрута с наименьшей метрикой, пути, и не используется для передачи трафика. FS - next-hop маршрутизатор должен иметь AD меньше, чем FD маршрута соседнего маршрутизатора (требуется для исключения петель). FD выбираются в одновременно с Successor, но находится в таблице топологии, которая может содержать несколько FS для адресата.
EIGRP использует DUAL для вычисления наилучшего пути к получателю. DUAL выбирает соседних (successor) маршрутизаторов и FS маршруты на основе композитной метрики и цели выбрать маршруты без петель.
4. Работа протокола EIGRP
Объясняются механизмы создания разных таблиц EIGRP и описываются 5 типов пакетов. Также тут объясняется, как EIGRP маршрутизаторы становятся соседями, начальные процессы при поиска маршрутов, как выбираются маршруты. Как работает DUAL.
4.1. заполнение таблицы
Процесс выбора маршрутов в EIGRP наиболее сильно отличается от других протоколов маршрутизации. EIGRP выбирает основные [primary] (successor) и запасные (feasible successor) маршруты. Они помечены в качестве таковых в топологической таблице. Основные маршруты затем перемещаются в таблицу маршрутизации.
- internal -- внутренние маршруты AS (автономной системы) EIGRP. AD -- 90,
- external -- маршруты, перераспределенные в процесс EIGRP из других источников (других протоколов или другой AS EIGRP). AD -- 170,
- summary -- суммарные маршруты EIGRP. AD -- 5 (по умолчанию, может быть любое - задается администратором при написании команды суммирования).
- Таблица соседей - содержит список маршрутизаторов, с которыми установлено соседство.
- Топологическая таблица - содержит все полученные маршруты ко всем адресатам.
- Таблица маршрутизации - содержит лучший маршрут к каждому получателю.
4.1.1 Таблица соседей
Включает адрес каждого соседа и интерфейс, к которому он сосед подключён (can be reached). А так же запись (из таблицы) содержит информацию, требуемую протоколу RTP:
- Sequence number - используется для сохранения порядка пакетов;
- Transmission list - содержит очередь пакетов, нуждающихся в повторной пересылки, если не было получено ACK;
- Round trip timer — используется для расчёта оптимального интервала для повторной передачи.
4.1.2 Топологическая таблица
Каждый маршрутизатор пересылает копию таблицы маршрутизации соседям из таблицы соседей. Каждый маршрутизатор затем сохраняет таблицы маршрутов соседей в БД, называемой топологической таблицей. Он содержит метрики, которые соседи анонсируют для каждого получателя (AD) и метрики, которые этот маршрутизатор будет использовать для достижения адресата через этого соседа (FD).
show ip eigrp topology all-links - покажет все IP записи в топологической таблице. show ip eigrp topology - покажет только successor'ов (соседей) и feasible successor'ов для IP-маршрутов.
Таблица топологии обновляется если напрямую подключённый маршрут или интерфейс изменяется, или когда сосед сообщает об изменившемся маршруте.
Запись в топологической таблице может иметь два состояния
- Passive - маршрутизатор не выполняет перерасчёт для маршрута (не ищет нового successor). Стабильное состояние.
- Active - для данной записи выполняется перерасчёт маршрутов (ищется новый successor).
Если маршрут через successor становится неверным (например, топология изменилась) или если потерялся сосед, или изменилась метрика, DUAL проверяет fisible successor на destination. Если FS находится, DUAL использует его, и перерасчёта не происходит. Как результат - быстрая конвергенция. Если FS всегда доступен, destination никогда не переходил в статус "активный", перерасчёта не происходит.
Перерасчёт происходит когда текущий маршрут к получетелю (т.е. другими словами - соседний маршрутизатор) падает, и у нашего роутера нет FS для destination. Хотя процесс перерасчёта не особо требователен к ресурсам процессора, всё-таки следует его избегать, т.к. он влияет на время конвергенции.
Маршрутизатор инициирует пересчет отправляя запрос (отправляет query packet) каждому соседнему маршрутизатору. Если у соседа есть маршрут к destination, то он отвечает (отправляет reply packet), если маршрута нет — сосед отправляет запрос своим соседям. В это случае маршрут на соседе переходит в состояние "активный" и маршрутизатор не может обмениваться с другими маршрутизаторами этим маршрутом.
Маршрутизаторы, которые не имеют других соседей и маршрутизаторы, которые знают, что маршрут недоступен (не знаю о нём?) отвечают за запросы сразу, сообщая, что маршрут недоступен. Когда маршрутизатор получает ответы (reply) на все запросы (query), он отвечает на запросы соседа и так далее (один соседа, тот запрашивает своих, те своих и т.д.). Маршрут переходит в стабильное состояние "Passive", и маршрутизатор выбирает successor, когда в топологической таблице появляется хотя бы одна запись для получателя. Если записи нет, значит получатель больше не доступен для этого маршрутизатора.
4.1.3 Таблица маршрутизации
Таблица маршрутизации заполняется маршрутами из таблицы топологии. Каждый маршрутизатор изучает свою топологическую таблицу и определяет лучший и feasible маршрут ко всем получателям в сети. Маршрутизатор сравнивает все FD'ы для относящиеся к одному получателю и затем выбирает маршрут с наименьшим FD и помещает его в таблицу маршрутизации. Это successor маршрут. FD для выбранного successor маршрута становится метрикой в таблице маршрутизации EIGRP для достижения этой сети.
4.2. Типы пакетов в EIGRP
EIGRP использует 5 типов сообщений для установления отношений с соседями и поддержки топологической и маршрутной таблиц в актуальном состоянии:
- Hello — маршрутизаторы используют hello-пакеты для обнаружения соседей. Пакеты отправляются multicast и не требуют подтверждения о получении.
- Update — содержится информация об изменении маршрутов. Они отправляются только маршрутизаторам, которых касается обновление. После того как сосед найден, update-пакеты посылаются ему одноадресно, и тот использует их для заполнения своей таблицы топологии. Update-пакеты также используются, если маршрутизатор обнаруживает изменение топологии. В этом случае EIGRP многоадресно, мультикастом, рассылает пакет всем соседям, извещая их об изменениях. Все update-пакеты требуют подтверждения о получении ACK.
- Query — когда маршрутизатор выполняет подсчет маршрута и у него нет feasible successor, он отправляет query-пакет своим соседям для того чтобы определить нет ли feasible successor для этого destination у них. Обычно query-пакеты отправляются multicast, но могут быть и unicast в некоторых случаях. Получение query-пакета подтверждается отправкой ACK получателем пакета.
- Reply — маршрутизатор отправляет reply-пакет в ответ на query-пакет. Reply-пакеты отправляются unicast тому, кто отправил query-пакет. Получение reply-пакета подтверждается отправкой ACK.
- ACK — пакет, который подтверждает получение пакетов update, query, reply. ACK-пакеты отправляются unicast и содержат в себе acknowledgment number. Фактически это hello-пакеты, которые не передают данных. Используется негарантированная доставка.
Hello-пакет - первое, чем обмениваются EIGRP маршрутизаторы.
4.3. EIGRP Hello пакеты
hello-пакетами EIGRP-маршрутизаторы обнаруживают соседей - других EIGRP маршрутизаторов, подключённых к ним. Маршрутизатор шлёт hello-пакеты через интерфейсы, сконфигурированные для работы EIGRP, на мультикаст адрес 224.0.0.10. Когда маршрутизатор получает hello-пакет от маршрутизатора, принадлежащего той же самой автономной системе, он устанавливает с ним соседство (adjacency).
Внимание! Автономная система в EIGRP не тоже самое, что AS в BGP! В EIGRP - это группа маршрутизаторов, на которых
запущен одинаковый протокол.
Интервал рассылки hello-пакетов зависит от среды. По-умолчанию, hello-пакеты отправляются каждые 60 сек в T1 каналах или медленных NMBA интерфейсах и каждые 5 секунд в других последовательных (serial) интерфейсах и LAN.
Внимание! The default of 60 seconds applies only to low-speed, NBMA media. Low speed is considered to be a rate of T1 or slower, as specified with thebandwidth interface configuration command. For the purposes of EIGRP, Frame Relay and Switched Multimegabit Data Service (SMDS) networks may be considered to be NBMA if the interface has not been configured to use physical multicasting. Otherwise, they are considered not to be NBMA.
Можно регулировать интервал рассылки hello-пакетов, изменением параметра hello-interval
ip hello-interval eigrp as-number seconds //на интерфейсе
Hello-пакеты содержат hold-time - максимальное время, в секундах, которое маршрутизатор будет ждать каких-либо сообщений (hello или некоторых других) от соседа, прежде чем он сочтет соседа недоступным. По умолчанию равно трем hello-интервалам, но может быть изменено администратором. Т.е. для LAN - 15 сек., а для WAN или более медленных интерфейсов - 180 сек.
Настрийка hold-time
ip hold-time eigrp as-number seconds //на интерфейсе
В отличие от OSPF, которые требует идентичности hello- и dead-интервалов у всех маршрутизаторов области, EIGRP не имеет таких ограничений. Маршрутизатор узнает значения интервалов соседей из hello-пакетов, и использует эту информацию для стабильной ассоциации с ними.