Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии пакетной коммутации глобальных сетей. Учебное пособие
.pdf
71
Проверка соединения TCP производится периодически (по умолчанию
каждые 60 сек.).
Внутренние IBGP маршрутизаторы находятся в одной автономной
системе, поэтому они имеют одинаковые номера AS. При этом между собой
могут связываться как прямо соединенные, так и удаленные маршрутизаторы
(если внутри AS используется статическая или динамическая маршрутизация
IGP). IBGP маршрутизаторы имеют одинаковую маршрутную информацию о
внешних AS. Для идентификации IBGP соседей на маршрутизаторах обычно
конфигурируют виртуальные loopback-интерфейсы.
Когда BGP-соседи первоначально устанавливают соединение, они
обмениваются всеми возможными маршрутами. После этого производится
обмен информацией только об изменениях в топологии сети, также как это
организовано в протоколах внутренней IGP маршрутизации (OSPF, EIGRP).
В отличие от протоколов IGP, протокол BGP выбирает маршрут не на основе
метрики, поскольку в разных AS могут использоваться разные метрики, а
на базе политики, что позволяет контролировать поток трафика между AS.
Политика (метрика) протокола BGP, являющегося протоколом вектора пути
(Path Vector – PV), представлена набором атрибутов. BGP обеспечивает
маршрутизацию свободную от маршрутных петель.
Таблицы и базы данных BGP
В процессе своей работы протокол BGP формирует и поддерживает:
1. Базу и таблицу соседних устройств (Neighbor Table), которые
содержат список всех соседей маршрутизатора BGP.
2. Базу и таблицу BGP (Topology Database, BGP Table), которые
содержат все пути ко всем доступным сетям назначения. Они содержат также
атрибуты BGP каждого маршрута.
3. Таблицу маршрутизации, содержащую лучшие пути к доступным
сетям назначения.
Лучшие пути анонсируются соседям.

72
3.2. Атрибуты вектора пути протокола BGP
Атрибуты BGP
Типы
атрибутов
Хорошо
известные.
Обязательные
Хорошо
известные.
Дискреционные
Опциональные.
Переходные
Опциональные.
Непереходные
Примеры
атрибутов
AS Path
Next hop
Origin
Local Preference
Communities
Multiple Exit
Discriminator
(MED)
Маршрутизаторы BGP реализуют маршрутизацию на основе вектора
пути. Выбор оптимального пути протокол BGP производит на основании
политик, а не технических характеристик соединений (задержка, пропускная
способность, число переходов), как это было в протоколах IGP (EIGRP,
OSPF, RIP). Для реализации политики при выборе маршрута используются
различные атрибуты протокола BGP. Некоторые атрибуты являются
обязательными и автоматически включаются в обновления маршрутной
информации, в то время как другие не обязательны и конфигурируются
вручную. Разные производители сетевого оборудования могут использовать
разные наборы атрибутов. Примеры атрибутов приведены в табл. 3.1.
Таблица 3.1
Атрибуты протокола BGP
Хорошо известные обязательные (Mandatory) атрибуты распознаются
всеми реализациями BGP и обязательно включаются в обновления BGP.
Хорошо известные дискреционные (Discretionary) атрибуты
распознаются всеми реализациями BGP, но могут быть не включены в
обновления BGP.
Опциональные переходные атрибуты (Optional Transitive) могут не
распознаваться всеми реализациями BGP. Они используются, например, для
фильтрации трафика. Не распознанные маршрутизатором атрибуты
передаются дальше по сети.
Опциональные непереходные атрибуты (Optional Nontransitive) могут
не распознаваться всеми реализациями BGP. Не распознанные
маршрутизатором атрибуты дальше по сети не передаются.
Кроме того, существуют атрибуты, введенные производителями
аппаратуры, например, атрибут вес «Weight» введенный фирмой Cisco.

