Problem przeciążenia

Oceń tę pracę

Termin „przeciążenie” odnosi się do sytuacji, kiedy sumaryczne zapotrzebowanie na zasoby sieciowe przekracza aktualne możliwości sieci. Występowanie przeciążenia w sieciach z przełączaniem pakietów, jest rezultatem stosowania multipleksacji statystycznej, której celem jest maksymalizować wykorzystanie zasobów sieciowych. Przeciążenie może być także spowodowane awarią wewnątrz sieci, ale ponieważ przypadek ten występuje bardzo rzadko, został on pominięty w niniejszej pracy.

Jako przykład przyczyny występowania przeciążenia przeanalizuję pracę przełącznika ATM o N portach wejściowych (oczywiście mamy równocześnie N portów wyjściowych), do których wpływa N strumieni komórek. Jeżeli założymy, że pojemność buforów wyjściowych wynosi M to możemy stwierdzić, że w danej chwili do portu wyjściowego (określonego na podstawie pola VPI/VCI i informacji zawartej w tablicy połączeń) może być skierowanych nie więcej niż M komórek. W przypadku kiedy więcej niż M komórek jest skierowanych do danego portu wyjściowego, to część z nich musi pozostać w buforach wejściowych do czasu uzyskania dostępu do danego wyjścia przełącznika. Ponieważ bufory wejściowe i wyjściowe mają ograniczoną pojemność, to łatwo zauważyć, że nadchodzące do przełącznika komórki, które zastają pełny bufor wejściowy są tracone.

Kontrola przeciążenia w sieci jest przedmiotem wielu publikacji, albowiem obecnie stosowane w sieciach pakietowych mechanizmy są nieefektywne dla zastosowań w ATM

Istnieje kilka błędnych przekonań, mówiących że problem przeciążenia może być rozwiązany automatycznie poprzez rozwój nowej technologii i jej zastosowanie np. wymianę urządzeń sieciowych na bardziej wydajne.

Przedstawię dwa takie poglądy:

Przeciążenia spowodowane jest zbyt małą pojemnością buforów. Problem ten zostanie rozwiązany, kiedy pamięci staną się na tyle tanie, aby można było stosować bufory o bardzo dużych pojemnościach.

Niestety większa pojemność buforów nie rozwiążę problemu przeciążenia. Sieci skonstruowane z przełączników o nieskończonej pojemności buforów są podatne tak samo na przeciążenia jak sieci z przełącznikami o małych buforach. Dla tych ostatnich zbyt duży ruch spowoduje przepełnienie buforów i stratę komórek (Rysunek 3 a). W sieci z przełącznikami o nieskończonej pojemności buforów (Rysunek 3 b) kolejka i opóźnienie może się stać na tyle długie, że za nim komórki wyjdą z bufora, większość z nich jest już „time-out” i są jeszcze raz retransmitowane  przez wyższe warstwy sieci, co powoduje jeszcze większe przeciążenie.

Przeciążenie spowodowane jest wolnymi łączami. Problem zostanie rozwiązany, kiedy szybkie łącza staną się ogólnie dostępne.

Stwierdzenie to nie zawsze jest prawdziwe, czasami zwiększanie przepustowości łącza może zwiększyć problem przeciążenia. Nowe szybkie łącza muszą współpracować ze starszymi i wolniejszymi łączami. Następujący eksperyment pokazuje, że wdrażanie szybkich łącz, bez odpowiedniej kontroli przeciążenia może obniżyć wydajność całej sieci.[2]. Rysunek 4 pokazuje cztery węzły połączone ze sobą szeregowo trzema łączami o przepustowości 19.2 kbit na sekundę. Czas transferu zwykłego pliku wynosił pięć minut. Zamianie łącza pomiędzy dwoma pierwszymi węzłami na łącze o przepustowości 1Mbit/s spowodowała zwiększenie czasu transmisji plik do siedmiu godzin. Z szybszym łączem dane przychodziły do pierwszego routera z większą prędkością niż przepustowość wyjścia, prowadziło to do powstawania długich kolejek, przepełnienia bufora i stratę komórek, powodując konieczność retransmisji, co zwiększało czas transmisji.

Wymiana wszystkich łączy na szybsze także nie rozwiąże problemu przeciążenia. Przedstawiona przykładowa konfiguracja na Rysunek 5 pokazuje ten problem. Jeżeli węzły A i B zaczną nadawać do węzła C w tym samym czasie spowoduje to powstanie przeciążenia.

Przeciążenie jest problemem dynamicznym, żadne statyczne rozwiązanie nie będzie wystarczające do jego rozwiązania. Strata pakietów na skutek małej pojemności bufora, jest symptomem, nie przyczyną przeciążenia. Wzrastająca ilość szybkich sieci prowadzi do coraz większego zróżnicowania współistniejących sieci, powodując, że problem kontroli przeciążenia staje się coraz ważniejszym problemem. Odpowiednia metody zarządzania zasobami sieci ATM i kontrola przeciążenia ruchu w sieci zwiększy jej efektywność i wydajność.

Na zakończenie tego punktu omówię niektóre funkcje i procedury przedstawione przez ATM Forum, które powinny znaleźć zastosowanie w zarządzaniu zasobami sieci ATM.

