
- •Введение
- •Условные обозначения, используемые в пособии
- •Графические символы
- •Соглашения по синтаксису командного языка
- •1 Проектирование масштабируемых сетей передачи данных
- •1.1 Масштабируемые сети передачи данных
- •1.2 Архитектура корпоративной сети передачи данных
- •1.3 Введение в технологию подсетей и ее обоснование
- •1.4 Применение технологии VLSM
- •1.5 Суммирование маршрутов
- •1.6 Проектирование масштабируемого адресного пространства
- •2 Принципы маршрутизации
- •2.1 Определение маршрутизации
- •2.1.1 Маршрутизируемые и маршрутизирующие протоколы
- •2.1.2 Основные функции маршрутизаторов
- •2.2 Концептуальные основы маршрутизации
- •2.2.1 Таблицы маршрутизации
- •2.2.2 Административное расстояние
- •2.2.3 Метрики маршрутов
- •2.2.4 Построение таблицы маршрутизации
- •2.3 Механизмы маршрутизации
- •2.3.1 Прямое соединение
- •2.3.2 Статическая маршрутизация
- •2.3.3 Настройка статических маршрутов
- •2.3.4 Использование «плавающих» статических маршрутов
- •2.3.5 Маршрутизация по умолчанию
- •2.4 Проверка и устранение ошибок в статических маршрутах
- •3 Принципы динамической маршрутизации
- •3.1 Операции динамической маршрутизации
- •3.1.1 Стоимость маршрута
- •3.2 Внутренние и внешние протоколы маршрутизации
- •3.2.1 Понятие автономной системы и домена маршрутизации
- •3.2.2 IGP – протоколы внутреннего шлюза
- •3.2.3 EGP – протоколы внешнего шлюза
- •3.3 Обзор классовых протоколов маршрутизации
- •3.3.1 Суммирование маршрутов при классовой маршрутизации
- •3.3.2 Суммирование маршрутов в разобщенных классовых сетях
- •3.4 Обзор бесклассовых протоколов маршрутизации
- •3.4.1 Суммирование маршрутов при бесклассовой маршрутизации
- •3.4.2 Суммирование маршрутов в разобщенных классовых сетях
- •3.5 Категории алгоритмов маршрутизации
- •3.5.1 Особенности дистанционно-векторных протоколов
- •3.5.2 Маршрутизация по состоянию канала
- •3.5.3 Гибридные протоколы маршрутизации
- •3.6 Конфигурирование протокола маршрутизации
- •4 Дистанционно-векторная маршрутизация
- •4.1 Дистанционно-векторный алгоритм
- •4.1.1 Дистанционно-векторный алгоритм для протокола IP
- •4.2 Маршрутизация по замкнутому кругу
- •4.3 Максимальное количество транзитных переходов
- •4.4 Применения принципа расщепления горизонта
- •4.5 Обратное обновление
- •4.6 Таймеры удержания информации
- •4.7 Механизм мгновенных обновлений
- •5 Протокол RIP
- •5.1 Настройка протокола RIP
- •5.2 Протокол RIP v1
- •5.2.1 Заголовок и поля протокола RIP v1
- •5.2.2 Команда – 1 байт
- •5.2.3 Версия – 1 байт
- •5.2.4 Неиспользуемые поля – 2 байта
- •5.2.5 Идентификатор семейства адресов – 2 байта
- •5.2.6 IP адрес – 4 байта
- •5.2.6 Метрика – 4 байта
- •5.3 Использование команды ip classless
- •5.4 Недостатки протокола RIP v1
- •5.5 Протокол RIP v2
- •5.5.1 Заголовок и поля протокола RIP v2
- •5.5.2 Тег маршрута – 2 байта
- •5.5.3 Маска подсети – 4 байта
- •5.5.4 Следующая пересылка – 4 байта
- •5.6 Аутентификация в протоколе RIP v2
- •5.6.1 Настройка аутентификации для протокола RIP
- •5.7 Суммирование маршрутов в протоколе RIP
- •5.7.1 Распространение маршрута по умолчанию
- •5.8 Расширенная настройка протокола RIP
- •5.8.1 Таймеры протокола RIP
- •5.8.2 Совместное использование в сети протокола RIP v1 и v2
- •5.8.3 Распределение нагрузки в протоколе RIP
- •5.8.4 Настройка протокола RIP для работы в сетях NBMA
- •5.8.5 Механизм инициированных обновлений в протоколе RIP
- •5.9 Тестирование и устранение ошибок в работе протокола RIP
- •6 Протокол EIGRP
- •6.1 Алгоритм диффузионного обновления
- •6.2 Преимущества протокола EIGRP
- •6.3 Автономная система протокола EIGRP
- •6.4 База данных протокола EIGRP
- •6.4.1 Таблица соседства
- •6.4.2 Таблица топологии
- •6.5 Метрика протокола EIGRP
- •6.6 Функционирование протокола EIGRP
- •6.6.1 Надежность передачи пакетов протокола EIGRP
- •6.6.2 Разрыв соседских отношений
- •6.6.3 Запланированное отключение
- •6.6.5 Меры обеспечения стабильности протокола EIGRP
- •6.7 Алгоритм DUAL
- •6.7.1 Работа алгоритма DUAL
- •6.8 Механизм ответов на запросы
- •7 Конфигурирование и тестирование протокола EIGRP
- •7.1 Запуск протокола EIGRP
- •7.2 Настройка аутентификации в протоколе EIGRP
- •7.3 Суммирование маршрутов в протоколе EIGRP
- •7.4 Настройка маршрута по умолчанию в протоколе EIGRP
- •7.5 Распределение нагрузки в протоколе EIGRP
- •7.6 Расширенная настройка протокола EIGRP
- •7.6.1 Таймеры протокола EIGRP
- •7.6.2 Изменение административного расстояния протокола EIGRP
- •7.6.3 Изменение весовых коэффициентов протокола EIGRP
- •7.6.4 Настройка протокола EIGRP для сетей NBMA
- •7.6.5 Использование EIGRP пропускной способности каналов связи
- •7.6.6 Идентификация маршрутизаторов в протоколе EIGRP
- •7.7 Тестирование и устранение ошибок в работе протокола EIGRP
- •8 Использование протокола EIGRP в масштабируемых сетях
- •8.1 Масштабируемость. Проблемы и решения
- •8.2 Использование суммарных маршрутов
- •8.3 Использование тупиковых маршрутизаторов
- •8.4 Использование протокола EIGRP в современных условиях
- •9 Протоколы маршрутизации по состоянию канала
- •9.1 Алгоритм «кратчайшего пути» Дейкстры
- •10 Протокол OSPF
- •10.1 Характеристики протокола OSPF
- •10.1.1 Групповая рассылка обновлений состояния каналов
- •10.1.2 Аутентификация
- •10.1.3 Быстрота распространения изменения в топологии
- •10.1.4 Иерархическое разделение сети передачи данных
- •10.2 База данных протокола OSPF
- •10.2.1 Таблица соседства
- •10.2.2 Таблица топологии
- •10.3 Метрика протокола OSPF
- •10.4 Служебные пакеты протокола OSPF
- •10.4.1 Пакет приветствия
- •10.4.2 Суммарная информация о таблице топологии
- •10.4.3 Запрос на получение информации о топологическом элементе
- •10.4.4 Обновление информации о топологических элементах
- •10.4.5 Подтверждение о получении
- •10.5 Процесс установки соседских отношений
- •10.5.1 Поиск соседей
- •10.5.2 Обмен топологической информацией
- •11 Настройка протокола OSPF в одной зоне
- •11.1 Запуск протокола OSPF
- •11.2 Управление значением идентификатора маршрутизатора OSPF
- •11.3 Настройка аутентификации в протоколе OSPF
- •11.3.1 Проверка функционирования аутентификации
- •11.4 Настройка маршрута по умолчанию в протоколе OSPF
- •11.5 Распределение нагрузки в протоколе OSPF
- •11.6 Расширенная настройка протокола OSPF
- •11.6.1 Таймеры протокола OSPF
- •11.6.2 Изменение административного расстояния протокола OSPF
- •11.7 Тестирование и устранение ошибок в работе протокола OSPF
- •12 Работа протокола OSPF в сетях различных типов
- •12.1 Работа протокола OSPF в сетях «Точка-Точка»
- •12.2 Работа протокола OSPF в широковещательных сетях
- •12.2.1 Правила выбора DR и BDR маршрутизаторов
- •12.3 Работа протокола OSPF в сетях NBMA
- •12.4 Режимы работы протокола OSPF в сетях NBMA
- •12.5 Режимы работы протокола OSPF в сетях Frame Relay
- •12.5.1 Нешироковешательный режим
- •12.5.2 Многоточечный режим
- •12.5.3 Использование подинтерфейсов
- •12.6 Проверка работы протокола OSPF в сетях различных типов
- •13 Работа протокола OSPF в нескольких зонах
- •13.1 Типы маршрутизаторов OSPF
- •13.1.1 Внутренние маршрутизаторы
- •13.1.2 Магистральные маршрутизаторы
- •13.1.3 Пограничные маршрутизаторы
- •13.1.4 Пограничные маршрутизаторы автономной системы
- •13.2 Типы объявлений о состоянии каналов
- •13.2.1 Структура заголовка сообщения LSA
- •13.2.2 Объявление состояния маршрутизатора (Тип 1)
- •13.2.3 Объявление состояния сети (Тип 2)
- •13.2.4 Суммарные объявления о состоянии каналов (Тип 3 и 4)
- •13.2.5 Объявления внешних связей (Тип 5 и 7)
- •13.3 Построение таблицы маршрутизации протоколом OSPF
- •13.3.1 Типы маршрутов протокола OSPF
- •13.3.2 Расчет метрики внешних маршрутов
- •13.4 Суммирование маршрутов протоколом OSPF
- •13.4.1 Суммирование межзональных маршрутов
- •13.4.2 Суммирование внешних маршрутов
- •13.4.3 Отображение внешних суммарных маршрутов
- •14 Специальные типы зон протокола OSPF
- •14.1 Типы зон протокола OSPF
- •14.1.1 Правила тупиковых зон
- •14.2 Тупиковые зоны протокола OSPF
- •14.2.1 Настройка тупиковой зоны
- •14.3 Полностью тупиковые зоны протокола OSPF
- •14.3.1 Настройка полностью тупиковой зоны
- •14.4 Таблицы маршрутизации в тупиковых зонах
- •14.5 Не совсем тупиковые зоны протокола OSPF
- •14.5.1 Настройка не совсем тупиковой зоны
- •14.5.2 Настройка полностью тупиковой зоны NSSA
- •14.6 Проверка функционирования специальных зон протокола OSPF
- •15 Виртуальные каналы в протоколе OSPF
- •15.1 Настройка виртуальных каналов
- •15.1.2 Примеры использования виртуальных каналов
- •15.2 Проверка функционирования виртуальных каналов
- •16 Перераспределение маршрутной информации
- •16.1 Понятие перераспределения маршрутной информации
- •16.2 Понятие метрического домена
- •16.3 Маршрутные петли
- •16.3.1 Односторонние перераспределение маршрутной информации
- •16.3.2 Двухсторонние перераспределение маршрутной информации
- •16.3.3 Протоколы маршрутизации подверженные образованию маршрутных петель
- •17 Совместная работа нескольких протоколов маршрутизации
- •17.2 Настройка базового перераспределения маршрутной информации
- •17.2.1 Метрика, присваиваемая перераспределяемым маршрутам
- •17.3 Настройка перераспределения маршрутной информации из присоединенных и статических маршрутов
- •17.4 Настройка перераспределения маршрутной информации в протокол RIP
- •17.5 Настройка перераспределения маршрутной информации в протокол EIGRP
- •17.6 Настройка перераспределения маршрутной информации в протокол OSPF
- •18 Управление трафиком маршрутных обновлений
- •18.1 Использование пассивных интерфейсов
- •18.1.1 Настройка пассивных интерфейсов
- •18.2 Фильтрация маршрутной информации, передаваемой между маршрутизаторами
- •18.2.1 Фильтрация сетей получателей по IP адресу сети
- •18.2.2 Фильтрация сетей получателей по длине префикса
- •18.2.3 Использование списков доступа и списков префиксов при фильтрации маршрутной информации
- •18.3 Фильтрация маршрутной информации в процессе перераспределения маршрутной информации
- •19 Маршрутные карты
- •19.1 Понятие маршрутных карт
- •19.2 Настройка маршрутной карты
- •19.3 Использование маршрутных карт при перераспределении маршрутной информации
- •19.4 Проверка конфигурации маршрутных карт
- •20 Маршрутизация по политикам
- •20.1 Понятие маршрутных политик
- •20.2 Настройка маршрутизации по политикам
- •20.3 Пример маршрутизации по политикам
- •20.4 Проверка маршрутизации по политикам
- •21 Обзор протокола BGP
- •21.1 Автономные системы
- •21.2 Использование протокола BGP
- •21.2.1 Когда используется протокол BGP
- •21.2.2 Когда не следует использовать протокол BGP
- •22 Терминология и концепции протокола BGP
- •22.1 Характеристики протокола BGP
- •22.2 Таблицы протокола BGP
- •22.3 Одноранговые устройства или соседи BGP
- •22.4 Маршрутизация по политикам
- •22.5 Атрибуты протокола BGP
- •22.5.1 Содержимое сообщения обновления протокола BGP
- •22.5.2 Стандартные и опциональные атрибуты
- •22.5.3 Атрибут «Путь к AS»
- •22.5.4 Атрибут «Узел следующего перехода»
- •22.5.5 Атрибут «Локальный приоритет»
- •22.5.6 Атрибут MED
- •22.5.7 Атрибут «Отправитель»
- •22.5.7 Атрибут «Сообщество»
- •22.5.8 Атрибут «Вес»
- •23 Работа протокола BGP
- •23.1 Типы сообщений протокола BGP
- •23.1.1 Состояния BGP соседей
- •23.2 Процесс принятия решения при выборе пути
- •23.2.1 Выбор нескольких путей
- •23.3 CIDR маршрутизация и суммирование маршрутов
- •24 Настройка протокола BGP
- •24.1 Одноранговые группы
- •24.2 Основные команды протокола BGP
- •24.2.1 Модификация атрибута NEXT-HOP
- •24.2.2 Описание объединенного адреса в BGP таблице
- •24.2.3 Перезапуск протокола BGP
- •24.3 Проверка работоспособности протокола BGP
- •25 Множественная адресация
- •25.1 Типы множественной адресации
- •Заключение
- •Словарь терминов
- •Список использованных источников
6 Протокол EIGRP
Протокол EIGRP (Enhanced Interior Getaway Routing Protocol) – расширенный протокол маршрутизации внутреннего шлюза является расширенной версией протокола IGRP. Он является фирменным протоколом корпорации Cisco представленным в 1994 году, однако в настоящее время ряд сторонних производителей лицензировал EIGRP для реализации в своем телекоммуникационном оборудовании.
Протокол EIGRP берет свое начало от дистанционно–векторной маршрутизации. Как и его предшественник, протокол IGRP, EIGRP прост в настройке и нашел применение в большом спектре сетевых топологий.
По способу представления маршрутной информации протокол EIGRP все же является дистанционно-векторным протоколом. Сети получатели в маршрутных обновлениях сопровождаются метриками и адресами «следующих» маршрутизаторов. Подобно другим дистанционно-векторным протоколам, протокол EIGRP не обладает полными знаниями о топологии сети передачи данных.
Однако в основе протокола EIGRP лежит не алгоритм Беллмана-Форда, а алгоритм DUAL (Diffusing Update Algorithm), алгоритм диффузионного обновления. Сам алгоритм ведет свое начало от работы Эдсгера Дейкстры и К. С. Шольтена (Edsger Dijkstra, C. S. Sholten) «Termination Detection for Diffusing Computations» изданной в 1980 году.
Алгоритм DUAL подкреплен многими математическими работами, основной из которых является «Loop-Free Routing Using Diffusing Computations», написанная Х. Х. Гарсия-Луна-Асевесом (J. J. Garcia-Luna-Aceves).
6.1 Алгоритм диффузионного обновления
Алгоритм DUAL лежит в основе протокола EIGRP. Поэтому рассмотрим его первым. Начнем с классического алгоритма DUAL. А затем рассмотрим необходимые изменения для адаптации алгоритма для протокола маршрутизации EIGRP.
Протоколы маршрутизации на основе дистанционно-векторного алгоритма Беллмана-Форда, имеют две фундаментальные проблемы:
–Маршрутные петли;
–Счет до бесконечности.
Обе эти проблемы обусловлены тем, что маршрутизаторы ничего не знают о действительной топологии сети передачи данных. Все что они знают, это какие сети получатели доступны через каждого из соседей. Когда в сети происходят изменения, маршрутизаторы пытаются переключать маршруты на основании новых метрик, которые им становятся известны.
98
До достижения сходимости сети, метрики могут неточно отражать действительную стоимость маршрутов, что может привести к маршрутным петлям.
Основным методом борьбы с возникновением маршрутных петель является введение метрики равной бесконечности, при достижении которой маршрут считается недоступным. Обычно маршрутизаторам необходимо выполнить некоторое число итераций, перед тем как установить метрику в бесконечность, следовательно, время сходимости сети с использованием дистан- ционно-векторных алгоритмов значительно увеличивается. Чтобы ускорить схождение сети, приходиться применять дополнительные методы: правило расщепления горизонта, метод обратного обновления, мгновенные обновления и таймеры удержания информации.
Вспомним, какую информацию маршрутизаторы получают друг от друга и как они ее используют. Маршрутизаторы в случае использования алгоритма Беллмана-Форда, обмениваются маршрутными обновлениями, содержащими известные им сети получатели. Каждая сеть получатель, сопровождается метрикой, отражающей, насколько далеко маршрутизатор, отправляющий это маршрутное обновление, по его мнению, находиться от данной сети.
Маршрутизатор, получающий маршрутное обновление, использует метрику из этого обновления для расчета своей собственной метрики. В большинстве случаев новая метрика включает в себя стоимость интерфейса, через который было получено маршрутное обновление. Если полученная метрика является наименьшей для данной сети получателя, маршрутизатор создает маршрут к этой сети. Маршрут указывает на маршрутизатор, который отправил маршрутное обновление, и содержит только что рассчитанную метрику. Эта метрика затем используется маршрутизатором в своих собственных маршрутных обновлениях об этой сети получателе.
В такой ситуации маршрутизатор, получающий маршрутное обновление, отбрасывает фрагмент очень важной информации – метрику маршрута которую он получил от своего соседа. Маршрутизатор использует ее для расчета своей метрики, а затем эта метрика забывается.
Возникает вопрос: что такого ценного в заявленном расстоянии? На рисунке 6.1 изображена топология сети, с маршрутизатором R1 в центре. У маршрутизатора R1 имеется маршрут к некоторой сети получателю (СП) через маршрутизатор R2.
99

