RFC 4271: BGP-4 – Jazyk internetu pre budúcich CCNP-ov
Border Gateway Protocol (BGP) je základným kameňom globálneho internetu. Bez BGP by smerovanie medzi autonómnymi systémami (AS) nebolo možné. V článku sa podrobne pozrieme na RFC 4271, ktoré definuje štvrtú verziu BGP – BGP-4. Rozoberieme jeho architektúru, atribúty trás, best-path výber a praktickú konfiguráciu na Cisco zariadeniach v štýle CCNP.
Čo je BGP a ako funguje?
BGP je path-vector protokol, ktorý funguje na aplikačnej vrstve (Layer 7) a používa TCP port 179. Na rozdiel od OSPF alebo EIGRP neobjavuje susedov automaticky, ale vyžaduje manuálne nastavený peering.
- eBGP – medzi dvoma rôznymi AS (napr. ISP a zákazník)
- iBGP – v rámci toho istého AS (napr. medzi smerovačmi vo veľkej firme)
BGP si medzi sebou vymieňa prefixy s atribútmi, ktoré opisujú cestu, spoľahlivosť, politiku atď. Tieto informácie sa používajú na výber „najlepšej“ cesty.
Peering a výmena informácií
Susedia v BGP sa nazývajú „peers“ alebo „neighbory“. Pri naviazaní spojenia prebehne:
- TCP spojenie na port 179
- Výmena OPEN správ (oznámenie verzie, AS čísla atď.)
- Potvrdenie KEEPALIVE správami
- Pravidelná výmena UPDATE správ (nové alebo odstránené trasy)
Príklad konfigurácie eBGP na Cisco:
router bgp 65001
neighbor 203.0.113.1 remote-as 65002
network 192.168.1.0 mask 255.255.255.0
Atribúty trás v BGP
BGP nepoužíva metriky ako OSPF. Namiesto toho každá trasa má atribúty, ktoré slúžia na rozhodovanie:
- AS_PATH – zoznam AS, cez ktoré prefix prešiel (dôležité pre loop prevention)
- LOCAL_PREF – preferencia v rámci AS (vyššia = lepšia)
- MED (Metric) – návrh preferencie pre susedné AS (nižšia = lepšia)
- ORIGIN – spôsob, akým bola trasa vložená (IGP, EGP, unknown)
- NEXT_HOP – IP adresa susedného smerovača
Best-path algoritmus
BGP vždy vyberie jednu „najlepšiu“ cestu do cieľa. Kritériá (v tomto poradí):
- Najvyšší LOCAL_PREF
- Najkratší AS_PATH
- Najnižší ORIGIN (IGP < EGP < unknown)
- Najnižší MED
- eBGP je preferované pred iBGP
- Najnižší IGP cost na next-hop
Ak aj po tomto existuje viac ciest, rozhoduje sa podľa Router ID alebo náhodne (tie-breaker).
BGP v laboch – route-policy a filtering
V praxi nestačí len prijímať prefixy – treba ich filtrovať a upravovať:
route-map PREPEND permit 10
set as-path prepend 65001 65001 65001
ip prefix-list MY-NET seq 5 permit 192.168.1.0/24
router bgp 65001
neighbor 203.0.113.1 route-map PREPEND out
neighbor 203.0.113.1 prefix-list MY-NET out
Route-map umožňuje meniť atribúty (napr. AS_PATH), zatiaľ čo prefix-list obmedzuje, aké prefixy posielame alebo prijímame.
Bezpečnosť BGP – ochrana proti hijackingu
Vzhľadom na dôležitosť BGP sú útoky ako BGP hijacking reálnym rizikom. Na ochranu používame:
- Password autentifikáciu pomocou TCP MD5
- Prefix filtering – povoliť len očakávané prefixy
- Max-prefix limit – obmedziť počet prefixov od suseda
neighbor 203.0.113.1 password CISCO123
neighbor 203.0.113.1 maximum-prefix 100
FAQ – často kladené otázky
- Funguje BGP automaticky ako OSPF?
Nie, peeringy sa musia nakonfigurovať ručne.
- Môžem použiť BGP v malej sieti?
Áno, najmä ak máš viac ISP alebo potrebuješ pokročilé policy.
- Čo sa stane, keď zlyhá peer?
BGP ukončí TCP session a odstráni súvisiace prefixy z tabuľky.
- Je BGP rýchly pri konvergencii?
Nie, BGP je optimalizovaný pre stabilitu, nie pre rýchlosť.
- Koľko prefixov má celý internet?
V roku 2024 je to vyše 1 000 000 IPv4 a 200 000 IPv6 prefixov.
Top 5 zaujímavých faktov o BGP-4
- BGP beží cez TCP – spoľahlivosť prenosu je zabezpečená transportnou vrstvou.
- BGP nikdy neposiela celú tabuľku po každej zmene – len UPDATE.
- BGP prefixy môžu mať stovky AS_PATH vstupov – dá sa z toho zistiť topológia internetu.
- Existujú BGP communities – značky pre politiky, napr. „nezverejňuj ďalej“.
- iBGP peerovanie vyžaduje plnú meshovú topológiu alebo route-reflectory.
Záver
RFC 4271 a BGP-4 predstavujú základ komunikácie medzi AS v dnešnom internete. Porozumenie atribútom, výberu najlepšej cesty, filtrovaniu a bezpečnosti je kľúčové pre každého budúceho CCNP alebo CCIE. A najlepší spôsob, ako sa to naučiť? Precvičiť si každý aspekt v našich Cisco laboch.
Ako začať programovať?
Úvod do programovania pre každého bez prechádzajúcich znalostí.
Stiahnite si náš ebook teraz výnimočne zdarma!!!
Viac informacií preberáme na kurze:
Kurz NA0 - Administrácia LAN/WAN a návrh TCP/IP sietí - základné koncepty
Marián Knězek
Súvisiace články: