1/35Porzadkowanie mapy: sumaryzacja w EIGRP

Reczna sumaryzacja zamiast automatycznej

EIGRP potrafi „sprzątać" tablice routingu, aby nie byly przeladowane tysiacami szczegolowych wpisów. Sluzy do tego sumaryzacja. Stary mechanizm auto-summary dzialal samoczynnie, ale czesto psul routing w nowoczesnych sieciach, dlatego zawsze go wylaczamy (no auto-summary).

Zamiast tego stosujemy sumaryzacje reczna. Pozwala ona administratorowi powiedziec: „Dla calego biura w Gdansku wysylaj tylko jedna informacje: 10.1.0.0/16". Dzieki temu pozostale routery w firmie maja mniej danych do przetworzenia, co sprawia, ze cala siec dziala szybciej i jest znacznie bardziej odporna na drobne zmiany topologiczne w pojedynczych pokojach.

Sumaryzacja tras w EIGRP

Sumaryzacja reczna w EIGRP jest konfigurowana na interfejsie za pomoca polecenia ip summary-address eigrp [AS] [adres] [maska]. Dziala ona tylko na routerach granicznych obszaru – tych, które lacza rozne podsieci. Wewnatrz sieci LAN sumaryzacja nie jest potrzebna, poniewaz routery i tak poznaja wszystkie szczegoly. W EIGRP sumaryzacja tworzy również trase domyslna 0.0.0.0/0 do sieci zewnetrznych, co upraszcza konfiguracje na routerach brzegowych.

2/35Gdy EIGRP milczy: diagnostyka

Najczestsze problemy z sasiedztwem EIGRP

Pierwsza rzecz do sprawdzenia to numer Systemu Autonomicznego (AS). Jesli na jednym routerze wpiszesz 100, a na drugim 200 – nigdy sie nie „zobaczą". To tak, jakby dwaj ludzie próbowali rozmawiac na innych czestotliwosciach radiowych. Kolejnym „podejrzanym" sa parametry metryki (K-values) – musza byc identyczne na obu koncach kabla.

Zawsze sprawdzaj tez, czy porty maja adresy z tej samej sieci i czy Twoje listy ACL nie blokuja przypadkiem ruchu multicastowego (adres 224.0.0.10). Polecenie show ip eigrp neighbors to Twoj najlepszy przyjaciel w takich sytuacjach – jesli lista sąsiadów jest pusta, wiesz, ze problem lezy po stronie warstwy 3 lub wyzszej.

Rozwiazywanie problemów EIGRP

Innym czestym problemem jest niezgodnosc masek podsieci na interfejsach sasiadujacych routerów. EIGRP wymaga, aby interfejsy nalezaly do tej samej podsieci – w przeciwnym razie pakiety Hello nie zostana odebrane. Warto również sprawdzic show ip protocols, który pokazuje aktualnie skonfigurowane procesy EIGRP, numery AS, sieci objete routingiem oraz parametry metryki. Jesli K-values różnią sie miedzy routerami, w logach pojawi sie komunikat K-value mismatch.

3/35BGP: protokół, który trzyma Internet

Krol globalnej sieci

BGP (Border Gateway Protocol) to absolutny krol globalnej sieci. To on decyduje, którędy Twoje maile plyna z Polski do Japonii. Nie jest to zwykly protokół – to narzedzie polityczne i biznesowe, które laczy ze soba cale Systemy Autonomiczne (AS) operatorów internetowych.

W BGP nie szukamy najkrótszej drogi w sensie technicznym (liczba skoków), ale drogi „najbardziej optymalnej" zgodnie z umowami miedzy firmami. To protokół o gigantycznej skali, zdolny do obslugi tablicy routingu zawierajacej blisko milion wpisów, co czyni go najbardziej zlozonym i najwazniejszym elementem nowoczesnej telekomunikacji.

Wprowadzenie do BGP

BGP zostal zdefiniowany w RFC 4271 i jest obecnie w wersji 4 (BGP-4). Jest to protokół typu Path Vector, który różni sie od protokołów Distance Vector i Link-State stosowanych w IGP. Podstawowa jednostka routingu w BGP jest System Autonomiczny (AS), a nie pojedynczy router. W przeciwienstwie do OSPF, BGP nie uzywa multicastu ani broadcastu – wszystkie sesje sa zestawiane recznie na warstwie aplikacji (TCP).

4/35Panstwa w sieci: system autonomiczny (AS)

Kazdy AS to niezalezne panstwo

Internet nie jest jedna siecia – to zbior tysiecy niezaleznych sieci zwanych Systemami Autonomicznymi (AS). Kazdy AS ma swojego wlasciciela (np. Orange, Google, uczelnia) i wlasna polityke zarzadzania. Aby taki „kraj" mógł rozmawiac z innym, potrzebuje unikalnego paszportu: numeru ASN.

Numery te (np. AS 1234) sa przydzielane przez globalne organizacje (IANA, RIR). BGP uzywa tych numerów, aby wiedziec, przez czyje „terytorium" przeplywaja dane. Jesli Twoja firma staje sie na tyle duza, ze ma kilku dostawców internetu, prawdopodobnie sama bedzie musiala wystapic o wlasny numer AS i zaczac „rozmawiać" w jezyku BGP.

System Autonomiczny (AS)

Numery AS sa 16-bitowe (0–65535) lub 32-bitowe (do 4 294 967 295). Zakres 64512–65535 jest zarezerwowany do uzytku prywatnego. Przydzialem numerów AS w Europie zajmuje sie RIPE NCC. W BGP rozróżniamy dwa typy sieci: stub AS (polaczony z jednym dostawca) i transit AS (przesylajacy ruch miedzy innymi AS-ami – jak operator szkieletowy).

5/35BGP jako nawigacja: path vector

Sciezka zamiast odleglosci

