• Nie Znaleziono Wyników

NOŚNIKA KONTROLI DOSTĘPU DO PODWARSTWA

N/A
N/A
Protected

Academic year: 2021

Share "NOŚNIKA KONTROLI DOSTĘPU DO PODWARSTWA"

Copied!
64
0
0

Pełen tekst

(1)

PODWARSTWA

KONTROLI DOSTĘPU DO NOŚNIKA

UPD: e-mail: yakovyna@matman.uwm.edu.pl Slajdy są dostępne pod linkiem:

http://wmii.uwm.edu.pl/~yakovyna/

(2)

W poprzednich wykładach …

• Model odniesienia OSI

(3)

W poprzednich wykładach …

• Warstwa fizyczna

Bity, sygnały, kodowanie

Fizyczne nośniki transmisyjne

• Warstwa łącza danych

Ramkowanie

Kontrola błędów transmisji

• Sterowanie dostępem do wspólnego kanału

(4)

Kanały rozgłoszeniowe

• Łącza sieciowe można podzielić na dwie kategorie:

• używające łączy dwupunktowych

• używające kanałów rozgłoszeniowych

• W literaturze kanały rozgłoszeniowe są czasem

określane jako kanały wielodostępne lub kanały o dostępie swobodnym.

• W każdej sieci rozgłoszeniowej kluczowym

problemem jest metoda ustalenia, kto skorzysta z

kanału, gdy pojawi się rywalizacja o dostęp.

(5)

Podwarstwa MAC

• Protokoły służące do ustalania, kto następny będzie mógł skorzystać z kanału wielodostępnego, należą do podwarstwy warstwy łącza danych zwanej MAC

(Medium Access Control – kontrola dostępu do nośnika).

• Podwarstwa MAC jest szczególnie ważna w sieciach lokalnych, zwłaszcza w tych bezprzewodowych,

ponieważ tutaj kanał jest z natury kanałem rozgłoszeniowym.

• Sieci rozległe, z wyjątkiem sieci satelitarnych, używają łączy dwupunktowych.

• Z technicznego punktu widzenia podwarstwa MAC jest

dolną częścią warstwy łącza danych.

(6)

PROBLEM

PRZYDZIELANIA KANAŁU

Jak przydzielać pojedynczy kanał rozgłoszeniowy rywalizującym ze sobą użytkownikom?

(7)

Statyczne przydzielanie kanałów

• Tradycyjną metodą przydzielania pojedynczego kanału wielu rywalizującym użytkownikom jest rozdzielenie jego pojemności za pomocą jednej z metod

multipleksacji.

• Gdy liczba użytkowników N jest niewielka i stała, a

każdy z nich utrzymuje stabilny strumień ruchu, podział taki jest prostym i efektywnym mechanizmem alokacji zasobów.

• Podstawowy problem polega na tym, że gdy

użytkownicy nie używają kanału, ich pasmo marnuje się

i nikt inny nie ma prawa z niego skorzystać. Alokacja

statyczna słabo sprawdza się w większości systemów

komputerowych, w których ruch danych jest wyjątkowo

impulsowy.

(8)

Statyczne przydzielanie kanałów

• Średnie opóźnienie T związane z wysłaniem ramki kanałem o pojemności C bitów na sekundę:

𝑇 = 1

𝜇𝐶 − 𝜆

• Ramki pojawiają się losowo ze średnią szybkością  ramek na sekundę i mają różne rozmiary z rozmiarem średnim rzędu 1/

bitów; C ramek na sekundę – współczynnik zagospodarowania kanału.

• Jeśli C wynosi 100 Mb/s, 1/ wynosi 10 000 bitów, a szybkość przychodzenia ramek  jest równa 5000 ramek na sekundę, wówczas T = 200 s.

• Jeśli zignorujemy opóźnienie kolejkowania i zapytamy, jak długo potrwa przesyłanie 10 000-bitowej ramki w sieci 100 Mb/s,

otrzymamy (niepoprawny) wynik 100 s. Taki wynik będzie prawidłowy tylko w przypadku braku rywalizacji w kanale.

(9)

Statyczne przydzielanie kanałów

• Podzielmy teraz pojedynczy kanał na N niezależnych podkanałów, z których każdy będzie miał

przepustowość C/N b/s. Oznacza to, że teraz szybkość wprowadzania ramek w każdym podkanale będzie

wynosić /N. Ponownie obliczając T, otrzymamy:

𝑇

𝑁

= 1

𝜇(𝐶/𝑁) − 𝜆/𝑁 = 𝑁

𝜇𝐶 − 𝜆 = 𝑁𝑇

• Znaczy to, że opóźnienie kanału podzielonego jest N-

krotnie większe niż wówczas, gdyby wszystkie ramki

były jakoś magicznie porządkowane w dużej centralnej

kolejce.

(10)

Założenia dla dynamicznego

przydzielania kanału w sieciach

• Żadna z tradycyjnych statycznych metod przydzielania kanału nie sprawdza się dobrze przy impulsowym

charakterze ruchu w sieci.

• Wszystkie prace dotyczące problemu przydzielania kanału opierają się na pięciu kluczowych założeniach:

1. Ruch niezależny. Model składa się z N niezależnych stacji. Oczekiwana liczba ramek do wygenerowania w interwale o długości  t wynosi t, gdzie  jest stalą (szybkością przychodzenia nowych ramek). Modele Poissona pomagają w analizie protokołów pod kątem szacunkowej oceny wydajności w zakresie

parametrów operacyjnych oraz pozwalają

porównywać je z alternatywnymi projektami.

(11)

Założenia dla dynamicznego

przydzielania kanału w sieciach

2. Pojedynczy kanał. Do wszelkiej komunikacji dostępny jest pojedynczy kanał. Wszystkie stacje mogą w nim nadawać i wszystkie mogą w nim odbierać. Stacje powinny mieć

