• Nem Talált Eredményt

Véletlen hozzáférés˝ u protokollok

5.4 Hálózati réteg: vezérl˝ osík

6.5.2 Véletlen hozzáférés˝ u protokollok

���

���������

6.8: FDMA - frekvencia alapú csatornfelosztás1

A legfejlettebb csatorna partícionáló protokoll azonban aCDMA, vagyis kód alapú felosztás, mely minden résztvev˝o csomópont számára egy egyedi kódot oszt. Megfelel˝oen kiválasztott kódok esetén akár egyszerre küldhet a csatornát használó összes csomópont, mégsem keletkezik ütközés, hiszen a fogadó felek a kód alapján ki tudják sz˝urni a számukra lényeges biteket. A CDMA-t els˝osorban vezetéknélküli hálózatokon, különösen mobilhálózatokon szokták használni - ott egy kicsit részletesebben foglalkozunk majd vele mi is.

6.5.2 Véletlen hozzáférés˝u protokollok

Ha szellemes motivációs szövegként szeretnénk megfogalmazni a véletlen hozzáférés˝u protokollok lényegét, valahogy úgy hangzana, hogy “nem az a gond, ha ütközés történik, hanem az, amikor ebb˝ol nem tudsz helyreállni”. A véletlen hozzáférés˝u protokollokat követ˝o csomópontok nem végeznek semmiféle egyeztetést a közeget használó szomszédjaikkal: a teljes R bites sávszélességet igénybe véve próbálnak sugározni, amikor küldend˝ojük van, ami természetesen, ha egynél több csomópont próbálkozik ugyanabban a pillanatban, elkerülhetetlenül ütközéshez vezet.

Fontos A véletlen hozzáférés˝u protokollok feladata, hogy detektálják az ütközés bekövetkeztét, majd valamilyen egyszer˝u módszerrel - például késleltetett újraküldéssel - akadályozzák meg az ismételt bekövetkezését az elindított küldési folyamatok sikeres végbemenetele mellett.

(nagyjából mintha egy karambol után a keresztez˝odésb˝ol visszatolatna minden érintett, majd olyan módon indulnának el újra, hogy ne történjen újra baj).

Az els˝o véletlen hozzáférés˝u protokollunk aréselt ALOHA. Az ALOHA protokollok a Hawaii Egyetem által 1971-ben kifejlesztett ALOHAnet hálózat megoldásain és protokolljain alapulnak. A réselt ALOHA ezek közül az egyik legegyszer˝ubb. Feltételezi, hogy az adatkapcsolati rétegben minden keret azonos méret˝u (L bit), ezek adási ideje alapján az id˝o résekre (L/R másodperces résekre) osztható, továbbá a csomópontok szinkronizáltak, csak az egyes rések kezdetén kezdenek el adni, és ha ütközés történik, azt mind egységesen érzékelik. Amennyiben egy fels˝o rétegt˝ol küldésre szánt adat érkezik, a réselt ALOHA elvei szerint az adatkapcsolati réteg a keretezést követ˝oen vár a következ˝o id˝orés kezdetéig és ekkor indítja meg automatikusan a keret küldését. Ha ez ütközés nélkül lement, akkor teljes a siker, és minden halad tovább, míg ha ütközésre került a sor, a küld˝o szerepét betölt˝o csomópont minden következ˝o rés kezdetén p valószín˝uséggel megpróbálkozik az újraküldéssel, amíg az sikeresnek nem bizonyul. Erre ap valószín ˝uségregondolhatunk kocka vagy érmedobásként is - amennyiben a megfelel˝o oldalra érkezik a feldobott tárgy, a csomópont újrapróbálkozik, ám az egyes csomópontok egymástól függetlenül dobálnak, így ütközésre még az újraküldések során is sor kerülhet.

A réselt ALOHA er˝osségei közé tartozik az elosztottság, és sikeres küldés esetén a teljes elérhet˝o bitsebességgel történ˝o kommunikáció, azonban amint több aktív, vagyis keret küldésre

�������� ���

�������� ���

�������� ���

6.9: Réselt ALOHA potenciális ütközései 3 csomóponttal1