BGP nie patrzy na dystans (metryke). On patrzy na sciezke (Path Vector). Kazda informacja o trasie niesie ze soba liste Systemów Autonomicznych, przez które przeszla. To jak zbieranie pieczatek w paszporcie na kazdej granicy.

Ten mechanizm (atrybut AS_PATH) to genialny sposób na unikanie petli. Jesli router BGP zobaczy na liscie swój wlasny numer AS, od razu wie: „Oho, ten pakiet juz tu byl i zaczal krazyc w kółko!". Wtedy natychmiast odrzuca taka informacje, dbajac o to, aby internet nigdy sie nie zapetlil na poziomie globalnym.

BGP: Path Vector Protocol

Path Vector to ewolucja koncepcji Distance Vector – zamiast wysylac tylko odleglosc do celu, BGP przesyla cala sciezke AS-ów. Dzieki temu kazdy router moze samodzielnie wykryc petle, co jest kluczowe w sieci o globalnym zasiegu. W BGP kazde ogloszenie trasy (UPDATE) zawiera atrybut AS_PATH, który jest modyfikowany na kazdym routerze eBGP poprzez dodanie wlasnego numeru AS na poczatku listy. Dlugosc tej listy jest jednym z kryteriów wyboru najlepszej trasy.

6/35Wybór drogi: biznes ponad technike

Elastycznosc polityk routingu BGP

Sila BGP lezy w jego elastycznosci. Wewnatrz firmy (IGP) chcemy po prostu „najszybciej". W BGP chcemy „zgodnie z planem". Administrator moze kazac routerowi: „Wysyłaj ruch do Google przez lacze A, bo jest tam darmowy peering, a ruch do Netflixa przez lacze B, bo mamy tam lepsza umowe".

Dzieki atrybutom BGP mozemy omijac konkretne kraje lub faworyzowac partnerów biznesowych. BGP to protokół, w którym decyduje czlowiek i jego strategie ekonomiczne, a nie tylko suchy algorytm matematyczny. To narzedzie do zarzadzania ruchem w skali calej planety.

Wlasciwosci BGP: Polityka routingu

W BGP istnieje wiele atrybutów pozwalajacych na precyzyjne ksztaltowanie ruchu, np. LOCAL_PREF (preferencja lokalna), MED (sugestia dla sasiada), Weight (specyficzny dla Cisco). Dzieki nim administrator moze realizowac skomplikowane polityki biznesowe: load balancing, failover, traffic engineering. W BGP kluczowe jest zrozumienie różnicy miedzy ruchem inbound (przychodzacym do naszej sieci) i outbound (wychodzacym) – sterowanie kazdym z nich odbywa sie za pomoca innych atrybutów.

7/35Relacje BGP: reczne sterowanie

Peering – swiadoma decyzja administratora

W BGP nie ma automatyki przy szukaniu sąsiadów. To zbyt niebezpieczne na poziomie globalnym. Kazdego sasiada (peera) musisz wpisac w konfiguracje recznie, podajac jego adres IP i numer AS. To swiadome dzialanie dwóch administratorów, którzy zgadzaja sie na wymiane danych.

Do rozmowy BGP uzywa solidnego protokolu TCP (port 179). Dzieki temu routery nie musza stac obok siebie – sesja BGP moze byc zestawiona miedzy Warszawa a Nowym Jorkiem, o ile tylko istnieje miedzy nimi lacznosc IP. TCP gwarantuje, ze zadna informacja o trasach nie zginie i dotrze w calosci do celu.

Peering BGP

Peering BGP moze byc direct (bezposrednie polaczenie kablami miedzy routerami) lub multihop (przez wiele routerów posredniczacych). W przypadku multihop konieczne jest ustawienie parametru ebgp-multihop. Istnieje również BGP peering za pomoca petli zwrotnej (loopback) – to najlepsza praktyka dla iBGP, poniewaz adres loopback jest zawsze dostepny, nawet gdy jeden z interfejsów fizycznych ulegnie awarii.

8/35Dwa oblicza BGP: iBGP oraz eBGP

Różne zasady dla wewnatrz i na zewnatrz

BGP ma dwie twarze w zaleznosci od tego, z kim rozmawiamy. Gdy laczymy sie ze swiatem zewnetrznym (innym numerem AS), mówimy o eBGP (External). To tutaj dzieje sie cala magia internetowego routingu.

Wewnatrz naszej firmy stosujemy iBGP (Internal). Sluzy ono do tego, aby wszystkie nasze routery dowiedzialy sie o trasach, które poznlismy od swiata zewnetrznego. iBGP jest jak system wewnetrznej poczty w firmie, który rozsyla wazne wiadomosci od klientów do wlasciwych działów wewnatrz budynku.

Typy Peeringu BGP: iBGP vs. eBGP

Różnice miedzy iBGP a eBGP sa znaczace: w eBGP domyslna wartosc next-hop jest zmieniana na adres interfejsu wychodzacego, podczas gdy w iBGP next-hop pozostaje bez zmian. W eBGP domyslna odleglosc administracyjna wynosi 20, a w iBGP 200. Ponadto eBGP zapobiega petli poprzez sprawdzanie AS_PATH (jesli zawiera wlasny AS, trasa jest odrzucana), natomiast iBGP stosuje zasade split-horizon – trasa poznana od jednego peera iBGP nie jest przekazywana dalej innemu peerowi iBGP.

9/35Wymóg full mesh w iBGP

Zasada split-horizon w iBGP

iBGP ma jedna rygorystyczna zasade: unikanie „plotkowania". Router, który dostal informacje o trasie od kolegi z iBGP, nie moze jej podac dalej innemu koledze z iBGP (zasada split-horizon). Chroni to przed zapetleniem wewnatrz firmy.

Skutkiem tego jest wymóg full mesh – kazdy router iBGP musi byc polaczony z kazdym innym routerem iBGP bezposrednia sesja. W wielkich sieciach bywa to uciazliwe, dlatego inzynierowie stosuja „wzmacniacze sygnalu", czyli route reflector, które pozwalaja na obejscie tej zasady i zachowanie porzadku w konfiguracji.