73
Некоторые атрибуты вектора пути BGP можно посмотреть по команде
C
AS
400
AS 100
AS
65000AS 200
A
B
D
.9 .10.1 .2 .5 .6
192.168.12.0/30 172.16.23.4/30 10.0.34.8/30
Lo1: 10.10.10.10/24 Lo4: 40.40.40.40/24Lo2: 20.20.20.20/24 Lo3: 30.30.30.30/24
show ip bgp, пример выполнения которой приведен для сети из четырех
маршрутизаторов, находящихся в четырех AS (рис. 3.3).
Рис. 3.3. Четыре автономных системы AS 100, AS 200, AS 65000, AS400
В каждой автономной системе (на каждом маршрутизаторе) сконфигурирован
виртуальный локальный интерфейс (Lo1, Lo2, Lo3, Lo4) для идентификации
локальной сети. Ниже приведена таблица BGP маршрутизатора R-A:
R-A#show ip bgp
BGP table version is 5, local router ID is 10.10.10.10
Status codes: s suppressed, d damped, h history, * valid, > best, i internal,
...
Network Next Hop Metric LocPrf Weight Path
*> 10.10.10.0/24 0.0.0.0 0 32768 i
*> 20.20.20.0/24 192.168.12.2 0 0 200 i
*> 30.30.30.0/24 192.168.12.2 0 200 65000 i
*> 40.40.40.0/24 192.168.12.2 0 200 65000 400 i
R1#
В первой колонке символ * показывает, что это действительный путь, а
символ > указывает, что маршрут лучший. Колонка «Network» таблицы
команды show ip bgp маршрутизатора R-A отображает все доступные
сети, идентифицированные адресами виртуальных loopback-интерфейсов
(прямо присоединенная 10.10.10.0/24 и три удаленные сети 20.20.20.0/24,
30.30.30.0/24, 40.40.40.0/24).
В следующей колонке таблицы атрибут «Next Hop» показывает адреса
следующего перехода, т.е. направление передачи сообщения в каждую
доступную сеть (направление вектора пути). Адрес следующего перехода к
непосредственно присоединенной сети (10.10.10.0/24) обозначен 0.0.0.0.
Атрибут «Next Hop» является обязательным.

74
Обязательный атрибут «Origin» несет информацию о том, кем и как
был введен маршрут. В приведенном выше примере атрибут отображен
символом i в конце каждой строки, который показывает, что источник пути
внутренний (i-internal). Если маршрут получен от внешнего источника через
BGP, он помечается символом e. Когда источник маршрута неизвестен, то
путь помечается символом ?.
Атрибут «Path» представляет собой последовательность номеров
автономных систем (ASN) на пути в сеть назначения. В приведенном
примере путь из R-A в удаленную сеть 40.40.40. 0/24 последовательно
проходит через AS 200, AS 65000, AS 400. Атрибут Path всегда включается в
обновления протокола BGP.
При маршрутизации IBGP и наличии нескольких путей к адресату
может использоваться атрибут локального предпочтения (Local Preference).
Чем больше значение атрибута, тем предпочтительнее маршрут. По
умолчанию предпочтение Cisco-маршрутизаторов составляет 100. Локальное
предпочтение конфигурируется и используется только между
маршрутизаторами IBGP. В маршрутизации EBGP данный атрибут не
используется, что видно из таблицы BGP, где он отсутствует.
Атрибут метрика или, по-другому Multiple Exit Discriminator (MED)
указывает BGP-соседям на предпочтительный путь в AS. MED с низким
значением предпочтительней высокого. Атрибут передается соседям BGP,
которые распространяют его внутри своей AS. Таким образом, MED влияет
на трафик, входящий в AS, а локальное предпочтение – на исходящий.
Путей к адресату назначения может быть несколько. В этом случае для
выбора пути протокол BGP может использовать введенный фирмой Cisco
атрибут вес (Weight), который настраивается локально и не распространяется
на другие маршрутизаторы. Значение атрибута лежит в диапазоне от 0 до
65535. Созданные маршрутизатором пути к прямо присоединенным сетям по
умолчанию имеют вес 32768. Маршруты к другим сетям по умолчанию
характеризуются весом 0, что видно из распечатки команды show ip bgp.
При наличии нескольких путей в сетях BGP выбирается маршрут с более
высоким значением веса.

75
На маршрутизаторе может быть настроена политика выбора пути,
Порядок
анализа
атрибутов
Атрибуты
1
Вес (Weight) – выбор пути с максимальным значением веса
2
Локальное предпочтение – выбор маршрута с максимальным
значением Local Preference
3
Локальный источник (Locally Originated) – путь, созданный
самим устройством
4
Выбор пути с кратчайшим атрибутом AS_PATH
5
Путь с минимальным значением Origin Type: IGP (i) < EGP (e) <
Incomplete (?)
6
Выбор пути с минимальным значением MED
7
Предпочтение отдается пути EBGP (перед IBGP)
8
Выбор пути через ближайшего соседа IGP
9
Выбор наиболее старого маршрута EBGP
10
Выбор маршрута через соседа с наименьшим значением ID
11
Выбор маршрута через соседа с наименьшим IP-адресом
которая определяет, какие атрибуты, и в каком порядке использовать. Если
политика не настроена, то обработка атрибутов идет по определенному
алгоритму по умолчанию. В маршрутизаторах Cisco выбор пути (анализ
атрибутов) производится в следующем порядке в соответствии с табл. 3.1:
Таблица 3.1
Порядок анализа атрибутов при выборе маршрута
3.3. Сообщения BGP
Для обмена маршрутной информацией протокол BGP использует 4
типа сообщений:
1. Запрос BGP-соединения (Open).
2. Обновление (Update).
3. Уведомление (Notification).
4. Поддержка (Keepalive) или подтверждение, приветствие.
Длина сообщения может быть от 19 до 4096 байт. Все сообщения
имеют общий заголовок, длиной 19 байт.
Сообщение четвертого типа (Keepalive) содержит только заголовок
(длиной 19 байт), одинаковый (общий) для всех типов сообщений протокола
BGP. Заголовок включает поле маркера длиной 16 байт, поле длины всего
сообщения (2 байта) и поле типа длиной 1 байт. Маркер позволяет

