
Принципы маршрутизации в Internet. Самое полное описание протокола BGP 4 - Сэм Хелеби
.pdf
Таблица 6.1. Значения дистанций протоколов по умолчанию
Протокол |
Дистанция |
Непосредственное подключение |
0 |
Статический маршрут |
1 |
EBGP |
20 |
EIGRP (внутренний) |
90 |
IGRP |
100 |
OSPF |
110 |
ISIS |
115 |
RIP |
120 |
EGP |
140 |
EIGRP (внешний) |
170 |
IBGP |
200 |
Локальный BGP |
200 |
Неизвестный |
255 |
Как видно из табл. 6.1, непосредственное соединение узлов более предпочтительно, чем статический маршрут, который, в свою очередь, более предпочтителен, чем маршрут EBGP, и так далее. Обратите внимание, что маршруты EBGP со значением дистанции 20 предпочтительнее любых других маршрутов IGP.
На рис. 6.7 показан механизм использования обходных маршрутов. На этом рисунке AS1 принимает обновление маршрутной информации о сети А из двух различных источников. Так, AS1 по протоколу EBGP получает маршруты от AS3 и через запасное соединение между AS1 и AS2 по протоколу RIP. Согласно табл. 6.1, маршрутизатор автоматически присвоит дистанцию 20 маршруту EBGP и 120 — маршруту RIP. В AS1 маршрутизаторам, которые получили сведения о маршрутах по протоколу EBGP (граничные маршрутизаторы AS), будет присвоено меньшее значение дистанции в таблице маршрутов. Следовательно, трафик в направлении сети А будет направлен по непрямому маршруту BGP через AS3 и затем AS2, вместо того, чтобы воспользоваться прямым маршрутом RIP через AS2.
Компания Cisco предоставляет способ заставить маршрутизаторы отдавать предпочтение маршрутам IGP перед EBGP. Определенные маршруты EBGP могут быть отмечены как обходные, что влечет за собой изменение значения дистанции для этих маршрутов, и оно снижается до значения локального BGP-маршрута (т.е. по умолчанию 200). Согласно табл. 6.1, эта дистанция намного превышает любой известный маршрут протокола IGP, таким образом, предпочтение будет отдано обходному IGP-маршруту.
Для изменения административной дистанции у всех префиксов BGP, известных маршрутизатору, можно также использовать BGP-команду distance.
Рис. 6.7. Конфликты при маршрутизации по обходным маршрутам
Глава 6. Настройка параметров BGP |
141 |

Упрощенная схема процесса маршрутизации
До сих пор в этой главе мы рассматривали отдельные аспекты маршрутизации, в частности ведение переговоров между системами, а также статическую и динамическую маршрутизацию. Прежде чем перейти к рассмотрению деталей в настройке конфигурации маршрутов, имеет смысл остановиться и сделать краткий обзор всего процесса маршрутизации по протоколу BGP.
Протокол BGP сам по себе довольно простой и поэтому достаточно гибкий. С помощью сообщений UPDATE происходит обмен маршрутами между взаимодействующими BGP-системами. BGP-маршрутизаторы принимают сообщения UPDATE, обрабатывают и фильтруют их согласно принятым правилам маршрутизации, а затем передают маршруты другим BGP-узлам. Для того чтобы маршрутные таблицы протоколов BGP и IP хранились отдельно, требуются специальные средства. В случае существования нескольких маршрутов к одному и тому же узлу, BGP-узел не передает сведения обо всех этих маршрутах своим соседям. Наоборот, из имеющихся маршрутов он подбирает наилучший и посылает сведения о нем другим узлам. Кроме передачи всех EBGP-маршрутов от различных узлов или IBGPмаршрутов, поступающих от клиентов-отражателей и маршрутов, BGP-маршрутизатор может самостоятельно генерировать обновления маршрутов для объявления внутренних сетей, принадлежащих к его автономной системе. Действующие локальные маршруты, сгенерированные самой системой, и наилучшие маршруты, полученные от других BGPузлов, затем помещаются в маршрутную таблицу IP. Таблица IP-маршрутов является конечным решением о маршрутизации и применяется для заполнения таблицы пересылки.
Для моделирования работы протокола BGP представим, что у каждого спикера BGP имеется свой набор маршрутов и собственный набор правил маршрутизации, согласно которому обслуживаются маршруты (хотя в реальной жизни встречается только набор маршрутов). Итак, в модель включены следующие компоненты.
Набор маршрутов, получаемый маршрутизатором от других узлов.
Набор входных правил маршрутизации (Input Policy Engine), с помощью кото рых проводится фильтрация маршрутов и изменение их атрибутов.
Процесс принятия решения, во время которого выбирается маршрут, исполь зуемый самим маршрутизатором.
Набор маршрутов, которые маршрутизатор формирует и использует сам.
Набор выходных правил маршрутизации (Output Policy Engine), согласно кото рым проводится фильтрация маршрутов и управление их атрибутами.
Набор маршрутов, которые маршрутизатор объявляет другим узлам сети.
На рис. 6.8 представлена описанная модель процесса маршрутизации. Дальнейшие разъяснения позволят вам более подробно ознакомиться с функционированием каждого компонента.
Рис. 6.8. Схема процесса маршрутизации
Глава 6. Настройка параметров BGP |
142 |

