ОСНОВА с 1 по 2 стр
ПРОТОКОЛ МАРШРУТИЗАЦИИ EIGRP
Опубликовал admin - Декабрь 7th, 2011
ПРОТОКОЛ МАРШРУТИЗАЦИИ EIGRP
Протокол EIGRP
(Enhanced Interior Gateway Routing Protocol) –был
представлен в 1994 году, как усовершенствованная версия протокола маршрутизации
IGRP (Interior Gateway Routing Protocol) , эти два протокола разработаны
компанией Cisco. В отличие от протокола IGRP, который использует классовую
маршрутизацию, протокол EIGRP поддерживает бесклассовую маршрутизацию CIDR
(classless interdomain routing) и маски переменной длинны
VLSM (variable-length subnet mask). От IGRP отличается более быстрой
конвергенцией, повышенной масштабируемостью и более эффективной обработкой
петель маршрутизации.Протокол EIGRP является дистанционно-векторным протоколом
маршрутизации, хотя его еще называют гибридным, он сочетает в себе лучшие черты
дистанционно-векторных алгоритмов и алгоритмов по состоянию канала.
1. Обнаружение соседних устройств. EIGRP-маршрутизаторы рассылают Hello-сообщения, чтобы обнаружить соседние маршрутизаторы и проверить их основные конфигурационные параметры
2. Обмен топологической информацией. Соседние (часто называемые смежными) устройства обмениваются полной информацией о топологии сети при включении, а впоследствии пересылают друг другу только частичные анонсы, содержащие информацию об изменениях в сетевой топологии
3. Выбор оптимальных маршрутов. Каждый EIGRP-маршрутизатор анализирует топологическую таблицу и выбирает из нее маршруты с наименьшей метрикой к каждой подсети
Как и любой другой протокол маршрутизации, EIGRP рассчитывает метрики для всех маршрутов ко всем подсетям. Маршрут с наилучшей (минимальной) метрикой до какой-либо подсети называется оптимальным (successor), устройство устанавливает такой маршрут в таблицу маршрутизации. Метрику такого маршрута называют оптимальным расстоянием (feasible distance — FD).
К той же самой подсети может вести несколько маршрутов с метрикой, которая больше, чем FD; из таких маршрутов протокол EIGRP пытается выбрать некоторый резервный маршрут, который можно использовать мгновенно для передачи данных после пропадания основного. Для расчетов протокол EIGRP использует некоторый простой алгоритм, с помощью которого помечает резервные маршруты в топологической таблице, на которые будет происходить мгновенное переключение в случает отказа оптимального пути, а также генерирует отсутствие кольцевых маршрутов среди них. Такие альтернативные готовые к использованию маршрутыназываются резервными (feasible successor). Может ли маршрут использоваться в качестве резервного, определяется следующим правилом. Если расстояние RD для не оптимального маршрута строго меньше, чем FD, такой маршрут будет резервным.
Понять
принцип выбора резервного маршрута нам поможет схема сети, представленная ниже.
На ней проиллюстрировано, как протокол eigrp выбирает резервные маршруты к
подсети 1. В данной сети маршрутизатор Д обнаруживает три маршрута к подсети 1:
маршруты через маршрутизаторы Б, В и Г. После того как на основании полосы
пропускания и задержки рассчитаны метрики маршрутов для маршрутизатора Д и
учтены метрики, полученные в обновлениях маршрутной информации, маршрутизатор Д
выбирает маршрут через устройство Г (поскольку у него минимальная метрика) и
устанавливает его в таблицу маршрутизации. Рассчитанное значение FD
(оптимальная метрика) для этого маршрута равно 14000.
Протокол маршрутизации EIGRP определяет, может ли маршрут быть резервным, на основании метрики к подсети, анонсированной соседом (т.е. анонсируемого расстояния — RD); такая метрика должна быть меньше, чем метрика оптимального маршрута к подсети для данного маршрутизатора (т.е. меньше оптимального расстояния — FD). Если анонсируемая соседним маршрутизатором метрика пути к подсети меньше, чем оптимальная для текущего устройства, то говорят, что для маршрута выполняется условие резервирования (feasibility condition). В нашем примере маршрутизатор Д рассчитал метрику оптимального маршрута (FD) и получил число, равное 14 000 (через маршрутизатор Г). Рассчитанная маршрутизатором В метрика — анонсируемое расстояние маршрута к подсети — (13 000) меньше, чем оптимальное расстояние (14 000). Следовательно, маршрутизатор Д в такой топологии сети по метрики определяет, что маршрут к рассматриваемой подсети для маршрутизатора В не указывает на устройство Д, поэтому в случае пропадания основного маршрута можно переключиться на резервный (через маршрутизатор В), не рискуя получить кольцевой маршрут. После таких расчетов маршрутизатор Д маркирует маршрут через маршрутизатор В в своей топологической таблице как резервный (successor route). Аналогичные расчеты выполняются и для маршрутизатора Б, анонсируемое расстояние до той же самой подсети для которого равно 15 000. Это значение больше оптимального расстояния для устройства Д (14 000), следовательно такой маршрут нельзя использовать в качестве резервного.
Метод расчета метрики — это одна из наиболее интересных особенностей протокола EIGRP (сетевой уровень). В данном протоколе маршрутизации используется композитная метрика, которая стандартно рассчитывается из полосы пропускания и задержки. В метрику также можно включить загрузку интерфейса и его надежность, но компания Cisco не рекомендует так поступать. Используя перечисленные значения, протокол EIGRP рассчитывает метрику для каждого возможного маршрута. Формула расчета метрики протокола EIGRP выглядит следующим образом.
Метрика = ((10000000/МПП) + K3) x 256
В приведенной формуле МПП — это минимальная полоса пропускания, т.е. минимальная полоса “самого медленного” канала на маршруте (в килобитах в секунду), К3 — кумулятивная задержка на маршруте. Например, если полоса пропускания самого низкоскоростного канала составляет 10 Мбит/с, то первое слагаемое в скобках будет равно 1000 (10000000/1000). Кумулятивная задержка представляет собой сумму задержек всех каналов на маршруте и измеряется в десятках микросекунд. Полосу пропускания и задержку для каждого из каналов можно указать с помощью команд bandwidth и delay соответственно в режиме конфигурирования интерфейса.
В обновлении маршрутной информации протокола EIGRP указаны адрес подсети,маска, кумулятивная задержка, минимальная полоса пропускания на маршруте и другие обычно неиспользуемые компоненты метрики. Далее маршрутизатор принимает во внимание значения полосы пропускания и задержки интерфейса, через который было получено обновление, чтобы рассчитать новую метрику.
Кому нужно больше, смотри далее с сайта циско
Типы сообщений протокола EIGRP
Hello (пакеты приветствия) – эти
пакеты используются для обнаружения соседей, их тестирования и повторного
обнаружения в случае сбоя. Для отправки пакетов используется многоадресная
рассылка muilticast-адрес 224.0.0.10.
Acknowledgment — пакеты,
которые подтверждают получение пакетов update, query, reply. ACK-пакеты
отправляются unicast и содержат в себе acknowledgment number.
Update (пакеты обновления маршрутов) – в этих
пакетах содержится информация об изменении маршрутов. Эти пакеты могут быть
отправлены конкретному маршрутизатору (unicast) или группе маршрутизаторов
(multicast). Получение update-пакета подтверждается отправкой ACK.
Query (пакеты запросов) – эти
пакеты используются когда маршрутизатор пересчитывает какой либо маршрут в сеть
и у него нет резервного маршрута (feasible successor), он отправляет query
запрос своим соседям, если у них еть етот маршрут, то они отвечают сообщением
reply (ответ на запрос), если нет маршрута, то они направляют query запрос
своим соседям. При получении пакета запроса (query) отправляют пакет ACK.
Reply (пакеты ответа на запросы) –
маршрутизатор отправляет reply-пакет в ответ на полученный query-пакет.
Reply-пакеты отправляются unicast тому маршрутизатору, который отправил
query-пакет. Получение reply-пакета подтверждается отправкой ACK.
Для гарантии получения отправленных сообщений EIGRP использует
фирменный протокол гарантии доставки – RTP.
RTP обеспечивает гарантированную доставку пакетов. Для этого используется
проприетарный алгоритм Cisco, reliable multicast. Пакеты отправляются на
muilticast-адрес 224.0.0.10. Каждый сосед получивший такой пакет отправляет
подтверждение отправителю пакета. Сохранение порядка пакетов. В каждом пакете
используется два номера последовательности (sequence). Каждый пакет включает в
себя номер присвоенный ему отправителем. Этот номер увеличивается на единицу
каждый раз, когда маршрутизатор отправляет новый пакет. Кроме того, отправитель
помещает в пакет номер, последнего полученного пакета от получателя.
ТАБЛИЦА СОСЕДНИХ УСТРОЙСТВ.
Таблица соседних устройств (neighbor table) – является важной таблицей в
протоколе EIGRP. Каждый маршрутизатор EIGRP поддерживает свою таблицу соседних
устройств, в которой перечислены непосредственно подключенные маршрутизаторы.
Для установления отношений соседства EIGRP использует пакеты hello. По
умолчанию на ethernet-интерфейсах и point-to-point интерфейсах hello-пакеты
отправляются каждые 5 секунд, но с небольшим случайным отклонением, которое
используется для того, чтобы между маршрутизаторами не было синхронизации в
отправке hello-пакетов.
Если за период удержания (hold time, по умолчанию 15 секунд, 3 hello-интервала)
от соседнего маршрутизатора не пришел ни один hello пакет, то он считается
недоступным.
Для того, чтоб маршрутизаторы могли установить отношения соседства, должны
выполниться некоторые условия:
маршрутизаторы должны пройти аутентификацию
маршрутизаторы должны быть в одной AS,
должны совпадать значения K-коэффициентов
Вид таблицы соседних устройств:
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.0.0.6 Fa0/1 11 00:00:30 40 1000 0 24
1 10.0.0.1 Fa0/0 12 00:00:25 40 1000 0 25
В таблице соседних устройств содержаться следующие поля:
Address – IP адрес соседнего устройства.
Interface – интерфейс к которому подключено
соседнее устройство.
Hold Uptime (Время удержания) – время по
истечении которого, в случае если нет каких либо сообщений от соседнего
устройства, канал рассматривается как неработоспособный. Сначала в качестве
ожидаемого пакета был пакет HELLO, однако в современных версиях CISCO IOS любой
пакет протокола EIGRP полученный после первого пакета HELLO сбрасывает этот
таймер. На каналах Ethernet по умолчанию 15 секунд.
SRTT (Таймер цикла обмена сообщениями) – Среднее
время требуемое для отправки пакета соседнему устройству и получению ответного
пакета от него. С помощью этого интервала определяется интервал повторной
передачи RTI(Retransmit Interval).
RTO (retransmission timeout) — интервал
между отправкой unicast-пакетов, которые отправляются после того как от соседа
не было получено подтверждение о получении multicast-пакета.
Q Cnt (Queue count, Счетчик очереди) –
показывает число пакетов которые находятся в очереди и ожидают передачи. Обычно
это число равно нулю, если нет, то значит маршрутизатор испытывает перегрузку.
Sec Num (Sequence Number, Номер
последовательности) – Номер последнего пакета полученного от соседнего устройства.
Протокол EIGRP использует это поле для подтверждения приема пакета. Таблица
соседних устройств обеспечивает надежную и упорядоченную доставку пакетов.
МЕТРИКА
Протокол EIGRP считает метрику с помощью коэффициентов. По умолчанию они равны
К1=1;К2=0;К3=1;К4=0;К5=0.Общая метрика вычисляется с помощью значений bandwidth
(пропускной способности) и delay (задержки). Bandwidth вычисляется по формуле:
bandwidth
= (10000000/bandwidth(m)) * 256
где bandwidth(m) – это минимальная пропускная
способность канала на всем пути следования к сети назначения.
Delay:
delay
= delay(s) * 256
где delay(s) – это суммарная задержка на всех
маршрутизаторах по пути следования к сети назначения.
Эти значения использует протокол EIGRP для подсчета метрики :
Metric=[K1*bandwidth+(K2*
bandwidth)/(256-load)+K3*delay]*[K5/(reliability+K4)]
Если коэффициенты не менялись, то формула получает вид:
Metric=K1*bandwidth+
K3*delay
Количество переходов в протоколе EIGRP равно 224, чего более чем достаточно для
современных сетей.
ОБНОВЛЕНИЯ МАРШРУТОВ
После того как маршрутизаторы установили отношения соседства, они начинают
обмениваться информацией о маршрутах (обновления, Update).
Обновления могут быть адресованы одному маршрутизатору, а могут быть направлены
группе маршрутизаторов(muilticast-адрес 224.0.0.10).
Обмен обновлениями:
Сначала соседи отправляют друг другу все известные маршруты, за исключением
тех, что попали под правило split horizon.
После завершения обмена маршрутами, полные обновления больше не посылаются.
Далее посылаются обновления только об изменившемся маршруте, или маршрутах (частичные
обновления).
Если отношения соседства теряются, а затем снова устанавливаются, то обмен
маршрутами начинается заново.
Виды обновлений протокола EIGRP:
Непериодические (Nonperiodic) —
обновления отправляются не через регулярные интервалы времени, а при изменении
топологии или метрики.
Частичные (Partial) — в
обновлениях передается не вся информация из таблицы маршрутизации, а только
изменения.
Ограниченные (Bounded) —
обновления отправляются только задействованным маршрутизаторам.
Алгоритм вычисления маршрута DUAL
Diffusing Update Algorithm (DUAL) – алгоритм
который использует протокол EIGRP для вычисления маршрутов.
Терминология:
Successor – это маршрутизатор через который
проходит оптимальный маршрут в какую то сеть.
Feasible Successor (FS) – это резервный
маршрутизатор через который можно попасть в некоторую сеть, если выйдет из
строя Successor.
Feasible distance (FD) – это
метрика для маршрута в некоторую сеть.
Reported distance(RD)
или Advertised distance (AD) – это
метрика маршрута в сеть, для того маршрутизатора который объявляет об етом
маршруте.
Feasible Condition (FC) – для того,
чтоб роутер мог быт выбран в качестве Feasible Successor(заместитель) для
какого то маршрута, необходимо, чтоб Advertised distance (AD) для этого роутера
было меньше чем Feasible distance (FD) для основного маршрута. То есть,
маршрутизатор заместитель должен быть ближе к сети получателя, чем
маршрутизатор для которого он будет заместитилем.
ТАБЛИЦА ТОПОЛОГИИ
В таблице топологии находятся все известные роутеру маршруты в сети.
IP-EIGRP Topology Table for AS 1
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - Reply status
P 20.0.0.0/16, 1 successors, FD is 128256
via Connected, Loopback0
P 10.0.0.0/30, 1 successors, FD is 28160
via Connected, FastEthernet0/0
P 10.0.0.4/30, 1 successors, FD is 28160
via Connected, FastEthernet0/1
P 30.0.0.0/8, 1 successors, FD is 156160
via 10.0.0.6 (156160/128256), FastEthernet0/1
P 192.168.30.0/24, 1 successors, FD is 156160
via 10.0.0.1 (156160/128256), FastEthernet0/0
Если сосед сообщает локальному маршрутизатору о маршруте, то
сосед должен использовать этот маршрут для передачи трафика. Это правило
обязательно должно соблюдаться для всех дистанционно-векторных протоколов.
В таблице топологии также хранится метрика, которую сообщает каждый сосед для
каждой сети назначения (AD) и метрика, которую локальный маршрутизатор будет
использовать для того чтобы достигнуть какую либо сеть через соседа (FD).
Например для сети 192.168.30.0/24 сообщенная соседом метрика (AD) будет 128256,
а метрика которую будет использовать данный маршрутизатор (FD)
156160.
Записи в таблице топологии могут находится в двух состояниях Passive и Active.
P – Passive – означает
что все в порядке, маршрут используется, пересчет маршрута не осуществляется.
A – Active – запись в
это состоянии, когда осуществляется пересчет маршрута для сети, алгоритм DUAL
производит пересчет маршрута если нет запасного маршрута в сеть FS. Маршрутизатор
инициирует пересчет отправляя запрос (отправляет query packet) каждому
соседнему маршрутизатору. Если у соседа есть маршрут к сети назначения, то он
отвечает (отправляет reply packet), если маршрута нет — сосед отправляет запрос
своим соседям.
Если есть несколько маршрутов в одну сеть, то алгоритм DUAL сравнивает их и
маршрут с наименьшей метрикой помещает в таблицу маршрутизации.
Настройка маршрутов в EIGRP
Типы маршрутов:
internal – внутренние маршруты EIGRP. AD –
90.
external – маршруты, перераспределенные в
процесс EIGRP из других источников. AD – 170.
summary – суммарные маршруты EIGRP. AD – 5.
Administrative distance (AD, административное расстояние) – это
степень доверия к источнику маршрута, чем оно меньше, тем доверие выше
.Например у протокола маршрутизации RIP оно равно 120, OSPF 110, EIGRP 90, у
статических маршрутов 1, но его можно поменять вручную.
Маршрут по умолчанию.
Для настройки маршрута по умолчанию необходимо ввести следующую команду:
R2(config)#ip default-network <адрес сети>
Результат этой команды:
R3#show ip route
Gateway of last resort is 10.0.0.5 to network 20.0.0.0
10.0.0.0/30 is subnetted, 2 subnets
D 10.0.0.0 [90/30720] via 10.0.0.5, 00:01:37, FastEthernet0/1
C 10.0.0.4 is directly connected, FastEthernet0/1
* 20.0.0.0/16 is subnetted, 1 subnets
D* 20.0.0.0 [90/156160] via 10.0.0.5, 00:01:37, FastEthernet0/1
C 30.0.0.0/8 is directly connected, Loopback0
D 192.168.30.0/24 [90/158720] via 10.0.0.5, 00:01:37, FastEthernet0/1
Теперь запись по умолчанию полученная от соседнего маршрутизатора помечена звездочкой D*, а обычные маршруты полученные по протоколу EIGRP помечены буквой D.
Суммирование маршрутов
По умолчанию протокол EIGRP суммирует маршруты. Минимальная метрика (лучшая
метрика) из всех маршрутов, которые суммируются, используется в качестве
метрики суммарного маршрута. При создании суммарного маршрута, маршрутизатор
автоматически добавляет в таблицу маршрутизации этот суммарный маршрут с
next-hop указывающим на null0. Автоматическое суммирование можно отключить
командой:
R2(config-router)#no auto-summary
она вводится в режиме настройки протокола.
Суммирование маршрутов можно производить вручную, с помощью команды:
R2(config-if)#ip summary-address eigrp <address> [admin-distance]
эта команда вводится в настройке интерфейса. По умолчанию у суммарного маршрута EIGRP administrative distance – 5.
Изменение таймеров и коэффициентов
протокола EIGRP.
Изменение интервалов hello пакетов.
По умолчанию время отправки hello пакетов зависит от полосы пропускания канала.
Например для канала Multipoint Frame Relay с полосой пропускания 1,544 Мбит/с
или менее интервал отправки 60 секунд, а время удержания 3 hello интервала
(180секунд), для линии Т1, соединения точка – точка с полосой пропускания более
1,544 Мбит/с интервал равен 5 секунд, а таймер удержания соответственно 15
секунд.Hello инервал меняется командой:
R2(config-if)# ip hello-interval eigrp AS-number
Hold down таймер или таймер удержания командой:
R2(config-if)# ip hold-time eigrp <AS-number>
Изменение K коэффициентов.
По умолчанию коэффициенты равны К1=1;К2=0;К3=1;К4=0;К5=0,
Для изменения вводим команду:
R2(config-router)# metric weights
TOS (Type Of Service) – диапазон значений от
0 до
8. Поддерживается только значение 0.
K1 – K5 – K-коэффициенты, у каждого коэффициента диапазон значений от 0
до 255.