a) sterowanie przyjęciem zgłoszenia (Connection Admission Control) –Kiedy nowe zgłoszenie przybywa do węzła sieci ATM, użytkownik deklaruje zbiór parametrów ruchowych i wymagany poziom jakości obsługi (QOS). Wykorzystując te informacje oraz znając stan sieci, blok realizujący funkcję CAC decyduje o zaakceptowaniu lub odrzuceniu nowo przybywającego zgłoszenia.

b) kontrola parametrów użytkownika (Usage Parameter Control), zapewnia wymuszenie zgodności parametrów zgłoszenia zadeklarowanych na etapie akceptacji z tymi, które występują w trakcie transmisji.

c) sterowanie priorytetem (Priority Control) Końcowy węzeł sieci ATM może generować komórki o różnym priorytecie używając bitu CLP. Urządzenia sieci mogą selektywnie odrzucać komórki o niższym priorytecie, jeżeli np. w ten sposób zapobiegają przeciążeniu.

d) Traffic Shaping –kształtowanie charakterystyki przepływu informacji na podstawie danych uzyskanych z sieci lub wyżej wymienionych funkcji.

Problem przeciążenia może być częściowo rozwiązany poprzez zastosowanie wyżej wymienionych funkcji. Jednak w większości przypadkach występowania przeciążenia w sieciach ATM należy zastosować wspólnie wyżej wymienione funkcje i algorytmy kontroli przeciążenia.

Obecnie ATM Forum jest w trakcie standaryzacji algorytmów. Algorytmy, które zostały przedstawione w ATM Forum i uzyskały największe zainteresowanie zostaną omówione w dalszej części pracy.

Celem zastosowania algorytmów kontroli przeciążenia i sterowania ruchem jest zapewnienie utrzymania wynegocjowanych parametrów QOS dla wszystkich rodzajów połączeń w sieci ATM i efektywne wykorzystanie zasobów sieciowych. Algorytmom kontroli przeciążenia stawia się szereg wymagań, którymi powinny się charakteryzować. Głównymi wymaganiami są:

Skalowalność

Algorytm nie może być ograniczony przepustowością łączy, odległością, ilością przełączników lub ilością wirtualnych kanałów. Ten sam algorytm powinien być stosowany zarówno w lokalnych sieciach komputerowych (LAN) jak i w rozległych sieciach (WAN)[1].

Optymalność(sprawiedliwość)

W dzielonym środowisku przepustowość jednego źródła zależy od żądań innych źródeł. Algorytm powinien „sprawiedliwie” rozdzielić dostępne pasmo pomiędzy aktywne kanały wirtualne. Żadne z realizowanych równorzędnych połączeń nie może być faworyzowane.

Odporność

Algorytm powinien być „nieczuły” na niewielkie odchylenia parametrów. Na przykład niezgodność jednego z parametrów lub strata ramki kontrolnej nie powinna zmieniać gwałtownie stanu sieci. Algorytm powinien także izolować użytkowników i chronić ich zasoby.

Implementowalność

Algorytm nie powinien być zbyt skomplikowany, czasochłonny. Algorytm nie może dyktować szczegółowo architektury przełącznika

Algorytmy przeciążenia mogą być klasyfikowane w zależności od czasu, kiedy działają w sytuacji przeciążenia. Wychodzenia z przeciążenia jest mechanizmem, który próbuje zmienić już przeciążony zasób do stanu nie przeciążonego  tak szybko jak jest to tylko możliwe. Zapobieganie przeciążeniu jest metodą dla której wystąpienie przeciążenia jest niemożliwe. Jednak metoda ta powoduje nieefektywne wykorzystanie dostępnego pasma przepustowego w sieci. Unikanie przeciążenia jest metodą, która stara się stale utrzymywać zasoby sieci w stanie nie przeciążonym, ale jednocześnie zapewniając efektywność wykorzystania jej zasobów. Użytkownicy sieci wymagają od sieci efektywności, wydajności, dlatego też większość proponowanych metod kontroli przeciążenia należy do metod unikających przeciążenia. Jednak, szybkie zmiany pomiędzy stanami sieci (przeciążona – nie przeciążona) są nieuniknione, dlatego też, metody wychodzenia z przeciążenia są więc zwykle integralną częścią metod kontroli przeciążenia. Jedną z metod wychodzenia z przeciążenia jest metoda odrzucania całych pakietów (packet discard).

Mechanizmy kontroli przepływu danych, które dostosowują prędkość transmisji zapobiegając występowaniu zatłoczenia w sieciach ATM mogą być ogólnie klasyfikowane jako: open-loop i close-loop. Kontrola typu open-loop jest stosowana dla połączeń, których charakterystykę ruchu można precyzyjnie określić a  wymagania jakościowe znane są z góry.  Połączenie w kontroli typu open-loop specyfikuje swoje wymagania co do zasobów sieci, które, jeśli są dostępne, następnie są rezerwowane na czas trwania połączenia.