podobne możliwości nadawczo-odbiorcze, za to protokół może przypisywać im różne role (a z nimi różne

priorytety). Założenie pojedynczego kanału jest w tym modelu najważniejsze. Nie istnieją żadne zewnętrzne metody komunikacji. Stacja nie może „podnieść ręki”, żądając prawa głosu, trzeba więc wymyślić lepsze

rozwiązanie.

3. Możliwość wykrywania kolizji. Gdy jednocześnie wysyłane są dwie ramki, nakładają się one w czasie i

otrzymany sygnał zostaje zniekształcony. Takie zdarzenia noszą nazwę kolizji i wszystkie stacje potrafią je

wykrywać. Ramka, która uległa kolizji, musi zostać wysłana jeszcze raz.

(12)

Założenia dla dynamicznego

przydzielania kanału w sieciach

4. Czas ciągły albo rozpatrywany szczelinami. Możemy przyjąć założenie ciągłości czasu, przy którym transmisja ramki może zacząć się w dowolnym momencie, albo czasu podzielonego na szczeliny (interwały). Transmisja ramki zawsze zaczyna się

wtedy na początku szczeliny. Wymaga, aby stacje podążały za wspólnym głównym zegarem taktującym albo wzajemnie

synchronizowały swoje poczynania.

5. Wykrywanie nośnej. Przy założeniu wykrywania nośnej stacje potrafią rozpoznać, czy kanał jest używany, jeszcze przed próbą skorzystania z niego. Żadna stacja nie będzie próbowała używać kanału, jeśli wykryje jego zajętość. Przy braku wykrywania

nośnej stacje nie potrafią wykryć stanu kanału przed próbą użycia go. Po prostu nadają informacje. Dopiero później mogą ustalić, czy transmisja się powiodła.

• Żaden z protokołów dostępu wielokrotnego nie gwarantuje

niezawodnego dostarczania. Dlatego za niezawodność doręczania odpowiadają tutaj wyższe warstwy stosu protokołów sieciowych.

(13)

PROTOKOŁY DOSTĘPU

WIELOKROTNEGO

(14)

ALOHA

• Hawaje, lata 1970

• Podłączyć do głównego komputera w Honolulu użytkowników z odległych wysp archipelagu

• Wykorzystywał krótkofalówki radiowe w systemie, w którym każda z końcówek współdzieliła z innymi tę samą częstotliwość wysyłania ramek danych do

centralnego komputera

• Dwie wersje ALOHA: prostą i szczelinową. Różnią się

tym, czy czas jest rozpatrywany w sposób ciągły, czy też jest w protokole dzielony na dyskretne przedziały, w

których muszą mieścić się wszystkie ramki.

(15)

Prosty ALOHA

• Podstawowa idea systemu ALOHA – pozwala się

użytkownikom nadawać, kiedy tylko mają dane do wysłania.

• Oczywiście występują kolizje, a kolidujące ramki są

uszkadzane. Nadawcy potrzebują sposobu wykrycia kolizji transmisji. W ALOHA każda ramka wysłana przez dowolny z nadajników do centralnego komputera była przez ten

komputer retransmitowana (rozgłoszeniowo) do wszystkich stacji w systemie. Stacja nadawcza musiała więc nasłuchiwać transmisji rozgłoszeniowych i po ich analizie stwierdzała, czy ramka dotarła do odbiorcy.

• Jeśli ramka została uszkodzona, nadajnik oczekuje przez losową ilość czasu i wysyła ją ponownie. Czas oczekiwania musi być losowy; w przeciwnym razie te same ramki

kolidowałyby ze sobą raz za razem.

(16)

Prosty ALOHA

• Ramki mają tu stałą długość, ponieważ przepustowość systemów ALOHA jest

maksymalizowana przez stosowanie stałego

rozmiaru ramek zamiast ich zmiennej długości.

(17)

Wydajność kanału ALOHA

• Jaki odsetek wysłanych ramek unika kolizji w takich chaotycznych warunkach?

• Jakie warunki są potrzebne, by zacieniowana ramka

dotarła bez uszkodzenia?

(18)

Wydajność kanału ALOHA

• Niech t oznacza czas wymagany do jej wysłania.

Gdyby dowolny inny użytkownik wygenerował ramkę w czasie od t

0

do t

0

+t, koniec tej ramki

zderzyłby się z początkiem zacieniowanej. W istocie los tej ramki został przypieczętowany, jeszcze zanim został wysłany jej pierwszy bit, lecz ponieważ w

prostym protokole ALOHA stacja nie nasłuchuje w kanale przed nadawaniem, nie ma żadnego

sposobu zorientowania się, czy jakaś inna ramka nie jest już w drodze. Podobnie każda inna ramka

rozpoczęta w czasie pomiędzy t

0

+t i t

0

+2t zderzy się

z końcem ramki zacieniowanej.

(19)

Wydajność kanału ALOHA

• Prawdopodobieństwo, że w danym czasie ramki zostanie

wygenerowanych k ramek, podczas gdy oczekiwano w nim G ramek, określa rozkład Poissona:

Pr 𝑘 = 𝐺𝑘𝑒−𝐺

• Prawdopodobieństwo zera ramek wynosi więc e𝑘! -G. W okresie o długości dwóch czasów ramek średnia liczba wygenerowanych ramek wynosi 2G, tak więc prawdopodobieństwo, że w całym okresie wrażliwym na kolizję nie dojdzie do wygenerowania nowych ramek, to P0= e-2G. Używając równania S = GP0,

otrzymamy:

𝑆 = 𝐺𝑒−2𝐺 S – zdolność przepustowa kanału

G – generowane obciążenie

P0 – prawdopodobieństwo, że ramka nie ulegnie kolizji

(20)

Wydajność kanału ALOHA

