Számítógép-hálózatok Az adatkapcsolati réteg

Hasonló dokumentumok
Az adatkapcsolati réteg

Hibafelismerés: CRC. Számítógépes Hálózatok Polinóm aritmetika modulo 2. Számolás Z 2 -ben

7. Adatkapcsolati réteg

Számítógépes Hálózatok 2008

Számítógépes Hálózatok 2012

Számítógépes Hálózatok. 4. gyakorlat

Hibafelismerés: CRC. Számítógépes Hálózatok Polinóm aritmetika modulo 2. Számolás Z 2 -ben

Számítógépes Hálózatok

Hibadetektáló és javító kódolások

Számítógépes Hálózatok

Számítógépes Hálózatok. 5. gyakorlat

Adatkapcsolati réteg 1

Számítógép-hálózatok zárthelyi feladat. Mik az ISO-OSI hálózati referenciamodell hálózati rétegének főbb feladatai? (1 pont)

12. fejezet Hibajelző kódok és Adatkapcsolati protokollok

Adatkapcsolati réteg (Data Link Layer) Számítógépes Hálózatok Az adatkapcsolati réteg lehetséges szolgáltatásai

Számítógépes Hálózatok ősz Adatkapcsolati réteg Hibafelismerés és javítás, Hamming távolság, blokk kódok

Számítógépes Hálózatok 2013

10. fejezet Az adatkapcsolati réteg

ADATKAPCSOLATI PROTOKOLLOK

AST_v3\

Számítógépes Hálózatok

Hálózatok. 1. Számítógép-hálózatokhoz kötődő alapfogalmak és az ISO-OSI hivatkozási modell

Bevezet. Keretképzés. Adatkapcsolati réteg és protokolljai. Webprogramozó + ISGT

Hibajavítás, -jelzés. Informatikai rendszerek alapjai. Horváth Árpád november 24.

Programozható vezérlő rendszerek KOMMUNIKÁCIÓS HÁLÓZATOK 2.

Diszkrét matematika 2.C szakirány

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

Számítógépes Hálózatok

Számítógépes Hálózatok

Számítógépes Hálózatok. 7. gyakorlat

Nagy Gábor compalg.inf.elte.hu/ nagy

3. Az adatkapcsolati réteg

Hálózatok II. A hálózati réteg torlódás vezérlése

Hibajavító kódok május 31. Hibajavító kódok 1. 1

Kódolás, hibajavítás. Tervezte és készítette Géczy LászlL. szló 2002

x 3 - x 3 +x x = R(x) x 3 + x x 3 + x ; rendben, nincs maradék.

Diszkrét matematika 2.

I+K technológiák. Buszrendszerek Dr. Aradi Szilárd

ADATKAPCSOLATI RÉTEG

Az adatkapcsolati réteg

Hálózati protokoll tervezése

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

Számítógépes Hálózatok

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

Diszkrét matematika 2.C szakirány

Tartalom. Az adatkapcsolati réteg, Ethernet, ARP. Fogalma és feladatai. Adatkapcsolati réteg. A hálókártya képe

Az Internet működésének alapjai

Egyszerű simplex protokoll nyugtákkal

Szállítási réteg (L4)

A számítógép-hálózatok tervezését struktúrális módszerrel végzik, azaz a hálózat egyes részeit réteg-ekbe (layer) vagy más néven szint-ekbe (level)

Hálózatok II. A hálózati réteg funkciói, szervezése

Bevezetés a számítástechnikába

* Rendelje a PPP protokollt az TCP/IP rétegmodell megfelelő rétegéhez. Kapcsolati réteg

Hálózatok I. A tárgy célkitűzése

Számítógépes Hálózatok. 5. gyakorlat

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

Diszkrét matematika II. feladatok

Számítógép-hálózatok Vizsgakérdések 1.0verzió

Hálózati Architektúrák és Protokollok GI BSc. 3. laborgyakorlat

Járműfedélzeti rendszerek II. 6. előadás Dr. Bécsi Tamás

Informatikai Rendszerek Alapjai

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Számítógépes Hálózatok 2010

Számítógép hálózatok gyakorlat

I+K technológiák. Számrendszerek, kódolás

Véges állapotú gépek (FSM) tervezése

Kvantum-hibajavítás I.

MACAW. MAC protokoll vezetéknélküli LAN hálózatokhoz. Vaduvur Bharghavan Alan Demers, Scott Shenker, Lixia Zhang

Az Informatika Elméleti Alapjai

3. Adatkapcsolati réteg

Frekvencia tartományok. Számítógépes Hálózatok és Internet Eszközök. Frekvencia tartományok rádió kommunikációhoz

Számítógépes Hálózatok

Dr. Oniga István DIGITÁLIS TECHNIKA 2

Jel, adat, információ

Járműinformatika Multimédiás buszrendszerek (MOST, D2B és Bluetooth) 4. Óra

OSI-ISO modell. Az OSI rétegek feladatai: Adatkapcsolati réteg (data link layer) Hálózati réteg (network layer)

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

Járműfedélzeti kommunikáció. Controller Area Network Dr. Aradi Szilárd

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

Véges állapotú gépek (FSM) tervezése

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Alapfogalmak a Diszkrét matematika II. tárgyból

Yottacontrol I/O modulok beállítási segédlet

AF hangú kód adó-vevő. Fő jellemzők:

Számítógépes hálózatok

Mobil kommunikáció /A mobil hálózat/ /elektronikus oktatási segédlet/ v3.0

KÓDOLÁSTECHNIKA PZH december 18.

SPECIÁLIS CÉLÚ HÁLÓZATI

Bánfalvy Zoltán, ABB Kft., MEE Vándorgyűlés, Budapest, Ethernet-hálózatok redundanciája IEC és IEC 62439

Számítógépes Hálózatok GY 7.hét

A CAN hálózat alapjai

A TCP/IP modell szállítási rétege

Ennek két lépéssel balra történõ ciklikus eltolása az alábbi.

Távközlési informatikus szakképzés Távközlési ismeretek Dia száma: 1

Bevezetés. Számítógép-hálózatok. Dr. Lencse Gábor. egyetemi docens Széchenyi István Egyetem, Távközlési Tanszék

Járműfedélzeti hálózatok. Fedélzeti diagnosztikai protokollok Dr. Aradi Szilárd

13. KOMMUNIKÁCIÓS HÁLÓZATOK

A kódok típusai Kódolás: adatok megváltoztatása. Dekódolás: a megváltoztatott adatból az eredeti visszanyerése.

XII. PÁRHUZAMOS ÉS A SOROS ADATÁTVITEL

Átírás:

Számítógép-hálózatok Az adatkapcsolati réteg 2016/2017. tanév, I. félév Dr. Kovács Szilveszter E-mail: szkovacs@iit.uni-miskolc.hu Informatikai Intézet 106/a. Tel: (46) 565-111 / 21-07 Dr. Kovács Szilveszter E. V. / 1.

Tartalom Általános megállapítások Keretképzés - felismerés Hibakezelés, lehet közvetlen, ill. közvetett. Adatfolyam vezérlés Elemi adatkapcsolati protokollok Dr. Kovács Szilveszter E. V. / 2.

A második réteg Az adatkapcsolati réteg Feladata (általánosan) Jól meghatározott interfész és szolgálatok biztosítása a hálózati réteg számára Két, szomszédos huzalszerűen működő csatornával összekötött állomás között megbízható, hatékony kommunikáció biztosítása. Hálózati Adatkapcsolati Fizikai Dr. Kovács Szilveszter E. V. / 3.

Huzalszerű csatorna A bitek pontosan ugyanolyan sorrendben érkeznek, mint ahogy feladták őket. Két állomás között huzalszerű csatornát pont-pont kapcsolat esetén a fizikai réteg, üzenetszórásos csatorna esetén a fizikai + közeghozzáférési alréteg biztosít. Hálózati Adatkapcsolati Fizikai Logical Link Control Medium Access Control Hálózati LLC Hálózati LLC Hálózati LLC MAC Hálózati LLC MAC Hálózati LLC MAC Fizikai Fizikai Fizikai Fizikai Fizikai Dr. Kovács Szilveszter E. V. / 4.

Az adatkapcsolati réteg Pont-pont kapcsolat esetén csak LLC Logical Link Control Üzenetszórásos csatorna esetén MAC + LLC Medium Access Control + Logical Link Control Hálózati Adatkapcsolati Fizikai Hálózati Hálózati Hálózati Hálózati Hálózati LLC LLC LLC LLC MAC LLC MAC LLC MAC Fizikai Fiz. Fiz. Fizikai Fizikai Fizikai Dr. Kovács Szilveszter E. V. / 5.

Az adatkapcsolati réteg által megoldandó problémák Az átviteli hibák kiküszöbölése A véges (esetleg változó) adatátviteli sebességből adódó késleltetés kezelése A gépek véges feldolgozási képességeinek kezelése (esetleg változó) véges feldolgozási idő, véges fogadókapacitás gyors adó eláraszthatja a lassú vevőt (flooding) forgalomszabályozás Dr. Kovács Szilveszter E. V. / 6.

A hálózati rétegnek nyújtott szolgálatok Emlékeztető: az OSI szabványos szolgálat-primitívjei: kérés (request); bejelentés (indication); válasz(respond); megerősítés (confirm). A lehetséges szolgálat osztályok: Nyugtázás nélküli összeköttetés-mentes szolgálat Nyugtázott összeköttetés-mentes szolgálat Nyugtázott összeköttetés-alapú szolgálat Az adatkapcsolati réteg funkcióinak ezeket kell biztosítania. Dr. Kovács Szilveszter E. V. / 7.

Nyugtázás nélküli összeköttetésmentes szolgálat Összeköttetés-mentes Az adategységek (keretek) egymástól függetlenül kerülnek feladásra (a keretek önállóan vannak megcímezve) (az üzenetszórásos csatornák (MAC) általában összeköttetés-mentesek - LAN) Gyorsabb (nincs kapcsolat-felépítés, bontás) Visszajelzés nélküli nem biztos, hogy hibamentes alacsony hibaarány esetén lehet jó (kisebb lehet az overhead nem kell hibakezelés) a hibákat (valamelyik) felsőbb réteg kezeli (az veszi észre, az ismétel stb.) Dr. Kovács Szilveszter E. V. / 8.

Nyugtázott összeköttetés-mentes szolgálat Összeköttetés-mentes Az adategységek (keretek) egymástól függetlenül kerülnek feladásra (az üzenetszórásos csatornák (MAC) általában összeköttetés-mentesek - LAN) Gyorsabb (nincs kapcsolat-felépítés, bontás) Hibamentes átvitelt valósít meg nyugták jelzik a keretek hibátlan megérkezését. Ha tipikusan több hiba van, jobb a hibakezelést alacsony szinten intézni (kevesebb adatot kell ismételni) (bár ott a hibaszűrés bevezetése több overhead-et (veszteséget) jelent, mintha nem lenne) Dr. Kovács Szilveszter E. V. / 9.

Az átviteli hibák kezelése Gyakori, esetleg magából a MAC protokollból (pl. CSMA versengés) adódó hibákat magában a MAC protokollban kell kezelni Azonban ez a hibáknak csak egy része (pl. ha a címzett nem létezik, akkor sem kapja meg, ha nincs ütközés). A tipikus (gyakori) hibákat célszerű azon a legalacsonyabb szinten kezelni, ahol azok először detektálhatóak (Minél magasabban szinten történik a hibakezelés, annál több a hibákból adódó járulékos veszteség) De az alacsonyabb szintek valamilyen szintű hibakezelése nem mentesít a felsőbb szintek hibakezelésének szükségességétől! (Csak a hatékonyságot javítják.) Dr. Kovács Szilveszter E. V. / 10.

Nyugtázott összeköttetés-alapú szolgálat A társelemek párbeszédet folytathatnak. Az adategységek (keretek) ellenőrzötten és sorrendhelyesen pontosan csak egyszer érkeznek meg Megbízható, a küldési sorrenddel azonos vételi sorrendű keretfolyam Fázisai: az összeköttetés létrehozása (hívásfelépítés); a keretek átvitele (érdemi kommunikáció); az összeköttetés lebontása (erőforrás felszabadítás). Dr. Kovács Szilveszter E. V. / 11.

Az adatkapcsolati réteg funkciói Keretképzés és behatárolás A hálózati réteg adataiból keretek kialakítása és a fizikai bitfolyamból a keretek behatárolása. Hibavédelem Az adatok alkalmas kódolása, hibafelismerés, nyugták küldése és fogadása. Adatfolyam vezérlés (forgalomszabályozás, flow control) az adó adássebességének a vevő fogadóképességéhez igazítása (visszacsatolás fölöslegesen ne terhelje az adó a csatornát) Kapcsolatmenedzselés Összeköttetés-alapú szolgálat esetén lényeges összeköttetés létesítése, bontása, erőforrások lefoglalása, felszabadítása. Dr. Kovács Szilveszter E. V. / 12.

A keretképzés és behatárolás Az adatkapcsolati réteg szokásos működése: A hálózati rétegből kapott bitfolyamot diszkrét keretekké alakítja, melyeket ellenőrző összeggel lát el; majd továbbítja a kereteket bitfolyamból jelfolyam; a kapott jelfolyam bitfolyammá alakítása: a kereteket behatárolása, az ellenőrző összeg visszaellenőrzése; a bitfolyamot továbbítja a hálózati rétegnek. Keretképzés és behatárolás kerethatárok jelezése és ezen jelzések felismerése (a fölöttes hálózati réteg számára transzparensen) Keretképzés... Dr. Kovács Szilveszter E. V. / 13.

A keretképzés indokai Egyes MAC protokollok korlátos méretű (min., max.), esetleg fix méretű kerteket igényelnek A fizikai átvitel késleltetése csökkenthető, ha a keretek rövidebbek Egy keret meghibásodási valószínűsége csökkenthető, ha a keretek rövidebbek A folytonos bitfolyamon végzett hibafelismeréshez, behatároláshoz elengedhetetlenül szükséges Dr. Kovács Szilveszter E. V. / 14.

Keretképzési módszerek A négy vizsgált módszer A karakter-számlálásos keretezési módszer A karakter-beszúrásos keretezési módszer A bitbeszúrásos keretezési módszer Az érvénytelen kódmintás keretezési módszer Keretképzés... Dr. Kovács Szilveszter E. V. / 15.

A karakter-számlálásos keretezés A keret-fejrész egy mezőjében megadjuk a keret karaktereinek számát (a keret hosszát) Feltétel: léteznie kell karakterszinkronnak, fel kell tudni ismerni az egyes karaktereket Gond: nagyon sérülékeny: ha kiesik a szinkronból, félreértelmezi a kereteket ha bit elcsúszás, esetleg karaktereket is félreértelmezhet Hiba esetén nincs újbóli szinkronizálási lehetőség n i n k n i darab karakter i-ik keret k-ik keret Keretképzés... Dr. Kovács Szilveszter E. V. / 16.

A karakter-beszúrásos keretezés (Character stuffing) A keretek elejét és végét speciális karakter-szekvenciák jelzik. (Ez is csak karakterorientált módszer) Hiba esetén a keretszinkron könnyen helyreállítható (csak a keret eleje szekvenciát kell keresni). Keret eleje: DLE, STX (ASCII v EBCDIC karakter párok) Keret vége: DLE, ETX DLE: Data Link Escape STX: Start of Text ETX: End of Text Általában terminál kapcsolatoknál alkalmazzák Pl: az IBM BSC (Binary Synchronous Communication protokoll) Keretképzés... Dr. Kovács Szilveszter E. V. / 17.

Character stuffing D LE S TX Adatok D LE E TX D LE S TX Adatok D LE E TX i. keret i+1. keret Gond a transzparens átvitel: az adatok között ne legyen DLE, STX, vagy DLE, ETX Megoldás: a kerethatárok elhelyezése előtt az adatok közötti valamennyi DLE-t meg kell kettőzni: DLE+STX v. ETX párok a kerethatárokat jelezik, a DLE+DLE pedig DLE a szövegben. Pl. a szöveg: A+B+C+DLE+ETX+D+E; akkor a keret Gond: Karakter-orientált D LE S TX A B C D L E D LE E TX D E D L E E TX Keretképzés... Dr. Kovács Szilveszter E. V. / 18.

A bitbeszúrásos keretezés (Bit stuffing) Bit-orientált, nem kötődik karakterekhez Minden keret speciális bitmintával (flag) kezdődik és végződik 01111110 (6 db 1-es bit) Pl. az IBM SDLC (Synchronous Data Link Control Protocol) az ISO HDLC (High Level DLC, az X.25 is ezt használja) Gond: a bitfolyamban nem lehet ilyen bitminta Keretképzés... Dr. Kovács Szilveszter E. V. / 19.

Bit stuffing Transzparenssé alakítás: A kerethatárok elhelyezése előtt az adó az adat bitfolyamba minden egymás utáni 5 db 1-es bit után beszúr 1db. 0-át; a vevő a kerethatárok felismerése és levétele után minden egymás utáni 5 db 1-es bit után kivesz 1db. 0-át. Így a 6 bites 1-es sorozat biztosan csak a kertet eleje, vagy vége lehet. Pl. az adatok: Ekkor a keret: Előny: csak 1 bitet kell beszúrni, legföljebb 5 bitenként Keretképzés... 6db 1-es nem megengedhető 0110111111000 011111100110111110100001111110 flag A beszúrt 0 flag Dr. Kovács Szilveszter E. V. / 20.

Az érvénytelen kódmintás keretezés A keretek elejét és végét az adatbitektől eltérő módon kódolt jelekkel jelzik. Kódolás sértéssel. Pl. Manchester kódolás esetén a szokásos HL ill. LH helyett LL ill. HH ; Pl. a 802.5 vezérjeles gyűrű ilyen. Előnye: Transzparens, hatékony A keret elejét és végét jelző kódok nem fordulhatnak elő az adatok között (nem kell még biteket sem beszúrni) Hátránya: Nem lehet mindig megcsinálni (kódolás) Keretképzés... Dr. Kovács Szilveszter E. V. / 21.

Kombinált Sokszor a karakter-számlálásos módszert kombinálják valamilyen más módszerrel. A kerethossz megadás esetleg gyorsíthatja a feldolgozást; Egy másik módszer pedig megoldhatja a keretszinkron helyreállítását Keretképzés... Dr. Kovács Szilveszter E. V. / 22.

A hibavédelem A hibavédelem lehet közvetlen hibajavító, hibajelző kódolás esetén a vett szóból. és lehet közvetett hibajelző kódolás esetén nyugtázás útján. Pl: A vevő közvetlenül győződik meg a keret épségéről: a keret a formai szabályainak ellenőrzése; a kódolás és az ellenőrző összeg ellenőrzése. Pl: Az adó a hibáról közvetett módon nyugta útján értesülhet Negatív nyugta, vagy a pozitív nyugta hiánya jelzi a hibát (Küldött negatív nyugta általában nincs!) Hibakezelés... Dr. Kovács Szilveszter E. V. / 23.

Közvetlenség - közvetettség A vevő hibajavító kódolás esetén közvetlenül javíthatja is a hibát, hibajelző kódolás esetén csak érzékeli, de saját maga nem javíthatja közvetettség (az adó segítsége) Az adó Nem javítható hiba esetén (visszacsatolás a nyugtázási módszeren keresztül) újra kell adnia a keretet. Hibakezelés... Dr. Kovács Szilveszter E. V. / 24.

Közvetlen hibakezelés Hibajelzés, hibajavítás Alapvetően a redundanciára épül: a tényleges (hasznos) információknál több információt kell átvinni Mindig véges adategységekre vonatkozik (pl. ezért is kellenek a keretek) Hibakezelés... Dr. Kovács Szilveszter E. V. / 25.

Modell a kódolásra Üzenetfolyam: m db bit Redundáns bitek: r db bit Egy kódszó (code word): n = m + r bit Kódolás: m + r n (kódszavak képézése) Kód: az érvényes kódszavak összessége Lehetséges üzenetszám: 2 m Lehetséges kódszó szám: Érvényes kódszavak: 2 n (az érvénytelenekkel együtt) 2 m darab a2 n -ből. Hibakezelés... Dr. Kovács Szilveszter E. V. / 26.

Az adatátvitel Modell a kódolásra Üzenet (bitfolyam) Érvényes kódszavak Érv. v nem érv. kódszavak Üzenet, v kiértékelés Kódolás Átvitel Dekódolás A dekódolás eredményeként érvényes vagy nem érvényes kódszavakat kaphatunk érvényes kód esetén dekódolás üzenet; érvénytelen kód esetén esetén kiértékelés: hibajelzés, vagy hibajavítás. Dr. Kovács Szilveszter Hibakezelés... E. V. / 27.

Hamming távolság Kódszavak Hamming távolsága (Hamming 1950): Két kódszóban az egymástól eltérő bitek száma (két kódszó kizáró-vagy kapcsolatában az 1-ek száma). Ha két kódszó H távolsága d, akkor d db 1 bites hibával konvertálhatók át egymásba, vagy érvényes kódszóból d számú 1 bites hibával érvényes kódszó adódhat. Kód Hamming távolsága: A kód kódszavai közötti legkisebb H távolság. (A kód az érvényes kódszavak összessége.) Hibakezelés... Dr. Kovács Szilveszter E. V. / 28.

Tételek Tétel 1: Valamely kód alkalmas d darab hiba felismerésére a kód Hamming távolsága d + 1 Tetszőleges d darab egyedi hiba csak érvénytelen kódszót eredményezhet. Tétel 2: Egy kód alkalmas d darab hiba javítására a kód Hamming távolsága 2. d + 1 Tetszőleges d hiba esetén is közelebb állunk az eredeti kódszóhoz, mint bármi más kódszóhoz. Tétel 3: A hibajavító kód egyben hibafelismerő kód is. A d hibát javítani képes kód 2d hibát képes felismerni. Hibakezelés... Dr. Kovács Szilveszter E. V. / 29.

Tételek Tétel 4: Tökéletes (közvetlen) hibavédelem, hibajavító kód valamennyi bitre nem létezik. Legyen n bites kódszó, valamennyi bitre hibajavító. Ekkor a kód H-távolsága 2. n + 1 kellene legyen. Ez lehetetlen, hiszen 2. n + 1 > n Megjegyzés Belátható, hogy a hibajavító kódok alkalmazása nagy redundanciát igényel. Ez csökkenti a hatékonyságot (növeli az overhead-et). Adatátvitel esetén (ahol viszonylag alacsony a hibaarány) hatékonyabb a kevésbé redundáns hibajelző kódot alkalmazni, és újraadni a hibás kódokat (adategységeket)! Hibakezelés... Dr. Kovács Szilveszter E. V. / 30.

Hibajelző kódok Paritásos kód Blokkonként paritás Ciklikus redundancia kód (CRC) Dr. Kovács Szilveszter Hibakezelés... E. V. / 31.

Paritásos kód Az adatok végére egyetlen paritásbitet (parity bit) illeszt. Ennek értékét úgy kell választani, hogy Páros paritás (even parity) esetén a kódszóban az 1-esek száma páros (even) legyen (párosra egészít ki), vagy Páratlan paritás (odd parity) esetén a kódszóban az 1-esek száma páratlan (odd) legyen. Pl. Páros paritásbit: az adatbitek kizáró-vagy (XOR) kapcsolata A paritásos kód a kód H-távolságát 1-ről 2-re növeli, ezzel 1 egyedi hibát észlelhetünk. Gond: csoportos hibák esetén 0,5 a hibajelzés valószínűsége (csoportos hiba: több egymásmelletti bit sérül) Dr. Kovács Szilveszter E. V. / 32.

Bit-interleaved Parity (Blokkonkénti paritásbit) Egymástól távoli biteket vizsgál és azokból képez paritásbitet (csoportos hibák észlelése) Képzési módszer: az adatbitekből mátrixot alkotunk; és a paritást oszloponként képzi; majd a kapott paritásbiteket a mátrix utolsó sorának teszi; a biteket soronként küldjük el. Dr. Kovács Szilveszter E. V. / 33.

Bit-interleaved Parity m Parity 1 2 Bit-interleaved Parity k k+1 1 0 1 Az egyes oszlopokra vonatkozó par.bitek Belátható: egyetlen, max. m bites csoporthibát képes észlelni; az m+1 hosszú csoporthiba már észrevétlen maradhat; Pl: észrevétlen maradhat az i. és i+m. bit együttes hibája. Dr. Kovács Szilveszter E. V. / 34.

Ciklikus redundancia kód Cyclic Redundancy Check (CRC) Más néven: polinom-kód (polinomial code) Elgondolás: tekintsük a bitfüzéreket 0 és 1 együtthatójú polinomoknak, azaz egy m bites keret m-1 fokú polinom: M(x)=a m-1 x m-1 + a 1 x + a 0 Példa: 4 3 2 1 0 1 0 0 1 1 x 4 + x + 1 CRC Dr. Kovács Szilveszter E. V. / 35.

Ciklikus redundancia kód Elgondolás (folytatás): Legyen M(x) a védendő keret Legyen G(x) az r+1 bites, r-ed fokú generátor polinom, úgy, hogy m > r+1 (hosszabb a keret, mint a generátor polinom), és a G(x) generátor polinom mind az adóban, mind a vevőben egyforma, előre adott. Alapelv: Legyen R(x) az ellenőrző összeg (checksum) az az r-1-ed fokú (r bites) polinom, melyet a védendő keret M(x) végéhez fűzve, azzal együtt G(x)-szel maradék nélkül osztható polinomot alkot. Ahol az osztás a moduló 2 aritmetikán alapul. 0 + 0 = 0 0-0 = 0 0 + 1 = 1 0-1 = 1 1 + 0 = 1 1-0 = 1 1 + 1 = 0 1-1 = 0 CRC Dr. Kovács Szilveszter E. V. / 36.

Az ellenőrző összeg számítása Legyen G(x) r-ed fokú Illesszünk az M(x) védendő keret mögé r db 0-át (hogy ez m+r bites legyen): M(x)*x r Osszuk ezt el (mod-2 algebra szerint) a G(x) generátor polinommal Az osztás maradéka lesz az R(x) keresett ellenőrző összeg A keresett kódszó: T(x) = M(x)*x r +R(x) Állítás: T(x) maradék nélkül osztható a G(x)-szel. CRC Dr. Kovács Szilveszter E. V. / 37.

Az állítás bizonyítása A moduló-2 aritmetika esetén: (Kizáró vagy - XOR, nincs átvitel) 0 + 0 = 0 0-0 = 0 0 + 1 = 1 0-1 = 1 1 + 0 = 1 1-0 = 1 1 + 1 = 0 1-1 = 0 Bizonyítás: M(x) x G(x) T(x) G(x) = r = Q(x) + R(x) G(x) r M(x) x + R(x) G(x) és = Q(x) + R(x) G(x) + R(x) G(x) Ez mod-2 aritmetikában 0 (A + A = 0) CRC Dr. Kovács Szilveszter E. V. / 38.

Hiba esetén: T(x) T'(x) = T(x) + E(x) ahol E(x)-ben 1 van, ott a T(x) megváltozott! Ugyanis T' (x) G(x) T(x) + E(x) = = G(x) T(x) G(x) + E(x) G(x) Itt nincs maradék Ennek maradéka jelzi a hibát Ebből tétel: Minden E(x)-re hibát jelez, ami nem osztható G(x)-szel Pl. egyetlen bithiba esetén E(x) = x i ; ahol az i-ik bit hibás Ha G(x) két, vagy többtagú, mindig jelzi az egyes bithibát! CRC Dr. Kovács Szilveszter E. V. / 39.

Szabványos generátor polinomok CRC-12 = x 12 + x 11 + x 3 + x 2 + x + 1 CRC-16 = x 16 + x 15 + x 2 + 1 CRC-CCITT = x 16 + x 12 + x 5 + 1 Tulajdonságaik (CRC-16; CRC-CCITT) észlelik az összes 1-es és 2-es hibát; az összes páratlan hibás bit hibát; a 16-os, v rövidebb csoportos hibát; a 17-es csoportos hibák 99,997%-át. A CRC algoritmusok számításához egyszerű, léptetőregiszteres áramkör építhető, Ez HW, ezt használják. CRC Dr. Kovács Szilveszter E. V. / 40.

Elemi adatkapcsolati protokollok Adatkapcsolati rétegek közötti protokoll Az adatkapcsolati réteg funkciói: Keretképzés és behatárolás Hibavédelem Közvetlen (hiba észlelő, javító kódolás) Közvetett (nyugta) Elemi adatkapcsolati protokollok Adatfolyam vezérlés Kapcsolat menedzselés Közvetett hibavédelmet és adatfolyam vezérlést (forrás-vevő szinkronizálást) valósítanak meg. Építenek a keretképzésre és a közvetlen hibaészlelésre. Dr. Kovács Szilveszter E. V. / 41.

Elemi adatkapcsolati protokollok A vizsgálatok előfeltevései A fizikai, az adatkapcsolati és a hálózati réteg független folyamatok, melyek üzeneteken keresztül kommunikálnak nincs egymásrahatás átlátszóak Két állomást vizsgálunk, melyek a hálózati rétegtől kapott végtelen hosszú üzeneteket akarnak küldeni egymásnak az adónak nem kell várnia a küldendő adatra, az mindig rendelkezésre áll. Dr. Kovács Szilveszter E. V. / 42.

Általános előfeltételek Az adatkapcsolati keretek általános felépítése: Fejrész Header Információs rész Data Farokrész Trailer A fejrészben lehet: keret típus: - információs keret (adatok ) - vezérlő keret sorszám, nyugta információ Az adatrész: a hálózati réteg adatai A farokrészben: hibavédelmi információk lehetnek Követelmény: hibamentes, sorrendhelyes átvitel Dr. Kovács Szilveszter E. V. / 43.

A vizsgált protokollok Korlátozás nélküli szimplex (utópia) protokoll Szimplex megáll és vár protokoll Szimplex protokollok zajos csatornára Forgóablakos protokollok Dr. Kovács Szilveszter E. V. / 44.

Korlátozás nélküli szimplex (utópia) protokoll További előfeltevések végtelenek a bufferek (a vevő sohasem telik be) hibamentes a csatorna Működés: Az adó folyamatosan ad a vevő folyamatosan vesz Egyirányú, nincs adó-vevő szinkronizálás Adó Vevő (Utópisztikus nincs szükség sem hibajavításra, sem adatfolyam vezérlésre) Dr. Kovács Szilveszter E. V. / 45.

Szimplex megáll és vár protokoll További előfeltevések: Véges bufferek (a vevő betelhet, szükséges a forgalomszabályozás); Hibamentes a csatorna. Működés: (1) adó ad egy keretet, majd várakozik; vevő veszi a keretet, majd nyugtát küld; adó veszi a nyugtát, majd folytatja az (1) ponttól Adó Vevő Az adónak meg kell várnia a vevő nyugtáját visszacsatolás szinkronizálja az adó sebességét a vevő sebességéhez forgalomszabályozás Gond: Nem jó zajos csatornára (a nyugtavesztésen elakad) előfeltevés a hibamentesség Dr. Kovács Szilveszter E. V. / 46.

Szimplex protokoll zajos csatornára PAR: Positive Acknowledgement with Retransmission További előfeltevések: véges bufferek, zajos csatorna. Működés (A1) az adó ad egy keretet, majd (A2) beállít egy időzítőt és várakozik (A3) az adó az időzítő lejárta esetén újraadja a keretet, majd megy (A2)-re (A4) az adó nyugta vétele esetén megy az (A1)-re (V1) a vevő érvényes keret vétele esetén továbbítja az a felettes rétegnek, majd nyugtát küld. (V2) a vevő érvénytelen keret vétele esetén vár A PAR protokoll Forgalomszabályozást és hibavédelmet biztosít (hiba esetén újraküldéssel) Dr. Kovács Szilveszter E. V. / 47.

Szimplex protokoll zajos csatornára Gond: nyugta sérülés esetén ugyanazt a keretet az adó többször is elküldi Ezért az egymás utáni kereteket meg kell tudni különböztetni Elég 1 bit az adott keretek megszámozására A t t sérül 0 1 0 0 V 0 A nyugtának is kell sorszám (elkéső ismételt nyugta)! 1 0 0 sérül Kettőzött, de mert a sorszám egyezik az előzővel, Dr. Kovács Szilveszter eldobja E. V. / 48. 0 1

Forgóablakos protokoll (Sliding window) További előfeltevések: végesek a bufferek, zajos a csatorna. Megoldandó probléma még: Nagy átviteli késleltetés esetén túl hosszú kivárni a körülfordulási időt (amíg a nyugta visszaér az újabb keret elküldése előtt). Megoldás: több nyugtázatlan keret elküldését kell lehetővé tenni, ugyanakkor sorrendhelyes keretátvitelt kell biztosítani. Forgóablakos Dr. Kovács Szilveszter E. V. / 49.

Forgóablakos protokoll Az elküldött kereteket ciklikusan sorszámozzuk Pl. n bites sorszám esetén 0, 1,. (2 n -1), 0, 1,... (2 n -1), 0,... Az adó ablakot képez, (max. w adó szélességűt), melybe az elküldött, de még nyugtázatlan keretek sorszámai kerülnek. A vevő ablakot képez, (állandó w vevő szélességűt), mely azokat a sorszámokat tartalmazza, mely sorszámú kereteket hajlandó fogadni. Forgóablakos Dr. Kovács Szilveszter E. V. / 50.

A forgóablakos protokoll működése (A1)Adó a hálózati rétegtől kap egy keretet, tárolja pufferében, elküldi, ugyanekkor beállít egy ehhez tartozó időzítőt, valamint növeli 1-gyel az adóablak felső határát w Adó, Mindezt ismétli, míg el nem éri a max. ablakszélességet (ha egyáltalán eléri). (A2)Az adó, ha valamely kerethez tartozó időzítő lejárt, azt a keretet a pufferéből újraadja. (A3)Az adó, ha nyugtát vesz, az adó ablak alsó határát a nyugta sorszámát követő értékre állítja. Vevő vesz egy keretet. (V1)Ha a vett keret hibás, nem csinál semmit (nem nyugtáz), Ha a vett keret ép, akkor (V2) Ha kívül van a vevőablakon: nem csinál semmit (eldobja és nem küld nyugtát), Ha beleesik a vevőablakba, akkor nézi, hogy a vett keret sorszáma azonos-e a vevőablak alsó határával. (V3) Nem azonos: veszi a keretet és tárolja a pufferében. (V4)Azonos: veszi a keretet (továbbadja a hálózati rétegnek, ha pufferében vannak még ezen kívül soron következők, akkor azokat is továbbítja). Ugyanekkor nyugtázza a folytonos sorrendbeli legnagyobb sorszámú keretet, továbbá az ezt követő sorszámra állítja a vevőablak alsó határát. A vevőablak fix méretű w Vevő a felső határ is elmozdul ennyivel. Kiegészítés: A legutolsó nyugtázott keret újraküldése esetén a vevő a nyugtát megismétli! Forgóablakos Dr. Kovács Szilveszter E. V. / 51.

Pl. a forgóablakos protokoll működésére Legyen w Adó = 5; w Vevő = 3; A 3. sorszámú keret hibásan érkezik A3 A3 A3 t3 újraad A3 3 4 5 6 7 A3 A3 Adóablak alja w A =5 a Adóablak teteje A f A1 0 0 A1 0 1 A1 A1 A1 A1 A1 A1 A2 A2 A2 A2 A2 0 1 2 3 3 3 3 3 3 6 6 2 3 4 5 6 7 7 7 7 7 7 0 1 2 5 A1 6 8 7 9 6 7 8 9 Vevőablak alja w V =3 a Vevőablak teteje f V 0 2 0 1 2 3 4 5 6 7 3 4 5 6 7 8 1 3 2 4 3 5 V4 V4 V4 E 4 5 V1 V3 V3 D D D D ablakon kívül V2 V2 6 8 V4 V2 V2 7 9 8 10 9 11 V4 V4 V4 9 Forgóablakos Dr. Kovács Szilveszter E. V. / 52.

