Протокол пограничных шлюзов BGP (Border Gateway Protocol) являетс я ведущим протоколом внешней маршрутизации сети Интернет. Протокол BGP основан на OSI-протоколе междоменной маршрутизации {InterDomain Routing Protocol, IDRP).
BGP поддерживает маршрутизацию, подчиненную правилам, позволяющим принимать решения по маршрутизации, исходя из нетехнических причин (политических, структурных, из соображений безопасности и т. д.). Таким образом, BGP совершенствует способность автономной системы выбирать маршруты и приводить в исполнение правила, не обращаясь к высшему авторитету. В отсутствие центральных шлюзов, выполняющих эти задачи, наличие подобных механизмов чрезвычайно важно.
Правила маршрутизации не являются частью протокола BGP. Правила имеют внешние источники и выступают в роли данных настройки. Как уже говорилось в главе 2, в точках доступа к сети (NAPs, Network Access Points), объединяющих крупных поставщиков услуг Интернета, существуют арбитры маршрутизации (RAs, Routing Arbiters). Правила маршрутизации могут быть получены от арбитров. Кроме того, большинство поставщиков услуг Интернета создают частные наборы правил- двусторонние соглашения с другими поставщиками услуг. BGP может применяться для реализации таких соглашений: управления афишируемыми маршрутами и принимаемыми маршрутами. Позже в этой главе - в разделе, посвященном gated, - мы обсудим команды import и export, которые определяют принимаемые (import) и афишируемые (export) маршруты. Администратор сети приводит правила маршрутизации в исполнение путем соответствующей настройки маршрутизатора.
BGP работает поверх TCP, что обеспечивает его надежной службой доставки. BGP использует широко известный порт TCP 179 и знакомится с соседями посредством стандартного тройного рукопожатия TCP. Соседи BGP известны в качестве равных {peers). Установив соединение, BGP-равные обмениваются сообщениями OPEN в целях согласования параметров сеанса, таких как версия протокола BGP.
Сообщение UPDATE содержит перечень пунктов назначения, доступных через определенное направление, а также свойства этого направления. BGP является протоколом векторного пути и называется так потому, что предоставляет информацию о сквозном пути в виде последовательности номеров автономных систем. Наличие полного пути АС исключает появление петель маршрутизации и проблем счета до бесконечности. Сообщение BGP UPDATE содержит один вектор пути и перечень всех пунктов назначения, доступных через этот вектор. Для создания таблицы маршрутизации могут передаваться множественные пакеты UPDATE.
BGP-равные обмениваются полными обновлениями таблиц маршрутизации в первом сеансе связи. После этого передаются только изменения. Если изменений нет, передается небольшое (19 байт) сообщение KEEP ALIVE, уведомляющее, что BGP-система и канал по-прежнему функционируют. BGP весьма экономно расходует ресурсы систем и полосы пропускания сетевых каналов.
Самое важное, что следует помнить о протоколах внешней маршрутизации, - большинство систем прекрасно обходятся без них. Протоколы внешней маршрутизации требуются лишь для переноса информации между автономными системами. Большинство маршрутизаторов в пределах автономной системы работают на основе протокола внутренней маршрутизации, такого как OSPF. И только шлюзам, связующим различные автономные системы, необходимы протоколы внешней маршрутизации. Ваша сеть, скорее всего, входит в качестве независимой составляющей в автономную систему, которая управляется кем-то иным. Хорошим примером автономных систем, состоящих из многочисленных независимых сетей, являются поставщики услуг Интернета. И если ваша организация не предоставляет услуги подобного уровня, то и протокол внешней маршрутизации, вероятно, не понадобится.