iBGP: Wymóg full mesh

Liczba sesji w modelu full mesh rosnie kwadratowo – dla n routerów potrzebujemy n(n-1)/2 sesji. W sieci z 50 routerami to az 1225 sesji! Route Reflector (RR) rozwiazuje ten problem, pozwalajac routerom na przekazywanie tras przez centralny punkt. Inna metoda optymalizacji jest BGP Confederation, która dzieli wielki AS na mniejsze sub-AS-y, zachowujac wewnatrz nich pelna lacznosc iBGP, a miedzy nimi stosujac reguly eBGP.

10/35Gesty dyplomatyczne: pakiety BGP

Cztery typy komunikatów BGP

Routery BGP rozmawiaja spokojnie i oszczednie. Zaczynaja od pakietu OPEN (uscisk dloni i ustalenie zasad). Najwazniejsze sa pakiety UPDATE – to w nich przesylane sa nowe trasy lub wycofywane te, które przestaly dzialac.

Jesli wszystko jest w porzadku, co chwile wysylane sa krótkie KEEPALIVE („Jestem, zyje"). Ale jesli pojawi sie jakikolwiek blad, router wysyla pakiet NOTIFICATION i natychmiast zrywa kontakt. To bardzo bezpieczne podejscie: w BGP lepiej nie rozmawiac wcale, niz przesylac bledne lub zmanipulowane informacje o swiatowych trasach.

Pakiety BGP

Maszyna stanów BGP przechodzi przez szesc stanów: Idle (poczatkowy), Connect (próba TCP), Active (niepowodzenie TCP, ponawianie), OpenSent (wyslano OPEN), OpenConfirm (otrzymano odpowiedz), Established (sesja aktywna, trasy wymieniane). Pakiety KEEPALIVE wysylane sa co 60 sekund (trzymaczas = 180 sekund). W przypadku bledu pakiet NOTIFICATION zawiera kod bledu i subkod, co ulatwia diagnostyke.

11/35Tablice BGP: od plotek do decyzji

Wieloetapowe sitowanie informacji

Router BGP to wytrawny analityk. Wszystkie informacje od sąsiadów zbiera najpierw w tablicy Adj-RIB-In (to nasze „surowe dane"). Dopiero po przejsciu przez filtry bezpieczenstwa i polityki firmy, najlepsze kaski trafiaja do tablicy głównej Loc-RIB.

Tylko to, co uznamy za absolutnie najlepsze, trafia do głównej tablicy routingu urzadzenia (IP Routing Table). Z kolei to, czym chcemy pochwalic sie swiatu, laduje w Adj-RIB-Out. To wieloetapowe sitowanie gwarantuje, ze do internetu nie wypuscimy bledu, a sami nie damy sie nabrac na „fake newsy" o topologii od innych operatorów.

Tablica BGP (RIB)

W systemach Cisco tablice BGP mozna podejrzec poleceniem show ip bgp. Kazdy wpis pokazuje prefiks, next-hop, atrybuty (AS_PATH, LOCAL_PREF, MED, Weight) oraz status (znacznik * = poprawna, > = najlepsza). Wpis moze miec status r (RIB-failure), jesli lepsza trasa istnieje w IGP. Polityki routingu sa implementowane za pomoca route-map, prefix-list i AS-path access-list.

12/35Atrybuty: narzedzia wladzy administratora

Parametry decydujace o wyborze trasy

Atrybuty BGP to dodatkowe parametry doklejone do kazdej trasy. To one czynia ten protokół tak potrzym. Mozna je porównać do filtrów w sklepie internetowym: cena (koszt), czas dostawy (opóźnienie), opinie (AS_PATH).

Dzieki zmianie atrybutów administrator moze dowolnie sterowac ruchem. Chcesz, by paczki szly dluzsza droga, bo jest bezpieczniejsza? Zmien atrybut. Chcesz preferowac lacze od konkretnego dostawcy? Zmien atrybut. To w tych niewielkich polach danych kryje sie cala wladza nad przeplywem informacji w globalnej sieci.

Wprowadzenie do Atrybutów BGP

Atrybuty BGP dziela sie na cztery kategorie: Well-Known Mandatory (musza byc w kazdym UPDATE), Well-Known Discretionary (kazdy router musi je rozumiec, ale nie musza wystepowac), Optional Transitive (jesli router nie rozumie, przekazuje dalej) i Optional Non-Transitive (jesli nie rozumie, odrzuca). Dzieki tej klasyfikacji BGP jest zarówno elastyczny, jak i kompatybilny wstecz – starsze routery radza sobie z nowymi atrybutami, nie psujac routingu.

13/35Atrybuty obowiazkowe (Well-Known)

Fundament kazdej trasy BGP

Niektóre atrybuty sa tak wazne, ze musza byc w kazdym pakiecie BGP (Well-Known Mandatory). Najwazniejsze to: AS_PATH (lista krajów po drodze), NEXT_HOP (do kogo wyslac) oraz ORIGIN (skad router o tej trasie wie).

Sa tez atrybuty „uznaniowe" (Discretionary), jak np. LOCAL_PREF. Choc nie sa obowiazkowe w kazdym pakiecie, to kazdy router BGP na swiecie musi wiedziec, co one znacza. To wspólny jezyk wszystkich inżynierów sieciowych, gwarantujacy, ze router z Chin zrozumie intencje routera z Argentyny.

Atrybuty dobrze znane (Well-Known)

Atrybut ORIGIN moze przyjac trzy wartosci: 0 (IGP – trasa ogloszona komenda network), 1 (EGP – ze starego protokolu EGP, dzis nieuzywane) i 2 (Incomplete – z redystrybucji). Przy wyborze trasy BGP preferuje nizszy kod ORIGIN: IGP (0) jest lepszy od Incomplete (2). Cisco wyswietla ORIGIN jako i, e i ?.

14/35Atrybuty opcjonalne: dodatkowe funkcje

Transitive i Non-Transitive

Istnieja atrybuty, które nie kazdy router musi znac (Optional). Dzielimy je na „przechodnie" (Transitive) – jesli router ich nie zna, to po prostu podaje je dalej nienaruszone, oraz „nieprzechodnie" (Non-Transitive) – jesli router ich nie rozumie, to wyrzuca je do kosza przed wyslaniem informacji dalej.

Przykladem jest MED – parametr, którym sugerujemy sasiadowi, ktoredy ma wchodzic do naszej sieci. To delikatna podpowiedz: „Jeśli masz dwa kable do mnie, ten numer 1 jest moim ulubionym". To od sasiada zalezy, czy poslucha tej prosby, czy ja zignoruje.

Atrybuty opcjonalne (Optional)

Innym waznym atrybutem Optional Transitive jest Community – specjalna „etykieta" (tag), która mozna przyczepic do tras. Dzieki Community administrator moze oznaczyc trase jako „no-export" (nie oglaszaj poza AS), „local-AS" (nie oglaszaj poza sub-AS w confederation) lub „no-advertise" (nie oglaszaj nikomu). Atrybut Aggregator (Optional Transitive) zawiera informacje, który router dokonal agregacji tras.

15/35AS_PATH: paszport twoich danych

Historia podróży i zabezpieczenie przed petlami

Atrybut AS_PATH to historia podróży pakietu. Wyobraz sobie droge: AS 200 -> AS 100 -> Moja Siec. Przy wyborze trasy BGP zazwyczaj kieruje sie zasada: im krótsza lista numerów AS, tym lepsza trasa. To logiczne – mniej pośredników oznacza zazwyczaj mniejsza szanse na awarie i szybsza transmisje.

Ale AS_PATH to nie tylko wybór drogi. To przede wszystkim system anty-kolizyjny. Gdy router widzi swój numer na liscie, wie, ze wiadomosc zrobila pelne kolo i musi zostac odrzucona. To prosty, a zarazem genialny sposób na utrzymanie stabilnosci calego internetu od kilkudziesieciu lat.

Atrybut AS_PATH

AS_PATH moze wystepowac w dwóch typach: AS_SEQUENCE (uporzadkowana lista AS-ów, przez które przeszla trasa) i AS_SET (nieuporzadkowany zbior – uzywany przy agregacji). Dlugosc AS_PATH jest mierzona liczba AS-ów w sekwencji. Administrator moze sztucznie wydluzyc AS_PATH za pomoca polecenia set as-path prepend, co jest powszechna technika inbound traffic engineering – im dluzsza sciezka, tym mniej atrakcyjna trasa dla sąsiadów.

16/35NEXT_HOP: kolejny przystanek

Adres nastepnego skoku w BGP

Adres NEXT_HOP w BGP wskazuje, kto jest „następny w kolejce" do dostarczenia pakietu. Ciekawostka: w BGP to nie zawsze musi byc sasiad bezposrednio za sciana. W sesjach iBGP adres NEXT_HOP wyuczony od swiata zewnetrznego zazwyczaj zostaje niezmieniony.

Dla inzyniera oznacza to koniecznosc zapewnienia, aby kazdy router w firmie wiedzial, jak fizycznie dojsc do tego adresu NEXT_HOP (zwykle uzywamy do tego OSPF lub EIGRP). Jesli router nie wie, jak dotrzec do „następnego skoku", trasa BGP mimo ze poprawna, bedzie bezuzyteczna i nie pojawi sie w tablicy routingu.

Atrybut NEXT_HOP

W eBGP domyslna zasada jest ustawienie NEXT_HOP na adres IP interfejsu, przez który wyslano UPDATE. W iBGP next-hop pozostaje taki, jaki zostal ustawiony przez router eBGP. Problem pojawia sie, gdy router iBGP nie ma trasy do next-hopu – wtedy BGP nie instaluje trasy w tablicy routingu. Rozwiazaniem jest uzycie next-hop-self na routerze granicznym, który zmienia next-hop na wlasny adres, co gwarantuje osiagalnosc w obrebie AS.

17/35Pochodzenie trasy: atrybut ORIGIN

Trzy stopnie zaufania

Atrybut ORIGIN informuje nas, skad dana trasa wziela sie w systemie BGP. Mamy trzy stopnie zaufania. Najwyzszy to i (IGP) – oznacza trase wpisana swiadomie przez administratora (komenda network). Drugi, rzadki juz dzis, to e (EGP – stary protokół).

Najnizszy stopien to ? (Incomplete). Oznacza on, ze trasa zostala zaimportowana z innego źródła bez podania szczegółów (redystrybucja). Przy wyborze drogi router zawsze woli pewne źródło (i) od niepewnego (?), co chroni nas przed przypadkowym kierowaniem ruchu przez smieciowe lub bledne trasy.

Atrybut ORIGIN

W praktyce atrybut ORIGIN rzadko bywa decydujacy – jego wplyw w hierarchii wyboru trasy jest niski (krok 4 w algorytmie Cisco). Jednak znajomosc ORIGIN jest przydatna podczas diagnostyki: jesli widzisz ? w show ip bgp, oznacza to, ze trasa pochodzi z redystrybucji (np. z OSPF lub EIGRP). Aby zmienic ORIGIN na i, nalezy uzyc komendy network z odpowiednia maska lub zastosowac set origin igp w route-map.

18/35LOCAL_PREF: wybór wyjscia z firmy

Sterowanie ruchem wychodzacym

Jesli Twoja firma ma dwóch dostawców internetu (ISP A i ISP B), atrybut LOCAL_PREF pozwoli Ci zdecydowac, którego wolisz. To parametr o zasiegu lokalnym – ustawiasz go na swoich routerach i rozsylasz po calej firmie przez iBGP.

Dziala tu zasada: im wyzsza liczba, tym lepsza trasa. Jesli dla ISP A ustawisz 200, a dla ISP B zostawisz domyslne 100 – caly ruch z Twojego biura wyplynie przez lacze A. To najpotzniejsze i najczesciej uzywane narzedzie do sterowania ruchem wychodzacym u abonentów biznesowych.

Atrybut LOCAL_PREF

LOCAL_PREF jest atrybutem Well-Known Discretionary – kazdy router BGP musi go rozumiec, ale nie musi wystepowac w kazdym UPDATE. Domyslna wartosc LOCAL_PREF w Cisco to 100. Atrybut ten jest wymieniany tylko miedzy routerami w obrebie tego samego AS (za posrednictwem iBGP) – nie jest przesylany do sąsiadów eBGP. Aby ustawic LOCAL_PREF dla wszystkich tras od danego sasiada, stosuje sie route-map z dzialaniem set local-preference.

19/35MED: sugestia dla sasida

Sterowanie ruchem przychodzacym

MED (Multi-Exit Discriminator) to atrybut, którym próbujemy zasugerowac sasiemu operatorowi, ktoredy ma do nas „wchodzić". W przeciwienstwie do LOCAL_PREF (liczba wyzsza = lepsza), w MED stosujemy zasade: liczba NIZSZA = lepsza. To jak cena za bilet: im taniej, tym chetniej tam pójdziesz.

Pamietaj jednak o zlotej zasadzie BGP: MED to tylko prosba. Sasiedni operator moze ja zignorowac i wymusic inna droge do Twojej firmy stosujac wlasne polityki. MED jest przydatny przy symetrycznym laczeniu dwóch operatorów wieloma polaczeniami.

Atrybut MED

MED jest atrybutem Optional Non-Transitive – jesli router go nie rozumie, odrzuca go. Jest porównywany tylko dla tras pochodzacych z tego samego AS (tzw. komparacja MED wymaga ustawienia bgp always-compare-med, jesli chcemy porównywać MED miedzy różnymi AS-ami). Domyslna wartosc MED to 0. W przeciwieństwie do LOCAL_PREF, MED jest przesylany do sąsiadów eBGP.

20/35Algorytm decyzyjny BGP

Wielostopniowy proces eliminacji

BGP nie wybiera trasy jednym wzorem – to wielostopniowy proces eliminacji. Router bierze wszystkie dostepne drogi do celu i po kolei porównuje atrybuty. Jesli na pierwszym etapie jedna trasa wygrywa, reszta odpada, a my mamy zwyciezce.

Zrozumienie tej hierarchii to „święty gral" inzyniera BGP. Znajac kolejnosc (Weight -> Local_Pref -> AS_Path -> Origin -> MED...), wiemy dokladnie, który parametr zmienic, aby pakiety przestaly plynac droga A i zaczely plynac droga B. To precyzyjne sterowanie krwiobiegiem globalnej sieci.

Proces wyboru najlepszej trasy BGP

Pelna hierarchia wyboru trasy BGP w Cisco obejmuje 10 kroków: 1) Weight (najwyzszy), 2) LOCAL_PREF, 3) czy trasa jest ogloszona przez ten sam router (network vs redistribute), 4) AS_PATH (najkrótszy), 5) ORIGIN (IGP < EGP < Incomplete), 6) MED (najnizszy), 7) preferencja eBGP nad iBGP, 8) najblizszy IGP next-hop, 9) najstarsza trasa, 10) najnizszy adres IP sasiada.

