Otwarty model połączeń OSI

Oceń tę pracę

Otwarty model połączeń OSI (Open Systems Interconnection) to koncepcja stworzona przez Międzynarodową Organizację Normalizacyjną (ISO), która opisuje sposób, w jaki różne systemy komputerowe mogą komunikować się ze sobą w sieci. Model OSI jest stosowany do zrozumienia i standaryzacji procesu komunikacji w sieciach komputerowych i składa się z siedmiu warstw, z których każda pełni określoną funkcję w procesie wymiany danych.

Warstwa 1: Warstwa fizyczna odpowiedzialna jest za fizyczne połączenie urządzeń w sieci. Zajmuje się przesyłaniem danych w postaci bitów przez medium transmisyjne, takie jak kable, światłowody czy fale radiowe. W tej warstwie określane są specyfikacje dotyczące sprzętu, jak na przykład złącza, napięcia, prędkości transmisji czy typy kabli.

Warstwa 2: Warstwa łącza danych zapewnia niezawodne połączenie między dwoma urządzeniami, odpowiedzialna za detekcję i korekcję błędów na poziomie ramki danych. Ta warstwa organizuje dane w ramki, dodaje kontrolę błędów i zapewnia kontrolę dostępu do medium transmisyjnego, co pozwala na skuteczną komunikację pomiędzy urządzeniami w sieci lokalnej (LAN).

Warstwa 3: Warstwa sieciowa odpowiada za trasowanie danych w sieci, czyli wyznaczanie najefektywniejszej drogi dla pakietów danych z punktu A do punktu B, uwzględniając różne węzły i urządzenia sieciowe, takie jak routery. Jest odpowiedzialna za adresowanie logiczne (np. adresy IP) oraz rozwiązywanie problemów związanych z fragmentacją i ponownym składaniem pakietów.

Warstwa 4: Warstwa transportowa zapewnia niezawodność połączenia pomiędzy aplikacjami działającymi na różnych komputerach. Odpowiada za podział danych na segmenty, ich prawidłowe przesyłanie oraz kontrolowanie błędów i przepływu. Protokóły takie jak TCP (Transmission Control Protocol) działają na tej warstwie, zapewniając komunikację bez błędów i gwarantując, że dane dotrą w odpowiedniej kolejności.

Warstwa 5: Warstwa sesji zarządza sesjami komunikacyjnymi, które zapewniają otwieranie, zarządzanie i zamykanie połączeń między aplikacjami. Ta warstwa odpowiada za synchronizowanie komunikacji oraz kontrolowanie dialogów, zapewniając, że aplikacje mogą wymieniać dane w sposób uporządkowany i bezpieczny, np. w trakcie rozmowy wideo czy przesyłania plików.

Warstwa 6: Warstwa prezentacji jest odpowiedzialna za prezentowanie danych w formacie, który jest zrozumiały dla aplikacji. Może obejmować kompresję danych, szyfrowanie lub konwersję formatów, co pozwala na wymianę informacji pomiędzy systemami, które mogą używać różnych kodowań czy standardów.

Warstwa 7: Warstwa aplikacji to warstwa, która bezpośrednio kontaktuje się z użytkownikiem i aplikacjami. Obejmuje protokoły aplikacyjne takie jak HTTP, FTP, SMTP, POP3, które pozwalają na korzystanie z usług sieciowych, takich jak przeglądanie stron internetowych, wysyłanie poczty elektronicznej czy przesyłanie plików. Warstwa ta zapewnia interakcję użytkownika z systemem komputerowym w kontekście sieciowym.

Otwarty model połączeń OSI jest teoretycznym modelem, który służy do nauki i zrozumienia struktury sieci komputerowych. Choć w praktyce nie wszystkie protokoły i technologie sieciowe ścisłe odpowiadają każdej warstwie modelu OSI, model ten stanowi ważne narzędzie do opisu i analizy procesów komunikacyjnych w sieci. Pozwala na podział funkcji na różne poziomy, co ułatwia projektowanie, diagnozowanie oraz rozwój sieci komputerowych.

Głównym problemem w konstruowaniu urządzeń elektronicznych jest zapewnienie współdziałania sprzętu i oprogramowania. Inne problemy mogą pojawić się podczas łączenia sprzętu elektronicznego wyprodukowanego w jednej części świata z wyprodukowanym gdzie indziej. Z tych powodów Międzynarodowa Organizacja Normalizacyjna ISO (International Standards Organization), opracowała model, znany jako OSI (Open System Interconnection), który ma za zadanie:

  • Umożliwić wytwórcom różnych systemów łączenie sprzętu za pomocą standardowych interfejsów.
  • Pozwolić, aby oprogramowanie i sprzęt współdziałały prawidłowo i mogły być przenoszone do różnych systemów.
  • Stworzyć model, który byłby stosowany na całym świecie.

Dane przemieszczają się od najwyższej warstwy nadawcy do najniższej i następnie od najniższej do najwyższej warstwy odbiorcy. Każda warstwa urządzenia nadawczego komunikuje się bezpośrednio z odpowiednią warstwą urządzenia odbiorczego. To odpowiada wirtualnemu przepływowi danych między warstwami.

Najwyższa warstwa (warstwa aplikacji) pozyskuje dane z aplikacji i uzupełnienia je o dane, które warstwa aplikacji odbiorcy powinna otrzymać. Te dane są przesuwane do następnej warstwy (warstwa prezentacji). Podobnie dodaje ona swoje własne dane i tak dalej w dół, aż do warstwy fizycznej. Przesyłane dane mogą być określone jako pakiety lub ramki danych.

Poszczególne warstwy mają następujące funkcje:

  1. Fizyczna. Definiuje elektryczne charakterystyki kanału komunikacyjnego i parametry transmitowanego sygnału, takie jak poziomy napięcia, typy złączy, okablowanie itd.
  2. Łącza danych. Powoduje że transmitowane bity są odbierane w sposób niezawodny dzięki dodawanym bitom określającym początek i koniec każdej ramki. Dodawany jest również dodatkowy bit detekcji / korekcji błędu. Zapewnia, że inne terminale (węzły) nie uzyskują dostępu do wspólnego kanału komunikacyjnego w tym samym czasie.
  3. Sieciowa. Wyznacza marszrutę danych poprzez sieć. Jeżeli dane mają być przesłane poza sieć nadawcy, wtedy warstwa sieci wyznacza trasę połączenia. Zadanie może wymagać na przykład podziału danych do transmisji i scaleniu ich po odbiorze.
  4. Transportowa. Umożliwia komunikację z innymi systemami. Realizuje połączenie, utrzymuje i zamyka sesje. Kanał komunikacyjny i przepływ danych powinny być przeźroczyste dla warstwy wyższej, sesyjnej.
  5. Sesji. Warstwa zarządza sesjami (połączeniami). Odpowiada za ogólnie rozumianą synchronizację przesyłania danych pomiędzy współpracującymi aplikacjami.
  6. Prezentacji. Stosuje wiele konwersji, które umożliwiają właściwą interpretację danych. Może to być translacja pomiędzy dwoma systemami, gdy stosowano różne standardy prezentacji, takie jak kroje czcionek lub kody znaków. Warstwa prezentacji może również wykonywać funkcje szyfrowania w celu ochrony danych.
  7. Aplikacji. Dostarcza usługi sieciowe dla programów aplikacyjnych, takich jak przesyłanie plików i poczty elektronicznej.