készül˝o csomópontunk van a közegre kapcsolva, a hatékonyságunk máris jelent˝os mértékben csökkent. Az egyszer˝uség kedvéért definiáljuk a következ˝o két fogalmat: egy réstsikeresnek tekintünk, amennyiben ütközés nélkül, sikeres átvitelre került sor benne, éssikertelennek vagy elvesztegetettnek, ha ütközésre került sor. Továbbá az algoritmusunkhatékonyságáttekintsük a sikeres rések arányának hosszútávon. Amennyiben folyamatosan több csomópontunk próbál keretet küldeni, a hatékonyságunk már lényegesen csökken, nem is beszélve két igen széls˝oséges esetr˝ol: amennyiben egy adott id˝orésben egyik csomópont sem próbálkozik újraküldéssel, az üresen, kihasználatlanul marad, holott lehet˝oséget biztosított volna egy sikeres küldésre, míg ha sok aktív csomópontunk van, amelyek közül legalább kett˝o vagy több minden résben küldéssel vagy újraküldéssel próbálkozik, a hatékonyságunk gyakorlatilag a nullához konvergálhat. Ha megpróbáljuk matematikailag megbecsülni a hatékonyságot, akkor a következ˝ore juthatunk: az esélye annak, hogy bármely csomópont sikeresen küld egy id˝orésben:

Np(1p)N1 (6.3)

ahol p a küldési valószín˝uség, N pedig a csomópontok száma. Ha meg is találjuk p* -ot, vagyis azt a küldési valószín˝uséget, amely maximalizálni tudja a réselt ALOHA hatékonyságát, végtelenhez közelít˝o N-el becsülve és némi kalkulus gyakorlattal azt az eredményt kaphatjuk, hogy a hatékonyságunk 1/e = 0,37 - ami azzal egyenl˝o, hogy a legeslegjobb esetben is csak a rések 37%-a lesz majd sikeres.

Tervezzük kicsit át a dolgokat: ha javítani próbálunk a fenti modellen, könnyen felmerülhet, hogy talán elegend˝o lenne az egyik legszigorúbb korlátozást eltörölni, az id˝okeretek szerinti szinkronizálást, vagyis a küldeni szándékozó csomópontok bármikor adhassanak, ne csak a keret ek elején. Ezzel a feloldással máris megkaptuk a következ˝o véletlen hozzáférés˝u protokollunkat, azegyszer ˝u ALOHA-t. A helyzet viszont az, hogy bármennyire is t˝unik ez ésszer˝u megoldásnak, valójában csak rontottunk a saját helyzetünkön. Tételezzük ugyanis fel, hogy elküldünk egy keretet a t0 id˝opontban, egy keret átküldése pedig egy id˝oegységet venne igénybe. Ha a küldések lehetséges id˝opontját nem szinkronizáljuk, az azt jelenti, hogy a t0-kor elindított keretünk ütközni fog minden olyan más kerettel, amit a [t0-1 ; t0+1] id˝ointervallumon belül küldtek. A hatékonyságot számoló képletünk ekkor az alábbi módon változik (a P() függvény az alábbiakban a mesterséges intelligencia tárgyak jelölésrendszeréhez módon van értelmezve, vagyis a paraméterként megadott esemény bekövetkezési valószín˝uségét jelöli)

P(sikeres küldés) = P(a kijelölt csomópont ad) * P(más csomópont nem ad [t0-1, t0] id˝ointervallumban)

* P(más csomópont nem ad [t0, t0+1] id˝ointervallumban) Ami kifejtve úgy fest, hogy

p(1p)N1(1p)N1=p(1p)2(N1) (6.4)

Ami ahelyett, hogy jobb lenne mint a réselt ALOHA, durván felére csökkenti a hatékonyságot, és alig 18% esélye lesz csak annak, hogy egy adott id˝oegységen belül sikeres küldésre kerül sor.

�����������

������ � ���

������������

�� �� ��� ���

������������

����� � ���

������� �

������������� � �

6.10: Egyszer˝u ALOHA ütközési intervallumok1

Ezek után tartsunk egy kis biztonságos távolságot az ALOHA családfájától és tapogatózzunk más irányban. Tanítsuk meg a csomópontjainkat egy kis alapvet˝o illemre - még ha van is közölnivalójuk, azt ne kezdjék el azonnal küldeni, ha közben valaki épp használja azt a csatornát.

Ez az egyszer˝u technika az alapja a vev˝o érzékelés˝u többszörös hozzáférésnek, vagyiscarrier sense multiple access (CSMA) protokollnak - küldés el˝ott a csomópont hallgasson bele az átviteli közegbe, és csak akkor kezdjen el adni, ha épp más nem használja azt. Ett˝ol függetlenül természetesen még el˝ofordulhat ütközés, ha két adásra készül˝o csomópont nem érzékeli egymás adásának kezdetét, és ugyanabban a pillanatban kezdik el használni a csatornát (ezt hívjukterjedési késleltetésnek), és ekkor odaveszhet a teljes közlésre szánt keret. Az ütközés bekövetkezésének valószín˝usége a terjedési késleltetés és a csomópontok között távolság alapján becsülhet˝o és érzékelhet˝o csupán. Erre az esetre a CSMA -nak létezik egy b˝ovítése is, a CSMA/CDahol a CD utótag értelemszer˝uen a collision detection, ütközésészlelés jelölése. Ekkor ütközés esetén az összes érintett csomópont befejezi az adást, majd egy véletlenszer˝uen meghatározott id˝otartamig várakoznak, miel˝ott ismét megpróbálkoznának a hallgatózással és küldéssel.

