Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

10

Click here to load reader

Transcript of Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Page 1: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

RAFAŁ POLAK DARIUSZ LASKOWSKI E–mail: [email protected], [email protected]

Instytut Telekomunikacji, Wydział Elektroniki,

Wojskowa Akademia Techniczna w Warszawie

ul. Gen. S. Kaliskiego 17/407, 00-908 Warszawa

EFEKTYWNOŚĆ PROTOKOŁÓW TRASOWA-NIA BGP + OSPF PRZY REALIZACJI USŁUG

TRANSPORTU DANYCH

Streszczenie: Artykuł porusza tematykę efektywności dynamicznych protoko-

łów routingu wewnątrz i między domenowych OSPF wraz z BGP podczas prze-

syłania danych oraz wymiany informacji o dostępnych trasach. Wspomniane

protokoły zostały opisane wraz w wyszczególnieniem zalet, które zadecydowa-

ły o ich wyborze. Następnie dokonano szczegółowej analizy procesu konfigura-

cji protokołów na routerach firmy Cisco i przeprowadzonych testów pod wzglę-

dem wydajnościowym jak i stabilności sieci w przypadku fizycznych

uszkodzeń.

Słowa kluczowe: trasowanie, protokoły sieciowe, transmisja danych, BGP.

1. Wstęp

Podstawowym założeniem sieci komputerowych jest transmisja informacji mię-

dzy połączonymi ze sobą za pomocą usług telekomunikacyjnych komputerami.

Z najpowszechniejszych przeznaczeń sieci można wyróżnić: komunikację

między użytkownikami, transport danych i udostępniania zasobów sprzętowych.

Poprawność realizacji tych usług wymaga wielodrożnego transportu pakietów

w sieci, kierowanego przez wyspecjalizowanego zarządcę tras, którym są proto-

koły routingu. Dynamicznie rozwijająca się sieć komputerowa oraz rosnące wraz

z jej rozwojem wymagania przyczyniły się do znacznego rozwoju protokołów,

dzięki czemu powstała znaczna liczba protokołów wspierających sieć, które po-

Page 2: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Rafał Polak, Dariusz Laskowski

208

magają w znacznym stopniu kierować pakietami tak, aby jak najszybciej i efek-

tywniej przemieszczały się one w sieci, która w dzisiejszych czasach ma miliardy

użytkowników. Wyznaczaniem trasy oraz wysyłaniem pakietów danych w sieci

komputerowej zajmuje się dziedzina zwana trasowaniem (ang. Routing), w której

urządzeniami węzłowymi odpowiedzialnymi za kształtowanie ruchu sieciowego

są routery. Zadaniem routerów jest najlepszy wybór trasy pakietów między na-

dawcą a odbiorcą. Elementem, dzięki któremu routery wybierają najlepsze trasy

jest ich tablica routingu, na podstawie której wybierana jest ścieżka podążania

pakietu od nadawcy poprzez kolejne routery, aż do adresata. Do stworzenia

i aktualizacji tablicy routingu konieczne jest zastosowanie mechanizmów siecio-

wych trasowania danych. Wyróżniamy wśród nich trasowanie statyczne

i dynamiczne. W trasowaniu statycznym administrator sieci ręcznie ustala tablice

i wybór ścieżek, rozwiązanie to ma sens tylko w małych sieciach, gdzie admini-

strator zna wszystkie połączenia i chce mieć nad nimi pełną kontrolę. Trasowanie

dynamiczne odbywa się za pomocą protokołów trasowania, używanych do wy-

miany informacji o trasach między sieciami komputerowymi. Za pomocą tych

protokołów routery same komunikują się między sobą i uzupełniają swoje tablice

routingu, wysyłając między sobą informacje gdzie się znajdują, jakie routery są

w pobliżu i jak wygląda ich sieć, dzięki czemu nie jest wymagana ingerencja

administratora przy jakichkolwiek zmianach w sieci. W trasowaniu dynamicznym

rozróżniamy protokoły wewnątrz domenowe IGP (ang. Interior Gateway Proto-

col) używane do wymiany informacji o trasach o pojedynczym systemie autono-