BGP-маршруты: объявление и хранение
Как сказано в RFC 1771:
"Маршрутом следует считать единицу информации, включающую сведения о пункте назначения и атрибутах маршрута в этот пункт назначения.
Маршруты объявляются между парами спикеров BGP в сообщениях UPDATE. При этом под пунктом назначения следует понимать систему, IP-адреса которой указаны в поле информации о доступности сети сетевого уровня {Network Layer Reachability Information
— NLRI), а под маршрутом следования подразумевается информация, содержащаяся в поле атрибутов маршрута того же сообщения UPDATE.
Маршруты хранятся в информационных базах маршрутизации (Routing Information Bases - RIBs), которые называются: Adj-RIBs-In, Loc-RIB и Adj-RIBs-Out. Маршруты, которые будут объявляться другим спикерам BGP, должны помещаться в базу и Adj- RIBs-Out. Маршруты, используемые спикером BGP локально, должны присутствовать в базе Loc-RIB. Для каждого маршрута в информационной базе пересылки (Forwarding Information Вазе - FIB) на локальном спикере BGP должны быть сведения о ближайшем следующем узле. Маршруты, получаемые от других спикеров BGP, заносятся в базу Adj~RIBs-In."
Если спикер BGP принимает решение объявить маршрут, то перед объявлением он может добавить или модифицировать его атрибуты.
Отметим, что с этого момента и далее термин маршрут (route) в контексте протокола BGP будет представлять собой единицу информации, состоящую из адреса пункта назначения и атрибутов пути следования к этому пункту назначения.
Информационные базы маршрутизации в BGP
Рис. 6.9. Логическое представление таблицы маршрутов BGP
Глава 6. Настройка параметров BGP |
143 |

