Конфигурирование и проверка EIGRP
Описываются команды для конфигурирования и проверки работы протокола EIGRP;
- Планирование и базовая конфигурация EIGRP;
- Проверка работы;
- Использования команды passive-interface;
- Передача маршрута по умолчанию EIGRP;
- Суммирование.
Планирование и базовая конфигурация EIGRP
Planning for Basic EIGRP
Сеть, показанная на рисунке, должна быть настроена на использование EIGRP
- Шаг 1. Определить требования к сети;
- Шаг 2. Собрать необходимые параметры;
- Шаг 3. Определить параметры маршрутизации EIGRP;
- Шаг 4. Сконфигурировать EIGRP;
- Шаг 5. Проверить конфигурацию.
Требования и параметры
R1 и R2 находятся в 110 AS, R3 - в нешней сети, не являющейся частью AS. Требования для базового EIGRP следующие:
- План адресации - ip адреса всех интерфейсов устройств;
- номера автономных систем EIGRP - маршрутизаторы в одном домене используют один номер AS. В примере 110;
- Интерфейсы, на которых запущен протокол, и участвующие в маршрутизации сети EIGRP - интерфейсы используются для обмена различными сообщениями между соседями. В
- Bandwidth интерфейсов - т.к. BW - часть метрики. Чтобы влиять на выбор пути. В примере актуальная пп - 512 кбит/сек.
В ранних IOS стандартная BW для всех serial-портов была T1 (1.544 мегабита). Сейчас варьируется от типа интерфейса. Если стандартный параметр задержки на интерфейсе не отражает реальность, то можно воспользоваться командой
delay tens-of-microseconds.
Базовая конфигурация
В плане внедрения должны быть прописаны следующие задачи для базовой конфигурации EIGRP:
Шаг 1. - Включение EIGRP и назначение номера автономной системы:
R(config)#router eigrp <номер автономной системы>
Номер автономной системы должен быть одинаковым на всех маршрутизаторах, входящих в одну автономную систему.
Шаг 2. - Определение сетей, участвующих в маршрутизации EIGRP:
R(config)#network <IP-адрес сети> [<wildcard-маска>]
<IP-адрес сети> - непосредственно подключенная к маршрутизатору сеть. Этот параметр инструктирует EIGRP, что соединения, принадлежащие данной сети, должны объявляться соседям, а интерфейсы, назначенные данной сети, должны принимать EIGRP-объявления. <wildcard-маска> - необязательный аргумент, уточняющий маску подсети. Маска подсети может быть введена как в wildcard-формате, так и в обычном. Например команды network 10.10.10.0 255.255.255.252 и network 10.10.10.0 0.0.0.3 идентичны.
Если опциональная wildcard-маска не используется, то процесс маршрутизации EIGRP будет работать со всеми напрямую подключёнными сетям, относящимися к классовой сети (А, В или С) и попытается установить соседские отношения через каждый такой интерфейс.
Шаг 3. - Определение полосы пропускания последовательных соединений (serial links). По умолчанию EIGRP рассматривает полосу пропускания последовательных соединений как 1544 кбит/с. В случае, если скорость соединения отлична от 1544 кбит/с, необходимо применить команду bandwidth на интерфейсе для правильного расчета метрик EIGRP:
R(config-if)#bandwidth <скорость>
<скорость> - аргумент, определяющий полосу пропускания интерфейса в кбит/с. Например, для соединения в 64 кбит/с команда будет: bandwidth 64.
Команда Bandwidth носит чисто информационный характер и реально никак не влияет на скорость соединения. Однако, стоит помнить, что она участвует в процессе расчёта метрик. Если соединения на самом деле медленнее, чем стандартное значение BW, это может привести к тому, что конвергенция не сможет произойти или обновления маршрутизации будут потеряны.
Для последовательных интерфейсов с инкапсуляцией PPP или HDLC нужно устанавливать bandwidth равным скорости линии. Для point-to-point интерфейсов Frame Relay - равным CIR (гарантированная скорость передачи). Для multipoint интерфейсов Frame Relay - равным сумме всех CIR, или, если виртуальные каналы (PVC) имеют различную скорость - равным минимальному CIR, умноженному на количество PVC.
BW полоса пропускания канала используется, например, протоколом TCP при повторной передаче.
Пример базовой конфигурации
Конфигурация R1 показана в примере 1 (Конфигурация R2 аналогична)
Пример 1
interface FastEthernet0/0 ip address 172.16.1.1 255.255.255.0 interface Serial0/0/1 bandwidth 512 ip address 192.168.1.101 255.255.255.254 interface Serial0/0/2 ip address 172.16.5.1 255.255.255.0 router eigrp 110 network 172.16.1.0 0.0.0.255 network 192.168.1.0
Из схемы и конфигурации R1 видно, что он анонсирует R2 маршрут к полной классовой сети 172.16.0.0, так как используется автосуммирование. R1 не сконфигурирован для работы RIGRP на 172.16.5.0 (указана масска 0.0.0.255), поэтому он не пытается установить соседство с R3.
Другой пример базовой конфигурации
Рассмотрим начальную конфигурацию EIGRP для маршрутизатора A. Данный маршрутизатор, как и остальные, принадлежит автономной системе с номером 109. Непосредственно к нему подключены четыре подсети: 10.1.0.0, 10.4.0.0, 172.16.2.0, 172.16.7.0. Если не использовать wildcard-маску в объявлении сетей, то команды начальной конфигурации будут выглядеть так:
A(config)#router eigrp 109 A(config-router)#network 10.0.0.0 A(config-router)#network 172.16.2.0
Нам не нужно указывать точные IP-адреса подсетей. Если не используется wildcard-маска, маршрутизатор обнуляет хостовую часть IP-адреса подсети до границы класса. Другими словами, объявление всех подсетей 10.1.0.0, 10.4.0.0, 172.16.2.0, 172.16.7.0 привело бы к точно такому же результату, что и команды выше.
Wildcard-маска может использоваться для конкретизации интерфейсов и подсетей, участвующих в EIGRP. Например, представим, что маршрутизатор E является внешним, не входящим в автономную систему 109, и мы не желаем обмениваться с ним EIGRP-информацией. Это сэкономит полосу пропускания и процессорное время маршрутизатора. В этом случае команды начальной конфигурации будут выглядеть следующим образом:
A(config)#router eigrp 109 A(config-router)#network 10.1.0.0 0.0.255.255 A(config-router)#network 10.4.0.0 0.0.255.255 A(config-router)#network 172.16.2.0 0.0.0.255
Видно, что подсеть 172.16.7.0 не объявлена. Маршрутизатор A не устанавливает соседские отношения с маршрутизатором E, не посылает и не принимает EIGRP-пакеты через эту подсеть, и не рассказывает о ней своим соседям.
Проверка работы EIGRP
| Команда | Описание |
|---|---|
| show ip eigrp neighbors | выдаёт список соседей, обнаруженных EIGRP |
| show ip route | Показывает текущие записи в таблице маршрутизации для всех сконфигурированных протоколов маршрутизации. |
| show ip route eigrp | Показывает записи EIGRP в таблице маршрутизации |
| show ip protocols | Показывает параметры и текущий статус активных протоколов маршрутизации. Для EIGRP показывает номера AS, фильтрацию и redistribution numbers, соседей и информацию о дистанциях |
| show ip eigrp interfaces | Показывает информацию о задействованных EIGRP интерфейсах |
| show ip eigrp topology | Показывает топологическую таблицу EIGRP, статусы (active и passive) для маршрутов, число successor, FD для назначения. Внимание! Показываются только successor и feasible successor маршруты. Добавьте к команде all-links чтобы показать все маршруты. |
| show ip eigrp traffic | Показывает число полученных и отправленных пакетов EIGRP. Показывает статистику по hello-пакетам, обновлениям, запросам, ответам и ACK |
Используйте команду debug с осторожностью! Может быть требовательна к ресурсам, что повлияет на работу сети. Вывод дебага имеет более высокий приоритет, чем другой сетевой трафик.
| Команда | Описание |
|---|---|
| debug eigrp packets | Отображает типы пакетов EIGRP, полученных и отправленных. Максимум 11 типов пакетов может быть выбрано для отдельного или группового отображения. |
| debug ip eigrp | Отображает всю доступную отладочную информацию EIGRP, касающуюся протокола IP. Отображает пакеты, которые отправлены или получены на интерфейсе. Т.к. команда генерирует много информации, используйте только, когда трафик в сети небольшой. |
| debug ip eigrp summary | Разрешает отладку процедур, связанных с обработкой суммарных маршрутов EIGRP |
| debug eigrp neighbors | Отображает процесс поиска соседей и содержание hello-пакетов |
Проверка соседей
Команда show ip eigrp neighbors отображает содержание таблицы соседей.
R1#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.1.102 Se1/0 14 00:02:27 44 2280 0 3
- H (handle) - внутренний номер EIGRP-соседа. Данное поле заполняется по мере обнаружения соседей.
- Address - адрес сетевого уровня соседнего маршрутизатора.
- Interface - интерфейс, через который был обнаружен соседний маршрутизатор.
- Hold (hold time) - время в секундах, в течении которого маршрутизатор ждет EIGRP-пакет от соседа, прежде чем объявить его недоступным.
- Uptime - время продолжительности соседских отношений с данным маршрутизатором.
- SRTT (smoothed round-trip time - усредненная круговая задержка). Среднее время необходмое для отправки EIGRP-пакета и получения подтверждения.
- RTO (retrnsmisson timeout - таймер повторной передачи) - время в мс, в течении которого маршрутизатор ждет от соседа подтверждения получения пакета, прежде чем выслать пакет повторно. Когда маршрутизатор передает update-, query- или reply-пакет, он помещает копию этого пакета в очередь, которая затем используется для повторной отправки. RTO вычисляется на основе SRTT.
- Q Cnt (queue count) - число пакетов ожидающих в очереди. Если это значение постоянно поднимается выше 0, это указывает на наличие чрезмерной загрузки соединения.
- Seq Num - последовательный номер последнего update-, query- или reply-пакета, полученного от соседа. Используется для обнаружения нарушения порядка пакетов.
Детальную информацию можно получить командой show ip eigrp neighbors detail
R1#show ip eigrp neighbors detail
IP-EIGRP neighbors for process 110
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.1.102 Se0/0/1 14 00:17:27 0 4500 3 274
Last startup serial 569
Version 12.4/1.0, Retrans: 2, Retries: 2, Waiting for Init Ack
Update seq 307 ser 29-569 Sent 8924 Init Sequenced
Update seq 310 ser 570-573 Sequenced
Update seq 312 ser 574-578 Sequenced
Здесь дополнительно указано:
- number of items a packet has been retransmitted (в примере 2);
- число попыток повторной передачи пекета (2);
- пакеты, ожидающие отправки (три);
- соседний маршрутизатор имеет IOS 12.4
- sequence номер (seq), увеличивающийся при каждом отправленном пакете-запросе, пакете-обновлении или пакете-ответе.
- ser - серийный номер, увеличивающийся при каждом изменении топологической таблицы.
Проверка маршрутов
show ip route eigrp
R1#show ip route eigrp
D 172.17.0.0/16 [90/40514560] via 192.168.1.102, 00:00:46, Serial1/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
D 172.16.0.0/16 is a summary, 00:01:18, Null0
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
D 192.168.1.0/24 is a summary, 00:43:00, Null0
Команда show ip route eigrp выводит EIGRP-маршруты в таблице маршрутизации IP. EIGRP поддерживает следующие типы маршрутов: internal (внутренний), external (внешний) и summary (суммарный). Маршрут EIGRP помечен буквой D. Внешние EIGRP-маршруты (за пределы локальной автономной системы) помечаются как D EX.
После адреса сети в квадратных скобках указана метрика. EIGRP-метрика равна возможному расстоянию FD маршрута в таблице топологии. Первое число (в примере 90) - это административная дистанция, которая используется для выбора наилучшего маршрута, если существует больше одного маршрута к одному месту назначения, найденные разными протоколами маршрутизации. Выигрывает протокол с меньшей административной дистанцией.
Внимание Помните, что маршрутизаторы используют административную дистанцию только если хотя бы два одинаковых маршрута к назначению (и маска и адрес). Например, маршрутизатор выберет RIP, а не EIGRP, если его маршрут более специфичный.
Следующее поле "via 192.168.1.102" показывает адрес соседнего маршрутизатора (next-hop), через который будут передаваться пакеты для сети 172.17.0.0/16. Next-hop адрес в таблице топологии - это адрес преемника (successor) для данного места назначения.
Каждый маршрут отсчитывает время (00:00:46) с того момента, как сеть была объявлена локальному (нашему) маршрутизатору. Маршрутизатор повторно рассылает маршрутную информацию только когда меняется neighbor adjacencies. Следующее поле содержит интерфейс (в примере Serial1/0) через который передаются пакеты для данного места назначения.
Таблица маршрутизации содержит маршруты через интерфейсы Null0. Эти маршруты называется суммарными и помещаются в таблицу маршрутизации, если включено автоматическое суммирование. Null0 - это непосредственно подключенный программный интерфейс. Если маршрутизатор получает пакет для неизвестной сети, являющейся частью суммарной сети, (172.16.3.5, например) то данный пакет передается на интерфейс Null0, как наиболее соответствующий суммарной сети 172.16.0.0/16. Проще говоря, маршрутизатор удаляет этот пакет, вместо того, чтобы послать его на шлюз последней надежды, что могло бы привести к появлению петли.
Проверка работы
show ip protocols
R1#show ip protocols
Routing Protocol is "eigrp 100"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 100
EIGRP NSF-aware route hold timer is 240s
Automatic network summarization is in effect
Automatic address summarization:
192.168.1.0/24 for FastEthernet0/0
Summarizing with metric 40512000
172.16.0.0/16 for Serial1/0
Summarizing with metric 28160
Maximum path: 4
Routing for Networks:
172.16.1.0/24
192.168.1.0
Routing Information Sources:
Gateway Distance Last Update
(this router) 90 01:02:26
Gateway Distance Last Update
192.168.1.102 90 01:01:57
Distance: internal 90 external 170