3. Adatkapcsolati réteg Az adatkapcsolati réteg (Data Link Layer) alapvető feladata, hogy egy bitfolyam átvitelére képes fizikai rendszert egy olyan eszközzé alakítsa, ami adatátviteli hibáktól mentes szolgáltatást nyújt a hálózati réteg számára. Ez a feladat nyilván nem oldható meg tökéletesen, hiszen bármilyen ellenőrző algoritmus mellett is lesz véges valószínűsége a hibás átvitelnek. Egy folyamatos bitsorozat hibátlansága nem ellenőrizhető. Az ellenőrzés érdekében az adó oldal a bemenő adatokat meghatározott hosszúság darabokra –keretekkétördeli. Az adatkerteket fel kell ismernünk. Ezért a keretek elé és mögé speciális bitmintákat helyezünk el. A bitmintáink az adatkeret belsejében is előfordulhatnak, ezért ellenőrző eljárásokat kell kitalálnunk. Az adatkapcsolati rétegnek kell feldolgozni az ellenállomásról érkező nyugta - kereteket is. Könnyen belátható, hogy pont-pont összeköttetés esetén fizikai réteg birtoklásáért, ha van egy oda és egy vissza irányú csatorna, nem kell versenyezni az állomásoknak. Mindegyik akkor ad, amikor akar. Egy versengés mentes csatornában is szükség van szabályozásra. A két oldal maximális sebessége nem mindig azonos. Ha az adó gyorsabb mint a vevő, az adó "elárasztja" a vevőt. Gondoskodnunk kell a sebességkülönbségek áthidalásáról, és a teljes hálózat forgalomszabályozásáról. Néhány szokásos módszer:
a kapcsolat kezdetén egy alacsony sebességen egyeztetik a maximális sebességet
a gyors adó a vevő által felismerhető, eldobható kereteket is küld, és a "hasznos" keretekből adódó sebesség megegyezik a vevőoldal hálózatának sebességével.
(A módszer ott hatékony, ahol a sebességkülönbség nem nagy, és előre ismert). Ha ugyanazt a fizikai köteget szeretné több állomás birtokolni ugyanabban az időben az állomásoknak versengeni kell a csatorna megszerzéséért. Ezek az üzenet szórásos hálózatok. Az üzenetszórásos hálózatokban az állomások versengenek az adási jog megszerzéséért. A feladat ennek a folyamatnak az optimalizálása, hogy egy adott Pandur B: Számítógép hálózatok. 2008
69
sávszélességű csatornában a lehető legnagyobb legyen a sikeresen továbbított keretek száma. Az adatkapcsolati réteg háromféle szolgálatot nyújt a hálózati rétegnek:
Nyugtázás nélküli összeköttetésmentes szolgáltatás. Ott alkalmazhat, ahol kicsi a hibaarány vagy a hiba jelentősége alacsony (nincs nyugta és hibajavítás).
Nyugtázott összeköttetésmentes szolgáltatás (nincsenek valósidejű követelmények, minden keretre nyugta érkezik).
Összekötetés alapú szolgáltatás ( A forrás - és célszámítógép összeköttetést épít fel). Minden küldött keret sorszámozott, a keretek csak egyszer és a megfelelő sorrendben érkeznek meg. Fázisai: (1) kapcsolat felépítés, inicializálás, (2) keretek továbbítása (3) kapcsolat lebontása, (változók, pufferek felszabadítása)
A réteg faladatait átgondolva célszerű két alrétegre osztani. Az egyik alréteg a keretképzéssel és a hibajavítással foglalkozik, a másik alréteg a fizikai közeg elérését vezérli. A két alréteg:
Logical Link Control
Medium Access Control
A felosztásnak nyilvánvaló előnyei vannak. A logikai alréteg a fizikai közegtől független, sokkal állandóbb, mint a közeg-elérési alréteg. A hardver gyártók számára ez azt jelenti, hogy egy új csatolókártyához csak a MAC alréteg szoftverét kell implementálni. A Logical Linc Control az operációs rendszer része, és létrehozható a csatolókártya hardverének ismerete nélkül is. Egy csatoló így többféle operációs rendszerkörnyezetben működőképes, illetve egy operációs rendszer sokféle csatolókártyával működhet. A valóságban természetesen a nagy gyártó cégek együttműködnek a fejlesztésben . 3.1. Keretezés 3.1.1. Karakteres átvitel. A folyamatos bitsorozat nem alkalmas információ átvitelére, mert nem tudjuk, hogy az egyes logikai egységek hol kezdődnek, és hol fejeződnek be. A biteket Pandur B: Számítógép hálózatok. 2008
70
csoportokba kell rendeznünk, és gondoskodni kell ezeknek a csoportoknak a felismerhetőségéről. Az egyik lehetséges bit-csoport a karakter. Az egyes bitcsoportokhoz meghatározott jelentést rendelünk (kódolunk), a vevőoldalon ezt értelmezzük (dekódoljuk).A karakteres átvitelnél egy jelet 6 - 8 bit reprezentál. 3.1.2. Karakterek ábrázolása A számítógépek közötti adatforgalomban az információt kódolva továbbítjuk. A bitcsoport jelenthet pl. hang-amplitúdót, sötétség értéket egy képen, vagy egy nyomtatható betűt is. Karakter alatt általában egy írásjelet, vagy az íráskép meghatározására alkalmas bitcsoportot értünk. A karakterek ábrázolására az egyik legelterjedtebb eljárás az ASCII kódolás (American Standard Code for Information Interchange). A kódrendszert 1977-ben az amerikai szabványügyi hivatal is elfogadta, majd a nemzetközi szabványügyi hivatal ISO 646 néven regisztrálta. A karaktereket 7 biten ábrázolja, ami az angol ABC számára bőven elegendő, hiszen az angolban mindössze 26 betű van. A számítógépeken szokásos oktet nyolcadik bitje paritásként használható, A karaktereket két fő csoportba lehet sorolni: grafikus karakterek (nyomtatható karakterek) vezérlő karakterek A vezérlő karakterek
információcsere vezérlők
(Start of Text, Start of Heading, End of Text, End of Tansmisssion, stb).
Formátum –vezérlő karakterek
A szöveg megjelenését befolyásolják. Soremelés (Line Feed), kocsi vissza (Carrige Return), stb.
Információ elkülönítő karakterek a logikai egységek szétválasztására használhatók. Ilyenek a „File Separator”,” Record Separator”, stb.
A vezérlők egy része nem sorolható egyik csoportba sem, mint a csengő (Bell). Az asztali számítógépek elterjedésével szükségessé vált a nemzeti karakterkészletek megvalósítása. Az IBM vezette be a 256 karaktert tartalmazó „Latin 1” néven ismert
Pandur B: Számítógép hálózatok. 2008
71
kódrendszert. Ez tartalmazza a spanyol, francia és a német nyelv speciális karaktereit. További nyelvek bevezetése ezen a kódlapon nem lehetséges, ezért különböző nemzeti kódlapokat dolgoztak ki. A 0 – 127 értékű karakterek megfelelnek az ASCII kódolásnak, a fennmaradó részt a nemzeti karakterek és grafikus jelek töltik ki. A magyar a 852-e kódlap. A nemzeti kódlapok használata azonban azzal jár, hogy a szövegek írásához, olvasásához mindig a megfelelő kódlapnak kell betöltve lenni. Vegyes nyelvű szövegek esetén ez nehézségekhez vezet. A vezérlőkarakterek alkalmazása is hordoz problémákat, hiszen megváltoztatja a mögöttes karakterek jelentését. A vezérlőkarakter elvesztése a mögöttes szövegben sorozatos hibát okoz. 1987-ben a Xerox kidolgozta az UNICODE elnevezésű rendszerét. Itt minden karaktert 16 biten ábrázolunk. Az Unicode alapelvei:
Teljesség. Minden ismert nyel karakterkészletét tartalmazza. Szerepelnek benne a „holt-nyelvek” (pl. szanszkrít) karakterei is.
Egyértelműség. Minden kód egyedi. Az értelmezés nem függ semmilyen előzetes jeltől, karaktertől, táblázattól. Egy jel hibás olvasása nem terjed tovább a mögöttes karakterekre.
Pontosság. Minden karakter nyelvi szakértők által elfogadott és ismert írásjel.
Hatékonyság. A vezérlőkarakterek hiány egyszerűsíti a feldolgozást.
A kódrendszer lehetséges helyeinek felosztása:
8192
alfabetikus karakterhely (nincs kitöltve)
4096
írásjel hely (nincs kitöltve)
13 000
kínai írásjel, a „Han” készlet
5362
felhasználó által definiálható jel
495
konvertálást elősegítő jel.
A nagyobb helyfoglalásért kárpótol a vegyes szövegek kényelmes kezelése és egyértelműsége. Várható, hogy a vegyes nyelvű alkalmazások miatt terjedni fog.
3.1.2. Tetszőleges bitsorozat átvitele Tetszőleges bitsorozat átvitelére alkalmas eljárások az un. bitbeszúrásos módszerek. Pandur B: Számítógép hálózatok. 2008
72
A legtöbb bitorientált eljárás ezt a módszert használja. A lényege az, hogy az adatmezőben nem lehet meghatározott számúnál több azonos bit, mert ha így lenne, beszúrunk egy eltérőt. A kerethatárokat vagy egy máshol elő nem forduló bitsorozat, vagy a kódolás fizikai megsértése jelzi. Pl.: egy Manchester kódolású rendszerben nem fordulhat elő, hogy a szint több mint 1 bitnyi ideig nem változik. Ha 1.5 bit ideig tartjuk a szintet, akkor ez alkalmas a kerethatár jelölésére. E szokásos kerethatároló sorozat 01111110 oktet. A megengedett azonos bitek száma legyen 5. (A kerethatárolóban 6 db 1 van, tehát biztosan megkülönböztethető az adatoktól). Legyen a példaként átküldendő bitsorozat: 11111110111 Látható, hogy az ötödik 1 után be kell szúrnunk egy 0-t, amit a vételi oldalon eltávolítunk a mintából. A hálózatra küldött sorozat: 01111110 111110110111 01111110 Az átvitelünk így már működne, de nem ismernénk fel az esetleges adatátviteli hibákat, így ki kell egészítenünk hibajelző és javító eljárásokkal. 3.2.
Hibajelzés és javítás
A folyamatos bitfolyamot részekre bontottuk. A bitfolyamból képzett "darabok" a keretek. A keret tartalmazhat redundáns információt, ami alkalmassá teszi a hibák felismerésére és javítására. A kerethatárokat nem tudjuk szünetekkel jelölni, mert a hálózatok többsége a szünetek átvitelére semmiféle garanciát nem nyújt. A kerethatárokat speciális bitsorozatokkal, vagy a fizikai kódolási eljárás szabályainak megsértésével (pl.: 1.5 hosszúságú bit) szokták jelölni. Egy általános keret tartalma:
határoló bitsorozatot
célcím
forráscím
keretinformáció
adat
ellenőrző összeg
határoló bitsorozat
Pandur B: Számítógép hálózatok. 2008
73
3.2.1. Hiba javítás fogalmai: Hibajavító kódok (ECC- Error Correcting Codes) Az adatblokkok elegendő redundanciát tartalmaznak ahhoz, hogy a vevő megállapíthassa, mi volt az átvitt karakter. Hibajelző kódok (EDC- Error Detecting Codes) Csak annyi redundanciát tartalmaz, hogy a vevő a hiba tényét felfedezhesse, de javítani nem tudja. Kódszó Az adat és ellenőrző biteket tartalmazó egységet kódszónak nevezzük. N=m+r (ahol n a kódszó, m az adat, r az ellenőrző bitek) Hamming távolság Az n és az m kódszó KIZÁRÓ VAGY kapcsolata megadja azoknak a bitpozícióknak a számát, amelyben a két kódszó különbözik. Ezt nevezzük a kódszavak Hamming távolságának. Az adatok átvitele 2m lehetséges adatüzenetet jelent ( A legális üzenetek száma ennél kisebb lehet!!). .Az ellenőrző bitekkel a 2n lehetséges kódszót kapunk . A lehetséges kódszavakat kiszámolva és megkeresve a két legkisebb Hamming távolságú kódszót, megkapjuk a teljes kód Hamming távolságát! 3.2.2. Hibajavítás Ahhoz, hogy d számú hibát javítani tudjunk 2d+1 Hamming távolságú kód kell. Teljesülni kell továbbá a 2r (m+r+1) egyenlőtlenségnek. Ha egy 7 bites ASC II kódban 1 bitet akarunk javítani, akkor m+r+1 = 7+ 1+ 1= 9 A legkisebb 2 hatvány , ami nagyobb 24 , vagyis 4 ellenőrző bit szükséges. A Hamming kód csak 1 bites hibák javítására alkalmas önmagában . Csoporthibák javítására is alkalmassá tehető a módszer, ha a kódszavakat mátrixba rendezzük. Hibajelzés
Pandur B: Számítógép hálózatok. 2008
74
Ahhoz, hogy d számú hibát jelezzünk d+1 Hamming távolságú kód szükséges! A hibajelzés valószínűsége javítható, ha a blokkot n k elemű mátrixnak tekintünk, ahol n a - paritásbittel kiegészített - kódszó hossza és k blokkban lévő kódszavak száma. A paritásbitet oszloponként is kiszámítjuk és a mátrix utolsó soraként azt is elküldjük. A vevő a blokkot mindkét paritás szerint ellenőrzi. A módszer n bites csoporthiba észlelésére alkalmas. CRC (Cyclic Redundancy Check) Egy keretnyi adatot egy előre meghatározott bitsorozattal elosztunk és a maradékot a keret részeként továbbítjuk! (Polinomok és az algebrai terek elmélete alapján működik. Az osztó bitsorozatot generátor polinomak hívjuk.) Szabványos CRC-k:
CRC-12 (akkor alkalmazzák, ha a karakter hossza 6 bit)
CRC-16 (akkor alkalmazzák, ha a karakter hossza 8 bit)
CRC-CCITT (16 bites)
A 16 bites CRC szabványok, minden 16 bites vagy kevesebb bitnyi csoporthibát jeleznek, a 17 bites csoporthibát 99,997 %-ban jelzik, a 18 vagy több biteseket 99,998 %-át jelzik!
3.3. Elemi adatkapcsolati protokollok
Korlátozás nélküli - szimplex - protokoll
Az adó folyamatosan nem adhat nincsen információ a vételről, nincs nyugtázás és keretsorszámozás. Nem vesszük észre a keretvesztést, vagy elárasztást. A mindenkinek szóló üzenetek tipikusan ebbe a kategóriába tartoznak. Nem várhatunk a nyugtázásra, hiszen azt sem tudjuk, hogy ki fogja venni.
Megáll és vár - szimplex - protokoll A kommunikációs csatornát továbbra is hibamentesnek tételezzük fel, de szeretnénk elkerülni a vevő elárasztását. Nyugtakeretek küldésével
Pandur B: Számítógép hálózatok. 2008
75
megoldható az elárasztás megakadályozása. A nyugtakeret semmilyen más információt nem hordoz, csak engedélyt ad a következő keret küldésére. Az információáramlás szempontjából tehát szimplex átvitelről van szó, azonban a nyugtakeretek továbbítása miatt a fizikai szinten fél-duplex (half-duplex) átvitel valósul meg.
- Összetett - szimplex protokoll A megáll és vár protokollt kiegészítjük a keretek sorszámozásával. A sorszámozás lehetővé teszi, hogy a meg nem érkezett kereteket újraadjuk, illetve a nyugtakeret elvesztéséből adódó többszörös megérkezés esetén eldobjuk a felesleges kereteket. Az információ áramlás egyirányú, a nyugtázás miatt a fizikai összeköttetés fél-duplex, vagy duplex.
Adó start
Vevő start
Nyugtabit =0 Keretet állít össze sorszámoz
jött keret?
nem
igen
igen
Nyugtabit=0?
Jött nyugta?
nem
igen
van ilyen sorszámú keret?
van
nincs
eldob
nem nem
Időzítés lejárt?
hálózati rétegnek átad
igen Nyugtabit =1 Keretet újraad
nyugtát generál
3.1. ábra. Összetett szimplex protokoll
Csúszóablakos - duplex -protokollok Minden csúszóablakos protokoll kétirányú, duplex csatornát tételez fel. Minden keret tartalmaz egy 0 és a maximális érték közötti sorszámot. Az adó karbantart egy adási ablakot (sending windows), és azok a keretek küldhetők,
Pandur B: Számítógép hálózatok. 2008
76
amelyek ebbe az adási ablakba esnek . A vevő is fenntart egy vételi ablakot (receiving windows), és azok a keretek vehetők, melyek a vételi ablakba esnek. A két ablak méretének nem kell megegyezni, és a határok egyezése sem követelmény. A különböző protokollok a hibajavítás módjában és a szükséges pufferterületek méretében különböznek.
Pandur B: Számítógép hálózatok. 2008
77
n visszalépést alkalmazó protokoll - go back n Időzítési intervallum ,"ablak"
0
1
0
2
3
0
1
1
E
4
D
5
D
6
D
7
D
8
D
2
D
3
2
4
5
6
7
8
9
10
2
3
4 nyugta sorszáma
3
4
5
6
Eldobott keretek
3.2. ábra. Visszalépés „n”-el protokoll Az adó és a vevő között jelentős késleltetés van. Az ablak mértét nagyobbra kell választani, mint a jelek teljes futási ideje. A vevő mindig az utolsó helyesen vett keret sorszámát küldi vissza nyugtaként. Az adó addig folytatja az adást, míg az ablakon belül van elküldhető kerete. Kezdetben az ablak a „0” sorszámú kereten állt, és nem mozdult, míg a 0. keret nyugtája vissza nem érkezett. Ekkor 1 pozícióval előre lépett. Az 1. nyugta vételekor még egyet lépett. Mivel nem kapott újabb nyugtát, ebben a pozícióban maradt, és folytatta az adást az ablak végéig. Az ablak végére érve sem érkezett 1-nél nagyobb sorszámú nyugta, visszalép egy ablaknyit (n), és újból kezdi a 2-es keret adását, folytatva az ablak végéig. Mivel a 4-es keret adása közben megérkezik a 2. nyugtája, előre csúsztatja az ablakot a 2-es keret mögé. A 3-as nyugtánál hasonló módon, és így folyamatosan tud adni a következő hibáig. (Az ábrán az ablak mérete túlzott, elegendő lett volna a 7 helyett 4 keretnyi időtartamot beállítani.) Ennél a módszernél vevő az csak addig a keretig nyugtáz, ameddig minden keret hibátlan volt. A közben helyesen vett kereteket is eldobja. Más szóval a vételi ablak 1 keretnyi. Csak az utolsó helyesen vett keret utáni sorszámút fogadja el. Az adó azokat a kereteket is újra küldi, amelyek esetleg hibamentesen megérkeztek a vevőhöz, vagyis a módszer sávszélesség vesztesége nagy. Az alkalmazása akkor célszerű, ha kicsi a hiba valószínűség az adatátviteli vonalon. Előnye, hogy vevő oldalon nem igényel számottevő puffert, mert nem tárolja a hiba után vett kereteket.
Pandur B: Számítógép hálózatok. 2008
78
Szelektív ismétlést alkalmazó duplex - protokoll (selektive repeat) Az n visszalépést alkalmazó protokoll finomítása úgy, hogy csak a hibás vagy meg nem érkezett keretek újra adása történik meg. Időzítési intervallum ,"ablak"
0
1
0
2
3
0
1
1
E
4
3
5
6
7
8
2
9
10 11 12 13 14 15 16
1
1
1
1
1
1
8
9
4
5
6
7
8
2
9
10 11 12 13
10 nyugta sorszáma
3.3. ábra. Szelektív ismétléses protokoll A vevő minden helyesen megérkezett keretet nyugtáz. A nyugta az utolsó helyes sorrendben megérkezett keret sorszáma. Az adási ablak végéig az adóoldalon működés hasonló mint a visszalépés n-el protokollnál. A vevő azonban puffereli a helyesen vett kereteket. Az ismétlés megkezdésekor a vevő megkapja a hiányzó 2-es keretet, és a pufferében hibátlan lesz a sor a 8-as keretig, így ennek a nyugtáját küldi vissza. Az adó folytathatja a 9-es kerettel, mert valószínű, hogy az első 8 hibátlan, és sorrendhelyesen megérkezett. Ha még egy fordul elő az első 8 keretben, akkor az azt megelőző keret sorszámát küldi vissza a vevő, és az ablak határának elérésekor ennek a keretnek az újraadása következik be. A folyamat hasonló az előzőhöz. A csatorna kihasználtságunk javult azon az áron , hogy nagyméretű vételi puffert tartanunk fenn a jó keretek számára. A protokoll valójában további finomítást igényel, mert ebben a formában még tud hibázni. (Keressen egy hibázási lehetőséget, és javasoljon megoldást!) Csúszóablakos protokollokat jellemzően hosszú átviteli idő, nagy sávszélesség ill. rövid keretek esetén érdemes alkalmazni. ( Pl. műholdas átvitelnél, vagy Trans Atlanti vagy Trans- Pacific átviteli vonalak esetén, ahol a távolság miatt jelentős a késleltetés. A duplex átvitel miatt valószínűleg van az ellenkező irányban is forgalom. A nyugtakeretek ráültethetők az adatkeretekre, a fejrész ACK mezőjét kihasználva. Az esetek jelentős hányadában a forgalom irányonként kiegyenlített, így nem kell „üres”, csak nyugtát tartalmazó keretet küldenünk. Ezt a technikát nevezik ráültetésnek (piggybacking). Pandur B: Számítógép hálózatok. 2008
79
3.4 Közeg hozzáférési módszerek Ha több állomás szeretné ugyanazt a közeget birtokolni, módszereket (protokollokat) kell találnunk az állomások hozzáférésének vezérlésére. A csatornát feloszthatjuk:
statikusan
dinamikusan
A dinamikus csatornakiosztás vezérlése lehet
véletlen hozzáférés
elosztott vezérlésű
központosított vezérlésű.
A véletlen hozzáférés azt jelenti, hogy bármely állomás adásba kezdhet, a használt protokoll szabályainak megfelelően. Minden állomás maga dönti el, hogy mikor kezd adásba (pl.: ütközéses protokollok, regiszter beszúrásos gyűrű, réselt gyűrű). Az elosztott vezérlésű rendszerekben mindig egyetlen állomásnak van adási joga, és ez jog jár körbe valamilyen szabály alapján (pl.: vezérjeles gyűrű, vezérjeles sín). Központosított vezérlések tipikuspéldái a lekérdező rendszerek, ahol egy központi egység ciklikusan adásra szólítja fel az állomásokat. Mérésadatgyűjtő rendszerekben rendkívül hatékony megoldás , mert a központi egység a feldolgozás igényeinek megfelelően kéri az adatokat. Rendszerint megoldott az is , hogy azok az állomások kapjanak csak adási jogot, melyeknek van továbbítandó adatuk. Ide sorolhatók a vonalkapcsolásos rendszerek is , ahol a központ hozza létre az adat utat (telefonközpont).
Pandur B: Számítógép hálózatok. 2008
80
3.4.1. Statikus csatornakiosztás A statikus csatornakiosztás azt jelenti, hogy a csatornát több alcsatornára osztjuk fel (célszerűen az egyidejű felhasználók számától függően). Az alcsatornákat fixen hozzárendeljük egy összeköttetéshez, és nem vesszük figyelembe sem az alcsatorna pillanatnyi állapotát, sem az adatátviteli igényt. Ha egy összeköttetés nem akar semmit továbbítani akkor a hozzárendelt alcsatorna kihasználatlan marad. Dinamikus kiosztásnál figyelembe vehetjük a pillanatnyi terhelési állapotokat, és a rendelkezésre álló szabad útvonalakat is. A statikus csatornakiosztás klasszikus módszere az FDM (Frequency Division Multiplexing), a frekvenciaosztás. Például a rádiók osztoznak a rendelkezésre álló sávon. Minden állomás eltérő, és előre rögzített frekvencián ad, ami lehetővé teszi az állomások szétválasztását a bemeneten. FDM módszerek közé tartozik a különböző színű (frekvenciájú) fény használata egy üvegszálas kapcsolaton . Egy fizikai szálon így több összeköttetés hozható létre. frekvencia sáv
idő
3.4. ábra. Frekvencia osztásos sávfelosztás Megtehetjük azt is , hogy meghatározott időszelet tartamára (Time Domain) engedjük egy-egy állomásnak használni a csatornát. Ha viszonylag (az alkalmazás igényéhez képest) gyorsan visszakapja az állomás az adási jogot, akkor az alkalmazás számára ez a folyamatos hozzáférés látszatát kelti. Az időszeletek hosszának változtatásával befolyásolni tudjuk az egy állomásra jutó adatátviteli kapacitást. Ahol kevés felhasználó osztozik viszonylag stabil forgalmi igénnyel egy csatornán, ott a hozzáférés statikus vezérlése hatékony lehet.
Frekvencia sáv
T1
T2
T3
T4
T1
T2
T3
T4
T1
T2 idő
3.5. ábra. Pandur B: Számítógép hálózatok. 2008
Időosztásos csatornafelosztás. 81
Nyilvánvaló, hogy az éppen nem használt alcsatorna kapacitása itt elveszik. Ha ezt a kapacitást egyébként sem tudnánk hasznosítani, akkor nem jelent hátrányt. Pl. egy telefonbeszélgetést, egy élő TV adást nem tudnánk fele idő alatt lejátszani akkor sem, ha még egy szabad alcsatornát felajánlanánk az átvitelre. Tárolt adatok átvitelénél alapvetően más a helyzet. A csatornákat lökésszerűen terheljük, majd hosszú ideig nem történik semmi. Az ember - gép kommunikációban a csatornakihasználtság tipikusan néhány %. Ez a tény, és az, hogy egymástól földrajzilag is távol lévő felhasználók koordinálatlanul próbálják használni ugyanazt a csatornát, új módszerek kidolgozását igényelte.
3.4.2. Dinamikus csatornakiosztás LAN és WAN hálózatokban A dinamikus csatornakiosztás célja az igényekhez való rugalmas alkalmazkodás, a csatorna lehető legjobb kihasználása változó körülmények között. A hozzáférési módszerek tárgyalásának megkezdése előtt néhány peremfeltételt kell rögzítenünk. A vázolt peremfeltételek a valós rendszereken általában közelítően teljesülnek, de nem mindig. A valós viszonyok ilyen esetben durván eltérhetnek a modell adataitól. A valós helyzetek vizsgálatánál ügyelni kell a tényleges peremfeltételekre. A továbbiakban feltételezzük:
„N” független állomás van (számítógép, terminál), és ezek azonos valószínűséggel generálnak kereteket. Annak valószínűsége, hogy t idő alatt keret keletkezzen: *t
Az állomás addig nem állít elő új keretet, még a meglévőt el nem küldte.
Egyetlen kommunikációs csatornát vehetünk igénybe. (Ez pl. sem az ISDN, sem a GSM rendszerben nem teljesül).
Az állomások képesek az ütközések érzékelésére Feltételezzük, hogy előfordulnak olyan keretek, melyek egy időben jelennek meg egy vevő bemenetén, és ezeket nem tudjuk szétválasztani. Ütközés (collision) keletkezik. Az ütközött keretet meg kell ismételni. (Van olyan technológia is, ahol az, hogy két -vagy több- jel egyidejű beérkezése
Pandur B: Számítógép hálózatok. 2008
82
alapsávú átvitelnél sem akadályozza meg a vételt. Az egymásra szuperponált jelekből egy meghatározott bit-minta alapján „kiválogatható” egy állomás adása).
Az állomások , ha „haIlják” az adást , képesek a csatornafoglaltság figyelésére.
Az időkezelés jellegétől függően lehet Folyamatos idő. A keretek küldése bármely pillanatban elkezdhető, nincs időszinkronizálás. "Részekre" osztott idő. Diszkrét intervallumok kezdetén lehet csak adást kezdeményezni. Ezek után az időrés tartalmazhat 0
keretet - üres (tétlen a csatorna)
1
keretet - sikeres adatátvitel
több keretet - ütközéses állapot keletkezik. Csatornafigyelés Attól függően, hogy a rendszer figyeli , vagy nem figyeli a csatorna foglaltságát kétféle állapot lehetséges: van csatornafigyelés, vagy nincs csatornafigyelés. A gyakorlatban a csatorna figyelése hasznos, ezért ott alkalmaznak csatorna figyelés nélküli módszereket, ahol a csatorna figyelése eredménytelen. Egy műholdas rendszer két földi állomása hiába figyeli egymás adási sávját, soha nem fog hallani semmit, hiszen ha hallanák egymást, akkor a műhold felesleges lenne. A lehetséges változatok:
Van csatorna figyelés:
Az állomás képes megállapítani, hogy a csatornát használja-e valaki. Ha igen, nem kezd adásba, ha üres , elkezdi az adást. Annak ellenére hogy "üresnek" érzékelt csatornában kezdünk adni, előfordulhat, hogy ütközés keletkezik. A távoli állomás jelét ugyanis távolságtól függő késleltetéssel vesszük, és nem érzékeljük a már megkezdett adást. Még 0 késleltetés feltételezésével is előfordulhat ütközés. A tétlen csatornát érzékelve egyszerre több állomás is elkezdheti az adást.
Pandur B: Számítógép hálózatok. 2008
83
Nincs csatornafigyelés.
Az állomások nem figyelik a csatornát, mert az adást kezdeményező állomások "nem hallják" egymást. Tipikusan ilyenek a hegyekben telepített rádió átjátszó állomások, műholdas rendszerek. (Ha hallanák egymást, nem kellene műhold!) A lokális hálózatok általában figyelik a csatorna foglaltságát (és ez korlátozza is a méretüket). A nagy távolságokat áthidaló rendszerek a jelentős késleltetés miatt nem tudnak hatékony csatornafoglaltság figyelést megvalósítani, itt más módon próbáljuk a rendszereket optimalizálni.
3.5. Közeghozzáférési protokollok. 3.5.1 ALOHA protokoll 1970-es évek elején a Hawai egyetemen dolgoztak ki (Norman Abramson) egy megoldást koordinálatlan felhasználók csatorna hozzáférési jogainak elosztására. A "versengés" a központi szigeten telepített rádióátjátszó csatornájának használatáért történik. A külső szigeten lévő állomások egymást nem hallják, mert leárnyékolja őket a központi sziget. Az alapgondolat egyszerű: mindenki akkor ad, mikor akar, és sikertelen kereteket megismételjük. A sikertelen keretek azonnali újraadása újabb ütközéshez vezetne, ezért késleltetjük az adást. Összefoglalva: -
N állomásnak van adásra kész kerete
-
mindenki akkor ad, mikor kész egy kerete
-
a keret eredményes vételét az ellenállomás nyugtázza
-
a nyugtázatlan keretet véletlenszerű (Poisson-elosztást követő) késleltetéssel adjuk újra
-
a csomagok szabványos hosszúságúak
-
az állomások száma korlátlan. (A blokkolt állomások nem csökkentik a keretküldés valószínűségét, N nem csökken.)
Pandur B: Számítógép hálózatok. 2008
84
Az ütközésveszélyes periódus ütközés A állomás B állomás t t0
t0 + t t0+ 2t ütközés veszélyes szakasz
t0+ 3t idő
3.6. ábra. Tiszata ALOHA Tételezzük fel, hogy egy keret időtartama fix, t hosszú. Rajzoljuk fel a legkedvezőtlenebb esetet, mikor B közel t idő múlva küldi az első keretet. Láthatjuk, hogy valamennyi t0+2t időn belül indított keret ütközni fog. 1972-ben Roberts publikált egy módszert, amivel az ALOHA maximális kapacitása megkétszerezhető. A javaslat lényege: az időt osszuk diszkrét intervallumokra , és ez az intervallum nagyobb mint a keretidő. Keret adását csak az intervallum kezdetén lehet elkezdeni. Egy kijelölt állomás (akit mindenki hall) küld egy szinkronjelet, ami meghatározza a lehetséges keretkezdési időpontokat. Ütközés esetén mindig csak közel egy keretidőnyi időt veszítünk, a korábbi 2 helyett. Az állomások az ütközést azzal detektálják, hogy nem kaptak az üzenetükre nyugtakeretet. Az állomás a következő időszeletben véletlenszerűen kezd adásba (véletlenszerű ideig várakozik), ez csökkenti az ütközés valószínűségét. Előfordulhat a véletlenszerű várakozás miatt az is, hogy egyetlen állomás sem kezdeményez adást. A módszert diszkrét ALOHA-nak, vagy réselt ALOHA-nak is nevezik. Ha véges számú állomást tételezünk fel, akkor a kihasználtság növekedhet. Tisztán intuitív módon belátható, hogy 1 állomás esetén a csatornakihasználtság 100 % is lehet. A csatornakihasználtságon a sikeres átvitelekből számítható csatornakapacitás és a lehetséges maximális áteresztőképesség arányát értjük. Gyakorlatilag az áteresztőképesség/keretidő hányadost ábrázoljuk a próbálkozások száma/keretidő függvényében . A réselt ALOHA-val elérhető maximális csatornakihasználtság 1/e. Pandur B: Számítógép hálózatok. 2008
85
Ekkor az időrések 37%-a sikeres, 37% üres, 26% ütközéses. Ha növeljük a csatorna terhelését, akkor az üres keretek száma csökken, de exponenciálisan nő az ütközések száma, és a sikeres átvitelek száma csökken. A 37% valójában meglepően jó egy olyan rendszerben, ahol az állomások tevékenysége nincs koordinálva. Ha figyelembe tudjuk venni a környező állomások tevékenységét, a hatásfok feltehetően jobb lesz az 1/e (0,367-36,7 %) értéknél. A valós rendszerekben jelentősen lehet javítani a relé állomás (műhold) - ról a célállomás felé haladó csatorna kihasználtságát. A "lefelé" irányuló csatornába kerülő keretek a reléállomáson rendezhetők. Ha a "felfelé" irányuló csatorna kihasználtsága 36 %, akkor a "lefelé" irány el tudná látni 2 vételi csatorna továbbítását is. A műholdas rendszerek ezt a lehetőséget általában ki is használják. Természetesen gondolnunk kell arra az esetre is, hogy alacsony állomásszám esetén a felfelé irányuló csatorna ennél nagyobb kihasználtságot is létrehozhat. A "lefelé" irányuló csatorna megfelelő kihasználásához a műholdon tárolókapacitást kell létrehozni. Tároló nélkül, amikor mindkét csatorna eredményesen vett keretet, az egyiket el kellene dobnunk. (A korai műholdak energiaellátási problémák miatt nem tartalmaztak memóriát). 3.5.2 Vivőjel érzékeléses, többszörös hozzáférésű protokollok A lokális hálózatokban az állomások érzékelhetik más állomások tevékenységét, és ennek az információnak a kihasználása jelentősen javíthat a protokoll hatékonyságán. Azokat a protokollokat, amelyek figyelik a csatornán folyó tevékenységet, és ennek megfelelően szabályozzák a saját adásukat, csatornafigyelő vivőjel érzékelős protokolloknak ( Carrier Sense protocols) nevezik. Egy állomás csak akkor kezdeményezhet adást, ha a csatornát szabadnak találta. Attól függően, hogy az állomás mindig figyeli a csatornát, vagy nem- perzisztens vagy nemperzisztens protokollokról beszélünk. A perzisztens protokollok figyelik a csatornát és szabad csatorna esetén adásba kezdenek. A protokollok vizsgálata azt mutatta, hogy a csatorna teljesítménye nőhet, ha az állomások nem mohók, és nem mindig kezdenek adásba üres csatorna esetén sem.
Pandur B: Számítógép hálózatok. 2008
86
Belátható, hogy nagy állomásszám esetén mindig lesz adásra kész keret, és a próbálkozások nagy száma sok ütközést fog létrehozni. Végső fokon a sikeresen átvitt keretek száma csökken. A próbálkozások száma csökkenthető , ha az állomás szabad csatorna esetén is „meggondolhatja magát” , és p valószínűséggel (p<1) kezd csak adásba, 1-p valószínűséggel visszalép (p perzisztens protokollok) . 1-perzisztens protokoll esetén p=1, üres csatorna esetén biztosan adásba kezd. Nemperzisztens protokollok (nonpersistent CSMA ) arra törekszenek, hogy állomások „mohóságát” csökkentsék. Ha üres a csatorna, az állomás adásba kezd. Foglalt csatorna esetén véletlenszerű ideig várakozik és utána kezdi csak újból a csatornafigyelést. A hálózatokon fellépő késleltetések miatt az üresnek érzékelt csatorna nem biztos, hogy valóban üres, mert egy távoli állomás már elkezdhette az adást, csak még nem ért el hozzánk. De még nulla késleltetés esetén is előfordulhat, hogy két állomás egyszerre kezd adásba, és a keretek ütköznek. Az ütközést érzékelni kell , és valamilyen módon kezelni. Az ütközés ellenőrzés analóg folyamat. A csatorna feszültségszintjét és impulzushosszakat figyelve az ütközés ténye néhány bit-idő alatt megállapítható. A protokollnak támogatni kell ezt a folyamatot, hiszen két 0 V-os jel ütközése nem észrevehető. ( Van olyan protokoll ami ezt kihasználja az állomások prioritásának megállapítására! Az egyszerre kiadott címből a legtöbb nem 0 V-ot tartalmazó cím érvényesül.) Az ütközés mechanizmusát kövessük a 3.7. ábrán.
" A " állomás üres csatornán adásba kezd
" B " állomás 0 + T időn belül nem érzékelheti " A " adását a terjedési idő miatt, és adásba kezd.
" B " állomás 0 + T időpillanatban érzékeli az ütközést.
"A" állomás azonban csak akkor veheti észre az ütközést, ha a keretek elég hosszúak a terjedési időhöz képest. Ha a keret rövidebb mint 2T, akkor az ábrán látható módon "A" bemenetén nem jön létre ütközés. Mikor "B" adása elérkezik "A"-hoz, az már befejezte a saját adását. Pandur B: Számítógép hálózatok. 2008
87
"A" tehát nem értesül az ütközésről, nem fogja megismételni a keretet. A rendszer nem működik. Gondoskodnunk kell róla, hogy a keret hossza nagyobb legyen mint 2T. Ekkor a működés a 3.7.b ábrának felel meg. A kábelhálózatokon átlagosan 200m/sec sebességgel számolhatunk. A fény terjedési sebessége az üvegkábelekben hasonló nagyságú. terjedési sebesség = vákuumban mért sebesség/ abszolút törésmutató Ha az üveg törésmutatóját 1,5-nek vesszük (átlagos optikai üveg), akkor szintén 200m/sec sebességet kapunk . Ezekkel az értékekkel meg tudjuk határozni, hogy a biztos ütközésérzékeléshez mekkora lehet a maximális kábelhossz egy ütközési szegmensben. Vegyük észre, hogy a működés a keret mérete és a hálózat fizikai kiterjedése között hoz létre szigorú összefüggést. Egy adott minimális keret méret esetén a hálózat fizikai kiterjedése korlátozott. Ha növeljük a minimális kerethosszt, az a rövid
Pandur B: Számítógép hálózatok. 2008
88
B
A
"A" kimenet "A" bemenet
T "B" kimenet "B" bemenet
ütközés
t0
2T
T T= a jel terjedési ideje A-B között A keret hossza kevesebb mint 2T
"A" kimenet "A" bemenet ütközés
T "B" kimenet "B" bemenet ütközés
t0
T
2T
T= a jel terjedési ideje A-B között A keretek hossza nagyobb mint 2T
3.7. ábra. Ütközés a hálózaton. üzenetek esetén rontja a hatásfokot ( Pl. egy terminál egyetlen karaktert akar küldeni, és ehhez elküld egy 512 byte hosszú keretet.). CSMA ütközés érzékeléssel A csatornafoglaltság figyelését kiegészíthetjük az ütközések érzékelésével és kezelésével. Tisztán megfontolások alapján is beláthatjuk, hogy egy ütközés érzékelése esetén a keret további részének adása felesleges, mert a keret sérült. A le nem adott rész időt takarít meg. Az ütközés kezelése mechanizmusából adódóan Pandur B: Számítógép hálózatok. 2008
89
azonban egy definiált minimális hosszal kell rendelkezni a keretnek az ütközés biztos detektálásához. A minimális kerethossznyi ideig tehát mindenképpen folytatja az állomás az adást. Ezeket a protokollokat CSMS/CD-nek ( Carrier Sense Multiple Access with Collision Detection –ütközés érzékeléses CSMA ) nevezik. Egy keret sikeres adása után az állomás nem folytatja az adást, nem "szerezte meg" a csatornát, hanem a normál algoritmus szerint, a többi állomással azonos módon versenyez a csatornáért. Ha több állomás adáskész, akkor a szabad csatorna érzékelése után többen fognak egyszerre adni, és ütközés következik be. Az ütközés érzékelése után mindenki a legrövidebb keretnek megfelelő ideig ad ( a keretek elvesznek), majd véletlenszerű ideig várakoznak, és ha szabad a csatorna, újból próbálkoznak. A véletlenszerű várakozási idő biztosítja, hogy a következő periódusban ne próbálkozzon minden állomás újra, hiszen akkor biztosan ütköznének. A jó hatásfok érdekében arról is gondoskodnunk kell, hogy a szabad csatornát nagy valószínűséggel igénybe vegye valamelyik állomás, és véletlenszerű várakozási idő ne eredményezzem tétlen periódust. Több egymást követő adási kísérlet is eredményezhet ütközést. Így versengési és kerettovábbítási intervallumok követik egymást a csatornán.
keret átvitel
keret versengés
átvitel
keret versengés
átvitel
keret tétlen
átvitel idő
3.8.ábra. CSMA/CD protokoll állapotai. A 3.8. ábrán látható módon versengéses, kerettovábbítási és tétlen periódusok is előfordulhatnak. A véletlenszerű hozzáféréssel működő protokollok hatásfokát összefoglalóan láthatjuk a 3.9. ábrán.
Pandur B: Számítógép hálózatok. 2008
90
A hatásfok nagy terhelésnél sem nulla, csak rendkívül kicsi!! 3.9. ábra. Véletlenszerű hozzáféréssel működő protokollok hatásfoka. 3.5.3. Ütközésmentes protokollok. A CSMA/CD protokollnál ha egy állomás már túljutott a legrövidebb keretnek megfelelő időtartamon, és nem következett be ütközés, akkor a keret végig folytathatja az adást. Tehát a protokoll akkor hatékony, ha a versengési idő kicsi és a keretek hosszúak, hogy a megszerzett csatornán az adásidő hosszú legyen a versengési periódushoz képest. A versengési idő akkor lehet kicsi, ha a minimális keretméretet kicsire választjuk. A rövid keret a hálózat méretét korlátozza. (Az ütközés érzékeléséhez a hálózat legtávolabbi pontjának eléréséhez szükséges idő rövidebb kell , hogy legyen a keretidő felénél.) A nagyméretű üvegszálas hálózatokon ez a protokoll nem hatékony, hiszen a késleltetési idő nagy, túlságosan hosszúra kellene választani a legrövidebb keret méretét. Túl hosszú keret azért nem lesz hatékony, mert akár egyetlen karakter elküldéséhez is egy teljes keretet fogunk a hálózatra tenni. A megoldást az ütközésmentes és a korlátozott versengés protokollok jelentik. A modellben feltételezzük, hogy véges számú N állomás létezik, és mindegyik rendelkezik 0-tól N-1-ig terjedő címmel. Az egyik alapvető eljárás bit - térkép, a basic bit-map protocol. A versengési periódus pontosan N időrésből áll. Ha az 1. állomás adni szeretne, az 1.-ik időrésbe elhelyez egy " 1 " értékű bitet. Minden állomás akkor helyezhet bitet a csatornába, mikor a Pandur B: Számítógép hálózatok. 2008
91
neki megfelelő számú időrés következik. A többi időrés alatt csendben van. Ez után minden állomás ismeri az adni kívánó állomások azonosítóját, és az adási sorrendet. Az állomások a versengési periódusban bejelentett foglalásuk sorrendjében adnak. Az utolsó keret vége könnyen érzékelhető, és ettől kezdődően újra indul a csatornafoglalás. Azokat a protokollokat, melyek a tényleges forgalmazás kezdete előtt adatszórással ( broodcast ) jelzik az igényüket, foglalásos protokollnak ( reservation protocol ) nevezik. A protokoll hibája, hogy az alacsonyabb sorszámú állomások nagyobb valószínűséggel tudnak adni, mint a magasabb sorszámúak. A viszonyok logikailag egyszerűen követhetők. Egy alacsony sorszámú állomás az adás után valószínűleg kész lesz a következő keretével amíg a magasabb sorszámú állomások adnak, így a következő foglalási periódusban be fogja jelenteni foglalási igényét. A magasabb sorszámú adó valószínűleg nem lesz kész a következő kerettel az adattovábbítás után a versengési periódus megkezdéséig, így a következő foglalási periódusból kimarad, és csak az azt követőben tud foglalni és adni. Az állomásszámok permutálásával az adási valószínűségek kiegyenlíthetők. Minden állomás egy versengési időrés idejével növeli az adatátviteltől elvett időt. Alacsony terhelésnél a versengési időrések jelentősen rontják a hatásfokot. Ha egyetlen állomás akar csak adni, akkor is meg kell várnunk az összes foglalási időrést. Növekvő terhelés esetén ( ha mind az N állomás adni kíván) a vezérlésre fordított idő állomásonként egyetlen versengési időrésnyivel növeli a keret hosszát, így kedvező hatásfok érhető el. Az állomások számának növekedésével a versengési időrés túl sok lesz. Ha az állomások címét (sorszámát) binárisan adjuk a csatornára, akkor a versengési idő jelentősen csökkenthető. Pl.: 60 állomás , ami 60 időrést igényelne, leképezhető 6 biten, tehát 6 időrés elegendő A bináris visszaszámlálás ( binary countdown )
technika jelentősen csökkentheti
a versengési idejét. Minden adni kívánó állomás a versengési időrésekben kiteszi saját címét a csatornára addig, amíg a szabályok szerint vissza nem lép, vagy adásba kezd . Az első időrésben az összes állomás legmagasabb helyi értékű bitje kerül a csatornára. A második időrésben a második bit, és így tovább a legalacsonyabb helyiértékig. Pandur B: Számítógép hálózatok. 2008
92
Állomás 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Versengési időrések 2 3
4
Az első időrésben 2 és 4 visszalép
0
0
1
0
A második időrésben 9 és 10 visszalép
0
1
0
0
A harmadik időrésben 0 érték lesz A negyedik időrésben 1 érték lesz
1 1
0 0
0 1
1 0
1
1
0
1
A csatornát az 1101 kódu állomás szerezte meg
A szürke területen lévő bitek nem kerülnek a csatornára.
3.10. ábra. Adó kiválasztása bináris visszaszámlálással. Szabályok:
a kiértékelés a legmagasabb helyiértékű bittel kezdődik
egy állomás visszalép, ha azt érzékeli, hogy az adott helyi értékű pozícióban "1" van, ahol neki "0" van a címében.
a kiértékelésnél a bitek VAGY kapcsolatban vannak
A protokoll nyilvánvalóan a magasabb számú állomásoknak kedvez. Előfordulhat, hogy az alacsony sorszámú állomás soha nem kerül sorra. A probléma megoldható az un. virtuális állomásszámok használatával, amikor az állomások száma minden sikeres átvitelt követően permutálódik. A protokoll a csatorna 100 % -os kihasználását is lehetővé tudja tenni a keretek "okos " felépítése esetén. Ha a keret a küldő címével kezdődik, akkor egyetlen bit sem ment veszendőbe. A csatornafoglalás a keret első adatmezője. A protokollok teljesítményének értékelésénél két szempont játszik döntően szerepet. Kis terhelésnél szeretnénk kis késleltetéseket elérni, nagy terhelésnél pedig a csatorna kihasználtság a döntő. A versenyhelyzetes protokollok jól teljesítenek kis terhelésnél, de nagy terhelésnél nagyon romlik a hatásfok. Az ütközésmentes protokollok kis terhelésnél is jelentős késleltetéseket produkálnak, de a terhelés növekedésével javul a hatásfokuk.
Pandur B: Számítógép hálózatok. 2008
93
Pl.: a bit-térkép protokoll akkor a legnagyobb hatásfokú, ha minden állomás adni akar, hiszen akkor minden keret csak egyetlen időréssel bővül. Kívánatos lenne a kedvező tulajdonságok ötvözése. Az erre irányuló algoritmusok a korlátozott versenyes protokollok. Az alapötlet az, hogy az állomásokat csoportokba rendezzük, és hozzárendeljük egyegy időréshez. Egy időrésben csak az abba a csoportba tartozó állomások versengenek az időszeletért. Elképzelhető, hogy egy időréshez tartozó csoportban egyetlen állomás van. A másik szélső esetben az összes állomást egy csoportba soroljuk. ( visszakaptuk a TDM illetve a réselt ALOHA protokollt ). Ha feladjuk azt az elvet, hogy egy állomás egyidőben egyetlen csatornát használ, akkor a korábbiaknál jóval bonyolultabb és nagyobb hatásfokú protokollok hozhatók létre. (Pl.: GSM rádiótelefon hálózatok). Néhány gyakorlati megoldás tárgyalására a későbbi fejezetekben visszatérünk. 3.5.4. Bit-törredék protokolok. Az eddigi megoldások feltételezték , hogy a bemeneten azonos időben megjelenő alapsávú, vagy azonos vivőfrekvenciát használó jelek nem választhatók szét. A jelet értelmező egység számára a jelek összege, szuperpozíciója jelenik meg.Ha feltételezzük, hogy közel lineáris szuperpozíció való valósul meg, akkor találhatunk matematikai megoldást a problémára. Egy lehetséges megoldás a CDMA- Code Division Multiple Access. A CDMA lehetővé teszi, hogy a vevő bemenetén egy időben, azonos sávban megjelenő jeleket szétválasszuk. A CDMA minden bitet több (m) intervallumra, tipikusan 64 vagy 128 részre, töredékre (chip) oszt fel. Minden állomáshoz tartozik egy töredéksorozat (chip sequence). Az állomás minden logikai 1-hez elküldi a saját töredéksorozatát., "0" küldéséhez ennek az inverzét. A logikai 1-nek megfelelő, és a logikai 0-nak megfelelő sorozatok önmagukban ortogonálisak. Az ortogonális a tulajdonság a működés alapja. Matematikailag egy függvény ortogonális, ha
Pandur B: Számítógép hálózatok. 2008
94
A gyakorlatban az ortogonális tulajdonság úgy érhető el, hogy a töredéksorozatban a 0-ákés az 1-ek száma azonos, és minden beérkező jel szintje azonos , továbbá a logikai 1-hez +1-et, a logikai nullához -1 –t rendelünk. Ekkor az 1 bit hosszúságú intervallumra evidens módon teljesül az integrál 0 értéke. Az állomás töredéksorozata legyen S, a negáltja töredéksorozata legyen T, negáltja
.. Más állomás
... Ha a kódot skaláris vektornak tekintjük,
akkor a normalizált skaláris szorzatokra igaz:
Egy 8 töredékre osztott bit esetén lehetséges sémák például: A
állomás
11001100
B
állomás
11011000
C
állomás
11000101
A lehetséges állomásszám a töredékek számának felével kifejezhető bináris érték., mivel a 0-ák és 1-ek száma azonos. 8 töredék esetén 4 bit, tehát 16 állomás. A 8 töredék továbbítása 8-szoros sávszélességet igényel, de 16 állomás helyezhető el a sávban. 64 töredék esetén az állomásszám 232 lehetne, ami óriási mennyiség. A valóságban korlátot szab a Shannon tételből adódód zajkorlát, és az eddig elhanyagolt kezdeti feltételezések. A skaláris szorzat képzésénél feltételeztük, hogy
a jelek lineárisan összegződnek
a különböző állomások azonos nagyságú jelet hoznak létre a bemeneten
az állomások szinkronban vannak.
Pandur B: Számítógép hálózatok. 2008
95
Egyik feltétel sem teljesül maradéktalanul:
az első feltétel viszonylag könnyen teljesíthető
a második feltétel rádiós rendszerekben jó közelítéssel teljesíthető az adóteljesítmény szabályozásával
a harmadik feltétel gyakorlatilag csak a venni kívánt állomásra teljesíthető, a többi adó és futási idők különbözősége miatt nincs szinkronban (kis hatósugarú - néhány méteres - körzetben jó lehet a szinkron).
A többi állomás zajként jelenik meg. A jelek kiválogatása így közelebb áll egy keresztkorrelációs eljáráshoz, ahol a zajból az állomás jelmintájához hasonló jeleket válogatunk ki. Elvileg egy időben több kapcsolat is működhet, ha több állomás mintájával is elemezzük a bejövő sorozatot. A gyakorlati megvalósításban további nehézségek is vannak, ennek ellenére a rádiótornyok közötti kommunikációban, és a katonai alkalmazásokban egyre több helyen alkalmazzák a CDMA eljárást. A CDMA a szórt spektrumú adás egy formája. Az egy állomásra jutó adatátviteli sebesség nagyobb lehet, mint idő vagy frekvenciaoszlásos rendszerekben, továbbá a csatorna-foglalás kérdése is megoldott, hiszen minden állomás a teljes csatornát használja.
3.5.5. Vezeték nélküli LAN protokollok A vezeték nélküli LAN protokollok az utóbbi években jelentős fejlődésen mentek át. A kezdeti 1-2 Mbit/sec sávszélesség 50 Mbit/sec körülire nőtt. A rádiós LAN-ok néhány sajátosságban eltérnek a vezetékesektől:
nagyobb a zavarás valószínűsége
könnyebben bekapcsolódhat illetéktelen a forgalomba ( megnövelt biztonsági igények a protokollal szemben)
nincs minden állomás egymás hatósugarában. (Vezetékes LAN esetén minden állomás biztosan elérhető).
Egyszerűség kedvéért tételezzük fel, hogy az állomások hatósugara egyforma. Pandur B: Számítógép hálózatok. 2008
96
A
B
C
D
3.11.ábra. Rádiós LAN állomások hatósugara. Az a tény, hogy nem minden állomás hallja valamennyi résztvevő adását, a vezetékes rendszerben elő nem forduló, ismeretlen problémákhoz vezet. Ha "A" üzenetet küld "B"-nek, akkor "C" a hatósugarán kívül van, és nem érzékeli "A" adását, így ő is elkezd adni, lerombolva ezzel "B" vételét. (Rejtett állomás probléma ) Ha "B" kezd adni "A" számára, akkor ezt "C" is hallja, és nem kezd adásba, noha "D" felé probléma nélkül adhatna. ( "Megvilágított állomás" probléma ). Az interferencia a vevőoldalon keletkezik, tehát azt kell felderítenünk, hogy a célállomás fogadóképes-e. A probléma megoldására számos protokollt dolgoztak ki. MACA és MACAW protokoll ( Multiple Access with Collision auoidance ) Többszörös hozzáférés az ütközés elkerülésével. Ez a protokoll az alapja az IEEE 802.11 szabványnak. Az alapötlet az, hogy az adó küld egy adási engedély kérő RTS ( Request To Send ) üzenetet a vevőnek. Ha erre a vevő egy "adásra kész" ( Clear To Send) üzenettel válaszol, akkor adhatunk csak a célállomásnak. A környezetben lévő állomások az üzenetváltást érzékelve egy keretnyi időtartamra nem kezdenek adásba. A működéshez arra is szükség van, hogy azok az állomások, melyek vették az RTS jelet, legalább addig ne adjanak, amíg a ( rövid ) CTS jelet vissza nem küldi a címzett. Ha egy állomás CTS jelet vesz, akkor a következő keret időtartamára csendben kell maradnia, függetlenül attól, hogy előtte vett-e RTS jelet. A CTS vétele azt jelenti, hogy olyan állomás van a hatósugarában, aki egy keret vételére vár. A keret hosszát kiolvashatja a CTS-ből, mivel a célállomás az RTS-ből átmásolja a CTS-be a venni szándékozott keret adatait.
Pandur B: Számítógép hálózatok. 2008
97
A hatósugara
C
A
RTS RTS
B hatósugara
B
D
C
A
CTS
B
D
E
E 3.12.ábra. MACA protokoll .
A protokoll nem biztosítja, hogy ne legyen ütközés az RTS keretek között. Ilyen esetben az RTS elveszik, a célállomás nem válaszol. Ha az RTS-t küldő állomás időkorláton belül nem kap vissza CTS-t, akkor véletlenszerű várakozási idő után újra próbálkozik. A több helyen alkalmazott MACAW protokoll a MACA javított változata.
Pandur B: Számítógép hálózatok. 2008
98