76
распознавать сообщения BGP, а также обнаруживать потерю синхронизации
Имя поля
Общий
заголовок
Версия
AS
Hold
BGP ID
Длина
опций
Опции
Длина, байт
19
1 2 2 4 1
7
между маршрутизаторами. Сообщения Keepalive пересылаются между
равноправными BGP-соседями каждые 60 сек., чтобы подтвердить наличие
соединения. Эти сообщения обеспечивают сброс таймера удержания
соединения (Hold Timer). Время удержания по умолчанию в 3 раза
превышает период рассылки сообщений Keepalive.
Сообщение первого типа запроса BGP-соединения (Open) передает
маршрутизатор, инициирующий сеанс связи с другим равноправным BGPмаршрутизатором. Получивший запрос маршрутизатор подтверждает
соединение сообщением Keepalive. Сообщение Open пересылается сразу
после установления ТСР-соединения. Оно включает набор параметров,
которые должны быть согласованы маршрутизаторами. Формат сообщения
Open приведен на рис.3.4. После этого маршрутизаторы могут обмениваться
маршрутной информацией.
Рис. 3.4. Формат сообщения Open
Из рис. 3.4 следует, что в сообщении Open всегда содержится номер
версии протокола, номер автономной системы отправителя сообщения,
значение таймера удержания информации (период втрое больше периода
Keepalive), идентификатор BGP. В качестве идентификатора BGP ID
используется МАС-адрес. Необязательные параметры (опции) и их длина
задаются двумя последними полями.
Сообщение обновления второго типа (Update) реализует обмен
маршрутной информацией между маршрутизаторами для изменения таблиц
маршрутизации. Сообщение (рис. 3.5) включает информацию:
- о недостижимых путях,
- об атрибутах маршрутов,
- о достижимости сетевого уровня (NLRI).

77
Имя поля
Общий
заголовок
Недостижимые пути
Атрибуты пути
NLRI
Длина
списка
Список
Длина
списка
Список
NLRI
Длина,
байт
19
2
variable
2
variable
variable
Имя поля
Общий
заголовок
Код ошибки
Доп. код
ошибки
Данные
диагностики
Длина, байт
19 1 1
variable
Код ошибки
Описание ошибки
Дополнительный код
1
Ошибка заголовка
3 значения
2
Ошибка в сообщении Open
6 значений
3
Ошибка в сообщении Update
11 значений
4
Истечение таймера Hold
Нет дополнительного кода
5
Ошибка FSM
Нет дополнительного кода
6
Другие ошибки
Нет дополнительного кода
Рис. 3.5. Формат сообщения обновления Update
Информация о недостижимых путях сообщает о маршрутах, которые
стали недостижимы и должны быть удалены из таблицы маршрутизации
BGP. Она содержит значение длины списка недостижимых более маршрутов
(длиной 2 байта) и списка префиксов их IP-адресов (это поле переменной
длины).
Информация об атрибутах пути характеризуются типом, длиной,
значением (TLV). Она содержит значение длины списка атрибутов маршрута
(длиной 2 байта) и сам список атрибутов (AS-path, origin, local preference и
др.), представленных полем переменной длины.
Поле переменной длины NLRI (Network-layer reachability information)
содержит список префиксов IP-адресов и их длины, достижимых на этом
пути.
Сообщение третьего типа Notification (рис. 3.6) уведомляет
маршрутизаторы об ошибках и прекращает сеанс связи. Оно содержит код
ошибки, дополнительный код ошибки и данные о ней.
Рис. 3.6. Формат сообщения уведомления Notification
Ниже приведены коды ошибок

