Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Множественный доступ в Интернет по протоколу BGP4

Питер Морриси

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

Если в вашей организации используется лишь одно Интернет-соединение, то вам, возможно, ни к чему даже знать расшифровку аббревиатуры BGP, не говоря уж о том, как протокол функционирует. Все, что вам нужно, вы можете получить, используя маршрут по умолчанию (по которому весь внешний трафик направляется на узел ISP) и предоставив штату этого ISP полную свободу по дальнейшей маршрутизации ваших пакетов. Однако если в целях резервирования или выравнивания нагрузки на своих серверах вы собираетесь добавить еще одно Интернет-соединение со вторым ISP, то в этой статье найдете ряд полезных сведений. Мы настоятельно советуем вам, чтобы, экспериментируя со средствами протокола BGP, влияние которых выходит за рамки вашей сети, вы работали в тесном контакте со своим поставщиком услуг.

Представляем протокол BGP

Протокол BGP — единственный протокол внешних шлюзов (Exterior Gateway Protocol — EGP), получивший широкое распространение. Впервые он был описан в 1989 г. в спецификации RFC 1105. Версия 4 этого протокола отражена в спецификации RFC 1654, опубликованной в 1994 г., и значительно усовершенствована в RFC 1771. Кроме того, в последующие годы был принят ряд документированных расширений этой версии протокола. Наиболее существенным достижением протокола BGP4 является использование им механизма внутридоменной бесклассовой маршрутизации (Classless Inter-Domain Routing — CIDR), который позволяет агрегировать сообщения об обновлении маршрутов, поступающих от множества соседних маршрутизаторов, в один элемент маршрутной таблицы. Протокол BGP4 был реализован в то время, когда гигантские маршрутные таблицы стали значительно замедлять работу маршрутизаторов. Техника бесклассовой маршрутизации CIDR позволяет устранить многие узкие места и повысить стабильность работы сети Интернет. Обеспечивая более эффективное распределение адресов, она заметно снижает риск истощения сетевого адресного пространства.

После установки на ваш маршрутизатор протокола BGP4 он начинает организовывать связи со всеми смежными маршрутизаторами — так называемыми соседями. В отличие от протоколов OSPF (Open Shortest Path First) и EIGRP (Enhanced Interior Gateway Routing Protocol), обнаруживающих соседей автоматически, протокол BGP способен поддерживать обмен маршрутными таблицами только после того, как оба маршрутизатора сконфигурируют IP- и AS-адреса (Autonomous System Numbers — ASN) друг друга на своих интерфейсах. По завершении процедуры конфигурирования маршрутизаторы становятся одноранговыми, или равноправными.

Маршрутизаторы-соседи обмениваются небольшими сообщениями, подтверждающими их активность на данный момент времени (keep-alive messages). Если сосед перестает получать подобные сообщения в течение некоторого предопределенного времени жизни маршрутов (hold time), он корректирует свою маршрутную таблицу, отражая в ней потерю части доступных маршрутов. Кроме того, протокол BGP4 рассылает частичные изменения, когда те или иные маршруты становятся недоступными. Таким образом, обмен полными маршрутными таблицами имеет место лишь тогда, когда два соседних маршрутизатора впервые устанавливают одноранговые отношения или когда такие отношения приходится переустанавливать повторно.

Протокол BGP4 — это протокол векторов маршрутов (Path Vector Protocol), аналогичный протоколу векторов расстояний (Distance Vector Protocol), но с одним весьма существенным отличием. Протокол векторов расстояний выбирает лучший маршрут на основании числа “транзитов” (hops) и скоростей каналов. В противоположность этому протокол BGP4 выбирает тот маршрут, который проходит через наименьшее число автономных систем (Autonomous Systems — AS). Когда сообщение об обновлении маршрутной информации проходит через шлюз очередной автономной системы, BGP4 добавляет адрес ASN этой AS к цепочке адресов других автономных систем, через которые это сообщение прошло. По умолчанию маршрут с наименьшим числом адресов ASN хранится в маршрутной таблице в качестве оптимального пути к сети назначения. Одна автономная система может содержать множество внутренних маршрутизаторов, так что фактическое число переходов, как правило, всегда больше, чем указано в строке с адресами автономных систем.

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

