Border Gateway Protocol (BGP) II

Z MilataWiki

Přejít na: navigace, hledání

Materiál se zabývá konfigurací BGP atributů a jejich vlivem na proces směrování právě nad tímto protokolem.

Materiály ke studiu problematiky použití BGP atributů

Co je dobré vědět o atributech protokolu BGP

  • Význam atributů Weight, Local preference, MED (Multi-Exit discriminator)
  • Pořadí uplatnění jednotlivých atributů (jejich priorita podle které se rozhoduje)
  • Směr jejich uplatnění (v rámci AS, mimo AS)


Obsah


Příkladová topologie

Topologie sítě source in Dia
Topologie sítě source in Dia

Konfigurační příkazy

Uvedené konfigurační příkazy slouží ke konfiguraci směrovačů vyráběných společností Cisco. Na jiných platformách se může konfigurace, vzhledem ke schopnostem daného vybavení, výrazně lišit[1].

Pozn.: Pozor na defaultní nastavení Bandwith na interface typu Serial na platformě 290x -> ovlivňuje metriku ospf -> výpočet MED u BGP a v případě zapojení takovéhoto směrovače v roli ASBR, spolu s 3 routery řady 280x, způsobuje nesymetričnost jinak symetrické topologie !!!

Konfigurace směrovače

Prvním krokem konfigurace bude realizace základního směrováni v rámci autonomního systému, které bude realizováno pomocí protokolu OSPF. OSPF bude distribuovat směrovací informaci o spojovacích sítích a adresách přiřazených na loopback rozhraní, které do směrovacího protokolu BGP nebudeme propagovat. Ve druhém kroku bude provedena konfigurace základního směrování mezi autonomními systémy pomocí protokolu BGP bez konfigurace dodatečných politik směrování. Poslední třetí část úlohy popíše použití a konfiguraci dvou základních atributů (Local preference, MED). Pomocí nich bude realizována politika směrování mezi autonomními systémy nad protokolem BGP.

Základní konfigurace směrovačů

Prvním krokem je provedení základní konfigurace síťových prvků nad sestavenou topologií. V jednotlivých krocích by měly být prvkům přiřazena unikátní jména hostname, pro snadnější orientaci ve výpisech CDP sousedů, konfigurace IP adres na jednotlivá rozhraní a jejich uvedení do aktivního stavu.

(config)# hostname <name>
(config)# interface <typ> <num>
(config-if)# ip address <IP> <mask>
(config-if)# clockrate <clock>
(config-if)# no shutdown

Poznámka: clockrate se nastavuje pouze v případě, že se jedná o sériové rozhraní.

Následující krok zahrnuje konfiguraci směrovacího protokolu OSPF pro šíření informace o spojových linkách a loopback rozhraních. V rámci ní na každém směrovači bude nastartován jeden proces OSPF, který do sítí, jenž má propagovat, zahrne právě přímo připojené spojovací linky a adresy na loopback rozhraních. Všechny konfigurované sítě budou spadat do OSPF oblasti 0, tedy páteřní oblasti[2].

(config)# router ospf 1
(config-router)# network <IP_net> <wildcard> area 0
(config-router)# passive-interface <type> <num>
(config-router)# default-information originate always

Pro účely ověření funkčnosti konfigurace a základního směrování pomocí protokolu OSPF, může být využito některého z následujících příkazů

# ping <IP_address> source <IP_address>
# show cdp neighbors
# show ip interface brief
# show ip route
# show ip ospf neighbor

Poznámka: významy jednotlivých příkazů již byly diskutována dříve v rámci předchozích cvičení. Zde jsou jen uvedeny jako možný nástroj pro ověření funkčnosti provedené konfigurace. Předpokládá se, že se uživatel v poskytnutém výpisu dokáže zorientovat.

Základní konfigurace protokolu BGP

Cílem následujících odstavců není uživatele seznamovat se základní konfigurací[3], ale definovat co vše má být v konfiguraci BGP zahrnuto. Na rozdíl od předchozího cvičení, které se této problematice věnovalo, zde nebudou BGP vazby mezi jednotlivými směrovači navazovány na jejich fyzická rozhraní, ale bude k tomu využito loopback rozhraní. V příkazu, který zajišťuje formování sousedského vztahu mezi směrovači, tak bude použita adresa loopback rozhraní na místo fyzického. Konfigurace se navíc rozroste o zadání příkazu update-source ...', který zajistí, že jako zdrojová adresa v odchozích paketech BGP spojení bude rovněž použita adresa lokálního loopback rozhraní.

Při formování sousedských vztahů rovněž stojí za připomenutí nutnost vytvořit plné logické propojení mezi směrovači v rámci jednoho autonomního systému. Pokud by tomu tak nebylo, směrovací informace by se správně nedistribuovala.

Rovněž bude nezbytné při formování sousedských vztahů pomocí loopback rozhraní mezi sousedy v různých autonomních systémech do jejich konfigurace zahrnout direktivu ebgp-multihop následovanou počtem směrovačů, které loopback rozhraní oddělují.

Protokolem BGP budou propagovány pouze sítě realizované na nákresu ethernet linkami. Informace o nich tak bude v rámci BGP protokolu distribuována nejen mezi autonomními systémy, ale také v rámci nich. Protokol OSPF informaci o nich totiž nešíří.