image_pdf

Porównanie metod kontroli przeciążenia

Oceń tę pracę

W rozdziale tym porównam trzy algorytmy kontroli przeciążenia. W celu porównania algorytmów skorzystam z symulacji przeprowadzonych przez niezależne organizacje. Symulacje zostały przeprowadzone za pomocą własnych pakietów symulacyjnych. Chcąc powtórzyć podobne symulacje lub chcąc rozszerzyć zakres symulacji należałoby albo napisać do tego celu program albo zakupić odpowiedni pakiet symulacyjny. Jednym z takich komercyjnych programów umożliwiających przeprowadzenie symulacji metod kontroli przeciążenia jest pakiet OPNET firmy MIL3. Inne znane dostępne pakiet nie pozwalają na zbyt dużą ingerencję w mechanizmy kontroli przeciążenia.

Do symulacji trzech algorytmów zostanie użyta konfiguracja sieci składająca się z pięciu przełączników i z siedmiu par: nadawca-odbiorca. Odległość pomiędzy dwoma sąsiednimi przełącznikami wynosi 1000km a między przełącznikiem a węzłem sieci 100m. Wszystkie łącza mają przepustowość równą 45Mb/s.

Uwzględniając odległość połączenia w symulacji możemy wyróżnić trzy rodzaj połączeń:

Długodystansowe: połączenie od nadawcy 0 przechodzi przez cztery przełączniki. Połączenie to oznaczymy jaki VC0.

Średniodystansowe: połączenia od nadawcy 1 i 4 składają się z dwóch przełączników. Połączenia oznaczamy odpowiedni VC1 i VC4.

Krótkodystansowe: połączenia od nadawcy 2, 3, 5 i 6 przechodzą tylko przez jeden przełącznik. Połączenia oznaczamy odpowiedni VC2, VC3, VC5  i VC6.

Konfigurację testową przedstawia Rysunek 12.

Symulacja dotyczyć się będzie jednego z ważniejszych aspektów  działania algorytmu, tzn. „sprawiedliwego” rozdziału dostępnego pasma pomiędzy poszczególne kanały wirtualne. Używając metody sugerowanej przez ATM Forum możemy obliczyć optymalne teoretyczne pasmo dla każdego połączenia (współczynnik fairshare). Obliczenia te zostały przedstawione w tabeli 3.

Tabela 3. Oczekiwane pasma przepustowe dla każdego połączenia w Mb/s

VC0 VC1 VC2 VC3 VC4 VC5 VC6
3.75 3.75 7.5 3.75 3.75 7.5 11.25

Symulacje zostały przeprowadzone dla dwóch parametrów ICR (initial cell rate), czyli początkowej prędkości nadawania, równych PCR i PCR/20.

Dla wszystkich urządzeń nadawczych startujących z parametrem ICR=PCR/20 osiągnięto prawie idealne wyniki. Wszystkie kanały wirtualne mające podobną drogę połączenia otrzymały prawie takie samo pasmo przepustowe. Dostępne pasmo zostało sprawiedliwie rozdzielone, jedynie można zauważyć krótkotrwały okres nieustalony.

Jednak dla parametru startowego ICR=PCR, zauważono błąd w algorytmie. Podczas długiego przeciążenia spowodowanego ustawieniem parametrów początkowych, przełączniki kilkukrotnie redukowały pasmo przepustowe dla poszczególnych kanałów, współczynnik fairshare osiągnął w końcu wartość 0. Wartość współczynnika fairshare pozostała równe 0 nawet kiedy wszystkie kanały przestały nadawać. Wyniki testów przedstawione zostały w tabeli 4 i na rysunku 13.

Tabela 4. Osiągnięte pasmo przepustowe dla połączeń w algorytmu CAPC

VC0 VC1 VC2 VC3 VC4 VC5 VC6
3.5 3.6 7.2 3.6 3.6 7.2 10.8

Rysunek 13. Średnia przepustowość uzyskana dla algorytmu CAPC

Algorytm ERPCA do obliczenia optymalnego pasma przepustowego dla każdego połączenia używa informacji zawartych w odbieranych komórkach RM. Algorytm ten jest najprostszym z symulowanych algorytmów. Symulacja wykazała, że w porównaniu do algorytmu CAPC, osiągającego stabilny i ustalony stan w krótkim odcinku czasy, osiągnięta przepustowość dla danego połączenia jest niestabilna i silnie oscyluje wokół optymalnej przepustowości. Zmieniając współczynniki algorytmu można uzyskać różną charakterystykę przepustowości. Dla większego parametru a możemy osiągnąć szybką reakcję na stan sieci, ale kosztem większej oscylacji przepustowości. Dla małego parametru a możemy osiągnąć stabilizację przepustowości, ale kosztem dłuższego stanu nieustalonego. Wyniki osiągnięte w symulacji przedstawia Tabela 5 i Rysunek 14.

Tabela 5. Osiągnięte pasma przepustowe dla połączeń w algorytmie ERPCA

VC0 VC1 VC2 VC3 VC4 VC5 VC6
3.3 3.7 7 3.7 4 7.6 11.6

Rysunek 14. Średnia przepustowość uzyskana dla algorytmu EPRCA

Algorytm MIT jest najbardziej skomplikowanym algorytmem, wymagającym wielu obliczeń. Obliczenia te jednak nie są skomplikowane i nie wprowadzają zbyt dużego obciążenia obliczeniowego.

Rezultatem wprowadzenia większej ilości obliczeń jest osiągnięta stabilność, bardzo dobre wykorzystanie całego dostępnego pasma i „sprawiedliwe” jego rozdzielenie pomiędzy wszystkie kanały wirtualne. Wyniki osiągnięte w symulacji przedstawia Tabela 6 i Rysunek 15.

Tabela 6. Osiągnięte pasma przepustowe dla połączeń w algorytmie MIT

VC0 VC1 VC2 VC3 VC4 VC5 VC6
3.4 3.6 7.3 3.9 3.7 7.5 11.2

Rysunek 15. Średnia przepustowość uzyskana dla algorytmu MIT

