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

Transkrypt

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 TRASOWANIA 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 przesył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 konfiguracji 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ą protokoł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-
208
Rafał Polak, Dariusz Laskowski
magają w znacznym stopniu kierować pakietami tak, aby jak najszybciej i efektywniej 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 nadawcą 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 sieciowych 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 administrator zna wszystkie połączenia i chce mieć nad nimi pełną kontrolę. Trasowanie
dynamiczne odbywa się za pomocą protokołów trasowania, używanych do wymiany 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 Protocol) używane do wymiany informacji o trasach o pojedynczym systemie autonomicznym oraz protokoły między domenowe EGP (ang. Exterior Gateway Protocol) 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 podstawie 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
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 temat stanu swoich połączeń, po czym je przetwarzają i budują bazę danych stanó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. Routery 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 przypadkach dużych sieci mogą się pojawić pewne problemy. W zagęszczonych sieciach 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 routingu, 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 autonomicznymi 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 odbywa 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 przypadku braku porozumienia między routerami BGP, wysyłane są komunikaty informujące o błędach i połączenie nie jest realizowane. W komunikatach uaktualnień 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 informuje swoich sąsiadów o zaistniałej sytuacji poprzez wycofanie nieaktualnych tras
i dodanie nowych informacji routing’owych.
210
Rafał Polak, Dariusz Laskowski
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 sieci. Szkielet jest zbudowany przez 5 routerów Cisco 2811, a routerami brzegowymi 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ół
Efektywność protokołów trasowania…
211
ten daje możliwość osiągnięcia szybkiej konwergencji w przypadku uszkodzenia jednostki znajdującej się w rdzeniu sieci. OSPF zapewnia efektywną
komunikację i dokonuje wyboru najlepszych tras w strukturze sieci na podstawie metryki stanu łącza. Do komunikacji między systemami autonomicznymi 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 trzeba by było ustawiać trasy statyczne. Interfejsy loopback są interfejsami wirtualnymi, 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 funkcjonalność przez cały okres działania urządzenia, jednoczenie pełnią funkcję
router-id routera. Zbudowana topologia wraz z adresacją prezentuje się nastę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 systemach autonomicznych, w których skład wchodziły routery brzegowe komunikujące się za pośrednictwem protokołu BGP.
Poniżej przedstawiono przykładową konfigurację dla routerów szkieletowych (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
212
Rafał Polak, Dariusz Laskowski
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
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 informacji 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 autonomicznych. 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 pakietó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.
214
Rafał Polak, Dariusz Laskowski
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 zadowalający, ponieważ sieć nawet na chwilę nie przestała działać. Jest to bardzo dużą
zaletą dynamicznego protokołu routingu, którym jest OSPF.
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 protokół BGPv4.
Konfiguracja protokołu OSPFv2 w szkielecie przebiegłą sprawnie i bezproblemowo. Aby uruchomić ten protokół należało zadeklarować podłączone sieci
do każdego routera, po czym w bardzo krótkim czasie wszystkie routery posiadały informacje o dostępnych trasach. Ważnymi cechami tego protokołu jest
216
Rafał Polak, Dariusz Laskowski
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 efektywne 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 wnikliwszej analizie zachowania routingu dalsza konfiguracja przebiegła bezproblemowo. 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 doskonale 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 autonomicznych bardzo dobrym rozwiązaniem jest wspólne zastosowanie protokołów OSPFv2 i BGPv4 z wyszczególnieniem szkieletu sieci będącym rdzeniem 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ą konwergencję w przypadku awarii.
Literatura
1.
2.
3.
4.
5.
6.
7.
Graziani R., Johnson A.: Akademia sieci Cisco CCNA Exploration Semestr 2, Protokoły i koncepcje routingu, PWN, Warszawa 2011r.
Praca zbiorcza. Vademecum Teleinformatyka I. IDG Poland SA, Warszawa, 1999r.
Odom W., McDonald R.: Akademia sieci Cisco CCNA semestr 2: Routery
i podstawy routingu, PWN, Warszawa 2007r.
Lewis Ch.: Routing Cisco TCP/IP, MCGRAW HILL BOOK CO, 2000r.
McGregor M.: Akademia sieci Cisco Semestr piąty, MIKOM, Warszawa
2002r.
RFC 4271: A Border Gateway Protocol 4 (BGPv4).
RFC 2328: OSPF Version 2.