Kontrola typu close-loop jest odpowiednia dla sieci dla których zasoby nie mogą zostać zarezerwowane lub kiedy ruch w sieci nie może być sprecyzowany. W kontroli tej dostępne zasoby sieci muszą być „sprawiedliwie” i efektywnie dzielone między wieloma użytkownikami. W kontroli tej źródło stale próbkuje stan sieci i dostosowuje swoją prędkość transmisji w zależności od otrzymanego sprzężenia zwrotnego. Ważną cechą kontroli typu close-loop jest to, że wydajność, efektywność tej metody zależy od opóźnienia sprzężenia zwrotnego. Różnica czasu pomiędzy zmianą prędkości transmisji źródła a czasem kiedy źródło zobaczy efekt tej zmiany nazwana jest round-trip-time. Reakcja systemów opartych na metodach ze sprzężeniem zwrotnym ograniczona jest opóźnieniem sprzężenia zwrotnego i może tylko kontrolować przeciążenia, które trwają dużej niż round-trip-time w danej sieci.

Metody kontroli przeciążenia można jeszcze klasyfikować ze względu na typ kontroli jaki wprowadzają: credit-based lub rate-based. W przypadku wykorzystania kontroli typu  rate-based, komórki sterujące zawierają informacje o bieżącym dostępnym paśmie  przepustowym dla danego typu połączenia. Jeśli którykolwiek z przełączników ATM, biorący udział w realizacji danego połączenia, wykryje fakt przeciążenia tego połączenia (tzn. nastąpi odrzucenie przynajmniej jednej komórki ATM zawierającej dane użytkownika), to zawartość komórki sterującej zostanie zmieniona tak, aby zmniejszyć prędkość transmisji źródła i nie dopuścić do dalszego gubienia komórek danych. Metoda rate-based pozwala więc na bardzo efektywne wykorzystanie dostępnego pasma.

Odmiennie natomiast działa metoda typu credit-based. Komórki sterujące przenoszą informacje nie o dostępnym paśmie przepustowym, lecz o stopniu zapełnienia buforów odbiorczych przełączników oraz urządzeń brzegowych realizujących dane połączenia. Komórki te noszą nazwę kredytów. Urządzenie odbierające strumień komórek ATM na bieżąco informuje urządzenie nadawcze, które ten strumień transmituje, o stanie swojego wewnętrznego bufora wejściowego. Jeśli bufor ten zostanie wyczerpany, to urządzenie nadawcze nie otrzyma „kredytów” i w ten sposób nie będzie mogło dalej wysyłać danych.

Do efektywnego działania, obydwie metod potrzebują znać stan sieci. Typ sprzężenia jaki jest używany do badania stanu sieci jest następnym kryterium klasyfikacji metod kontroli przeciążenia. Z jawnym sprzężeniem zwrotnym (explicit feedback) elementy sieci wysyłają komunikaty wskazujące ich stan (zajętość buforów, wolne pasmo itp.) do punktów kontrolnych. Jeżeli metody kontroli przeciążenia poznają stan sieci poprzez pomiary transmisji (np. porównanie zmierzonej przepustowości i przepustowości oczekiwanej) lub poznają stan sieci przez zdarzenia takie jak time-out, informacje zawarte w potwierdzeniach, to sprzężenie zwrotne jest „ukryte” (implicit feedback). Kontrola z jawnym sprzężeniem zwrotnym pozwala na bardziej precyzyjne dostosowywanie  parametrów transmisji, w odróżnieniu od kontroli z „ukrytym” sprzężeniem zwrotnym, która jest bardziej skomplikowana i czasochłonna.

Kiedy kontrola przeciążenia ma miejsce tylko w końcach systemu, jest nazwana end-to-end control. W kontroli tej pośrednie elementy sieci generują i wysyłają  potrzebne informacje kontrolne do końca systemu. W metodach link-by-link, pośrednie elementy sieci wymieniają pomiędzy sobą informacje i dopasowują swoją prędkość w zależności od otrzymanej informacji (sprzężenia zwrotnego) od sąsiada. Na przykład jeżeli w przełączniku odbierającym transmisje bufor zbliża się do przepełnienia, przełącznik może wysłać do przełącznika wysyłającego żądanie zmniejszenie prędkości transmisji zapobiegając tym samym przepełnieniu bufora. W metodzie end-to-end tylko końcówki systemu mogą regulować charakterystykę ruchu.

image_pdf

Klasy usług w sieci ATM

Oceń tę pracę

Architektura sieci ATM pozwala na jednoczesną transmisję ruchu składającego się z głosu, video i danych. W celu zapewnienia określonej jakości obsługi ruchu w sieci, zdefiniowano pięć klas usług biorąc pod uwagę następujące parametry:

  • uzależnienie czasowe między nadawcą a odbiorcą (wymagane lub nie)
  • szybkość transmisji (stała lub zmienna)
  • tryb transmisji (połączeniowy lub bezpołączeniowy)

Klasy określają charakterystykę ruchu,  wymaganą jakość obsługi i definiują także takie funkcje jak routing, kontrolę zgłoszenia, alokację zasobów i kontrolę ruchu. Nie przewidziano wszystkich kombinacji powyższych parametrów, lecz wyróżniono jedynie cztery podstawowe klasy usług. Zestawiono oraz scharakteryzowano je krótko w tabeli.

  Klasa A Klasa B Klasa C Klasa D
Relacje czasowe dla transmisji danych  

wymagane

 

 

nie wymagana

Przepływność   bitowa stała zmienna
Tryb   połączenia połączeniowy bezpołączeniowy
Zastosowanie
(przykład)
Emulacja   obwodów synchronicznych Transmisja głosu i obrazu (po kompresji) Przesyłanie   danych z/do sieci Frame-Realay Przesyłanie   danych z/do sieci LAN
Rodzaj   połączenia w sieci ATM CBR rt-VBR nrt-VBR ABR

