Marcin Skowronek - Katedra Informatyki i Ekonometrii
Transkrypt
Marcin Skowronek - Katedra Informatyki i Ekonometrii
ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ Seria: INFORMATYKA z. 35 2004 Nr kol. 1402 Jarosław KARCEWICZ Politechnika Śląska, Katedra Informatyki i Ekonometrii ZAPEWNIENIE JAKOŚCI TRANSMISJI DANYCH SYSTEMÓW INFORMATYCZNYCH W ROZLEGŁYCH SIECIACH KOMPUTEROWYCH Streszczenie. We współczesnych czasach notuje się bardzo dynamiczny rozwój rozległej sieci komputerowej Internet i jej wykorzystania w sektorze komercyjnym, szczególnie przez przedsiębiorstwa rozproszone do przesyłania danych. W artykule omówiono zagadnienia związane z zapewnieniem jakości usług przesyłanych danych za pośrednictwem tej sieci. ASSURANCE OF QUALITY OF COMPUTER SYSTEMS DATA BROADCAST IN WIDE NETWORK Summary. At present day is notified more and more dynamic growth of wide computer network Internet and it utilization in commercial sector, particularly by distracted companies to sending data. The paper specifies problems, related with the assuring of quality of data broadcast through that network. 1. Wstęp We współczesnych czasach coraz bardziej istotny staje się łatwy i szybki dostęp do informacji, szczególnie jeśli weźmie się pod uwagę coraz większe rozproszenie przedsiębiorstw. Celem umożliwienia takiego przepływu informacji powstała rozległa sieć komputerowa Internet. Jakkolwiek protokół TCP/IP gwarantuje dostarczenie informacji z jednego punktu do drugiego, coraz częściej jednak sama gwarancja dostarczenia informacji stała się już niewystarczająca, i oprócz niej zaczęto wymagać także innych kryteriów jakości. W odpowiedzi na te wymagania wprowadzony został w życie QoS (Quality of Service). 2 J. Karcewicz Celem niniejszej pracy jest analiza aspektów Quality of Service oraz omówienie dwóch jego mechanizmów: modelu IntServ oraz modelu DiffServ. 2. Zagadnienie Quality of Service Istnieje dziś bardzo wiele definicji Quality of Service. Na przykład w [3] QoS „znaczy zapewnianie stałej, przewidywalnej usługi dostarczania danych. Inaczej mówiąc, zaspokojenie wymaganych życzeń klienta”. W [4] natomiast QoS „jest pojęciem sieciowym, które określa poziom gwarantowanych osiągów parametrów sieciowych”. W [5] QoS określono jako „zbiorowy efekt osiągów usługi, który określa stopień satysfakcji użytkownika usługi”. W [7] scharakteryzowano QoS jako „zespół miar poziomu usługi dostarczanej do klienta”. W [6] zebrano wiele definicji QoS z punktu widzenia technologii ATM i aplikacji czasu rzeczywistego. Można uogólnić, że definicje te określają QoS jako zbiór mechanizmów, które mają zapewnić dostarczenie przewidywalnego poziomu jakości usług sieciowych, poprzez zapewnienie określonych parametrów transmisji danych, w celu osiągnięcia satysfakcji użytkownika. Jak można zauważyć definicje te koncentrują się na aspektach zapewnienia określonych parametrów technicznych transmisji danych. Jakkolwiek inne podejście mogą mieć użytkownicy sieci, dla których najistotniejsze jest uzyskanie jak najbardziej zadowalającej jakości użytkowania danych usług, inne z kolei dostawców, dla których istotne jest z jednej strony uzyskanie wysokiej oceny zadowolenia użytkownika, lecz z drugiej strony także zapewnienie możliwości technicznej jej realizacji. Dla pogodzenia tych dwóch przeciwstawnych punktów widzenia, w [2] zaproponowano trzy podstawowe pojęcia: − wrodzoną jakość usług (intrisinc QoS), − postrzegalną jakość usług (perceived QoS), − ocenianą jakość usługi (assessed QoS). Wrodzona jakość usług jest związana ze stricte aspektami technicznymi, tj. od zastosowanego fizycznego łącza transmisji danych, poprzez zastosowane protokoły transmisyjne do zastosowanych mechanizmów mających zapewnić jakość usługi. Postrzegana jakość usług dotyczy użytkownika, który z niej korzysta. Na jego ocenę wpływ ma nie tylko zastosowanie określonych mechanizmów jakości usługi, ale także inne czynniki jak jego własne oczekiwania, doświadczenia przy korzystaniu z danej usługi u innego dostawcy, czy doświadczenia i opinie innych użytkowników. Także samo zastosowanie odpowiedniej wrodzonej jakości usługi, czyli odpowiednich parametrów technicznych, może być niewystarczające. Zapewnienie jakości transmisji danych systemów informatycznych … 3 Oceniana jakość usługi jest już konkretną decyzją użytkownika czy chce on z niej korzystać czy z niej rezygnuje. W [1] podsumowuje się, iż można stwierdzić, że wrodzona jakość usługi jest tym co czyni ją atrakcyjną dla potencjalnego użytkownika. Postrzegana jakość usługi determinuje, czy użytkownik uzna ją za satysfakcjonującą, zaś oceniana jej jakość decyduje o ewentualnej kontynuacji bądź rezygnacji z korzystania z tej usługi. Można z tego zauważyć, że bezpośredni związek z projektowaniem sieci ma wrodzona jakość usług. Pozostałe dwa pojęcia są raczej związane z polityką marketingową operatora, a zapewnienie wysokiej jakości usług na tych poziomach, należy do zadań marketingu, projektantów usług czy obsługi technicznej. 3. Parametry Quality of Service Jak zostało przedstawione w definicji, QoS ma głównie za zadanie zapewnić określone parametry transmisji danych. Mówiąc więc o zapewnieniu określonych parametrów należy wyszczególnić jakie są to parametry. 3.1. Przepustowość Najczęściej wskazywanym parametrem QoS jest przepustowość, inaczej zwana też pojemnością transmisyjną. Z wielu różnych definicji jakie można znaleźć w [1], [9], [4], [13], [11], [7], [3], [10], [9] można uogólnić, że jest to ilość informacji jaka może być skutecznie przesłana między dwoma punktami końcowymi przez sieć w danej jednostce czasu. Przepustowość mierzona jest w bitach na sekundę (bits/s) lub też w jednostkach pochodnych (kilobit na sekundę, megabit na sekundę, itd.). Parametr przepustowości jest najczęściej wskazywany, gdy rozważa się aspekt QoS, szczególnie przez użytkowników, dla których jest on z reguły podstawowym wyznacznikiem jakości usługi jaką jest dostęp do sieci Internet. Dla większości rozwiązaniem problemów jakości jest właśnie poprawa tego parametru. Najczęściej odbywa się to poprzez dołożenie kolejnego łącza danych, jednakże jak zauważono w [8] zgodnie z prawem Moore’a: „Jeśli zwiększy się pojemność jakiegokolwiek systemu w celu sprostania żądań użytkowników, żądania użytkowników wzrosną tak, że spożytkują zwiększoną pojemność systemu”. Najlepszym obecnie rozwiązaniem wydaje się być podział posiadanej przepustowości wszystkich łącz pomiędzy użytkowników bądź usług sieciowych. Jednakże nie likwiduje to problemu w przypadku bardziej wymagających aplikacji, które wymagają także zapewnienia jakości innych parametrów. 4 J. Karcewicz 3.2. Opóźnienie Wraz z pojawieniem się aplikacji interaktywnych takich jak np. ssh czy telnet, istotny stał się kolejny parametr jakim jest opóźnienie. Istotę tego parametru najlepiej oddaje definicja zawarta w [1], gdzie opóźnienie jest to „odstęp czasu pomiędzy chwilą wysłania pakietu z jednego punktu w sieci i odebrania go w innym punkcie w sieci”. 3.3. Jednorodność opóźnienia Jednorodność opóźnienia (ang. jitter) jest parametrem, na który szczególnie wrażliwe są aplikacje czasu rzeczywistego, takich jak np. transmisja głosu czy sygnału wideo. Parametr ten w [1] jest zdefiniowany jako „zakres w którym zmienia się wartość opóźnienia mierzona dla pakietów należących do tego samego strumienia”. Parametr ten jest związany z własnością sieci IP, która polega na tym, że informacje dzielone są na pewną ilość pakietów, z których następnie każdy może być przesłany przez sieć inną trasą pomiędzy nadajnikiem i odbiornikiem, co powoduje że każdy pakiet może posiadać odmienne opóźnienie. Także nie ma gwarancji, że pakiety dotrą do odbiornika w kolejności, w jakiej zostały wysłane z nadajnika. 3.4. Straty pakietów Parametr ten istnieje od początku technologii IP i oznacza niedostarczenie do odbiornika pakietu wysłanego przez nadajnik. Do podstawowych źródeł strat pakietów zaliczamy [9]: − straty wynikające z błędów transmisyjnych w sieci. Powstają w sieciach o złej jakości, w momencie uszkodzenia sieci oraz w wyniku dostania się do sieci transmisyjnej niepożądanych sygnałów. Ogranicza się je poprzez stosowanie łączy wysokiej jakości. − przepełnienie buforów wyjściowych w węzłach sieci IP, nazywane spiętrzeniem (ang. congestion). Aby zminimalizować prawdopodobieństwo wystąpienia przeciążenia, należy doprowadzić do zwolnienia pracy nadajnika. Niestety protokół IP nie przewiduje takich mechanizmów, możliwe jest jedynie pośrednie wpłynięcie na nadawanie danych w sesji TCP, poprzez odrzucenie (ang. drop) pakietów tej sesji. − przekroczenie możliwości kanału transmisyjnego ATM lub Frame Relay. Optymalizację pracy na takim łączu można uzyskać poprzez wyposażenie węzłów IP w możliwość posługiwania się mechanizmami sterowania przepływem sieci i ograniczania prędkości nadajnika w zależności od możliwości transmisyjnych kanału wirtualnego Frame Relay lub ATM. Zapewnienie jakości transmisji danych systemów informatycznych … 5 4. Mechanizmy zapewnienia Quality of Service W odpowiedzi na zapotrzebowanie zapewnienia powyżej rozważanych parametrów, w ramach IETF (Internet Engineering Task Force) opracowano dwa modele: − model usług zintegrowanych IntServ − model usług zróżnicowanych DiffServ 4.1. Model Intserv IntServ [14] jest modelem QoS zorientowanym na odbiorcę transmisji, wymagającym od stacji końcowych sygnalizacji żądanego poziomu gwarancji jakości usług za pomocą protokołu RSVP omówionego w [12]. Poszczególne węzły sieci (np. routery) honorują te żądania i rezerwują zasoby (np. pasmo) wzdłuż całej ścieżki transmisyjnej. Stacja końcowa, np. komputer, serwery proxy lub gateway VoIP, rozpoczyna sygnalizację RSVP, wysyłając komunikat PATH zawierający parametry identyfikujące daną konwersację (flow), takie jak: adres źródłowy, docelowy, porty TCP lub UDP oraz wymagane pasmo. Każde kolejne urządzenie sieciowe (np. router), do którego dotrze komunikat PATH, odczytuje go, zapamiętuje stan konwersacji i przekazuje w kierunku odbiorcy. Po odebraniu komunikatu PATH odbiorca transmisji odsyła w odpowiedzi komunikat RESV opisujący niezbędne dla danej konwersacji pasmo. Komunikat ten wraca do nadawcy ścieżką wytyczoną przez PATH, a każde urządzenie sieciowe po drodze podejmuje decyzję o akceptacji lub odrzuceniu danej konwersacji (jest to tzw. mechanizm admission control). Jeżeli dostępne wolne pasmo jest wystarczające, konwersacja zostanie przyjęta, a pasmo zarezerwowane. Ustawiane są także odpowiednie kolejki, wagi itp. Proces sygnalizacji kończy się z chwilą, kiedy komunikat RESV dociera do nadawcy, a pasmo zostało zarezerwowane wzdłuż całej ścieżki transmisji. Pakiety wysyłane teraz przez nadawcę zostaną rozpoznane jako należące do danej konwersacji, będą więc umieszczane w odpowiednich kolejkach i będą korzystać z zarezerwowanych wcześniej zasobów sieci. Model IntServ sprawdza się doskonale w przypadku ruchu wrażliwego na opóźnienie, wahania opóźnienia (jitter) i utraty pakietów, czyli na przykład w przypadku transmisji głosu i obrazu. Może też być stosowany do transmisji danych, choć w praktyce ma to miejsce niezwykle rzadko. IntServ ma pewne unikatowe zalety, nieobecne w innych rozwiązaniach QoS, które czynią go niezastąpionym w tego rodzaju zastosowaniach. Pierwszą jest ścisła gwarancja pasma od końca do końca. Druga to mechanizm admission control, umożliwiający dopuszczenie nowych połączeń tylko wtedy, gdy na całej drodze transmisji jest wystarczająco dużo pasma. Dzięki temu unika się sytuacji, w których przyjęcie nowej konwersacji jest powodem obniżenia jakości konwersacji już zestawionych. Trzecia 6 J. Karcewicz unikatowa cecha to utrzymanie połączenia w sytuacjach wyjątkowych (np. podczas dużej awarii sieci), gdy konieczne są posunięcia prewencyjne, zapewniające działanie połączeń priorytetowych kosztem połączeń zwykłych [10]. 4.2. Model DiffServ W odróżnieniu od IntServ model ten nie traktuje każdej konwersacji oddzielnie, lecz kategoryzuje cały ruch, dzieląc go na tak zwane klasy jakości usług (Class of Service), którym są przypisane parametry QoS. Pakiety są klasyfikowane i znaczone na wejściu sieci, do czego wykorzystywane jest pole Type of Service w nagłówku pakietu IPv4 lub Traffic Class w nagłówku pakietu IPv6. Sześć najmłodszych bitów tego pola uzyskało nazwę Differentiated Services CodePoint i umożliwia identyfikację 64 różnych klas usług. Kolejne urządzenia wykorzystują niezależnie od siebie zawartość tego pola do zapewnienia odpowiedniego poziomu opóźnienia, wahań opóźnienia czy pasma. Proces ten nosi nazwę PHB (Per-Hop Behaviour) i zachodzi niezależnie w każdym węźle sieci. Podejście PHB umożliwiło rezygnację z sygnalizacji QoS będącej podstawą IntServ, a zarazem jej wąskim gardłem. Węzły sieci nie muszą już zapamiętywać stanu każdej konwersacji, a jedynie informacje o jednej z 64 klas ruchu. W efekcie ruch jest traktowany mniej dokładnie, ale za to cały proces jest dużo wydajniejszy. Mechanizm PHB stosowany w DiffServ polega na kolejkowaniu, kształtowaniu i ewentualnym ograniczaniu przepływu pakietów w sieci, zgodnie z polityką zdefiniowaną dla każdej klasy. Dotychczas IETF zdefiniował cztery główne rodzaje PHB, które mają być podstawą do wdrożenia usług DiffServ w urządzeniach sieciowych. Są to: Default PHB (RFC-2472), Class-Selector PHB (RFC-2474), Expedited Forwarding PHB (RFC-2598) i Assured Forwarding PHB (RFC-2597). Default PHB oznacza brak gwarancji jakości usług (ruch odbywa się na zasadzie Best Effort) i odnosi się do pakietów, których DSCP zawiera same zera lub nie został w danym węźle przypisany do żadnego innego PHB. Class-Selector odnosi się do pakietów, w których trzy najstarsze bity DSCP są wyzerowane (000xxx). Służy on do zapewnienia kompatybilności z mechanizmem IP Precedence - poprzednikiem mechanizmu DiffServ, w którym były wykorzystywane tylko 3 najmłodsze bity pola ToS. Sposób obsługi pakietu w węźle zależy wówczas od definicji klas zgodnych z IP Precedence. Trzeci mechanizm PHB, Expedited Forwarding, jest odpowiednikiem gwarancji jakości usług oferowanej w modelu IntServ. Ruch tej kategorii jest traktowany priorytetowo, z niskim opóźnieniem, małymi wahaniami opóźnienia i minimalną stopą gubionych pakietów. Najczęściej takie warunki zapewniają mechanizmy priorytetowego kolejkowania pakietów, ale także ograniczanie pasma dostępnego dla EF. Usługa Expedited Forwarding jest stosowana przede Zapewnienie jakości transmisji danych systemów informatycznych … 7 wszystkim do transmisji głosu i obrazu. W polu DSCP pakiety tej kategorii powinny zawierać wartość "101110". Czwarty i ostatni typ PHB nosi nazwę Assured Forwarding. Mechanizm ten umożliwia różnicowanie poziomu obsługi, mieszczącego się w zakresie od całkowitego braku gwarancji do poziomu zapewnianego przez usługi klasy EF. W ramach AF ruch może być dzielony na klasy (na przykład brązową, srebrną i złotą), z których każda może uzyskać inną część pasma i zasobów urządzenia. Ruch przekraczający limity określone dla danej klasy może zostać "zdegradowany" do klasy niższej.Klasyfikacja i oznaczenie pakietów oraz mechanizm PHB zachodzą niezależnie w każdym urządzeniu. Pakiet, który już został oznakowany jakąś wartością DSCP, jest traktowany tak, jak wszystkie inne pakiety o tej samej wartości DSCP, niezależnie od tego, skąd i dokąd zmierza.[10] 5. Podsumowanie Przedstawione mechanizmy pozwalają na znaczne poprawienie jakości usług przesyłanych danych w relacji od końca do końca, czyli dokładnie pomiędzy dwoma punktami w sieci, co czyni je atrakcyjne dla przedsiębiorstw rozproszonych przesyłających dane przez sieć rozległą Internet. Mechanizmy te nie są także pozbawione wad. Model IntServ wymaga aby wszystkie węzły pośredniczące w ruchu obsługiwały protokół RSVP, oprócz tego wymaga aby rutery utrzymywały w swojej pamięci informacje odnośnie rezerwacji zasobów, ich stanu, itd. co może powodować ich znaczne obciążenie. Wymaga też przesyłania dość sporej ilości informacji kontrolnych, co praktycznie czyni ten mechanizm nieużyteczny w przypadku ruchu unicastowego, bardzo dobrze zaś nadaje się do ruchu multicastowego. Odwrotnie jest w przypadku modelu DiffServ, w którym pośredniczące rutery niemuszą kontrolować stanu transmisji, a nawet fakt nieobsługiwania tego modelu przez jeden z węzłów nieoznacza niepowodzenia całego mechanizmu, dzięki czemu jest on dużo bardziej przydatny do ruchu unicastowego. Model DiffServ jednak nie jest w stanie zapewnić tak mocno gwarancji jakości jak model IntServ. LITERATURA 1. Stankiewicz R., Jajszczyk A.: Sposoby zapewnienia gwarantowanej jakości usług w sieciach IP. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, Nr 2/2002. 8 J. Karcewicz 2. Hardy W. C.: „QoS” Measurement and Evaluation of Telecomunications Quality of Service. John Willey & Sons Ltd., England 2001. 3. IP QoS FAQ. QoSforum.com, Wrzesień 1999. 4. E. Brent Kelly: Quality of Service In Internet Protocol (IP) Networks. Infocomm 2002. 5. Gautam R.: Quality of Service in Data Networks: Products. http://www.cse.ohiostate.edu/~jain/cis788-99/. 6. Quality of Service (QoS). http://www.objs.com/survey/QoS.htm. 7. Johnson V.: Quality of Service – Glossary of Terms. QoSforum.com, Maj 1999. 8. Ferguson P., Huston G.: Quality of Service: Delivering QoS on the Internet and in corporate networks. John Willey & Sons Ltd., England 2001. 9. Szarecki R.: QoS – jakość transmisji w Internecie. Nowoczesne Technologie w Sieciach Teleinformatycznych, Numer Specjalny 01/2001. 10. Sikorski I.: Sieci szkieletowe: Jakość usług gwarantowana. Telenet Forum. Wrzesień 2002. 11. Ferguson P., Huston G.: Quality of Service in the Internet: Fact, fiction, or Compromise? INET’98. 12. Braden R., Zhang L., Berson S., Herzog S., Jamin S.: Resource Reservation Protocol (RSVP) – Version 1 Functional Specification. RFC 2205, Wrzesień 1997. 13. Turski J.: Gwarantowana jakość usług (QoS) w sieciach IP. Praca mgr, Politechnika Łódzka, Łódź 2003. 14. Braden R., Clark D., Shenker S.: Integrated Services In the Internet Architecture: An Overview. RFC 1633, Czerwiec 1994. Recenzent: tytuły Imię Nazwisko Wpłynęło do Redakcji 16 września 2004 r. Abstract At present day becomes more and more essential easy and pane access to information, particularly if will take under attention more and more larger enterprises dispersion. To make possible such flow of information arised computer network Internet. Although TCP / IP protocol guarantees delivering information with one point to second, more and more often yet only guarantee delivering information become insufficient, and except it was begun requiring also another different criterions of quality. In answer on these requirements was put QoS (Quality of Service) into effect. The aim of that work is the analysis of the Quality the of Service aspects as well as of two its mechanisms: IntServ model and DiffServ model.