Что такое BGP и почему от него зависит Интернет?

Фотография кабелей Ethernet, подключенных к сетевому коммутатору.ПОП-ТАИЛАНД / Shutterstock.com

В результате шестичасового отключения Facebook 4 октября 2021 года люди изо всех сил пытались понять, что происходит. Частично ответ заключается в неотъемлемой части Интернета, называемой протоколом пограничного шлюза или BGP.

Что такое BGP?

В недавних статьях для объяснения BGP использовалось несколько очень уместных метафор. Люди сравнивают это со всем, начиная с авиадиспетчер к постоянно развивающейся карте Интернета. Его даже называют «изолентой Интернета». И с ними все в порядке.

BGP — это протокол, который сообщает запросам данных, по какому пути они должны добраться до сервера. Если, например, вы входите в Facebook или открываете приложение, чтобы загрузить свою ленту, BGP — это то, что направляет ваш пакет данных по самому быстрому маршруту для получения этих данных с серверов Facebook.

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

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

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

Примеры автономных систем в Интернете:

  • Интернет-провайдер (ISP), такой как Comcast, AT&T, Verizon и т. Д.
  • Такая компания, как Facebook
  • Другие крупные организации, такие как правительства или университеты

Митчелл Кларк, пишет для Грани, сравнивает BGP с постоянно обновляемая карта и автономные системы для островов на этой карте. Поскольку в Интернете слишком много «островов», чтобы строить мосты между каждым из них, BGP сообщает вам, где эти мосты уже находятся.

На самом деле существует два типа BGP:

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

Для доступа к eBGP в более широком Интернете необязательно настраивать iBGP, но некоторые автономные системы, такие как крупные технологические компании, в любом случае используют iBGP для маршрутизации внутреннего трафика.

Как BGP и DNS работают вместе?

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

Это часть того, что произошло в Facebook. Вице-президент Facebook по инфраструктуре Сантош Джанардхан сказал об этом так: его сообщение в блоге объясняя механику отключения:

«Одна из задач, выполняемых нашими небольшими предприятиями, — отвечать на запросы DNS. DNS — это адресная книга в Интернете, позволяющая преобразовывать простые веб-имена, которые мы вводим в браузеры, в определенные IP-адреса серверов. На эти запросы на перевод отвечают наши авторитетные серверы имен, которые сами занимают хорошо известные IP-адреса, которые, в свою очередь, объявляются остальной части Интернета через другой протокол, называемый протоколом пограничного шлюза (BGP) ».

Другими словами, протокол системы доменных имен (DNS) в Интернете работает как список адресов, а BGP — это почтовая служба, которая доставляет почту в эти дома. Почта не может быть доставлена, если у вас есть адрес, но нет маршрута к дому.

Джанардхан продолжает:

«… DNS-серверы отключают эту рекламу BGP, если они сами не могут общаться с нашими центрами обработки данных, поскольку это указывает на нездоровое сетевое соединение. В результате недавнего сбоя вся магистраль была отключена, в результате чего эти местоположения объявили себя нездоровыми и отозвали эти рекламные объявления BGP. В результате наши DNS-серверы стали недоступны, хотя они все еще работали. Это сделало невозможным для остальной части Интернета найти наши серверы ».

Как BGP может испортить Интернет

На маршрут ваших данных по карте Интернета может повлиять множество факторов. Стоимость может быть равна единице, поскольку некоторые провайдеры взимают плату за доступ к своим системам. Другой аспект — изменяющаяся природа Интернета.

Автономные системы и веб-сайты могут быть перемещены или полностью удалены с карты Интернета. Они также могут менять или добавлять поставщиков услуг — примером может быть перевод провайдера в колледж с Comcast на AT&T. BGP должен регулярно обновлять данные о маршрутах, чтобы они оставались актуальными, а ваш запрос не заходил в тупик в стиле Хитрого Койота.

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

Исправление ошибок

В соответствии с Cloudflare, плохое обновление BGP в 2004 году турецким провайдером TTNet временно рекламировало TTNet как лучший пункт назначения для всего трафика в Интернете. Это приводило к проблемам с подключением на целый день, пока проблема не была решена.

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

BGP — это лишь один из нескольких элементов, обеспечивающих работу Интернета. Понимание его основы может помочь вам ориентироваться в сбоях и других проблемах в будущем.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *