PracaMag optymalizacja algorytmów warstwy sterowania.doc

(538 KB) Pobierz
Techniki, które są stosowane do regulacji szybkości transmisji danych źródła do dostępnego połączenia w sieci mogą być ogólnie klasyfikowane jako: open-loop i close-loop

1 SPIS TREŚĆI

 

1 SPIS TREŚĆI              1

2 Spis rysunków              3

3 Spis tabel              4

4 Cel pracy              5

5 Wstęp              5

6 Podstawowe informacje o sieci ATM              7

6.1 Topologie i interfejsy sieci ATM              8

6.2 Komórka ATM              8

6.2.1 Format komórki ATM              8

6.2.2 Typy komórek              10

6.3 Architektura protokołu ATM              11

6.3.1 Warstwa fizyczna              12

6.3.2 Warstwa ATM              13

6.3.3 Warstwa adaptacji ATM              13

6.4 Kanał wirtualny              15

6.5 Ścieżka wirtualna              16

6.6 Multipleksacja              17

7 Klasy usług w sieci ATM              18

8 Problem przeciążenia              22

9 Wymagania stawiane kontroli przeciążenia              27

10 Klasyfikacja metod kontroli przeciążenia              28

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

12 Algorytmy zarządzania przeciążeniem              33

12.1 Parametry ruchu ABR              33

12.2 Format komórki zarządzającej              34

12.3 Zasady kontroli przepływu  dla ruchu ABR              37

12.4 Przykładowe algorytmy              40

12.4.1 Algorytm credit-based              40

12.4.2 FECN i BECN              42

12.4.3 Proportional Rate Control Algorithm (PRCA)              45

12.4.4 Enhanced PRCA (EPRCA)              48

12.4.5 Target Utilization Band (TUB) Congestion Avoidance Scheme              50

12.4.6 Explicit Rate Indication for Congestion Aviodance (ERICA)              52

12.4.7 Congestion Avoidance Using Proportional Control (CAPC)              53

12.4.8 Algorytm MIT              54

13 Wybór metody kontroli przeciążenia              55

14 Porównanie metod kontroli przeciążenia              58

14.1 Algorytm CAPC              60

14.2 Algorytm ERPCA              61

14.3 Algorytm MIT              62

15 Podsumowanie              64

Bibliografia              66

 

2
Spis rysunków

Rysunek 1. Format komórki ATM              10

Rysunek 2. Warstwy ATM              11

Rysunek 3.Wielkość bufora a problem przeciążenia              23

Rysunek 4 Wymiana części łączy a problem przeciążenia              24

Rysunek 5. Wymiana wszystkich łączy a problem przeciążenia              25

Rysunek 6 Zasada działania algorytmu typu credit-based.              40

Rysunek 7. Zasada działania algorytmu FECN              42

Rysunek 8. Zasada działania algorytmu BECN              43

Rysunek 9 Zasada działania algorytmu PRCA              45

Rysunek 10 Konfiguracja testowa dla metody PRCA              47

Rysunek 11 Symulacja metody PRCA              47

Rysunek 12. Testowa konfiguracja sieci              59

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

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

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

3
Spis tabel

 

Tabela 1. Klasy usług              18

Tabela 2 Format komórki zarządzającej RM              36

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

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

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

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

4
Cel pracy

 

Celem mojej pracy dyplomowej była optymalizacja algorytmów warstwy sterowania przeciążeniem w sieci szerokopasmowej ATM. W pracy przedstawiłem problem przeciążenie w sieciach ATM, opisałem i dokonałem porównania najbardziej znanych algorytmów kontroli przeciążenia.

Niestety, dostępny pakiet symulacyjny COMNET III w wersji podstawowej nie umożliwia implementacji poszczególnych niestandardowych algorytmów kontroli przeciążenia, które są jeszcze w fazach testów i standaryzacji. Symulacje tych algorytmów można przeprowadzić w pakiecie OPNET firmy MIL3 lub w pakiecie COMNET III w wersji rozszerzonej o kompilator SIM???, pozwalającym na implementację niestandardowych rozwiązań. Ze względu na niedostępność wymienionych pakietów w pracy wykorzystałem symulacje przeprowadzone przez organizacje zajmujące się rozwojem i standaryzacją technologii ATM i symulacje przeprowadzone na uczelniach w Stanach Zjednoczonych i Niemczech.

 

 

5 Wstęp

 

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.

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.

 

6
Podstawowe informacje o sieci ATM

[ 5,8]

 

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).

 

 

6.1 Topologie i interfejsy sieci ATM

[5,8]

 

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).

 

 

6.2 Komórka ATM

[5,8]

 

              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.

 

6.2.1 Format komórki ATM

 

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 ...

Zgłoś jeśli naruszono regulamin