Lista przedmiotów z materiałami udostępnionymi dla studentów

Dla_studentów
  • Increase font size
  • Default font size
  • Decrease font size

Krzysztof Kijek


MLS - overview and implementation


Opiekun pracy dyplomowej: dr inż. Małgorzata Langer
Praca dyplomowa ife obroniona 2006-11-21
Streszczenie pracy dyplomowej:
Celem pracy jest przyjrzenie się jednej z najnowszych technologii telekomunikacyjnych, Multiprotocol Label Switching. Technologia ta jest kolejną próbą dostosowania istniejących sieci IP do wymogów nowoczesnych aplikacji internetowych. Aplikacje te, będące częścią gwałtownego rozwoju Internetu, jaki możemy zaobserwować, wymusiły zmianę dotychczasowego sposobu myślenia, w którym ruch sieciowy był w sieci traktowany jednakowo, niezależnie od typu przenoszonych danych, źródła i adresata. Tymczasem ruch generowany przez współczesne aplikacje, takie, jak transmisje głosowe (Voice over IP, '), strumienie audio i wideo czy też zdalna obsługa komputera, musi być traktowany w specjalny sposób ze względu na specjalne wymagania. Pojawiły się nowe terminy dotyczące sieci komputerowych, takie, jak inżynieria ruchu (traffic engineering) oraz Quality of Service (QoS). Samo zwiększenie przepustowości sieci nie wystarczy, ponieważ w rezultacie zwiększa się także ogólny ruch sieciowy (użytkownik, mając do dyspozycji większą przepustowość łącza, pozwala sobie na korzystanie z większej ilości usług naraz, '), a więc proporcje pozostają te same. Potrzeba było zatem opracować rozwiązanie pozwalające na efektywne nadawanie priorytetów pakietom należącym do strumienia wymagającego specjalnego traktowania, a następnie przesyłanie ich zgodnie ze zdefinowaną dla danego strumienia polityką (czyli np. poprzez mniej obciążone łącze). W pracy, poza MPLS, opisano także kilka innych rozwiązań i wskazano ich zalety i wady. Sam MPLS został opisany szczegółowo od strony teoretycznej, natomiast część praktyczna pracy poświęcona została symulacjom, w których sprawdziliśmy efekt działania MPLS oraz zysk, jaki otrzymujemy dzięki technologii. Zysk ten oszacowano na podstawie dwóch najważniejszych dla współczesnych aplikacji sieciowych wartości czasowych – opóźnienia (delay, '), czyli czasu, jaki potrzeba pakietowi na dotarcie do celu, oraz wariacji czasu między pakietami docierającymi do źródła (jitter). Do zrozumienia mechanizmów obecnych w MPLS konieczne jest poznanie podstawowych zagadnień sieciowych. Idea połączenia ze sobą dwóch lub więcej maszyn narodziła się w strukturach wojskowych, a konkretnie w Department of Defense Advanced Research Projects Agency (DARPA) w Stanach Zjednoczonych. W wyniku połączenia komputerów należących do uniwersytetów UCLA i Stanforda w październiku 1969 powstał ARPANET – pierwsza sieć komputerowa. W wyniku badań nad ARPANETem powstał też pierwszy protokół, Network Control Protocol. Kolejnymi etapami rozwoju sieci były: ALOHANET – pierwsza sieć oparta korzystająca z współdzielonego medium (powstała na Uniwersytecie Hawajskim, '), Ethernet – sieć lokalna wprowadzająca zasady dostępu do współdzielonego medium i mechanizmy unikania kolizji, oraz Internet – sieć rozległa powstała z połączenia wielu sieci lokalnych. Sieci można podzielić na sieci lokalne (Local Area Network, LAN) – istniejące na zamkniętym obszarze, komputery znajdujące się w sieci LAN są położone blisko siebie, a przepustowość połączeń waha się od 10 Mbps do 1 Gbps (trwają prace nad szybszymi wersjami); sieci rozległe (Wide Area Network, WAN) – łączące komputery nie znajdujące się blisko siebie, mające niższą przepustowość niż sieci LAN (od 1.5 Mbps do 155 Mbps, '), także łączące sieci LAN; oraz sieci PAN (Personal Area Network) i sieci miejskie (Metropolitan Area Network, MAN). Najważniejsze typy sieci LAN to: • Ethernet – sieć oparta na współdzielonym medium, działająca obecnie na nośnikach miedzianych i światłowodowych, oferująca przepustowości od 10 Mbps do 1 Gbps oraz korzystająca z technik dostępu do medium i unikania kolizji • Token Ring – sieć oparta na topologii pierścienia, w której dostęp do medium jest kontrolowany za pomocą małego (3 bajty) pakietu danych zwanego żetonem, umożliwiającego transmisję tylko maszynie posiadającej żeton, oferująca przepustowości 4 Mbps, 16 Mbps, 100 Mbps i 1 Gbps • Fiber Distributed Data Interface (FDDI) – sieć podobna do Token Ring, ale działająca na światłowodach zamiast na kablach miedzianych, co pozwala osiągać duże odległości między komputerami (do 200 kilometrów, '), a także używa dwóch pierścieni do transmisji, co pozwala albo na podwojenie przepustowości poprzez korzystanie z dwóch naraz, albo na użycie jednego z nich jako zapasowy pierścień na wypadek awarii pierścienia głównego • Wireless LAN – sieć bezprzewodowa, działająca na częstotliwościach 2.4 GHz lub (rzadziej) 5 GHz, oferująca przepustowość 11, 22, 44, 54 oraz 108 Mbps; ze względu na słabszą jakość fal radiowych jako medium w porównaniu do kabli jakość transmisji jest gorsza, a transfery niższe, potrzebne są też mechanizmy kontrolujące dostęp do medium; sieci te są często używane w miejscach, gdzie z różnych powodów nie można położyć okablowania Z kolei do najważniejszych typów sieci WAN należą: dial-up, linia dzierżawiona, Digital Subscriber Line (DSL, '), Frame Relay, Asynchronous Transfer Mode (ATM) oraz łącza kablowe (oparte na kablu koncentrycznym, oferowane przez telewizje kablowe). Ponieważ MPLS jest protokołem, i co za tym idzie, praca jest zorientowana na ten aspekt sieci komputerowych, więc potrzebne jest omówienie najważniejszych protokołów. Funkcje, jakie mogą pełnić protokoły są skrajnie różne, od sposobu prezentacji danych poprzez nawiązywanie połączenia aż do modulacji i transmisji bitów. Dla uproszczenia funkcje te dzieli się na grupy zwane warstwami, opisywanymi przez 7-warstwowy model OSI (a także przez mniej obszerny model TCP/IP). Każda z warstw ma swoje funkcje, wykonywane w sposób niewidoczny dla pozostałych warstw. W pracy omawiane są protokoły warstw: aplikacji (HTTP, FTP, DHCP, DNS, POP, SMTP, RTSP, '), transportowej (TCP, UDP, '), sieciowej (IP, ICMP, ARP) oraz łącza danych (Ethernet, HDLC, PPP, Frame Relay, ATM). W ramach omawiania przyglądamy się jednostkom używanym przez poszczególne protokoły (ramki, pakiety, komórki, '), poznajemy sposób zestawiania połączenia w TCP, dokonujemy rozróżnienia między adresem fizycznym i logicznym oraz poznajemy szczegóły działania protokołów warstwy aplikacji. Istotne jest także poznanie aplikacji, które nakładają nowe wymagania na sieci. Każda z tych aplikacji działa inaczej i ma inne wymogi w ramach QoS. W pracy opisane są następujące aplikacje: • WWW – jedna z podstawowych usług sieciowych, umożliwiająca publikowanie oraz przeglądanie stron internetowych, nie posiada wymagań QoS • FTP – usługa umożliwiająca przesyłanie plików, działająca w architekturze klient-serwer, nie posiada wymagań QoS, wymaga jedynie niezawodnego przesyłania oraz bardzo niskiego procenta zgubionych pakietów • Peer to peer – podobnie jak FTP, służy do przesyłania plików, lecz jest pozbawiona architektury klient-serwer, a wszystkie maszyny stoją na równym poziomie; wymagania QoS podobne jak FTP • RealMedia – transmisje audio/wideo prowadzone w czasie rzeczywistym przy użyciu kodeków firmy RealMedia w formie strumienia, wymaga możliwie niskiego opóźnienia oraz stałej różnicy czasu między przychodzącymi pakietami (zbyt szybko przychodzące pakiety przepełniają bufor odbiorcy, zbyt wolno spowalniają transmisję i wpływają na jakość dźwięku i obrazu) • Shoutcast/Icecast – technologie przesyłania strumieni audio za pośrednictwem HTTP, przy użyciu kompresji MP3 lub Ogg Vorbis; wymagania te same co w przypadku RealMedia • Voice over IP – rozmowy głosowe przesyłane przez sieć IP w postaci pakietów, w tej chwili jedna z najpopularniejszych nowych usług sieciowych, wymaga niskiego procenta zgubionych pakietów, niskich opóźnień oraz niskiego jitter • VNC – technologia umożliwiająca zdalne logowanie się i pracę na komputerze znajdującym się w innej lokalizacji niż użytkownik, wymaga niskiego opóźnienia oraz niskiego procenta zgubionych pakietów • Wideo na żądanie – jedna z najbardziej przyszłościowych usług z punktu widzenia komercyjnego, umożliwia wybranie a następnie obejrzenie w postaci strumienia filmu z dostępnych zbiorów za opłatą; wymagania są te same, co w przypadku RealMedia i Shoutcast/Icecast Kolejnym etapem jest przyjrzenie się technologiom, które miały rozwiązać problem wymagań QoS . Protokół Resource Reservation Protocol (RSVP) umożliwia dokonywanie rezerwacji zasobów w urządzeniach sieciowych znajdujących się na ścieżce danego strumienia na podstawie jego wymagań. Rezerwacja ta jest dokonywana przez odbiorcę za pomocą zestawu wiadomości RSVP. Każda rezerwacja opiera się na dwóch pojęciach: specyfikacji strumienia (czyli opisu typu danych przenoszonego w strumieniu oraz wymagań QoS) oraz specyfikacji filtra (czyli opisu, które pakiety przynależą do danego strumienia w celu odfiltrowania ich od pozostałych i zastosowania odpowiedniej polityki). RSVP nie był używany powszechnie jako samodzielny protokół, był raczej częścią innych rozwiązań, takich jak zintegrowane usługi (Integrated Services, IntServ). Rozwiązanie to za pomocą RSVP dokonuje rezerwacji dla każdego strumienia osobno. Do tego celu używane są dwa pojęcia: specyfikacja ruchu, która określa m.in. szybkość oraz regularność generowania strumienia, i specyfikacja żądania, która określa jakie wymagania ma dany strumień. Plusem rozwiązania jest to, że można dokonywać bardzo szczegółowych rezerwacji, minusem zaś, że każdy router musi przechowywac informacje o wszystkich strumieniach istniejących w danym momencie w sieci. Ponadto, rezerwacje muszą być regularnie odświeżane, co generuje dodatkowy ruch. Inne podejście prezentuje technologia zróżnicowanych usług (Differentiated Services, DiffServ). Każdy strumień jest klasyfikowany do jednej z istniejących klas ruchu sieciowego, i na tej podstawie określane są jego wymagania QoS. Klasyfikacja pakietów odbywa się na podstawie pola Type of Service w nagłówku IP. W zależności od wartości tego pola, stosowane są odpowiednie reguły przekazywania dalej (ścieżka, kolejny przeskok, kolejkowanie, priorytet itp.) znane pod wspólną nazwą Per Hop Behaviour (PHB). W DiffServ, istnieją cztery rodzaje PHB. Minusem DiffServ jest fakt, że dwóch różnych providerów sieciowych może w inny sposób klasyfikować ruch, co wprowadza dodatkowe skomplikowanie w przypadku gdy np. sieć jednego z providerów znajduje się wewnątrz sieci drugiego z providerów. Ten sam strumień może być wtedy potraktowany na dwa różne sposoby. Pokrótce wspomnieliśmy też o technologii 802.1p, która wprowadza proste, 8-stopniowe, priorytety. MPLS to technologia aktualnie będąca w centrum uwagi, jeśli chodzi o zarządzanie ruchem i QoS. Jest to jednocześnie próba połączenia sieci opartych na przełączaniu pakietów i przesyłaniu ich różnymi ścieżkami (jak sieci IP) oraz sieci opartych na tworzeniu wirtualnych obwodów i stałych tras (jak ATM). Każdy pakiet będący w sieci MPLS jest przekazywany nie na podstawie adresu IP, ale na podstawie 20-bitowej etykiety, przydzielanej pakietowi przed każdym linkiem. Etykieta ta określa, jaki jest następny przeskok na trasie danego pakietu. Etykiet może być więcej niż jedna, wówczas tworzą one stos (i według tych samych zasad co stos są obsługiwane – najbardziej aktualna etykieta jest na szczycie stosu). Etykiety mają znaczenie jedynie lokalne dla każdego łącza i nie są znane ani maszynie źródłowej, ani docelowej. Uzywanie 20-bitowej etykiety zamiast 32-bitowego adresu IP i maski sieciowej znacznie przyspiesza proces określania kolejnego przeskoku, a co za tym idzie, zmniejsza opóźnienie transmisji (chociaż istnieją juz szybkie routery, dokonujące routingu całkowicie w warstwie sprzętowej, dużo szybszej niż warstwa programowa). Ponieważ etykieta jest dodawana przed adres logiczny pakietu, a następnie przed etykietą protokół warstwy łącza danych dodaje adres fizyczny, MPLS określa się często jako protokół warstwy 2.5, działający pomiędzy warstwą sieciową a łącza danych. Infrastruktura MPLS wprowadza dwa nowe typy urządzeń – router przełączający na podstawie etykiet (Label Switch Router, LSR, '), pełniący podobną rolę jak zwykły router w sieciach IP, oraz brzegowy LSR (Label Edge Router, LER, '), który stoi przy wejściu lub wyjściu do sieci MPLS. Wejściowy LER na podstawie adresu docelowego, wymagań QoS oraz aktualnym stanie sieci przyporządkowuje przychodzącym pakietom odpowiednie etykiety, które później są zmieniane w zależności od trasy, jaką przebywa pakiet. W wyjściowym LER ostatnia etykieta jest usuwana, a pakiet przekazywany dalej w nienaruszonym stanie. Za pomocą etykiet można tworzyć ścieżki, podobne do wirtualnych łączy w ATM czy Frame Relay, tu noszące nazwę Label Switched Path (LSP). Ścieżki te mogą być jasno zdefiniowane przez administratora (explicit route) oraz być tworzone automatycznie na podstawie wymagań, jakie musi spełnić dana ścieżka (constraint routing). To drugie podejście jest dużo elastyczniejsze, pozwala na lepsze reagowanie ze strony urządzeń sieciowych na zmienne warunki i przekierowywanie istotnego ruchu na inne, mniej obciążone ścieżki. W części praktycznej używamy symulatora sieci The Network Simulator, w skrócie zwanego ns. Ns jest dziełem grupy programistów z różnych części świata, a jednocześnie częścią projektu Virtual InterNetwork Testbed, prowadzonego z funduszy DARPA i mającego na celu stworzenie symulatora sieci uwzględniającego współczesne sieci. Korzystanie z symulatora odbywa się za pomocą skryptów pisanych w języku Tool Command Language (Tcl). Przed właściwą częścią praktyczną pracy mamy rozdział wprowadzający w podstawy Tcl, ns oraz omawiający możliwości ns do przeprowadzenia potrzebnej nam symulacji. Symulacja składa się z pięciu scenariuszy, różniących się od siebie typem przesyłanych strumieni. W każdym z tych scenariuszy badamy wpływ obecności/nieobecności MPLS na opóźnienia oraz jitter poszczególnych strumieni. Utrudnieniem dla naszych symulacji jest fakt, że z braku szczegółowej dokumentacji nie możemy użyc constraint routingu, lecz definiować ścieżki, którymi będą biec pakiety przeznaczone dla konkretnego adresata. Innym utrudnienia są linki o tej samej przepustowości (ich zróżnicowanie umożliwiłoby takie rozwiązania jak np. przekierowywanie transmisji na ścieżkę o aktualnie większej przepustowości). Wszystkie te warunki jednak zostały wybrane świadomie, po to, ażeby sprawdzić, czy w takich warunkach MPLS jest już w stanie osiągać dobre wyniki. Na podstawie wykresów oraz tabelek z wynikami jesteśmy w stanie zaobserwować, że dobrze wybrane i zaprojektowane ścieżki MPLS pozwalają już na minimalny wzrost jakości QoS w naszej sieci. Gdybyśmy wprowadzili bardziej pojemne i zróżnicowane łącza, oraz użyli constrained routingu, wyniki byłyby prawdopodobnie jeszcze lepsze. Ostateczny wniosek z pracy jest zatem taki, że MPLS sprawdza się jako narzędzie do zarządzania ruchem sieciowym nawet w trudnych warunkach, a więc spełnia swoje zadanie bardzo dobrze. W pracy nie poruszono innych aspektów MPLS, takich, jak użycie protokołu do obsługi wirtualnych sieci prywatnych (Virtual Private Network, VPN) oraz nowych usług, takich, jak VoMPLS.