You are on page 1of 7

Konfigurowanie protokou BGP w ruterach Cisco

1. Wprowadzenie

Internet tworz poczone ze sob sieci IP. Centralne zarzdzanie sieci komputerow
o globalnym rozmiarze jest technicznie niemoliwe, a ponadto w aspekcie
administracyjnym - niewskazane. Dlatego na najwyszym poziomie sie Internet podzielona
jest na niezalenie zarzdzane, numerowane obszary, z ktrych kady obejmuje wiele sieci IP.
Obszary te nazywa si systemami autonomicznymi (ang. Autonomous System, w skrcie
AS).
Propagacja informacji o trasach odbywa si dwojako. Wewntrz pojedynczego systemu
autonomicznego jego trasy ogasza protok wewntrzny, IGP (ang. Interior Gateway
Protocol), na przykad RIP czy OSPF. W protokoach z tej grupy najwikszy akcent kadzie
si na optymalno trasy, dlatego uywa si w nich rnych metryk technicznych
i algorytmw obliczajcych najkrtsze trasy na bazie tych metryk.
Wymian informacji o trasach pomidzy systemami autonomicznymi zajmuje si protok
zewntrzny, EGP (ang. Exterior Gateway Protocol). Ta grupa protokow zakada, e
o trasie pakietu bdzie decydowa przede wszystkim czowiek. Std najistotniejsze
w mechanizmie wyboru trasy s reguy definiowane przez administratora, a duo
mniejsze znaczenie maj aspekty techniczne. W chwili obecnej w sieci Internet stosowany
jest tylko jeden protok zewntrzny, BGP (ang. Border Gateway Protocol), bdcy
przedmiotem niniejszego wiczenia. Specyfikacja najnowszej wersji protokou (BGPv4)
zawarta jest w dokumentach RFC1771, RFC1772 i RFC1773.


IGP
R1
AS1
R2
IGP
AS2
EGP
(BGP)




Rysunek 1. Zakres stosowania protokow IGP i EGP

Rutery czce rne systemy autonomiczne nazywa si ruterami brzegowymi (ang. border
router) lub ruterami BGP. Na rysunku 1 role ruterw brzegowych peni R1 oraz R2.
1.1 Systemy autonomiczne
Za administrowanie systemem autonomicznym odpowiada jedna instytucja; moe ni by
dostawca usug internetowych (ISP, ang. Internet Service Provider), dua uczelnia czy inna
jednostka. Dla przykadu, w chwili obecnej w Polsce istnieje okoo 60 systemw
autonomicznych.
Ze wzgldu na ich wzajemne zwizki, wyrnia si nastpujce rodzaje systemw
autonomicznych:
single-homed systemy, ktre z reszt sieci Internet czy tylko jeden inny system
autonomiczny;
multi-homed systemy, ktre z reszt sieci Internet cz co najmniej dwa inne systemy
autonomiczne. Wrd nich istniej dwie podgrupy: systemy, ktre przenosz ruch sieciowy
pomidzy innymi systemami (multi-homed transit) i takie, ktre na to nie pozwalaj (multi-
homed non-transit).
Powysze definicje ilustruje rysunek 2.


AS3
Single-homed
AS1
AS2
Multi-homed transit
AS4
Multi-homed transit
Multi-homed non-transit


reszta sieci
Internet






Rysunek 2. Rodzaje systemw autonomicznych

