Основни концепции на BGP
Border Gateway Protocol (BGP) е един от най-важните мрежови протоколи, използван в интернет за маршрутизация между автономни системи (AS). Той осигурява стабилност, мащабируемост и възможност за контролиране на маршрутизиращите политики на мрежовите оператори.
- Автономни системи (AS) – BGP функционира чрез обмяна на маршрути между различни AS, които обикновено принадлежат на различни интернет доставчици или големи организации.
- BGP Peering – Връзката между два BGP съседа (peers) се осъществява чрез установяване на TCP сесия на порт 179.
- Path Selection – BGP избира най-добрия маршрут според различни атрибути като AS Path, Local Preference, MED и други.
- Internal (iBGP) vs. External (eBGP) – iBGP се използва за обмен на маршрути в рамките на една AS, докато eBGP обменя маршрути между различни AS.
Защо BGP е важен?
- Позволява динамична маршрутизация и оптимизация на трафика.
- Осигурява контрол върху внасянето и изнасянето на маршрути.
- Използва се за интернет доставчици, корпоративни мрежи и cloud инфраструктура.
Как работи BGP?
BGP работи чрез обмяна на маршрутни обяви (prefix advertisements) между AS. Всеки маршрутизатор запазва таблица с получените маршрути и прилага политики за най-добрия избор. Основните атрибути, които BGP използва, включват:
- AS Path – показва през кои AS е преминал маршрутът.
- Next-Hop – IP адресът, към който трябва да бъде изпратен трафикът.
- Local Preference – определя предпочитаните маршрути в рамките на една AS.
- Multi-Exit Discriminator (MED) – указва предпочитан маршрут при връзки между две AS.
BGP е сложен, но мощен протокол, който позволява стабилна и гъвкава маршрутизация в големи мрежи. В следващите части ще разгледаме реални примери, конфигурация на MikroTik с BGP и мониторинг на маршрути.
Какво представлява автономната система (AS) в BGP?
Автономната система (Autonomous System, AS) е група от мрежови устройства (рутери), които работят под общ административен контрол и използват единна маршрутизационна политика. В контекста на BGP, автономните системи комуникират помежду си, за да обменят маршрути и да осигурят глобалната свързаност на интернет.
Основни характеристики на автономните системи:
- Уникален идентификатор (ASN – Autonomous System Number)
- Всяка AS има уникален номер, наречен ASN (Autonomous System Number), който се използва за идентификация в BGP сесиите.
- ASN се издава от регионалните интернет регистри (RIRs), като RIPE NCC (за Европа), ARIN (за Северна Америка) и др.
- ASN може да бъде публичен (за ISP и организации, които обявяват маршрути в интернет) или частен (за вътрешни мрежи, които използват BGP локално).
- BGP и автономните системи
- BGP работи чрез обмен на маршрути между различни AS.
- Външният BGP (eBGP) се използва за комуникация между различни AS, докато вътрешният BGP (iBGP) се използва вътре в една AS.
- AS Path – основният атрибут за маршрутизиране
- AS Path е BGP атрибут, който показва през кои автономни системи е преминал маршрутът, преди да достигне до дадена мрежа.
- По-краткият AS Path обикновено означава предпочитан маршрут.
Видове автономни системи:
- Мултихом AS (Multihomed AS) – свързани с повече от един интернет доставчик за осигуряване и баланс на трафика.
- Транзитни AS (Transit AS) – предават трафик на други AS и действат като междинни точки между автономните системи.
- Сингълхом AS (Single-homed AS) – свързани само с един интернет доставчик, нямат нужда от сложни BGP настройки.
Защо AS са важни?
- Позволяват на интернет доставчиците и организациите да управляват маршрутизирането си ефективно.
- Осигуряват контрол върху трафика чрез BGP политики и атрибути.
- Гарантират глобалната свързаност на интернет чрез споделяне на маршрути между различни автономни системи.
Какво представлява маршрутната таблица в BGP?
Маршрутната таблица (Routing Table) в BGP е базата данни, която съдържа всички известни маршрути, научени чрез BGP. Това е една от най-важните части на BGP, защото определя кои мрежови пътища ще се използват за пренасочване на пакети.
Основни компоненти на маршрутната таблица
Маршрутната таблица на BGP съдържа следната информация за всеки маршрут:
- Префикс (Network Prefix) – IP мрежата (например 87.246.49.0/24), към която маршрутът води.
- Next-Hop – IP адресът на следващия хоп (рутер), през който трябва да мине трафикът.
- AS Path – Списък с автономните системи, през които е преминал маршрутът.
- Local Preference – Вътрешен атрибут на BGP за предпочитание на маршрути в рамките на една AS.
- MED (Multi-Exit Discriminator) – Определя предпочитание за определен маршрут между две автономни системи.
- Community атрибути – Използват се за прилагане на маршрутизиращи политики.
Видове маршрутни таблици в MikroTik
В MikroTik BGP има три основни таблици:
- BGP Route Table (
/routing bgp advertisements print
) – Показва маршрутите, разпространявани от BGP. - Routing Table
(/ip route print where bgp)
– Показва всички маршрути, научени чрез BGP, както и избраните за използване. - Routing Information Base (RIB) – Вътрешна база данни, която съхранява всички възможни маршрути, преди BGP да избере най-добрия.
Как BGP избира най-добрия маршрут?
BGP използва специфични правила за избор на най-добрия маршрут:
- Най-висок Local Preference – По-високата стойност означава по-желан маршрут.
- Най-кратък AS Path – Колкото по-кратък е AS Path, толкова по-добре.
- Най-нисък MED – По-ниска стойност е предпочитана.
- Най-близък IGP next-hop – Следва маршрута с най-близък next-hop.
- Най-нисък Router ID – Ако всички други атрибути са равни, избира се маршрута с най-нисък Router ID.
Какво се случва, ако един маршрут отпадне?
Ако даден BGP маршрут вече не е достъпен (например peer спре да го обявява), той ще бъде премахнат от маршрутната таблица, а BGP ще избере алтернативен маршрут, ако има такъв.
Маршрутната таблица в BGP е сърцето на маршрутизацията, защото съхранява всички възможни пътища и определя кой маршрут е най-добрият за използване. В MikroTik можеш да използваш команди за проверка и анализ на BGP маршрутите, за да управляваш трафика по най-оптималния начин.
Кой раздава автономните системи и каква е йерархията на администрацията на мрежи?
Автономните системи (AS) се управляват и разпределят от международни организации, които следват определена йерархия за координация и разпределение на интернет ресурси, като IP адреси и ASN (Autonomous System Numbers). Йерархията в администрацията на интернет мрежите е организирана в три основни нива:
Internet Assigned Numbers Authority (IANA)
IANA е глобалната организация, която отговаря за разпределението на интернет ресурси, включително IP адресни блокове и автономни системни номера (ASN). IANA работи под управлението на ICANN (Internet Corporation for Assigned Names and Numbers) и делегира тези ресурси на регионалните интернет регистри (RIRs).
Регионални интернет регистри (RIRs)
IANA разпределя ASN и IP адреси на пет регионални интернет регистра (RIRs), които отговарят за различни географски региони:
- RIPE NCC – Европа, Близкия Изток и части от Централна Азия
- ARIN – Северна Америка (САЩ, Канада, някои карибски държави)
- APNIC – Азиатско-тихоокеански регион
- LACNIC – Латинска Америка и Карибите
- AFRINIC – Африка
RIR-ите отговарят за разпределянето на ASN на национални регистри или директно на организации, които кандидатстват за автономна система.
Национални интернет регистри (NIRs) и локални интернет регистри (LIRs)
В някои региони съществуват Национални интернет регистри (NIRs), които са под управлението на RIR-ите и управляват ресурсите на национално ниво. Те често работят с Локални интернет регистри (LIRs), които обикновено са големи интернет доставчици (ISP) или организации, предлагащи IP услуги.
Примери за NIRs:
LIRs са по-ниско в йерархията и предоставят ASN и IP адреси на по-малки мрежови оператори, компании или дата центрове.
Крайни потребители (End Users)
Това са организации, компании, държавни институции или интернет доставчици, които получават автономни системни номера и IP адреси от RIR/NIR/LIR. Те използват тези ресурси за маршрутизацията на своите мрежи.
- Големи интернет доставчици (ISP) – получават ASN и IP адреси, които разпределят на по-малки доставчици или клиенти.
- Държавни организации и големи корпорации – често използват BGP маршрутизация за собствени цели, напр. CDN мрежи, дата центрове.
Как се получава автономна система (ASN)?
- Организацията подава заявление до съответния RIR или LIR, като обяснява защо ѝ е необходим ASN.
- Изискванията обикновено включват:
- План за BGP маршрутизация с повече от един интернет доставчик (multi-homed).
- Доказателство, че организацията ще управлява своята маршрутизация независимо.
- След одобрение, организацията получава публичен ASN, който може да бъде използван за BGP маршрутизация в интернет.
Видове ASN
- Публични ASN (0 – 64511) – използват се за маршрутизация между различни организации в интернет.
- Частни ASN (64512 – 65534) – използват се за вътрешна BGP маршрутизация и не се обявяват глобално.
- 32-битови ASN (от 65536 нагоре) – новата система за ASN, използваща 32-битови числа, тъй като броят на 16-битовите ASN се изчерпва.
Йерархията на администрацията на интернет мрежи започва от IANA, преминава през RIRs, LIRs, и завършва при крайните организации и доставчици. BGP и ASN са ключови компоненти в маршрутизацията и управлението на глобалния интернет.
Какво представляват мрежовите префикси в BGP и как се рекламират?
Какво е мрежов префикс?
Мрежов префикс (или IP префикс) е група от IP адреси, представени в CIDR нотация (напр. 87.246.49.0/24
). В контекста на BGP, префиксите определят кои IP мрежи дадена автономна система (AS) може да достигне или маршрутизира.
Примери:
87.246.48.0/24
означава 256 IP адреса (от87.246.48.0
до87.246.48.1.255
)10.0.0.0/8
означава 16,777,216 IP адреса (от10.0.0.0
до10.255.255.255
)
BGP използва тези префикси, за да разпространява маршрути и да информира други мрежи кои IP адреси могат да бъдат достигнати през дадена автономна система.
Как се получават IP префикси?
IP адресните пространства се разпределят по същата йерархия, както автономните системи:
- IANA (Internet Assigned Numbers Authority) – разпределя големи IP блокове на RIR-ите.
- RIR (Regional Internet Registries) – разделят тези блокове и ги раздават на локални интернет регистри (LIR) и организации.
- LIR (Local Internet Registries, напр. големи ISP) – разпределят адреси на крайни клиенти (малки доставчици, компании).
- Организации и мрежови оператори – могат да наемат или купуват IP адреси от LIR.
Ако една организация иска публични IP адреси, тя трябва да кандидатства чрез RIR или LIR, доказвайки нуждата си от тях.
Как работи рекламирането на префикси в BGP?
Рекламирането (advertising) на префикси означава, че една автономна система (AS) обявява на своите BGP партньори (peers) кои IP мрежи са достижими през нея. Това е начинът, по който маршрутите се разпространяват в интернет.
Примерен процес:
- AS100 притежава IP блок
203.0.113.0/24
. - AS100 установява BGP peering с AS200.
- AS100 изпраща BGP update до AS200: „Мрежата
203.0.113.0/24
е достъпна чрез мен“. - AS200, ако реши да приеме този маршрут, може да го обяви на своите собствени BGP партньори (например AS300).
- Така маршрутът се разпространява в интернет.
Филтриране и контрол на рекламираните префикси
За да избегнеш неоторизирано рекламиране на маршрути (BGP hijacking), се използват:
- Route filters – филтрират кои префикси да се рекламират или приемат.
- Prefix-lists – списъци, които контролират кой префикс се рекламира или приема.
- AS-path filters – ограничават кои маршрути от кои автономни системи могат да бъдат приети.
- IP префиксите са групи от IP адреси, които се рекламират чрез BGP.
- Рекламирането на маршрути е начинът, по който AS комуникират и обявяват достъпни мрежи.
- Филтрирането на маршрути е важно за сигурността и контрола върху мрежовия трафик.
- BGP избира най-добрия маршрут според различни критерии, като AS Path, Local Preference и MED.