SZYMON GROT E-mail: szymongrot@gmail.com Instytut Telekomunikacji, Wydział Elektroniki Wojskowa Akademia Techniczna w Warszawie ul. Gen. S. Kaliskiego 17/407, 00-908 Warszawa ANALIZA FUNKCJONALNOŚCI USŁUG SIECIOWYCH Z WYKORZYSTANIEM EMULATORA SIECI LANFORGE 1. Wstęp Możliwość wykorzystania narzędzi symulacyjnych zarówno sprzętowych jak i programowych pozwala na przewidzenie skutków powstałych w wyniku zmian parametrów istniejących sieci, bądź prawidłowe zestawienie i uruchomienie nowej, niezawodnej, dostosowanej do użytkownika sieci. Materiał przedstawiony w artykule porusza zakres tematyczny koncepcji wykorzystania platformy sprzętowo-programowej LANforge w zakresie analizy funkcjonalności podstawowych usług oferowanych w sieciach teleinformatycznych o stosie TCP/IP i UDP/IP. 2. Wykorzystane urządzenia Architektura stworzona w celu przeprowadzenia badań składa się z emulatora sieci LANforge, trzech routerów Cisco 1812, dwóch przełączników 3Com, czterech komputerów klasy PC oraz stacji mobilnej służącej do konfiguracji routerów i emulatora LANforge. Etapy pracy przy budowie sieci można podzielić na cztery części: Fizyczne połączenie wykorzystanych urządzeń, Konfiguracja routerów przy użyciu portu Console,
66 Szymon Grot Konfiguracja routerów przy użyciu narzędzia CCP (ang. Cisco Configuration Professional), Konfiguracja LANforge. Do połączenia elementów sieci została użyta skrętka UTP kategorii 5e zakończona wtykami RJ45. Elementy sieci (poza PC) zostały umieszczone w szafie telekomunikacyjnej w celu zapewnienia odpowiednich warunków pracy. Emulator sieci LANforge został włączony do sieci dopiero po skonfigurowaniu i przetestowaniu działania stworzonego modelu, aby mieć pewność prawidłowości uzyskanych wyników. Przed przystąpieniem do konfiguracji ustawienia routerów zostały zresetowane do ustawień fabrycznych, a na stacjach PC zostały zainstalowane systemy operacyjne Microsoft Windows 7. Zapewnia to brak wpływu poprzednich ustawień sieci na jej działanie podczas przeprowadzania badań. 2.1. Emulator sieci LANforge ICE Urządzenie LANforge to emulator sieci, który może występować w postaci LANforge ICE lub LANforge FIRE. LANforge ICE może emulować sieci poprzez wirtualne połączenie urządzeń sieciowych jak np. routery, przełączniki itp., badając zachowanie urządzeń i aplikacji w zaburzonej sieci. Wspomniane zaburzenia można kontrolować za pomocą: opóźnienia, przepustowości, zmienności opóźnienia (jitter), utraty pakietów, kolejności pakietów i wielu innych czynników. Emulacja może odbywać się z prędkością od 10b/s do 5Gb/s, ponadto niektóre rozwiązania umożliwiają uruchomienie ponad 48 jednoczesnych emulacji. Za pomocą LANforge ICE użytkownicy mogą symulować całą sieć LAN lub WAN wykorzystując zarówno IPv4 jak i IPv6. Rys. 1. Typowa konfiguracja dla LANforge Ice
2.2. Routery i przełączniki Analiza funkcjonalności usług sieciowych 67 Podstawowym urządzeniem sterowania ruchem był Router Cisco 1812 wyposażony w: Porty: WAN - 1xISDN BRI (RJ45), WAN - 2x10/100BaseTX (RJ45) oraz LAN - 8x10/100BaseTX (RJ45). Możliwość zarządzania, monitorowania i konfiguracji poprzez: CLI - Command Line Interface oraz przeglądarkę WWW. Wykorzystane w trakcie konfiguracji Obsługiwane protokoły i standardy: RIP v2, DHCP Client, DHCP Server, IEEE 802.1Q - Virtual LANs, IEEE 802.3-10BaseT, IEEE 802.3u - 100BaseTX, IPv4. Kolejnym urządzeniem był przełącznik dostępowy 3Com Baseline 2226 Plus 3CBLSF26-ME, wyposażony w 24 porty 1000BaseT (RJ45). 2.3. Stacje robocze Zbiór podstawowych urządzeń końcowych wykorzystanych w trakcie badań tworzą: 4 komputery klasy PC (PC1 4, Intel Core 2 Quad Processor Q8200, 4GB RAM, 500GB) oraz stacja mobilna (PCM1, Intel Pentium M 1,6GHz, 1GB RAM, 200GB). Stację PC1 wykorzystywano do konfiguracji i zmiany parametrów routerów, a PC2 do nadzoru aplikacji IxChariot Console, PC3 oraz PC4 umożliwiały pracę aplikacji IxChariot Endpoint i wykorzystanie narzędzia ping. Stacja mobilna, wykorzystana została przy konfiguracji routerów oraz do zmian parametrów emulatora sieci LANforge ICE. 3. Konfiguracja sprzętu Zapewniając kompatybilność używanego sprzętu umożliwiamy szybkie i bezproblemowe zestawienie połączeń pomiędzy stacjami zarówno w sensie fizycznym jak i logicznym. Przyjęta architektura, wraz z użytą adresacją została przedstawiona na rysunku (Rysunek 3.1). Nie jest to rozbudowany model sieci, ale w pełni spełnia on najważniejsze parametry, jakie muszą być zapewnione w trakcie pomiarów. W przypadku przeprowadzonych badań zwiększenie liczby routerów, czy stacji PC nie wprowadziłoby istotnych zmian w pomiarach. Połączenie komputera zarządzającego z routerem Cisco 1812 umożliwia port Console. Niezbędne jest w tym przypadku posiadanie specjalnego kabla konsolowego RS-232, umożliwiającego komunikację przez port szeregowy
68 Szymon Grot komputera. Wprowadzanie ustawień routera z wykorzystaniem wiersza poleceń umożliwiają programy tj. PuTTY i HyperTerminal. Rys. 2. Architektura badanej sieci Za celowe uważa się rozróżnienie routerów przez nadanie im różnych nazw i haseł dostępu tj.: Router> config terminal Router(config)# Router(config)# username NAZWA privilege 15 secret 0 HASŁO Kolejnym krokiem jest konfiguracja jednego interfejsu routera dostępowego dla aplikacji CCP: Router(config)# int FastEthernet0 Router(config-if)# ip address 10.10.10.1 255.255.255.248 Router(config-if)# no shutdown Router(config-if)# exit Następnie należy skonfigurować usługę http: Router(config)# ip http server Router(config)# ip http secure-server Router(config)# ip http authentication local Router(config)# ip http timeout-policy idle 60 life 86400 requests 10000 W kolejnym kroku należy skonfigurować linię vty do poziomu uprawnień 15 oraz dostęp do routera z wykorzystaniem protokołu telnet poprzez dostęp nie- zabezpieczony lub niezabezpieczony: Router(config)# line vty 0 4
Analiza funkcjonalności usług sieciowych 69 Router(config-line)# privilege level 15 Router(config-line)# login local Router(config-line)# transport input telnet Router(config-line)# transport input telnet ssh Router(config-line)# exit Router(config)# line vty 5 15 Router(config-line)# privilege level 15 Router(config-line)# login local Router(config-line)# transport input telnet Router(config-line)# transport input telnet ssh Router(config-line)# end Ciąg powyższych komend należy użyć przy konfiguracji każdego z routerów. Na tym etapie możliwa jest komunikacja i zarządzanie routerem przez interfejs użytkownika CCP. Przy użyciu Cisco Configuration Professional zostały w następnej kolejności skonfigurowane sieci VLAN, routing oraz serwery dhcp. Oczywiście konfiguracja wymienionych opcji możliwa jest również z wykorzystaniem wiersza poleceń poprzez wpisanie odpowiednich komend. Ostatnim krokiem konfiguracji było włączenie do powstałej architektury głównego elementu przeprowadzonych badań emulatora sieci LANforge ICE. Został on umieszczony w architekturze pomiędzy routerem R1, a routerem R2, co widać na rysunku (Rysunek 3.2). Rys. 3. Umieszczenie emulatora LANforge w badanej infrastrukturze Fizyczne podłączenie emulatora LANforge ICE nie wymaga konfiguracji portów, jak to jest w przypadku routerów, gdyż adresy dla tych interfejsów są przydzielane automatycznie w taki sposób, aby możliwa bezkonfliktowa komu-
70 Szymon Grot nikacja, jedynie port managment umożliwiający zarządzanie emulatorem wymaga konfiguracji. 3.1. Wykorzystane narzędzia programowe Istotnym elementem badania funkcjonalności usług jest dobór środowiska sieci i adekwatnego zbioru oprogramowania testowego. Efektywnymi aplikacjami są LANforge GUI, Wireshark, IxChariot, lecz mimo licznego zbioru zalet nie odzwierciedlają one w pełni parametrów sieci. Nie mniej jednak, możliwy do otrzymania, zbiór danych wynikowych jest wystarczający do wiarygodnego zobrazowania zasadniczych aspektów środowiska sieci. LANforge GUI to narzędzie umożliwiające komunikację z wykorzystywanym emulatorem sieci LANforge i sterowanie nim poprzez graficzny interfejs. Aplikacją niezbędną do badania funkcjonalności usług jest także IxChariot, pozwalający na symulację rzeczywistych aplikacji, stosowany, aby przewidzieć zachowanie i wydajność danego urządzenia i systemu w warunkach rzeczywistego obciążenia. Działanie aplikacji IxChariot polega na stworzeniu tzw. pary pomiędzy stacją główną (konsolą), a punktem końcowym (endpoint), wybierając usługę, jaka ma być realizowana oraz parametry tej usługi, jak liczba pakietów, ich wielkość, przepustowość, jakość transmisji i inne. Analizator pakietów Wireshark pozwala na przechwytywanie i analizę danych, które są przesyłane w sieci. W łatwy sposób można "obejrzeć" cały ruch w stworzonej sieci i jego charakterystykę. Można sprawdzić, jakie porty wykorzystuje dane oprogramowanie oraz wysyłany / odbierany ruch przez dany komputer. 4. Przeprowadzenie badań Dobrym sposobem na zbadanie wpływu parametrów takich jak opóźnienie pakietów, fluktuacja opóźnienia pakietów, zmiana kolejności pakietów, a także straty i duplikacja pakietów, jest zmiana ich wartości w trakcie realizacji usług i monitorowanie wpływu, jaki na nie wywierają. Taki sposób przeprowadzania badań umożliwia emulator sieci LANforge oraz aplikacja IxChariot, gdyż poprzez tworzenie wykresu na bieżąco zapisuje wartości dotyczące realizacji danej usługi. Sposób jej funkcjonowania wraz z rozmieszczeniem elementów na podstawie badanej infrastruktury przedstawia Rysunek 4.
Analiza funkcjonalności usług sieciowych 71 Rys. 4. Idea działania IxChariot wraz z rozmieszczeniem jego elementów w badanej sieci 4.1. Wpływ zmian parametrów sieci na funkcjonalność ftp FTP (ang. File Transfer Protocol) to protokół umożliwiający kopiowanie plików z jednego komputera na inny. Wysyłanie danych od i do użytkownika, zasadniczo, różni się jedynie kierunkiem transmisji. W trakcie badań, w tym samym czasie zostały wysłane paczki plików o rozmiarze 1MB (kolor zielony na wykresach) i 100kB (kolor czerwony). Na podstawie poniższych wykresów łatwo zauważyć, że w tym przypadku przesyłanie mniejszej liczby większych plików gwarantuje równomierne wykorzystanie całego dostępnego pasma. Po podsumowaniu ilości przesłanych pakietów na podstawie poniższego przykładu można stwierdzić, że w czasie przesłania 400MB dużych plików (400x1MB), zostało przesłanych 300MB małych plików (3000x100kB). Na podstawie przeprowadzonych badań widać, że usługa przesyłania plików jest wrażliwa na utratę przesyłanych pakietów. Nawet poniżej 0,1% utraconych pakietów powoduje problemy z realizacją usługi, gdyż utracone pakiety muszą być retransmitowane, co wprowadza dodatkowe opóźnienia transmisji. Przesyłany plik musi zostać dostarczony w całości, w przeciwnym wypadku w wielu sytuacjach nie będzie on nadawał się do użytku.
72 Szymon Grot Rysunek 5 przedstawia wpływ opóźnienia dostarczenia pakietów na realizację usługi przesyłania plików z wykorzystaniem protokołu ftp. Wraz ze wzrostem opóźnienia spada maksymalna ilość przesłanych danych, w wyniku wzrostu czasu odpowiedzi. W zadanych warunkach laboratoryjnych, przy parametrach ustawionych dla usługi przesyłania plików, w badanym przypadku widać, że spadek maksymalnej wykorzystanej przepustowości zaczyna się w granicach 6ms. Opóźnienia rzędu kilku, czy kilkunastu sekund nie będą wprowadzać istotnych zmian w funkcjonalności usługi, może się to wiązać jedynie z gorszym wykorzystaniem dostępnej przepustowości. W badanym przypadku spadek wykorzystywanej przepustowości do 10% wartości maksymalnej następuje przy opóźnieniu około 50ms. Usługa jest realizowana nawet przy opóźnieniu powyżej 1s jednak jej jakość jest bardzo słaba. Rys. 5. Wpływ opóźnienia na usługę przesyłania plików Kolejnym parametrem wpływającym na funkcjonalność usługi transferu plików jest jitter (zmienność opóźnienia). Parametr ten został zbadany w czterech przedziałach procentowych jego występowania (1, 10, 50, 100) dla opóźnień maksymalnych rzędu 10ms, 25ms, 75ms, 150ms, 500ms. Widać, że jitter wpływa na funkcjonalność usługi w podobny sposób jak parametr opóźnienia. W rzeczywistej sieci rozległej jitter występuje praktycznie zawsze, gdyż wiąże się on z chwilowymi zmianami, jakie zachodzą w sieci i jest od nich zależny. Na podstawie poniższego wykresu (Rysunek 6) można stwierdzić, że częstotliwość występowania zmienności opóźnienia rzędu kilku procent jest dopuszczalna i nie wpływa w istotny sposób na realizację usługi. Jitter ma bardzo niekorzystny wpływ na realizację usług czasu rzeczywistego. Aby temu zaradzić
Analiza funkcjonalności usług sieciowych 73 stosowane jest buforowanie przesyłanych danych, co z kolei wiąże się z dodatkowymi opóźnieniami. Rys. 6. Wpływ zmienności opóźnienia na przesyłanie plików Duplikacja pakietów to element występujący w sieciach wpływający na poprawną realizacji usług. Jego graficzną interpretację przedstawia Rysunek 6. W tym przypadku rachunek jest prosty. Każdy pakiet wysłany podwójnie zajmuje niepotrzebnie pasmo, gdyż jeden z nich musi zostać odrzucony. Przy 100% duplikacji wykorzystanie pasma zmniejszy się o połowę. Rys. 6. Wpływ duplikacji pakietów na wykorzystanie pasma przy przesyłaniu plików Zmiana kolejności pakietów jest dość ciekawym elementem badania. Na wykresie widać, że aplikacja IxChariot zarejestrowała to, jako utratę pakietów przy
74 Szymon Grot zmianie kolejności pakietów rzędu kilku procent i więcej. Zmiana kolejności dostarczenia pakietów może być związana np. z różnymi drogami, jakie pokonują pakiety. Przy zmianie kolejności dostarczenia pakietów powyżej 40% wszystkich, usługa może nie być realizowana, co widać na poniższym przykładzie. Rys. 7. Wpływ zmiany kolejności pakietów na wykorzystanie pasma dla ftp 4.2. Wpływ zmian parametrów sieci na funkcjonalność usługi WWW Usługa WWW wykorzystująca protokół http działa w podobny sposób jak usługa przesyłania plików. Dzieje się tak dlatego, że podobnie jak ona polega na pobieraniu danych np. tekstowych, z danej strony WWW. HTTP działa w jednym kierunku, czyli serwer odpowiada na żądania klienta. Protokół ten po otrzymaniu dokumentu od serwera kończy połączenie. Poniższe wyniki pomiarów odpowiadają pobieraniu z serwera plików tekstowych o rozmiarze 1MB. Na wykresie (Rysunek 8) widać wpływ opóźnienia na funkcjonalność usługi WWW. Można wywnioskować, że opóźnienie dostarczenia pakietów rzędu kilkudziesięciu procent nie ma znaczącego wpływu na realizację usługi i jej funkcjonalność. Usługa jest realizowana nawet dla wartości kilku sekund opóźnienia, wpływa to jednak niekorzystnie na odczucia użytkownika. Wpływ zmienności opóźnienia na usługę WWW został pokazany na przykładzie wartości Ritter równej 500ms dla różnych procentowych wartości jej występowania w odniesieniu do wszystkich przesyłanych pakietów (Rysunek 9). Jitter wpływa na usługę WWW podobnie jak opóźnienie. Utrata pakietów podobnie jak w przypadku usługi przesyłania plików działa bardzo niekorzystnie na realizację usługi WWW. Już przy ułamkach procenta
Analiza funkcjonalności usług sieciowych 75 utraconych pakietów usługa nie zostanie prawidłowo zrealizowana, co widać na wykresie (Rysunek 10). Rys. 8. Wpływ opóźnienia na usługę WWW Rys. 9. Zmienność opóźnienia i jej wpływ na WWW Rys. 10. Wpływ procentowej utraty pakietów na usługę WWW
76 Szymon Grot Rys. 11. Wpływ duplikacji pakietów na usługę WWW Rys. 12. Wpływ zmian kolejności dostarczenia pakietów na WWW Duplikacja pakietów wpływa na WWW tak samo jak na przesyłanie plików. Przy stuprocentowej duplikacji pakietów wykorzystanie pasma spada o połowę, gdyż powielone pakiety są odrzucane. Zmiana kolejności dostarczenia pakietów ogranicza funkcjonowanie usługi powyżej kilkunastu procent występowania wspomnianych zmian spośród wszystkich pakietów. Można powiedzieć, że powyżej 20% występowania tego parametru, usługa ma problemy z realizacją (Rysunek 12). 4.3. Wpływ zmian parametrów sieci na funkcjonalność VoIP Funkcjonalność usługi VoIP jest zapewniona przy niewielkiej przepustowości, około 64kb/s dla jednego połączenia głosowego. Ze względów technicznych nie ma ona dużych wymagań, aby była zapewniona jej realizacja. Wiąże się to z małą liczbą przesyłanych pakietów danych w jednostce czasu. Im większa liczba połączeń, tym zapotrzebowanie na pasmo zwiększa się, a inne parametry
Analiza funkcjonalności usług sieciowych 77 połączenia muszą mieścić się w zadanych wartościach. Badania usługi VoIP zostały przeprowadzone dla 0% oraz 50% trwania ciszy podczas połączenia. W czasie ciszy połączenie nie jest używane. Opóźnienie, z punktu widzenia zapewnienia łączności, nie wpływa na realizację usługi, a jedynie na komfort korzystania z usługi. Szacuje się, że opóźnienie mniejsze niż 100ms jest niezauważalne dla użytkownika. Testowanie opóźnienia zostało zrealizowane do wartości 10s i nawet przy takim opóźnieniu zapewniona była ciągłość usługi. Tak duże opóźnienie jest niedopuszczalne, gdyż komunikacja pomiędzy użytkownikami będzie utrudniona już powyżej 1s. Zmienność opóźnienia nie powinna być większa niż 20ms, aby użytkownik nie odczuł spadku jakości. Jitter jest dość dużym problemem dla zapewnienia funkcjonalności VoIP. Jest on rozwiązywany poprzez przechowywanie danych w buforach tak, aby wszystkie dotarły do celu z jednakowym opóźnieniem (jest to mniej szkodliwe). Niestety takie rozwiązania zwiększa średnie opóźnienie, a co za tym idzie zmniejsza funkcjonalność usługi. Duplikacja pakietów na podstawie badań nie wpływa na funkcjonalność usługi VoIP. Pakiety, które zostały wysłane powtórnie są odrzucane. Rys. 13. Wpływ utraty pakietów na usługę VoIP przy ciągłym wykorzystaniu połączenia (wykres czarny) i 50% ciszy (wykres czerwony) W przeciwieństwie do usług typu przesyłanie plików i WWW, VoIP jest odporny na utratę pakietów rzędu kilku, czy kilkunastu procent. Natomiast dla zapewnienia komfortu użytkowania usługi VoIP, utrata pakietów nie powinna być większa od 5%. Na wykresie (Rysunek 13) widać zaburzenia w realizacji usługi powyżej 1% utraconych pakietów oraz przerwanie jej działania powyżej 20% utraty pakietów.
78 Szymon Grot W przypadku zmiany kolejności pakietów zachowanie usługi VoIP wygląda podobnie, jak w przypadku utraty pakietów. Na podstawie rysunku (Rysunek 14) widać, że pakiety dostarczone w złej kolejności są traktowane, jako utracone. Rys. 14. Procentowa utrata pakietów w usłudze VoIP 5. Wnioski Analiza funkcjonalności została przedstawiona w oparciu o trzy podstawowe usługi stosowane najczęściej w sieciach teleinformatycznych, są to: VoIP, WWW, FTP. Przy użyciu powszechnie stosowanych narzędzi i mechanizmów zapewniających realizowalność usług, opierając się na zaleceniu ITU-T G.1010 powstały wiarygodne wyniki z przebiegu badań, wykreślone na wykresach przy użyciu jednego z narzędzi. Podczas realizacji badań aplikacja Wireshark pozwalała na podgląd aktualnych danych przesyłanych w sieci. Na bieżąco była monitorowana transmisja między stacjami PC. Wykorzystanymi w pracy metodami badawczymi było wysyłanie pakietów danych sprawdzających osiągalność interfejsów (za pomocą narzędzia ping z poziomu routera oraz stacji PC), symulowanie działania usług sieciowych (przy użyciu aplikacji IxChariot), przechwytywanie i analizowanie pakietów krążących w sieci (za pomocą aplikacji typu sniffer Wireshark). Właściwości sieci odczytane dzięki wspomnianym metodom badawczym okazały się bardzo dobrym sposobem na ocenę funkcjonalności badanych usług. Wszystkie pomiary zostały przeprowadzone przy zmienianych na bieżąco parametrach sieci, co umożliwiał emulator sieci LANforge ICE. Dzięki niemu możliwe było także na bieżąco monitorowanie wpływu szkodliwych parametrów sieci na funkcjonalność danej usługi. Stopniową zmienność badanej sieci widać na zamieszczonych wykresach. W dobie rozwoju Internetu i technik komputerowych, wzrastają również wymagania, co do jakości realizowanych połączeń. Parametrem najbliższym
Analiza funkcjonalności usług sieciowych 79 przeciętnemu użytkownikowi jest przepustowość łącza, gdyż w sposób bezpośredni wpływa ona na komfort pracy, a co za tym idzie funkcjonalność używanych usług. Niestety często duży wpływ na jakość połączeń i realizację usług mają także zbadane w pracy zaburzenia sieci, czyli opóźnienie, jitter, utrata pakietów, duplikacja i zmiana kolejności pakietów. Najistotniejszymi z nich wydają się być utrata pakietów oraz opóźnienie dostarczenia pakietów. Bibliografia 1. http://www.networld.pl Podstawy pracy z analizatorem sieci, dostępna do 25.I.2012r. 2. http://www.candelatech.com/datasheet_ice.php, dostępna do 25.I.2012r. 3. http://datatracker.ietf.org/doc/rfc894, dostępna do 25.I.2012r. 4. http://www.networld.pl/drzewo/1279/1/sieci.komputerowe.lan.wan.ht ml, dostępna do 25.I.2012r. 5. I.J. Brown, K. Dooley: Cisco: receptury ; Helion, Gliwice 2004. 6. Praca zbiorowa, Vademecum Teleinformatyka III, IDG Poland S.A., Warszawa 2004. 7. P. Coverdale, Multimedia QoS requirements from a user perspective, International Tele- communication Union.