21/35Kolejnosc wyboru w praktyce

Od Weight do adresu IP sasiada

Gdy router ma wiele tras, najpierw patrzy na atrybut Weight (specyfika Cisco), potem na Local Preference. Jesli tu jest remis, decyduje dlugosc AS_PATH (krócej = lepiej). Jesli i tu mamy remis, patrzymy na Origin i MED. Na samym koncu, jesli nic nie pomoglo, decyduja parametry techniczne jak wiek trasy lub numer IP sasiada.

Dla administratora najwazniejsze sa pierwsze trzy punkty. To nimi realizujemy 95% wszystkich zadan zwiazanych z inzynieria ruchu. Pozostale parametry sluza BGP tylko do tego, aby w kazdej sytuacji udalo sie wybrac JEDNA najlepsza sciezke do umieszczenia w tablicy routingu.

Kluczowe kroki wyboru trasy BGP

Atrybut Weight jest specyficzny dla Cisco i ma najwyzszy priorytet – zakres 0–65535, wyzszy = lepszy. Nie jest przesylany w pakietach BGP (ma znaczenie tylko lokalne). Local Preference (zakres 0–4294967295) jest wymieniany przez iBGP. W praktyce najczesciej modyfikujemy LOCAL_PREF do sterowania ruchem wychodzacym, a AS_PATH prepend do sterowania ruchem przychodzacym. Zrozumienie tych mechanizmów pozwala na pelna kontrole nad przeplywem ruchu w sieci wielodostepowej.