Ponadto, podobnie jak w przypadku sieci IP, istniej publiczne (rejestrowane) i prywatne
(nierejestrowane) systemy autonomiczne. Publiczny system otrzymuje numer z zakresu od 1
do 64511, a dla systemw prywatnych zarezerwowano numery od 64512 do najwikszego,
65535.
1.2 Protok BGP
Protok BGP pozwala systemom autonomicznym wymienia midzy sob informacje
o sieciach IP w globalnym Internecie. cilej rzecz ujmujc, protok w wersji 4 (BGP4)
suy do przesyania prefiksw CIDR. W przypadku idealnym ruter brzegowy mgby
ogasza tylko jeden prefiks, bdcy adresem uoglnionym wszystkich sieci IP jego systemu
autonomicznego.
BGP, jak kady protok wyboru trasy, ustala najlepsze (wedug pewnych
kryteriw) trasy. W przeciwiestwie do protokow wewntrznych, BGP nie stosuje przy
tym metryk technicznych, lecz kilka parametrw administracyjnych, tzw. atrybutw
(atrybuty zostay omwione w kolejnym podpunkcie). O wyborze trasy decyduje wic
czowiek, a nie algorytm.
Jednym z gwnych elementw modelu BGP jest wykorzystanie podejcia nazywanego
po angielsku policy routing. Umoliwia ono wybr trasy w oparciu o parametry inne ni
tylko adres IP odbiorcy. Ponadto, BGP zakada moliwo manipulowania wysyanymi
(odbieranymi) trasami po to, by akceptowa (odrzuca) ruch sieciowy, ktrego rdem
(celem) jest konkretna sie IP. Przykadowo, aby dana sie w systemie autonomicznym A nie
przyjmowaa pakietw od systemu B, ruter brzegowy systemu A nie ogasza tej sieci
systemowi B (tzw. reguy dla ogosze wysyanych), i w drug stron aby nie wysya
pakietw do danej sieci przez system B, ruter systemu A nie przyjmuje ogosze o niej od
ruterw systemu B (tzw. reguy dla ogosze odbieranych).
Z technicznego punktu widzenia, protok BGP naley do kategorii odlego-kierunek
(ang. distance-vector). W warstwie transportowej wykorzystuje protok TCP i port 179. Po
nawizaniu poczenia TCP dwa rutery utrzymuj ze sob sesj BGP (ang. BGP peering
relation).
Istniej dwa rodzaje sesji BGP. Rutery nalece do dwch rnych systemw
autonomicznych nawizuj ze sob sesj zewntrzn, EBGP (ang. external BGP), ktra
suy wymianie informacji pomidzy systemami autonomicznymi. W ramach sesji EBGP dwa
rutery przekazuj sobie nawzajem trasy, ktre dotychczas udao im si pozyska. Nastpnie
kady ruter z osobna, po zastosowaniu policy routing, decyduje, czy i jak wykorzysta te trasy.
W systemie tranzytowym (typu transit) istnieje wiele punktw styku z sieci Internet. Rutery
brzegowe takiego systemu najczciej wspdziel informacje o trasach do sieci w innych
systemach. W tym celu rutery brzegowe wewntrz jednego systemu rwnie nawizuj ze
sob sesje BGP; s to tzw. sesje wewntrzne, IBGP (ang. interior BGP). Aby w trasach nie
powstaway ptle, specyfikacja protokou dodatkowo wymaga, by jeden ruter IBGP nie
przekazywa informacji pozyskanych od drugiego ruera IBGP innym ruterom IBGP. Wobec
tego kady ruter brzegowy danego systemu autonomicznego musi utrzymywa sesj IBGP
z kadym innym ruterem brzegowym tego systemu (ang. IBGP peering mesh). Wspomniane
tu szczegy to waciwie jedyne rnice midzy sesjami EBGP i IBGP. Rodzaj sesji jest
w trakcie jej nawizywania automatycznie wykrywany przez rutery. Wyrnia si nastpujce
stany sesji w automacie protokou BGP: IDLE (ruter rozpoczyna nawizywanie sesji),
CONNECT, ACTIVE, OPEN SENT, OPEN CONFIRM i ESTABLISHED (sesja nawizana).
Zaraz po nawizaniu sesji rutery wymieniaj ze sob cae tablice tras, a pniejsze wymiany
maj charakter przyrostowy. Ponadto, reguy policy routing odczytywane s tylko jeden raz,
natychmiast po nawizaniu sesji. W zwizku z tym wprowadzanie zmian w zbiorze regu
podczas ju istniejcej sesji nie spowoduje adnych zmian w zbiorze regu aby zostay one
zastosowane, naley t sesj wznowi.
1.3 Atrybuty BGP
Jak ju wspomniano, protok BGP nie korzysta przy wyborze najlepszej trasy z metryk
technicznych, lecz stosuje parametry administracyjne, nazywane atrybutami. Atrybuty s
zwizane z konkretn sieci IP i przesyane razem z informacj o niej. Wyrnia si
nastpujce kategorie atrybutw BGP:
well-known mandatory atrybuty, ktre musz by rozpoznawane przez wszystkie
implementacje protokou (well-known) oraz musz towarzyszy kadej ogaszanej trasie
(mandatory);
well-known discretionary atrybuty, ktre s rozpoznawane przez wszystkie
implementacje protokou, ale nie musz by przesyane razem z ogaszan tras
(discretionary);
optional transitive atrybuty, ktre nie musz by rozpoznawane przez implementacj
(optional), ale jeli towarzysz ogaszanej trasie - s wraz z ni przekazywane do innych
ruterw (transitive);
optional non-transitive atrybuty, ktre ani nie musz by rozpoznawane przez
implementacj, ani te przekazane do innych ruterw (non-transitive).

