Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Принципы маршрутизации в Internet. Самое полное описание протокола BGP 4 - Сэм Хелеби

.pdf
Скачиваний:
735
Добавлен:
24.05.2014
Размер:
8.46 Mб
Скачать

Выражение типа ^$ указывает на пустой список маршрутов, в котором находятся только локальные маршруты. {Вспомните о том, что мы говорили о номере локальной AS при объявлении маршрутов по EBGP. Он не включается в список, т.е. равен нулю). Символы ^ и $ определяют лишь границы пустой строки. Знак подчеркивания в выражении _200$ ограничивает номер AS, т.е. номер AS должен быть точно 200, а не 1200 или 2200.

Фильтрация на основе сведений, заключенных в атрибуте AS_PATH, является исключительно эффективной, так как она одновременно выполняется над всеми маршрутами в AS__PATH. Если бы не было подобного типа фильтрации, то пришлось бы отдельно задавать тысячи маршрутов или становиться членом уже идентифицированного сообщества

BGP.

Группы узлов

Группа узлов BGP (peer group) — это труппа соседних BGP-узлов, в которых используется один набор правил маршрутизации. Вместо того чтобы определять правила для каждого отдельного узла, вы можете задать групповое имя и назначить правила группе узлов. Например, администратор, устанавливая правила маршрутизации для взаимодействующих узлов, к большинству из них может применить один и тот же набор правил, следовательно, он может задать эти правила группе узлов, что избавит его от необходимости задания одних и тех же правил каждому узлу в отдельности.

Однако группы узлов организуются не только с целью облегчения труда оператора по настройке отдельных BGP-узлов, они также предохраняют BGP-узел от постоянного уточнения правил работы с соседями. С помощью групп узлов маршрутизатор формирует обновление маршрутной информации всего один раз на основе принятых для группы правил маршрутизации и затем рассылает одинаковые сообщения об обновлении всем взаимодействующим в группе узлам.

На рис. 6.28 показан маршрутизатор RTA с тремя узлами, которые имеют те же внутренние правила маршрутизации, что и RTA. Существует еще три внешних узла, которые также имеют одинаковые правила маршрутизации. Таким образом, при конфигурации маршрутизатора RTA задается две группы узлов — одна внутри AS и одна вне AS. Каждая группа узлов содержит набор правил, который действителен в отношении RTA и определяет порядок его взаимодействия с другими узлами. Эти правила могут представлять собой фильтры на основе набора префиксов IP или фильтры на основе атрибута AS_PATH. Возможны и другие манипуляции с атрибутами. После определения групп узлов все эти правила применяются к узлам, составляющим группы.

Рис. 6.28. Организация групп узлов

Одно время в Cisco IOS имелись ограничения по работе соседних EBGP-узлов в составе группы узлов. Однако в последующих модификациях эти ограничения были устранены. Так что теперь мы не будем останавливаться на них. Но следует помнить о том, что, если вы пользуетесь старыми версиями IOS, то можете встретиться с подобными ограничениями. Обратитесь к документации на имеющуюся у вас версию Cisco IOS, чтобы прояснить эти вопросы.

Глава 6. Настройка параметров BGP

171

Исключение из группы узлов

Исключение узла или узлов из группы происходит, когда один или несколько узлов используют правила маршрутизации, отличающиеся от правил, заданных для группы. В дополнение к набору правил, действующих внутри группы, можно добавлять другие правила для отдельных узлов. Рассмотрим случай, представленный на рис. 6.28, когда маршрутизатору RTA требуется задать набор правил для взаимодействия с маршрутизатором RTB. На маршрутизаторе RTA можно использовать дополнительные фильтры в направлении RTB, сохраняя при этом маршрутизатор RTB в группе внешних узлов.

См. в главе 11 раздел Труппы взаимодействующих узлов"

Агрегация в BGP-4

Одним из основных улучшений, внесенных в протокол BGP-4, является возможность работы бесклассовой междоменной маршрутизации (Classless Interdomain Routing — CIDR) и поддержка суперсетей. Принципы работы CIDR и суперсетей обсуждались нами в главе 3, "IP-адресация и методы распределения адресов".