Проблема решается с помощью атрибута Local-Pref протокола BGP4, позволяющего для следующего перехода выбрать вполне конкретный путь из всего множества существующих маршрутов. Системный администратор назначает всем маршрутам (или даже отдельной их группе), объявленным для одного из интерфейсов вашего маршрутизатора, более высокий весовой коэффициент Local-Pref, чем тем же маршрутам, объявленным для другого интерфейса. А поскольку значения этих весовых коэффициентов всегда учитываются раньше, чем вычисленные “длины” маршрутов, выраженные в числе транзитов, то окончательно выбранный маршрут пройдет через интерфейс с наиболее высоким весовым коэффициентом Local-Pref.

Контролировать трафик, входящий в сеть, гораздо сложнее. Учитывая разное географическое положение компьютерных сетей, когда одно из соединений с ISP может оказаться значительно ближе к какой-либо части вашей автономной системы, чем другое, вам, возможно, придется использовать атрибут MED (МultiExit Discriminator, или многовыходной дискриминатор), с помощью которого можно задавать маршрут поступающего в сеть внешнего трафика, предназначенного для одной из ваших внутренних сетей. Хотя подход, предусматривающий использование атрибута MED для контроля за входящим трафиком, является довольно простым, он работает лишь в том случае, когда оба соединения с Интернет принадлежат одному и тому же ISP. Это связано с тем, что атрибут MED является локальным для автономной системы поставщика и его влияние не выходит за рамки последней. Другой метод контроля входящего трафика — подсчет числа транзитов (prepending).

Маршрутизацию по протоколу BGP4 можно контролировать и с помощью атрибута Community, позволяющего задавать некий предопределенный код группе, или сообществу (community), маршрутов. Маршрутизатор, через который проходят эти маршруты, выполняет над ними данное действие, соотнесенное со значением этого кода. Код может определяться пользователем, но чаще всего применяется зарезервированное и весьма популярное среди пользователей сообщество, получившее название No-Export. Когда маршрутизатор BGP встречает маршрут с атрибутом No-Export, он не включает его в сообщения об обновлении маршрутов, высылаемые за пределы своей собственной автономной системы. Это довольно удобно для балансировки входящего трафика.

Используйте маршрутную карту

Реализация любой из рассмотренных выше схем требует применения маршрутной карты. Маршрутные карты определяют, как следует использовать атрибуты протокола BGP4 с конкретными маршрутами, получаемыми или объявляемыми вашими маршрутизаторами (см.: “Анатомия маршрутной карты”). Кроме того, маршрутные карты можно использовать для фильтрации получаемых или объявляемых маршрутов (то же самое осуществляется и посредством “списков распределения”).

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

Выравнивание нагрузки

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

Допустим, вы поддерживаете соединение лишь с одним поставщиком ISP и ваша автономная система связана с ним через один маршрутизатор. Тогда равномерное распределение исходящего трафика между соединениями с поставщиком — задача несложная. При этом обеспечивается максимальный контроль над маршрутами, по которым распространяются ваши пакеты. Более того, если оба интерфейса, связывающие вашу сеть с ISP, принадлежат одному и тому же маршрутизатору вашей автономной системы, вы можете вообще обойтись без протокола BGP. К примеру, маршрутизаторы фирмы Cisco Systems позволяют выравнивать нагрузку между двумя статическими маршрутами. Вполне вероятно, что и ваш ISP способен выравнивать ваш входящий трафик с помощью таких же статических маршрутов.

Как мы уже говорили выше, в том случае, когда оба соединения поступают на одну автономную систему, для контроля за входящим трафиком вашей сети можно использовать атрибут MED. Если оба соединения принадлежат одному и тому же ISP, то с большой вероятностью они принадлежат и одной автономной системе. Что касается исходящего трафика, покидающего вашу сеть, то для контроля за способом его передачи можно также использовать атрибут Local-Pref.