Az adó szemszögéből nézve (A1) Adó ad, beállít egy időzítőt, növeli az ablak felső határát (időzítő beállítás nem mindig látszik) (A2) Ha az időzítő lejárt, keretet a pufferéből újraadja. (A3) Az adó, ha nyugtát vesz, ablak alsó határát a nyugta sorszámát követő értékre A3 A3 A3 t3 A3 A3 A3 A1 A1 A1 A1 A1 A1 A1 A1 A2 A2 A2 A2 A2 A1 A1 w A =5 a f 0 0 1 2 1 3 2 4 3 5 6 7 6 8 7 8 9 A 0 1 2 5 6 7 V 0 1 2 3 4 5 6 7 3 4 5 6 7 8 E D D D D w V =3 a f 0 2 1 3 2 4 3 5 4 5 6 8 7 9 8 10 9 11 V4 V4 V4 V1 V3 V3 V2 V2 V4 V2 V2 V4 V4 V4 Forgóablakos Dr. Kovács Szilveszter E. V. / 53.

A vevő szemszögéből nézve A3 A3 A3 t3 A3 A3 A3 A1 A1 A1 A1 A1 A1 A1 A1 A2 A2 A2 A2 A2 A1 w A =5 a f 0 0 0 1 0 2 1 3 2 4 3 5 6 7 6 8 7 8 A 0 1 2 5 6 7 V 0 1 2 3 4 5 6 7 3 4 5 6 7 8 E 4 5 D D D D w V =3 a f 0 2 1 3 2 4 3 5 6 8 7 9 8 10 9 11 V4 V4 V4 V1 V3 V3 V2 V2 V4 V2 V2 V4 V4 V4 (V1)Ha a vett keret hibás, nem csinál semmit (nem nyugtáz), (V2) Ha kívül van a vevőablakon: nem csinál semmit (eldobja), (V3) Nem azonos az alsó határral: veszi a keretet és tárolja a pufferében. Forgóablakos (V4) Keretet továbbítja, ha vannak pufferében soron következők, azokat is továbbítja. Nyugtázza a legnagyobb sorszámú keretet, az ezt követőre állítja az ablak alsó határát, a felső határt is elmozdítja ennyivel. Dr. Kovács Szilveszter E. V. / 54.

Az ablakméret megválasztása A választást a terjedési késleltetés (adóablak) és a hibaarány határozhatja meg (vevőablak). Minél nagyobb késleltetés, annál szélesebb az adóablak: Ne kelljen megállnia az adónak míg a nyugta visszaér (az ablak legalább a körbejárási ideig kitartson) Minél nagyobb a vevőablak, annál kevesebbet kell megismételni hiba esetén: A hibás keret újbóli vétele után a vevő a korábban vett rákövetkező jókat is nyugtázza A vevőablak mérete max. az adóablak Forgóablakos Dr. Kovács Szilveszter E. V. / 55.

A PAR protokoll w a = 1; w v = 1 ablakméretű forgóablakos protokoll t t sérül A 0-0 1-1 2-2 3-3 0 1 2 2 V 2 1 2 0 sérül 0-0 1-1 2-2 3-3 2 Eldobja 3 Megjegyzés: az eredeti PAR-nál a csomagszámozás 0, 1 volt. Itt a számlálómező szélesebb Dr. Kovács Szilveszter E. V. / 56.

Ráültetéses nyugtázás (piggybacking) duplex (kétirányú) a csatorna esetén: ráültetéses (piggybacking) nyugtázás lehetséges: a vevő a nyugtákat az ellenirányú adatkeretekre ültetve küldi el (az adatkeretben néhány bit fenntartva a nyugta számára) Gond: ha sokáig nincs ellenirányú forgalom késik a nyugta Megoldás: a vevő, ha nyugtát küldene, időzítést állít be és ha ez letelik míg nincs adnivalója (amire ráültethetné a nyugtát), akkor önálló nyugtakeretet küld. piggyback = (US) pick-a-back = biz gyerm vknek a hátán/vállán ülve Dr. Kovács Szilveszter E. V. / 57.

PAR ráültetéses nyugtázással A és B állomások, mindkettő adó és vevő (kétirányú adatforgalom) Jelölés: keretsorsz, nyugtasorsz, keret (sorszám 1 bites) Pl. 0, 0, Ai; vagy 1, 1, Bj t A wa 0-0 1-1 0-0 1-1 wv 0-0 1-1 0-0 1-1 (0, 0, B0) (1, 1, B1) (0, 1, A2) (0, 0, B2) sérül (, 1, ) (0, 1, A0) sérül (0, 0, B2) (1, 0, A1) (0, 1, A2) (1, 0, A3) B wa 1-1 0-0 1-1 0-0 wv 0-0 1-1 0-0 1-1 0-0 t Dr. Kovács Szilveszter E. V. / 58.

PAR ráültetéses nyugtázással A és B állomások, mindkettő adó és vevő (kétirányú adatforgalom) Jelölés: keretsorszám, nyugtasorszám, keret (a sorszám 1 bites) Pl. 0, 0, Ai; vagy 1, 1, Bj A wa 1-1 0-0 1-1 wv 0-0 1-1 0-0 0-0 1-1 (0, 1, A0) (1, 0, A1) (0, 1, A2) B wa wv 1-1 0-0 (0, 1, B0) 0-0 1-1 (1, 0, B1) 1-1 0-0 (0, 1, B2) 0-0 1-1 Dr. Kovács Szilveszter E. V. / 59.

Ha túl rövid az időzítés B-nél t A wa wv 1-1 0-0 1-1 0-0 0-0 1-1 D 0-0 D 1-1 D (0, 1, A0) (1, 0, B1) (0, 1, B2) B wa 1-1 (0, 1, B0) 0-0 (0, 1, B0) (1, 0, B1) 1-1 (0, 1, B2) (1, 0, A1) 0-0 (0, 1, A2) (0, 1, B2) (0, 1, A2) wv 0-0 1-1 0-0 t t t t Gond: Sok a felesleges ismétlés, de még így is (sorrend)helyesen működik (a hatékonyságot rontja) Dr. Kovács Szilveszter E. V. / 60.