5 0 1
40
0 4 1
R5
5 135
R1
30 |
105 |
|
R4
СП |
0 0 1
5R2
1 |
|
0 |
|
|
0 |
100
R3
Рисунок 6.1 – Обработка топологии сети алгоритмом Беллмана-Форда
Стрелки с числами указывают, с какой метрикой маршрутизатор, с которого указывает стрелка, объявляет маршрут до СП на соответствующем канале связи. Числа в кругах указывают стоимость каналов связи. Маршрутизаторы вычисляют свои метрики сложением метрики из маршрутного обновления со стоимостью канала связи, через который обновление было получено.
Маршрутизатор R1 изначально выбрал маршрутизатор R2 в качестве следующего маршрутизатора к СП, поскольку объявленная метрика маршрутизатора R2 (100) в сумме со стоимостью канала связи до него (5) дала наименьшее значение (100 + 5 = 105).
Расположение маршрутизаторов R4 и R5 таково, что независимо от того, какой путь они изберут для передачи трафика, направленного до СП, этот путь пролегает через маршрутизатор R1. Например, маршрутизатор R5 может отправить трафик непосредственно на маршрутизатор R1 через канал связи между двумя этими маршрутизаторами. Или же он может выбрать альтернативный маршрут, показанный на рисунке 6.1 в виде пунктирной линии. Этот путь сначала приводит трафик на маршрутизатор R4, который затем передает его на маршрутизатор R1.
Как показано на рисунке метрика пути по альтернативному маршруту меньше, чем метрика прямого маршрута через маршрутизатор R1, следовательно, маршрутизатор R5 выбирает альтернативный маршрут. Несмотря на то, что объявляемая маршрутизатором R1 метрика (105) меньше, маршрутизатор R5 выбирает маршрут через другого соседа, поскольку объявляемая соседом метрика (135) в сумме со стоимостью сегмента, дает меньшее значение (135 + 5 = 140), чем метрика маршрута через маршрутизатор R1 (105 + 40 = 145).
100