Как показано на рис. 6.9, таблица BGP-маршрутов состоит из трех отдельных частей: информационной базы маршрутизации (Routing Information Base - RIB) Adj-RIB-In, базы
Loc-RIB и базы Adj-RIB-Out.
База Adj-RIB-In логически связана с каждым узлом, с которым взаимодействует спикер BGP. В ней хранится маршрутная информация, поступившая от других узлов посредством сообщений UPDATE. Содержимое всех баз Adj-RIB-In доступно в качестве исходных данных для процесса принятия решения после обработки или фильтрации набором входных правил маршрутизации, принятых на данном узле.
База Loc-RIB содержит только предпочтительные маршруты, выбранные в качестве наилучших путей в заданные пункты назначения. Содержимое базы Loc-RIB является результатом процесса принятия решения после применения соответствующих локальных правил маршрутизации, входящих в набор входных правил маршрутизации.
База Adj-RIB-Out логически связана с каждым узлом, взаимодействующим с данным спикером BGP. В ней хранится маршрутная информация, собранная спикером BGP, для объявления другим узлам после применения набора выходных правил маршрутизации.
Несмотря на то что в представленной концептуальной модели рассмотрены три базы
— Adj-RIB-In, Loc-RIB и базы Adj-RIB-Out, — хранение трех копий маршрутной информации не является обязательным. На практике для экономии памяти обычно хранится одна копия маршрутной информации с указателями.
Маршруты, полученные от других узлов
Спикер BGP получает маршруты (с соответствующими атрибутами) от внешних и/или внутренних узлов в сообщениях UPDATE. В зависимости от наборов входных правил маршрутизации, все или некоторые из этих маршрутов далее поступают в базу Loc-RIB.
Наборы входных правил маршрутизатора
Наборы входных правил (Input policy Engine) позволяют фильтровать маршруты и изменять их атрибуты. Фильтрация проводится на основе различных параметров, таких как префиксы IP, AS_PATH и другие атрибуты BGP. В BGP набор входных правил используется для управления атрибутами маршрута для того, чтобы повлиять на процесс принятия решения и, следовательно, на выбор маршрута, который будет применяться для доставки трафика в пункт назначения. Например, если для BGP определено фильтровать заданный префикс с какого-либо узла, то через этот узел нежелательно пересылать трафик для доставки получателю. Точно так же, если в BGP определенному префиксу задано оптимальное значение LOCAL_PREF, то в BGP среди нескольких узлов предпочтение отдается префиксу от определенного узла. Набор входных правил конфигурируется оператором.
Маршруты, используемые маршрутизатором
Наилучшие маршруты выявленные в процессе принятия решения, помещаются в базу Loc-RIB. Эти маршруты становятся кандидатами, которые могут быть объявлены другим узлам или помещены в таблицу маршрутов IP. Если маршрут не поступает в базу Loc-RIB, то он не может быть помещен в базу Adj-RIB-Out для дальнейшего объявления другим узлам.
Кроме приема маршрутов от сторонних узлов, маршрутизатор (если это задано в его конфигурации) генерирует сообщения о маршрутах к сетям внутри автономной системы. Таким образом, внешним узлам объявляются маршруты ко внутренним сетям AS.
Глава 6. Настройка параметров BGP |
144 |

Набор выходных правил маршрутизации
Этот набор представляет собой тот же набор входных правил, но применяемый на выходе. Маршруты, используемые маршрутизатором (т.е. наилучшие маршруты) в дополнение к маршрутам, сгенерированным маршрутизатором локально, обрабатываются именно этим набором правил. В наборе выходных правил маршрутизации (Output Policy Engine) могут применяться фильтры и вноситься изменения в некоторые атрибуты BGP (такие как AS_PATH) перед отправкой сообщения об обновлении маршрутной информации.
Набор выходных правил маршрутизации налагает ограничения на распространение маршрутов между внутренними и внешними узлами; например, маршруты, полученные от одного внутреннего узла, не могут быть переданы другому внутреннему узлу.
Маршруты, объявляемые другим узлам
Набор маршрутов, объявляемых другим узлам, включает в себя маршруты, которые успешно прошли обработку набором выходных правил и готовы быть объявленными другим узлам BGP — внутренним или внешним.
Пример организации маршрутизации
На рис. 6.10 представлен процесс, которому подвергаются BGP-маршруты. На этом рисунке AS5 получает сведения о маршрутах от AS1 и AS2 и, кроме того, генерирует собственные маршруты (172.16.10.0/24). С целью упрощения предположим, что поток обновлений маршрутов происходит в одном направлении — слева направо.
Рис. 6.10. Пример организации маршрутизации
Применение модели работы протокола BGP к AS5 дает следующие результаты. Маршруты, получаемые от взаимодействующих узлов (маршруты от AS1 и AS2), включают в себя:
192.213.1.0/24 через AS1.
0/0 через AS1 (это маршрут по умолчанию).
193.214.10.0/24 через AS2.
Глава 6. Настройка параметров BGP |
145 |

0/0 через AS2 (это тоже маршрут по умолчанию).
192.213.1.0/24 через AS2.
Согласно критериям, заданным набором входных правил, получим:
не принимать маршрут по умолчанию 0/0 от AS1;
отдавать предпочтение маршруту 192.213.1.0/24 через AS1 перед маршрутом 192.213.1.0/24 через AS2;
принимать все остальные маршруты (за исключением 193.214.10.0/24).
Впроцессе принятия решения делаются следующие выводы.
так как маршрут в сеть 192.213.1.0/24 через AS1 более предпочтителен, то его
ибудем использовать для того, чтобы попасть в сеть 192.213.1.0/24.
в сеть 193.214.10.0/24 попадаем через AS2.
принимаем маршрут 0/0 через AS2.
Маршруты, используемые маршрутизатором:
в качестве маршрута по умолчанию будем использовать 0/0 через AS2;
в сеть 192.213.1.0/24 можем попасть через AS1;
в сеть 193.214.10.0/24 можем попасть через AS2;
сеть 172.16.10.0/24 является одной из локальных сетей, маршруты к которым мы хотим объявить.
Согласно критериям, выдвигаемым набором выходных правил маршрутизации:
не сообщать сведения о маршруте по умолчанию 0/0;
не объявлять маршрут в сеть 193.214.1.0/24 через AS4;
при пересылке маршрута к сети 192.213.1.0/24 на AS3 присвоить ему метрику 10. Маршруты, объявляемые другим узлам в направлении AS3, включают в себя:
192.213.1.0/24 (через AS5 и AS1) (т.е. сначала на AS5, а затем на AS1) с метрикой
10;
172.16.10.0/24 (через AS5);
193.214.10.0/24 (через AS5 и AS2).
Маршруты, объявляемые другим узлам в направлении AS4, включают в себя:
192.213.1.0/24 (через AS5 и ASI);
172.16.10.0/24 (через AS5).
Процесс принятия решения в BGP
Процесс принятия решения об использовании маршрута в протоколе BGP основан на обработке атрибутов. При наличии нескольких маршрутов к одному узлу с префиксами одинаковой длины в BGP выбирается наилучший из них, по которому и направляется весь трафик. Ниже описывается процесс выбора наилучшего маршрута в BGP:
1.Если ближайший следующий узел недоступен, то маршрут игнорируется. (Поэтому важно всегда иметь IGP-маршрут на ближайший соседний узел).
2.Предпочитается маршрут с наибольшим весом. (Вес маршрута — специальный параметр, используемый в маршрутизаторах компании Cisco локально).
3.Если веса маршрутов оказались одинаковыми, то следует выбрать из них маршрут с наибольшим значением коэффициента предпочтения.
4.Если нет локально сгенерированных маршрутов и коэффициент предпочтения оказался одинаковым, то следует предпочесть маршрут с наименьшим значением атрибута AS_PATH (т.е. самый короткий путь).
Глава 6. Настройка параметров BGP |
146 |