Процесс агрегации проводится над маршрутами, которые имеются в маршрутной таблице BGP. Это протиBGPечит действию команды network, применяемой к маршрутам в таблице маршрутов IP. Агрегация может выполняться, если в маршрутной BGP-таблице имеется хотя бы один однозначно определенный маршрут.

Компанией Cisco Systems предлагается несколько различных вариантов манипулирования объединенными маршрутами для удовлетBGPения нужд сети Internet. В этом разделе мы рассмотрим несколько простых приемов объединения маршрутов и затем перейдем к более сложным, но и более интересным вариантам объединения маршрутов.

Простое объединение маршрутов с подавлением однозначно определенных маршрутов

При таком способе объединения маршрутов объявляется лишь сам объединенный маршрут, а все составляющие его определенные маршруты подавляются. Обычно это выполняется лишь в случаях, когда однозначно определенные маршруты не несут полезной информации для принятия решения о более эффективной пересылке трафика.

См. в главе 11 раздел "Только объединенные маршруты, подавление однозначно определенных маршрутов"

На рис. 6.29 показана ситуация, когда все обновления маршрутов объединены в один простой маршрут. Предположим, что в AS 100 имеется набор сетей в диапазоне от 172.16.0.0/24 до 172.16.15.0/24. Сюда входят сети 172.16.0.Х, 172.16.1.Х и т.д. Список определенных префиксов можно объединить в диапазон 172.16.0.0/20. Таким образом, другие узлы оповещаются об объединенном маршруте 172.16.0.0/20, а сведения об остальных определенных префиксах игнорируются.

Глава 6. Настройка параметров BGP

172

Рис. 6.29. Пример объединения маршрутов в BGP-4 с подавлением определенных маршрутов

Объединение маршрутов с однозначно определенными маршрутами

Существует множество ситуаций, в которых AS рассылает информацию об объединенном маршруте и однозначно определенные маршруты. Обычно это происходит в тех случаях, когда клиент подключается к одному провайдеру по нескольким каналам. Тогда провайдер может использовать информацию об однозначно определенных маршрутах для принятия оптимального решения о пересылке трафика в сеть клиента. В то же время провайдер может распространять сведения об объединенном маршруте только в направлении NAP, чтобы минимизировать общее число маршрутов в сети Internet в целом. Подобная ситуация проиллюстрирована на рис. 6.30.

Здесь AS100 подключена через каналы SF и NY к провайдерской системе AS200. Система AS100 может послать на AS200 только объединенный маршрут 172.16.0.0/20 или послать вместе с ним однозначно определенные маршруты. Если объединенный маршрут посылается только по каналам SF и NY, то и весь трафик от AS 100 в AS200 всегда будет направляться по одному из этих каналов. Таким образом, создается несбалансированная нагрузка. (Вопросы распределения нагрузки будут обсуждаться далее в главе 7, "Избыточность, симметрия и распределение нагрузки"). Для распределения нагрузки AS100 посылает сведения не только об объединенном маршруте, но и о других однозначно определенных маршрутах. По каждому каналу для различных маршрутов могут пересылаться различные метрики. На основе номера сети в AS200 принимается решение об использовании канала SF или NY для связи с AS100.

См. в главе 11 раздел "Объединенные и однозначно определенные маршруты"

Чтобы избежать усложнения маршрутных таблиц вне сети провайдера, все одно значно определенные маршруты от клиентских сетей обычно замыкаются на уровн! сети провайдера. Так, AS200 в направлении NAP будет лишь распространять сведена об объединенном маршруте 172.16.0.0/20, подавляя при этом рассылку однозначж определенных маршрутов.

Рис. 6.30. Объединение маршрутов в BGP-4 с использованием однозначно определенных маршрутов

Глава 6. Настройка параметров BGP

173

