¬аш вопрос св€зан с хэштэгами # орпоративные сети, #“еори€? —просите в Telegram!

 орпоративные сети“еори€

ѕротокол BGP

—в€зь между автономными системами

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

—егодн€шн€€ стать€ будет посв€щена основному протоколу динамической маршрутизации Ц BGP (Border Gateway Protocol). ѕочему основному? Ц ѕотому что с именно с помощью BGP организована топологи€ всего »нтернета.

»так, в данной статье разберем следующие моменты:

  1. ќсновные термины протокола BGP
  2. ѕринципы работы протокола BGP
  3. “ипы сообщений протокола BGP

“ерминологи€

 огда речь идЄт BGP, первое на чем необходимо остановитьс€ - это пон€тие автономной системы AS(Autonomus System). јвтономна€ система - это совокупность точек маршрутизации и св€зей между ними, объединенна€ общей политикой взаимодействи€, котора€ позвол€ет этой системе обмениватьс€ данными с узлами, наход€щимис€ за ее пределами.

AS характеризуетс€ (с недавних пор 32 битным) номером ASN (Autonomus System Number) и пулом IP-адресов. ¬ыдачей и того и другого занимаетс€ организаци€ IANA (Internet Assigned Numbers Authority), делегиру€ контроль за распределением ASN и других интернет ресурсов, региональным регистраторам.

—в€зность автономных систем достигаетс€ благодар€ статической или динамической маршрутизации.

—о статической маршрутизацией всЄ просто. ¬ы заходите на устройство и вручную прописываете маршрут до его ближайшего соседа. Ќа практике, св€зать даже 10 маршрутизаторов между собой уже представл€етс€ довольно сложной задачей.

ѕоэтому дл€ больших сетей придумали динамическую маршрутизацию, при которой устройства автоматически дел€тс€ друг с другом информацией об имеющихс€ у них маршрутах и, более того, подстраиваютс€ под изменени€ топологии.

 ак известно, протоколы динамической маршрутизации классифицируютс€ по двум основным признакам:

  1. “ип работы протокола относительно AS
    • IGP (Interior Gateway Protocol) Ц работают внутри автономной системы. —юда относ€тс€: RIP, OSPF, EIGRP, IS-IS
    • EGP (Exterior Gateway Protocol) Ц работают вне автономных систем и обеспечивают их св€зность. —юда относитс€ BGP
  2. јлгоритм работы протокола
    • Distance-Vector - знает маршруты только до своих ближайших соседей и обмениваетс€ с ними таблицей маршрутизации. (RIP, EIGRP)
    • Link State Ц знает всю топологию сети и обмениваетс€ таблицей топологии со своими сосед€ми (OSPF, IS-IS)

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

»так, BGP Ц это протокол внешней маршрутизации, использующийс€ дл€ соединени€ двух AS. —хема выгл€дит примерно так:

ѕротокол BGP

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

—оединени€ по протоколу BGP должно быть абсолютно согласовано администраторами автономных систем, желающих организовать стык. ≈сли, скажем, администратор AS402 запустил процесс BGP на маршрутизаторе BR2 (Border Router), указав в качестве соседа BR1 и его ASN, а администратор AS401 никаких действий не произвел, то TCP-сесси€ не подниметс€ и системы так и останутс€ несв€зными.  роме того, должны соблюдатьс€ следующие услови€:

  1. 179 порт не блокируетс€ ACL (Access Control List)
  2. ћаршрутизаторы пингуют друг друга
  3. ѕри запуске BGP процесса ASN удаленной стороны был указан верно
  4. RouterID не совпадают

≈сли TCP-сесси€ установлена успешно, то BGP-маршрутизаторы начинают обмен

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

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

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

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

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

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


ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных