Adatkapcsolati réteg
(DATA-LINK)
Feladata:
-a hálózati rétegtől kapott adatcsomagok keretezése, átvitele,
fogadása és a fizika rétegnek továbbítása,
-kapcsolattartás
a hálózati- és fizikai réteggel,
-átviteli
hibák kezelése:
·
hibadetektálás,
·
hibajavítás,
-adatforgalom
szabályozása.
Keretezés: KERET
Fejrész |
Adatcsomag |
Lábrész |
ADATMEZŐ
Ahhoz
hogy a kapott csomagokat keretezni tudja, az adatkapcsolati rétegnek tudnia
kell a csomag méretét.
Szállítási réteg Szegmens Hálózati réteg Csomag
Adatkapcsolati réteg Keret Fizikai réteg
A bitfolyamot keretekbe
tördeli és kiszámolja az ellenőrző összeget, melyet a vevő újra számol, eltérés
esetén a keretet kidobja.
Keret (FRAME) méretek:
·
1522 bájt (VLAN)
802.1q
·
1518 bájt
(ETERNET) 802.3
·
5000 bájt
(VEZÉRJELES GYŰRŰ) 802.5
·
8192 bájt
(VEZÉRJELES GYŰRŰ) 802.4
·
53 bájt (ATM)
Tördelés módszerei:
1)
Karakterszámlálás,
2)
Karakter
beszúrása kezdő- és végső jelzésnek,
3)
Bitbeszúrás
kezdő- és végső jelzésnek,
4)
Fizikai rétegbeli
kódolás sértés.
1.- A keretben lévő
karakterek számának megadása, mely a fejlécbe kerül:
|
1 |
2 |
3 |
4 |
|
6 |
7 |
|
9 |
|
0 |
1 |
2 |
3 |
5 |
6 |
7 |
s |
t |
b |
1-es keret 2-es keret 3-as keret stb.
karakterszám
2.- Az első és az utolsó
karakter jelzőként szolgál. Ha a jelző az adatok között is előfordul, akkor a
jelzőt megismétli, majd a vevő a minden másodikat kidobja, így visszakapja az
eredeti adatot.
3.- Ugyan az, mint az előző,
csak karakterek helyett, biteket használ.
4.- Olyan jel jelenik meg az
adatok között, amely nem fordulhatna elő, így jelzésként szolgál: eleje, vége. Az
adatbit fizikai kódolása:
magas alacsony
„1”-es bit= „0”-ás
bit=
alacsony magas
alacsony magas
Jelzőbit= vagy=
alacsony magas
Szolgálatai:
1.
nyugtázatlan
összeköttetés nélküli szolgálat, (lokális hálózatoknál)
2.
nyugtázott
összeköttetés nélküli szolgálat, (megbízhatatlan hálózat.)
3.
nyugtázott
összeköttetés alapú szolgálat. (vez.-nél hálózatoknál)
Az adatkapcsolati réteg alrétegei:
A hálózatok kétpontos vagy
adatszóró csatornákat használnak. Az adatszóró csatornákon az ütközés szinte
elkerülhetetlen ezért az adatkapcsolati réteget két alrétegre bontották:
·
a MAC-alréteghez (Médium Access Control –
közegelérési alréteg) tartoznak azok a protokollok, amelyek a közeg használatának
vezérléséért felelősek.
·
a LLC-alréteg
(Logical Link Control - logikai kapcsolatvezérlés) képes hibajavításra és forgalomszabályozásra, és még arra is képes, hogy teljesen eltakarja a
különböző 802-es hálózatokat azzal, hogy egységes formátumot és felületet
biztosít a hálózati rétegek számára.
LLC
DATA-LINK
MAC
Hibakezelés:
Ha hibás egy keret, vagy eldobásra került, az adónak értesülnie kell róla,
különben nem tudja kezelni. Ezért az adótól nyugtázást
vár. Viszont ha egy keret elvész, nincs mit nyugtázni, ennek megoldása az
időzítő. Ha az időzítő lejár, és nem érkezik nyugta, akkor az adó újra küldi a
keretet, már másik sorszámmal, hogy a vevő is értesüljön róla: ez egy ismételt
keret és nem egy újabb.
Hibajelzés és –javítás:
Analóg és vezeték-nélküli hálózatoknál a hibák igen gyakoriak, melyet kezelni kell. Ebben a
két esetben a hibák általában csoportosak, melyek a hálózat
megbízhatatlanságából ered, ezért egyszerűbb a hibás adatokat kijavítani, mint újra küldeni.
Optikai- és digitális hálózatoknál a hibák ritkák, és mivel ezek a hálózatok igen
gyorsak egyszerűbb az adatokat újraküldeni,
mint hibajavítással bajlódni.
Hibakódok:
1)
Hibajelző-kód (Error- detecting):
Annyi
redundáns információ mellékelése, melyből a hiba megállapítható.
2)
Hibajavító-kód (Error-corregting):
Annyi
redundáns információ mellékelése, melyből a hiba kijavítható.
A hiba felderítésének mértéke
a Hamming-távolság (HD). Az adatbit (üzenetbit) és a redundánsbit (ellenőrzőbit)
összegét kódszónak nevezzük, és az olyan helyek számát, ahol a két kódszóban
különböző bitek állnak, a két kódszó közötti távolságot Hamming-távolságnak
nevezzük. Minél magasabb a HD érték, annál megbízhatóbb az adatátvitel. A HD
függ attól, hogy egy kód hibajavító, vagy hibajelző.
Forgalomszabályozás (Flow Control):
A torlódások kezelésére legelterjedtebben két megoldást
használnak:
1.
Visszacsatolás
alapú (Feedback-Based):
A
vevő visszajelzést küld mennyi adatot képes fogadni.
2.
Sebesség alapú (Rate-based):
Protokoll
segítségével az adó és a vevő előre egyeztet a sebességről, de később nincs
visszacsatolás.
ÖCsúszóablakos
protokoll (sliding window):
Minden csúszóablakos protokoll
lényege az, hogy az adóállomás folyamatosan karbantart egy sorszámhalmazt,
amely az elküldhető kereteknek felel meg. Azt mondjuk, hogy ezek a keretek az adási ablakba (sending window) esnek.
Hasonlóan a vevő is karbantart egy vételi
ablakot (receiving window), amely azoknak a kereteknek felel meg, amelyeket
vehet. A küldő ablakába eső sorszámok azokat a kereteket jelképezik, amelyeket
már az adó elküldött, vagy amelyek elküldhetők, de a vevő még nem nyugtázta.
Amikor egy új csomag érkezik a hálózati rétegtől, az megkapja a következő
legmagasabb sorszámot, és az ablak felső széle eggyel előre ugrik. Amikor egy
nyugta érkezik, akkor az ablak alsó széle lép egyet előre. Ezzel a módszerrel
az ablak a még nem nyugtázott keretek listáját tartja folyamatosan karban.
ÖNyugtaráültetés
(piggybacking):
Amikor egy adatkeret megérkezik,
ahelyett, hogy azonnal küldene egy külön vezérlő keretet, a vevő türtőzteti
magát, és megvárja, hogy a hálózati réteg átadja neki a következő csomagot. A
nyugtát hozzácsatolja a kimenő adatkerethez (a fejrész ack mezőjét használva).
Valójában a nyugta így ingyen utazik a következő kimenő adatkerettel, ráültetésként
ismert.
Alkalmazott protokollok:
Ö
HDCL (High-level Data Link Control - magas szintű
adatkapcsolat-vezérlés): bit alapú, és bitbeszúrást alkalmaz a kódfüggetlenség
érdekében. Ahhoz a konvencióhoz tartja magát, hogy az utolsó hibátlanul vett
keret sorszáma helyett az első nem vett keret sorszámát (azaz következő várt keretét)
ülteti rá a visszirányú adatra. Ezenkívül csúszóablakot is használ. Háromféle
keret van: információs (Information), felügyelő (Supervisory) és számozatlan
(Unnumbered).
Ö
PPP (Point-to-Point Protocol - pont-pont protokoll) az Interneten használatos kétpontos protokoll: A PPP
három dolgot biztosít:
1.
Olyan keretezési módszert, amely egyértelműen ábrázolja a keret végét és a
következő keret kezdetét. A keretformátum megoldja a hibajelzést is.
2.
Kapcsolatvezérlő protokollt a vonalak felélesztésére, tesztelésére, az opciók
megbeszélésére és a vonalak elegáns elengedésére, amikor már nincs rájuk
szükség. Ezt a protokollt LCP-nek
(adatkapcsolat-vezérlő protokoll - Link Control Protocol) nevezik.
Támogatja a szinkron és aszinkron áramköröket, valamint a bájt és bit alapú
kódolásokat.
3.
Olyan módot a hálózatiréteg-opciók megbeszélésére, amely független az alkalmazott
hálózatiréteg-protokolltól. A választott módszer az, hogy különböző NCP (hálózati vezérlő protokoll - Network
Control Protocol) van mindegyik támogatott hálózati réteghez.
A PPP keretszerkezetét a
tervezők a HDLC keretszerkezetéhez nagyon hasonlónak választották, mivel nem
volt semmi okuk arra, hogy újra feltalálják a kereket. A legfőbb különbség a
PPP és a HDLC között az, hogy a PPP karakter alapú, a HDLC pedig bit alapú. Ez
például abban nyilvánul meg, hogy a PPP bájtbeszúrást használ a modemek
betárcsázó telefonvonalain, így minden keret egész számú bájtot tartalmaz.
Az ütközés: Amikor
ugyanabban az időpillanatban két keret is megpróbálja elfoglalni a csatornát,
ütközés lép fel, és mindkét csomag megsérül. A két keret akkor is
használhatatlanná válik, ha az egyik első bitje éppen hogy ütközik a másik
utolsó bitjével, így később mindkét keretet újra kell majd küldeni. Az
ellenőrző összeg nem képes megkülönböztetni (és nem is feladata) a teljes
ütközést a részlegestől. Ami hibás, az hibás.
Véletlen hozzáférésű protokollok:
ÖEgyszerű
ALOHA (pure ALOHA): az ALOHA-rendszer
alapötlete, hogy engedjük a felhasználót adni, amikor csak van továbbítandó
adata. Az ALOHA figyelheti a csatornát,
vagy ha valamilyen okból kifolyólag nem lehetséges az átvitel közben figyelni,
akkor nyugtákra van szükség. Ha a keret
megsérült, a küldő egyszerűen véletlenszerű ideig várakozik, majd ismét elküldi
a keretet.
A
várakozási időnek véletlenszerűnek kell lennie, különben ugyanazok a keretek
ütköznének újra és újra szabályos időközönként. Azokat a rendszereket,
amelyekben a közös csatorna használata konfliktus helyzetek kialakulásához
vezethet, versenyhelyzetes (contention)
rendszereknek nevezzük.
Ö
Réselt ALOHA (slotted ALOHA): egyszerű ALOHA rendszerével ellentétben, a terminálok
nem kezdhetnek el adni bármikor, amikor leütik a kocsi-vissza billentyűt, hanem
meg kell előbb várniuk a következő időrés kezdetét. Ezáltal a folyamatos
egyszerű ALOHA diszkrétté alakul. Az időréseket központi órajel határozza meg.
Csatornafigyelő
protokollok:
Azokat
a protokollokat, amelyekben az állomások figyelik a csatornán folyó forgalmat,
és ennek megfelelően cselekszenek, csatornafigyelő protokolloknak vagy vivőjel-érzékeléses
protokollnak (carrier sense protocols) nevezik.
Ö
Perzisztens és nemperzisztens CSMA: Az első csatornafigyelő protokoll az 1-perzisztens
CSMA (Carrier Sense Multiple Access - vivőjel-érzékeléses többszörös hozzáférés).
Amikor egy állomás adni készül, először belehallgat a csatornába, hogy
eldönthesse, használja-e azt éppen egy másik állomás. Ha a csatorna foglalt,
akkor addig vár, amíg az ismét szabad nem lesz. Amikor az állomás szabad
csatornát érzékel, elküld egy keretet. Ha ütközés következik be, akkor az
állomás véletlen hosszúságú ideig vár, majd újból elölről kezdi az egészet. A
protokollt, 1-perzisztensnek nevezik, mivel a várakozó állomás 1 valószínűséggel
adni kezd, amint üresnek érzékeli a csatornát.
Ö
Nemperzisztens CSMA (nonpersistent CSMA): Ebben a protokollban tudatosan arra törekedtek, hogy
az állomások ne legyenek mohók. Küldés előtt az állomás megfigyeli a csatornát.
Ha senki sem forgalmaz, akkor az állomás elkezdhet adni. Ha azonban foglalt a
csatorna, nem folytatja folyamatosan a megfigyelést, hogy a forgalom megszűntével
azonnal megkezdje az adást, hanem véletlen hosszúságú ideig várakozik, és ekkor
elölről kezdi az algoritmust.
Ö
A p-perzisztens CSMA (p-persistent CSMA)
protokoll: Réselt csatornát alkalmaz, és a következőképpen működik. Amikor
egy állomás, adásra kész állapotba kerül, megvizsgálja a csatornát. Ha az
szabad, akkor p valószínűséggel forgalmazni kezd, vagy q = 1 - p
valószínűséggel visszalép szándékától a következő időrésig. Ha a következő
időrésben a csatorna még mindig szabad, akkor ismét p, illetve q
valószínűséggel ad vagy visszalép.
Ö
CSMA/CD (Carrier Sense Multiple Access with Collision
Detection - ütközésérzékeléses CSMA):
ha két állomás tétlennek érzékelve a csatornát egyszerre kezd adni, majd
érzékelik az ütközést, akkor nem fejezik be a már visszavonhatatlanul sérült
keretek csatornára küldését, hanem az ütközés érzékelését követően azonnal
felfüggesztik tevékenységüket. A sérült keretek küldésének megszakítása időt és
sávszélességet takarít meg. Elterjedten használják LAN-ok MAC-protokolljaként.
Ütközésmentes protokollok:
Ö
Egy bittérkép (helyfoglalásos) protokoll (basic
bit-map method): Ha a 0-s
állomás
adni szeretne, akkor l-es bitet küld a 0-s (első) versengési időrésben. Ez
alatt
az
időrés alatt másik állomások nem használhatják a csatornát. A 0-s állomástól
függetlenül, az l-es állomásnak szintén megvan a lehetősége, hogy az l-es
(második)
időrés
jelzőbitjét l-re állítsa, ha van kész kerete. Általánosan a j-edik állomás a j
időrésben jelezheti egy l-es bittel, ha van elküldésre váró kerete. Az N darab
időrés elküldése után, mindegyik állomás pontosan tudja, hogy mely állomások
szeretnének
forgalmazni.
Ekkor számsorrendben megkezdhetik a tényleges adattovábbítást.
Adatkeretek
8 versengési időrés 8 versengési időrés
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
1 |
|
1 |
|
3 |
|
7 |
|
|
1 |
|
|
|
1 |
|
|
|
1 |
|
5 |
|
Ö
Bináris visszaszámlálás (binary countdown): a forgalmazni
kívánó állomás elkezdi a bináris címét, a legnagyobb helyi értékű bittel
kezdve, mindenkinek szétküldeni. A versenyben a logikai „1” a nyerő, minden
helyi értéknél. Az az állomás kezdhet először adni, amelyiknek azonos helyi
értéken előbb van „1”-es bitje. Így a csatorna 100%-os kihasználtságú.
Virtuális címek használatával azonban elkerülhető, hogy az alacsonyabb
prioritású állomások kimaradjanak az adásból.
Ö
WDMA (Wavelength Division Multiple Access -
hullámhosszosztásos többszörös hozzáférés): Ahhoz, hogy egyszerre több átvitel is történhessen, a színspektrumot
csatornákra (hullámhossztartományokra) kell osztani. Minden állomáshoz két
csatornát rendelnek. Egy keskeny csatorna szolgál az állomás felé érkező
vezérlőjelek átvitelére, míg egy szélesebb csatorna az állomás adatkereteinek
továbbítására.
Ö
DWDM- (Dense Wavelength Division Multiplexing -
nagysűrűségű hullámhosszosztásos multiplex): nagyon nagyszámú frekvenciát használnak.
Kettes exponenciális visszalépés (binary
exponential backoff): véletlenszám-generálás
intervalluma az egymást követő ütközések hatására exponenciálisan nő, az
algoritmus biztosítja azt, hogy kevés ütköző állomás esetén viszonylag kis
késleltetés következzen be, ugyanakkor nagyszámú állomás esetén az ütközés még
belátható időn belül feloldódjon.
Vezeték
nélküli LAN (WLAN)-protokollok:
Ha egy vevő két aktív adónak is a
hatósugarán belül tartózkodik, akkor az ilyenkor vett jel általában zavaros és
használhatatlan lesz. A hálózat nagyban különbözik a LAN-októl, ezért a LAN-oknál
bevált protokollok WLAN-ok esetében használhatatlanok.
Problémák:
A rejtett
állomás problémájának (hidden station problem) nevezik azt, amikor egy
állomás nem képes érzékelni egy potenciális versenytársát, mivel az túl messze
van tőle.
Megvilágított
állomás problémájáról (exposed station problem) beszélünk abban az esetben,
ha az adó, egy másik adó és vevő között zajló forgalomról azt feltételezi, hogy
foglalt a csatorna.
Protokollok:
Ø
MACA (Multiple Access with Collision Avoidance -
többszörös hozzáférés ütközések elkerülésével) egy vezeték nélküli LAN-ok számára tervezett korai
protokoll. A protokoll mögött rejlő
alapötlet az, hogy az adónak rá kell vennie a vevőt, hogy adjon ki egy rövid
keretet, amely következtében a hatósugarában tartózkodó állomások nem adnak a
következő (hosszabb) adatkeret időtartama alatt.
Ø
MACAW (MACA for Wireless - vezeték nélküli MACA): MACA esetében, az adatkapcsolati rétegben
implementált visszajelzések hiányában az elveszett keretek újraküldése nem
történik meg addig, amíg a szállítási réteg észre nem veszi azok hiányát, ami
sokkal később következik csak be. A problémát úgy oldották meg, hogy bevezettek
egy ACK (nyugta) keretet minden sikeresen továbbított adatkeret után.
Észrevették azt is, hogy a CSMA rendelkezik egy hasznos képességgel -
nevezetesen azzal, hogy egy állomás nem kezd RTS (megszakítás) üzenet küldésébe
addig, amíg észleli más állomások azonos célállomás irányába történő hasonló
tevékenységét, így hát a protokollhoz adták a vivőérzékelést is. Elhatározták
továbbá, hogy a visszalépéses algoritmust nem állomásonként, hanem
adatfolyamonként (forrás-cél páronként) futtatják, ami a protokoll fair
mivoltát növeli. Végül a rendszer teljesítményének növelése érdekében az
állomásokhoz hozzáadtak egy mechanizmust, amellyel az állomások megoszthatják
egymással torlódási információikat, valamint kidolgoztak egy módszert, amelynek
köszönhetően a visszalépéses algoritmus kevésbé hevesen reagál az időszakos
problémákra.
Keretformátumok:
Bitalapú:
BITEK
8 8 8 =>0 16 8
01111110 (jelző) |
Cím |
Vezérlés (sorszám, nyugtaszám) |
Adat |
Ellenőrzőösszeg (CRC) |
01111110 |
PPP
BÁJTOK
1 1
1 1v.2 =>0 2v.4 1
01111110 (jelző) |
11111111 (cím) |
00000011 (vezérlő) |
Protokoll |
Adat |
Ellenőrzőösszeg |
01111110 (jelző) |
ETERNET
BÁJTOK
8 6 6
2 0-1500
0-46 4
Előtag |
Célcím |
Forráscím |
Típus |
Adat mező |
Kitöltés |
Ellenőrzőösszeg |
IEEE
802.3
BÁJTOK
7 1 6 6 2 0-1500 0-46 4
Előtag |
SOF |
Célcím |
Forráscím |
Hossz |
Adat mező |
Kitöltés |
Ellenőrzőösszeg |
VLAN keret
BÁJTOK
7 1 6 6 2 4 0-1500 0-46 4
Jelző |
SOF |
Cél-cím |
Forrás-cím |
VLAN Protokoll |
Cimke |
Hossz |
Adat mező |
Kitöltés |
Ellenőrzőösszeg |