Как правило, провайдеры стремятся минимизировать мероприятия по настройке и администрированию. В этом случае для того, чтобы остановить распространение однозначно определенных маршрутов в направлении NAP, можно использовать так называемый динамический подход. Он заключается в том, что все однозначно определенные маршруты при выделении из объединенного маршрута помечаются в AS 100 атрибутом сообщества NO_EXPORT. Эта процедура представлена на рис. 6.31.

Рис. 6.31. Пример объединения маршрутов в сообщество с пометкой NO_EXPORT

Итак, когда AS200 получает обновление маршрутной информации от AS 100, она обнаруживает, что однозначно определенные маршруты последней объединены в сообщество с требованием не пересылать сведения о них внешним узлам. Тогда как обычно в NAP и другим внешним узлам будет рассылаться информация только об объединенном маршруте.

Объединение маршрутов с использованием набора однозначно определенных маршрутов

В некоторых случаях, кроме объединенного маршрута, необходимо объявлять и однозначно определенные маршруты. На рис. 6.32 показана ситуация, когда это необходимо.

Рис. 6.32. Пример объединения маршрутов с включением набора однозначно определенных маршрутов

На рис. 6.32 показана AS100, которая подключена к AS200 по двум каналам. Желательно, чтобы сети, входящие в AS100, которые расположены ближе к каналу SF, вели обмен данными именно через него, а сети, которые территориально ближе к каналу NY, работали бы с каналом NY. Этого можно достичь следующим образом.

Глава 6. Настройка параметров BGP

174

Объявить по каналу SF только объединенный маршрут и маршруты в сети, расположенные вблизи этого канала.

Объявить по каналу NY только объединенный маршрут и маршруты в сети,

расположенные вблизи канала NY.

Таким образом, AS200 будет направлять трафик в сети, расположенные вблизи SF, по каналу SF, а трафик для сетей вблизи NY --по каналу NY. Сети, территориально расположенные в других регионах, могут вести обмен трафиком по обоим каналам либо по одному из них. При выходе из строя одного из каналов связи доступ к сетям можно обеспечить по второму каналу посредством объединенного маршрута, который объявляется по обоим каналам. Для объявления только объединенного маршрута в сторону NAP можно использовать метод пометки маршрутов с помощью NO_EXPORT, который мы обсуждали в предыдущем разделе.

См. в главе 11 на раздел "Объединение маршрутов с использованием набора однозначно определенных маршрутов"

Потери информации внутри объединенного маршрута

Объединение маршрутов приводит к потерям информации, так как атрибуты отдельных маршрутов при объединении теряются. Как мы уже отмечали, протокол BGP определяет набор AS_SET, который представляет собой математический ряд, состоящий из элементов, где содержатся сведения обо всех маршрутах, участвующих в объединении. Примерами таких элементов могут служить атрибуты AS_PATH и COMMUNITY. Применение AS_SET совместно с объединенным маршрутом делают его нестабильным, поскольку изменение атрибутов отдельных маршрутов, входящих в объединенный маршрут, приводит и к изменению свойств самого объединенного маршрута, что может послужить причиной постоянного удаления этого маршрута из таблиц (как нестабильного) или к частым его обновлениям.

См. в главе 11 раздел "Потери информации в объединенном маршруте"

Изменение атрибутов объединенного маршрута

В определенных ситуациях требуется изменить атрибуты объединенного маршрута. Один из таких случаев — наличие в объединенном маршруте нежелательных атрибутов, которые были унаследованы от отдельных маршрутов в процессе их объединения (в случае применения AS_SET). Примером может служить атрибут сообщества NO_EXPORT, унаследованный объединенным маршрутом от одного из однозначно определенных маршрутов. Он может стать причиной того, что объединенный маршрут не будет экспортирован другим AS. Еще одна ситуация, требующая изменения атрибутов объединенного маршрута, -- отражение уровня предпочтения этого объединенного маршрута. Например, необходимость в этом может возникнуть, когда клиент объявляет объединенный маршрут провайдеру по нескольким каналам. Тогда клиент может установить для объединенного маршрута различные значения атрибута MED для различных каналов, чтобы повлиять на выбор точки входа в AS. Компания Cisco разработала методику, позволяющую пользователю модифицировать соответствующим образом атрибуты объединенного маршрута.