micznym oraz protokoły między domenowe EGP (ang. Exterior Gateway Proto-

col) używane do wymiany informacji o trasach między różnymi systemami

autonomicznymi.

2. Charakterystyka protokołów BGP i OSPF

Routing dynamiczny jest to technika routingu, w której tablice trasowania są

budowane przez protokoły routingu dynamicznego. Protokoły routingu mają

określone funkcje, które muszą realizować. Zbierają informacje o sieciach

i podsieciach od routerów znajdujących się w sąsiedztwie. Wysyłają informacje

o swoich tablicach routingu do sąsiednich routerów. W przypadku, gdy do danej

podsieci istnieje więcej niż jedna droga, wybierają najlepszą z nich na podsta-

wie metryki. Jeśli nastąpi awaria, bądź zmiana w topologii sieci dokonują

zbieżności, wykonując proces ogłaszania o zaistniałej zmianie do sąsiednich

routerów oraz wybierania najlepszych tras z pozostałych. Jest to najważniejsza

Page 3: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Efektywność protokołów trasowania…

209

funkcja routerów. Spośród protokołów bramy wewnętrznej IGP warto wyróżnić

protokół OSPF (ang. Open Shortest Path First), który cechuje się bardzo dobrą

skalowalnością, dzięki czemu jest to preferowany protokół w sieciach wewnątrz

domenowych. Nie posiada on ograniczeń liczby przeskoków między routerami.

Protokół ten identyfikuje się, a następnie komunikuje ze swoimi sąsiadami za

pomocą komunikatów, w których routery wysyłają do siebie informacje na te-

mat stanu swoich połączeń, po czym je przetwarzają i budują bazę danych sta-

nów łącz, w której są zawarte informacje o tym, kto, z kim jest połączony. Bazy

danych stanów łącz są identyczne dla wszystkich routerów w danym obszarze.

Po zbudowaniu takich każdy router niezależnie korzystając z algorytmu SPF

buduje topologie sieci w postaci drzewa, w której sam jest korzeniem i ustala

najlepsze trasy licząc koszt dotarcia do docelowej podsieci, najczęściej metryką

kosztu jest szerokość pasma i w ten sposób buduje swoją tablice routingu. Rou-

tery z protokołem OSPF budują relacje ze swoimi sąsiadami, aby sprawnie

przekazywać sobie informacje o stanie swoich łącz. Protokół OSPF jest bardzo

rozbudowany i daje możliwość budowania złożonych sieci i zapewnia dobrą

możliwość komunikacji wewnątrz systemu autonomicznego, jednak, aby taka

sieć działała sprawnie potrzebna jest dobra konfiguracja i zarządzanie. W przy-

padkach dużych sieci mogą się pojawić pewne problemy. W zagęszczonych sie-

ciach routery często musiałyby uruchamiać algorytm SPF do tworzenia topologii,

co zajmowałoby sporą część zasobów procesowa oraz pamięci routerów, ponadto

powstanie ogromnej ilości tras może doprowadzić do przepełnienia tablic routin-

gu, co w znacznym stopniu zmniejszyłoby efektywność sieci. Aby zaradzić tym

problemom można podzielić sieć na systemy autonomiczne wyróżniając szkielet

sieci oraz niezależne obszary. Do komunikacji między systemami autonomicz-

nymi najlepszym protokołem bramy zewnętrznej EGP jest protokół BGP, który

w odróżnieniu od protokołów IGP nie korzysta z metryk do wyboru ścieżek, tylko

podejmuje decyzję na podstawie strategii sieciowych. Komunikacja w BGP od-

bywa się w ten sposób, że po ustanowieniu połączenia między dwoma routerami

są one routerami równorzędnymi, wymieniającymi się komunikatami, dzięki

którym mogą otwierać oraz potwierdzać parametry połączenia. Wymieniają się

one trasami i wysyłają częściowe uaktualnienia na temat zmian w sieci. W przy-

padku braku porozumienia między routerami BGP, wysyłane są komunikaty in-

formujące o błędach i połączenie nie jest realizowane. W komunikatach uaktual-

nień są zawarte informacje dotyczące tras znanych przez routery, między innymi

jest to prefiks trasy, ścieżki systemu autonomicznego oraz atrybuty trasy. Jeśli

