BGP

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Автономні системи і BGP

BGP (англ. Border Gateway Protocol, укр. Протокол Граничного Шлюзу) — єдиний протокол маршрутизації між автономними системами в глобальній мережі Інтернет, а його розширена версія MBGP (Multiprotocol BGP) використовується в MPLS мережах ІТ провайдерів.

BGP є протоколом міждоменної маршрутизації[en] та належить до класу дистанційно-векторних протоколів[en]. Як протокол міждоменної маршрутизації використовується усіма інтернет провайдерами, а також великими компаніями та організаціями, які мають власні публічні номери автономних систем (ASN) та користуються послугами більш ніж одного інтернет провайдера (Мултіхомінг[en]) або мають прямі IP з'єднання з багатьма іншими великими компаніям, що також мають власні публічні номери автономних систем, без використання послуг інтернет провайдерів.

Разом з тим немає ніяких обмежень на використання BGP в локальних мережах крім рекомендацій про приватні ASN (64512-65534).[1], але використання BGP в якості протоколу внутрішньодоменної маршрутизації[en] є недоцільним через значний час конвергенції (збіжності)[en] у порівнянні з іншими протоколами маршрутизації, що закладено в його дизайні.

На відміну від класичного дистанційно-векторного протоколу RIP, метрикою якого є кількість хопів (відрізків шляху) між маршрутизаторами, найкращий маршрут BGP обирається по точно визначеному пріоритету атрибутів, одним із яких, але не самим пріоритетним, є кількість хопів між автономними системами — найкоротший шлях між автономними системами (англ. shortest AS path). Тому іноді цей протокол зараховують до окремого класу шляхо-векторних протоколів[en].[2]

BGP атрибути[ред.ред. код]

BGP Топологія

Маршрутизатор на якому працює BGP передає своїм BGP-сусідам (англ. peer) IP префікси та набір атрибутів до них на основі вибору своїх найкращих маршрутів до конкретних IP мереж. В свою чергу ці атрибути використовуються BGP-сусідами для калькуляції своїх власних маршрутів.

Атрибути поділяються на категорії:[3]

  1. Добре-знані (Well-known) — усі BGP реалізації мусять підтримувати ці атрибути
    1. Обов'язкові (Mandatory) — усі BGP маршрутизатори мусять надсилати ці атрибути своїм сусідам
    2. Дискреційні (Discretionary) — надсилання цих атрибутів відбувається на власний розсуд або за обопільною згодою
  2. Додаткові (Optional) — необов'язкові
    1. Транзитні (Transitive) - мають передаватися по ланцюжку від одного маршрутизатора до іншого
    2. Нетранзитні (Non-transitive) - маршрутизатор передає лише своїм BGP-сусідам, які не зобов'язані передавати ці атрибути далі по мережі

Один із лідерів виробництва мережевого обладнання компанія Cisco у своїй документації часто називає локальний параметр своїх BGP маршрутизаторів - WEIGHT (Вага) BGP-атрибутом, хоча він не передається від сусіда до сусіда, а може бути прописаним у конфігурації конкретного маршрутизатора.[4]

Алгоритм вибору маршруту[ред.ред. код]

BGP маршрутизатор призначає перший отриманий маршрут у якості кращого поточного маршруту для конкретної IP мережі. Якщо BGP маршрутизатор отримує новий маршрут то порівнює його з найкращим поточним маршрутом згідно зі списком пріоритетності BGP атрибутів. Якщо поточний крок вирішив неоднозначність то до наступного кроку не переходять, а вважається, що найкращий маршрут знайдено:[5]

  1. Перевага надається маршруту з найбільшим значенням параметра (атрибута) WEIGHT (Вага). Застосовується лише на маршрутизаторах Cisco.
  2. Маршрут, що має найбільше значення атрибуту LOCAL_PREF (Локальна Перевага), за замовченням цей атрибут має значення 100.
  3. Маршрутизатори Cisco надають перевагу своїм власним маршрутам над маршрутами отриманими від BGP-сусідів[6]. Маршрутизатори інших виробників можуть ігнорувати цей крок, або мати свої власні правила.
  4. Надання переваги найкоротшому шляху до конкретної IP мережі на основі атрибуту AS_PATH (Шлях по автономних системах). Тобто кращим маршрутом є той до якого веде шлях через мінімальну кількість автономних систем
  5. Вибір на основі атрибуту ORIGIN (Джерело). Якщо IP префікс якоїсь мережі спочатку був отриманий BGP із протоколу внутрішньодоменної маршрутизації[en] тоді маршрут, що веде до цієї мережі є пріоритетнішим ніж маршрути які отримали IP префікс цієї мережі з EGP (протокол наразі не використовується) або джерело отримання невідоме.
  6. Надання переваги маршруту з найменшим значенням атрибута MED (multi-exit discriminator, дискримінатор мульти-виходу)
  7. Перевага маршруту отриманому через eBGP (Exterior, Зовнішній BGP) над iBGP (Interior, Внутрішній BGP) тобто маршрут отриманий від BGP-сусіда з іншої автономної системи має перевагу над маршрутом отриманим від BGP-сусіда тієї ж самої AS.
  8. Обирається маршрут, який отриманий від ближчого BGP-сусіда. Ближчим сусідом є той до якого є найменшою відстань в таблиці маршрутизації сформованій на основі прямих з'єднань, статичних маршрутів[en] та протоколів внутрішньодоменної маршрутизації (IGP).[7]
  9. Цей пункт виконується, коли ми використовуємо Багатошляховий[en] (Мultipath) BGP, тобто коли для цілей балансування навантаження[en] використовується окрім найкращого один чи більше додаткових маршрутів до конкретної IP мережі. Якщо претендент на найкращий маршрут має такі ж самі характеристик згідно з попередніми пунктами, як і раніше обраний, то він не стає новим найкращим, але може бути обраним, як додатковий. Маршрутизатори CISCO можуть мати до 6-ти BGP маршрутів до конкретної IP мережі.
  10. Маршрут отриманий першим має пріоритет.

Примітки[ред.ред. код]

Інтернет Це незавершена стаття про Інтернет.
Ви можете допомогти проекту, виправивши або дописавши її.