Глава 6. Настройка параметров BGP

175

Формирование объединенного маршрута на основе набора однозначно определенных маршрутов

Итак, вы уже увидели, что объединенный маршрут с выражением AS_SET содержит набор всех атрибутов (включая и номера AS), которые заданы для отдельных маршрутов, участвующих в объединении. Если в объединении принимают участие маршруты из различных AS, то необходимо указывать, на основе каких именно маршрутов сформирован тот или иной объединенный маршрут. Эта информация используется центральными и вспомогательными AS, когда в каждое ответвление AS ведут отдельные объединенные маршруты от центральной AS. При формировании объединенного маршрута центральная AS будет исключать однозначно определенные маршруты, ведущие в ответвленные AS, и передавать в эти AS лишь объединенный маршрут. Объединенный маршрут, полученный ответвленной AS, уже не содержит номера самой ответвленной AS и поэтому не будет отвергаться (как угрожающий образовать петлю). На рис. 6.33 приведен пример формирования объединенного маршрута подобным образом.

В роли центральной AS выступает AS3, которая принимает информацию о маршрутах 192.68.11.0/24 и 192.68.10.0/24 от вспомогательных (или ответвленных) ASI и AS2. В префиксе 192.68.11.0/24 AS_PATH равен 1, а в 192.68.10.0/24 AS_PATH имеет значение 2. Когда на основе всех однозначно определенных маршрутов в AS3 формируется AS_SET, то информация в AS_PATH будет {1 2}. Однако сам по себе объединенный маршрут при пересылке на AS1 или AS2 будет отвергаться во избежание формирования петли. В AS1 при анализе атрибута AS_PATH будет обнаружен ее собственный номер, и обновление маршрута будет игнорировано. То же самое происходит и в AS2. Если вы можете указать, какие именно маршруты формируют объединенный маршрут, то можно, например, определить, что объединенный маршрут формируется только на основе 192.68.11.0/24. Таким образом, в AS_PATH будет только информация о AS1 и ни слова об AS2. Вследствие такой манипуляции объединенный маршрут может теперь безболезненно передаваться обратно на AS2. В AS2 он может использоваться для передачи трафика на все узлы AS1.

Рис. 6.33. Формирование объединенного маршрута на основе набора однозначно определенных маршрутов

См. в главе 11 раздел "Формирование объединенного маршрута на основе наборов однозначно определенных маршрутов"

Забегая вперед

Теперь, обучившись азам работы с протоколами маршрутизации и зная о свойствах атрибутов BGP, вы можете приступить к применению этих инструментов на практике в сетях

Глава 6. Настройка параметров BGP

176

с различной топологией. Таким образом, вы убиваете нескольких зайцев — вы сразу можете перейти к изучению резервирования, обеспечения симметрии и распределения нагрузки, значение которых в зависимости от требований к сети может варьироваться. Иногда даже эти требования могут конфликтовать друг с другом. Значение этих задач при разработке схемы сети более детально будет обсуждаться в следующей главе. Атрибуты, описанные нами в этой главе, активно используются в следующей главе для построения системы маршрутизации.

Настройка параметров протокола BGP для удовлетBGPения требований конкретной сети включает как настройку параметров для работы внутри AS, так и вне AS. Другими словами, правила работы устанавливаются еще и для сетей, с которыми взаимодействует ваша сеть. Хотя это и не входит в сферу вашего влияния, но они напрямую связаны с тем, как настроен BGP с вашей стороны. Все эти вопросы мы постараемся осветить в следующей главе, где рассматривается несколько вариантов резервирования, обеспечения симметрии и распределения нагрузки в сетевых архитектурах, которые на сегодняшний день наиболее широко применяются в сети Internet.

Часто задаваемые вопросы