Tabela 1. Klasy usług

Klasy A, B, C oraz D oznaczane są niekiedy odpowiednio jako klasy 1, 2, 3 oraz 4. W literaturze spotyka się również pojęcie tzw. Klasy 0. Terminem tym określa się rodzaj obwodów w sieciach ATM, dla których nie zdefiniowane są usługi QOS, czyli nie zapewnia się dla nich kontroli przepływu komórek.

Klasa A

W obrębie tej klasy zdefiniowano połączenie typu CBR (Constant Bit Rate), dla którego należy zagwarantować stałe pasmo przepustowe dla całego czasu trwania połączenia, niezależnie od faktycznego jego wykorzystania. Połączenie typu CBR charakteryzują parametry:

  • PCR (Peak Cell Ratio) –określa gwarantowane stałe pasmo przepustowe podczas transmisji komórek w danym połączeniu;
  • CDV (Cell Delay Variation) –określa zmienność (dopuszczalny zakres zmian) opóźnienia podczas transmisji poszczególnych komórek w danym połączeniu;
  • Max CTD (Maximum Cell Transfer Delay) –określa maksymalne opóźnienie podczas transmisji poszczególnych komórek w danym połączeniu;
  • CLR (Cell Loss Ratio) –współczynnik określający bieżący stosunek liczby komórek straconych do łącznej liczby komórek przetransmitowanych w danym połączeniu.

W praktyce należy dążyć do tego, aby parametry CDV i CLR były bliskie zeru. W przypadku, gdy w danym momencie strumień danych w połączeniu typu CBR przekroczy dopuszczalną prędkość PCR, komórki zostaną odrzucone przez węzeł, w którym zjawisko to zostało wykryte. Połączenia tego typu stosuje się do emulacji obwodów synchronicznych (np. łączenie central telefonicznych), przesyłania głosu, video (np. video konferencje).

Klasa B i C

Początkowo dla obu tych klas zdefiniowano jeden typ połączeń –VBR (Variable Bit Rate), dla którego należy zagwarantować stałe pasmo przepustowe z możliwością jego chwilowego zwiększenia. Dalsze standaryzacja tych klas doprowadziła do wyróżnienia dwóch podklasy: rt-VBR (real time VBR) oraz nrt-VBR (non-real time VBR). Dla połączeń typy nrt-VBR definiuje się parametry:

  • PCR (Peak Cell Ratio) –określa maksymalne pasmo przepustowe podczas transmisji komórek w danym połączeniu;
  • SCR (Sustained Cell Ratio) –określa gwarantowane stałe pasmo przepustowe w danym połączeniu;
  • mean CTD (Mean Cell Transfer Delay) –określa średnie opóźnienie podczas transmisji poszczególnych komórek w danym połączeniu;
  • CLR (Cell Loss Ratio) –współczynnik określający bieżący stosunek liczby komórek straconych do łącznej liczby komórek przetransmitowanych w danym połączeniu.
  • MBS (Maximum Burst Size) –określa maksymalny czas, w którym strumień komórek może przekroczyć parametr SCR, nie przekraczając jednak PCR

W praktyce należy dążyć do tego, aby parametr CLR był bliski zeru. W przypadku, gdy w danym momencie strumień danych w połączeniu typu VBR przekroczy dopuszczalną prędkość PCR, komórki zostaną odrzucone przez węzeł, w którym zjawisko to zostało wykryte.  Natomiast w przypadku przekroczenia tylko parametru SCR, przepływ komórek nie będzie blokowany przez czas określony parametrem MBS. Węzeł sieci może zablokować transmisję komórek, jeżeli zostaną jednocześnie przekroczone parametry PCR i MBS.

Połączenie typu rt-VBR musi dodatkowo zapewnić izochroniczność transmisji, zdefiniowano więc dodatkowo dwa parametry: CVD i Max CTD (znaczenie tych parametrów jak w połączeni CBR). Dla połączenie rt-VBR nie określa się parametru Mean CTD.

Połączenia typu nrt-VBR stosuje się przeważnie do przesyłania danych pomiędzy sieciami Frame-Relay lub X.25 w obrębi sieci ATM. Natomiast przykładem usługi rt-VBR jest transmisja skompresowanego obrazu video.

Klasa D

W obrębie której zdefiniowano połączenie typu ABR (Avaiable Variable Bit Rate), dla którego należy zapewnić możliwie jak największe pasmo przepustowe, ale przy założeniu, że nie nastąpi odrzucenie komórek wskutek przeciążenia tych połączeń. Realizacja połączeń typu ABR w sieci ATM możliwa jest tylko wtedy, gdy w węzłach sieci istnieją odpowiednie mechanizmy kontroli przeciążenia. Mechanizmy te zostaną omówione w dalszej części pracy.  Dla połączeń typu ABR, ATM Forum zdefiniowało dwa podstawowe parametry:

  • PCR (Peak Cell Ratio) –określa maksymalne pasmo przepustowe podczas transmisji komórek w danym połączeniu;
  • MCR  (Minimum Cell Rate) –określa minimalne pasmo przepustowe podczas transmisji komórek w danym połączeniu;

