Протокол BGP: актуальность, основные концепции и мониторинг
Протокол BGP стал фундаментальным строительным блоком для работы и производительности Интернета.
Поэтому логично предположить, что мы должны проводить мониторинг BGP при мониторинге приложений или тех услуг, которые предлагаются с использованием Интернета в качестве основы для их коммуникации.
Однако, что касается протокола BGP, среди технологических менеджеров по-прежнему бытует мнение, что это сложный вопрос, что он не так уж необходим для решения, что мы мало что можем сделать, или что это действительно ответственность провайдера, с которым заключен контракт.
Однако если мы на мгновение абстрагируемся от протокола, то увидим, что мы всегда были заинтересованы в реализации процессов мониторинга глобальной сети, независимо от того, какое коммуникационное решение было реализовано.
MPLS-каналы, VPN-соединения, протоколы, такие как OSPF или EIRGP, подключения к широкополосным сетям – все эти элементы представляют собой проблемы для платформы мониторинга.
На самом деле, в этом блоге мы недавно опубликовали статью о мониторинге глобальной сети, в которой проанализировали проблемы, связанные с внедрением интернет-модели.
Итак, поскольку протокол BGP является частью нашей среды WAN, мы понимаем, что должны, по крайней мере, рассмотреть его для возможного осуществления проектов мониторинга BGP.
Ложные убеждения
Причина такого отстраненного взгляда на протокол BGP основана на некоторых ложных убеждениях, которые его окружают, среди них:
-Проблема поставщиков услуг Интернета: Общее представление о протоколе BGP заключается в том, что он используетсяпоставщиками услуг Интернета для решения вопроса о маршрутах, по которым должны следовать пакеты. Поэтому, если в BGP есть проблема, то это проблема провайдеров, и мы мало что можем с этим поделать.
Это видение меняется, и не в последнюю очередь потому, что меняется архитектура глобальной сети. Эта схема развивалась с учетом проникновения облачных технологий, использования нескольких провайдеров для балансировки трафика и того факта, что основной бизнес все большего числа компаний зависит от Интернета.
-BGPявляется очень хорошим протоколом и не дает сбоев: Это, конечно, очень спорный момент. Протокол BGP оказался очень эффективным, он хорошо адаптируется к росту Интернета и хорошо реагирует на вызовы безопасности, однако он дает сбои.
Конечно, многие аналитики утверждают, что неправильное поведение, которое мы наблюдаем в реализации BGP, связано скорее с не всегда здоровыми отношениями между провайдерами, чем с природой самого протокола.
Читатель, интересующийся этим острым вопросом, не должен пропустить эту статью, опубликованную Иваном Пепельняком.
Прояснив эти два момента, мы понимаем, что мониторинг BGP – это тема, которую мы не можем игнорировать, и приглашаем вас подумать о вызовах, которые она подразумевает.
Вызовы
С точки зрения мониторинга BGP, мы считаем, что существует три основных проблемы.
Первый указывает на необходимость развития определенного уровня внутренней экспертизы протокола BGP.
Эти знания позволят нам определить, когда проблема связана или не связана с ошибкой BGP, а также позволят нам разработать процедуры технической поддержки для последующего решения таких проблем.
Вторая проблема касается видимости платформы WAN. Здесь мы говорим не только о видимости нашей внутренней платформы, но и о достижении видимости работы BGP-узлов провайдеров.
Фактически, чтобы решить проблему такой видимости, появились такие инструменты, как BGPlay, которые предоставляют своевременную информацию о том, как определенные пакеты перемещаются между узлами BGP в Интернете.
Эти приложения полезны, однако, идея мониторинга BGP должна заключаться в создании процесса поиска информации, который также интегрирован в мониторинг всей нашей платформы, включая особенно мониторинг наших приложений.
И вот мы подошли к третьей задаче: интегрировать мониторинг BGP в схему мониторинга всей нашей платформы таким образом, чтобы он не превратился в чисто информационное упражнение.
Сказав это, мы предлагаем теперь рассмотреть проблемы, которые могут возникнуть при применении протокола BGP, определить, где и как платформы мониторинга могли бы удовлетворить определенные потребности.
Но сначала мы должны прояснить некоторые понятия, связанные с BGP.
Как работает BGP?
Здесь мы попытаемся вкратце рассказать о функционировании BGP, не забыв при этом, что BGP – это обширная и очень интересная тема, которую мы рекомендуем вам изучить досконально.
Для начала вспомним, что BGP (Border Gateway Protocol) – это протокол маршрутизации четвертого уровня в модели OSI, документированный в RFC 4271 и использующий порт TCP 179.
Итак, что он маршрутизирует и между какими сущностями происходит эта маршрутизация?
BGP генерирует маршруты для IP-пакетов между автономными системами.
Автономная AS соответствует группе сетей, которые используют одну и ту же организацию или сетевого оператора (обычно провайдеров) для отправки и получения интернет-трафика.
Эти операторы получают от руководящего органа адрес или номер автономной системы (ASN), состоящий из 16 или 32 цифр. Пример того, как может выглядеть структура интернет-провайдера, показан на следующем изображении:
Описание: Пример структуры автономной системы
На рисунке наша сеть будет одной из пользовательских сетей автономной системы AS 100.
Затем у провайдера будет один или несколько BGP-маршрутизаторов, с помощью которых он соединяется с другими BGP-маршрутизаторами других AS (AS 200 и AS 300), а также структура, состоящая из маршрутизаторов, которые не обязательно применяют протокол BGP.
Основными функциями BGP-маршрутизатора являются:
- Рекламируйте сети своих подписчиков.
- Распространите информацию о возможных маршрутах.
- Выберите на основе этой информации наиболее удобный маршрут для каждого конкретного транспорта.
Важно отметить, что маршрутизаторы BGP имеют информацию о сетях своих пользователей в таблицах маршрутизации.
По умолчанию маршрутизатор должен делиться информацией, содержащейся в его таблице маршрутизации, с соседними узлами. Это делается на основе сессий, которые определяются между узлами BGP. Узлы, соединенные сеансом связи, называются соседними узлами.
Однако следует уточнить, что фильтры обычно применяются к информации, отправляемой и получаемой BGP-маршрутизатором. Эти фильтры определяются в соответствии с политиками маршрутизации и безопасности, которые может создавать каждый провайдер.
Здесь важно отметить радикальное отличие BGP от других протоколов маршрутизации.
В то время как другие протоколы обычно управляются довольно простыми политиками маршрутизации, которые учитывают только необходимость поиска оптимального маршрута, BGP, из-за отношений между провайдерами и большого объема трафика, обычно работает на основе политик маршрутизации, которые могут быть очень сложными.
На самом деле, эти полисы охватывают или могут охватывать довольно значительный набор параметров. Среди них, если упомянуть лишь некоторые, есть вес и длина маршрута, происхождение пакетов, любимый соседний маршрутизатор и т.д.
Итак, мы подвели итоги; давайте перейдем к проблемам, с которыми мы можем столкнуться.
Проблемы
Основные проблемы могут быть оценены в соответствии с фундаментальными процессами протокола.
Проблемы смежности
В процессе создания сессии между двумя узлами BGP могут возникнуть такие проблемы, как несовпадение IP-адресов узлов, несовпадение адресов автономных систем (ASN) или даже блокировка одним из устройств порта TCP 179, используемого протоколом BGP.
Проблемы со смежностью можно отслеживать путем систематической проверки активных сессий между узлами BGP. На самом деле, Pandora FMS имеет плагин, который проверяет BGP-сессии с помощью протокола SNMP.
Заинтересованный читатель может получить доступ к плагину Pandora FMS BGP по следующей ссылке:
https://pandorafms.com/library/bgp-plugin/
Проблемы распространения
Если примыкания работают правильно, следующее, что может пойти не так и поэтому нуждается в контроле, – это распространение информации.
В этом смысле ошибка может возникнуть, когда узел BGP не включает сетевой префикс в таблицу маршрутизации BGP.
Следует отметить, что это возможно потому, что в отличие от других протоколов маршрутизации, маршрутизатор BGP не будет автоматически включать информацию от непосредственно подключенных сетей в свою таблицу маршрутизации, а будет зависеть от того, как она настроена.
Поэтому полезно иметь процесс, который проверяет, находится ли префикс сети в таблице маршрутизации BGP соответствующего узла.
Затем, даже если префикс включен в таблицу маршрутизации, процесс распространения может дать сбой в любой точке Интернета, поэтому может быть целесообразно периодически проверять распространение. Для этого существует несколько приложений, которые проверяют распространение на узел, учитывая информацию о сети. Конечно, необходимо будет интегрировать полученные здесь результаты в нашу платформу мониторинга в масштабах всей платформы.
С другой стороны, внутреннее распространение также может создать проблемы, поскольку наш маршрутизатор может перестать получать обновления маршрутизации или получить больше информации, чем позволяют его физические возможности.
Здесь платформа мониторинга, конечно же, должна учитывать маршрутизатор, который интегрирует контрактный интернет-сервис; мы имеем в виду маршрутизатор как компьютер, его память, процент использования процессора и т.д.
SNMP может стать хорошим союзником на этом этапе; конечно, необходимо, чтобы для каждой модели маршрутизатора мы проверили, есть ли в описании объекта (OID) и в соответствующей базе данных правильные метрики для мониторинга этих ситуаций.
Мы надеемся, что эта статья побудит читателя задуматься о протоколе BGP как о неотъемлемой части своих WEB-приложений и сервисов, а также оценить реальную потребность в возможной схеме мониторинга.
В любом случае, очевидно, что ключевым элементом для реализации проекта мониторинга BGP, независимо от его масштаба, является наличие рабочего и хорошо настроенного инструмента мониторинга общего назначения, такого как Pandora FMS.
Если вы еще не знаете всех преимуществ, которые может дать вам Pandora FMS, узнайте об этом немедленно, перейдя по ссылке.
Если у вас более 100 устройств для мониторинга, вы можете связаться с командой Pandora FMS через следующую форму.
Также помните, что если ваши потребности в мониторинге более ограничены, в вашем распоряжении есть OpenSource версия Pandora FMS. Более подробную информацию можно найти здесь.
Не стесняйтесь присылать свои запросы. Сотрудники Pandora FMS будут рады помочь вам!