Rafał POLAK, Dariusz LASKOWSKI

Transkrypt

Rafał POLAK, Dariusz LASKOWSKI
RAFAŁ POLAK
[email protected]
DARIUSZ LASKOWSKI
[email protected]
Instytut Telekomunikacji, Wydział Elektroniki,
Wojskowa Akademia Techniczna w Warszawie
BADANIE DOBORU TRAS
W WIELODROGOWEJ ARCHITEKTURZE
SIECIOWEJ ZE WZGLĘDU NA ZMIENNE
WARUNKI SIECIOWE
Streszczenie: Artykuł przedstawia wyniki badań routingu w zmiennych warunkach funkcjonowania sieci. Przedstawiono wyniki badań na doświadczalnej
sieci opartej o routery Cisco i serwery HP.
Słowa kluczowe: routing, TCP/IP, internet, sieci komputerowe
1. Wstęp
Protokół routingu jest zbiorem algorytmów, komunikatów i procesów służących
do wymiany informacji o trasach i tworzenia tablic routing’u w routerach wybierając najlepsze trasy do dostępnych sieci. W odróżnieniu od routing’u statycznego, gdzie administrator sieci ustala ręcznie trasy, protokoły routing’u
dynamicznego robią to same na podstawie zebranych informacji od sąsiadów.
Inną zaletą stosowania protokołu routing’u dynamicznego jest to, że pozwala
reagować routerowi na zmiany w topologii sieci. Routery automatycznie dowiadują się o nowo podłączonych urządzeniach do sieci oraz potrafią wyznaczyć nową trasę w przypadku awarii łącza. Te zalety mają jednak swoją cenę,
którą jest obciążenie routera oraz zajęcie części szerokości pasma łącza. W protokołach routing’u najlepsza trasa do sieci docelowej określana jest na podsta-
100
Rafał Polak, Dariusz Laskowski
wie metryki. Metryka służy do ustalenia optymalnej trasy w sytuacji, gdy prowadzi wiele dróg do tej samej zdalnej sieci.
Zależnie od rodzaju protokołu routing’u metryka obliczana jest w odmienny
sposób. W protokole RIP metryką jest liczba skoków (ang. hop count) i jest to
inaczej liczba routerów, przez które musi przebyć pakiet, aby dotrzeć do docelowej sieci. EIGRP korzysta z metryki złożonej, na którą składa się szerokość
pasma i opóźnienie. Natomiast protokół OSPF w implementacji Cisco posługuje się kosztem ustalonym na podstawie szerokości pasma. Tablica routing’u
(ang. routing table) jest plikiem umieszczonym w pamięci RAM, który gromadzi dane o trasach do sieci zdalnych. Zawarte są w niej informacje o sieci zdalnej wraz z adresem następnego skoku (ang. next hop). Pozwala to dostarczyć
pakiet w najlepszy możliwy sposób, wysyłając go do określonego routera, który
jest następnym skokiem na drodze do docelowego adresu. Należy pamiętać, że
tablica routing’u na routerach Cisco ma strukturę klasową, co oznacza, że trasy
są tworzone na podstawie domyślnych adresów klasowych. W wypadku sieci
połączonej bezpośrednio z routerem następnym skokiem może okazać się interfejs wyjściowy.
2. Charakterystyka sieci opartej o stos protokołów
TCP/IP oraz protokołów routingu
Zbiór routerów pozostających pod wspólną administracją nazywany jest systemem autonomicznym (ang. autonomous system, AS). Zamiennie używa się
również określenia domeny routing’u (ang. routing domain). System autonomiczny zazwyczaj składa się z wielu indywidualnych sieci, które należą do
szkół, firm i innych instytucji. Ze względu na fakt, że Internet oparty jest na
koncepcji domen routing’u, istnieje podział na protokoły routing’u bramy wewnętrznej (ang. Interior Gateway Protocols, IGP) oraz protokoły routing’u
bramy zewnętrznej (ang. Exterior Gateway Protocols, EGP). Protokoły IGP są
stosowane do routing’u w obrębie domeny routing’u, czyli sieci pod kontrolą
jednej organizacji. Natomiast protokoły EGP są używane pomiędzy różnymi
systemami autonomicznymi. Protokołami IGP są: RIP, IGRP, EIGRP, OSPF
oraz IS-IS. Do EGP należy tylko jeden protokół routing’u używany w Internecie
– BGP (ang. Border Gateway Protocol). Protokoły bramy wewnętrznej można
podzielić na dwa rodzaje: protokoły routing’u wektora odległości (ang. distance
vector) oraz protokoły routing’u stanu łącza (ang. link-state). W protokołach
wektora odległości trasy są podawane jako wektory odległości i kierunku, gdzie
Badanie doboru tras w wielodrogowej architekturze sieciowej…
101
odległość określana jest poprzez metrykę (np. liczba skoków) zaś kierunkiem
jest router następnego skoku bądź interfejs wyjściowy routera. Protokoły routing’u wektora odległości stosują zazwyczaj do wyznaczenia najlepszej trasy
algorytm Bellmana-Forda, który nie umożliwia routerowi poznać szczegółowo
topologii sieci. OSPF to protokół bramy wewnętrznej należący do protokołów
routing’u stanu łącza. Obecnie w sieciach IPv4 używana jest wersja OSPFv2.
Pakiety OSPF są wysyłane bezpośrednio przez protokół IP. Pakiety hello są
stosowane przez protokół OSPF do tworzenia sąsiedzkich przyległości. Domyślnie pakiety hello są wysyłane co 10 sekund, natomiast czas uznania za
nieczynny wynosi 40 sekund. Czas uznania za nieczynny to okres, po którym
router OSPF zakończy przyległość z sąsiadem. Warunkiem dla przyległości
routerów jest zgodność ustawionych czasów hello, czasów uznania za nieczynny, typów sieci i maski podsieci. Metrykę protokołu OSPF nazywamy kosztem.
W przypadku routerów Cisco brana jest pod uwagę łączna szerokość pasma interfejsów wyjściowych z routera do sieci docelowej. Koszt interfejsu
jest obliczany jako 10 do potęgi 8, podzielone przez szerokość pasma wyrażoną w jednostce bit na sekundę. Przykładowo koszt dla FastEthernet'u posiada
wartość 1. Interfejsy z większą szerokością pasma będą posiadać niższy koszt,
a im niższy koszt, tym trasa uważana jest za lepszą. Protokół EIGRP jest to
protokół hybrydowy, zastrzeżony przez firmę Cisco, co oznacza, że może być
używany tylko na routerach Cisco. Od strony technicznej jest to protokół wektora odległości jednak wykorzystuje też dodatkowo najlepsze funkcje protokołów łącze-stan.
W porównaniu do protokołów wektora odległości wykorzystuje on takie cechy protokołów łącze-stan jak: szybka konwergencja, częściowe i skokowe
uaktualnienia, minimalne zużycie pasma, podczas stabilności sieci. W EIGRP
komunikacja między sąsiadami odbywa się podobnie jak w OSPF za pomocą
pięciu typów komunikatów. Do określenia najlepszych tras EIGRP korzysta
z metryki zbiorczej, w której skład wchodzą: pasmo, opóźnienie, niezawodność,
obciążenie oraz MTU (ang. Maximum Transmission Unit), czyli rozmiar najmniejszej maksymalnej jednostki transmisyjnej obsługiwanej przez interfejsy
routerów. Jedynym protokołem routing’u bramy zewnętrznej wykorzystywanym w globalnej sieci jest protokół BGP. Obecnie stosowany jest protokół BGP
w wersji czwartej, którego protoplastą jest protokół EGP (ang. Exterior Gateway Protocol).
Obecna wersja protokołu BGP jest podstawą współczesnego Internetu, która obsługuje VLSM (ang. Variable Length Subnet Mask) oraz CIDR (ang. Classless Inter-Domain Routing). Stworzony do trasowania pomiędzy autonomicznymi systemami (ang. autonomous system, AS) pozwala na aktywne tworzenie
102
Rafał Polak, Dariusz Laskowski
polityki trasowania. Protokół BGP funkcjonuje w oparciu o protokół warstwy
transportowej, a dokładniej wykorzystuje port protokołu TCP o numerze 179.
Pozwala to zapewnić niezawodne wysyłanie aktualizacji. Sesja BGP zestawiana jest pomiędzy tzw. sąsiadami (ang. neighbors) nazywanymi również peer’ami BGP. Rozróżniamy peer’ów wewnętrznych należących do tego samego
systemu autonomicznego, jak i peer’ów zewnętrznych, którzy są z różnych AS.
Rys. 1. Topologia sieci wraz z adresacją
Zwykle w konfiguracji procesu routing’u umieszcza się adres IP sąsiada
a także numer jego systemu autonomicznego, który może być ten sam bądź inny
niż sąsiada. Z tego względu istnieje podział na sesje wewnętrzne BGP (ang.
internal BGP, iBGP) oraz sesje zewnętrzne BGP (ang. external BGP, eBGP).
Badanie doboru tras w wielodrogowej architekturze sieciowej…
103
Każda trasa tworzona przez administratora ma swoje specyficzne atrybuty.
W przeciwieństwie do innych protokołów routing’u dynamicznego dostępne są
atrybuty, które nie są tym samym co metryki, przez co BGP jest bardziej elastyczny do manipulowania tablicami routing’u.
Proces wyboru najlepszej trasy w protokole BGP opiera się na analizie
atrybutów. Jeżeli w danym kroku dwie lub więcej tras mają przypisane atrybuty
o wartości wskazującej na jej wybór, to w kolejnym kroku analizowane są tylko
te trasy. W każdym z etapów algorytmu wyboru najlepszej trasy eliminowane są
zatem trasy niespełniające kryteriów określonych atrybutów, aż ostatecznie
pozostanie jedna trasa do umieszczenia w tablicy routing’u.
W przygotowanym środowisku sieciowym opartym o stos protokołów
TCP/IP utworzono cztery systemy autonomiczne, spośród których jeden jest
szkieletem sieci. Szkielet jest zbudowany z czterech routerów Cisco 2811 i czterech Cisco 2951, a routerami brzegowymi dla pozostałych domen są routery
Cisco 1812. Protokołami routingu zastosowanym w szkielecie sieci był protokół
OSPFv2, a następnie EIGRP. Do komunikacji między systemami autonomicznymi został zastosowany protokół BGPv4 Poniżej przedstawiono topologię
wraz z adresacją (rysunek 1).
3. Walidacja architektury oraz konfiguracja protokołów routingu na komponentach sieciowych
W pierwszym etapie badań proces konfiguracji obejmował połączenie fizyczne
i konfigurację adresów wykorzystywanych interfejsów każdego z routerów,
implementację protokołu OSPF oraz iBGP w szkielecie sieci do komunikacji
wewnątrz domenowej i eBGP do komunikacji między systemami autonomicznymi sieci. Poniżej przedstawiono przykładową konfigurację dla routerów
szkieletowych z implementacją protokołu OSPF (Tabela 1) oraz brzegowych
(Tabela 2):
104
Rafał Polak, Dariusz Laskowski
Tab. 1. Konfiguracja routera szkieletowego PE1
enable
configure terminal
hostname R1
enable secret 5 wat
interface Loopback0
ip address 1.1.1.1 255.255.255.255
interface FastEthernet0/0
ip address 162.100.1.2 255.255.255.0
duplex auto
speed auto
interface FastEthernet0/1
ip address 192.168.7.1 255.255.255.0
duplex auto
speed auto
interface Vlan1
ip address 192.168.6.1 255.255.255.0
router ospf 1
redistribute bgp 50 subnets
passive-interface FastEthernet0/0
network 0.0.0.0 255.255.255.255 area 0
router bgp 50
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 50
neighbor 2.2.2.2 update-source Loopback0
neighbor 3.3.3.3 remote-as 50
neighbor 3.3.3.3 update-source Loopback0
neighbor 162.100.1.1 remote-as 100
Tab. 2. Konfiguracja routera brzegowego CE1
enable
configure terminal
hostname BR1
enable secret 5 wat
interface FastEthernet0
ip address 162.100.10.2 255.255.255.0
interface FastEthernet1
ip address 162.100.1.1 255.255.255.0
router rip
version 2
network 162.100.0.0
no auto-summary
router bgp 100
no synchronization
bgp log-neighbor-changes
network 162.100.10.0 mask 255.255.255.0
network 162.100.100.0 mask 255.255.255.0
redistribute connected
redistribute rip
neighbor 162.100.1.2 remote-as 50
no auto-summary
Po wykonaniu testów sieci z protokołem OSPF w szkielecie sieci, zaimplementowano zamiast niego protokół EIGRP i również przeprowadzono testy.
Badanie doboru tras w wielodrogowej architekturze sieciowej…
105
Konfiguracja protokołu OSPF i EIGRP jest bardzo podobna i opiera się na deklaracji implementacji protokołu, dla OSPF poleceniem: router ospf id_procesu,
dla EIGRP: router eigrp numer_as i dla obydwu protokołów deklaracji sieci
podłączonych do routera poleceniem network adres_sieci wild_mask, deklarując
numer obszaru dla OSPF dopisując do polecenia area numer_obszaru.
W przypadku iBGP informacja o sąsiadach ustawia się komendą neighbor adres_ip. W powyższej konfiguracji jako sąsiadów ustawiono adresy IP interfejsów loopback routerów, ponieważ w przypadku awarii któregoś z fizycznych
portów, interfejs loopback będzie cały czas aktywny i włączony, dzięki czemu
router będzie mógł znaleźć nową trasę.
4. Testowanie sieci
Testy sieci sprawdzające trasy pakietów zostały wykonane za pomocą programu
Neo Trace Pro i tracert. Polegały na sprawdzeniu trasy skonfigurowanej sieci
z komputera znajdującego się w systemie autonomicznym 100 do komputerów
w systemach autonomicznych 200 i 300, następnie zmianie metryk w routerach
przez, które przechodziły pakiety i ponownym sprawdzeniu trasy. Dla protokołu
OSPF zmieniano przepływność poleceniem speed i koszt poleceniem ip ospf
cost w konfiguracji interfejsów routerów. Dla protokołu EIGRP dokonane
zmiany obejmowały również przepływność oraz opóźnienie zmieniane poleceniem delay. W przypadku protokołu OSPF okazało się, że deklaracja podobnych kosztów oznaczającymi przepływności różniących się kilobitami na sekundę miały wpływ na metrykę deklarowaną w tablicy routingu i wybieraną
przez router trasę, nawet kosztem większej liczby skoków między routerami.
W protokole EIGRP istotnym czynnikiem wyboru trasy jest opóźnienie.
Jak pokazały testy zmiany opóźnienia nawet o dziesiątki mikrosekund mają
wpływ na metryki tras deklarowane przez protokół i dobór odpowiedniej trasy.
Testy te pokazują wrażliwość protokołów na czynniki odpowiadające za kierowanie ruchem w sieci. Podczas konfiguracji wspomnianych czynników można
było zaobserwować szybkość działania protokołów i wyboru nowej trasy.
W badanej sieci czas ten oscylował w okolicach pojedynczych sekund, co
świadczy o sprawności tych protokołów. Testy wydajności sieci zostały wykonane programem Iperf z nakładką graficzną Jperf. Na stacji w systemie autonomicznym 100 został uruchomiony serwer, a w AS 300 klient. Strumień danych
przesłany został z wykorzystaniem protokołu TCP. Zarówno dla protokołu
OSPF i EIGRP wyniki fluktuowały w okolicy 93 Mb/s dla technologii FastEt-
Rafał Polak, Dariusz Laskowski
106
hernet, która ma ograniczenia pasma do 100 Mb/s. Na otrzymany wynik wypłynęły straty związane z przesłaniem danych przez fizyczne urządzenia oraz narzut generowany przez protokoły routingu.
5. Wnioski
Niniejsza praca obejmuje projekt wielodomenowej struktury sieci z wykorzystaniem protokołów routingu wewnątrz domenowych i między domenowych
oraz sprawdzenie wrażliwości protokołów na zmienne, według których wyznaczane są metryki tras i w konsekwencji same trasy. Projekt został wykonany
z wykorzystaniem routerów firmy Cisco, serwerów Hewlett-Packard i komputerów klasy PC. Przeprowadzone testy wykazały, że protokoły OSPF i EIGRP
w połączeniu z protokołem BGP działają podobnie i charakteryzują się równie
dobrą efektywnością działania, ponieważ w obu przypadkach otrzymano niemal
identyczne wyniki z punktu widzenia użytkownika końcowego. Różnice można
dostrzec w zasadzie działania protokołów oraz wyznaczania metryk, natomiast
efekt końcowy jest bardzo zbliżony.
Literatura
1.
2.
3.
4.
5.
6.
Graziani R., Johnson A.: Akademia sieci Cisco CCNA Exploration Semestr 2, Protokoły i koncepcje routingu, Helion, Warszawa 2004r.
McGregor M.: Akademia sieci Cisco Semestr piąty, MIKOM, Warszawa
2002r.
Dooley K., Brown I.: Cisco. Receptury, PWN, Warszawa 2007r.
Hassan M., Jain R..: Wysoko wydajne sieci TCP/IP, Helion, 2000r.
RFC 4271: A Border Gateway Protocol 4 (BGPv4).
RFC 2328: OSPF Version 2.