22/35Walka z hakerami: system RPKI

Kryptograficzne certyfikaty dla tras

BGP jest starym protokolem i bazuje na zaufaniu, co wykorzystuja hakerzy. Przez BGP Hijacking moga oni oglosic, ze sa wlascicielem sieci banku i przejac caly ruch. Aby temu zapobiec, wprowadzono RPKI (cyfrowe certyfikaty dla tras).

Dzieki RPKI Twój router moze sprawdzic: „Czy ten facet, który mówi, ze jest z AS 100 i ma te siec, ma na to wazny papier?". To rewolucja w bezpieczenstwie internetu – system zaufania kryptograficznego, który powoli eliminuje najwieksza bolaczke globalnej sieci, czyniac ja odporna na kradzieze tozsamosci sieciowej.

Bezpieczenstwo BGP: Rola RPKI

RPKI (Resource Public Key Infrastructure) wykorzystuje trzy stany walidacji: Valid (trasa potwierdzona przez wlasciciela), NotFound (brak rekordu) i Invalid (trasa ogloszona przez nieuprawniony AS). Routery z implementacja RPKI moga automatycznie odrzucac trasy Invalid. Proces ten jest standaryzowany przez ROA (Route Origin Authorization) – dokument kryptograficzny potwierdzajacy, ze dany AS ma prawo oglaszac okreslony prefiks.

