Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux



Podobne dokumenty
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

System zdalnego nadzoru i zarządzania małą elektrownią wodną

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Jednolite zarządzanie użytkownikami systemów Windows i Linux

Bezpieczeństwo systemów i lokalnej sieci komputerowej

Zarządzanie certyfikatami w systemie OpenVPN

Webowy generator wykresów wykorzystujący program gnuplot

Kształtowanie ruch w sieciach Linux

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Tworzenie maszyn wirtualnych przy pomocy systemu FAI

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Systemy obiegu informacji i Protokół SWAP "CC"

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

QoS jakośćusługwsieciachip

3. Wymagania wstępne w zakresie wiedzy, umiejętności i kompetencji społecznych Wiedza

Dokumentacja programu. Instrukcja użytkownika modułu Gabinet Zabiegowy. Zielona Góra

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Problem kolejkowania dostępu czyli zarządzanie przepustowością sieci

Red Hat Network Satellite Server

Pakiet AutoRun Menu. Sławomir Pogodziński. Podyplomowe Studium Programowania i Zastosowań Komputerów

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

Tomasz Grześ. Systemy zarządzania treścią

Kalipso wywiady środowiskowe

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Część 3 - Konfiguracja

Planista całkowicie sprawiedliwy. Algorytm, śledzenie działania i strojenie

Spis treści. 1 Moduł Modbus TCP 4

Konfiguracja konta pocztowego w Thunderbird

Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

QUERY język zapytań do tworzenia raportów w AS/400

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Opis Przedmiotu Zamówienia

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Wideokonferencja w ramach pracy sieci współpracy i samokształcenia

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

System zarządzający grami programistycznymi Meridius

Webowy generator wykresów oparty na programie gnuplot

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Aplikacja webowa do zarządzania maszynami wirtualnymi

7. Konfiguracja zapory (firewall)

Wykaz tematów prac dyplomowych w roku akademickim 2011/2012 kierunek: informatyka, studia niestacjonarne

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych

KIERUNKOWE EFEKTY KSZTAŁCENIA

Montaż kolektorów słonecznych i pieców na biomasę w Gminie Modliborzyce

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

1 Moduł Modbus ASCII/RTU 3

Dokumentacja projektu QUAIKE Architektura oprogramowania

Program dla praktyki lekarskiej

Instrukcja integratora - obsługa dużych plików w epuap2

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Sieci Komputerowe 2 / Ćwiczenia 2

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych)

Elektroniczna Skrzynka Podawcza

UCHWAŁA NR 46/2013. Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 19 września 2013 roku

wg rozdzielnika Wrocław, dnia r. TXU PG

System Clonezilla archiwizacja i odtwarzanie partycji dyskowych

DESIGNER APPLICATION. powered by

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Aplikacja Novell Filr 2.0 Web Szybki start

Rozdział STEROWANIE PRZEPŁYWEM RUCHU SIECIOWEGO. 1. Wprowadzenie

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

INTENSE PLATFORM Zmiany w wersji Wersja 7.2

Agencja Interaktywna

Java Podstawy. Michał Bereta

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Zadania do wykonania Firewall skrypt iptables

System Comarch OPT!MA v. 17.1

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Kryteria oceniania z przedmiotu Informatyka

Wykaz zmian w programie WinAdmin Replikator

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

EXSO-CORE - specyfikacja

Dokumentacja programu. Terminarz zadań. Serwis systemu Windows. Zielona Góra

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Spis treści. O autorze 9. O recenzentach 10. Przedmowa 13. Rozdział 1. Oto Linux Mint 17_

UCHWAŁA NR 60/2013 Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 21 listopada 2013 roku

ActiveXperts SMS Messaging Server

Usługi sieciowe systemu Linux

Usługi sieciowe w kontenerach systemu operacyjnego CoreOS

11. Rozwiązywanie problemów

Opis procesu obsługi zgłoszeń w Systemie Rejestracji Zgłoszeń BMM (OTRS)

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

7. zainstalowane oprogramowanie zarządzane stacje robocze

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Sieci komputerowe - opis przedmiotu

Transkrypt:

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka Profilowanie ruchu sieciowego w systemie GNU/Linux Praca wykonana pod kierunkiem dra hab. J. Kobusa Zakład Mechaniki Kwantowej TORUŃ 2009

