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.