На рисунках 6.2 и 6.3 показаны представления маршрутизатора R1 о топологии после обнаружения им отказа маршрутизатора R2. Разница между двумя рисунками заключается в том, что на рисунке 6.2 маршрутизатор R1 отбросил объявленные его соседом метрики для сети получателя СП, тогда как на рисунке 6.3 он их запомнил.
СП |
R2
180
|
R1 |
200 |
|
|
|
|
40 |
100 |
|
|
|
|
30 |
|
R5 |
|
R3 |
5
R4
Рисунок 6.2 – Поиск альтернативного маршрута алгоритмом Беллмана-Форда
На рисунке 6.2 перед маршрутизатором R1 стоит дилемма: два маршрутизатора которые недавно объявляли СП, это маршрутизаторы R3 и R5. Те менее, несмотря на меньшую результирующую метрику маршрута к СП через маршрутизатор R5, маршрутизатор не может положиться на эту метрику, поскольку она может быть устаревшей. Поэтому маршрутизатор R1 должен использовать нормальные процедуры достижения стабильности, такие, как таймеры удержания информации, мгновенные обновления, а также другие описанные ранее методы, чтобы убедиться, что он не имеет дело с устаревшей информацией о метрике.
На рисунке 6.3 маршрутизатор R1 запомнил метрики, с которыми был объявлен СП всеми его соседями. Поэтому при обнаружении отказа маршрутизатора R2 маршрутизатор R1 способен сразу определить, что он не может положиться на лучшую метрику маршрутизатора R5, поскольку его объявленная метрика (140) больше, чем собственная метрика маршрутизатора R1 (105) через отказавший маршрутизатор R2. Это значит, что маршрутизатор R5 изначально находился дальше от СП, чем маршрутизатор R1.
101

СП |
105
R2
R5
180 |
R1 |
200 |
|
|
00 |
||
|
|
|
1 |
40 |
|
100 |
|
|
|
|
|
0 |
|
|
|
4 |
|
|
|
1 |
30 |
|
|
|
|
|
|
|
|
|
R3 |
5
R4
Рисунок 6.3 – Поиск альтернативного маршрута алгоритмом DUAL
Наоборот, объявленная метрика маршрутизатором R3 равна 100, что меньше, чем 105, а значит, маршрутизатор R3 был изначально ближе к СП. Тем не менее, несмотря на более близкое исходное расположение маршрутизатора R3 к СП, «плохая» метрика маршрута через него 200 против 180, метрики через маршрутизатор R5 не позволяет маршрутизатору R1 выбрать этот маршрут.
В этой конкретной ситуации маршрутизатор R1 до сих пор не знает точно, может ли он использовать маршрутизатор R5 в качестве нового следующего маршрутизатора для СП, поскольку он не знает еще, почему объявленная маршрутизатором R5 метрика больше, чем собственная метрика маршрутизатора R1. Возможно, причина в том, что маршрут маршрутизатора R5 лежит через маршрут самого R1, и тогда восстановление маршрута через маршрутизатор R5 приведет к созданию маршрутной петли. Или, может быть, маршрут маршрутизатора R5 просто более длинный, но он не лежит через маршрутизатор R1, в таком случае восстановление маршрута через R5 допустимо.
До сих пор могло казаться, что знание маршрутизатором R1 метрик своих соседей для СП не представляет никаких преимуществ.
Представим, что стоимость сегмента, соединяющего маршрутизаторы R1 и R3, равна 10 (Рисунок 6.4).
Изначально маршрутизатор R1 все равно бы использовал маршрут через маршрутизатор R2. Но после отказа маршрутизатора R2 маршрутизатор R1 мог бы сразу выбрать маршрутизатор R3 в качестве нового следующего маршрутизатора, поскольку маршрутизатор R3 дал бы новую, лучшую метрику - 110 против 180 для маршрутизатора R5.
102