Klasa 0

W klasie tej zdefiniowano połączenie typu UBR (Unspecified Bit Rate) nie gwarantujące żadnych parametrów jakościowych. Usługa ta wykorzystuje pozostałe pasmo transmisji w sieci ATM i w sytuacji natłoku komórki należące do tego rodzaju połączenia są odrzucane w pierwszej kolejność. Kontrolą przepływu, niezawodnością transmisji zajmują się wyższe warstwy transmisji takie jak. TCP. Połączenia typu UBR stosuje się przeważnie do przesyłania danych takich jak: poczta, transfer plików.

image_pdf

Kanał wirtualny

5/5 - (1 vote)

Komórki należące do jednego połączenia tworzą kanał wirtualny (Virtual Channel). Kanał wirtualny realizuje jednokierunkową transmisję danych w sieci ATM. Wiele kanałów wirtualnych może jednocześnie korzystać z tych samych łączy fizycznych, kanały te są rozróżniane na podstawie VCI i VPI zawartych w nagłówku komórki ATM.

Ponieważ komórki ATM mogą być wysyłane z dowolną (ustaloną na etapie zestawienia połączenia) szybkością transmisji i innymi ustalonymi parametrami, kanał wirtualny musi cechować się dowolnie dużym pasmem przepustowym. Jest to jedna z cech sieci ATM, umożliwiająca na realizację idei sieci szerokopasmowej, umożliwiającej zestawienie połączenia dla każdej aplikacji w elastyczny sposób.

W sieci ATM jest realizowane połączenie typu kanał wirtualny (VCC –Virtual Channel Connection), które oznacza zestawienie pewnej liczby łączy typu kanał wirtualny w celu utworzenia trasy pomiędzy punktami dostępu do sieci ATM dla przezroczystej transmisji danych. Połączenie VCC jest połączeniem jednokierunkowym. W celu zestawienia połączenia dwukierunkowego konieczne jest zestawienia pary połączeń typu VCC, po jednym w każdym kierunku. Połączenia VCC mogą mieć także strukturę wielopunktową, wykorzystywaną na przykład w przypadku usług konferencyjnych. Zgodnie z rekomendacjami ITU-T możliwe jest utworzenie kanału wirtualnego na jeden z wymienionych sposobów:

  • bez wykorzystania procedur sygnalizacyjnych, na podstawie subskrypcji usługi;
  • wykorzystując procedury metasygnalizacji –w taki sposób są tworzone specjalne kanały sygnalizacyjne;
  • wykorzystując specjalne kanały sygnalizacyjne (signaling VCC) –w taki sposób są tworzone „klasyczne” kanały wirtualne w chwili nadejścia nowego zgłoszenia;
  • wykorzystując procedury sygnalizacyjne typu użytkownik-użytkownik, np. tworzenie odrębnego kanału sygnalizacyjnego na bazie już istniejącego połączenia typu ścieżki wirtualnej.

Pewna grupa kanałów wirtualnych tworzy ścieżkę wirtualną, która ma przypisane pasmo wirtualne, możliwe do rezerwacji i egzekwowania.

Koncepcja ścieżki wirtualnej i kanałów  polega na przeprowadzaniu połączeń w sieci tą samą trasą, razem zgrupowanych i mogących być częściowo obsługiwanych wspólnie. Przykładowo, zmiana przebiegu trasy ścieżki wirtualnej na wskutek uszkodzenia, powoduje automatyczną zmianę przebiegu wszystkich związanych z nią kanałów wirtualnych. Komórki ATM należące do danej ścieżki wirtualnej identyfikowane są na podstawie pole VPI (Virtual Path Identfier) znajdującego się w nagłówku danej komórki. Głównymi zaletami wprowadzenia koncepcji ścieżki wirtualnej są:

  • zlikwidowanie konieczności translacji nagłówka w przypadku połączeń typu ścieżka wirtualna pomiędzy węzłami sieci, uproszczony dobór trasy;
  • zwiększone możliwości kontroli i sterowania w sieci;
  • zwiększona elastyczność sieci ATM;

Multipleksacja jest operacją łączenia wielu strumieni danych w jednym elemencie komutacyjnym lub transmisyjnym. W sieciach ATM stosuje się technikę multipleksacji etykietowanej LM (Label Multiplex) interpretującej na bieżąco zawartość odpowiednich pół identyfikatorów VPI i VCI w komórkach nadchodzących asynchronicznie z wielu źródeł. W przypadku spiętrzeń (burstiness) strumieni cyfrowych ponad deklarowaną średnią przepływność sieć (przełącznik ATM) jest przygotowana na chwilowy wzrost aktywności przez poszerzenie istniejącego pasma.

image_pdf

Architektura protokołu ATM

Oceń tę pracę

Dla pełnego omówienia standardu ATM niezbędne jest umieszczenie go w uniwersalnej strukturze OSI (Open System Interconnection).