В случае сбоев протокол BGP4 способен автоматически переключать трафик с одного ISP на другого и таким образом обеспечивать устанавливаемую по умолчанию избыточность. Однако распределение нагрузки между несколькими поставщиками услуг способно превратиться в задачу, требующую немало усилий и изобретательности. Мы считаем, что наилучший подход к решению этой проблемы состоит в том, чтобы на первых порах ограничиться использованием установок протокола BGP4 по умолчанию и мониторинга входящего и исходящего трафика. Лишь накопив статистику, следует переходить к применению атрибута Local-Pref. Это позволит осуществлять достаточно точный контроль за трафиком, исходящим из вашей сети в конкретную внешнюю сеть или автономную систему. В сети Интернет насчитывается около 60 000 сетей, поэтому следует настраивать только маршруты с очень высоким уровнем трафика. Если время отклика линии вызывает нарекания со стороны пользователей, то в качестве эксперимента можно переключить маршруты, используемые для передачи наиболее важного трафика, с узла одного поставщика услуг на узел другого.

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

Другой подход к балансированию входящей нагрузки состоит в использовании соединения с одним ISP только для доставки трафика, идущего от этого ISP (и всех его абонентов), и использовании соединения с другим поставщиком для доставки оставшейся части трафика. Этот подход хорошо работает в том случае, когда боўльшая часть трафика идет от абонентов одного из ваших поставщиков, а также когда для связи с филиалами офиса или партнерами, использующими того же, что и вы, оператора связи, задействуются виртуальные частные сети (Virtual Private Networks — VPN). Чтобы информация вашей сети не выходила за пределы автономной системы вашего ISP, есть смысл использовать сообщество No-Export. В свою очередь, применение атрибута Local-Pref позволяет контролировать исходящий трафик, правда при условии, что он адресован автономной системе вашего ISP. Недостатком этого подхода является то, что приходится отчасти жертвовать резервированием соединений с Интернет. Если соединение с ISP, связывающее вас с всемирной сетью Интернет, выходит из строя, ваше другое соединение не сможет перехватить его трафик, пока вы не снимете с него атрибут No-Export.

Протокол BGP предоставляет немало возможностей по управлению маршрутизацией трафика Интернет. Используя многочисленные его опции, работайте в тесном контакте со своим ISP. Следите за тем, чтобы такой глубокий уровень взаимодействия с Интернет не создавал дополнительных трудностей ни вам, ни его сообществу. А если вы собираетесь принимать маршруты из Интернет, вам придется потратиться на наращивание оперативной памяти и мощные процессоры для своих маршрутизаторов. Если вы планируете принимать полную таблицу маршрутизации от одного ISP, вам потребуется как минимум 64 Мбайт доступной оперативной памяти. Если вы будете принимать полные таблицы маршрутизации от двух поставщиков услуг в одном маршрутизаторе, то эта цифра удвоится. И прежде чем подписать контракт с поставщиком услуг Интернет, имейте в виду: нет никакой гарантии, что этот поставщик будет объявлять каждую сеть, принадлежащую автономной системе другого поставщика. Следует убедиться и в том, что новый ISP способен обеспечить резервирование и распределение нагрузки на линии связи в той степени, которая нужна вам.


Аренда складских помещений московская область по выгодной цене.




  
3 '2000
СОДЕРЖАНИЕ

колонка редактора

• Европа за мобильный Интернет

локальные сети

• Всегда ли удобны децибелы?

• Процессоры для ПК-серверов

• Выбираем коммутаторы Fast Ethernet 10/100 Мбит/с

• Межкабельные наводки

• Коммутационные блоки соответствуют новым требованиям

• Влияние соединительных шнуров на производительность сети

услуги сетей связи

• IP-телефония. Как обеспечить качественную передачу речи. Часть 1

• Весь Интернет - в телефонной трубке

• Портативные тестеры Е1

• IP-телефония: зри в корень

новые продукты

• Новинки от Telrad, Lucent разработала 10-Гбит/с многомодовую систему, Новые серверы AXIS, Новые серии источников бесперебойного питания от Liebert, Extreme Networks берет новую высоту

корпоративные сети

• Передача сообщений в следующем тысячелетии

• Множественный доступ в Интернет по протоколу BGP4

• Карманные компьютеры на предприятии

бизнес

• Как жить в эпоху Интернет

• Решения Lucent: надежность, скорость, открытость

• RiT Technologies на рубеже столетий

электронная коммерция

• Через все невзгоды, через испытания...

• Электронная торговля и энергетика

• Лучше дома места нет

защита данных

• Кибертеррористы испортили всю обедню

• Управление биометрической аутентификацией


• КАЛЕЙДОСКОП



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх