8-2_BGP (1130332)
Текст из файла
Протокол BGP1. Задача внешней маршрутизации2. Внутренний BGP, маршрутные серверы и атрибут NEXT_HOP3. Атрибуты пути (Path Attributes)3.1. ORIGIN3.2. AS_PATH3.3. NEXT_HOP3.4. MULTI_EXIT_DISC3.5. LOCAL_PREF3.6. Атрибуты агрегирования4. Обработка маршрутной информации (Decision Process) и маршрутные политики4.1. Decision Process4.2. Конфликты маршрутных политик4.3. Формулировка маршрутных политик5.
Реализация BGP1. Типы BGP-сообщений2. Формат BGP-сообщения3. Формат сообщения OPEN4. Формат сообщения KEEPALIVE5. Формат сообщения UPDATE6. Формат сообщения NOTIFICATIONИсточник http://telenetwork.narod.ru/books/cisco/Mamaev/telecomtech/bgp.html#7.3.6Протокол BGP1. Задача внешеней маршрутизацииВ предыдущих разделах мы рассмотрели протоколы маршрутизации, работающие внутриавтономных систем.
Задача следующего уровня – построение маршрутов между сетями,принадлежащими разным автономным системам.Рассматриваемый на этом уровне, Интернет представляет собой множество автономныхсистем, произвольным образом соединенных между собой (рис. 7.1.1). Внутреннеестроение автономных систем скрыто, известны только адреса IP-сетей, составляющих АС.Рис.
1. Автономные системы1Автономные системы соединяются с помощью пограничных маршрутизаторов. Связимежду маршрутизаторами могут иметь разную физическую природу: например, это можетбыть сеть Ethernet, к которой подключено сразу несколько пограничных маршрутизаторовразных автономных систем, выделенный канал типа "точка-точка" между двумямаршрутизаторами и т.п. Часто сама связующая сеть не принадлежит ни к однойавтономной системе, в таком случае она называется демилитаризованной зоной (DMZ).В зависимости от своего расположения в общей структуре Интернет автономная системаможет быть тупиковой (stub) – имеющей связь только с одной АС (АС7 на рис.
7.1.1), –или многопортовой (multihomed), т.е. имеющей связи с несколькими АС. Еслиадминистративная политика автономной системы позволяет передавать через свои сетитранзитный трафик других АС, то такую автономную систему можно назвать транзитной(transit).Пограничный маршрутизатор сообщает связанным с ним другим пограничныммаршрутизаторам, какие сети каких автономных систем достижимы через него. Обменподобной информацией позволяет пограничным маршрутизаторам занести в таблицумаршрутов записи о сетях, находящихся в других АС.
При необходимости этаинформация потом распространяется внутри своей автономной системы с помощьюпротоколов внутренней маршрутизации (см., например, внешние маршруты в OSPF) стем, чтобы обеспечить внешнюю коннективность своей АС.Задачей этого пункта является обсуждение протокола обмена маршрутной информациеймежду пограничными маршрутизаторами.Принципиальным отличием внешней маршрутизации от внутренней является наличиемаршрутной политики, то есть при расчете маршрута рассматривается не столькометрика, сколько политические и экономические соображения. Это обстоятельство непозволяет адаптировать под задачу внешней маршрутизации готовые протоколывнутренней маршрутизации, просто применив их к графу автономных систем, как раньшеони применялись к графу сетей.
По той же причине существующие подходы –дистанционно-векторный и состояния связей – непригодны для решения поставленнойзадачи.Например, рассмотрим систему маршрутизаторов, аналогичную графу автономныхсистем, изображенному на рис.1. Алгоритм SPF гарантирует, что если узел (1) вычислилмаршрут в узел (6) как (1)-(3)-(5)-(6), то узел (3) также будет использовать маршрут (3)(5)-(6).
Это происходит потому, что все узлы одинаково интерпретируют метрики связей ииспользуют одни и те же математические процедуры для вычисления маршрутов. Однакоесли применять протокол состояния связей на уровне автономных систем можетпроизойти следующее: АС1 установила, что оптимальный маршрут по соображениямпропускной способности сетей в АС6 выглядит 1-3-5-6. Но АС3 считает, что выгоднейдобираться в АС6 по маршруту 3-1-2-4-6, так как АС5 дорого берет за передачутранзитного трафика. В итоге, из-за того, что у каждой АС свое понятие метрики, то естькачества маршрута, происходит зацикливание.Казалось бы, дистанционно-векторный подход мог бы решить проблему: АС3, нежелающая использовать АС5 для транзита в АС6, просто не прислала бы в АС1 элементвектора расстояний для АС6, следовательно первая система никогда не узнала бы омаршруте 1-3-5-6.
Но с другой стороны при использовании дистанционно-векторногоподхода получателю вектора расстояний неизвестно описание маршрута на всей егопротяженности. Рассмотрим другую политическую ситуацию на примере того же рис. 1:2АС1 получает от АС3 вектор АС6=2 и направляет свой трафик в АС6 через АС3, неподозревая, что на этом маршруте располагается АС5, которая находится с АС1 всостоянии войны и, естественно, не пропускает транзитный трафик от и для АС1. Врезультате АС1, установив внешне безобидный маршрут в АС6, осталась без связи с этойавтономной системой.
Если бы АС1 получила полное описание маршрута, то онанесомненно бы выбрала альтернативный вариант 1-2-4-6, однако в дистанционновекторных протоколах такая информация не передается.Для решения задачи внешней маршрутизации был разработан протокол BGP (BorderGateway Protocol). Используемая в настоящий момент версия этого протокола имеетномер 4, соответствующий стандарт – RFC-1771, 1772.Общая схема работы BGP такова. BGP-маршрутизаторы соседних АС, решившиеобмениваться маршрутной информацией, устанавливают между собой соединения попротоколу BGP и становятся BGP-соседями (BGP-peers).Далее BGP использует подход под названием path vector, являющийся развитиемдистанционно-векторного подхода. BGP-соседи рассылают (анонсируют, advertise) другдругу векторы путей (path vectors).
Вектор путей, в отличие от вектора расстояний,содержит не просто адрес сети и расстояние до нее, а адрес сети и список атрибутов (pathattributes), описывающих различные характеристики маршрута от маршрутизатораотправителя в указанную сеть. В дальнейшем для краткости мы будем называть наборданных, состоящих из адреса сети и атрибутов пути до этой сети, маршрутом в даннуюсеть.Данных, содержащихся в атрибутах пути, должно быть достаточно, чтобымаршрутизатор-получатель, проанализировав их с точки зрения политики своей АС, могпринять решение о приемлемости или неприемлемости полученного маршрута.Например, наиболее важным атрибутом маршрута является AS_PATH – список номеровавтономных систем, через которые должна пройти дейтаграмма на пути в указанную сеть.Атрибут AS_PATH можно использовать для:•••обнаружения циклов – если номер одной и той же АС встречается в AS_PATHдважды;вычисления метрики маршрута – метрикой в данном случае является число АС,которые нужно пересечь;применения маршрутной политики – если AS_PATH содержит номера политическинеприемлемых АС, то данный маршрут исключается из рассмотрения.Анонсируя какой-нибудь маршрут, BGP-маршрутизатор добавляет в AS_PATH номерсвоей автономной системы.Другие атрибуты будут рассмотрены в п.
3.2. Внутренний BGP, маршрутные серверы и атрибут NEXT_HOPОчевидно, что BGP-маршрутизаторы, находящиеся в одной АС, также должныобмениваться между собой маршрутной информацией. Это необходимо длясогласованного отбора внешних маршрутов в соответствии с политикой данной АС и дляпередачи транзитных маршрутов через автономную систему. Такой обмен производитсятакже по протоколу BGP, который в этом случае часто называется IBGP (Internal BGP),3(соответственно, протокол обмена маршрутами между маршрутзаторами разных АСобозначается EBGP –External BGP).Отличие IBGP от EBGP состоит в том, что при объявлении маршрута BGP-соседу,находящемуся в той же самой АС, маршрутизатор не должен добавлять в AS_PATHномер своей автономной системы.
Действительно, если номер АС будет добавлен, и соседанонсирует этот маршрут далее (опять с добавлением номера той же АС), то одна и та жеАС будет перечислена AS_PATH дважды, что расценивается как цикл.Это очевидное правило влечет за собой интересное следствие: чтобы не возникло циклов,маршрутизатор не может анонсировать по IBGP маршрут, полученный также по IBGP,поскольку нет способов определить зацикливание при объявлении BGP-маршрутоввнутри одной АС.Следствием этого следствия является необходимость полного графа IBGP-соединениймежду пограничными маршрутизаторами одной автономной системы: то есть каждая парамаршрутизаторов должна устанавливать между собой соединение по протоколу IBGP.При этом возникает проблема большого числа соединений (порядка N2, где N-число BGPмаршрутизаторов в АС).
Для уменьшения числа соединений применяются различныерешения: разбиение АС на конфедерации (подсистемы), применение серверовмаршрутной информации и др.Сервер маршрутной информации (аналог выделенного маршрутизатора в OSPF),обслуживающий группу BGP-маршрутизаторов, работает очень просто: он принимаетмаршрут от одного участника группы и рассылает его всем остальным. Таким образом,участникам группы нет необходимости устанавливать BGP-соединения попарно; вместоэтого каждый участник устанавливает одно соединение с сервером. Группоймаршрутизаторов могут быть, например, все BGP-маршрутизаторы данной АС, однакомаршрутные серверы могут применяться для уменьшения числа соединений также и навнешних BGP-соединениях – в случае, когда в одной физической сети находится многоBGP-маршрутизаторов из различных АС (например, в точке обмена трафиком междупровайдерами, рис.
2.1.).Рис. 2.1. Точка обмена трафиком (Internet Exchange Point)A-E – пограничные BGP-маршрутизаторы, АС1-АС5 – сети автономных систем, RS – сервер маршрутнойинформации.Следует особо отметить, что сервер маршрутной информации обслуживает только анонсымаршрутов, а не сам трафик по этим маршрутам. Например (рис 2.1), маршрутизатор Аанонсирует серверу RS маршруты в сети АС1.
Маршрутизатор E получает информациюоб этих маршрутах от сервера RS, но при этом в таблице маршрутов узла Е следующиммаршрутизатором на пути в АС1 значится узел А, что абсолютно разумно, поскольку этиузлы могут передавать данные друг другу непосредственно. Исключение маршрутного4сервера из маршрута производится путем установки значения атрибута NEXT_HOP:анонсируя маршруты в сеть АС1, сервер RS указывает NEXT_HOP=A. Таким образом,маршрутизатор (например, Е), получивший и принявший к использованию такоймаршрут, будет пересылать данные, предназначенные для АС1, непосредственномаршрутизатору А.Из вышесказанного можно сделать два важных вывода. Во-первых, узел, указанный какNEXT_HOP, должен быть достижим, то есть в таблице маршрутов маршрутизатора,принявшего маршрут с этим атрибутом, должна быть запись об узле NEXT_HOP или егосети.
Если такой записи нет, то маршрутизатор должен забраковать полученный маршрут,потому что он не знает, как отправлять дейтаграммы к узлу NEXT_HOP.Во-вторых, очевидно, что сервер маршрутной информации не является маршрутизатором(в соответствии с определением, данным в п. 1). То есть в общем случае узел, на которомработает модуль BGP, – не обязательно маршрутизатор. В технических документах этотфакт подчеркивается тем, что для обозначения BGP-узла используется термин BGPspeaker (не router).3. Атрибуты пути (Path Attributes)Ниже перечислены все атрибуты пути, определенные для протокола BGP.3.1. ORIGINORIGIN (тип 1) – обязательный атрибут, указывающий источник информации омаршруте:0 – IGP (информация о достижимости сети получена от протокола внутреннеймаршрутизации или введена администратором),1 – EGP (информация о достижимости сети импортирована из устаревшего протоколаEGP),2 – INCOMPLETE (информация получена другим образом, например, RIP->OSPF->BGPили BGP->OSPF->BGP).Атрибут ORIGIN вставляется маршрутизатором, который генерирует информацию омаршруте, и при последующем анонсировании маршрута другими маршрутизаторами неизменяется.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.