• Zależność pomiędzy generowanym ruchem i zdolnością przepustową kanału

• Maksymalna zdolność przepustowa występuje przy G = 0,5 i wynosi S = 1/(2e), czyli w przybliżeniu 0,184. Inaczej

mówiąc, najlepsze wykorzystanie kanału, na jakie możemy liczyć, wynosi 18%.

(21)

Szczelinowy ALOHA

• Wkrótce po tym, jak system ALOHA ujrzał światło dzienne,

Roberts (1972) ujawnił metodę podwojenia jego przepustowości.

Jego propozycja polegała na podzieleniu czasu na dyskretne odcinki zwane szczelinami (ang. słots), przy czym każdy odcinek odpowiadał jednej ramce.

• Takie podejście wymaga od użytkowników uzgodnienia granic szczelin. Jedną z możliwych metod synchronizacji jest wysyłanie przez specjalną stację krótkiego impulsu, przypominającego takt zegara, na początku każdego interwału.

• W metodzie Robertsa, która otrzymała nazwę szczelinowy ALOHA (slotted ALOHA) w odróżnieniu od prostego ALOHA (pure ALOHA), stacja nie ma prawa nadawać w dowolnym momencie. Zamiast tego musi czekać na początek następnej szczeliny.

• W ten sposób ciągły ALOHA został przekształcony w system z czasem rozpatrywanym dyskretnie. Zysk polega na zmniejszeniu okresu podatności na kolizje o połowę.

(22)

Wydajność kanału ALOHA

• Prawdopodobieństwo, że w tej samej szczelinie czasu razem z naszą testową ramką nie wystąpi inny ruch, wynosi e

-G

, co prowadzi do następującej zależności:

𝑆 = 𝐺𝑒

−𝐺

