- •Введение
- •Условные обозначения, используемые в пособии
- •Графические символы
- •Соглашения по синтаксису командного языка
- •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 Типы множественной адресации
- •Заключение
- •Словарь терминов
- •Список использованных источников
24.2 Основные команды протокола BGP
Для активизации протокола BGP и идентификации локальной автономной системы можно воспользоваться конфигурационной командой router bgp autonomous-system. В этой команде параметр autonomous-system идентифицирует локальную автономную систему.
Для идентификации однорангового маршрутизатора, с которым будет устанавливать сеанс локальный маршрутизатор, необходимо воспользоваться командой neighbor remote-as.
Синтаксис команды neighbor remote-as для протокола BGP приводится в примере 24.1.
Пример 11.1 – Синтаксис команды neighbor remote-as
(config-router)# neighbor {ip-address | peer-group-name} remote-as as-number (config-router)# no neighbor {ip-address | peer-group-name} remote-as as-num-
ber
Описание параметров команды neighbor remote-as приводиться в таблице 24.1.
Таблица 24.1 – Параметры команды neighbor remote-as
Параметр |
Описание |
ip-address |
IP адрес однорангового маршрутизато- |
peer-group-name |
ра. |
имя одноранговой группы. |
|
as-number |
Номер автономной системы, которой |
|
принадлежит описываемый маршрути- |
|
затор. |
Значение, размещенное в параметре autonomous-system команды neighbor remote-as, определяет, является связь с соседями EBGP или IBGP сеансом. Если параметр autonomous-system в команде router bgp идентично параметру в команде neighbor remote-as, тогда протокол BGP инициирует внутренний сеанс. Если значения параметров не равны, протокол BGP инициирует внешний сеанс
Для того чтобы отключить существующего BGP соседа или соседнюю одноранговую группу, можно воспользоваться командой neighbor shutdown. Чтобы активизировать прежде существовавшего соседа или соседнюю одноранговую группу, которая была отключена с помощью данной команды необходимо воспользоваться ей с ключом no.
351
Синтаксис команды neighbor shutdown для протокола BGP приводится в примере 24.2.
Пример 24.2 – Синтаксис команды neighbor shutdown
(config-router)# neighbor {ip-address | peer-group-name} shutdown (config-router)# no neighbor {ip-address | peer-group-name} shutdown
Описание параметров команды neighbor shutdown подобны параметрам команды neighbor remote-as рассмотренным в таблице 24.1.
Использование логического интерфейса loopback для определения соседей является обычной практикой протокола IBGP, значительно чаще, чем с протоколом EBGP. Обычно логический интерфейс loopback используется для того, чтобы гарантировать постоянное присутствие IP адреса соседа, независимо от надежности работы оборудования, которое может работать недостаточно стабильно. При использовании в команде neighbor IP адреса логического интерфейса на соседнем маршрутизаторе необходимо произвести некоторые дополнительные настройки. Соседний маршрутизатор должен известить протокол BGP, что он для инициализации ТСР соединения с BGP соседом использует не физический интерфейс, а логический интерфейс. Для настройки маршрутизатора на использование его логического интерфейса BGP соединения маршрутизатора с его соседями можно воспользоваться командой neighbor update-source.
Синтаксис команды neighbor update-source приводится в примере 24.3.
Пример 24.3 – Синтаксис команды neighbor update-source
(config-router)# neighbor {ip-address | peer-group-name} update-source inter-
face-type interface-number
(config-router)# no neighbor {ip-address | peer-group-name} update-source in- terface-type interface-number
Описание параметров команды neighbor remote-as приводиться в таблице 24.2.
Таблица 24.2 – Параметры команды neighbor update-source
Параметр |
Описание |
ip-address |
IP адрес однорангового маршрутизато- |
peer-group-name |
ра. |
Имя одноранговой группы. |
|
interface-type interface-number |
Тип и номер используемого интерфей- |
|
са. |
352
Команда настройки маршрутизатора network предназначена для предоставления возможности протоколу BGP объявлять сеть, если она имеется в IP таблице маршрутизации.
Синтаксис команды neighbor shutdown приводится в примере 24.4.
Пример 24.4 – Синтаксис команды network
(config-router)# network {network-number [mask network-mask]} [route-map map-
tag]
(config-router)# no network {network-number [mask network-mask]} [route-map map-tag]
Описание параметров команды network приводиться в таблице 24.3.
Таблица 24.3 – Параметры команды network
Параметр |
Описание |
network-number |
Адрес сети. |
mask network-mask |
Описание маски подсети. |
route-map map-tag |
Привязка к описанной маршрутной |
|
карте. |
Команда network управляет тем, какие сети берут начало от данного маршрутизатора. Эта концепция отличается от той, которая существует при настройке протокола IGP. Команда network не запускает протокол BGP на определенных интерфейсах; она предназначена для указания протоколу BGP, какая сеть должна начинаться от данного маршрутизатора. Параметр mask используется для того, чтобы протокол BGP v4 мог работать с подсетями.
Список команд network должен включать все сети AS, которые будут объявляться, а не только те, которые локально подключены к маршрутизатору.
Команда network допускает бесклассовые префиксы; маршрутизатор имеет возможность объявлять индивидуальные подсети или сети. Необходимо отметить, что префикс должен точно соответствовать записи в таблице маршрутизации. При отсутствии такого маршрута в таблице маршрутизации может использоваться статический маршрут на Null0 для создания такой записи.
На рисунке 24.1 показан пример сети, работающей под управлением протокола BGP.
353
AS 64520
172.16.0.0/16
AS 65000
172.17.0.0/16
|
10.1.1.0/30 |
R1 |
R2 |
r1# router bgp 64520
neighbor 10.1.1.1 remote-as 65000 network 172.16.0.0
r2# router bgp 65000
neighbor 10.1.1.2 remote-as 64520 network 172.17.0.0
Рисунок 24.1 – Пример настройки сети для работы протокола BGP
Маршрутизаторы R1 и R2 определяют друг друга в качестве BGP соседей и запускают EBGP сеанс. Маршрутизатор R1 объявляет сеть 172.16.0.0/16, а маршрутизатор R2 - сеть 172.17.0.0/16.
24.2.1 Модификация атрибута NEXT-HOP
Модификация атрибута NEXT-HOP иногда необходима, например, в среде NBMA, чтобы отключать стандартное поведение маршрутизатора и перепрограммировать его на рассылку объявлений о самом себе как адресе следующего маршрутизатора для маршрутов, посылаемых соседу.
Команда настройки маршрутизатора neighbor next-hop-self используется для того, чтобы вынудить протокол BGP использовать собственный IP адрес в качестве IP адреса следующего узла и не дать протоколу возможности выбора адреса следующего узла. Синтаксис команды neighbor next-hop-self приводится в примере 24.5.
Пример 24.5 – Синтаксис команды neighbor next-hop-self
(config-router)# neighbor {ip-address | peer-group-name} next-hop-self (config-router)# no neighbor {ip-address | peer-group-name} next-hop-self
Описание параметров команды neighbor next-hop-self подобны параметрам команды neighbor remote-as рассмотренным в таблице 24.1.
24.2.2 Описание объединенного адреса в BGP таблице
Конфигурационная команда aggregate-address используется для создания общих записей таблицы протокола BGP. Синтаксис команды приводится в примере 24.6.
354
Пример 24.6 – Синтаксис команды aggregate-address
(config-router)# aggregate-address address mask [as-set] [summary-only] (config-router)# no aggregate-address address mask [as-set] [summary-only]
Описание параметров команды aggregate-address приводиться в таблице
24.4.
Таблица 24.4 – Параметры команды aggregate-address
Параметр |
Описание |
address mask |
Описание объединенного адреса. |
as-set |
Генерирует информацию об AS пути |
|
суммарного маршрута, включающего |
|
все AS перечисленные во всех путях |
|
всех маршрутов которые были суммар- |
summary-only |
ным маршрутом. |
Задает режим объявления маршрутиза- |
|
|
тором только суммарного маршрута. |
Команда aggregate-address применима к сетям, в которых BGP таблица уже используется. Это отличается от требования к сетям при рассылке объявлений результатов суммирования командой BGP network, когда сеть уже должна присутствовать в IP таблице маршрутизации. В этом случае агрегируемые сети должны присутствовать в BGP таблице.
При использовании этой команды без ключевого слова as-set агрегированный маршрут будет объявлен как приходящий из вашей автономной системы, и атрибут ATOMIC AGGREGATE будет установлен таким образом, чтобы показать, что информации может недоставать. Атрибут ATOMIC AGGREGATE установлен в том случае, если не задано ключевое слово as-set.
Без ключевого слова summary-only маршрутизатор может по-прежнему объявлять индивидуальные сети. Это может пригодиться при наличии избыточных каналов к Internet провайдеру. Например, если один Internet провайдер рассылает в объявлениях только суммарные маршруты, в то время как другой рассылает в объявлениях не только суммарные маршруты, но и отдельные маршруты, отслеживаться будут эти отдельные маршруты. Если же Internet провайдер, рассылающий объявления об отдельных маршрутах, становится недоступным, тогда отслеживаться будут провайдеры, рассылающие в объявлениях только суммированные маршруты.
Только при использовании ключевого слова summary-only командой ag- gregate-address будет объявлен суммарный маршрут. Путь теперь будет отражать только просуммированные AS, причем любая другая информация о пу-
355