5.Если длина AS_PATH у маршрутов совпадает, то следует выбрать маршрут с наименьшим значением атрибута типа протокола ORIGIN (где IGP стоит ниже EGP, a EGP - ниже, чем INCOMPLETE).
6.Если атрибут типа протокола также совпадает, то следует выбрать маршрут с наименьшим значением атрибута MED, если маршруты были приняты от одной и той же AS (или если была задана команда bgp always-compare-med).
7.Если у маршрутов равные значения MED, то IBGP-марщрутам следует предпочесть EBGP-маршруты.
8.Если во всех предыдущих случаях получены совпадения, то следует предпочесть маршрут, который пролегает через ближайшего соседа по IGP, т.е. предлагается избрать кратчайший путь к удаленному узлу внутри AS. (Следовать кратчайше му пути до узла, указанного в NEXT_HOP).
9.Если и внутренние маршруты окажутся одинаковыми, то для решения этой за дачи следует использовать атрибут ROUTER_ID. В этом случае следует предпочесть маршрут, полученный от маршрутизатора BGP, с наименьшим значением RID. В Cisco IOS в качестве RID выступает адрес петли, если такой сконфигурирован; в противном случае -- наибольший IP-адрес маршрутизатора. Установление RID зависит от изготовителя конкретного оборудования.
Если разрешено применение BGP Multipath (см. главу 11), то шаги с седьмого по девятый можно пропустить. Тогда все маршруты с одинаковой длиной атрибута AS_PATH и одинаковыми значениями MED могут помещаться в таблицу маршрутов. Некоторые реализации позволяют пропускать девятый шаг и использовать в качестве активных маршруты, "установленные изначально".
Управление маршрутами в BGP
В предыдущем разделе мы обсудили работу наборов правил, с помощью которых можно управлять атрибутами и проводить фильтрацию маршрутов. В этом разделе детально рассматриваются фильтрация и управление атрибутами маршрутов, которые являются ключевыми для управления маршрутами. Подробно рассматривается каждый атрибут BGP, чтобы показать, на что и как именно он влияет.
Трафик внутри и вне AS всегда перемещается согласно "атласу автомобильных дорог", сформированному на основе маршрутов. Внесение изменений в маршруты приводит к изменению направления потоков трафика. Ниже приведены наиболее часто задаваемые вопросы, касающиеся управления маршрутами.
Как запретить объявление внутренних сетей во внешнюю сеть?
Как организовать фильтрацию обновлений маршрутов, поступающих от опре деленного узла?
Чем можно доказать, что используется именно нужное соединение и именно от
нашего провайдера, а не какое-то другое?
Как вы увидите далее, в BGP имеются все необходимые средства и атрибуты, позволяющие получить ответы на эти и многие другие вопросы.
Атрибуты маршрутов в BGP
Атрибуты BGP представляют собой набор параметров, которые описывают различные характеристики префиксов (маршрутов). В процессе принятия решения в BGP все атрибуты связываются с префиксами, которые они описывают, сравниваются все доступные маршруты к заданному пункту назначения и затем выбираются лучшие из них. Помните о том, что атрибуты являются неотъемлемой частью пакета UPDATE протокола BGP и заключают в себе информацию описательного характера для определенного префикса. В последующих разделах будут рассмотрены различные атрибуты и их воздействие на работу системы маршрутизации.
Глава 6. Настройка параметров BGP |
147 |