78
3.4. Конфигурирование протокола BGP
При конфигурировании протокола BGP на маршрутизаторе требуется
указать ряд параметров (атрибутов) для обмена маршрутной информацией:
1. Номер AS, где функционирует маршрутизатор.
2. Адреса интерфейсов соседних устройств в удаленных AS.
3. Адреса присоединенных сетей с их масками (для обновлений).
4. Другие параметры.
При конфигурировании протокола BGP на маршрутизаторах
необходимо предварительно задать имена и сформировать всю адресную
информацию на интерфейсах. Сформированную информацию можно
проверить по команде show running-config.
При конфигурировании протокола BGP задаются:
1. По команде router bgp (ASN) задается протокол и номер
автономной системы (ASN), где находится программируемый
маршрутизатор.
2. По команде neighbor (адрес) remote-as (ASN) задаются
адреса интерфейсов соседних устройств и номер автономной системы, где
находится соседний интерфейс. При конфигурировании IBGP номером ASN
будет номер системы, где находится программируемый маршрутизатор.
3. По команде network (адрес) mask (маска) задаются адреса
прямо присоединенных сетей с их масками. Для сетей с адресами полного
класса маски не задаются.
Конфигурирование BGP рассмотрено на примере трех автономных
систем AS 100, AS 200, AS 300 (рис. 3.7). На схеме показаны только
граничные маршрутизаторы А, В, С, которые взаимодействуют между собой
и являются соседями BGP (neighbor). На каждом маршрутизаторе для
удобства моделирования локальных сетей, прямо присоединенных к
машрутизатору, сконфигурированы виртуальные интерфейсы Loopback:
Lo0: 192.168.10.1 и Lo1: 192.168.11.1 – на R-A; Lo0: 10.10.10.1 – на R-B; Lo0:
172.30.30.1 – на R-C.

79
Lo0 10.10.10.1/24
S3/1
S3/0
B
C
S3/0
S3/1
.2
.1
.1
.2
Lo0 172.30.30.1/24
AS 100
AS 200 AS 300
10.30.30.0/30
10.20.20.0/30
Lo0 192.168.10.1/24
Lo1 192.168.11.1/24
A
Рис. 3.7. Три автономных системы AS 100, AS 200, AS 300
Маршрутизатор А моделирует автономную систему (AS 100) крупного
предприятия (корпорации), которая для повышения надежности использует
подключение к Интернету через двух сетевых операторов (провайдеров),
которые представлены маршрутизаторами В (AS 200) и С (AS 300).
Маршрутизация между AS реализуется на протоколе BGP.
При конфигурировании протокола BGP на маршрутизаторе
необходимо предварительно задать имя и сформировать всю адресную
информацию на интерфейсах. Сформированную информацию можно
посмотреть по команде верификации текущей конфигурации. На
маршрутизаторе R-A это следующая конфигурация:
R-A#show running-config
...
interface Loopback 0
ip address 192.168.10.1 255.255.255.0
!
interface Loopback 1
ipaddress 192.168.11.1 255.255.255.0
!
interface Serial 0/3/0
ip address 10.20.20.2 255.255.255.252
!
interface Serial 0/3/1
ip address 10.30.30.2 255.255.255.252
На маршрутизаторе R-В:
R-B#show running-config

80
...
interface Loopback 0
ip address 10.10.10.1 255.255.255.0
!
interface Serial 0/3/0
ip address 10.20.20.1 255.255.255.252
clock rate 128000
На маршрутизаторе R-С:
R-С#show running-config
...
interface Loopback 0
ip address 172.30.30.1 255.255.255.0
!
interface Serial 0/3/1
ip address 10.30.30.1 255.255.255.252
clock rate 128000
Ниже приведен пример конфигурирования маршрутизаторов R-А, R-В,
R-С рис. 3.7.
Маршрутизатор R-А:
R-А(config)#router bgp 100
R-А(config-router)#neighbor 10.20.20.1 remote-as 200
R-А(config-router)#neighbor 10.30.30.1 remote-as 300
R-А(config-router)#network 192.168.10.0
R-А(config-router)#network 192.168.11.0
Таким образом, при конфигурировании указан номер автономной
системы (100), где находится программируемый маршрутизатор, адреса
интерфейсов соседних устройств (neighbor 10.20.20.1 в AS 200 и neighbor
10.30.30.1 в AS 300). В прямо присоединенных сетях 192.168.10.0 и
192.168.11.0 маски не заданы, поскольку это адреса полного класса.
Маршрутизатор R-В:
R-В(config)#router bgp 200
R-В(config-router)#neighbor 10.20.20.2 remote-as 100
R-В(config-router)#network 10.10.10.0 mask 255.255.255.0
Обратите внимание, что для сети 10.10.10.0 задана маска 255.255.255.0,
поскольку она не совпадает с маской полного класса А.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