23/35Konfiguracja: BGP w trzech krokach

Od zera do Established

Uruchomienie BGP zaczynamy od router bgp [ASN]. Potem definiujemy sasiada: neighbor [IP] remote-as [ASN_sasiada]. Dopiero gdy sesja „wstanie" (stan Established), mozemy zaczac oglaszac wlasne podsieci za pomoca komendy network (pamietajac o masce!).

Weryfikacja to podstawa. Polecenie show ip bgp summary pokaze Ci, czy Twój sasiad z nami rozmawia i ile tras nam przeslal. Pamietaj: w BGP zmiany nie zachodza natychmiastowo jak w OSPF – tablice sa gigantyczne, wiec proces synchronizacji po zmianie konfiguracji moze potrwac od kilku sekund do nawet minuty.

Podstawowa konfiguracja BGP

Podstawowa konfiguracja BGP na routerze Cisco moze wygladac nastepujaco: router bgp 65001, neighbor 10.0.0.2 remote-as 65002, network 192.168.1.0 mask 255.255.255.0. Aby sesja BGP dzialala, musi istniec lacznosc IP miedzy peerami (najlepiej bezposrednia lub z odpowiednia trasa statyczna). W przypadku iBGP zalecane jest uzycie adresów loopback i opcji neighbor [IP] update-source loopback0. Stan sesji mozna sledzic za pomoca show ip bgp neighbors [IP].

24/35Podsumowanie: od firmy do swiata

Wielka podróż po protokolach routingu

Zakonczylismy wielka podróż po protokolach routingu. Wiemy juz, jak dziala szybkie EIGRP wewnatrz firmy i jak gigantyczne BGP zarzadza ruchem miedzy kontynentami. Rozumiemy znaczenie atrybutów, wplyw Systemów Autonomicznych i wage bezpieczenstwa cyfrowego.

Ta wiedza pozwala nam spojrzec na siec nie jako na kable, ale jako na globalny, polityczno-ekonomiczny ekosystem. Czas na ostatni temat: jak poradzic sobie z redundancja na poziomie switchy, aby nasze kable nie tworzyly morderczych petli rozgloszeniowych. Przed nami swiat STP.

Podsumowanie czesci D

Sciezka edukacyjna od EIGRP przez BGP do STP pokazuje pelny obraz nowoczesnych sieci komputerowych: od szybkiego protokolu wewnetrznego (EIGRP), przez globalny routing miedzyoperatorski (BGP), az po ochrone przed petlami w warstwie lacza danych (STP). Kazdy z tych protokołów pelni inna role, ale wszystkie sa niezedne do budowy stabilnej, bezpiecznej i wydajnej infrastruktury sieciowej.

25/35Smiertelna petla L2

Problem petli w sieciach przelaczanych

Chcemy miec dwa kable miedzy przelacznikami na wypadek awarii – to swietny pomysl! Ale bez odpowiedniego protokolu, to recepta na katastrofe. W warstwie 2 pakiety nie maja licznika TTL (czasu zycia), wiec jesli wpadna w petle, beda krazyc wiecznie, powielajac sie miliony razy na sekunde.

Zjawisko to nazywamy „burza broadcastowa". Przelacznik zostaje zalany milionami tych samych ramek, jego procesor skacze do 100%, a cala siec w biurze po prostu zamiera. Zaden komputer nie moze wyslac ani odebrac danych. To najgorszy rodzaj awarii lokalnej, jaki moze spotkac administratora.

Problem petli L2 w sieciach przelaczanych

W warstwie 2 (Ethernet) ramki nie maja pola TTL – to cecha charakterystyczna protokołów warstwy 3 (jak IP). Gdy ramka Ethernet wejdzie w petle, kazdy przelacznik ja powiela i przesle dalej, co prowadzi do lawinowego wzrostu ruchu. W ciagu kilku sekund siec moze zostac calkowicie sparalizowana. Jedynym sposobem na przerwanie burzy broadcastowej jest fizyczne odlaczenie kabla tworzacego petle lub zresetowanie przełączników. To dosadnie pokazuje, dlaczego protokół STP jest niezedny w kazdej sieci z nadmiarowymi polaczeniami.

26/35Ratunek: protokół STP

Inteligentny automatyczny bezpiecznik

Abysmy mogli bezpiecznie laczyc switche wieloma kablami, powstal STP (Spanning Tree Protocol). Jego rola jest prosta: ma tak zarzadzac portami, aby w sieci istniala tylko jedna aktywna droga do celu, mimo ze fizycznie kabli jest wiecej.

STP to taki „inteligentny automatyczny bezpiecznik". Wykrywa on petle i logicznie blokuje zbedne porty (wylacza je). Ale najpietniejsze jest to, ze gdy główny kabel zostanie przeciety, STP natychmiast to poczuje i odblokuje zapasowa droge. Dzieki niemu mamy redundancje bez ryzyka parali?u sieci.

Wprowadzenie do STP

STP zostal zdefiniowany w standardzie IEEE 802.1D. Dziala na zasadzie algorytmu Spanning Tree opracowanego przez Radie Perlman w 1985 roku. Protokół ten tworzy logiczna topologie bez petli (drzewo rozpinajace) w sieci fizycznie zawierajacej polaczenia nadmiarowe. Kluczowym elementem STP jest wymiana ramek BPDU (Bridge Protocol Data Units) miedzy przelacznikami, które niosa informacje o identyfikatorze mostu, koszcie sciezki i stanach portów.

27/35Jak STP buduje drzewo?

Wybory, koszty i blokowanie