(config)# router bgp <as_num>
(config-router)# network <ip_net> [mask <net_mask>]
(config-router)# neighbor <ip_nei_router> remote-as <as_num>
(config-router)# neighbor <ip_nei_router> update-source loopback <num>

Protože i po provedení této konfigurace se hodí ověřit její funkčnost, jsou níže připomenuty některé příkazu, které mohou být k tomuto účelu použity

# show ip route
# show ip bgp neighbor
# show ip bgp

Použití BGP atributů pro ovlivnění výchozího stavu směrování

Kapitola se zabývá detailnějším popisem konfigurace a okrajově i významem dvou atributů protokolu BGP a to konkrétně atributu Local preference a MED.

Atribut Local preference

Význam tohoto atributu spočívá ve schopnosti ovlivňovat chování směrování v rámci autonomního systému, kde je cesta pro směrování provozu sítí, které jsou atributem local preference zasaženy, volena na základně jeho hodnoty. V případě Local preference platí, že čím vyšší je jeho hodnota, tím více je cesta preferována. Samotný atribut je pak distribuován je v rámci jednoho autonomního sytému, jehož hranici jeho propagace nepřekračuje.

Z výše uvedeného popisu atributu vyplývá, že jeho nastavení má význam pouze pro cesty, které jsou do lokálního AS propagovány z jiných autonomních systému. Při vstupu směrovací informace o nich na hraničním směrovači mezi dvěma AS je potřeba nastavit jeho hodnotu tak, aby odpovídala stanoveným záměrům (vysokou hodnotu pro preferenci cesty a naopak nízkou hodnotu pro její znevýhodnění).

Samotná konfigurace se skládá ze tří kroků. V prvním kroku vytvoříme access list, který nám definuje směrovací informaci, jenž má být nastavením atributu zasažena. Pro tento účel nám bude postačovat jednoduchý access list, v němž jako povolenou (permit) síť vybereme tu, pro kterou chceme atribut nastavit. Druhý krok pak zahrnuje samotné provedení nastavení jeho hodnoty. Toto je realizováno pomocí route map, která opět jako svůj permit řádek, bude obsahovat direktivu match s vazbou na dříve vytvořený access list a direktivu set, které nastavení local preference realizuje. Druhý, rovněž permit řádek téže route map definuje jak zacházet s ostatním provozem. Protože zbylý provoz dále nechceme rozlišovat, řádek route map zůstane prázdný. Ve třetím kroku je potřeba vytvořenou route map přiřadit ve vstupním směru k sousedovi, od kterého informaci přijímáme. Celá konfigurace je uvedená níže.

(config)# access-list 1 permit <IP address> <wildcard mask>
(config)# route-map <name> permit 10
(config-route-map)# match ip address 1
(config-route-map)# set local-preference <num>
(config)# route-map <name> permit 20
(config-router)# neighbor <ip_nei_router> route-map <name> in

Po provedení konfigurace je vhodné urychlit proces konvergence pomocí příkazu

# clear ip bgp *

Pomocí následujících příkazů by měl být efekt konfigurace jednoznačně patrný

# show ip bgp
# show ip route

Atribut MED (Multi-Exit Discriminator)

Způsob konfigurace atributu MED se od konfigurace lacal preference příliš neliší. Zásadní rozdíl, ale spočívá v tom, že MED neovlivňuje směrování v rámci autonomního systému, ale snaží se ovlivnit cesty, jimiž má být provoz do AS směrován. Pokouší se tedy ovlivnit chování okolních autonomních systémů. Také platí, že menší hodnota MED je vždy lepší.

První krok jeho konfigurace, výběr sítě, jenž má být MED ovlivněna, je proveden stejným způsobem pomocí jednoduchého access listu. Druhý krok, vytváření route map se již liší v řádku match, který tentokrát neponese slovo local-preference, ale metric, které MED reprezentuje. Poslední krok konfigurace, spojení s BGP sousedem, se rovněž malinko liší. Tentokrát změna spočívá v směru uplatnění route map.

(config)# access-list 2 permit <IP address> <wildcard mask>
(config)# route-map <name> permit 10
(config-route-map)# match ip address 2
(config-route-map)# set metric <num>
(config)# route-map <name> permit 20
(config-router)# neighbor <ip_nei_router> route-map <name> out

I zde po provedení konfigurace je vhodné urychlit proces konvergence, případně zkontrolovat výsledek

# clear ip bgp *
# show ip bgp
# show ip route


Sumarizace BGP

Sumarizace v protokolu BGP lze provést několika způsoby, z nichž jeden je použití následujícího příkazu na hraničních směrovačích.

(config)# router bgp <as_num>
(config-router)# aggregate-address <sum_addr> <sum_mask> summary-only


Poznámky autora

  1. Uvedené příkazy slouží jen jako návodný text. Jejich syntaxe se může v závislosti na použité platformě lišit.
  2. Komplexnější návod na provedení konfigurace směrovacího protokolu OSPF je k dispozici v kapitole Směrovací protokol OSPF (Open Shortest Path First)
  3. Základní konfigurace protokolu BGP byla probrána v rámci prvního cvičení, které se BGP věnovalo. Pro případné objasnění konfiguračních příkazu základní konfigurace je možno navštívit stránku Border Gateway Protocol (BGP) I.

Odkazy

Souhrn topologií a konfiguračních příkazů konfigurace Border Gateway Protocol (BGP) II

Osobní nástroje
výuka