BGP Border Gateway Protocol

Border Gateway Protocol BGP

    Path Vektor protokol ktorý umožňuje smerovanie medzi viacerými autonómnymi systémami alebo doménami a poskytuje informácie o smerovaní a dostupnosti ostatným BGP systémom.
    BGP bol vyvinutý aby nahradil svojho predchodcu EGP (Exterior Gateway Protocol) ako efektívnejší štandard v medzidoménovom smerovaní v celosvetovej sieti Internet. Chrbticové smerovače (core router) môžu použiť BGP na smerovanie prevádzky medzi autonómnymi systémami.
   
    BGP umožňuje 3 druhy smerovania:

Smerovanie medzi autonómnymi systémami – Nastane medzi dvoma alebo viacerými BGP smerovačmi v samostatných systémoch. Seberovné smerovače používajú BGP na získanie informácií o topológii siete. BGP susedia zabezpečujúci komunikáciu medzi autonómnymi systémami musia byť pripojení na tú istú fyzickú sieť. Tento typ smerovania sa používa napr. v sieti Internet, ktorá pozostáva z viacerých samostatných systémov a administratívnych domén. Cieľom je nájsť optimálnu smerovaciu cestu v rámci Internetu.

Smerovanie v rámci samostatného systému – Nastane medzi dvoma alebo viacerými BGP smerovačmi v rámci toho istého systému. Dané smerovače používajú BGP na získanie úplnej informácie o topológii siete. BGP sa používa na určenie, ktorý smerovač bude slúžiť ako "spájací bod" (connection point) pre externý systém.

Smerovanie cez samostatný systém – Nastane medzi dvoma alebo viacerými rovnocennými BGP smerovačmi, ktoré komunikujú cez samostatný systém, ktorý nepoužíva BGP. V danom systéme nevzniká žiadna BGP komunikácia a ani nie je smerovaná do niektorého z uzlov daného autonómneho systému. BGP musí spolupracovať s ľubovoľným protokolom použitým v danom systéme a úspešne preniesť všetky BGP dáta cez daný systém.

Ako každý smerovací protokol, tak aj BGP si uchováva svoje smerovacie tabuľky, pravidelne ich aktualizuje a určuje smerovanie na základe smerovacích požiadaviek. Základnou funkciou BGP systému je vymieňať si informácie o dostupnosti jednotlivých uzlov, vrátane zoznamu systémových ciest s ostatnými BGP systémami. Z týchto informácií možno zostrojiť graf prepojení systému, z ktorého možno odstrániť uzavreté slučky. Každý BGP smerovač obdrží smerovaciu tabuľku všetkých možných ciest do príslušnej siete. Avšak smerovač túto tabuľku neobnoví, namiesto toho si ju zapamätá, až kým nedostane pokyn na jej obnovenie.

BGP zariadenia si vymieňajú smerovacie informácie na začiatku výmeny dát. Keď je smerovač po prvýkrát pripojený do siete, BGP smerovače si vymenia svoje celé BGP smerovacie tabuľky. Podobne, keď sa smerovacia tabuľka zmení, smerovač pošle len tú časť svojej tabuľky, ktorá sa zmenila. BGP smerovače pravidelne neposielajú naplánované obnovenia smerovaní, tieto obnovenia oznamujú iba optimálnu cestu do siete.

Posiela plny update pri nadviazani spojenia
Po inicializacii posiela len incremental alebo triggered update
Pouziva susedov posielanim Hello packetov (60 sec), ak nepreju 3 potom je sused vyhlaseny za mrtveho; na Hello pouziva TCP port 179
Ma komplexnu metriku nazyvanu attibutes
BGP používa jednoduchý systém na určenie najlepšej cesty do danej siete. Tento systém spočíva v priradení ľubovoľného čísla ku každej ceste, ktorá potom určuje jej prioritu. Hodnotu priority určuje sieťový administrátor na základe rozličných kritérií (stabilita, rýchlosť, oneskorenie, cena…).