ВЕсли взаимодействующие узлы в моей сети, по протоколу IBGP не соединены друг с другом непосредственно, должен ли я использовать мультиузловой EBGP?

О — Нет, Не существует каких-либо ограничений по связности iBGP-узлов. Мультиузловой EBGP используется только для протокола EBGP.

ВТребуется ли для обеспечения синхронизации вкладывать BGPмаршруты

вIGP?

О — Нет. Вложение BGP-маршрутов в IGP не рекомендуется. Желательно вообще не выполнять синхронизацию с BGP. Убедитесь, что подобные настройки не приведут к проблемам доступности сетей внутри AS.

В— Обеспечит ли большую стабильность BGP-маршрутам вывод их через IGPмаршруты с помощью команды network, no сравнению с преобразованием IGP-маршрутов в BGP?

О — Нет, В обоих вышеупомянутых методах флуктуации IGP-маршрутов будут перенесены на BGP-маршруты. Команда network просто дает лучшие возможности по управлению маршрутами и позволяет не волноваться о том, что IGP-маршруты могут быть преобразованы в ВСР, ёсли вы используете преобразование. Комбинируйте ее со статическими маршрутами (с дистанцией, например, 254) в Null0,-если нужно предотвратить флуктуацию маршрутов даже при нестабильной маршрутизации по IGP.

ВДолжен ли я составлять список всех подключенных интерфейсов и объявлять их с помощью команды network?

О — Если нужно обеспечить доступ по BGP в непосредственно подключённые к вашему узлу подсети, то вы можете их объявить с помощью этой команды. В противном случае это не обязательно.

В- У меня есть два граничных маршрутизатора, которые связаны с провайдером пo EBGP, а между собой no lBGP. Если я буду указывать IGP-маршруты с помощью команды network на обоих маршрутизаторах, приведет ли это к образованию петли?

О— Нет, таким образом вы не создадите петлю. В принципе; реализуя подобную схему, вы обеспечиваете резервирование в своей сети. Если один из граничных маршрутизаторов выйдет из строя, то второй будет анонсировать те же самые сети.

ВМне нужно получать всего несколько маршрутов от соседнего узла. Могу ли я фильтровать канал со своей стороны?

О — Да, это можно сделать. Однако сначала следует попросить администратора соседнего узла посылать лишь нужные вам маршруты для того, чтобы минимизировать нежелательное использование полосы пропускания и избежать флуктуации маршрутов. В то же время фильтрация только с вашей стороны поможет избежать случаев, когда соседи

Глава 6. Настройка параметров BGP

177

посылают вам больше маршрутов, чем вы ожидали.;

ВМой провайдер требует, чтобы я установил различные локальные предпочтения для разных соединений. Возможно ли это?

О — Нет. Локальные предпочтения определяются только внутри AS, и информация

оних не передается во время сеансов EBGP. Однако более оптимальное решение в этом случае — попросить провайдера сконфигурировать карту маршрутов на его узле, в которой проводилось бы сопоставление строк для сообщества BGP (подобно описанному в RFC 1998) в течение сеанса с вашим узлом. При этом в его AS устанавливались бы локальные предпочтения для ваших маршрутов. Вы должны будете померить используемые вами маршруты соответствующей строкой, обозначающей их принадлежность к определенному сообществу, чтобы правильно устанавливалось значение локального предпочтения в течение сеанса работы с вашим узлом. Для .этой цели вы можете также использовать атрибут MED.

ВПолучаемый от провайдера атрибут MED конфликтует с моим IGP и влияет на обмен трафиком. Что мне делать в этом случае?

О — Если получение MED от провайдера создает проблемы, то попросите его не пересылать вам MED. Вы также можете самостоятельно установить МЕD в 0 со своей стороны.

В— Я подключен к нескольким провайдерам. Иногда в мою AS поступает огромное

количество трафика, не принадлежащего моей.АS. В чем может быть причина? ;