Visszalépés n-nel (go back n) hibakezeléses protokoll Legyen w a = n (nagy adóablak), w v = 1 (vevő egyesével nyugtáz). Hiba esetén a vevő az összes rákövetkező keretet eldobja, míg az adó meg nem ismétli a hibás keretet (ezért hívják visszalépésesnek ). Dr. Kovács Szilveszter E. V. / 61.

Go back n protokoll t A 0-0 0-1 0-2 0-3 0-4 1-4 1-5 2-5 2-6 3-6 4-7 5-8 6-8 0 1 2 3 4 5 6 7 V 0 1 2 3 4 5 6 2 3 4 5 6 7 8 1-1 2-2 E D D D D 3-3 4-4 5-5 6-6 7-7 8-8 9-9 Gyakori hibák esetén nem hatékony. Nagyobb vevőablak esetén a vevő a jól beérkezett kereteket az ablakméret erejéig eltárolja, így amikor az adó megismétli a hibásat, a jókat is nyugtázza (kevesebbet kell újraadni). Ezért nevezik a teljes forgóablakos protokollt szelektív ismétlésnek is. Dr. Kovács Szilveszter E. V. / 62.

A ciklikus-számlálómező mérete Az ablakméretek határozzák meg n bites ciklikus számlálómező esetén a sorszámok 0 - (2 n - 1) közöttiek lehetnek a) Ekkor az adó max ablakmérete 2 n - 1 lehet. b) Ekkor a vevőablak max mérete 2 n-1 lehet. Dr. Kovács Szilveszter E. V. / 63.

Tegyük fel, nem tartjuk be az a)-t Legyen n = 3 (0-7 sorszámok), w a = 8 Adó elküldi a 0-7 sorszámú kereteket (8 db) Az adó 7-es sorszámú nyugtát kap, ezért újabb 8 keretet küld, (0-7 sorszámokkal most is). Az adó újból 7-es sorszámú nyugtát kap: nem lehet eldönteni, hogy ez az újabb 8 keret nyugtája, vagy az előző 8 nyugtájának az ismétlése! max. 2 n - 1 Dr. Kovács Szilveszter E. V. / 64.

Tegyük fel, nem tartjuk be a b)-t Legyen n = 3 (0-7 sorszámok), w a = 7, w v = 5 Adó elküldi a 0-6 sorszámú kereteket (7 db) A vevő elfogadja mindet, nyugtázza, ablakát 7-3 -ra állítja, de a nyugták elvésznek! Adó újraadja az első 7-et (0-6 sorszámokkal most is, mert az időzítése lejárt). Ezekből a vevő elfogadja és puffereli a 0-3 számú 4 db-ot, azokat a következő sorozatnak gondolva A bajt az átlapolódás okozza. A vevőnél nem szabad átlapolódnia a sorszámoknak. A vevőnél az ablakméret max = (adó max sorszám + 1) / 2 lehet! Az i. sorszámú keret az i mod w v pufferbe kerül, nem lehet átlapolódás! max. 2 n-1 Dr. Kovács Szilveszter E. V. / 65.

Összefoglalás Általános megállapítások Keretképzés - felismerés Hibakezelés, ami lehet közvetlen, ill. közvetett. Adatfolyam vezérlés Elemi adatkapcsolati protokollok Dr. Kovács Szilveszter E. V. / 66.

Gyakorlat 1. feladat: CRC számítása (adás) Legyen az üzenet: 1 1 0 1 0 1 M(x) = x 5 + x 4 + x 2 + 1 (m = 5) Legyen a gen. polinom:1 1 0 1 G(x) = x 3 +x 2 + 1 (r = 3) Adás, R(x) képzése: M(x)*x r = x 8 + x 7 + x 5 +x 3 (M(x)*x r )/G(x) = (x 8 + x 7 + x 5 +x 3 ) : (x 3 +x 2 + 1) = x 5 + 1 - (x 8 + x 7 + x 5 ) Adás, T(x) összeállítása: x 3 - (x 3 +x 2 + 1) x 2 + 1 = R(x) R: 1 0 1 T(x) = 1 1 0 1 0 1 1 0 1 T(x) = x 8 + x 7 + x 5 + x 3 + x 2 + 1 m r Dr. Kovács Szilveszter E. V. / 67.

Gyakorlat 1. feladat: CRC ellenőrzése (vétel) Vétel, a kódszó ellenőrzése: (x 8 + x 7 + x 5 + x 3 + x 2 + 1) : (x 3 +x 2 + 1) = x 5 +1 - (x 8 + x 7 + x 5 ) x 3 + x 2 + 1 - (x 3 + x 2 + 1) 0; rendben, nincs maradék. Ugyanez bináris számokkal: M(x)*x 3 = 1 1 0 1 0 1 0 0 0 G(x) 1 1 0 1 jobbra tolni az első 1-ig, majd kivonni 0 0 0 0 0 1 0 0 0 1 1 0 1 jobbra tolni az első 1-ig, majd kivonni 1 0 1 = R (nem osztható továbbb) Dr. Kovács Szilveszter E. V. / 68.

Ki Gyakorlat CRC képzés HW megvalósítás tárolók és antvalencia (XOR) Pl: G(x): 1 1 0 1 ( x 3 +x 2 + 1 ), r = 3 Kezdetben tároló 0 T T T Üzenet be (MSB először) Ott van átkötés és antvalencia, ahol a G(x)-ben 1-van x 3 x 2 1 Ha legelől 1-van kivonja G(x)-et, majd léptet Ha az összes bit belépett a tárolókban előáll a maradék A teljes áramkör (adó): (a vevő mint a fenti ák., csak m+r lép be és a tárolókat nézi, hogy 0-e (van-e maradéka)) demultiplexer T T T Üzenet be (MSB először) Vezérlés: m lépésig: V = 1 (kilép az üzenet + maradék a regiszterekben) V r lépésig: V = 0 (kilép az ellenőrző összeg) Dr. Kovács Szilveszter E. V. / 69.