Chociaż standard ATM definiuje trzy warstwy, nie jest słuszne przypuszczenie, że odpowiadają one trzem dolnym warstwom modelu odniesienia ISO OSI. Właściwsze jest traktowanie warstwy fizycznej ATM oraz warstwy ATM jako odpowiednika warstwy fizycznej w modelu OSI, natomiast warstwy adaptacji (ang. AAL) jako odpowiednika warstwy łącza danych wg OSI. Wskazuje na to porównanie usług podstawowych realizowanych przez odpowiednie warstwy. Łącze wirtualne oferowane przez warstwę ATM odpowiada warstwie fizycznej. Udostępnia ono usługę transmisji bajtów informacji w konfiguracji punkt-punkt lub punkt-wielopunkt z określoną prędkością. Jeśli chodzi o warstwę AAL, to oferuje ona usługi dotyczące dostępu do łącza, przydzielania pasma, nie zapewnia natomiast procedur typowych dla warstwy sieciowej, związanych z routingiem czy adresacją końcówek sieci. Według ITU-T te dodatkowe funkcje powinny rezydować w warstwie powyżej AAL.

Zasadniczą funkcją warstwy fizycznej jest poprawna transmisja komórek w medium fizycznym pomiędzy różnymi elementami sieci ATM. Warstwa ta dzieli się na dwie podwarstwy:

  • podwarstwę medium fizycznego (Physical Medium Sublayer), której zadaniem jest transmisja bitów i fizyczny dostęp do medium. Podstawowe operacje związane są taktowaniem bitów, kodowaniem i konwersją do postaci sygnałów optycznych lub elektrycznych w zależności od stosowanego medium.
  • podwarstwę zbieżności transmisji (Physical Transmission Convergence Sublayer), której rolą ogólnie jest zamiana ciągu komórek na ciąg bitów i vice versa. W warstwie tej możemy wyróżnić następujące funkcje:

a)     Cell Rate Decoupling -wstawianie (oraz usuwanie po drugiej stronie łącza) pustych komórek. Ponieważ strumień danych niekoniecznie wypełnia całą przepływność łącza, niezbędne jest dodawanie pustych komórek tak, aby zapewnić ciągłość ich strumienia i zgodność z przepływnością bitów w medium;

b)     HEC Generation (Verification) –obliczanie i sprawdzanie nadmiaru kodowego dla każdej komórki i umieszczanie go w polu HEC nagłówka;

c)     Cell Delineation –wydzielanie komórki z ramki, polegające na wskazaniu początku i końca poprawnego pakietu;

d)     Transmission Frame Generation (Recorvery) And Adaptation. –umieszczanie (wydzielanie) komórki z ramki transmisyjnej. Sieć ATM może korzystać z sieci transmisyjnej , o strukturze ramkowanej i wówczas trzeba dostosować strumień pakietów do ramki, np. do ramki SDH lub G.703.

Warstwa ATM jest zespołem funkcji niezależnych od  medium transmisyjnego, dostarczających możliwości przezroczystego transferu informacji użytkownika. Warstwa definiuje budowę komórki ATM i związane z tym sposoby jej transportu przez sieć, zarządzania ruchem, ustalania jakości połączeń. Podstawowymi funkcjami warstwy ATM są:

  • tworzenie i rozpakowywanie nagłówka
  • multipleksacja i demultipleksacja komórek
  • realizacja doboru trasy dla komórek
  • realizacja translacji VCI lub/i VPI
  • realizacja procedur sterowania przepływem

Aby sieć ATM przenosiła szeroka gamę usług o różnych charakterystykach ruchu oraz różnych wymaganiach systemowych, uzależnieniach czasowych itp., niezbędna jest adaptacja różnych klas aplikacji do jednolitej warstwy ATM. Funkcje te wypełnia Warstwa Adaptacji ATM (AAL – ATM Adaptation Layer).

Zdefiniowano cztery protokoły warstwy adaptacji ATM:

  • AAL1 – wspomaga usługi połączeniowe. wymagające stałej prędkości transmisji (ang. CBR -Constant Bit Rate), charakteryzujące się uzależnieniem czasowym pomiędzy nadawcą a odbiorcą (taktowanie i opóźnienie). Realizuje następujące funkcje:

–         Segmentacja i desegmentacja jednostek informacyjnych,

–         Zmniejszanie wpływu zmiennego opóźnienia komórek,

–         Reakcja na stratę komórek lub zmianę ich kolejności,

–         Odtwarzanie w odbiorniku częstotliwości  zegara nadajnika,

–         Monitorowanie i obsługa błędów pola kontrolnego AAL.

  • AAL2 -wspomaga usługi połączeniowe, wymagające zmiennej (przydzielanej dynamicznie) prędkości transmisji (ang. VBR – Variable Bit Rate). Realizuje następujące funkcje:

–         Segmentacja i desegmentacja jednostek informacyjnych,

–         Korekcja błędów dla usług audio i video,

–         Synchronizacja terminali poprzez przesyłanie znaczników czasu,

–         Obsługa zagubionych i niesekwencyjnych komórek.

  • AAL3/4 – wspomaga usługi o zmiennym zapotrzebowaniu na przepustowość, zarówno połączeniowe, jak tez bezpołączeniowe (klasy usług „C” i „D”). Początkowo istniały dwa oddzielne protokoły AAL3 oraz AAL4 odpowiednio dla usług połączeniowych i bezpołączeniowych. Spełnia następujące funkcje, które są aktywne w zależności od trybu pracy:

–         Segmentacja i desegmentacja jednostek informacyjnych,

–         Reakcja na błędy,

–         Wskazywanie typu informacji,