Proces STP przypomina wybory. Najpierw switche wybieraja swojego szefa – Root Bridge (Most Główny). To on bedzie centrum caleo „drzewa" bez petli. Potem kazdy switch szuka najtanszej (najszybszej) drogi do tego szefa.

Wszystkie porty, które sa na drodze do szefa, zostaja wlaczone. Te, które tworza niebezpieczne skróty (petle), zostaja zaklejone (zablokowane). Wynikiem jest logiczna struktura drzewa: jeden pien (Root Bridge) i galezie prowadzace do kazdego urzadzenia, bez zadnych zamknietych obwodów.

Zasada dzialania STP

Algorytm STP przebiega w trzech etapach: 1) Wybór Root Bridge – przelacznik z najnizszym Bridge ID (BID = priorytet + adres MAC) zostaje korzeniem. 2) Wybór Root Port – kazdy nie-korzenny przelacznik wybiera jeden port o najnizszym koszcie dotarcia do Root Bridge. 3) Wybór Designated Port – na kazdym segmencie sieci jeden port otrzymuje status wyznaczonego. Porty niepelniacne zadnej z tych ról zostaja zablokowane.

28/35Kto jest szefem? root bridge

Wybór na podstawie Bridge ID

Wybór szefa (Root Bridge) opiera sie na parametrze Bridge ID (BID). To kombinacja Priorytetu i adresu MAC. Wygrywa ten, kto ma najnizszy numer. To bardzo wazne: domyslnie wszystkie przelaczniki maja ten sam priorytet, wiec szefem zostaje... ten najstarszy (z najnizszym adresem MAC).

To blad! Administrator powinien recznie obnizyc priorytet na najmocniejszym, głównym przelaczniku w serwerowni. Chcemy, aby serce sieci bllo w najszybszym urzadzeniu, a nie w jakims starym switchu zapomnianym w szafie na korytarzu. To fundament stabilnosci sieci lokalnej.

Most główny (Root Bridge)

Bridge ID sklada sie z dwóch czesci: 2-bajtowego priorytetu (domyslnie 32768) i 6-bajtowego adresu MAC. Priorytet mozna ustawiac recznie w krokach co 4096 (zgodnie ze standardem IEEE 802.1t). Aby wymusic wybór konkretnego przelacznika jako Root Bridge, nalezy ustawic mu priorytet np. 0 lub 4096 za pomoca komendy spanning-tree vlan [ID] priority [wartosc]. Drugi switch w hierarchii powinien miec priorytet 8192, aby przejac role w razie awarii głównego.

29/35Koszt drogi w STP

Predkoa kabla jako koszt

Switche nie licza liczby kabli, ale ich predkosc. Kazdy standard ma swój koszt: kabel 10 Gb/s ma koszt 2, 1 Gb/s ma koszt 4, a stary 100 Mb/s az 19. STP zawsze wybierze droge o najnizszej sumie kosztów.

To bardzo logiczne – przelacznik woli wyslac dane dluzsza droga przez dwa szybkie swiatlowody (koszt 4+4=8) niz krótka droga przez jeden stary kabel miedziany (koszt 19). Dzieki temu system automatycznie dba o to, aby Twoje pliki firmowe zawsze lecialy najszybsza moliwa magistrala.

Sciezka główna (Root Path Cost)

Koszty STP wedlug standardu IEEE 802.1D-2004: 10 Mb/s = 100, 100 Mb/s = 19, 1 Gb/s = 4, 10 Gb/s = 2, 100 Gb/s = 1. Nowy standard uzywa skali nieliniowej, aby lepiej oddawac roznice w przepustowosci. Root Path Cost to suma kosztów wszystkich laczy na sciezce od danego przelacznika do Root Bridge. Port o najnizszym koszcie zostaje Root Portem. W przypadku remisu decyduje Bridge ID sasiada (nizszy = lepszy).

30/35Root port: droga do szefa

Najwazniejsze gniazdko na switchu

Root Port to „najważniejsze gniazdko" na kazdym switchu (poza szefem). To jedyne wyjscie, przez które ten switch moze rozmawiac z reszta swiata w kierunku korzenia sieci. Przelacznik wybiera ten port na podstawie najnizszego kosztu dotarcia do Root Bridge.

Root Port jest zawsze aktywny i swiety – jesli on padnie, cala gale sieci zostaje odcieta, dopóki STP nie wyliczy nowej drogi przez inny, dotychczas zablokowany kabel. To fundament nawigacji wewnatrz sieci lokalnej.

Role portów STP: Root Port

Root Port (RP) to port na przelaczniku nie-korziennym, który ma najkrótsza droge (najnizszy koszt) do Root Bridge. W przypadku remisu kosztu, STP porównuje identyfikator sasiedniego przelacznika (Bridge ID – nizszy = lepszy), a jesli to nie rozstrzyga, identyfikator portu sasiedniego. Root Port zawsze znajduje sie w stanie Forwarding. Na samym Root Bridge nie ma Root Portów – wszystkie jego porty sa Designated Portami.

31/35Designated port: wyznaczone wyjscie

Pan i wladca na kazdym kablu

Na kazdym kablu łączącym dwa switche musi byc jeden pan i wladca – Designated Port (Port Wyznaczony). To port, któremu STP pozwolilo przesylac dane na ten konkretny odcinek sieci. Wszystkie porty na samym szefie (Root Bridge) sa automatycznie portami wyznaczonymi.

Wybór jest prosty: wygrywa ten switch, który ma blizej (taniej) do szefa. Dzieki temu unikamy sytuacji, w której dwa porty na jednym kablu próbują naraz przesylac te same dane, co moglo doprowadzic do niepotrzebnego zamieszania i spadku wydajnosci sieci.

Role portów STP: Designated Port