• Jak widać na rysunku (slajd #20), dla szczelinowego ALOHA szczyt przypada na G = 1 ze zdolnością

przepustową S = 1/e, czyli około 0,368 – dwa razy wyższą niż w prostym ALOHA.

• Gdy system działa przy G = 1, prawdopodobieństwo trafienia pustej ramki wynosi 0,368. W najlepszym

przypadku dla szczelinowego ALOHA możemy liczyć na 37% pustych szczelin, 37% pomyślnych transmisji i 26%

kolizji. Praca z wyższymi wartościami G zmniejsza liczbę

pustych szczelin, lecz wykładniczo zwiększa liczbę kolizji.

(23)

Znaczenie ALOHA

• Został on opracowany w latach 70., zastosowany w kilku wczesnych systemach eksperymentalnych, a potem niemal zapomniany.

• Gdy odkryto możliwość dostępu do Internetu przez sieć telewizji kablowej, nagle pojawił się problem, jak

podzielić wspólny kanał pomiędzy wielu rywalizujących użytkowników.

• Później mieliśmy do czynienia z wariantem tego samego problemu w przypadku wielu znaczników RFID

komunikujących się z jednym czytnikiem RFID. Znów

wybawieniem okazał się szczelinowy protokół ALOHA z

domieszką późniejszych pomysłów.

(24)

Protokoły dostępu wielokrotnego z wykrywaniem nośnej

• W szczelinowym systemie ALOHA najlepsze wykorzystanie kanału, jakie można osiągnąć, wynosi 1/e. Tak niski wynik nie jest zaskakujący, ponieważ gdy stacje nadają, jak im się podoba – bez zwracania uwagi na to, co robią inne stacje – musi występować wiele kolizji. Jednakże w sieciach

lokalnych często istnieje możliwość wykrywania przez stacje działania innych stacji i odpowiedniego dostosowywania swojego zachowania. Sieci takie mogą osiągać znacznie wyższy stopień wykorzystania niż 1/e.

• Protokoły, w których stacje nasłuchują nośnej (tzn.

transmisji) i reagują zależnie od wyniku, noszą nazwę

protokołów z wykrywaniem nośnej (carrier sense protocol).

Zaproponowano do tej pory szereg takich protokołów i zadbano o ich szczegółową analizę.

(25)

Protokoły persistent CSMA i nonpersistent CSMA

• 1-persistent CSMA (Carrier Sense Multiple Access).

Otóż gdy stacja ma dane do wysłania, najpierw nasłuchuje na kanale, czy ktoś w danej chwili

nadaje. Jeśli kanał jest wolny, stacja nadaje własne dane. W przeciwnym przypadku (kanał zajęty)

zwyczajnie czeka na zwolnienie kanału i dopiero potem wysyła ramkę. W razie wystąpienia kolizji stacja odczekuje losową ilość czasu i próbuje od

nowa. Protokół nosi nazwę 1-persistent („1-ciągły”), ponieważ stacja nadaje ramkę z

prawdopodobieństwem równym 1, gdy wykryje

wolny kanał.

(26)

1-persistent CSMA: kolizje

• Jeśli dwie stacje są gotowe do nadawania w czasie trwania transmisji trzeciej stacji, obie będą grzecznie czekać na zwolnienie kanału, a potem obie

równocześnie będą próbowały nadawać własne dane, doprowadzając do kolizji sygnałów w kanale.

• Na ilość kolizji znaczący wpływ ma także opóźnienie propagacji sygnału w kanale. Jeśli sygnał pierwszej stacji jeszcze nie dotarł do drugiej, to druga wykryje kanał jeszcze bezczynny i również zacznie nadawać, co spowoduje kolizję. Ryzyko to jest proporcjonalne do

liczby ramek, które mieszczą się jednocześnie w kanale,

czyli do iloczynu opóźnienia i przepustowości kanału.

(27)

Nonpersistent CSMA

• Drugim protokołem z wykrywaniem nośnej jest

nonpersistent CSMA (nieciągły CSMA). W tym protokole podjęto świadomą próbę zmniejszenia „zachłanności” w stosunku do poprzedniego.

• Jak poprzednio, stacja przed rozpoczęciem nadawania

prowadzi nasłuch kanału w oczekiwaniu na jego zwolnienie, a kiedy nikt nie nadaje, sama zaczyna transmisję.

• Jeśli jednak kanał jest już używany, stacja nie nasłuchuje w sposób ciągły. Zamiast tego odczekuje losową ilość czasu, a następnie powtarza algorytm.

• Dzięki temu użycie tego algorytmu powoduje lepsze wykorzystanie kanału, lecz większe opóźnienia niż w 1- persistent CSMA.

(28)

p-Persistent CSMA

• Ostatnim protokołem jest p-persistent CSMA przeznaczony dla kanałów szczelinowych.

• Jego działanie polega na tym, że gdy stacja staje się gotowa do nadawania, sprawdza stan kanału. Jeśli kanał jest

bezczynny, stacja nadaje z prawdopodobieństwem p, a z

prawdopodobieństwem q = 1-p czeka na następną szczelinę.

Jeśli ta również jest wolna, stacja albo nadaje, albo

ponownie czeka z prawdopodobieństwem odpowiednio

wynoszącym p i q. Proces jest powtarzany, dopóki ramka nie zostanie wysłana albo inna stacja nie zacznie nadawać.

• Jeśli stacja na początku wykryje zajętość kanału, to czeka do następnej szczeliny i postępuje zgodnie z powyższym

algorytmem.

• Protokół IEEE 802.11 korzysta z ulepszonej wersji p- persistent CSMA.

(29)

Wyliczona zdolność przepustową w

zależności od obciążenia

(30)

CSMA z wykrywaniem kolizji

• Protokoły persistent CSMA i nonpersistent CSMA gwarantują że żadna stacja nie zacznie nadawać po wykryciu zajętości kanału. Jeśli jednak dwie stacje wykryją obecność wolnego kanału i równocześnie rozpoczną transmitowanie własnych danych, ich sygnały doprowadzą do kolizji.

• Kolejnym ulepszeniem jest możliwie szybkie wykrycie kolizji i natychmiastowe zaprzestanie nadawania (bez kończenia ramki – ta i tak zostanie zniekształcona).

Dzięki temu można zaoszczędzić czas transmisji i przepustowość kanału.

• Ten protokół, znany pod nazwą CSMA/CD (CSMA with

Collision Detection – CSMA z wykrywaniem kolizji), to

podstawa klasycznych sieci lokalnych Ethernet.

(31)

CSMA/CD: wykrywanie kolizji

• Proces wykrywania kolizji jest z natury procesem analogowym.

• Oprzyrządowanie stacji musi prowadzić nasłuch kanału w trakcie nadawania własnych danych; jeśli

nasłuchiwany sygnał odbiega od nadawanego,

wiadomo, że doszło do kolizji z inną stacją nadawczą.

• Wynika z tego, że sygnał odbierany musi być znaczący względem nadawanego (w przypadku sieci

bezprzewodowych jest to problematyczne), a modulacja sygnałów musi być dobrana tak, żeby ułatwiać

wykrywanie kolizji (np. kolizja dwóch sygnałów 0-

woltowych jest w zasadzie niemożliwa do wykrycia).

(32)

CSMA/CD: model ideowy

• CSMA/CD może być w jednym z trzech stanów:

rywalizacji, transmisji i bezczynności

(33)

CSMA/CD: algorytm rywalizacji

• Załóżmy, że obie stacje zaczną nadawać dokładnie w chwili t

0

. Po jakim czasie wykryją kolizję?

• Minimalny czas niezbędny do wykrycia kolizji to

czas potrzebny na propagację sygnału z jednej stacji do drugiej. W oparciu o tę informację można by

sądzić, że stacja, która nie wykryła kolizji w czasie

równym czasowi pełnej propagacji sygnału przez

cały kanał, może być pewna tego, że skutecznie ten

kanał przejęła. Powyższy wniosek jest błędny.

(34)

CSMA/CD: algorytm rywalizacji

• Niech czas potrzebny do propagacji pomiędzy dwoma najdalszymi stacjami wynosi .

• W chwili t0 jedna stacja zaczyna nadawać.

• W chwili t0+-, na moment przed dotarciem sygnału do najodleglejszej stacji, ta również zaczyna nadawać.

• Oczywiście wykrywa kolizję niemal natychmiast i przerywa transmisję, lecz spowodowany przez kolizję krótki impuls

zakłócający dociera do pierwszej stacji dopiero w chwili 2-.

W najgorszym przypadku stacja może być pewna przejęcia kanału dopiero po czasie 2 nadawania bez wykrycia kolizji.

• Taki układ znakomicie polepsza efektywność w przypadku, kiedy czas ramki jest znacznie większy od czasu propagacji.

(35)

Protokoły bezkolizyjne

• Kolizje w CSMA/CD pogarszają wydajność systemu,

zwłaszcza gdy iloczyn przepustowości i opóźnienia jest duży – na przykład przy długich kablach – a ramki krótkie. Kolizje nie tylko zmniejszają przepustowość, ale i wpływają na

zmienność czasu potrzebnego do przesłania ramki, co w przypadku wymiany danych w aplikacjach o ścisłych

ograniczeniach czasowych (np. przesył głosu w sieciach IP) jest wielce niepożądane.

• Przedstawimy kilka protokołów, które rozstrzygają

rywalizację o kanał bez żadnych kolizji, nawet w okresie rywalizacji. Większości z nich nie używa się obecnie w liczących się systemach.

• Zakładamy, że jest dokładnie N stacji, z których każda ma zaprogramowany unikatowy adres od 0 do N. Zakładamy też, że opóźnienie propagacji jest pomijalne. Pozostaje

podstawowe pytanie: która stacja otrzyma dostęp do kanału po udanej transmisji?

(36)

Protokół z mapą bitową

• W podstawowej metodzie z mapą bitową, każdy okres rywalizacji zawiera dokładnie N szczelin.

• Jeśli stacja nr 0 ma ramkę do wysłania, to nadaje bit 1 w zerowej szczelinie.

• Podczas tej szczeliny żadna inna stacja nie ma prawa nadawać.

• Stacja j może ogłosić, że ma ramkę do wysłania, wstawiając bit 1 do szczeliny j. Po przeminięciu

wszystkich N szczelin każda stacja dysponuje pełną wiedzą o tym, które stacje chcą nadawać.

• Teraz rozpoczynają one transmisję ramek w porządku

numerycznym.

(37)

Podstawowy protokół z mapą

bitową

(38)

Protokół z mapą bitową

• Ponieważ kolejność została z góry ustalona, nigdy nie wystąpi kolizja.

• Po nadaniu ramki przez ostatnią z gotowych stacji rozpoczyna się kolejny N-bitowy okres rywalizacji.

• Jeśli stacja osiągnie gotowość zaraz po minięciu jej bitu, to musi poczekać z nadawaniem, dopóki wszystkie

stacje nie otrzymają swojej szansy na transmisję i ponownie nie pojawi się mapa bitowa.

• Protokoły tego typu, w których zamiar nadawania jest ogłaszany przed faktyczną transmisją, noszą nazwę protokołów z rezerwacją, ponieważ w celu

zapobiegania kolizjom dokonują rezerwacji kanału

zawczasu.

(39)

Wydajność protokołu z mapą bitową

• Dla wygody będziemy mierzyć czas w jednostkach szczeliny bitowej z okresu rywalizacji, a ramki danych będą składać się z d jednostek czasu.

• Stacji o niskim numerze. Statystycznie, gdy stacja staje się gotowa do transmisji, bieżąca szczelina znajduje się gdzieś w środku mapy bitowej. Stacja musi czekać przeciętnie N/2

szczelin do zakończenia bieżącej mapy i dalej na ukończenie kolejnych pełnych N szczelin, zanim będzie mogła nadawać.

• Stacji o wyższych numerach. Ogólnie muszą czekać tylko połowę przebiegu (N/2 szczelin) przed rozpoczęciem

nadawania.

• Ponieważ stacje o niskich numerach muszą czekać średnio 1,5N szczelin, a stacje o numerach wysokich 0,5N szczelin, to średnia dla wszystkich stacji wynosi N szczelin.

(40)

Wydajność protokołu z mapą bitową

• Wydajność kanału przy niskich obciążeniach. Na każdą przesłaną ramkę przypada dodatkowe N bitów, a ramka ma d bitów, więc wydajność wynosi d/(d+N).

• Przy dużych obciążeniach, gdy wszystkie stacje mają cały czas coś do wysłania, N-bitowy okres rywalizacji przypada na N ramek, co daje dodatkowe obciążenie tylko 1 bitu na ramkę i wydajność d/(d+1).

• Średnie opóźnienie dla ramki jest równe sumie czasu kolejkowania w stacji i (N-1)d + N od momentu, gdy ramka dostanie się na początek wewnętrznej kolejki.

Interwał ten jest równy czasowi oczekiwania wszystkich

pozostałych stacji na ich kolej wysyłania ramki danych z

kolejną bitmapą.

(41)

Transmisja z żetonem

• Zasadniczym elementem protokołu z mapą bitową jest to, że poszczególne stacje mogą transmitować ramki danych w określonej z góry kolejności nadawania.

Podobny efekt można uzyskać poprzez przekazywanie pomiędzy stacjami krótkiego komunikatu zwanego żetonem albo tokenem (przekazywanie go również odbywa się w ustalonym z góry porządku).

• Żeton reprezentuje zezwolenie na nadawanie. Jeśli stacja posiada ramkę danych do transmisji i odbierze żeton, może wysłać swoją ramkę, a następnie wysłać żeton do następnej stacji. Jeśli stacja nie posiada

danych do wysiania, od razu wysyła żeton.

(42)

Protokół token-ring

• Aby jednak kiedyś przerwać

przekazywanie ramki w pierścieniu, któraś ze stacji musi ją z niego usunąć, to znaczy zrezygnować z retransmisji. Może to być albo stacja, która była pierwotnym

nadawcą ramki, albo stacja, która była jej adresatem.

• W protokole token-ring (pierścień stacji z żetonem) do definiowania kolejności nadawania poszczególnych stacji służy topologia sieci.

• Przekazywanie żetonu pomiędzy nimi sprowadza się do

odebrania reprezentującego go komunikatu z jednej strony i wysłania go w drugą stronę pierścienia.

• Ramki są transmitowane w tym samym kierunku co żeton.

Dzięki temu krążą one w pierścieniu i docierają do wszystkich potencjalnych stacji docelowych.

(43)

Protokół token-ring

• Zauważmy, że implementacja takiego protokołu w żadnym razie nie wymaga fizycznej topologii

pierścienia.

• Kanał łączący stacje może być nawet pojedynczą magistralą współdzieloną.

• W takim przypadku poszczególne stacje wykorzystują wspólny kanał do wysyłania żetonu do następnej stacji w predefiniowanej sekwencji.

• Posiadanie żetonu daje natomiast prawo do przejęcia kanału i wysłania pojedynczej ramki.

• Taki wariant tego protokołu nazywa się token-bus.

(44)

Wydajność protokołu z żetonem

• Wydajność przekazywania żetonu jest podobna jak

wydajność protokołu z mapą bitową, choć dochodzi tu do przemieszania szczelin rywalizacji i ramek w ramach jednego cyklu.

• Po wysłaniu ramki każda ze stacji musi odczekać, aż

wszystkie N stacji (w tym ona sama) odeśle żeton sąsiadowi oraz potencjalnie na N-1 ramek pozostałych stacji.

• Ponieważ jednak wszystkie pozycje w pierścieniu są

równorzędne, nie dochodzi do preferowania stacji o niskich numerach.

• W przypadku protokołu z przekazywanym żetonem każda ze stacji przesyła go jedynie do stacji sąsiedniej, więc żeton

żadnej z nich nie ominie. Nie musi on każdorazowo dotrzeć do wszystkich stacji, aby można było przejść do następnego kroku protokołu.

(45)

Sieci typu token-ring

• Sieci typu token-ring pojawiły się jako implementacje

protokołu MAC z zapewnieniem pewnego stopnia spójności.

• Wczesna wersja protokołu z przekazywaniem żetonu w

pierścieniu (IEEE 802.5) zyskała sporą popularność w latach 80. poprzedniego stulecia jako efektywna alternatywa dla klasycznej sieci Ethernet.

• Jednak w latach 90. przełączane (komutowane) sieci Ethernet pokonały wydajnością nawet szybką sieć typu

token-ring o nazwie FDDI (Fiber Distributed Data Interface).

• W pierwszej dekadzie XXI wieku zdefiniowano standard IEEE 802.17: sieć typu token-ring o nazwie RPR (Resilient Packet Ring) mającą ujednolicić pierścienie metropolitarne

wykorzystywane przez ISP.

(46)

Odliczanie binarne

• Problem z podstawowym protokołem z mapą bitową (oraz z jego wariantem rozszerzonym w postaci

przekazywania żetonu) polega na tym, że dodatkowe obciążenie wynosi 1 bit na stację, więc rozwiązanie nie skaluje się dobrze przy tysiącach stacji.

• Możemy poprawić sytuację, używając binarnych

adresów stacji z kanałem, który kombinuje transmisje.

• Teraz stacja, która chce użyć kanału, ogłasza swój adres w postaci binarnego łańcucha bitów, zaczynając od bitu najstarszego. Zakłada się, że wszystkie adresy mają tę samą długość. Na bitach na każdej pozycji z różnych stacji wykonywana jest operacja boole’owska OR. Ten protokół nazwiemy odliczaniem binarnym (binary

countdown).

(47)

Odliczanie binarne

• Zakłada się tu, że opóźnienia transmisji są

pomijalne, więc wszystkie stacje natychmiast widzą otrzymane bity.

• Dla uniknięcia konfliktów musi zostać zastosowana reguła arbitrażu: gdy tylko stacja zobaczy, że

bardziej znaczący bit w jej adresie równy 0 został nadpisany przez 1, rezygnuje z transmisji.

• Stacje o wyższych numerach mają w nim

pierwszeństwo przed stacjami o numerach niższych,

co może być dobre lub złe zależnie od kontekstu.

(48)

Protokół binarnego odliczania wstecz

• Na przykład: gdy jednocześnie próbują zdobyć dostęp do kanału stacje 0010, 0100, 1001 i 1010, w pierwszym bicie nadają one odpowiednio 0, 0, 1 i 1.

• Operacja LUB daje wynik 1. Stacje 0010 i 0100 rozpoznają przez to, że konkurują z nimi stacje o wyższym numerze,

więc w tej rundzie rezygnują. Stacje 1001 i 1010 przechodzą dalej.

• Następny bit to 0 i obie stacje kontynuują nadawanie adresu.

• Kolejny jest bit 1, więc stacja 1001 rezygnuje.

• Zwycięzcą jest stacja 1010, ponieważ ma najwyższy adres. Po wygranej licytacji

stacja może wysłać ramkę, po czym rozpoczyna się kolejny cykl licytacji.

(49)

Wydajność protokołu binarnego odliczania

• Wydajność tej metody wynosi d/(d + log

2

N). Jeśli jednak format ramki zostanie tak sprytnie dobrany, że adres nadawcy będzie w niej pierwszym polem, nawet ten log

2

N nie zmarnuje się i wydajność

wyniesie 100%.

• Odliczanie binarne jest przykładem prostego,

eleganckiego i wydajnego protokołu, który czeka na

ponowne odkrycie.

(50)

Protokoły z ograniczoną rywalizacją

• Podstawowe strategie przejmowania kanału w sieci z kanałem o charakterze rozgłoszeniowym: z rywalizacją i bezkolizyjnie.

• Każdą strategię można ocenić pod kątem dwóch ważnych parametrów wydajności:

• opóźnienia przy małym obciążeniu

• i wydajności kanału przy dużym obciążeniu.

• W warunkach małego obciążenia preferowana jest rywalizacja z uwagi na małe opóźnienia (kolizje są wtedy rzadkością).

• Dokładnie na odwrót jest w przypadku protokołów

bezkolizyjnych. Przy małych obciążeniach wprowadzają one stosunkowo duże opóźnienia, lecz ze wzrostem

obciążenia wydajność kanału także rośnie.

(51)

Protokoły z ograniczoną rywalizacją

• Dobrze byłoby połączyć najlepsze właściwości protokołów rywalizacyjnych i bezkolizyjnych i otrzymać nowy protokół, który korzystałby z rywalizacji przy niskich obciążeniach, aby zapewnić małe opóźnienia, oraz z technik bezkolizyjnych

przy wysokich obciążeniach, by zapewnić dobrą wydajność kanału.

• Takie protokoły nazywa się protokołami z ograniczoną rywalizacją (limited-contention protocol).

• Symetryczne protokoły rywalizacyjne – każda stacja

usiłowała przejąć kanał z pewnym prawdopodobieństwem p, a wartość p dla wszystkich stacji była taka sama.

• Ogólną wydajność systemu można zwiększyć za pomocą protokołu, który przydziela różne prawdopodobieństwa różnym stacjom.

(52)

Wydajność protokołów symetrycznych

• Załóżmy, że k stacji rywalizuje o dostęp do kanału. Każda ma prawdopodobieństwo nadawania w każdej szczelinie równe p.

• Prawdopodobieństwo, że stacja z powodzeniem przejmie kanał w danej szczelinie, jest równe szansie na to, że dowolna ze

stacji prowadzi transmisję, a wszystkie inne k-1 stacji się od niej powstrzymuje (każda z prawdopodobieństwem 1-p).

Otrzymujemy więc wartość kp(1-p)k-1.

• Aby znaleźć optymalną wartość p, zróżniczkujmy p,

przyrównajmy do 0 i rozwiążmy równanie dla p. Zobaczymy, że najlepszą wartością dla p jest 1/k. Podstawiając p = 1/k,

otrzymamy:

Pr 𝑝𝑜𝑤𝑜𝑑𝑧𝑒𝑛𝑖𝑒 𝑝𝑟𝑧𝑦 𝑜𝑝𝑡𝑦𝑚𝑎𝑙𝑛𝑒𝑗 𝑤𝑎𝑟𝑡𝑜ś𝑐𝑖 𝑝 = 𝑘 − 1 𝑘

𝑘−1

(53)

Prawdopodobieństwo przejęcia kanału przy rywalizacji symetrycznej

• Dla niewielu stacji prawdopodobieństwo

powodzenia jest wysokie, lecz już przy pięciu

stacjach spada ono w okolice asymptotycznej

wartości 1/e.

(54)

Protokoły z ograniczoną rywalizacją

• Prawdopodobieństwo przejęcia kanału przez stację możemy zwiększyć, tylko zmniejszając poziom rywalizacji. Dokładnie tak zachowują się protokoły z ograniczoną rywalizacją.

• Najpierw dzielą stacje na grupy (niekoniecznie rozłączne).

• Jedynie te będące członkami grupy 0 mają prawo

rywalizować o szczelinę 0. Zwycięzca przejmuje kanał i wysyła swoją ramkę. Jeśli szczelina nie zostanie

wykorzystana lub jeśli wystąpi kolizja, członkowie grupy 1 rywalizują o szczelinę 1 itd.

• Odpowiedni podział stacji na grupy pozwala na zmniejszenie rywalizacji o każdą szczelinę, dzięki czemu funkcjonowanie kanału będzie bliskie przedstawionemu przy lewej krawędzi rysunku.

(55)

Przydzielanie stacji do szczelin

• W jednej skrajności każda grupa ma tylko jednego członka.

Taki przydział gwarantuje, że kolizja nigdy nie wystąpi (np.

odliczanie binarne).

• Następny przypadek szczególny to dwie stacje na grupę.

Prawdopodobieństwo, że obie będą próbowały nadawać w danej szczelinie, wynosi p2, więc jest pomijalne dla małych p.

• W miarę przydzielania coraz większej liczby stacji do tej samej szczeliny prawdopodobieństwo kolizji rośnie.

Przypadkiem granicznym jest jedna grupa zawierająca wszystkie stacje (czyli szczelinowy ALOHA).

• Potrzebujemy sposobu dynamicznego przydzielania stacji do szczelin z wieloma stacjami na szczelinę przy niskim

obciążeniu i kilkoma lub nawet jedną stacją na szczelinę, gdy obciążenie jest wysokie.

(56)

Protokół adaptacyjnego przejścia przez drzewo

• Wyobraźmy sobie stacje jako liście binarnego drzewa.

• W pierwszej szczelinie rywalizacji następującej po pomyślnej transmisji ramki (szczelinie nr 0) wszystkie stacje mają

prawo próbować przejąć kanał.

• Jeśli jedna z nich to zrobi, wszystko w porządku. Jeśli wystąpi kolizja, to w szczelinie drugiej rywalizować mogą tylko stacje przynależące do węzła 2 drzewa.

• W przypadku gdy jedna z nich przejmie kanał, kolejna szczelina po wysłanej ramce będzie zarezerwowana dla stacji pod węzłem 3.

• Jeśli z drugiej strony dwie lub więcej stacji pod węzłem 2 będzie chciało nadawać, wystąpi kolizja w szczelinie nr 1 i wtedy szczelina nr 2 przypadnie węzłowi 4.

(57)

Protokół adaptacyjnego przejścia przez drzewo

• Gdy obciążenie systemu jest duże, nie opłaca się zbytnio przydzielać szczeliny nr 0 do węzła 1, ponieważ to miałoby sens jedynie w mało prawdopodobnym przypadku tylko jednej stacji mającej ramkę do wysłania.

• Na którym więc ogólnie poziomie powinno się rozpocząć przeszukiwanie drzewa? Na tym niższym, im większe

obciążenie.

• Założymy, że każda stacja dysponuje ilość gotowych stacji (q). Każdy węzeł n poziomu i ma pod sobą ułamek 2-i stacji.

Spodziewana liczba gotowych stacji pod konkretnym

węzłem na poziomie i wynosi 2-iq. Optymalny poziom, na którym należy zacząć przeszukiwać drzewo, to ten, gdzie

średnia liczba stacji rywalizujących o szczelinę wynosi 1, czyli ten, gdzie 2-iq = 1. Rozwiązanie tego równania: i = log2q.

(58)

Protokoły bezprzewodowych sieci LAN

• Typową konfiguracją bezprzewodowej sieci LAN jest

budynek biurowy z punktami dostępowymi (tzw. AP, od ang. access point) rozmieszczonymi w strategicznych

miejscach. Punkty dostępowe są ze sobą połączone

kablami miedzianymi lub światłowodowymi i realizują

łączność dla stacji bezprzewodowych, które się z nimi

komunikują.

(59)

Protokoły bezprzewodowych sieci LAN

• W systemach bezprzewodowych nie można polegać na wykrywaniu kolizji w trakcie transmisji. Sygnał

odbierany przez daną stację może być znikomy w stosunku do sygnału nadawanego. Dlatego do

wykrywania kolizji i innych błędów odbioru służy tu mechanizm potwierdzeń.

• Jest też jeszcze ważniejsza różnica pomiędzy sieciami lokalnymi przewodowymi i bezprzewodowymi:

• Stacja sieci bezprzewodowej może nie być w stanie nadawać albo odbierać ramek ze wszystkich pozostałych stacji z

powodu ograniczonego zasięgu transmiterów radiowych stosowanych w sieciach lokalnych.

• W przypadku sieci przewodowych, kiedy jedna stacja wysyła ramkę, wszystkie inne mogą ją odebrać. Brak tej cechy w sieciach bezprzewodowych powoduje mnóstwo komplikacji.

(60)

Problemy w używaniu CSMA

• Przyjmiemy upraszczające założenie, że każdy

transmiter radiowy posiada pewien stały zasięg, w obrębie którego inna stacja może wykryć i odebrać transmisję danej stacji.

• Próba użycia CSMA – nasłuchiwania innych

transmisji i nadawania tylko wtedy, gdy nikt inny tego nie robi.

• Problem w tym, że ten protokół nie jest tu

naprawdę skuteczny – zakłócenia występują

przecież w odbiorniku, a nie w nadajniku.

(61)

Problemy w używaniu CSMA

• Co się dzieje, gdy stacje A i C transmitują dane do stacji B tak jak na rysunku (a)? Problem niezdolności stacji do wykrycia potencjalnego rywala w dostępie do nośnika z tego powodu, że rywal znajduje się za daleko, nosi nazwę problemu

ukrytej końcówki (ang. hidden terminal problem).

• B nadaje do A, a w tym samym czasie C zamierza

transmitować dane do D jak na rysunku (b). Jest to z kolei tzw. problem odkrytej końcówki (ang. exposed terminal problem).

(62)

Problemy w używaniu CSMA

• Trudność polega na tym, że przed rozpoczęciem transmisji stacja musi wiedzieć, czy w okolicy odbiornika nie występuje jakaś aktywność transmisyjna.

• CSMA informuje, czy coś się dzieje w pobliżu transmitera, jedynie poprzez wykrycie nośnej.

• W przypadku kabla wszystkie sygnały propagują się do wszystkich stacji, więc rozróżnienie odległościowe nie ma znaczenia, za to w danej chwili w obrębie całego systemu może zachodzić tylko jedna transmisja.

• W systemie opartym na falach radiowych o krótkim zasięgu jednocześnie może występować wiele transmisji, jeśli mają one różne miejsca przeznaczenia, a każda stacja docelowa jest poza zasięgiem reszty nadajników.

(63)

Protokół MACA

• Wczesnym (ale ważnym) protokołem dla bezprzewodowych sieci LAN, który realizował postulat współbieżności

transmisji, był MACA (Multiple Access with Collision Avoidance – wielodostęp z unikaniem kolizji).

• Podstawowa idea tego protokołu jest taka, że nadajnik

stymuluje odbiornik do wysłania krótkiej ramki, dzięki której okoliczne stacje mogą wykryć transmisję i uniknąć

nadawania przy przesyłaniu następnej (dużej) ramki danych.

Technika ta jest tu stosowana jako analog wykrywania nośnej.

• Stacja A wysyła ramkę do B:

• Zaczyna od wysłania do B ramki RTS (Request to Send – zgłoszenie do wysłania). Ta krótka ramka zawiera długość ramki danych.

• Następnie B odpowiada ramką CTS (Clear to Send – gotowy do wysłania). Ramka ta zawiera długość danych (skopiowaną z ramki RTS).

• Po odebraniu ramki CTS A rozpoczyna nadawanie.

(64)

Protokół MACA

• Jak reagują stacje odbierające którąś z tych ramek?

• Każda stacja odbierająca RTS znajduje się blisko A i musi pozostać bezczynna wystarczająco długo, by ramka CTS została odesłana do A bez konfliktu.

• Każda stacja, która odbierze CTS, jest w pobliżu B i musi powstrzymać się od nadawania podczas następującej po ramce CTS transmisji danych, której długość może poznać, korzystając z zawartości tej ramki.

Cytaty

Powiązane dokumenty

Fits of Novikov-Thorne model to CTS C30.10 in the optical/UV band: (i) the black hole mass and Eddington ratio taken from Table 4, Component 1 only, Trakhtenbrot & Netzer

Ten sen, który Andrić opatrzył imieniem Helena, początkowo nienazwany, pojawia się jako przeczucie, błysk, światło po raz pierwszy w lirykach Andricia, pochodzących z okresu,

W tabeli PRACOWNICY NR_W jest funkcjonalnie zależny od NAZWA_W, który nie jest kluczem głównym. Z atrybutów tych tworzy się nową

oprogramowanie już zainstalowane, nie mogą instalować nowego oprogramowania oraz zmienia konfiguracji systemu.. • Użytkownicy zaawansowani — nie mają dostępu do plików innych

2 lata przy 38 to pestka… Izrael był na finiszu i to właśnie wtedy wybuch bunt, dopadł ich kryzys… tęsknota za Egiptem, za niewolą, za cebulą i czosnkiem przerosła Boże

Materiał edukacyjny wytworzony w ramach projektu „Scholaris – portal wiedzy dla nauczycieli".. współfinansowanego przez Unię Europejską w ramach Europejskiego

Policz ile jest budynków współczesnych, zaznacz kolorem właściwą cyfrę.. 10 Ćwiczenie spostrzegawczości i koordynacji wzrokowo-ruchowej. Połącz w pary wyrazy ZABYTKI i

Wszelkie operacje logiczne, wykonywane na transmitowanych danych mogą być realizowane przez programowanie, jeśli dane u- rsądzenie dysponuje możnością zapamiętania