Протокол BGP (Boarder Gateway Protocol). Принцип на действие. Схема на състоянията
Експлозивното развитие на Интернет създаде нуждата от BGP – външен протокол, осигуряващ безциклична маршрутизация между домейни, който представлява интелигентен и сигурен маршрутизиращ протокол, базиран на правила. Интернет използва BGP като основен протокол, за да поддържа пренасянето на трафик по голямата супермагистрала. Разширенията, залегнали във версия 4, VLSM и Classless Interdomain Routing (CIDR) дадоха възможност на BGP да се справи с експоненциалното разрастване на Интернет.
BGP трябва да бъде използван в следните ситуации:
- Ако имате множество изходни точки, свързващи към един ISP (за поделяне на натоварването).
- Ако имате множество пътища до различни ISP и искате да управлявате начина за препращане на трафика по тези връзки.
- Ако вашата политика или методи за маршрутизация са различни или отиват отвъд обикновеното използване на подразбиращ се маршрут (т.е. необходим ви е избор на интелигентен път и конкретни критерии).
- Ако инфраструктурата на вашата мрежа се използва като транзитна област за трафик на други организации.
Всеки BGP протокол и маршрутизатор в Интернет трябва да научава и поддържа информация за пътища и да извършва интелигентен избор на път, за да улесни препращането на дейтаграми по Интернет, без да отчита ресурсите (например памет и CPU време), необходими за поддържане на тази информация. При толкова много маршрути, транзитни области и множество пътища през този лабиринт от интермрежи, BGP трябва да има възможността да открива и коригира проблеми (например пропаднали мрежи, маршрутни цикли и т.н.).
За да постигне надеждност, BGP има една характеристика, липсваща във всички други маршрутизиращи протоколи: използва ТСР, за да осигури надежден транспорт с установяване на връзка за неговия трафик за актуализации. BGP гарантира надеждно доставяне на данни, изпълнявайки се върху логическата ТСР сесия, която следва и потвърждава всеки обмен между BGP равноправни възли. BGP използва ТСР порт 179. Маршрутизаторите, разположени в различни области на BGP мрежа, имат различни имена. В BGP мрежа съществуват четири различни типа маршрутизатори:
- BGP маршрутизатори-говорители – това са обикновените BGP маршрутизатори, без специализирани функции.
- Равноправни или съседни маршрутизатори – това са маршрутизатори, свързани към общ сегмент.
- Вътрешни равноправни маршрутизатори – тези маршрутизатори са равноправни възли в една и съща автономна система.
- Външни равноправни маршрутизатори – тези маршрутизатори са BGP съседи от различни автономни системи.
Всички BGP маршрутизатори имат някакъв тип равноправни релационни връзки с други маршрутизатори. Типът на равноправната релационна връзка зависи от това дали маршрутизаторите се намират в една и съща автономна система. Два маршрутизатора, свързващи различни автономни системи са външни равноправни възли, а маршрутизаторите в една и съща автономна система са вътрешни равноправни възли.
Действие на BGP
Когато разрешавате BGP на даден маршрутизатор, вие му задавате номер на автономна система в зависимост от автономната система, към която принадлежи. В допълнение конфигурирате BGP говорител с адресите на всички негови равноправни възли. Когато този говорител влиза онлайн, той трябва да изгради ТСР връзки с всички други равноправни възли (вътрешни и външни), за да улесни обмена на BGP информация.
Когато BGP равноправни маршрутизатори създават ТСР сесия, равноправните възли могат да обменят BGP информация за досегаемост, която създава техните маршрутни таблици. BGP използва тази информация, за да създаде карта на автономните системи, освободена от цикли.
След първоначалния обмен на цялата таблица, равноправните възли обменят само промени. ТСР отчита всички промени чрез контрол на реда на следване и потвърждения. ТСР използва времена на живот за поддържане на връзки между BGP равноправни възли когато тези равноправни възли не обменят активно данни. BGP генерира уведомяващо съобщение когато възникне грешка, което предизвиква прекратяване на ТСР сесията между равноправните възли. Ако ТСР сесията пропадне, BGP също пропада. BGP маршрутизаторите не съхраняват маршрутната информация само в една маршрутна таблица, както е при вътрешните протоколи. BGP маршрутизаторите, в зависимост от имплементацията на производителя, поддържат до три допълнителни маршрутни таблици.
Въпреки това, независимо от броя на таблиците, които поддържат, всеки BGP говорител трябва да разграничава:
- Приетата маршрутна информация (т.е. актуализациите)
- Маршрутната информация, която трябва да бъде рекламирана
- Локалната BGP маршрутна таблица
BGP говорителите уведомяват равноправните възли за промените на маршрути до местоназначения с помощта на обмена на актуализации. Ако даден маршрут стане недостъпен, говорителят рекламира в актуализация, изпращана до неговите съседи, че планира да изтегли маршрута от обръщение, затова неговите съседи трябва да премахнат маршрута от техните таблици. Ако BGP говорителят разполага с по-добър достъпен път до дадено местоназначение, той рекламира новия път и неговите атрибути. След това приемниците заменят стария маршрут с новия такъв.
За разлика от IGP протоколите, при избор на път BGP не използва метрични характеристики, като скок, закъснение, пропускателна способност, надеждност, натоварване или MTU. Вместо това BGP използва атрибути на път (path attributes) в йерархична структура, за да улесни избора на най-добрия път до дадено местоназначение.