Algorytmy kontroli przeciążenia powinny się cechować: skalowalnością, optymalnością, odpornością i implementowalnością. Z opisów algorytmów i analizy symulacji wynika, że żaden z przedstawionych algorytmów nie spełnia w pełni wszystkich cech. Żaden algorytm ze względu na brak niektórych standardów nie może być implementowany jednocześnie w sieciach lokalnych i rozległych. W bardzo szybkich nowopowstających sieciach  rozległych ATM algorytmy typu rate-based są zbyt wolne i nie nadążają czasami za gwałtownymi zmianami stanów sieci. Algorytmy typu credit-based pozbawione tej wady, ze względu na konieczność implementacji osobnych kolejek dla każdego kanału wirtualnego w przełącznikach są obecnie zbyt skomplikowane technologicznie aby mogły być wdrożone. ATM Forum wstrzymała z tego powodu pracę nad algorytmami credit-based i zajęła się udoskonalaniem algorytmów typu rate-based.

Algorytmy bazujące na bitowym sprzężeniu zwrotnym okazały się zbyt wolne, a brak informacji w sprzężeniu zwrotnym na temat stanu sieci (dostępne pasmo, prędkość transmisji) nie umożliwia efektywnej kontroli ruchem. Algorytmy te także w niektórych specyficznych konfiguracja nie sprawiedliwie rozdzielały dostępne pasmo, faworyzując niektórych użytkowników. Najlepszymi do tej pory okazały się algorytmy: CAPC, ERPCA i MIT. Jednak algorytmy te nie są także idealnymi metodami kontroli przeciążenia. Wszystkie trzy algorytmy sprawiedliwie rozdzielają dostępne pasmo. Algorytm CAPC nie rodził sobie z długotrwałym, początkowym przeciążeniem, powodując zatrzymanie transmisji. Algorytm ERPCA, jeden z najprostszych algorytmów, cechował się dość dużymi oscylacjami przydzielanego  pasma i nie osiągał stabilizacji takiej jak pozostałe algorytmy. Najlepszym algorytmem okazał się algorytm MIT, który „najsprawiedliwiej” rozdzielił pasmo przepustowe, osiągną szybko stabilizację prędkości ruchu dla poszczególnych użytkowników. Algorytm ten wymaga prostych obliczeń dla każdego kanału wirtualnego, co w przypadku konfiguracji testowej składającej się z 7 kanałów wirtualnych nie stanowiło problem. Jednak w rzeczywistych warunkach przełącznik obsługuje jednocześnie tysiące kanałów wirtualnych, ilość nieskomplikowanych obliczeń i czas w jakim mają być wykonane wówczas rośnie na tyle, że przekraczają one obecnie moc dostępnych procesorów mogących być zastosowanych w przełącznikach.

Jak widać nie istnieje jeszcze „idealny” algorytm kontroli przeciążeniem. Prace nad niektórymi słabszymi algorytmami zostały wstrzymane, najlepsze  algorytmy są w ciągłej fazie udoskonaleń i testów.

Organizacje standaryzacyjne muszą wybrać jeden najlepszy algorytm albo też zdecydować się na kilka algorytmów i starać się zapewnić kompatybilność pomiędzy poszczególnymi algorytmami. Jest to trudny wybór, którego  organizacjom do tej pory nie udało się dokonać. Problem przeciążenia jeszcze długo będzie tematem otwartym, czekającym na nowe, lepsze rozwiązania.

Niniejsza praca stanowi próbę przedstawienia problemu przeciążenia i analizy dostępnych metod jego rozwiązania. Posiadając odpowiedni pakiet symulacyjny można kontynuować rozpoczętą pracę nad problemem przeciążenia, np. wybierając jeden z algorytmów, spróbować optymalizować jego parametry a nawet starać się modyfikować algorytm, likwidując jego wady. Badania takie dałyby ogromną wiedzę nie tylko na temat problemu przeciążenia, ale także na temat całej technologii ATM.

image_pdf

Wybór metody kontroli przeciążenia

Oceń tę pracę

Wybór metod kontroli przeciążenia jest obecnie największym problem organizacji ATM Forum, zajmującej się standaryzacją ATM. Istnieje kilka sprzecznych podejść do kontroli przeciążenia w sieci ATM, które  prowadzą do powstawania różnych metod kontroli przeciążenia. Niektóre podejścia po długich rozważaniach zostały zatwierdzone, inne są ciągle dyskutowane i otwarte na nowe rozwiązania. Przedstawię teraz kilka różnych proponowanych podejść do metod kontroli przeciążenia.

a)     algorytm typu credit-based czy typu rate-based?

W idealnych warunkach algorytm typu credit-based gwarantuje zerową stratę komórek na wskutek przeciążenia, podczas którego długość kolejki nie może wzrosnąć powyżej danych kredytów. Metoda typu rate-based nie może zagwarantować straty komórek. Podczas przeciążenia, istnieje możliwość zbyt gwałtownego wzrostu kolejki w buforze i jego przepełnienie, powodując utratę komórek. Algorytm credit-based pozwala także na bardzo szybkie osiągnięcie maksymalnego wykorzystanie pasma przez kanały wirtualne, w odróżnieniu od algorytmów typu rate-based, które potrzebują kilku lub kilkunastu komórek zarządzających do pełnego wykorzystania pasma. Jednak algorytm credit-based wymaga osobnej kolejki (bufora) w przełączniku dla każdego wirtualnego kanału (dotyczy to również nieaktywnych VC), co czyni ten algorytm bardzo skomplikowanym w realizacji.

ATM Forum po długich debatach zaakceptował algorytmy typu rate-based, a odrzucił tymczasowo credit-based. Głównym powodem odrzucenia algorytmu credit-based była konieczność implementacji osobnej  kolejki, która okazała się na razie zbyt skomplikowana i droga.

a)     Open-loop czy close-loop

W metodzie typu close-loop nadawca dostosowuje swoją prędkość na podstawie informacji z otrzymanego sprzężenia zwrotnego. Metoda typu open-loop nie potrzebują sprzężenia zwrotnego między nadawcą a odbiorcą, przykładem takiej metody jest rezerwacja.

Metoda typu close-loop jest za wolna w obecnych szybkich sieciach o dużym zasięgu, czas jaki upłynie zanim źródło odbierze sprzężenie zwrotne jest zbyt długi i tysiące komórek może zostać straconych. Z drugiej strony, jeżeli już wystąpi przeciążenie i trwa ono długo, to rozładowanie przeciążenia może nastąpić tylko poprzez wysłanie żądania zmniejszenia prędkości do nadawcy.

Połączenie ABR  zostało zaprojektowany w celu maksymalnego wykorzystania pozostałego pasma i źródło nadające w tym połączeniu musi znać stan sieci.

 

b)     typ sprzężenia zwrotnego

Obecnie stosowane są dwa typy sprzężenia zwrotnego binarny i typu explicit. Binarne sprzężenia zwrotne pozwala nam tylko na poinformowaniu o występowaniu przeciążenia. Używając sprzężenia typu explicit możemy przenieś nim więcej informacji o stanie sieci, które pozwolą na szybszą reakcję na pojawiające i znikające sytuacje przeciążenia.

W większości nowych metod stosowane jest sprzężenia typu explicit, niektóre metody stosują równocześnie dwa typy sprzężenia.

ATM Forum sprecyzował format komórki zarządzającej (sprzężenia zwrotnego) dla ruchu ABR.

 

c)     wykrywanie przeciążenia: wielkość kolejki czy przyrost kolejki

Wykrywanie przeciążenia w buforach może odbywać się na dwa sposoby:

  • ustalenie progu w buforze, którego przekroczenie oznacza stan przeciążenia
  • mierzenie prędkości zapełniania bufora

Ustalenie progu w buforze jest najprostszym sposobem wykrywania przeciążenia, jednak metoda ta nie odzwierciedla faktycznego stanu sieci. Np. kolejka z 1000 komórek nie jest bardziej „przeciążona” niż kolejka z 10 komórkami, jeżeli dane z pierwszej kolejki wychodzą szybciej niż przychodzą, a w drugim przypadku odwrotnie. Mierzenie prędkości zapełniania bufora pozwala nam ocenić aktualny stan sieci oraz przewidzieć późniejsze zmiany.

image_pdf

Algorytmy zarządzania przeciążeniem

Oceń tę pracę

W połączeniu typu ABR do kontroli ruchu i przeciążenia używane są  następujące 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;
  • ICR (Initial Cell Rate) –określa początkową prędkość transmisji, którą źródło ustawia  po połączeniu lub określonym czasie bez aktywności;
  • RIF (Rate Increase Factor) lub AIR(Additive Increase Rate) –współczynnik określający maksymalną wielkość jednorazowego zwiększenia pasma przepustowego podczas transmisji komórek;
  • Nrm   -określa liczbę komórek danych, które źródło może wysłać pomiędzy transmisją komórki zarządzającej RM (Resource Management Cell);
  • Mrm  -kontroluje przydział pasma pomiędzy komórkami RM a komórkami z danymi;
  • RDF (Rate Decrease Factor) – współczynnik zmniejszenia pasma przepustowego podczas transmisji komórek w sytuacji przeciążenia;
  • ACR (Allowed Cell Rate) –określa pasmo przepustowe powyżej którego źródło nie może nadawać;
  • CRM (Xrm) –określa maksymalną ilość komórek RM, które mogą być wysłane bez otrzymania komórki potwierdzającej RM.
  • ADTF (ACR Decrase Time Factor) –określa czas od nadanie ostatniej komórki RM po którym nadawca musi zredukować prędkość do ICR;
  • Trm –określa czas pomiędzy kolejnymi wysyłanymi komórkami RM
  • RTT (Round Trip Time) –czas propagacji komórki od źródła do odbiorcy i z powrotem.
  • CDF (Cutoff Decrease Factor) XDF (Xrm Decrease Factor) –współczynniki redukcji dozwolonego pasma przepustowego ACR, używany z CRM

Komórka zarządzająca RM (Resource Management Cell) używana jest w ruchu ABR i przenosi informacje sterujące zwierające m.in. aktualną prędkość transmisji, informacje o przeciążeniu. Komórka ta jest generowana przez urządzenie nadające dane (źródło danych) do urządzenia odbiorczego (odbiorcy), urządzenie odbiorcze pod odebraniu komórki RM powinno odesłać ją do nadawcy. W zależności od algorytmu kontroli przeciążenia i ruchu komórka ta może być także zmieniana lub wygenerowana przez urządzenie pośrednie: przełącznik.

Tabela 2 przedstawia dokładną strukturę komórki RM. Opis poszczególny pól komórki RM:

  • Header –Pięć pierwszych bajtów jest standardowym nagłówkiem komórki ATM z ustawionym dla VPC: PTI=110 i VCI=6 oraz dla VCC: PTI=110
  • ID –Protocol ID Identyfikator protokółu. Dla usługi typu ABR wartość jest równa zawsze 1.
  • DIR-Direction. Kierunek komórki RM w odniesieniu do transmitowanych danych. Żródło ustawia DIR=0 a powracająca komórka RM ma ustawione DIR=1. Wartość ta może być tylko zmieniona przez element sieci, który zmienia kierunek komórki RM.
  • BN –Backwards Explicit Congestion Notification – BECN. Źródło ustawia wartość BN=0. Sieć lub przeznaczenie może wygenerować BECN ustawiająć BN=1, wskazując, że komórka RM nie jest wygenerowana przez źródło.
  • CI –Congestion Indication Wartość CI=1 wskazuje na wystąpienie przeciążenia, wartość CI=0 w każdym innym przypadku. Element sieciowy (np. przełącznik)  może wysłać komórkę RM do źródło ruchu z ustawionym CI=1, oznaczającą wystąpienie przeciążenia, spowoduje to zmniejszenie wartości ACR przez źródło ruchu.
  • NI –No Increase NI=1 powiadamia źródło ruchu, aby nie zwiększało wartość ACR. Parametr ten używany jest zwykle, kiedy przełącznik jest bliski wystąpienia przeciążenia.
  • RA –Request/ Acknowledge Parametr nie jest używany w ruchu typu ABR.
  • ER –Explicit Cell Rate Wartość używana, do ustawienia parametru ACR źródła ruchu.
  • CCR –Current Cell Rate Parametr ten ustawiany jest przez źródło w chwili generowania komórki RM i wynosi aktualną wartość ACR.
  • MCR-Minimum Cell Rate
  • QL-Queue Length Parametr nie jest używany w ruchu typu ABR.
  • SNSequence Number Parametr nie jest używany w ruchu typu ABR.
  • CRC-10CRC-10 Parametr CRC jest standardową sumą kontrolną generowaną dla wszystkich komórek ATM.

ATM Forum zdefiniował ogólne zasady dla ruchu typu ABR.

Komórki sterujące RM dla ruchu ABR powinny być generowane z CLP=0, jednak w niektórych sytuacjach, przedstawionych poniżej, urządzenie może wygenerować komórki RM z CLP=1. Wszystkie inne komórki wysyłane są z CLP=0. Komórki z CLP=0 nazywane są in-rate RM-cell, a z CLP=1 out-of-rate RM-cell.

Jednym z zastosowań komórek RM typu out-of-rate jest udostępnienie możliwości zwiększenia prędkości dla połączenia z ACR=0. Źródło może użyć komórek out-of-rate, aby próbkować stan sieci i  ewentualnie zwiększyć prędkość.

Zasady dla urządzenia nadawczego (źródła):

  1. Wartość ACR nie powinna nigdy przekroczyć PCR, ani też nie powinna być mniejsza niż MCR. Źródło nie może generować komórek in-rate przekraczając aktualną prędkość ACR. Źródło może zawsze wysyłać komórki in-rate z prędkością równą lub mniejszą niż ACR.
  2. Przed wysłaniem pierwszych komórek, po zestawieniu połączenia, źródło musi ustawić parametr ACR=ICR. Pierwszą wygenerowaną komórką musi być komórka sterująca RM typu forward
  3. Po wysłaniu pierwszej komórki (in-rate forward RM), kolejne komórki powinny być wysyłane w następującej kolejności:

a)  Następną komórką in-rate będzie forward RM, gdy:
przynajmniej Mrm komórek in-rate zastało wysłanych i upłynął czas Trm
lub
Nrm-1 komórek in-rate zostało wysłanych.

b) Następną komórką in-rate będzie backward RM, jeżeli warunek 3.A nie został spełniony, komórka backward RM czeka na wysłanie, jak również:
nie została wysłana komórka backward RM od czasu wysłania ostatniej komórki forward RM.
lub nie ma żadnych komórek z danymi do wysłania

c) Następną komórką in-rate będzie komórka z danymi, jeżeli oba warunki 3.A i 3.B nie są spełnione, a dane czekają na wysłanie.

  1. Komórki spełniające założenia 1, 2, 3 powinny mieć ustawiony bit CLP=0
  2. Przed wysłaniem komórki forward in-rate RM, jeżeli ACR>ICR i czas, który upłynął od wysłania ostatniej komórki forward in-rate RM jest większy niż ADTF, ACR powinna być zmniejszona do ICR.
  3. Przed wysłaniem komórki forward in-rate RM i po zastosowaniu pkt. 5, jeżeli przynajmniej CRM komórek forward in-rate RM zostało wysłanych od momentu otrzymania komórki backward in-rate RM z ustawionym bitem BN=0, wartość ACR powinna być zredukowana przynajmniej do ACR*CDF, chyba że wartość ta byłaby mniejsza od MCR, wówczas ACR=MCR.
  4. Po zastosowaniu zasady 5 i 6, wartość ACR powinna być umieszczona w polu CCR wychodzącej komórki forward RM. Następne komórki in-rate powinny być wysyłane z nową ustaloną prędkością.
  5. Kiedy źródło otrzyma komórkę backward RM z ustawionym parametrem CI=1, to wartość ACR powinna być zredukowana przynajmniej do ACR*RDF, chyba że wartość ta byłaby mniejsza od MCR, wówczas ACR=MCR. Jeżeli backward RM ma ustawione CI=0 i NI=0, to ACR może być zwiększone o wartość nie większą niż RIF*PCR, ale ACR nie może przekroczyć PCR. Jeżeli źródło otrzyma backward RM z NI=1 nie powinno zwiększać wartości ACR.
  6. Po otrzymaniu backward RM i obliczeniu wartości ACR wg pkt. 8, źródło ustawia wartość ACR jako minimum z wartości ER i wartości ACR wg pkt. 8, ale nie mniejszą niż MCR.

10. Źródło powinno ustawiać wszystkie wartości komórki RM zgodnie z Tabela 2.

11. Komórki forward Rm mogą być wysłane jako out-of-rate. (tzn. z inną prędkością niż ACR, CLP=1) z prędkością nie większą niż TCR.

12. Źródło musi wyzerować EFCI dla wszystkich transmitowanych komórek.

Zasady dla urządzenia odbiorczego:

  1. Po otrzymaniu komórki, wartość EFCI powinna być zapamiętana.
  2. Odbiorca powinien zwrócić otrzymaną komórkę forward RM zmieniając: bit DIR z forward na backward, BN=0 a pola CCR, MCR, ER, CI i NI powinny być niezmienione z wyjątkiem:

a)  Jeżeli zachowana wartość EFCI jest ustawiona to CI=1, a wartość EFCI powinna być wyzerowana.

b) Urządzenie odbiorcze, będące w stanie „wewnętrznego” przeciążenia, może zredukować wartość ER do prędkości jaką może obsłużyć lub/i ustawić CI=1 i NI=1. Odbiorca powinien również  wyzerować QL i SN, zachowując wartości tych pól lub ustawić je zgodnie z I.371.

  1. Jeżeli odbiorca otrzyma kolejną ramkę forward RM, a inna „odwrócona” komórka RM czeka na transmisje to:

a) Zawartość starej komórki może być nadpisana przez nową komórkę

b) Stara komórka może być wysłana jako out-of-rate lub usunięta.

c) Nowa komórka musi zostać wysłana.

  1. Niezależnie od wybranego wariantu w pkt. 3, zawartość starszej komórki nie może być wysłana po wysłaniu nowszej komórki.
  2. Urządzenie odbiorcze może wygenerować komórkę backward RM nie mając odebranej komórki forward RM. Prędkość takiej komórki powinna być ograniczona do 10komórek na sekundę, na połączenie. Odbiorca generując tą komórkę ustawia również CI=1 lub NI=1, BN=1 i kierunek na backward. Pozostałe wartości komórki RM powinny być ustawione zgodnie z Tabela 2.
  3. Jeżeli odebrana komórka forward RM ma CLP=1, to wygenerowana na jej podstawie komórka backward  może być wysłana jako in-rate lub out-of-rate.

„odwrócenie” odnosi się do procesu wygenerowania komórki backward RM jak odpowiedzi na otrzymaną komórkę forward RM

Algorytm kontroli przeciążenia (kontroli przepływu) typu credit-based opiera się na przekazywaniu „kredytów” od odbiorcy do nadawcy. Przykładem takiego algorytmu może być algorytm: „Flow Controlled Virtual Circuit (FCVC).

Każde łącze  składa się z dwóch węzłów: nadawcy i odbiorcy, którymi może być przełącznik lub końcowe urządzenie sieci. Każdy węzeł obsługuje oddzielną kolejkę (bufor) dla każdego kanału wirtualnego.  Odbiorca monitoruje długość kolejki dla każdego kanału wirtualnego i określa liczbę komórek (kredyt), które mogą być transmitowane przez dany kanał. Nadawca może wysłać tylko tyle komórek na ile pozwala mu przydzielony kredyt. Jeżeli jest aktywny tylko jeden kanał wirtualny na łączu, kredyt musi być na tyle duży, aby całe pasmo przepustowe łącza było wykorzystane przez cały czas, tj.

Kredyt Przepustowość łącza (w komórkach)  X czas roundtrip

Omówiona zasada działania była pierwszą wersją algorytmu FCVC, posiadającą jeszcze kilka poważnych wad. Jedną z najpoważniejszych wad było, że, jeżeli kredyt  nie dotarł z powodu nieprzewidzianych sytuacji, odbiorca o tym nie wiedział i nie wysyłał nowych kredytów, nadawca nie mógł wysyłać komórek z braku kredytów. Problem ten został rozwiązany poprzez wprowadzenie synchronizacji kredytów między nadawcą a odbiorcą. Zasada działania algorytmu synchronizacji jest następująca: dla każdego kanału wirtualnego nadawca liczy ilość komórek wysłanych a odbiorca ilość komórek odebranych, wartości te są co pewien czas wymieniane pomiędzy  nadawcą a odbiorcą. Różnica między ilością komórek wysłanych przez nadawcę a ilością komórek odebranych przez odbiorcę stanowi ilość komórek „zagubionych”. Odbiorca przydziela więc dodatkowe (utracone) kredyty nadawcy.