–         Określanie maksymalnej wielkości buforów po stronie odbiorczej potrzebnych do skompletowania przesyłanej wiadomości.

  • AAL5 – wspomaga usługi połączeniowe o zmiennym zapotrzebowaniu na przepustowość. W stosunku do AAL3/4 jest on wersją znacznie odchudzoną m.in. poprzez uproszczenie korekcji błędów. Dzięki temu większe pole w komórce ATM przeznaczone jest na informacje użytkownika (warstwy wyższej). Upraszcza się także obróbka komórki oraz implementacja protokołu. Zakwalifikowano go jako wspomagającego klasę usług „C”, chociaż istnieją projekty wykorzystania go do transportu usług bezpołączeniowych (projekt ATM Forum – „LAN-emulation” oraz specyfikacja IETF dotycząca transportu protokołu IP przez sieć ATM).
image_pdf

Charakterystyka sieci ATM

5/5 - (1 vote)

Współcześnie tworzone sieci ATM osiągają bardzo duże rozmiary zarówno ze względu na rozpiętość geograficzną, jak i też liczbę podłączonych do niej urządzeń końcowych. ATM staje się obecnie najbardziej rozpowszechnianą technologią szkieletową dla złożonych sieci korporacyjnych, miejskich i regionalnych, zaczyna także powoli wkraczać do sieci lokalnych.

Technologia ATM (Asynchronous Transfer Mode) powstała w wyniku kompromisu między dwoma już funkcjonującymi technikami cyfrowej transmisji szerokopasmowej: STM (Synchronous Transfer Mode) i PTM (Packet Transfer Mode), łącząc zalety istniejących technologii przy jednoczesnej eliminacji większości wad tych systemów. Technika STM jest stosowana w sieciach ISDN, PTM zaś w lokalnych sieciach komputerowych. Wywodząca się z telekomunikacji technologia ATM jest coraz częściej postrzegana jako technika łącząca standard przekazów telekomunikacyjnych sieci SDH (Synchronous Digital Hierarchy) na poziomie warstwy fizycznej z różnymi sieciami komputerowymi.

Informacja w standardzie ATM jest przesyłana w postaci krótkich komórek o stałej długości (48 bajtów informacji + 5 bajtów nagłówka). Nagłówek jest niezbędny w celu zrealizowania przezroczystego transportu informacji użytkownika przez sieć ATM bez zakłóceń, straty czy też nadmiernego opóźnienia.

Standard ATM jest techniką telekomunikacyjną typu połączeniowego, co oznacza, że faza przesyłania informacji właściwej jest poprzedzona fazą zestawiania połączenia. W tej fazie wstępnej następuje negocjowanie kontraktu pomiędzy „klientem” sieci a „administracją” sieci. Na podstawie parametrów deklarowanych przez użytkownika (typ usługi, przewidywana przepływność), sieć decyduje, czy można zagwarantować odpowiedni poziom jakości obsługi dla nowopojawiającego się zgłoszenia i dla wszystkich innych aktualnie realizowanych. Zadeklarowane w fazie wstępnej parametry zgłoszenia mogą podlegać renegocjacji. Transmisja w sieci ATM odbywa się poprzez zestawienie łącza logicznego (kanał wirtualny, ścieżki wirtualne).

