4. fejezet - A közeg-hozzáférési alréteg

A hálózatok két kategóriába sorolhatók: vannak, melyek kétpontos összeköttetést, és vannak, amelyek adatszóró csatornát használnak. A 2. fejezet tárgyalta a kétpontos összeköttetéseket, ez a fejezet az adatszóró hálózatokkal, és az ilyen hálózatokon használható protokollokkal foglalkozik.

Minden adatszóró hálózat esetén a kulcskérdés az, hogy versenyhelyzetben hogyan állapítható meg, melyik állomás nyerje el a csatorna használatának jogát. Ahhoz, hogy a problémát tisztábban láthassuk, vegyünk egy példát: képzeljünk el egy telefonos konferenciabeszélgetést, amelyben hat ember vesz részt, akik külön telefonkészülékeket használnak. A konferencia során minden készülék között van kapcsolat, így mindenki hallja a másikat, és bárkihez tud szólni. Ilyen szituációkban sűrűn fordul elő az, hogy amikor valaki befejezi a mondandóját, egyszerre ketten vagy többen is megszólalnak, ami teljes kavarodáshoz vezet. Ez a zűrzavar nem jelentkezne egy személyes találkozón, hiszen ekkor külső jelekkel, például kézfeltartással jelezhetik felszólalási szándékukat. Viszont akkor, ha csak egyetlen csatorna áll rendelkezésre, sokkal nehezebb annak eldöntése, hogy ki használhatja a csatornát következőként. A feladat megoldására rengeteg protokoll ismert, és a fejezet ezekről próbál áttekintést nyújtani. A szakirodalomban az adatszóró csatornákra (broadcast channel) sokszor hivatkoznak többszörös hozzáférésű csatorna (multiaccess channel), illetve véletlen hozzáférésű csatorna (random access channel) megnevezéssel is.

Az adatkapcsolati réteg egy alrétegéhez, a MAC-alréteghez (Medium Access Control közeg-hozzáférési alréteg) tartoznak azok a protokollok, amelyek az adatszóró csatorna használatának vezérléséért felelősek. A MAC-alréteg különösen fontos szerepet tölt be a LAN-hálózatokban, különösen a vezeték nélküli LAN-hálózatokban, mert ezek természetükből adódóan adatszóró csatornák. Ezzel szemben – a műholdas rendszerek kivételével – a WAN-hálózatok kétpontos összeköttetésekből állnak össze. Mivel a többszörös hozzáférésű csatornák és a LAN-hálózatok ilyen szoros kapcsolatban állnak, ebben a fejezetben általában véve a LAN-hálózatokról lesz szó, néhány olyan témával együtt, melyek nem tartoznak szorosan a MAC-alréteghez. Mindezzel együtt a fejezet fő témája a csatorna vezérlése lesz.

Technikailag a MAC-alréteg az adatkapcsolati réteg alsó részét képezi, így logikailag a 3. fejezetben részletezett kétpontos protokollok előtt kellett volna ismertetni. Mindazonáltal a legtöbb ember számára egyszerűbb a több résztvevő számára készült protokollokat megérteni azután, ha már megismerte a két résztvevő számára készült protokollokat, ezért kis mértékben eltértünk a szigorúan vett alulról felfelé haladó bemutatási sorrendtől.

4.1. A csatornakiosztás problémája

Ez a fejezet elsősorban azzal foglalkozik, hogyan lehet egy adatszóró csatornát a versengő felhasználók között kiosztani. Maga a csatorna lehet a rádiós spektrum egy szelete, vagy egy földrajzi régióban egy egyszerű rézvezeték vagy optikai kábel, amelynek több csatlakozási pontja van. Ez csak részletkérdés. A csatorna minden esetben fizikai összeköttetést biztosít a hozzá csatlakozó felhasználók között. Bármelyik felhasználó, aki a csatornát használja, zavarni fogja a többieket, akik ugyanúgy használni szeretnék a csatornát.

Először a statikus csatornakiosztási sémák löketes forgalomnál jelentkező hátrányait vizsgáljuk meg. Majd a rákövetkező szakaszokban lefektetjük a dinamikus csatornakiosztási sémák modellezésének kulcsfontosságú alapelveit.

4.1.1. Statikus csatornakiosztás