informacje na temat osiągalności w sieci ulegną zmianie, z której wynika, że jest

dostępna lepsza trasa, bądź jakaś trasa staje się nieosiągalna, router BGP informu-

je swoich sąsiadów o zaistniałej sytuacji poprzez wycofanie nieaktualnych tras

i dodanie nowych informacji routing’owych.

Page 4: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Rafał Polak, Dariusz Laskowski

210

3. Koncepcja stanowiska badawczego

W przygotowanym środowisku sieciowym opartym o stos protokołów TCP/IP

utworzono 3 systemy autonomiczne, spośród których jeden jest szkieletem sie-

ci. Szkielet jest zbudowany przez 5 routerów Cisco 2811, a routerami brzego-

wymi dla pozostałych domen są routery Cisco 1812.

Rys. 1. Topologia sieci wraz z adresacją

Protokołem routingu zastosowanym w szkielecie sieci jest protokół

OSPFv2. Służy on do dynamicznego wybierania tras w szkielecie. Protokół

Page 5: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Efektywność protokołów trasowania…

211

ten daje możliwość osiągnięcia szybkiej konwergencji w przypadku uszko-

dzenia jednostki znajdującej się w rdzeniu sieci. OSPF zapewnia efektywną

komunikację i dokonuje wyboru najlepszych tras w strukturze sieci na pod-

stawie metryki stanu łącza. Do komunikacji między systemami autonomicz-

nymi został zastosowany protokół BGPv4. Na wszystkich routerach zostały

zaimplementowane interfejsy pętli zwrotnej (ang. loopback) do ogłaszania

swoich tras, w przypadku, gdyby te interfejsy nie zostały uruchomione trze-

ba by było ustawiać trasy statyczne. Interfejsy loopback są interfejsami wir-

tualnymi, a więc nie są przypisane do żadnego interfejsu fizycznego, dzięki

czemu nie ma możliwości, aby uległy awarii, zapewniając prawidłowa funk-

cjonalność przez cały okres działania urządzenia, jednoczenie pełnią funkcję

router-id routera. Zbudowana topologia wraz z adresacją prezentuje się na-

stępująco (Rys. 1).

4. Konfiguracja routerów firmy Cisco

Proces konfiguracji polegał na uruchomieniu protokołu OSPF w szkielecie sieci

co pozwala na szybkie osiąganie konwergencji w przypadku jakichkolwiek zmian

w strukturze sieci oraz za pomocą protokołu iBGP przesyłania informacji o sys-

temach autonomicznych, w których skład wchodziły routery brzegowe komuni-

kujące się za pośrednictwem protokołu BGP.

Poniżej przedstawiono przykładową konfigurację dla routerów szkieleto-

wych (Skrypt 1) oraz brzegowych (Skrypt 2):

Skrypt 1. Konfiguracja routera szkieletowego R1

enable

configure terminal

hostname R1

enable secret 5 wat

interface Loopback0

ip address 1.1.1.1 255.255.255.255

interface FastEthernet0/0

description R1-BR1

ip address 172.100.1.2 255.255.255.252

interface FastEthernet0/1

description R1-R2

ip address 192.168.1.1 255.255.255.252

Page 6: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Rafał Polak, Dariusz Laskowski

212

router ospf 1

log-adjacency-changes

passive-interface FastEthernet0/0

network 1.1.1.1 0.0.0.0 area 0

network 192.168.1.0 0.0.0.3 area 0

network 192.168.2.0 0.0.0.3 area 0

network 192.168.3.0 0.0.0.3 area 0

router bgp 2

no synchronization

bgp log-neighbor-changes

neighbor 2.2.2.2 remote-as 2

neighbor 2.2.2.2 update-source Loopback0

neighbor 2.2.2.2 next-hop-self

neighbor 3.3.3.3 remote-as 2

neighbor 3.3.3.3 update-source Loopback0

neighbor 3.3.3.3 next-hop-self

neighbor 4.4.4.4 remote-as 2

neighbor 4.4.4.4 update-source Loopback0

neighbor 4.4.4.4 next-hop-self

neighbor 5.5.5.5 remote-as 2

neighbor 5.5.5.5 update-source Loopback0