Algorytm sterowania przeciążenia typu FECN (Forward explicit congestion notification) jest przykładem algorytmu używającego jako sprzężenia zwrotnego, bitu EFCI (explicit forward congestion indication) w nagłówku komórki ATM.

Rysunek 7.   Zasada działania algorytmu FECN

W metodzie tej przełącznik monitoruje długość kolejki w buforze. Jeżeli długość kolejki przekroczy ustalony próg (oznaczający możliwość wystąpienia przeciążenia) przełącznik ustawia bit EFCI dla danych komórek. Urządzenie końcowe, które otrzymało komórki z zaznaczonym bitem EFCI, generuje ramkę kontrolną, informującą o wystąpieniu przeciążenia i wysyła ją do nadawcy.  Nadawca używa informacji zawartej w ramce kontrolnej do zmniejszenia lub zwiększenia prędkości transmisji.

Rysunek 7 pokazuje zasadę działania algorytmu FECN. Przełącznik 2 wykrywa przeciążenie (kolejka w buforze przekroczyła dany próg) i ustawia bit EFCI dla wszystkich komórek należących do pierwszego kanału wirtualnego. Odbiorca po dostaniu komórek z bitem EFCI generuje i wysyła komórkę sterującą (RM) informującą nadawcę o fakcie wystąpienia przeciążenia. Nadawca, jeżeli otrzyma komórkę RM, zmniejszy prędkość transmisji danych.

Podobnym algorytmem sterowania przeciążeniem, jest algorytm zwany backward explicit congestion notification -BECN. Algorytm różni się tylko tym, że komórka sterująca RM jest generowana przez urządzenie, które wykryło przeciążenie (przełącznik) a nie tylko przez urządzenie odbiorcze.  Oczywistą zaletą metody BECN nad FECN jest szybsza reakcja na wystąpienie przeciążenia. Następną zaletą jest niezależność od systemu końcowego (w algorytmie FECN odbiorca generuje RM), ponieważ urządzenia sieciowe same generują komórki sterujące. Jednak metoda BECN wymaga od bardziej rozbudowanych przełączników, potrafiących nie tylko generować komórki sterujące ale także filtrować informacje o przeciążeniu. Proces filtrowania informacji o przeciążenia jest niezbędny, aby móc zapobiec nadmiernej liczbie generowanych komórek sterujących.

Rysunek 8. Zasada działania algorytmu BECN

W obydwóch algorytmach FECN i BECN, przełącznik wykrywa przeciążenie, kiedy długość kolejki przekroczy dany próg. Nadawca, jeżeli odebrał komórkę sterującą zmniejsza prędkość transmisji danych. Prędkość ta może być automatycznie zwiększona przez źródło, jeżeli nadawca nie otrzymał komórki sterującej przez z góry określony czas, do prędkości ustalonej podczas ustanawiania połączenia (PCR). Największą wadą obydwu metod jest brak odporność na niektóre sytuacje, np. jeżeli podczas przeciążenia komórka sterująca nie będzie mogła dotrzeć do nadawcy, to nadawca nie wiedząc o wystąpieniu zwiększy swoją prędkość transmisji, co spowoduje jeszcze większe przeciążenie.

W opisanych powyżej algorytmach FECN i BECN, bazujących na ujemnym sprzężeniu zwrotnym (tzn. źródło zmniejszało swoją prędkość po dostaniu komórki sterującej), występował problem zwiększania się przeciążenia na skutek utraty komórek sterujących. W celu usunięcia tej wady zaproponowano algorytm PRCA, bazujący na dodatnim sprzężeniu zwrotnym. W algorytmie tym, źródło zwiększa prędkość transmisji danych tylko wtedy gdy dostanie komórkę sterującą, jeżeli źródło nie dostanie komórki sterującej to samo zmniejsza prędkość. Zmiana prędkości transmisji jest proporcjonalna do aktualnej prędkości danego źródła.

Rysunek 9 Zasada działania algorytmu PRCA

Zasada działania algorytmu jest następująca: Źródło (nadawca) wysyła wszystkie komórki danych z ustawionym bitem EFCI z wyjątkiem pierwszej i N-tej komórki. Parametr N jest ustalany w początkowej fazie łączenia i wielkość jego wpływa na czas reakcji na przeciążenie. Jeżeli odbiorca odbierze komórkę danych z wyzerowanym bitem EFCI i nie samo przeciążone, to generuje i wysyła komórkę sterującą RM. Źródło zwiększa prędkość transmisji, jeżeli tylko otrzyma komórkę RM od odbiorcy. Przełącznik, który wykryje przeciążenie może ustawić bit EFCI lub usunąć komórkę sterującą RM, wysłaną przez odbiorcę. Źródło zaczyna zmniejszać prędkość transmisji od  momentu nie dostania komórki RM, aż do chwili gdy sieć przestanie być przeciążona i źródło dostanie komórkę RM.

Algorytm PRCA rozwiązuje problem występujący w algorytmach BECN i FECN, ale zauważono inny problem, tzn. niesprawiedliwy przedział pasma. Jeżeli, mamy sieć zbudowaną z kilku przełączników i poziom przeciążenia jest taki sam na wszystkich przełącznikach, to kanał wirtualny przechodzący przez większą ilość przełączników ma większe prawdopodobieństwo dostania komórki z ustawionym bitem EFCI (wskazującym na przeciążenie) niż kanał wirtualny przechodzący przez mniejszą ilość przełączników. Jeżeli p jest prawdopodobieństwem ustawienie bitu EFCI przy przejściu przez jeden przełącznik(hop), to prawdopodobieństwo ustawienia EFCI dla kanału wirtualnego VC składającego się z n przełączników wynosi  1-(1-p)n lub np. Tak więc „dłuższy” kanał wirtualny ma mniejszą szansę na zwiększenie prędkości transmisji i częściej musi zmniejszać prędkość niż „krótszy” kanał wirtualny. Problem ten nazwano „beat-down problem” . Rysunek 10 przedstawia konfigurację sieci składającą się z 4 przełączników i 4 kanałów wirtualnych. Przeprowadzone symulacje[3] (Rysunek 11) wykazały, że prędkość transmisji dla kanału 4, zastała zredukowana do zbyt małej wielkości w porównaniu do innych kanałów. Wystąpił więc niesprawiedliwy przedział dostępnego pasma.

Omówiony wcześniej algorytm PRCA okazał się zbyt wolny. Sprzężenie zwrotne używane w algorytmie PRCA mówiło tylko o braku wystąpienia przeciążenia i pozwalało na zwiększenie prędkości przez źródło. Ustalanie optymalnej prędkości związane było z koniecznością wysłania kilku komórek zarządzających. Algorytm EPRCA powstał przez połączeni algorytm PRCA i algorytmu typu explicit-rate,(tzn. algorytmu używającego sprzężenia zwrotnego przenoszącego więcej informacji. np. aktualna prędkość, prędkość optymalna). Zasada działania algorytmu jest następująca:

Źródło wysyła wszystkie komórki z danymi,  z ustawionym bitem EFCI=0. Komórka zarządzająca RM jest wysyłana co n komórek danych. Komórka RM zawiera aktualną prędkość CCR(current cell rate)), prędkość docelową ER(explicit rate) i bit informujący o przeciążeniu CI (congestion indication). Źródło ustawia wartość ER  na swoją maksymalną dozwoloną prędkość PCR(peak cell rate)i ustawia bit CI=0.

Przełącznik oblicza współczynnik fairshare, czyli optymalne pasmo przepustowe dla danego połączenia  i jeżeli potrzeba to redukuje wartość ER w powracającej komórce RM do wartości fairshare. Używając ważonej średniej potęgowej obliczamy dozwoloną średnią przepływność bitową MACR (mean allowed cell rate), współczynniki fairshare przyjmuje część wartości obliczonej średniej.

MACR = (1 – a) MACR – aCCR

Fairshare = SW_DPF x MACR

gdzie, a jest współczynnikiem (rzędem) średniej potęgowej, SW_DPF jest mnożnikiem (zwanym współczynnikiem switch down pressure) bliskim, ale poniżej jedności. Sugerowane wartości dla a to 1/16 a dla SW_DPF to 7/8.

Źródło zmniejsza aktualną prędkość nadawania ACR po każdej nadanej komórce:

ACR = ACR x RDF

gdzie, RDF jest współczynnikiem redukcji.

Jeżeli źródło odbierze powrotną komórkę zarządzającą RM (nie mającą ustawionego bitu CI) zwiększa prędkość nadawania:

jeżeli CI = 0 to ACR = min(ACR + AIR, ER, PCR)

gdzie, AIR jest współczynnikiem zwiększenia.

Odbiorca monitoruje także bit EFCI w komórkach danych i jeżeli ostatnio odebrana komórka miała ustawiony ten bit, odbiorca ustawia bit CI w generowanej komórce zarządzającej RM.

Przełącznik oprócz ustawienia prędkości ER może także, jeżeli długość jego kolejki przekroczy ustalony próg ustawić bit CI w powracającej komórce RM.

Target Utilization Band (TUB) jest algorytmem  należących do grupy algorytmów zapobiegających stanom przeciążenia. Przedstawiony algorytm utrzymuje stale zajętości pasma na poziomie 85%-90%, nie pozwalając na zbyt dużą transmisję, która spowodowałaby przeciążenie łącza. Zasada działania jest następująca:

Dla każdego przełącznika, definiujemy prędkość wyjściową niewiele poniżej przepustowości łącza wyjściowego ok. 85%-90%. Prędkość wejściowa jest mierzona w określonych, krótkich odcinkach czasu. Liczymy współczynnik wykorzystania pasma (load factor) z.

Algorytm rozróżnia dwie sytuacje:

a)     Jeżeli obliczony współczynnik z jest daleki od 1 (tzn. prędkość wyjściowa jest  mniejsza lub większa o 10% od zadeklarowanej prędkości wyjściowej), znaczy to, że przełącznik jest albo silnie przeciążony albo jego wykorzystanie jest niewielkie. Wszystkie kanały wirtualne przechodzące przez dany przełącznik są wówczas zmuszone do zmiany swojej  prędkości, dzieląc prędkość przez współczynnik z.

b)     Jeżeli parametr z jest bliski 1, pomiędzy 1-delta i 1+delta dla małej delty, przełącznik generuje różne sprzężenie zwrotne dla każdego kanału wirtualnego, przeładowanego lub nie wykorzystanego.

Źródła, które transmitują dane z większą prędkością niż obliczony współczynnik fairshare muszą zmniejszyć swoją prędkość dzieląc ją przez z/(1-delta). Źródła, które transmitują dane ze zbyt małą prędkością, zwiększają ją dzieląc ją przez z/(1+delta).

Algorytm ERICA stara się maksymalnie wykorzystać dostępne pasmo łącza, zachowując jednocześnie sprawiedliwy przedział pasma. Algorytm pozwala źródłom, transmitującym z prędkością równą lub większą z obliczonym współczynnikiem fairshare, na zwiększenie prędkości transmisji w kanale wirtualnym, jeżeli dany kanał wymaga większej przepustowości a łącze nie jest w pełni wykorzystane.

Dla algorytmu tego, definiujemy prędkość wyjściową większą niż dla poprzednio omówionego algorytm, 90-95% przepustowości łącza. Przełącznik oblicza współczynnik fairshare:

Prędkość, którą dodatkowa źródło może użyć:

Przełącznik ustawia prędkość źródła na prędkość największą (Fairshare lub Vcshare)

Informacje wykorzystywane przy obliczeniach w algorytmie, dostarczane są komórkami RM z urządzenia nadawczego i odbiorczego.

Zaletą tego algorytmu jest prostota i łatwość przeprowadzanych obliczeń.

Po raz pierwszy algorytm MIT został zaproponowany przez Anna Charny z Massachusetts Institute of Technology (MIT).

Algorytm ten do obliczenia współczynnika fairshare używa procedury iteracyjnej. Najpierw, współczynnik fairshare obliczany jest poprzez podzielenie dostępnego pasma przepustowego przez ilość aktywnych kanałów wirtualnych. Wszystkie kanały, które transmitują dane z prędkością poniżej obliczonego współczynnika fairshare, są zwane „underloading VC”. Jeżeli liczba kanałów „underloading VC” zwiększa się z iteracją, współczynnik fairshare jest obliczany według wzoru:

Procedura ta powtarzana jest dopóki nie osiągnie się stanu stabilnego, gdzie liczba „underloading VC” i współczynnik fairshare nie będzie się zmieniał. Anna Charny pokazała w swojej pracy, że zwykle dwie iteracje wystarczą do osiągnięcia zadawalającego rezultatu. Jednak mogą wystąpić sytuacje, dla których obliczenie współczynnika fairshare składać się będzie z n operacji, gdzie n jest liczbą kanałów wirtualnych. Dla przełączników ATM, które obsługują tysiące kanałów wirtualnych, liczba obliczeń koniecznych do wykonania stanie się bardzo duża i nie może być wykonana na dostępnym dzisiaj sprzęcie.

image_pdf

Kontrola przeciążenia a typy połączeń ATM

Oceń tę pracę

Kontrola przeciążenia (ang. Congestion Control) w sieci ATM (Asynchronous Transfer Mode) jest kluczowym mechanizmem, który zapewnia efektywne zarządzanie ruchem w przypadku zbyt dużego obciążenia sieci. ATM to technologia transmisji, która używa małych, stałych jednostek danych nazywanych komórkami (ang. cells), każda o stałej długości 53 bajtów. Kontrola przeciążenia w ATM ma na celu zapobieganie przeciążeniu w sieci oraz minimalizowanie opóźnień i utraty danych, co jest szczególnie istotne w aplikacjach wymagających dużej wydajności, takich jak transmisja wideo czy głosowa.

W ATM kontrola przeciążenia jest realizowana na kilku poziomach. Istnieją różne mechanizmy przeciwdziałania przeciążeniom, w tym monitorowanie stanu sieci, informowanie o przeciążeniu i dynamiczne dostosowywanie przepływu danych.

Typy połączeń ATM mają wpływ na sposób, w jaki kontrola przeciążenia jest realizowana. ATM rozróżnia dwa główne typy połączeń:

  1. Połączenia o stałej przepustowości (CBR – Constant Bit Rate)
    W przypadku połączeń CBR, aplikacje wymagają stałej przepustowości do przesyłania danych, na przykład w przypadku transmisji głosu lub wideo. Dla takich połączeń kontrola przeciążenia polega na zapewnieniu, że dane będą przesyłane w określonym, stałym tempie, niezależnie od aktualnego obciążenia sieci. W tym przypadku, jeśli sieć doświadcza przeciążenia, połączenie CBR może zostać tymczasowo wstrzymane lub zmniejszone, aby uniknąć przeciążenia i zapewnić jakość usługi (QoS).
  2. Połączenia o zmiennej przepustowości (VBR – Variable Bit Rate)
    Połączenia VBR pozwalają na elastyczną zmianę przepustowości w zależności od aktualnych potrzeb aplikacji. Kontrola przeciążenia w tym przypadku polega na dynamicznym dostosowywaniu ilości danych przesyłanych w danym momencie, w odpowiedzi na zmiany w obciążeniu sieci. Połączenie VBR jest bardziej elastyczne i może łatwiej adaptować się do zmieniających się warunków sieciowych, co czyni je odpowiednim dla aplikacji, które wymagają zmiennej przepustowości, takich jak strumieniowanie wideo w różnych rozdzielczościach.

Mechanizmy kontroli przeciążenia w ATM obejmują:

  • RTS (Resource Reservation Protocol): Używany do rezerwowania zasobów w sieci ATM, pozwala na określenie wymagań jakościowych dla połączeń, takich jak opóźnienie, przepustowość czy niezawodność.
  • EFCI (Explicit Forward Congestion Indication): Służy do sygnalizowania przeciążenia w sieci. Jeśli wystąpi przeciążenie w jakiejkolwiek części sieci, mechanizm EFCI informuje końcowe urządzenia o konieczności zmniejszenia tempa wysyłania danych.
  • CLP (Cell Loss Priority): W przypadku, gdy sieć jest przeciążona, komórki z wyższym priorytetem mogą być przekazywane szybciej, a komórki o niższym priorytecie (tzw. CLP) mogą być tracone, aby umożliwić priorytetowe przekazywanie bardziej krytycznych danych.

Kontrola przeciążenia w ATM jest istotnym elementem zapewniającym wysoką jakość usług w sieci, pozwalającym na efektywne zarządzanie ruchem i uniknięcie nadmiernego obciążenia, które mogłoby negatywnie wpłynąć na działanie aplikacji w czasie rzeczywistym.

Standard ATM zdefiniował pięć typów połączeń CBR, rt-VBR, nrt-VBR, ABR i UBR. Szczegółowo typy połączeń zostały omówione na początku pracy. Przedstawię teraz metody stosowane w zarządzaniu ruchem i kontrolą przeciążeniem dla poszczególnych typów połączeń.

Ważnym kryterium wyboru metody kontroli przeciążenia jest charakterystyka połączenia (ruchu) w sieci. Ogólnie rodzaje połączeń w sieci ATM możemy podzielić na dwie grupy: gwarantowane i best-effort, czyli połączenia, które starają się wykorzystać maksymalnie pozostałe pasmo po połączeniach gwarantowanych. Do gwarantowanych połączeń zaliczamy: połączenie typu  CBR i rt-VBR. Dla połączeń tych musimy m.in. określić gwarantowane pasmo przepustowe jak i też maksymalne możliwe opróżnienie. Dodatkowo dla połączenia VBR określamy maksymalny czas, przez który połączenie może transmitować dane z większą prędkością. Wymagania te są znane z góry i połączenia te nie mogą być przyjęte do realizacji, jeżeli sieć nie może zapewnić ich realizacji. Kontrola przeciążenia dla tych połączeń w sieci ATM jest realizowana wspólnie poprzez sterowanie przyjęciem zgłoszenia (CAC –Call Admission Control) i rezerwacją pasma przepustowego na cały czas transmisji.

Do połączeń typu best-effort możemy zaliczyć połączenie typu ABR i UBR.

Połączenie UBR nie gwarantuje żadnych parametrów jakościowych. Przesyłanie danych odbywa się z jak największą możliwą prędkością, ale bez kontroli ich przepływu (co prowadzi zwykle do częstych odrzuceń całych serii komórek ATM dla tego połączenia). Kontrolą przepływu, przeciążenia dla tego typu połączenia zajmują się warstwy wyższe np. TCP.

Połączenie ABR, definiuje połączenie niewrażliwe na zmienne opóźnienie, dla którego należy zapewnić możliwie jak największe pasmo przepustowe, ale przy minimalizacji ilości odrzuconych komórek. Połączenia tego typu mogą spowodować zatłoczenie, kiedy zsumowane żądania pasma przepustowego przekroczą dopuszczalny dostępny zakres pasma. Połączenia typu ABR potrzebują mechanizmów zarządzania przeciążeniem, które byłyby wstanie sprawiedliwie rozdzielić pasmo pomiędzy użytkowników zapewniając jednocześnie maksymalne wykorzystanie tego pasma jak i zminimalizować ilość straconych komórek.

W sytuacji zatłoczenia, połączenia typu UBR są odrzucane od razu, połączenia CBR i VBR mają zagwarantowane pasmo i nie mogą być zmieniane i odrzucane. Parametry połączenia typu ABR mogą być właściwie dowolnie zmieniane (oprócz minimalnej i maksymalnej prędkości), dlatego też połączenia tego typu są najbardziej narażone na wystąpienie przeciążenia.

Obecnie mechanizmy kontroli przeciążenia dla ruchu ABR są jednym z największych problemów dla organizacji ATM Forum. Żadne z zaproponowanych metod nie doczekały się jeszcze standardu.  ATM Forum jedynie zdefiniował format komórki zarządzającej i mechanizmy dla urządzenia nadawczego i odbiorczego, pozostawiając producentom urządzeń sieciowy „wolną rękę” przy wyborze algorytmów kontroli przeciążenia dla przełączników.

Zalecenia ATM Forum, format komórki zarządzającej jak i przykładowe mechanizmy kontroli przeciążenia zostaną w następnym rozdziale.

image_pdf