Sukces Internetu (strony WWW) oraz powszechność stosowania usług komercyjnych, związanych z dostępem do informacji (e-mail, e-commerce, e-business), spowodowały gwałtowny wzrost ruchu w sieciach IP. Przy ograniczonej stałej przepływności sieci globalnych prowadzi to do pogorszenia jakości obsługi przesyłanych strumieni. Stosowane dotychczas rozwiązania są również niewystarczające do świadczenia przez sieć IP usług oferowanych przez tradycyjne sieci telekomunikacyjne, a dotyczy to w szczególności usług wymagających działania w czasie rzeczywistym.
Spis treści |
Pod pojęciem QoS (Quality of Service) określa się odpowiednie oprogramowanie i rozwiązania sprzętowe umożliwiające identyfikację, klasyfikację i przekaz pakietów należących do konkretnego strumienia danych, zgodnie z narzuconymi wymaganiami co do jakości ich przekazu przez sieć.
Aby sieć telekomunikacyjna spełniała wymagania QoS należy w niej zaimplementować odpowiednie mechanizmy. Mechanizmy te są odmienne w sieciach z komutacją kanałów i z komutacją pakietów. W sieciach z komutacją kanałów obsługujących ruch telefoniczny parametrem wyrażającym jakość sieci jest prawdopodobieństwo odrzucenia wywołania. Bardziej skomplikowany charakter opisu parametrów QoS występuje w sieciach pakietowych klasy ATM czy IP. W sieciach IP realizacja właściwego poziomu QoS wymaga wprowadzenia w ruterach IP wielu kolejek i odpowiednich algorytmów obsługi. Dla takich sieci rozróżnia się dwa zasadnicze poziomy: wywołań i pakietów IP (komórek ATM).
Wymagania na QoS na poziomie wywołań są dla sieci pakietowych takie same jak w przypadku sieci z komutacją kanałów i wyrażają się zazwyczaj przez podanie wartości prawdopodobieństwa odrzucenia zgłoszenia, zwykle przyjmowanego na poziomie 0,01. Inne są jednak warunki, przy których to wymaganie powinno być spełnione. Dla sieci telefonicznej operuje się pojęciem GNR (godzina najwyższego ruchu), natomiast w sieciach pakietowych (a zwłaszcza w sieci Internet) obciążenie jest znacznie mniej zróżnicowane w ciągu doby.
Wywołania QoS na poziomie pakietów IP dotyczą jakości przekazu pakietów i odnoszą się do parametrów, takich jak: opóźnienie przekazu pakietu przez sieć, zmienność tego opóźnienia bądź prawdopodobieństwo utraty pakietu wynikłe z chwilowego przeciążenia sieci. W konsekwencji, dla zapewnienia wymaganych parametrów QoS, należy wprowadzić w sieci pakietowej funkcję przyjmowania nowych wywołań, która z kolei musi uwzględniać charakter przesyłanego przez sieć ruchu na poziomie pakietów (komórek). Nowe połączenie może więc być zaakceptowane do obsługi jedynie wtedy, kiedy jego przyjęcie nie spowoduje pogorszenia jakości obsługi (na poziomie pakietów) już istniejących połączeń.
Do przesyłania pakietów między oddalonymi miejscami przeznaczenia dotychczasowe sieci IP powszechnie korzystały z rozwiązania best effort. Polega ono na tym, że rutery IP przesyłają pakiety wg zasady: “pierwszy odebrany, pierwszy obsłużony” (zwykle na najkrótszej trasie łączeniowej), co w sytuacji przepełnienia buforów pośredniczących oznacza odrzucanie pakietów nadmiarowych - niezależnie od ich ważności. Takie rozwiązanie jest niedopuszczalne w przypadku przesyłania sygnałów aplikacji w czasie rzeczywistym (głos i obraz), dla których musi być zagwarantowany odpowiedni poziom jakości usług. Przekaz w czasie rzeczywistym wymaga stosowania innych mechanizmów transportu sieciowego, charakterystycznych dla sieci IP nowej generacji.
Gwarantowana jakość usług sieci IP - czyli QoIP - jest jedną z najważniejszych charakterystyk wymaganych dziś w Internecie, której nie zapewnia oryginalna architektura TCP/IP. Poziom jakości QoS wymaga utrzymywania w ruterach informacji dotyczących stanu każdego przepływu, wpływających na normalne funkcjonowanie mechanizmów sygnalizacji i kolejkowania. Aby zachować wymagane QoS konkretnej usługi teleinformatycznej, wszystkie hosty, rutery oraz pozostałe czynne elementy infrastruktury sieciowej, leżące pomiędzy odbiorcą i nadawcą, muszą zapewnić obsługę funkcji QoS, a ponadto każdy z nich winien zarezerwować na ten cel odpowiednie zasoby systemowe, takie jak: pasmo, moc przetwarzania CPU i pamięć operacyjną (buforową).
Konwencjonalna sieć TCP/IP zakłada na trasie jedynie model usługi sieciowej best effort i zarządzanie ruchem jedynie na krańcach systemu transportowego. Niedawno w ramach projektu IETF (Internet Engineering Task Force) do zapewnienia właściwego QoS w sieciach pakietowych zaproponowano dwie nowe architektury sieci IP z protokołami IntServ i DiffServ.
Architektura z rezerwacją zasobów IntServ (Integrated Services) dotyczy sytuacji, w której zasoby sieci są przydzielane dla danej aplikacji na żądanie, bądź dla poszczególnych strumieni, bądź zagregowanych strumieni danych. Dla tego rozwiązania zdefiniowano specjalny protokół sygnalizacyjny RSVP (Reservation Protocol), który warunkuje realizację żądania transmisji z rezerwowaniem odpowiednich zasobów w sieci. Jego implementacja jest niezbędna w każdym ruterze sieci IP na trasie przekazu wiadomości. Zgodnie z nią ruter dostępowy przyjmuje i realizuje żądanie rezerwacji, co wiąże się z przechowywaniem wiedzy o każdej poczynionej uprzednio rezerwacji, wraz z informacją o skojarzonym strumieniu danych.
Protokół RSVP obsługuje jedynie zlecenia od odbiorcy i nie może określać drogi przekazu ani kolejek. Odbiorca po stronie hosta używa RSVP do zlecania specyficznego QoS w sieci dla poszczególnych strumieni danych, pochodzących z konkretnych źródeł informacji. Elementarne zlecenie rezerwacji RSVP składa się z określenia pożądanego QoS w układzie end-to-end (na przykład szczytowe i średnie zapotrzebowanie na pasmo czy granice opóźnień) oraz z definicji zestawu pakietów danych odbieranych wg QoS.
W architekturze IntServ, oprócz protokołu RSVP i algorytmu przyjmowania nowych strumieni danych, można wyróżnić jeszcze dwa mechanizmy: klasyfikacji i kolejkowania pakietów.
Pierwszy z nich dotyczy metod klasyfikacji pakietów na podstawie zdefiniowanych pól w nagłówku pakietu: pakiety pochodzące z różnych strumieni mogą należeć do tej samej klasy ruchu i są kierowane do tej samej kolejki. Odrębny mechanizm kolejkowania dotyczy sposobu obsługi kolejek pakietów należących do różnych usług sieciowych, tak aby spełnić wymagania dotyczące jakości obsługi.
Architektura z priorytetowaniem strumieni ruchu DiffServ (Differentiated Services). Ten rodzaj architektury stosuje się w sytuacji, w której przesyłane przez sieć strumienie ruchu są klasyfikowane zgodnie z uprzednio wprowadzonymi usługami sieciowymi i przesyłane z różnymi priorytetami. Architektura DiffServ została zaproponowana w celu ominięcia problemu skalowania sieci, występującego w architekturze IntServ. Według niej w sieci definiuje się a priori odpowiedni zestaw usług sieciowych, jedynie opierając się na mechanizmach priorytetowania strumieni w ruterach. Klasyfikacji pakietów (i priorytetu usług) dokonuje się w węzłach sieci przez analizę odpowiednich (jednobajtowych) pól informacyjnych umieszczanych w polu TOS (Type of Service), znajdującym się w nagłówku transmitowanego pakietu IPv4.
Usługa DiffServ zakłada wyprzedzającą rezerwację zasobów na każdym węźle pośrednim. Trasowanie ścieżek jest oparte na pakiecie, a nie na sesji; poziom QoS jest zapewniany przez połączenie funkcji sterująco-administracyjnych (inżynieria ruchu) z funkcjami dostarczania wymaganego pasma.