Hagyományosan egy közös csatorna, mint amilyen egy telefontrönk, több versengő felhasználó közötti felosztása úgy zajlik, hogy a csatorna kapacitását több részre bontjuk a 2.5. szakaszban leírt valamelyik nyalábolási módszerrel, például frekvenciaosztásos nyalábolással (Frequency Division Multiplexing, FDM). Ha N felhasználó van, a sávszélességet N darab egyenlő méretű sávra osztják, majd minden felhasználóhoz hozzárendelik az egyik frekvenciasávot. Mivel minden felhasználónak saját frekvenciasávja van, nem zavarhatják egymást. Az FDM egyszerű és hatékony kiosztási mechanizmus olyan esetekben, amikor kevés, fix számú felhasználó van, és ezek közül mindegyik állandó méretű vagy nagy forgalmi igénnyel rendelkezik. Az FM-rádióállomások rendszere jó példa a vezeték nélküli hálózatokra. Minden állomás megkapja az FM-frekvenciasáv egy részét, és saját jeleinek üzenetszórására használja az idő nagy részében.

Azokban az esetekben azonban, amikor a küldő felek száma nagy és folyamatosan változik, vagy az adatforgalom löketes jellegű, felmerül néhány probléma az FDM alkalmazásával. Ha a frekvenciaspektrumot N részre osztottuk, viszont N-nél kevesebb felhasználó szeretne egyszerre kommunikálni, az értékes spektrum jókora hányada kárba vész. Ha viszont N-nél több felhasználó szeretne kommunikálni, szabad sávok hiányában néhányat a rendszernek vissza kell utasítania még akkor is, ha a frekvenciasávval rendelkező felhasználók közül néhányan nem is küldenek vagy fogadnak adatokat.

A meglevő csatorna statikus alcsatornákra bontása természetesen még akkor sem lehet hatékony megoldás, ha feltételezzük, hogy a felhasználók számát valahogy konstans N értéken tartjuk. Az alapvető probléma az, hogy amíg a felhasználók nem forgalmaznak, a számukra kijelölt frekvenciatartomány egyszerűen elveszik, mivel ők nem használják, mások pedig nem használhatják. A legtöbb számítógépes rendszer esetében a statikus csatornakiosztás nem jó választás, mert az adatforgalom szélsőségesen löketes jellegű (a maximális és átlagos forgalom aránya gyakran 1000 : 1), így a csatornák többsége az idő túlnyomó részében kihasználatlan marad.

A statikus FDM alacsony hatékonysága könnyen belátható egy, a sorbanállási elméleten alapuló egyszerű számítással. Számítsuk ki egy keret elküldésének várható késleltetését (T). A csatorna kapacitása legyen C b/s. Tételezzük fel, hogy a véletlenszerűen érkező keretek átlagosan keret/másodperc intenzitással érkeznek, és a keretek átlagos hossza 1/ bit. Ezen paraméterek mellett a csatorna kiszolgálási intenzitása C keret/s. Az ismert sorbanállási elmélet alapján az eredmény

(Az érdeklődőknek elmondom, hogy ez az eredménye egy „M/M/1” sornak. A képlet alkalmazásának a feltételei, hogy a keretek közötti várakozási idő és a kerethosszak exponenciális eloszlásúak legyenek, más szóval a keretek érkezése legyen Poisson-folyamat.)

Ha például a csatorna kapacitása , az átlagos kerethossz és a keretek érkezési intenzitása pedig , akkor . Vegyük észre, hogy ha figyelmen kívül hagynánk a sorbaállásból fakadó késleltetést, és csak azt néznénk, hogy mennyi ideig tart egy 10 000 bites keretet elküldeni egy 100 Mb/s-os hálózaton, akkor eredményül (helytelenül) -ot kapnánk. Ez az eredmény csak akkor lenne helyénvaló, ha nem folyna versengés a csatornáért.

Most vágjuk a csatornát N darab független alcsatornára, amelyek közül mindegyik C/N b/s kapacitással rendelkezik. Ekkor az átlagos érkezési intenzitás mindegyik alcsatornán lesz. Újraszámolva a T-t a következő eredményt kapjuk.

4.1. egyenlet - 4.1


