Як працює BGP над TCP?


13

Наскільки я знаю, що ми використовуємо протоколи маршрутизації для досягнення підключення рівня 3, я плутаю те, що BGP працює над TCP, який є L4. Як можна встановити L4 / TCP без попереднього підключення L3?

Відповіді:


17

TCP / IP-розетки встановлюють кінцеве з'єднання через мережу між двома спеціально адресованими кінцевими точками. BGP використовує TCP / IP для спілкування між маршрутизаторами (будь-якими пристроями, що обмінюються інформацією про маршрутизацію.) Обмінювана інформація використовується однолітками BGP, щоб краще вибрати спосіб вибору, куди надсилати (так само, наступні переходи) пакетів, які їм потрібно передавати.

В самих краях Інтернету все легко; "все так" до вашого Інтернет-провайдера. Більше посередині, маршрутизатор може мати кілька варіантів. Таким чином, він використовує TCP / IP для переміщення трафіку BGP серед своїх сусідів маршрутизації. Інформація BGP потім повідомляє маршрутизатору, які шляхи віддати перевагу, коли існує кілька способів, щоб пакет міг дістатися куди.

Кінцеві точки (наприклад, веб-браузери) та маршрутизатори говорять TCP / IP. Але маршрутизатори використовують TCP / IP (комунікації BGP, що складаються з пакетів TCP / IP), щоб говорити про те, що робити з іншими пакетами TCP / IP, які вони потребують для маршрутизації.


Я вважаю, що "Але маршрутизатори використовують TCP / IP, щоб говорити про те, що робити з іншими пакетами TCP / IP, які їм потрібні для маршрутизації". "Маршрутизатори використовують BGP для розмови про те, що робити з іншими пакетами TCP / IP, які вони потребують для маршрутизації".
Олів'є Дулак

1
... Я думав також про те, щоб написати це. Своєю останньою пропозицією я намагався висвітлити, як різні пристрої роблять різні речі з TCP / IP. Я перероблю формулювання.
Крейг Костянтин

13

Протоколи маршрутизації не "досягають" підключення L3. Вони заповнюють таблицю маршрутизації (переадресації) маршрутизатора інформацією, отриманою від інших маршрутизаторів.

BGP - це "додаток", який працює через TCP / IP. Іншими словами, маршрутизатор BGP використовує TCP / IP для спілкування з іншими маршрутизаторами BGP для обміну інформацією про маршрутизацію.

Для того, щоб BGP працював, ви вже повинні мати L3-з'єднання між маршрутизаторами.


проблема з куркою та яйцями. "Щоб BGP працював, ви вже повинні мати L3-з'єднання між маршрутизаторами." Оскільки BGP є протоколом маршрутизації De facto в Інтернеті, то, як досягнуто підключення L3 в Interet
змішаний

6
Зовсім не проблема з куркою та яйцями. Як я вже сказав, протоколи маршрутизації не створюють підключення L3. Динаміки eBGP (майже) завжди безпосередньо пов'язані один з одним. Динаміки iBGP для підключення покладаються на базову мережу. Іншими словами, спочатку вам потрібен зв’язок, перш ніж запускати BGP.
Рон Трунк

Я намагаюся зрозуміти, як це почалося і які міркування сьогоднішньої архітектури. Тож на початку знайшлося пару хлопців із приватних мереж, які управляють IGP, і сказали, що давайте зможемо підключити наші мережі? чому це робити через IP / TCP, що робити зі старими протоколами, такими як Novell або Appletalk
змішано

Це різні (але хороші) питання. На відповіді знадобиться більше місця, ніж у розділі коментарів. Ми можемо перенести це у чат, якщо хочете
Рон Трунк

6

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

Що стосується BGP, спосіб формування суміжностей та обмін інформацією залежить від типу сеансу.

Найпростіший - eBGP. Зазвичай eBGP працює на сесії TCP між двома безпосередньо підключеними маршрутизаторами. У цьому випадку кожен аналог знає, як спілкуватися з іншим, оскільки вони мають інтерфейс в одній підмережі, тому немає необхідності використовувати зовнішній протокол маршрутизації для формування суміжності.

З iBGP справи трохи складні. У найпростішій конфігурації всі маршрутизатори в межах автономної системи будуть налаштовані як частина повноцінної мережі з сеансами iBGP з усіма іншими маршрутизаторами в мережі. В межах автономної системи використовується внутрішній протокол шлюзу, такий як OSPF або ISIS, щоб створити внутрішню топологію маршрутизації. Коли IGP виконає свою роботу, всі маршрутизатори матимуть таблицю маршрутизації, заповнену маршрутами, до всіх сусідів iBGP, що дозволять сеансу TCP формуватись без кругової залежності.

Де речі стають трохи цікавішими - це ситуація, коли не всі маршрутизатори в автономній системі працюють з повною таблицею BGP. Якщо сітка iBGP не є повною, ви можете отримати ситуації, коли маршрутизатор посеред мережі має інший вигляд таблиці, що її прямі сусіди. Це спричинить неоптимальну маршрутизацію, а в деяких випадках петлі маршрутизації, які призведуть до руху трафіку між пристроями до закінчення терміну дії TTL.


5

Посилання має статичні адреси та пов’язані з ними записи маршрутизації, які використовуються для встановлення сеансу BGP. За допомогою BGP таблицю маршрутизації потім розширюють записами, що вказують на інші мережі.

Оскільки BGP використовується лише між прямими однолітками, в цьому пункті не потрібні інші маршрути, крім того, які спрямовані на інший кінець.

Наприклад, якщо ми хотіли б заглянути, ми погодимось на підмережу / 30 або / 31, призначимо одну адресу кожному кінці мережі та створимо мережевий маршрут для цієї підмережі для цього посилання, тоді ми налаштуємо іншу як BGP peer, і в цей момент я отримую додаткові записи маршрутизації для всіх мереж, які ви оголосите, що надсилаються через ваш маршрутизатор (що, в свою чергу, є частиною локального статично налаштованого мережевого маршруту).


Симоне, приємно почутись від тебе ще раз. Ваша відповідь стосується лише eBGP, але однорангові iBGP потребують доступності лише IGP (тобто OSPF). Чи можете ви додати більше для випадку iBGP?
Майк Пеннінгтон

0
                    ---        ---          ---          ---
                   | D |------| A |--------| B |--------| C |
                    ---        ---          ---          ---

Припустимо, A і B є маршрутизаторами (в різних або однакових AS), а D і C - хости. Тепер А і В з'єднані між собою і можуть спілкуватися. Але як би D знати позицію C, щоб вона могла спілкуватися з C. Те саме стосується C, коли вона хоче спілкуватися з D. Тепер, якщо ми запускаємо протокол BGP між A і B, вони обмінюються інформацією про з'єднання рівня 3 між собою . Простіше кажучи, A скаже B, що до нього підключений D. Тоді або B може передати це C, або якщо B є шлюзом за замовчуванням для C, в будь-якому випадку C може знати положення D.

Таким чином, у цьому випадку інформація про з'єднання рівня 3 передається між A і B з урахуванням протоколу BGP, що працює у A і B.

Отже, попереднє з'єднання BGP потрібно між двома системами для обміну інформацією про маршрутизацію рівня 3. Я щойно показав простий приклад, щоб відповісти на ваш запит. У практичному сценарії набагато більше даних про маршрутизацію обмінюється між колегами BGP.

BGP працює над протоколом TCP. Отже, розетка TCP повинна бути відкрита між ними, лише тоді вони можуть обмінюватися даними про маршрутизацію.


0

без попереднього підключення L3?

"Підключення L3" - це не все або нічого.

Адміністратор, що налаштовує маршрутизатор, налаштує інтерфейси з IP-адресами та масками підмережі. На основі цих конфігурацій будуть створені неявні записи таблиці таблиць маршрутизації, які дозволяють маршрутизатору спілкуватися з сусідами.

Протоколи маршрутизації можуть потім працювати над цим локальним підключенням L3, щоб встановити зв'язок L3 на більші відстані.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.