ќсновы BGP

BGP дл€ самых маленьких

ћерион Ќетворкс

5 минут чтени€

BGP (Border Gateway Protocol) - это протокол граничного шлюза, предназначенный дл€ обмена информацией о маршрутизации и доступности между автономными системами (AS) в »нтернете. ѕока не пугайс€ - к тому, что такое автономна€ система мы еще вернемс€.

”проща€: BGP - это метод маршрутизации, который позвол€ет интернету функционировать. Ѕез него вы бы не смогли выполн€ть поиск в гугле, даже посмотреть эту статью. ћожно уверенно сказать, что BGP, нар€ду с DNS, €вл€ютс€ самыми важными дл€ »нтернета протоколами.

—уществует 2 типа BGP - iBGP дл€ маршрутизации внутри сети, где i обозначает Internal и eBGP дл€ внешней (External) маршрутизации, хот€ его обычно называют просто - BGP.


Ќемного истории

 огда-то во всем интернете было всего лишь несколько сетей, св€занных друг с другом статичными маршрутами. “о есть админы вручную на роутерах прописывали маршрут до нужной сети - такой маршрут и называетс€ статичным.

Ќо интернет недолго оставалс€ маленьким. —тало по€вл€тьс€ все больше и больше сетей, что потребовало динамического метода обмена информацией о маршрутах. “ак по€вилс€ EGP (Exterior Gateway Protocol) - протокол внешнего шлюза.

Ёто был простой протокол маршрутизации, который работал по древовидной иерархической топологии, то есть как веточки у дерева. Ёто когда чтобы добратьс€ до точки E или F, A должен пройти через B, C и D.

“опологи€

ƒругими словами - при EGP, ни о какой интеллектуальной, как видосы на нашем канале, маршрутизации не могло быть и речи. » когда »нтернет стал ещЄ больше, недостатки EGP стали очевидны всем. “ак и по€вилс€ BGP.


Autonomous System

¬ самом начале мы обещали вернутьс€ к автономным системам: так вот Autonomous System или AS это сеть или набор подсетей, которые объединены общей внутренней политикой маршрутизации.

¬нутри этих подсетей работает свой протокол маршрутизации, например OSPF или EIGRP. Ёто мы и называем внутренней политикой маршрутизации.

јвтономными системами управл€ют отдельные организации, как правило - интернет-провайдеры, различные ¬”«ы, коммерческие компании или крупные корпорации типа Google или Facebook.

ƒаже ты сейчас сидишь в какой-то AS. ¬от например AS в которой находитс€ наша база знаний wiki.merionet.ru.

Autonomous System

 ажда€ AS имеет свой уникальный номер - AS Number (ASN) и диапазон IP адресов, то есть подсеть. ј BGP обеспечивает обмен информацией о маршрутах между этими системами.


BGP в детал€х

“ак как на BGP возложена велика€ задача Ц соединение автономных систем во всем »нтернете, то он должен быть очень надежным. “ак что в самом начале работы, BGP-маршрутизатор инициирует установление TCP сессии на 179 порт к своему соседу

≈сли TCP-сесси€ установлена успешно, то BGP-маршрутизаторы начинают обмен сообщени€ми OPEN в котором сообщают свои номер автономной системы (ASN), идентификатор маршрутизатора, который называетс€ RouterID и Hold timer.

Hold timer это врем€, в течение которого будет поддерживатьс€ TCP-сесси€. ≈сли одному роутеру что-то не понравитс€, например не совпадЄт информаци€ о номере AS, то сообщением NOTIFICATION он уведомит об этом своего соседа и сбросит TCP-сессию.

—оединение по BGP должно быть абсолютно согласовано администраторами автономных систем, желающих организовать стык.

ќбмен сообщени€ми

≈сли, скажем, администратор AS1 запустил процесс BGP на маршрутизаторе R1 указав в качестве соседа R2 и его ASN, а администратор AS2 ничего не настроил, то TCP-сесси€ не подниметс€ и системы так и останутс€ несв€зными. ƒа, все верно, администраторы настраивают BGP вручную.

≈сли же все услови€ соблюдаютс€, то маршрутизаторы, с определенным интервалом, начинают слать друг другу сообщени€ KEEPALIVE, означающие Уя ещЄ жив и со мной можно работать!Ф

Ќаконец, маршрутизаторы могут приступать к обмену маршрутной информацией по средствам сообщени€ UPDATE. —труктура данного сообщени€ делитс€ на две части:

  • Path Attributes (јтрибуты пути) - здесь указываетс€ из какой AS поступил маршрут, его происхождение и следующий маршрутизатор дл€ данного пути.
  • NRLI (Network Layer Reachability Information) - здесь указываетс€ информаци€ о сет€х, которые нужно добавить в таблицу маршрутизации, т.е IP-адрес сети и ее маска.

—ообщение UPDATE будет передаватьс€ каждый раз, когда один из маршрутизаторов получит информацию о новых сет€х, а сообщение KEEPALIVE на прот€жении всей TCP-сессии.

BGP принимает решени€ о наилучшем пути на основе текущей сложности маршрута, количестве хопов (то есть точек маршрутизации) и других характеристик пути. BGP анализирует все данные и устанавливает одного из своих соседей в качестве следующей остановки дл€ пересылки пакетов в определенную сеть.

 аждый узел управл€ет таблицей со всеми известными ему маршрутами дл€ каждой сети и передает эту информацию своим соседним автономным системам. “аким образом, BGP позвол€ет роутерам собирать всю информацию о маршрутизации из соседних автономных систем и далее анонсировать эту информацию сосед€м.

»менно таким образом и работает маршрутизаци€ во всем »нтернете.

—бои в работе BGP ни раз приводили к недоступности целых частей »нтернета. ѕомнишь как в окт€бре 2021 во всем мире прилЄг Facebook, а с ним и остальные его сервисы - Instagram, WhatsApp?

Ёто случилось потому, что из-за ошибки инженеров, информаци€ о маршрутах к серверам Facebook, котора€ рассылаетс€, как ни странно, по протоколу BGP, была удалена, а это вызвало невозможность разрешени€ доменного имени Facebook по DNS. ƒошло до того, что инженерам FB пришлось выпиливать двери в серверную, чтоб всЄ починить, потому что система пропусков тоже была зав€зана на их сервисы и не работала!


—кидки 50% в Merion Academy

¬ыбрать курс