Designated Port (DP) jest wybierany dla kazdego segmentu sieci (kabla). Na segmencie, który l aczy dwa przelaczniki, ten z nizszym kosztem do Root Bridge ma Designated Port. Drugi port na tym samym segmencie staje sie portem nie-wyznaczonym i przechodzi w stan Blocking. Root Port i Designated Port zawsze sa w stanie Forwarding. Porty blokowane sa w stanie Blocking – nie przesylaja danych, ale nadal odbieraja BPDU.

32/35Blokowanie: nasza polisa ubezpieczeniowa

Bohater drugiego planu

Port Blokowany (Blocking) to bohater drugiego planu. Nie przesyla on zadnych Twoich danych, nie swieci na zielono, wydaje sie bezuzyteczny. Ale to on ratuje siec przed petla. Caly czas 'nasluchuje", czy reszta sieci zyje.

To jak kolo zapasowe w bagazniku. Nie uzywasz go na co dzien, ale gdy glowne kolo (Root Port) peknie, Port Blokowany w kilka sekund zmienia sie w port aktywny i przywraca lacznosc w calym biurze. Bez tych 'uspionych" polaczen nasze sieci bylyby niezwykle wrazliwe i podatne na kazda, nawet najmniejsza awarie sprzetowa.

Role portów STP: Port Blokowany

Port w stanie Blocking (blokowania) nie przesyla ramek danych ani nie uczy adresów MAC – moze jedynie odbierac i przetwarzac ramki BPDU. Stan ten jest kluczowy dla zapobiegania petlom. Gdy Root Port lub Designated Port ulegnie awarii (brak BPDU przez okres Max Age, domyslnie 20 sekund), STP inicjuje przeliczenie topologii. Port blokowany moze wtedy przejsc przez stany Listening i Learning, aby po ok. 30–50 sekundach stac sie nowym Root Portem lub Designated Portem w stanie Forwarding.

33/35Stany portów: od ciszy do pracy

Cztery stany portu w STP

Port w STP nie wlacza sie od razu. Zanim zacznie przesylac Twoje dane (Forwarding), przechodzi dluga droge: od blokady (Blocking), przez nasluchiwanie (Listening), az po nauke adresów MAC (Learning). Caly ten proces trwa az 30–50 sekund.

To dlatego po wpieciu kabla do switcha musisz chwile poczekac, az kontrolka zmieni sie z pomaranczowej na zielona. Przelacznik w tym czasie upewnia sie: ?Czy jesli sie teraz wlacze, to czy nie spali to calej sieci przez petle??. To rygorystyczny protokół bezpieczenstwa, który chroni firme przed pochopnymi zmianami w topologii.

Stany portów STP

Pie stanów portu w STP: 1) Blocking – port nie przesyla danych, tylko odbiera BPDU (czas: 20 sek max age). 2) Listening – port nasluchuje BPDU, nie uczy adresów (czas: 15 sek Forward Delay). 3) Learning – port nasluchuje BPDU i uczy adresów MAC (czas: 15 sek Forward Delay). 4) Forwarding – port przesyla dane i uczy adresów. 5) Disabled – port wylaczony administracyjnie. Standardowy czas konwergencji STP to ok. 30–50 sekund (2 x Forward Delay + Max Age).

34/35BPDU: jezyk przełączników

Bicie serca sieci Spanning Tree

Switche nieustannie do siebie szepcza za pomoca ramek BPDU. Co 2 sekundy wysylaja do sąsiadów informacje: ?Czesc, ja wciaz zyje, szefem jest ten switch, a koszt do niego to tyle i tyle?. To bicie serca sieci Spanning Tree.

Jesli jaki switch przestanie odbierac BPDU od sasiada, od razu wszczyna alarm i zaczyna wielkie przeliczanie nowej trasy. Dzieki tym krótkim, regularnym komunikatom siec lokalna jest ?zywa? i potrafi samodzielnie reagowac na awarie bez interwencji czlowieka.

BPDU (Bridge Protocol Data Unit)

Ramka BPDU zawiera: ID protokolu, wersje, typ BPDU (Configuration BPDU lub Topology Change Notification BPDU), flagi, Root Bridge ID, Root Path Cost, Bridge ID nadawcy, Port ID, oraz timery (Hello Time, Forward Delay, Max Age). Główny przelacznik (Root Bridge) wysyla BPDU co 2 sekundy (Hello Time). Gdy przelacznik wykryje zmiane topologii (np. port przechodzi w stan Forwarding), wysyla TCN BPDU, co powoduje skrócenie czasu starzenia adresów MAC w calej sieci.

35/35RSTP: ekspresowa naprawa sieci

Rapid Spanning Tree Protocol

Cierpliwosc administratorów ma swoje granice – 50 sekund czekania w starym STP to w dzisiejszych czasach wiecznosc. Dlatego powstal RSTP (Rapid STP). Dziala on niemal identycznie, ale... blyskawicznie. Czas naprawy sieci skrócił sie z minuty do zaledwie kilku milisekund.

RSTP zamiast czekac na przestarzale liczniki czasowe, uzywa aktywnej negocjacji (?Szybki uscisk dloni?). Jesli masz nowoczesne przelaczniki, zawsze wybieraj RSTP. To standard, który sprawia, ze redundancja jest calkowicie niezauwazalna dla uzytkownika – nawet przy wielkiej awarii port ladowania przelaczy sie tak szybko, ze strona w Twojej przegladarce zaladuje sie bez bledu.

RSTP (Rapid STP, IEEE 802.1w)

RSTP (IEEE 802.1w) wprowadza trzy role portów: Root Port, Designated Port i Alternate/Backup Port (które sa gotowe do natychmiastowego przejscia w stan Forwarding w razie awarii). RSTP eliminuje stan Listening i skraca Learning (port czeka tylko na synchronizacje). Kluczowa zmiana: port krawedziowy (edge port) – port polaczony z hostem, który moze natychmiast przejsc w stan Forwarding (odpowiednik spanning-tree portfast w Cisco). RSTP jest domyslnie wlaczony we wszystkich nowoczesnych przelacznikach.