Jól hangzik, igaz? Bökken˝o csak egy nagyon kézenfekv˝o ponton van: a gyakorlatban sajnos közel sem egyszer˝u olyan gyorsan észlelni azt, hogy ütközés történt, és az átviteli közegben már nem egy, hanem több csomópont adása vegyült értelmezhetetlen bitfolyamot el˝oidézve. A vezetékes LAN-okon még van egy üt˝okártyánk ilyenkor, ugyanis elég, ha az adó és vev˝o összehasonlítják az átviteli közegben az adott és fogadott jeler˝osséget - míg ütközésmentes esetben ez meg fog egyezni, ütközés esetén a fogadó nagyobb jeler˝osséget fog észlelni. Vezetékmentes közegben azonban már ezt a taktikát sem alkalmazhatjuk, hiszen ott a közegben észlelt jeler˝osséget befolyásolhatja a zaj is, mint például a helyi adás.

A CSMA/CD hatékonysága így er˝osen függ attól is, hogy pontosan milyen közegben van megvalósítva, továbbá a fenti detektálásos dilemmán felül a stratégiától, mellyel az összeütközött adók eldöntik, mennyit várakoznak a következ˝o adási kísérlet el˝ott. Az Etherneten implementált CSMA/CD algoritmus például az ütközés észlelésekor egy megszakítóJAM jeletad le a közegben, majd az érintett csomópontok a várakozási id˝o K értékeként egy véletlenszer˝u 2 hatványt választanak - minél több csomópont volt érintett az ütközésben, lehet˝oség szerint annál nagyobbat. Ezt a típusú várakozást nevezzükbináris exponenciális visszaszámlálásnak. Egy teljes, CSMA/CD m˝uködés Etherneten így a következ˝o módon összegezhet˝o:

1. A csomópont NIC-je a fels˝obb rétegekt˝ol megkapja a datagramot, amit keretbe foglal 2. Hallgatózik a csatornán, ha nem érzékel rajta adást, megkezdi a küldést pont ugyanabban a

pillanatban, amikor hasonló események hatására B is ugyanezt teszi

3. Létrejön az ütközés, kis id˝o elteltével mind az adók, mind a vev˝ok érzékelik a megváltozott jeler˝osség hatására, hogy baj van

4. Mindkét adó leállítja az adást és kiküldik a JAM jeleket a csatornára

5. Mindketten elkezdenek várakozni random, kett˝o-hatvány alapú várakozási id˝ovel, A például 4*512 bit (ahol az 512 bit a keret mérete) átviteli id˝otartamáig, B pedig 32*512 bit id˝otartamig 6. Ha ezután újrapróbálkoznak, és mégis ismét ütköznek, növelik a várakozási idejüket a

következ˝o nekifutás el˝ott

��

��

��

���

������

��������������������

����������������

6.11: Ütközésdetektálás két adóval1

A hatékonyság becsléséhez a CSMA/CD esetében fontos, hogy kicsit finomítsunk a definícióinkon is: hatékonyságnak most tekintsük azt, hogy egy kell˝oen hosszú id˝otartam mekkora részén került sor ütközésmentes kommunikációra úgy, hogy sok küldésre kész csomópontunk van viszonylag nagy mennyiség˝u küldésre szánt adattal. A képletünkhöz pedig vegyünk fel két további változót is:

tproplegyen a maximális késleltetés két csomópont között,ttranspedig az id˝o, amire szükség van ahhoz, hogy egy maximális méret˝u keret eljusson az egyik csomópontról a másikra. A képlet ekkor

e f f iciency=1/(1+5tprop/ttrans)

Ami jobb, mint az ALOHA algoritmusok hatékonysága, ráadásul olcsó és kell˝oen egyszer˝u is.

Fontos A csatornafelosztásos protokollok tehát jól m˝uködnek, ha nagy terhelés van a csatornán, mert igazságosan és egységesen osztják fel, kis terhelésnél azonban a hatékonyságuk nagyon lecsökken, az adóknak feleslegesen sokat kell várakozniuk.

A véletlen hozzáférési protokolloknál pont fordul a helyzet - alacsony terhelésnél a csomópontok a csatorna teljes sávszélességét igénybe veheti a gyors, hatékony küldéshez, magas forgalom intenzitás esetén azonban folyamatos ütközésekre és várakoztatásokra kerül sor.