Informatyka

5/5 - (1 vote)

Poniżej część literatury wykorzystana w prezentowanych pracach z informatyki:

[1] Raj Jain, „Congestion Control And Traffic Management In ATM Netowrks: Recent Advances and A Survey”

[2] Raj Jain, “Congestion Control in Computer Networks: Issue and Trends”

[3] Kai-Yeung Siu, Hong-Yi Tzeng: “Intelligent Congestion Control for ABR Service in ATM Networks”

[4] Fang Lu, “ATM Congestion Control”

[5] Krzysztof Wajda, „Sieci szerokopasmowe”

[6]  NETFORUM 5/97, Mariusz Przygodzki: Usługi multimedialne w sieciach ATM

[7]  ATM Forum Technical Committee: Traffic Management Specification Version 4.0

[8]  NETWORLD Wydanie Specjalne: Vademecum Teleinformatyka cz.2

[9]  ATM Forum, „ATM User-Network Interface Specification Version 3.1”

[10] Lampros Kalampoukas, „Congestion Management in High Speed Networks”

[11] Dorgham Sisalem, Henning Schulzrine, „Switch Mechanisms for the ABR Service: A comparison Study”

[12] Raj Jain, „Myths About Congestion Management in High-Speed Networks”

[13] NETWORLD, „Szybkie sieci teleinformatyczne”

[14] NETWORLD Wydanie Specjalne, „Mała encyklopedia teleinformatyki”

[15] T. D. Banys, M. Bednarski, „ATM”

[16] Raj Jain, Shiv Kalyanaraman and Ram Viswanathan: The OSU Scheme for Congestion Avoidance in ATM Networks Using Explicit Rate Indication

[17] United States Patent (Number 5633859): Method and Apparatus for congestion management in computer networks using explicit rate indication

[18] Raj Jain, Shiv Kalyanaraman, Rohit Goyal,Sonia Fahmy, Fang Lu:ERICA+: Extensions to the ERICA Switch Algorithm

[19] Shivkumar Kalyanaraman, Raj Jain, Sonia Fahmy, Rohit Goyal, and Bobby Vandalore, „The ERICA Switch Algorithm for ABR Traffic Management in ATM Networks,”

[20] Anna Charny, David D. Clark, Raj Jain, „Congestion Control with Explicit Rate Indication,”

[21] „The OSU Scheme for Congestion Avoidance using Explicit Rate Indication,” ATM Forum/94-0883, September 1994.

[22] Raj Jain, Shiv Kalyanaraman and Ram Viswanathan, ” Simulation Results: The EPRCA+ Scheme”

[23] Raj Jain, Shiv Kalyanaraman, Ram Viswanathan, and Rohit Goyal, ATM Forum/95-0178R1, A Sample Switch Algorithm, February 1995,

[24] Piotr Rajca „Po prostu FrontPage 98”, Wydawnictwo HELION

[25] Microsoft  FrontPage for Windows, Wydawnictwo PLJ

[26] Wiliam Buchanan „Internet”, Wydawnictwa Komunikacji i Łączności

[27] Steve Banick, Ryan Sutter „Poznaj FrontPage 98”, Wydawnictwo MIKOM


[1] Fred Butzen, Dorothy Forbes, „Linux bazy danych” Mikom 1999r
[2] Hans Ladanyi, „SQL Księga eksperta” Helion 2000r
[3] W. Richard Stevens, „UNIX programowanie usług sieciowych” WNT 2000r
[4] Vijay Ahuja, „Bezpieczeństwo w sieciach” Mikom 1997r
[5] Craig Hunt, „TCP/IP Administracja sieci” READ ME 1998r
[6] Eleen Frisch, „UNIX Administracja systemu” READ ME 1997r
[7] D. Brent Chapman, Elizabeth D. Zwicky, „Building Internet Firewalls” O’Reilly 1995r
[8] S. Garfinkel, G. Spafford, „Bezpieczeństwo w UNIXie i Internecie” READ ME 1997r
[9] Bruce Momjian, „PostgreSQL Introduction and Concepts” Addison-Wesley 2001r
[10] „PHP Manual” PHP Documentation Group 2001r
[11] „FreeBSD Handbook” The FreeBSD Documentation Project 2001r
[12] „PostgreSQL Guide” PostgreSQL Global Development Group 2001r

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.

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.

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.

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.