neighbor 5.5.5.5 next-hop-self

neighbor 172.100.1.1 remote-as 1

neighbor 172.100.1.1 ebgp-multihop 2

neighbor 172.100.1.1 update-source Loopback0

no auto-summary

end

Skrypt 2. Konfiguracja routera brzegowego BR1

enable

configure terminal

hostname BR1

enable secret 5 wat

interface Loopback0

ip address 11.11.11.11 255.255.255.255

interface FastEthernet0

description SIEC

ip address 172.100.10.1 255.255.255.252

interface FastEthernet1

description BR1-R1

ip address 172.100.1.1 255.255.255.252

router bgp 1

no synchronization

bgp log-neighbor-changes

Page 7: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Efektywność protokołów trasowania…

213

network 11.11.11.11 mask 255.255.255.255

network 172.100.10.0 mask 255.255.255.0

redistribute connected

neighbor 1.1.1.1 remote-as 2

neighbor 1.1.1.1 ebgp-multihop 2

neighbor 172.100.1.2 remote-as 2

no auto-summary

ip route 1.1.1.1 255.255.255.255 172.100.1.2 end

Podczas konfiguracji protokołu OSPF kluczową komendą było polecenie

network deklarujące sieci przyległe do konfigurowanego routera. Natomiast

w przypadku iBGP deklaracja sąsiadów znajdujących się w sieci, jako wirtualne

interfejsy loopback komendą neighbor, co pozwala na komunikację nawet

w przypadku uszkodzenia któregoś z fizycznych interfejsów. Wymiana infor-

macji między systemami autonomicznymi zapewniona poprzez protokół eBGP

została zapewniona dzięki deklaracji routerów przyległych ze szkieletu sieci

oraz wskazaniu odległości, w jakiej się znajdują przez polecenie ebgp-multihop.

5. Testowanie sieci

Testy wydajności sieci zostały dokonane za pomocą programu Iperf z dodatkiem

w postaci nakładki graficznej Jperf umożliwiającej zobrazowanie graficzne

otrzymanych wyników. Program ten został zainstalowany na komputerach PC1

i PC2 znajdujących się po obu stronach sieci w różnych systemach autonomicz-

nych. Jeden komputer został uruchomiony w postaci serwera, zaś drugi, jako

klient. Oprogramowanie Iperf przesyła strumień danych między użytkownikami

umożliwiając pomiar wartości maksymalnej transmisji jednostek pakietów (ang.

bandwidth), procentu utraconych pakietów (ang. packet lost) i jitter’a. Pomiary

zostały dokonane na poziomie warstwy transportu za pomocą przesyłania pakie-

tów TCP i UDP. W obu przypadkach otrzymane wyniki były bardzo zbliżone.

Aby zwiększyć wiarygodność testów oprócz przesyłania pojedynczego strumienia

sprawdzono zachowanie sieci w trybie full duplex, czyli równocześnie dla obu

kierunków. Opcja ta nie wpłynęła na pasmo, które podczas wszystkich testów

było w granicy 94 Mb/s. Jest to bardzo zadowalający wynik biorąc pod uwagę

specyfikację komponentów sieciowych, których porty wykorzystają z technologii

100BASE-TX, w której możliwe maksymalne pasmo to 100 Mb/s.

Page 8: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Rafał Polak, Dariusz Laskowski

214

Rys. 2. Przepływność sieci podczas testów

Dalsze pomiary polegały na sprawdzeniu procentu utraty pakietów oraz

jitter’a. Otrzymane wyniki w tym teście, również były bardzo zadowalające,

ponieważ utrata pakietów wynosiła 0% przez cały czas dokonywania pomiarów,

zaś jitter był rzędu tysięcznych milisekundy.

Kolejny test ma na celu analizę stabilności sieci oraz zachowania protokołu

OSPFv2 w przypadku awarii kilku podsieci w szkielecie. Pierwszym krokiem

była analiza za pomocą komendy traceroute trasy pakietów z komputera PC1

znajdującego się w AS1 do komputera PC2 znajdującego się w AS3 w sieci

działającej bez żadnych uszkodzeń. Następnie wyłączono fizycznie z portów