Spis treści Wstęp 3 1 Kontrola ruchu w Linuksie 5 1.1 Podstawowe pojęcia............................ 5 1.2 Konfiguracja systemu........................... 8 1.3 Bezklasowe dyscypliny kolejkowania................... 9 1.3.1 Kolejki pfifo i bfifo........................ 9 1.3.2 Kolejka pfifo fast......................... 10 1.3.3 Kolejka TBF........................... 10 1.3.4 Kolejka SFQ............................ 12 1.3.5 Kolejka RED........................... 13 1.4 Filtry................................... 14 1.4.1 Filtr u32.............................. 15 1.4.2 Filtr fw.............................. 15 1.4.3 Filtr route............................. 16 1.5 Dyscypliny kolejkowania z klasami.................... 16 1.5.1 Kolejka PRIO........................... 16 1.5.2 Kolejka CBQ........................... 17 1.5.3 Kolejka HTB........................... 19 1.6 Narzucanie polityki............................ 21 2 FolaTC Builder 22 2.1 Praca z edytorem konfiguracji...................... 22 2.1.1 Kompilacja i uruchomienie programu.............. 22 2.1.2 Panel komponentów....................... 23 2.1.3 Poziomy panel narzędzi...................... 24 2.1.4 Pionowy panel narzędzi..................... 25 2.1.5 Generator konfiguracji...................... 27 2.2 Uruchamianie utworzonej konfiguracji.................. 28 2.3 Przykładowe konfiguracje......................... 28 3 FolaTC Tester 31 3.1 Język FolaTC Testera.......................... 31 3.1.1 Definiowanie serwera i klientów................. 32 3.1.2 Definiowanie usług........................ 34 1

3.1.3 Tworzenie pomiarów....................... 37 3.1.4 Wykorzystanie zewnętrznych programów w testach...... 37 3.1.5 Pętle................................ 39 3.1.6 Wstrzymywanie wykonania testu................ 40 3.1.7 Tworzenie komunikatów diagnostycznych............ 40 3.2 Narzędzia pakietu FolaTC Tester.................... 41 3.2.1 Generowanie testu........................ 41 3.2.2 Uruchomienie testu........................ 41 3.2.3 Odczytywanie wyników...................... 42 3.3 Przykładowy test............................. 42 Literatura 45 A Podsystem kontroli ruchu 46 A.1 Priorytetyzacja ruchu interaktywnego na przykładzie ssh....... 46 A.2 Moduł pktgen............................... 48 B FolaTC Builder 50 B.1 Definiowanie komponentów kontroli ruchu............... 50 B.2 Format pliku z konfiguracją....................... 51 B.3 Architektura programu.......................... 52

