
Рис. 11.4Использование протокола BGPдля междоменной маршрутизации
В основе протокола BGP лежат объявления о маршрутах. Объявление о маршрутах посылается одним равноправным BGP-узлом другому равноправному BGP-узлу по соединению «точка-точка». Объявление состоит из адреса сети (например, 128.119.40/24) и набора атрибутов, ассоциированных с маршрутом к этой сети. Двумя наиболее важными атрибутами являются атрибут маршрута (явный список всех автономных систем на пути к указанной сети-адресату) и идентификатор следующего маршрутизатора на пути к указанной сети-адресату.
Работа протокола BGP в основном состоит из трех действий с объявлениями.
1. Получение и фильтрация объявлений о маршрутах от напрямую присоединенных соседей. BGP-маршрутизатор получает объявления о маршрутах от равноправного BGP-узла. Мы можем рассматривать полученное BGP-объявление о маршруте как обещание. Равноправный BGP-узел, посылающий объявление о маршруте к некоторой автономной системе, обещает, что, если соседняя автономная система пошлет ему дейтаграмму, адресованную указанной автономной системе, тогда он сможет переправить эту дейтаграмму далее по пути к адресату. BGP-маршрутизатор может также отфильтровывать (отбрасывать) полученные объявления о маршрутах. Например, BGP-маршрутизатор будет игнорировать объявления, содержащие номер его собственной автономной системы, указанный в качестве автономной системы-получателя, так как использование такого маршрута привело бы к появлению маршрутной петли. Поскольку маршрут указывается полностью, сетевой администратор может в значительной степени контролировать маршруты дейтаграмм его сети. Например, в автономной системе можно реализовать политику, заключающуюся в том, чтобы трафик из автономной системы не попадал в автономную систему (семейства Hatfield и McCoy, живущие в США, представляют собой два знаменитых враждующих клана).
2. Выбор маршрута. BGP-маршрутизатор может получить несколько объявлений о маршрутах к одной и той же автономной системе-адресату. В этом случае он должен выбрать из объявленных маршрутов один. Данные об автономной системе-адресате и следующем ретрансляционном участке для выбранного маршрута должны быть помещены в таблицы продвижения данных (как, например, было показано на рис. 11.4). BGP-маршрутизатору могут быть известны несколько маршрутов к одному адресату, но в таблице продвижения данных, как правило, указывается лишь один маршрутизатор по направлению к данному адресату.
Но как BGP-маршрутизатор выбирает из нескольких маршрутов один? В протоколе BGP проводится четкое разграничение между механизмом маршрутизации и политикой маршрутизации. В частности, протокол BGP не определяет, как автономная система должна выбирать один маршрут из нескольких предложенных. Это политическое решение, оставляемое на усмотрение сетевого администратора автономной системы. Администратор сети может указать так называемые локальные предпочтения, например, что при наличии выбора маршрутизация через соседнюю автономную систему А всегда предпочтительнее маршрутизации через соседнюю автономную систему В. В отсутствие локальных предпочтений, как правило, выбирается кратчайший маршрут, то есть маршрут, состоящий из наименьшего количества автономных систем.
3. Передача объявлений о маршрутах своим соседям. BGP-маршрутизатор получает объявления о маршрутах от своих соседей, а также передает объявления о маршрутах своим соседям. Протокол BGP предоставляет механизм для таких объявлений, но не политику. В результате администратор сети получает значительный уровень контроля над трафиком, поступающим в его сеть.
Применительно к нашему примеру с семействами Hatfield и McCoy, клан Hatfield легко может запретить трафику клана McCoy проходить через свою сеть. Например, если сеть клана McCoy расположена по соседству с сетью клана Hatfield, клан Hatfield может просто не информировать о маршрутах к сети клана McCoy, проходящих через сеть клана Hatfield. Однако эффективность ограничения трафика путем контролирования объявлений автономной системы о маршрутах может быть не полной. Например, если сеть Петровых располагается между сетями семейств Hatfield и McCoy, и клан Hatfield информируют о маршрутах к сети Петровых, проходящих через сеть клана Hatfield, тогда клан Hatfield не может запретить (с помощью протокола BGP) Петровым сообщить об этих маршрутах клану McCoy.
Проиллюстрируем некоторые из основных концепций информирования о маршрутах несколько более реалистическим примером, чем пример с семействами Hatfield и McCoy. На рис. 11.5 показаны шесть соединенных друг с другом автономных систем: А, В, С, W, X и Y. Необходимо отметить, что А, В, С, W, X и Y — это сети, а не маршрутизаторы. Пусть автономные системы W, X и Y представляют собой тупиковые сети, а автономные системы А, В и С являются сетями магистральных Интернет-провайдеров. Весь попадающий в тупиковую сеть трафик должен предназначаться этой сети, а весь покидающий тупиковую сеть трафик должен генерироваться узлами этой сети. Если взглянуть на рисунок, должно быть очевидно, что сети W и Y являются тупиковыми, а сеть X называют «многодомовой» тупиковой сетью, так как она соединяется с остальными сетями через двух разных Интернет-провайдеров (ситуация, становящаяся все более популярной в последнее время).
Однако, как и сети W и Y, сеть X должна быть источником/адресатом всего исходящего/входящего трафика сети X. Но как реализовать и гарантировать такое поведение? Как сеть X может не пропускать трафик между сетями В и С? Этого легко добиться, контролируя способ, которым рекламируются BGP-марш-руты. В частности, сеть X будет функционировать как тупиковая, если она объявит (своим соседям, сетям В и С), что у нее нет путей к другим адресатам, кроме самой сети X. То есть, даже если сети X известен маршрут до сети Y, например XCY, она не будет сообщать этот маршрут сети В. Поскольку сеть В не знает, что у сети X есть маршрут до сети Y, сеть В никогда не станет направлять трафик, предназначенный сети Y (или С) через сеть X. Этот простой пример иллюстрирует механизм выборочного информирования о маршрутах для реализации связанных с маршрутизацией отношений между клиентом и поставщиком услуг.