Az igények által a rendszerben eltöltött átlagos idő osztott csatorna alkalmazása esetén N-szer nagyobb annál, mintha az összes keret valamilyen varázslatos módon egy nagy központi sorba rendeződött volna. Az eredmény analóg azzal az elgondolással, hogy egy bank előterében elhelyezett pénzkiadó automaták hatékonyabbak, ha egy közös várakozási sor van az automatákhoz, mintha minden automatához külön sorban kell várakozni.

Pontosan ugyanazok az érvek érvényesek más statikus csatornakiosztási megoldásoknál is, mint az FDM-nél. Ha időosztásos nyalábolást (Time Division Multiplexing, TDM) használnánk és minden egyes felhasználóhoz statikusan hozzárendelnénk minden N. időszeletet, és az egyik felhasználó nem használná ki a számára fenntartott időszeletet, akkor az egyszerűen üres maradna. Ez akkor is ugyanígy fennállna, ha a hálózatot fizikailag több részre osztanánk. Az előző példánál maradva, ha egy 100 Mb/s-os hálózat helyett 10 darab 10 Mb/s-os hálózatot használnánk, és mindegyikhez statikusan egy felhasználót rendelnénk, akkor az átlagos késleltetés 200 s-ról 2 ms-ra nőne.

Mivel a hagyományos statikus hozzárendelési módszerek közül egy sem képes elfogadható hatásfokkal működni löketes forgalom esetén, vizsgáljunk most meg néhány dinamikus megoldást!

4.1.2. Dinamikus csatornakiosztás

Mielőtt rátérnénk a jelen fejezetben tárgyalt rengeteg csatornakiosztási módszerek vizsgálatára, megéri egy kis időt szakítani a csatornakiosztás problémájának pontos megfogalmazására. A munkánk során a következő öt kulcsfontosságú feltételezéssel fogunk élni.

  1. Független forgalom. A modell N független állomást (station) feltételez (például számítógépet, telefont), melyeken egy program vagy egy felhasználó továbbítandó kereteket generál. Annak a valószínűsége, hogy idő alatt generálódik egy keret, , ahol egy konstans (az új keretek érkezési intenzitása). Ha egy állomás generált egy keretet, akkor blokkolt állapotban marad mindaddig, amíg a keretet sikeresen nem továbbította.

  2. Egyetlen csatorna. Mindenféle kommunikációhoz egyetlen csatorna vehető igénybe. Minden állomás képes ezen adatokat továbbítani, illetve erről adatokat fogadni. Az állomásokat ugyanolyan képességűnek feltételezzük, bár a protokollok különböző szerepeket és ezzel prioritásokat rendelhetnek hozzájuk.

  3. Megfigyelhető ütközések. Ha két keretet egyszerre továbbítanak, akkor azok időben átlapolódnak, és az eredményül kapott jel értelmezhetetlenné válik. Az ilyen eseményt ütközésnek (collision) nevezzük. Az ütközéseket minden állomás képes észlelni. Az ütközésbe került kereteket később újra kell küldeni. Az ütközéseken kívül semmilyen egyéb hiba nem léphet fel.

  4. Folytonos idő vagy diszkrét idő (slotted time). Az időt folytonosnak vehetjük, ha a keretek továbbítása bármelyik időpillanatban megkezdődhet. Másik esetben az idő diszkrét intervallumokra (időszeletekre) van osztva. A keretek továbbítása mindig csak az időszeletek elején kezdődhet meg. Egy időszelet 0, 1 vagy több keretet tartalmazhat, és ennek megfelelően nevezzük az időszeletet üresnek, sikeresnek vagy ütközésesnek.

  5. Vivőjel-érzékelés (carrier sense) vagy nincs vivőjel-érzékelés. Vivőjel-érzékelést feltételezve az állomások meg tudják állapítani, hogy a csatorna foglalt-e, mielőtt megpróbálnák használni. Egyetlen állomás sem próbálja meg használatba venni a csatornát addig, amíg foglaltnak érzékeli. Ha nincs vivőjel-érzékelés, akkor az állomások nem tudják megvizsgálni a csatornát, mielőtt megpróbálnák használatba venni, így egyszerűen elkezdenek adni. Csak ezután tudják eldönteni, hogy az átvitel sikeres volt-e vagy sem.