W chwili obecnej istnieje kilkanacie atrybutw BGP, a do najwaniejszych z nich nale:
ORIGIN (well-known mandatory) okrela pochodzenie informacji o danej trasie. Trzy
wartoci atrybutu s nastpujce: IGP (informacja pochodzi z tego systemu autonomicznego,
od protokou IGP), EGP (informacja pochodzi z innego systemu autonomicznego, od
protokou EGP), INCOMPLETE (inne rdo informacji, np. trasa statyczna redystrybuowana
do protokou).
AS_PATH (well-known mandatory) sekwencja numerw systemw autonomicznych,
przez ktre wiedzie trasa do danej sieci. Gdy ruter brzegowy ogasza dan sie IP innemu
systemowi autonomicznemu, wwczas umieszcza numer wasnego systemu na pocztku tej
sekwencji. Atrybut AS_PATH wykorzystywany jest do wykrywania ptli w trasach jeli
ruter odczyta w sekwencji numer wasnego systemu autonomicznego, stwierdza wystpienie
ptli i odrzuca ogoszenie o trasie.
NEXT_HOP (well-known mandatory) okrela adres IP rutera brzegowego z innego
systemu autonomicznego, ktry powinien by uyty jako brama do danej sieci IP w tym
systemie. Domylnie, rutery IBGP w innym systemie autonomicznym nie zmieniaj wartoci
tego atrybutu. Dla przykadu, gdyby ruter R1 z rysunku 1 ogosi pewn sie systemu AS1
ruterowi R2 w systemie AS2, wwczas R2 i wszystkie inne rutery brzegowe w systemie AS2
jako warto atrybutu NEXT_HOP odczytaj adres IP rutera R1. Oznacza to, e aby ustali
tras do sieci w innym systemie autonomicznym, naley dwa razy odczyta informacje
o trasach wynikiem pierwszego odczytu, z tablicy tras protokou BGP, bdzie warto
atrybutu NEXT_HOP, a dopiero drugi odczyt (ang. recursive table lookup), z tablicy tras IGP,
pozwala znale tras do sieci, w ktrej znajduje si ruter okrelany wartoci tego atrybutu.
LOCAL_PREF (well-known, discretionary) atrybut ten przypisywany jest ruterowi.
Jego warto przesya si tylko w obrbie jednego systemu autonomicznego. Atrybut suy
ruterom brzegowym tego systemu do wybrania spord siebie rutera bdcego bram do sieci
IP w innym systemie autonomicznym. Wartoci atrybutu jest liczba naturalna, a preferencja
jest rosnca. Innymi sowy, ruter z najwiksz wartoci LOCAL_PREF, zwizan z dan
sieci IP, zostanie wybrany bram do tej sieci przez pozostae rutery BGP w jego systemie
autonomicznym.
1.4 Przydatne polecenia konfiguracyjne
Poniej wymienione zostay podstawowe komendy konfiguracyjne dla protokou BGP:
router bgp <nr AS> - uruchama protok BGP i przenosi w tryb konfiguracji BGP;
neighbor <adres IP ssiada> remote-as <nr AS ssiada> - powoduje nawizanie sesji
BGP z ssiadem w innym (EBGP) lub tym samym (IBGP) systemie autonomicznym;
network <adres IP sieci> - okrela sie IP, jak ruter powinien ogasza. Uwaga - chodzi
tu rwnie o sieci IP, w ktrych ruter sam si nie znajduje, a o ktrych dowiedzia si za
porednictwem protokow IGP;
show ip bgp wywietla trasy protokou BGP wraz z wartociami niektrych atrybutw;
show ip bgp neighbor wywietla informacje o ssiadach, czyli ruterach, z ktrymi dany
ruter nawiza sesje BGP;
clear ip bgp * - wznawia sesj BGP, powodujc zastosowanie wszystkich wczeniej
zdefiniowanych regu;
access-list polecenie tworzy list dostpu (ACL, ang. Access Control List), ktra
w kontekcie BGP pomocna jest przy tworzeniu regu dla ogosze protokou (policy routing).
Reguy wykorzystujce listy ACL najczciej odrzucaj informacje o wybranych sieciach -
okrelanych wanie przez list - z odbieranych lub wysyanych ogosze. Przykady uycia
list ACL zawarto w dodatku;
neighbor...distribute-list <nr listy ACL> [in|out] polecenie tworzy regu dla
odbieranych (in) lub wysyanych (out) przez protok ogosze;
route-map <nazwa> [permit|deny] <nr sekw.> suy do manipulowania atrybutami
BGP oraz do tworzenia regu dla ogosze;
neighbor...route-map powoduje zastosowanie wczeniej zdefiniowanych atrybutw
BGP lub regu dla konkretnego ssiada.
2. Zadania
1. Skonfigurowa rodowisko sieciowe ukazane poniej. Nastpnie wykona zadania:
a) Wywietli trasy protokou BGP. Odczyta wartoci atrybutw NEXT_HOP,
LOCAL_PREF i AS_PATH oraz sprawdzi, ile protok pamita tras do kadej sieci IP.
b) Zasymulowa w ruterze R1 awari interfejsu czcego R1 z R3 i po odczekaniu jednej
minuty (domylny okres midzy komunikatami update) sprawdzi, jak wpynie to na zmian
trasy z R1 do sieci Net3. Nastpnie wycofa wprowadzone zmiany, przywracajc
konfiguracj pierwotn.
c) Konfigurujc tylko ruter R3 spowodowa, by trasa z rutera R1 do sieci Net3 wioda przez
system autonomiczny AS2 (policy routing). Wykorzysta polecenia: access-list (do
okrelenia sieci Net3) oraz neighbor...distribute-list (do usunicia sieci Net3
z ogosze wysyanych do rutera R1). Uwaga po wprowadzeniu powyszych komend,
naley wznowi sesje BGP przez wykonanie w ruterze R3 polecenia clear ip bgp *.
















2. Skonfigurowa rodowisko sieciowe ukazane poniej. Nastpnie wykona zadania:
a) Odczyta w ruterach R1 i R2 warto atrybutu NEXT_HOP dla wszystkich tras do sieci
Net3. Jaka jest jego warto dla trasy nie uznanej za najlepsz? Czy dla tej trasy istnieje
konieczno rekurencyjnego odczytu informacji o trasach (recursive table lookup; patrz
omwienie atrybutu NEXT_HOP)?
Odczyta domyln warto atrybutu LOCAL_PREF w ruterach R1, R2 i R3.
b) Wykorzystujc atrybut LOCAL_PREF i konfigurujc ruter R1 spowodowa, by trasa
z rutera R4 do sieci Net3 w systemie AS2 wioda przez ruter R1. Wykorzysta polecenia:
access-list (do zdefiniowania sieci Net3), route-map (tu podpolecenie match ip
address do powizania mapy z sieci Net3 oraz set do okrelenia nowej wartoci atrybutu
LOCAL_PREF) oraz neighbor...route-map (do ogoszenia ruterom R2 i R3 nowej
wartoci atrybutu dla sieci Net3). Uwaga po wprowadzeniu powyszych komend, naley
wznowi sesje BGP przez wykonanie w ruterze R1 polecenia clear ip bgp *.
Net3
AS1
AS3
R3
AS2
R2
EBGP

EBGP

EBGP

Rysunek do zadania 2
Net3
R3
AS2
AS1
R1
R2
EBGP

IBGP

EBGP

Rysunek do zadania 1
Net2
IBGP

R4
Net4
Net1
IBGP

Net1
Net2
R1















3. Pytania sprawdzajce
1. Dlaczego istnieje potrzeba uycia protokou BGP? Co wyrnia ten protok i czyni go
przydatnym w globalnym Internecie?
2. Jak przebiega proces wyboru najlepszej trasy w protokole BGP?
3. Jaka jest przecitna liczba tras w tablicy szkieletowego rutera BGP? Jak szybko ta liczba
wzrasta? Wskazwka przeczyta wybrany raport BGP, opublikowany w sieci Internet.
4. Jakie znaczenie dla wydajnoci pracy ruterw szkieletowych miao wprowadzenie
wersji 4 protokou BGP?
5. Co oznaczaj pojcia Route-Reflector oraz BGP Confederation?
6. Jak przebiega proces automatycznej detekcji rodzaju sesji BGP podczas jej
nawizywania?
4. Literatura
1. Dokumenty RFC1771 i RFC1772.
2. Ksika Alberto Leon-Garcia, Indra Widjaja Communication Networks Fundamental
Concepts and Key Architectures.
3. Serwis internetowy BGP the Border Gateway Protocol, Advanced Internet Routing
Resources http://www.bgp4.as
4. Omwienie atrybutw BGP:
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/bgp.htm
5. Konfiguracja ruterw Cisco: serwis internetowy www.cisco.com

DODATEK uycie list ACL (Access Control List)

Lista kontroli dostpu to sekwencja regu definiujcych zasady dostpu do zasobw danego
systemu. W kontekcie sieci komputerowych lista ACL jest filtrem pakietw sieciowych.
Moe by utworzona w urzdzeniu sieciowym (wwczas nosi angielsk nazw Network
Firewall) lub na komputerze kocowym (Personal Firewall). Poniej krtko omwiono, jak
konfigurowa proste listy ACL oraz wyjaniono, jak uywa ich do manipulowania
ogoszeniami protokou BGP.

Skadnia reguy jest nastpujca:
access-list <nr listy> permit/deny <adres IP> <negacja maski>

Parametr negacja maski suy temu samemu celowi, co tradycyjna maska sieci. W wypadku
maski zanegowanej, do adresu okrelonego w definicji listy ACL dopasowane zostan te bity
adresu rdowego/docelowego pakietu, ktrym odpowiadaj zera w zanegowanej masce.
Jedna lista ACL moe by zoona (i najczciej jest) z wielu regu.





Uwaga
Ze wzgldw bezpieczestwa kada lista ACL w ruterach Cisco jest zakoczona
domyln regu deny any.
Przykady:
Akceptacja pakietw pochodzcych z sieci IP o adresie 192.168.1.0/24 i blokowanie (przez
domyln regu deny any koczc list ACL) wszelkiego innego ruchu:
access-list 1 permit 192.168.1.0 0.0.0.255

Blokowanie pakietw, ktrych rdem jest sie IP o adresie 150.254.17.96/27:
access-list 2 deny 150.254.17.96 0.0.0.31
access-list 2 permit any

W kontekcie protokow wyboru trasy listy dostpu su do filtrowania nie pakietw, a
informacji o trasach zawartych w ogoszeniach protokou.

Przykadowo, aby w protokole BGP zrealizowa regu dla ogosze zakadajc, dla
konkretnego ssiedniego systemu autonomicznego, istnienie komunikacji przez ten system z
sieciami 192.168.1.0 i 192.168.2.0 oraz brak komunikacji z innymi sieciami, naley
zdefiniowa nastpujc list ACL:
access-list 1 permit 192.168.1.0 0.0.0.255
access-list 1 permit 192.168.2.0 0.0.0.255,
a nastpnie zastosowa j do filtrowania tych sieci z ogosze BGP odbieranych od ssiadw:
neighbor <adres ssiada BGP> distribute-list 1 in.

You might also like