Рис. 11.5 Простой сценарий работы протокола BGP
Рассмотрим теперь сеть поставщика услуг, например автономную систему В. Предположим, сеть В узнала (от сети А), что у сети А есть путь AW к сети W. В результате сеть В может добавить в свою маршрутную базу данных маршрут BAW.
Естественно, сеть В захочет сообщить о маршруте BAW своему клиенту X, чтобы клиент X знал, что он может направлять данные сети W через сеть В. Но должна ли сеть В рекламировать маршрут В AW сети С? Если она это сделает, тогда сеть С сможет направлять трафик в сеть W по маршруту CBAW. Если все сети А, В и С представляют собой магистральные сети Интернет-провайдеров, тогда сеть В может решить, что ей нет резона взваливать на себя бремя переноса трафика между сетями А и С. Поскольку владельцы сетей А и С взимают со своих клиентов плату за продвижение данных, будет только справедливо, если они для пересылки данных друг другу воспользуются прямым соединением между ними. Сегодня нет официальных «стандартов», определяющих, как Интернет-провайдеры должны поступать с трафиком друг друга. Однако на практике Интернет-провайдеры придерживаются простого правила, состоящего в том, что любой трафик, пересекающий магистральную сеть Интернет-провайдера, должен либо генерироваться, либо приниматься в сети, являющейся клиентом этого Интернет-провайдера. В противном случае подобный трафик будет восприниматься Интернет-провайдером как «безбилетный пассажир». Индивидуальные соглашения, регулирующие подобные спорные вопросы, как правило, заключаются парами Интернет-провайдеров и зачастую являются конфиденциальными.
Обсудив в общих чертах некоторые политические вопросы, связанные с протоколом BGP, мы можем вернуться к внутренним механизмам протокола BGP. Равноправные BGP-узлы обмениваются данными при помощи протокола TCP через порт 179. Таким образом, протокол TCP обеспечивает надежный обмен сообщениями между двумя равноправными BGP-узлами с контролем перегрузки. Для сравнения вспомните, как общаются равноправные RIP-узлы, например программы routed на рис. 4.29, обменивающиеся данными при помощи ненадежного транспортного протокола UDP, а также, что для обмена OSPF-сообщениями используется собственный протокол OSPF. В протоколе BGP определены четыре типа сообщений: OPEN, UPDATE, KEEPALIVE и NOTIFICATION.
□ OPEN (открытие). Когда BGP-маршрутизатор желает установить контакт с равноправным BGP-узлом (например, после того как сам маршрутизатор был загружен или была включена линия связи), сообщение OPEN пересылается равноправному BGP-узлу. Сообщение OPEN позволяет BGP-маршрутизатору идентифицировать и аутентифицировать себя, а также синхронизироваться. Если получивший сообщение OPEN равноправный BGP-узел считает это для себя приемлемым, он отвечает на него сообщением KEEPALIVE.
□ UPDATE (обновление). BGP-маршрутизатор использует сообщение UPDATE, чтобы объявить равноправному BGP-узлу о маршруте к определенному адресату. Сообщение UPDATE может также использоваться для того, чтобы аннулировать объявленный ранее маршрут (то есть сообщить равноправному BGP-узлу, что объявленный ранее маршрут более не действителен). BGP-маршрут считается действительным до тех пор, пока он не будет явно аннулирован.
□ KEEPALIVE (дежурное сообщение). Это BGP-сообщение позволяет известить равноправный BGP-узел о том, что отправитель сообщения продолжает нормальную деятельность и у него нет другой информации для передачи. Это сообщение также служит подтверждением полученного сообщения OPEN.
□ NOTIFICATION(уведомление). Это BGP-сообщение используется для информирования равноправного BGP-узла об обнаруженной ошибке (например, в переданном ранее BGP-сообщении) или о том, что отправитель собирается завершить BGP-сеанс.
Изучив детали конкретных протоколов для внутренней и внешней маршрутизации, реализованных в сегодняшнем Интернете, закончим наше изучение, возможно, одним из наиболее фундаментальных вопросов, касающихся протоколов маршрутизации: зачем нужны разные протоколы для внутренней и внешней маршрутизации? Ответ на этот вопрос кроется в различном назначении маршрутизации внутри автономных систем и между автономными системами.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |


