Články
Cisco Routing 5 - BGP - Border Gateway Protocol
Pátý díl o routování se zaměřením na konfigurace Cisco zařízení se věnuje routovacímu protokolu, který je určený pro routování mezi AS a používá se pro celý internet, jedná se o Border Gateway Protocol (BGP).
Celý tento seriál o routingu vznikl, když jsem se připravoval na Cisco test 642-901 BSCI, jako moje poznámky. Následně jsem provedl pouze jednoduchou úpravu a text publikoval. Pokud myslíte, že něco podstatného chybí, něco není správně popsáno nebo není úplně jasné, tak uvítám vaše informace v komentářích.
Vlastnosti BGP
- současná BGP verze 4 je definována v RFC 4271
- používá se pro routování mezi AS (mezi IGP jako je OSPF)
- posílají se periodické keepalive (60s) pro ověření konektivity
- každé dva routery, které mají navázané TCP BGP spojení (tedy spolehlivé), se nazývají sousedi (neighbors) nebo peers
- každý router s BGP se nazývá BGP speaker
- updaty se posílají pomocí
TCP port 179(jako jediný používá TCP, RIP je UDP 520, OSPF vůbec nepoužívá Layer 3), takže musí existovat TCP spojení mezi routery, aby mohli být sousedy - v updatech se zasílá Network Layer Reachability Information (NLRI) - cílový prefix, délka, cesta, next hop
- routovací tabulka může obsahovat více jak 100 000 záznamů, díky tomu je internet decentralizovaný systém
- podporuje CIDR/VLSM a route aggregation
- nepoužívá tradiční metriky, ale rozhoduje se podle cesty, politik a pravidel
- EBGP - External BGP - mezi routery z různých AS
- IBGP - Internal BGP - v rámci stejného AS
- stabilní iBGP - není závislá na stavu interface (použije se loopback - nikdy nejde dolu) - vytváří se vztah (peer) mezi loopbacky na routerech, nezávisí na fyzické topologii, nemusí být přímo propojený, ale musí být full-mesh
- routery na hranicích AS se nazývají border nebo edge
- statické routy se mohou použít k navázání sousedství v EBGP
- routy naučené z IBGP se neposílají ostatním IBGP sousedům -> aby se naučili všechny routy, tak musí být propojeny do full-mesh, ale mesh nemusí být fyzický, ale logický (všichni spolu musí přímo komunikovat po IP)
- EBGP multi-hop není defaultně povoleno, takže EBGP peer musí být přímo spojený, aby se navázalo sousedství s lokálním routerem
- Route Reflector - tento router propaguje routy naučené z IBGP (ale i z EBGP jako každý jiný IBGP router) do ostatních IBGP, snižuje množství potřebných BGP sousedů v AS (není třeba full mesh) - mají sousedství pouze s reflektorem a ne každý s každým
- Confederation - druhá metoda, jak obejít full-mesh, AS se rozdělí na menší lépe upravovatelné podskupiny
- Peer group - sousedé se stejnou update policy (dědí ji, ale mohou i přepsat) se mohou seskupovat pro zjednodušení konfigurace a efektivnější výpočty, jméno skupiny je lokální
- Synchronizace - pokud je zapnutá, prefix naučený z IBGP je platný, pouze pokud existuje non-BGP (IGP) routa pro tento prefix, jinak řečeno, router nepoužívá a nezveřejňuje routu, která je naučená z IBGP, pokud není lokální nebo nepochází z IGP, může být vypnutá, pokud všechny routery v AS používají full-mesh IBGP
Stavy routeru v BGP - z pohledu komunikace
- Idle - odmítá spojení, připravuje se na vysílání, přejde do Connect, nastavuje se ručně nebo sem padá po chybě
- Connect - vytváří spojení se sousedem, odešle BGP OPEN, přejde do OpenSent
- Active - přišlo spojení od souseda (BGP OPEN) , přejde do OpenSent
- OpenSent - čeká na OPEN od souseda, tu analyzuje určuje jestli patří do stejné AS a jestli je validní, po přijetí odešle KEEPALIVE
- OpenConfirm - čeká na KEEPALIVE od souseda
- Established - bylo vytvořeno obousměrné spojení, začne posílat UPDATE a KEEPALIVE

Tabulky v BGP
- atribute (atributy) - hodnoty jednotlivých atributů (viz další kapitola)
- topology (topologie) - spojuje routy a atributy
BGP atributy
- Weight (váha) - povinný atribut, který je lokální (neposílá se sousedům), vyšší váha znamená vyšší preferenci cesty, Cisco proprietální, řeší různé cesty do stejného cíle
- AS_Path - (well-known mandatory) série AS čísel přes které vede routa k cíli, každý router doplní na začátek svoje AS a pošle EBGP sousedovi, slouží k zabránění smyčkám (pokud již je v seznamu, tak cestu odmítne), kratší cesta lepší
- next hop - (mandatory) v IGP (RIP.) a také v EBGP je to IP adresa routeru, který oznámil routu, v IBGP, pokud routa pochází ze stejného AS, je to stejné, pokud je z jiného AS (doručená z EBGP), tak je to adresa EBGP routeru, který oznámil routu
- origin - (mandatory) - IGP < EGP < Incomplete
- local preference - (discretionary) - pro výběr exit cesty z AS, default 100
- atomic aggregate - (discretionary)
- aggregator - (optional transitive)
- communities - (optional transitive) - taggujeme routy - default ne, každá síť je členem jedné nebo více, komunita je skupina cílů se stejnou vlastností
- Multiple Exit Discriminator (MED) - (optional non-transitive) - informuje externí sousedy o preferované cestě do AS, které má více vstupních cest, nižší = lepší, nastavení pomocí route-map a set metric
Pořadí vyhodnocování atributů (best path algorithm)
- větší Weight
- větší Local_pref
- originate - upřednostňujeme lokální cesty, agregované a redistribuované
- kratší AS_path
- nižší MED
- radši EBGP než IBGP
- nejnižší IGP metrika pro next hop // tady se většinou končí
- kontrolujeme, zda musíme použít více cest
- starší cesta
- pochází z nižšího Router ID
- min cluster list length (pro reflector)
- menší sousední adresa
Příkazy Cisco IOSu pro konfiguraci BGP
ROUTER(config)#router bgp 300 // aktivuje BGP, 300 je číslo AS ROUTER(config-router)#neighbor 170.10.20.1 remote-as 1005 //určí sousedy, s kterými se vytvoří spojení, v daném AS ROUTER(config-router)#neighbor 170.10.20.1 next-hop-self // nastaví danou adresu jako next hop ROUTER(config-router)#neighbor 170.10.20.1 send-community // odešle community atributy sousedovi ROUTER(config-router)#neighbor 170.10.20.1 update-source loopback 1 // jako zdrojový interface nastavíme loopback, pro IBGP můžeme chtít, aby spojení stále běželo a nezáleží přes který interface, tak použijeme adresu loopbacku (ten nikdy nejde down) ROUTER(config-router)#neighbor 170.10.20.1 route-reflector-client // nastaví, že tento router je reflector, a určí jeho klienta ROUTER(config-router)#no synchronization // vypne synchronizaci ROUTER(config-router)#bgp always-compare-med // donutí router porovnávat metriky cest z jiných AS ROUTER#clear ip bgp * // vymaže BGP tabulky a session, * znamená všechny, jinak se zadá IP
Zařazení prefix do routovacího procesu
ROUTER(config-router)#redistribute static // vloží prefixy statických route, zahrne je do BGP ROUTER(config-router)#network 164.67.36.0 mask 255.255.255.0 // které lokálně naučené sítě (musí existovat v routovací tabulce) má zveřejnit
Sumarizace adres v BGP
ROUTER(config-router)#aggregate-address 200.52.0.0 255.255.0.0 summary-only // vloží do routovací tabulky sumární routu, pokud se nepoužije summary-only, tak se zveřejňují i ty podsítě, z kterých se sumarizace vytvořila ROUTER(config)#ip route 198.10.0.0 255.255.0.0 null0 // pouze kvůli sumarizaci, opatrně, pokud by neexistovaly přesnější routy, tak se použije tato ROUTER(config-router)#redistribute static // druhá možnost agregace ROUTER(config-router)#network 198.10.0.0 mask 255.255.255.0 // třetí možnost agregace (také dohromady s ip route) ROUTER(config-router)#no auto-summary // poslední možnost by byla autosumarizace na classful, ale tu je třeba skoro vždy vypnout
Route filtering pomocí prefix-listu
ROUTER(config)#ip prefix-list test deny 0.0.0.0/0 // zakáže defaultní routu 0.0.0.0 ROUTER(config)#ip prefix-list abc permit 192.0.0.0/8 ge 8 le 24 // bere všechny prefixy > /8 a </24 ROUTER(config-router)#neighbor 170.10.20.1 prefix-list test in // aplikace filtrování na soused (příchozí nebo odchozí pakety)
Show příkazy - kontrola konfigurace
ROUTER#show ip bgp // zobrazí routy, nejlepší je označena > ROUTER#show ip bgp summary // souhrn všech spojení (seznam BGP sousedů) ROUTER#show ip bgp path // všechny cesty v DB ROUTER#show bgp neighbor // sousedi i s infem o reflectoru ROUTER#show ip prefix-list // zobrazí prefix list
zobrazeno: 4470krát | Komentáře [1]
Související články:
Routing - směrování
Směrování paketů mezi jednotlivými počítačovými sítěmi (LAN) se provádí technikou zvanou routing. Používají se k tomu různé routovací protokoly. Routing je jedna ze základních částí komunikace v internetu.
- TCP/IP - Routing - směrování [21.09.2007 15:34]
- Cisco IOS 18 - inter-VLAN routing a ACL - směrování mezi VLANy [24.12.2008 11:50]
- Cisco Routing 1 - obecné vlastnosti směrovacích protokolů [20.03.2009 14:43]
- Cisco Routing 2 - EIGRP - Enhanced Interior Gateway Routing Protocol [29.03.2009 19:04]
- Cisco Routing 3 - OSPF - Open Shortest Path First [03.04.2009 10:54]
- Cisco Routing 4 - IS-IS - Intermediate System to Intermediate System [09.04.2009 08:48]
- Cisco Routing 5 - BGP - Border Gateway Protocol [18.04.2009 13:50] právě čtete
- Cisco Routing 6 - srovnání routovacích protokolů [28.04.2009 16:27]
Cisco IOS
Velký seriál o operačním systému aktivních prvků firmy Cisco.
- Cisco IOS 1 - úvod, příkaz show [08.03.2007 13:00]
- Cisco IOS 2 - verze, upgrade a záloha IOSu [16.03.2007 14:28]
- Cisco IOS 3 - nastavení interface/portu - access, trunk, port security [09.04.2007 11:09]
- Cisco IOS 4 - reset, password recovery [25.04.2007 17:34]
- Cisco IOS 5 - komunikace se switchem [16.05.2007 16:15]
- Cisco IOS 6 - úvodní konfigurace switche [08.06.2007 17:31]
- Cisco IOS 7 - konfigurace VLAN, VTP [18.06.2007 14:12]
- Cisco IOS 8 - ACL - Access Control List [10.08.2007 15:40]
- Cisco IOS 9 - Spanning Tree Protocol [20.08.2007 17:55]
- Cisco IOS 10 - Rapid Spanning Tree Protocol [01.09.2007 14:11]
- Cisco IOS 11 - IEEE 802.1x, autentizace k portu, MS IAS [10.10.2007 14:38]
- Cisco IOS 12 - IEEE 802.1x a pokročilejší funkce [24.10.2007 16:42]
- Cisco IOS 13 - DHCP služby na switchi [06.01.2008 11:24]
- Cisco IOS 14 - tipy pro běžnou práci [29.02.2008 08:15]
- Cisco IOS 15 - zálohy a obnovy konfigurace a obrazů [13.03.2008 09:43]
- Cisco IOS 16 - HSRP - Hot Standby Routing Protocol [27.05.2008 16:05]
- Cisco IOS 17 - více switchů jako Stack - technologie StackWise [29.07.2008 20:27]
- Cisco IOS 18 - inter-VLAN routing a ACL - směrování mezi VLANy [24.12.2008 11:50]
- Cisco QoS 1 - úvod do Quality of Service a DiffServ [18.01.2009 13:31]
- Cisco QoS 2 - Classification and Marking, Modular QoS CLI [26.01.2009 17:21]
- Cisco QoS 3 - omezování rychlosti - Policing, Shaping [01.02.2009 12:20]
- Cisco QoS 4 - garance rychlosti - řazení do front - Queuing [08.02.2009 13:13]
- Cisco QoS 5 - QoS na switchi, MLS, SRR, Auto QoS [14.02.2009 14:55]
- Cisco QoS 6 - praktické příklady použití QoSu [28.02.2009 16:33]
- TCP/IP - Internet Protocol Version 6 - IPv6 [05.03.2009 15:41]
- TCP/IP - skupinové vysílání IP Multicast a Cisco [10.03.2009 20:05]
- Cisco Routing 1 - obecné vlastnosti směrovacích protokolů [20.03.2009 14:43]
- Cisco Routing 2 - EIGRP - Enhanced Interior Gateway Routing Protocol [29.03.2009 19:04]
- Cisco Routing 3 - OSPF - Open Shortest Path First [03.04.2009 10:54]
- Cisco Routing 4 - IS-IS - Intermediate System to Intermediate System [09.04.2009 08:48]
- Cisco IOS 19 - Private VLAN a Protected Port [20.05.2009 18:41]
- Cisco Routing 5 - BGP - Border Gateway Protocol [18.04.2009 13:50] právě čtete
- Cisco Routing 6 - srovnání routovacích protokolů [28.04.2009 16:27]
- Cisco IOS 20 - VLAN access-map - VLAN map - VACL [29.05.2009 15:05]
- Cisco IOS 21 - EtherChannel, Link Agregation, PAgP, LACP, NIC Teaming [08.06.2009 09:41]
- Běžné útoky na switche, Cisco Dynamic ARP Inspection [18.06.2009 10:15]
- Cisco - Router Switching metody a související termíny - CAM, FIB, CEF [28.06.2009 17:15]
- Cisco IOS 22 - monitoring/kontrola/zrcadlení provozu - SPAN a RSPAN [15.07.2009 11:52]
- Cisco IOS 23 - Autentizace uživatele na switchi vůči Active Directory [15.09.2009 17:09]
- Cisco QoS 7 - doplňující informace [05.11.2009 09:31]
Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:
linkuj.cz | jagg.cz | vybrali.sme.sk | del.icio.us.
linkuj.cz | jagg.cz | vybrali.sme.sk | del.icio.us.
Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře
Predevsim diky za clanky, v cestine jich je opravdu malo.
Jen drobnost: ve vyberu cesty podle me chybi bod 5. origin.
Prefer the path with the lowest origin type.
Note: IGP is lower than Exterior Gateway Protocol (EGP), and EGP is lower than INCOMPLETE.
www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094431.shtml