Sieci oparte o technologie ATM są konfigurowane jako gwiazda lub hierarchiczna gwiazda (w przypadku połączeń miedzy przełącznikami) z przełącznikiem ATM w centrum. Wyróżnia się dwa typy interfejsów:

  • UNI (User Network Interface), który łączy sprzęt użytkownika (Customer Premises Equipment) z siecią ATM, czyli odpowiada za styk użytkownik-sieć publiczna. Interfejs UNI powinien zapewnić użytkownikowi podłączenie do publicznej sieci urzadzenia typu: terminal, urządzenie sieci LAN/MAN, przełącznik.
  • NNI (Network Node Interface), styk sieciowy umieszczony pomiędzy węzłami ATM. Interfejs łączący tylko porty przełączników ATM – tzn. za ich pośrednictwem łączone są sieci i podsieci ATM. (styk sieć publiczna-sieć publiczna).
  • Sieć ATM do przesyłania danych wykorzystuje pakiety o jednakowej długości 53 bajtów (48 bajtów informacji i 5 bajtów nagłówku). Stała długość pakiety upraszcza sterowanie ruchem i zarządzanie zasobami sieci.  W dalszej części pracy przedstawię budowę komórki ATM i rodzaje występujących komórek.GFC (Generic Flow Control) – cztery bity kontroli przepływu stosowane w przypadku interfejsu UNI kiedy z jednego interfejs korzysta kilka przyłączonych stacji. W przypadku nie wykorzystywania funkcji kontroli przepływu pole to zawiera same zera. Pole GFC może być wykorzystane przez użytkownika w celu wydzielenia w ramach jego prywatnej sieci wielu klas usług z realizacją różnych wartości QOS.

    VPI/VCI (Virtual Path Identifier / Virtual Channel Identifier) – bity identyfikacji wirtualnej ścieżki (VPI) i kanału (VCI) tworzące tzw. routing field – pole decydujące o routingu-transmisji komórki w sieci, miedzy węzłami ATM. Jak wcześniej pokazałem., sieć ATM jest protokółem wymagającym fazy nawiązania połączenia dla ustanowienia wirtualnego połączenia na fizycznych łączach ( uaktualnienia tablic w punktach komutacyjnych). VPI/VCI służą do identyfikacji danej komórki z konkretnym połączeniem i są wykorzystywane do multipleksowania, demultipleksowania i komutacji komórek w węzłach sieci ATM, przyporządkowuje się je danemu połączeniu na czas transmisji  i obowiązują na odcinku miedzy węzłami sieci. Ze względu na małe rozmiary komórek stosowanie pełnych adresów byłoby bardzo nieekonomiczne, dlatego stosuje się właśnie takie etykiety unikalne tylko w obrębie interfejsu. Ogólnie rzecz biorąc w węzłach sieci odbywa się wymiana wartości VPI/VCI na inne – ważne na odcinku do następnego węzła. Używając takiego mechanizmu warstwa ATM może asynchronicznie przeplatać w jednym fizycznym medium komórki z wielu połączeń.

    PT (Payload Type) – 3-bitowe pole służące do identyfikacji typu informacji jaka niesie komórka. Pozwala ono na odróżnienie danych użytkownika od informacji kontrolnych – związanych z serwisem i zarządzaniem zasobami sieci.

    CLP (Cell Loss Priority) – bit określający porządek, w jakim sieć będzie odrzucała komórki w przypadku jej zatłoczenia – kiedy istnieje niebezpieczeństwo przepełnienia bufora w węźle. Komórki z ustawionym bitem CLP (CLP=1) w pierwszej kolejności zostaną odrzucone, dając możliwość obsłużenia komórek o wyższym priorytecie (w sytuacji awaryjnej).

    HEC (Header Error Control) – pole kontrolne informacji przenoszonej przez nagłówek. Pojedyncze błędy mogą być korygowane a większa liczba błędów tylko wykrywana.

    Standard ATM wyróżnia kilka typów komórek, mogących pojawić się w sieci:

    • komórki „puste” (idle cells), komórki nie przenoszące żadnej informacji a jedynie mają za cel dostosowanie szybkości przepływu pomiędzy warstwą ATM a warstwą fizyczną. Komórki te są generowane i usuwane przez warstwę fizyczną;
    • komórki „poprawne” (valid cells) –przesyłane w warstwie fizycznej, które mają prawidłowy nagłówek lub których nagłówek został zmodyfikowany przez proces weryfikacji;
    • komórki „niepoprawne” (invalid cells), których nagłówek zawiera błędy nie usunięte przez proces weryfikacji, komórki tego typu są usuwane przez warstwę fizyczną;
    • komórki „przydzielone” (assigned cells), występujące w warstwie ATM i dostarczające usługi dla aplikacji;
    • komórki nieprzydzielone (unassigned cells), czyli wszystkie komórki warstwy ATM, które nie są „przydzielone”.

Sieci w standardzie ATM powinny zapewnić użytkownikom wydajność, efektywność i zagwarantować wynegocjonowane  parametry jakościowe przez cały czas połączenia.

Technologia ATM, aby sprostać stawianym jej wymaganiom, potrzebuje odpowiednich algorytmów sterowania ruchem i kontroli przeciążeniem.

Kontrola przeciążenia jest odpowiedzialna za efektywną, wydajną i bezbłędną transmisję danych. Kontrola ta jest jednym z najbardziej istotnych zagadnień we wszystkich szybkich sieciach komputerowych.

Przyczynami powstawania przeciążenia są: fluktuacja strumieni pakietów, niezgodność przepustowości łącz, „wybuchowość” ruchu w sieci a także awarie wewnątrz sieci. Przykładowo transmisja skompresowanego obrazu video może być przyczyną fluktuacji strumieni pakietów. Niezgodność przepustowości łącz spowodowana jest m.in. koniecznością współpracy bardzo szybkich nowoczesnych łącz wraz ze starych wolnymi łączami, które nie znikną z chwilą wprowadzenia szybkich łączy i będą jeszcze długo używane. Rozpiętość przepustowości łącz ciągle się zwiększa. Dzisiaj istnieją sieci o łączach od prędkości 9,6 kbps do 1Gbps, jutro będziemy mieli sieci składające się z łączy od prędkości 9,6 kbps do kilku Gbps. Wzrastająca niejednorodność potęguje  problem przeciążenia.

Aby zapewnić efektywność sieci i zapobiec stratom danych na skutek w/w przyczyn, potrzebujemy efektywnych metod badających stan sieci i podejmujących odpowiednie reakcje w celu uniknięcia przeciążenia. Algorytmy sterowania przeciążeniem, którymi się zająłem w niniejszej pracy, są takimi metodami.

W pracy krótko opisałem technologie ATM: architekturę protokołu, format komórki ATM i rodzaje połączeń. Następnie przedstawiłem problem przeciążenia, przyczyny powstawania i próby jego rozwiązania. W dalszej części pracy sklasyfikowałem i powiązałem poszczególne metody kontroli przeciążenia z rodzajami ruchu w sieci ATM. W rozdziale 11 opisałem zasadę działania najbardziej  znanych algorytmów kontroli przeciążenia. W następnych rozdziałach bazując na dostępnych symulacjach dokonałem porównania, analizy algorytmów kontroli przeciążenia.

image_pdf