- vytvara interdomain routing medzi AS
- cisla AS 64512-65535
- BGP router moze propagovet len routy ktore sam pouziva
- Pouziva TCP 179
Kedy pouzit BGP
- AS umoznuje tranzitovat packet cez oblast na dosiahnutie ineho AS.
- AS ma viacero spojeni do ineho AS
- Musi byt presne riadenie prevadzky z a do AS
Kedy nepouzit BGP
- Ak je jedine pripojenie do internetu resp. ineho AS
- Malo pamate, resp. slaby procesor na zvladanie BGP update
- Slabe znalosti o route filtering a BGP path-selection
- Slaby bandwidth medzi AS
BGP informacie
- BGP tabulka
- BGP tabulka topologie
- BGP routovacia tabulka
- BGP databaza topologie
- BGP forwarding databaza
- IP routovacia tabulka
BGP spravy
- Open prva sprava op vytvoreni TCP spojenia
- Keepalive potvrdi Open
- Update
- Notification ako odozva na chybu alebo specialne podmenky
BGP neighbor stavy
- Idle
- Connect
- Active
- Open sent
- Open confirm
- Estabilished
BGP atributy
- Well-known mandatory
- AS-path zoznam cisel AS cez ktore route prechadza (ciel-zaciatok) iba EBGP
- Next-hop IP adresa v nasledujucom AS pre EBGP. IBGP pouzije next-hop z EBGP
- Origin 3 hodnoty IGP, BGP, Incomplete
- Well-known discretionary
- Local preference oznacuje preferovany route do inej AS iba v IBGP
- Atomic aggregate
- Optional transitive
- Agregator
- Community na filtrovanie vstupnych a vystupnych update routov
- Optional nontransitive
- Multiexit-discriminator (MED) indikuje externym susedom najlepsiu cestu do AS. Porovnava sa ak ide o vstup do tej istej AS. Ak nie a je to pozadovane potom prikaz bgp always-compare-med
- Weight attributy (len Cisco) pre vyber cesty definovany lokalne cim vyssia tym lepsia (0-65535) pouziva sa ak mame viac vystupnych bodov mimo AS
BGP operacie
- Split-horizont a Full Mesh v IBGP
- Split horizont routy naucene od IBGP sa nepropaguju inym IBGP peer
- IBGP vyzaduje full mesh topologiu
- Synchronizacia BGP nepropaguje naucene IGP resp.lokalne routy do externych neighbor pokial sa ich nenaucia vsetky interne routre
- Vyber cesty
BGP vyber najlepsieho route
1. Najvyssia weight
2. Ak je weight rovnaka potom najvyssia lokalna preferencia
3. Ak su rovnake preferencie potom v prvom rade route vzniknute v routry (next-hop v BGP tabulke 0.0.0.0)
4. Ak nieje lokalny route potom najkratsia AS-path
5. Ak su rovnake potom najnizsi origin code (IGP 6. Ak su rovnake potom najnizsi MED
7. Ak su rovnake potom je uprednostnene EBGP pred IBGP
8. Ak je vypnuta sinchronizacia a zostali len interne cesty vyberie cestu cez najblizsieho IGP suseda
9. Pre EBGP cety vyberie najstarsiu cestu
10. Preferuje routy ces suseda s najnizsim BGP router-ID
11. Ak su rovnake potom najnizsia IP
BGP vybera len 1 cestu. Ak existuje viac paralelnych ciest do toho isteho externeho AS do IP routovacej tabulky sa dostanu:
Router(config-router)# maximum-path pocet
V BGP tabulke sa vsak nachadza iba jedna (oznacena >), ktora je propagovana do neighbor

Príklad konfigurácie:
interface Loopback0
ip address 192.168.1.10 255.255.255.255
!
interface Ethernet0
description * External Network *
ip address 192.200.200.1 255.255.255.192
!
interface Ethernet1
ip address 172.16.1.3 255.255.255.0
!
interface Serial1
description * to ISP-A *
ip address 192.100.100.253 255.255.255.252
...
router bgp 100
no synchronization
network 192.200.200.0 mask 255.255.255.192
network 30.0.0.0
redistribute static
neighbor 192.100.100.254 remote-as 192
!
ip classless
ip route 160.160.1.0 255.255.255.0 Ethernet1
ip route 192.168.3.0 255.255.255.0 Ethernet1