Прежде чем перейти к описанию атрибутов маршрутов, давайте рассмотрим их основные категории.
Обязательные общеизвестные (Well-known mandatory).
Общеизвестные, используемые по собственному усмотрению (Well-known discretionary).
Необязательные транзитивные (Optional transitive).
Необязательные нетранзитивные (Optional nontransitive).
Вот что сказано о категориях атрибутов в RFC 1771.
"Общеизвестные атрибуты должны распознаваться всеми реализациями протокола BGP. Часть этих атрибутов обязательна для применения и должна всегда включаться в состав сообщения UPDATE. Другие - - оставлены на ваше усмотрение и могут или включаться не включаться в сообщение UPDATE.
Общеизвестные атрибуты должны передаваться другим узлам (после соответствующего обновления, если это необходимо).
Кроме общеизвестных атрибутов, каждому маршруту можно присваивать один или несколько необязательных атрибутов. Поддержка этих атрибутов всеми реализациями BGP не требуется. Возможность обработки неопознанного необязательного атрибута определяется установкой бита транзитивности из октета флагов атрибутов в определенное значение. Маршруты с неопознанными необязательными транзитивными атрибутами должны быть обработаны. Если маршрут с неопознанным необязательным транзитивным атрибутом обрабатывается и пересылается другим узлам BGP, то и этот атрибут также передается на другие узлы с битом частичности (Partial bit) и октетом флагов атрибутов, установленными в 1. Если принят и передан на другие узлы BGPмаршрут с опознанным необязательным транзитивным атрибутом, то бит частичности и октет флагов атрибутов уже установлены в 1 предыдущей AS и не сбрасываются в 0 текущей AS. Неопознанные нетранзитивные необязательные атрибуты должны игнорироваться, и передавать сведения о них на другие узлы BGP не нужно.
На маршруте следования можно добавлять новые необязательные транзитивные атрибуты. Это может выполнять узел, генерирующий маршрут , либо другая AS, через которую проходит маршрут. Если маршруты были добавлены другой AS, то бит частичности и октет флагов атрибутов устанавливаются в 1. Правила добавления новых необязательных нетранзитивных атрибутов зависят от свойств добавляемых атрибутов. Документация на каждый новый необязательный нетранзитивный атрибут, вероятнее всего, будет содержать эти правила. (В качестве примера можно привести атрибут MULTI_EXIT_DISC) . Все необязательные атрибуты (и транзитивные, и нетранзитивные) могут быть внесены любой AS на маршруте (если это разрешено)."
Определенные для протокола BGP атрибуты приведены в списке. Подробную информацию о действии каждого из них мы представим в последующих разделах.
ORIGIN (код типа 1) — обязательный общеизвестный атрибут, который определяет источник, сгенерировавший информацию о маршруте. В его октете данных разрешены следующие значения:
-0: IGP — информация сетевого уровня о доступности сети, которая является внутренней для данной AS;
-1: EGP — информация сетевого уровня о доступности сети, полученная через протокол EGP;
-2: INCOMPLETE — информация сетевого уровня о доступности сети, полученная другими средствами.
AS_PATH (код типа 2) -- обязательный общеизвестный атрибут, который состоит из последовательности сегментов AS, составляющих маршрут. Каждый сегмент AS, составляющий маршрут, представлен параметрами <тип сегмента маршрута,
Глава 6. Настройка параметров BGP |
148 |

длина сегмента, значение сегментах
NEXTJttOP (код типа 3) — обязательный общеизвестный атрибут, который определяет IP-адрес граничного маршрутизатора. Этот адрес следует использовать в качестве следующего ближайшего к пункту назначения узла. Он помещается в поле информации сетевого уровня о доступности сети в сообщении UPDATE.
MULTI_EXIT_DISC (код типа 4) — необязательный нетранзитивный атрибут, который представляет собой целое неотрицательное число, занимающее четыре октета. Значение этого атрибута может использоваться в процессе принятия решения спикером BGP для выделения нескольких точек выхода от соседних автономных систем.
LOCAL_PREF (код типа 5) — общеизвестный атрибут, используемый по усмотрению, который состоит из целого неотрицательного числа размером четыре октета. Он ис пользуется спикером BGP для информирования других спикеров BGP в автономной системе о степени предпочтительности того или иного объявляемого маршрута.
ATOMIC_AGGREGATE (код типа 6) — общеизвестный атрибут, используемый по усмотрению, длиной 0 октетов. Он используется спикером BGP для информирования других спикеров BGP о том, что в локальной системе выбран менее специфичный (неопределенный) маршрут вместо более специфичного (однозначно определенного), который уже включен в него.
AGGREGATOR (код типа 7) — необязательный транзитивный атрибут длиной 6 октетов. Этот атрибут содержит номер последней AS, где был сформирован объединенный маршрут (закодированный двумя октетами), за которым следует IPадрес спикера BGP, сформировавшего объединенный маршрут (заключенный в четыре октета).
COMMUNITY (код типа 8) — необязательный транзитивный атрибут переменной длины. Этот атрибут состоит из набора четырех октетов, каждый из которых определяет сообщество. Все маршруты, содержащие этот атрибут, принадлежат к сообществу, заданному в атрибуте.
См. в главе 11 на с. 299 раздел "Атрибуты BGP"
Атрибут ORIGIN
ORIGIN — обязательный общеизвестный атрибут (код типа 1), который указывает на источник обновления маршрута с учетом автономной системы. В протоколе BGP допускаются следующие типы источников.
IGP — Информация сетевого уровня о доступности сети (Network Layer Reachability Information -- NLRI), являющаяся внутренней по отношению к AS, где был сформирован маршрут.
EGP – Информация сетевого уровня о доступности сети, полученная через протокол внешнего шлюза Exterior Gateway Protocol (EGP).
INCOMPLETE — Информация сетевого уровня о доступности сети полученная другими средствами.
Впротоколе BGP атрибут ORIGIN используется в процессе принятия решения для установления предпочтительности маршрутов. Как правило, в BGP предпочитается маршрут
ссамым младшим типом источника (IGP младше EGP, a EGP младше INCOMPLETE). Более детально о механизме формирования атрибута ORIGIN читайте в разделе "Атрибут маршрута ORIGIN".
Атрибут AS_PATH
AS_PATH является обязательным общедоступным атрибутом (код типа 2), в котором содержится последовательность номеров автономных систем, пересекаемых на маршруте. При прохождении маршрутов через спикеры BGP внутри AS, изменения в атрибут AS_PATH не вносятся. Однако при пересылке маршрутов внешним BGP-узлам в
Глава 6. Настройка параметров BGP |
149 |