Néhány magyarázat a fenti feltételezésekhez azok sorrendjében. Az első feltételezés azt mondja, hogy a keretérkezések függetlenek, mind az állomások között, mind egy állomáson belül, és a keretek előre megjósolhatatlan ütemezéssel, de állandó intenzitással keletkeznek. Ez a feltételezés éppenséggel nem kifejezetten jó a hálózati forgalom modellezésére, mivel ismert tény, hogy a csomagok löketekben érkeznek különféle időskálákon [Paxson és Floyd, 1995; és Leland és mások, 1994]. Akárhogyis, a Poisson-modelleknek is nevezett modellek hasznosak, mert matematikailag könnyen kezelhetők. Ezek a modellek segítenek a protokollanalízisben, és betekintést engednek abba, hogy a protokollok hogyan teljesítenek különböző működési feltételeknél, valamint jó összehasonlítási alapot nyújtanak a különböző protokollok számára.

Az egyetlen csatorna feltételezése a modell lényege, azaz nincs semmilyen más külső kommunikációs lehetőség. Az állomások nem képesek feltenni a kezüket, hogy a tanár felszólítsa őket, szóval valami jobb megoldással kell előállnunk.

A következő három feltétel az adott rendszer kialakításától függ, és minden egyes vizsgált protokollnál kiemeljük, hogy az alábbi feltételezések közül melyek igazak.

Az ütközések feltételezése szintén alapvető. Az állomásoknak érzékelniük kell az ütközéseket, hogy újraküldhessék a kereteket, mivel nem hagyhatják elveszni. Vezetékes hálózatokban az állomások hardverét lehet úgy tervezni, hogy az állomások azonnal érzékeljék az ütközést. Ezáltal az állomások egy keret küldését még a vége előtt megszakíthatják, ezzel a kapacitásvesztést elkerülhetik. Vezeték nélküli hálózatok esetében az ütközések érzékelése sokkal nehezebb. Az ütközésekre csak abból következtetnek, hogy a várt nyugta nem érkezett meg. A jel és a fogadó hardver tulajdonságaitól függően az is elképzelhető, hogy egy ütközésbe került keretet sikeresen fogadjanak. Ez egyáltalán nem tipikus eset, ezért feltételezzük, hogy minden ütközést elszenvedett keret elvész. Látni fogunk olyan protokollokat, amelyek fő tervezési célja az ütközések bekövetkeztének elkerülése.

Két alternatív feltételezés az időről azért van, mert szeletelt időkezeléssel javíthatunk a rendszer teljesítőképességén. Ámbár, ennek van egy feltétele, amely nem minden esetben teljesül. Megköveteli, hogy az állomások egy központi órát kövessenek vagy egymáshoz szinkronizálják a tevékenységeiket, hogy az időt diszkrét intervallumokra osszák. Mindkét típusú rendszert tárgyalni és vizsgálni fogjuk. Természetesen egy adott rendszerre ezek közül csak az egyik állhat fenn.

Továbbá, egy hálózat lehet vivőjel-érzékeléses vagy vivőjel-érzékelés nélküli. Általában a vezetékes hálózatok vivőjel-érzékeléses hálózatok. A vezeték nélküli hálózatok nem mindig tudják hatékonyan használni a vivőjel-érzékelést, ugyanis nem minden állomás esik bele az összes többi állomás hatósugarába. Továbbá a vivőjel-érzékelés egyáltalán nem használható, ha a két állomás nem tud közvetlenül kommunikálni egymással. Erre példa a kábelmodem esete, amikor az állomások a fejállomáson keresztül kommunikálnak egymással. Itt jegyezném meg, hogy a „vivőjel” (carrier) szó egy csatornán egy jelre utal, és semmi esetre sem a távközlési szolgáltatót (például a telefontársaságot)[15] jelenti.

A félreértések elkerülése végett fontos megjegyezni, hogy egyetlen többszörös hozzáférésű protokoll sem biztosít megbízható átvitelt. Még ha az ütközéseket figyelmen kívül hagyjuk is, a vevő különböző okok miatt hibásan másolhatja be a keretet. Az adatkapcsolati réteg más részei vagy a felsőbb rétegek felelősek a megbízhatóságért.



[15] Az angol nyelvben a carrier szónak két jelentése van: (1) vivőjel, (2) távközlési szolgáltató. A szerző e kettősséget kivánja egyértelműsíteni. (A lektor megjegyzése)