О— Возможно, вы объявляете маршруты, которое получаете от одного провайдера другим провайдерам. В этом случае другие AS могут использоватъ вашу AS как транзитную. Убедитесь в том, что вы объявляете провайдерам только внутренние маршруты.

ВУ меня имеется несколько соединений с одним провайдером. Следует ли мне беспокоиться объявлении маршрутов, полученных по одному каналу, во второй канал?

О — Предположительно правила работы по BGF нa стороне вашего провайдера позволяют обнаруживать маршруты, которые уже были получены от вас его AS, и игнорировать их. Однако это не очень хорошая практика. Поступая таким образом, вы дополнительно нагружаете процессор и перегружаете канал бесполезной информацией. Если это возможно, убедитесь в том, что вы пересылаете сведения только о собственных маршрутах.

В— Я как провайдер выдал одному из своих клиентов частный номер AS. Теперь клиент хочет организовать еще одно соединение, но уже с другим провайдером. Что произойдет если рн по-прежнему будет использовать выданный мною частный номер AS?

О – Хотя сегодня в сети internet подобные случаи не редкость, это считается очень нежелательной конфгурацией. После:того, как вы объявите сеть клиента в Internet, вы будете вырезать номер частной AS и анонсировать эти маршруты так, как будто они были сгенерированы вашей AS. Если второй провайдер выполняет те же самые действия, то сети вашего клиента будут объявляться двумя AS с уникальными.номерами, что может быть причиной образования петель маршрутизации. Кроме того, если перёд анонсированием адреса клиента другим сетям выполняется объединение маршрутов, то это может привести к тому, что однозначно определенные маршруты будут доступны через одного из двух провайдеров, т.е. становится невозможным равномерное распределение нагрузки между двумя каналами. Если клиент по каким-либо причинам не может получить глобальный номер AS от своего регионального реестра сети Internet, то он должен убедиться в том, что оба его провайдера сконфигурировали соединение с ним правильно и обеспечили совместное распределение нагрузки, а также организацию безотказной работы при данной конфигурации.

В— Я подключен к одному провайдеру в Сан-Франциско и объявляю свои маршруты по протоколу BGP. Кроме того, я подключен к другому провайдеру в Лос-Анджелесе. Следует ли мне получить разные номера для этих AS?

О – Если сети в Сан-Франциско и в Лос-Анджелесе подчинены одной администрации и работают с другими AS по одним и тем же правилам, то они должны быть объединены в одну AS. Помните, что разделение сетей в BGP означает разделение административной ответственности и правил. Определяющим фактором для этого должна быть топология сети.

Глава 6. Настройка параметров BGP

178

Ссылки

1RFC 1998, "Ал AppUcation of the BGP Community Attribute in Multi-home Routing," www.isi.edu/in-notes/rfcl998.txt

2RFC 2270, "Using a Dedicated AS for Sites Homed to a single Provider," www.isi.edu/in-notes/rfc2270.txt

Глава 6. Настройка параметров BGP

179

Ключевые темы этой главы:

Избыточность. Обеспечение стабильности сети засчет построения альтенативных маршрутов (маршрутов по умолчанию), по которым в случае отказа основного маршрута будет передаваться весь трафик —

одна из важнейших задач при создании сети.

Определение маршрутов по умолчанию. Конфигурирование маршрутов по умолчанию является фундаментом для создания надёжных сетевых соединений с резервированием. Однако когда имеется несколько маршрут по умолчанию, возникает необходимость определения их приоритетности.

Симметрия. Настройка маршрутов таким образом, чтобы определенный трафик поступал в AS и покидал ее в одной и той же точкё, — одна из основных задач при создании системы маршрутизации.

Распределение нагрузки. Распределение трафика между несколькдаи каналами' для оптимизации нагрузки производительности сети.

Примеры. Рассмотрено несколько примеров сетей с использованием избыточности, симметрии и распределения нагрузки. Предложены также различные варианты настройки атрибутов для выполнения вышеуказанных требований кструктуре сети.

Глава 7. Избыточность, симметрия и распределение нагрузки

180