Wstęp Stale rosnąca liczba usług dostępnych za pośrednictwem sieci Internet powoduje wzrost liczby jej użytkowników. Równocześnie potrzeby użytkowników także rosną, co prowadzi do pojawiania się coraz bardziej złożonych usług generujących dodatkowy ruch w sieci. Użytkownicy często nie mogą w pełni wykorzystać możliwości swoich usług sieciowych, jedną z przyczyn tego problemu jest nieprawidłowy przydział zasobów łącza komunikacyjnego. Powszechna jest sytuacja, kiedy użytkownik pobierający z sieci duże ilości danych (np. poprzez FTP) nie może w tym samym czasie komfortowo pracować z inną usługą (np. SSH). W lokalnej sieci komputerowej, której użytkownicy współdzielą jedno połączenie z siecią Internet często bywa tak, że użytkownicy bardziej wymagających usług zajmują całe pasmo sieciowe uniemożliwiając innym wygodną pracę w sieci. W takich sytuacjach niezbędna jest interwencja administratora sieci, który podejmuje działania mające zapewnić sprawiedliwy dostęp do usług dostępnych poprzez łącze komunikacyjne. Do działań tych należą m.in. ograniczanie przepustowości ruchu związanego z konkretną usługą oraz priorytetyzowanie pakietów usług interaktywnych. Wspomniane funkcjonalności realizowane są przez dyscypliny kolejkowania (queuing discpline), czyli algorytmy, które zarządzają kolejkami pakietów. Dyscypliny kolejkowania odpowiedzialne za ograniczanie przepustowości łącza zwalniają zgromadzone w kolejce pakiety tak, by została osiągnięta przydzielona im częstotliwość wysyłania. Dyscypliny dokonujące priorytetyzacji ruchu usług interaktywnych korzystają z właściwości pakietów zdefiniowanych w polu TOS; na podstawie zawartości tego pola podejmowana jest decyzja, czy pakiet powinien zostać wysłany przed pozostałymi pakietami oczekującymi w kolejce. W systemie Linux dyscypliny kolejkowania dostarczane są jako element podsystemu kontroli ruchu (traffic control), który istnieje od wersji 2.2 jądra. Obok dyscyplin kolejkowania dostępne są również filtry do selekcji pakietów oraz klasy, które służą do grupowania pakietów o określonych właściwościach. Ze wspomnianych elementów kontroli ruchu buduje się drzewiastą strukturę, która nadaje przepływającym przez nią pakietom określoną charakterystykę. Proces nakładania na łącze komunikacyjne określonej charakterystyki przepływu ruchu jest zadaniem trudnym. Po pierwsze, administrator, na którym spoczywa obowiązek utrzymania dużej sieci musi poświęcić sporo uwagi na samą konfigurację profilu ruchu, po drugie często trudno przewidzieć, czy wybrana konfiguracja sprawdzi się w rzeczywistych zastosowaniach. Zasadniczym celem niniejszej pracy jest dostarczenie narzędzi, które mają pomóc 3

SPIS TREŚCI 4 administratorowi skonstruować odpowiedni profil łącza komunikacyjnego. Pierwszym z tych narzędzi jest program FolaTC Builder, który służy do tworzenia konfiguracji profilowania ruchu. Aplikacja pozwala w prosty sposób edytować konfigurację, umożliwia zarządzanie zbudowanymi już konfiguracjami oraz ich generowanie po dostarczeniu przez użytkownika minimum informacji. Program podpowiada również zalecane wartości parametrów wpływających na wykorzystywane elementy kontroli ruchu. Drugim narzędziem jest program FolaTC Tester do testowania konfiguracji profilowania ruchu. Aplikacja umożliwia definiowanie przesyłania danych w sposób symulujący ruch w różnych sieciach oraz mierzenie czasu potrzebnego na wykonanie poszczególnych operacji. Wyniki pomiarów można przedstawić na wykresie, co znacznie ułatwia ich interpretację i porównywanie z wynikami uzyskanymi przy użyciu innej konfiguracji. Programy z pakietu FolaTC znacznie ułatwiają pracę administratorom, pozwalają zaoszczędzić im czas jaki musieliby przeznaczyć na konfigurację profilowania ruchu przy użyciu standardowo dostępnych narzędzi. Układ pracy jest następujący. W pierwszym rozdziale omawiane są struktury wykorzystywane przy tworzeniu konfiguracji kontroli ruchu, czyli dyscypliny kolejkowania, klasy oraz filtry. Następnie opisano dostępne struktury w systemie Linux oraz narzędzia, które pozwalają na ich konfigurację. Omówienie każdej ze struktur zwieńczone zostało przykładową konfiguracją. W drugim rozdziale znajduje się opis narzędzia FolaTC Builder, jego instalacja, funkcjonalności oraz obsługa. Na końcu tego rozdziału umieszczone zostały przykłady ilustrujące obsługę programu. W trzecim rozdziale opisano narzędzie FolaTC Tester. Rozdział zawiera opis elementów języka XML oraz związanych z aplikacją narzędzi, kończy się definicją przykładowego testu. W pierwszym rozdziale dodatkowym zawarte są informacje dotyczące jednego ze sposobów priorytetyzacji ruchu interaktywnego oraz opis tego jak aplikacje mogą wpływać na priorytet swoich pakietów. Drugi rozdział dodatkowy został poświęcony architekturze oraz konfigurowaniu narzędzia FolaTC Builder. Do pracy dołączona jest płyta CD, na której zgromadzono omawiane w pracy programy oraz dyskutowane przykłady. Płyta CD zawiera także niniejszą pracę w postaci źródłowej oraz PDF.