этот атрибут подставляется номер AS, где был сформирован маршрут. Впоследствии каждая AS, которая принимает маршрут и пересылает его другим EBGP-узлам, будет помещать свой номер в список AS. Размещение (prepending) — это добавление номера AS в начало списка номеров. В последнем списке должны быть представлены номера всех AS, через которые пролегает маршрут. Номер AS, где был сгенерирован маршрут, помещается в конце списка номеров (перед кодом атрибута ORIGIN). Этот тип списка атрибута AS_PATH называют еще последовательностью AS (AS_SEQUENCE), так как все номера AS расположены последовательно.
См. в главе 11 раздел "Атрибут AS_PATH"
Атрибут AS_PATH используется в BGP как часть обновления маршрутов (в пакете UPDATE) для того, чтобы предотвратить образование петель маршрутов в сети Internet. Каждый маршрут, передаваемый между BGP-системами, переносит и список всех номеров AS, через которые он прошел. Если маршрут объявлен AS, номер которой уже имеется в AS_SEQUENCE, то сообщение UPDATE игнорируется. Спикеры BGP помещают номера своих AS при объявлении маршрутов другим AS. Когда маршрут передается спикеру BGP внутри одной AS, то изменения в AS_PATH не вносятся.
На рис. 6.11 представлено формирование атрибута AS_PATH в каждой точке маршрута к сети 172.16.10.0/24. Этот маршрут образован в AS1, передан на AS2, затем — на AS3 и AS4 и возвращен на AS 1. Обратите внимание на изменения, вносимые каждой AS на пути следования. Каждая AS добавляет свой номер в начало списка номеров. При возвращении на AS1 граничный маршрутизатор этой AS обнаруживает, что этот маршрут уже проходил через ASI (так как номер AS1 имеется в списке), поэтому он отвергает маршрут.
Информация, заключенная в атрибуте AS_PATH, используется протоколом BGP при определении наилучшего маршрута к пункту назначения. При сравнении нескольких маршрутов, если остальные, более приоритетные атрибуты одинаковы, то предпочтение отдается маршруту с более коротким списком в AS_PATH. В случае возникновения конфликтной ситуации для определения наилучшего маршрута используются другие атрибуты (см. раздел "Процесс принятия решения в BGP").
Рис. 6.11. Пример образования петли и работы атрибута AS_PATH
Атрибут NEXT_HOP
NEXT_HOP — обязательный общеизвестный атрибут (код типа 3). Он может немного видоизменяться при использовании в контексте протокола IGP, где в качестве ближайшего следующего узла используется IP-адрес интерфейса маршрутизатора, объявленного при анонсировании маршрута.
См. в главе 11 на с. 302 раздел "Атрибут NEXTJHOP"
Концепция работы с ближайшим следующим узлом в протоколе BGP сложнее, чем в
Глава 6. Настройка параметров BGP |
150 |