podsieci 192.168.3.0, 192.168.4.0 i 192.168.5.0 w celu przeprowadzenia analizy

zachowania protokołu w przypadku uszkodzenia sieci. Poniżej przedstawiono

zobrazowanie dokonanego testu (Rys. 3).

Po dokonanej analizie wyboru nowych tras i zestawionego połączenia moż-

na stwierdzić, że czas konwergencji osiągnięty przez sieć był bardzo zadowala-

jący, ponieważ sieć nawet na chwilę nie przestała działać. Jest to bardzo dużą

zaletą dynamicznego protokołu routingu, którym jest OSPF.

Page 9: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Efektywność protokołów trasowania…

215

Rys. 3. Uszkodzone podsieci i dostępne trasy

6. Wnioski

Realizacja zadania wymagała zbudowania topologii opierającej się na kilku

systemach autonomicznych. W jednej domenie, będącej szkieletem sieci do

wymiany informacji został zastosowany protokół bramy wewnętrznej OSPFv2

zaś informacje wymieniane pomiędzy domenami były obsługiwane przez pro-

tokół BGPv4.

Konfiguracja protokołu OSPFv2 w szkielecie przebiegłą sprawnie i bezpro-

blemowo. Aby uruchomić ten protokół należało zadeklarować podłączone sieci

do każdego routera, po czym w bardzo krótkim czasie wszystkie routery posia-

dały informacje o dostępnych trasach. Ważnymi cechami tego protokołu jest

Page 10: Rafał POLAK, Dariusz LASKOWSKI Efektywność protokołów ...

Rafał Polak, Dariusz Laskowski

216

wysoka niezawodność oraz szybka konwergencja, co zostało sprawdzone do-

świadczalnie podczas przeprowadzonych testów, gdy w przypadku fizycznego

uszkodzenia kilku podsieci cała topologia działała bez zastrzeżeń w oparciu

o nowe trasy. Dzięki metryce stanu łącza pozwala on również na bardzo efek-

tywne przesyłanie danych, co również zostało zaobserwowane podczas testów.

Dużo większych nakładów czasowych natomiast wymagała konfiguracja

protokołu między domenowego routingu BGPv4. Związane to było ze złożono-

ścią protokołu oraz poznaniem dokładnej zasady działania. Jednak po wnikliw-

szej analizie zachowania routingu dalsza konfiguracja przebiegła bezproblemo-

wo. BGPv4, jako jedyny używany protokół zewnętrznej bramy bardzo dobrze

realizuje swoje zadania i zapewnia szereg dodatkowych opcji definiujących

politykę routingu. Ponadto ze względu na szereg usług administracyjnych do-

skonale się sprawdza zarówno do wymiany informacji między prywatnymi

systemami autonomicznymi, jaki i w globalnej sieci Internet.

W przypadku rozbudowanej architektury sieci opartej o kilka systemów au-

tonomicznych bardzo dobrym rozwiązaniem jest wspólne zastosowanie proto-

kołów OSPFv2 i BGPv4 z wyszczególnieniem szkieletu sieci będącym rdze-

niem topologii. Zaletą protokołu OSPFv2 jest częstsza wymiana informacji niż

w BGPv4, co przekłada się na szybszą reakcję sieci i szybsze osiągnięcie zbież-

ności routerów. Pozwala to na efektywne wykorzystanie łącz oraz szybką kon-

wergencję w przypadku awarii.

Literatura

1. Graziani R., Johnson A.: Akademia sieci Cisco CCNA Exploration Se-

mestr 2, Protokoły i koncepcje routingu, PWN, Warszawa 2011r.

2. Praca zbiorcza. Vademecum Teleinformatyka I. IDG Poland SA, Warsza-

wa, 1999r.

3. Odom W., McDonald R.: Akademia sieci Cisco CCNA semestr 2: Routery

i podstawy routingu, PWN, Warszawa 2007r.

4. Lewis Ch.: Routing Cisco TCP/IP, MCGRAW HILL BOOK CO, 2000r.

5. McGregor M.: Akademia sieci Cisco Semestr piąty, MIKOM, Warszawa

2002r.

6. RFC 4271: A Border Gateway Protocol 4 (BGPv4).

7. RFC 2328: OSPF Version 2.