Az adatkapcsolati réteg

Hasonló dokumentumok
7. Adatkapcsolati réteg

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

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

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

AST_v3\

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

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

3. Az adatkapcsolati réteg

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

10. fejezet 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

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. 5. gyakorlat

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

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

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

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

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

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

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

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

Adatkapcsolati réteg 1

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

ADATKAPCSOLATI PROTOKOLLOK

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

ADATKAPCSOLATI RÉTEG

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

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

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

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

Diszkrét matematika II. feladatok

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

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

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

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

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}

Az Informatika Elméleti Alapjai

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

A CAN hálózat alapjai

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

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

Hatványozás. A hatványozás azonosságai

Számítógép Architektúrák

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.

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

Diszkrét matematika alapfogalmak

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

Diszkrét matematika 2.C szakirány

Informatikai Rendszerek Alapjai

4. Fejezet : Az egész számok (integer) ábrázolása

Digitális technika VIMIAA02 1. EA Fehér Béla BME MIT

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

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

Digitális technika VIMIAA02 1. EA

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

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

Digitális technika VIMIAA01

Digitális technika VIMIAA01

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

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

2. Fejezet : Számrendszerek

A digitális átviteltechnika második generációja. Szinkron Digitális Hierarchia

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

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

Jel, adat, információ

Diszkrét matematika 2.C szakirány

EuroOffice Professzionális Vonalkód és QR kód generátor

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

Hálózati protokoll tervezése

Dr. Oniga István DIGITÁLIS TECHNIKA 2

4. Hivatkozási modellek

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

Hálózati réteg. Feladata: a csomag eljusson a célig Több útválasztó Ez a legalacsonyabb rétek, mely a két végpont

1. fogalom. Add meg az összeadásban szereplő számok elnevezéseit! Milyen tulajdonságai vannak az összeadásnak? Hogyan ellenőrizzük az összeadást?

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

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

loop() Referencia:

DIGITÁLIS TECHNIKA I BINÁRIS SZÁMRENDSZER BEVEZETŐ ÁTTEKINTÉS BINÁRIS SZÁMRENDSZER HELYÉRTÉK. Dr. Lovassy Rita Dr.

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

;3 ; 0; 1 7; ;7 5; 3. pozitív: ; pozitív is, negatív is: ;

Hálózati architektúrák laborgyakorlat

2. fejezet Hálózati szoftver

1. A maradékos osztás

Járműfedélzeti hálózatok. Digitális adatátviteli alapfogalmak Aradi Szilárd

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

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)

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

2.5 Soros adatkommunikációs rendszerek CAN (Ötödik rész)

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

Diszkrét matematika 2.

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

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

INVERSE E1 MULTIPLEXER LAN BRIDGE

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

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

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

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

Digitális technika VIMIAA hét

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Átírás:

Az adatkapcsolati réteg Programtervező informatikus BSc Számítógép hálózatok és architektúrák előadás Az adatkapcsolati réteg A fizikai átviteli hibáinak elfedése a hálózati réteg elől Keretezés Adatfolyam tördelése Küldés sorrendben Nyugtázás (megbízható szolgáltatás) Kerethatárok felismerése Forgalomszabályozás Elárasztás elleni védelem (felsőbb rétegekben is) Adó tájékoztatása a vevő szabad puffereiről Összeköttetés iránya (szimplex, fél duplex, duplex) Osztott csatornához való hozzáférés szabályozása Az adatkapcsolati réteg Tervezési szempontok Jól definiált interfész biztosítása a hálózati rétegnek Az átviteli hibák kezelése Az adatforgalom szabályozása Megvalósítás: Keretezés A hálózati réteg csomagjainak keretbe foglalása keret fejrész adatmező keret farokrész

Szolgáltatások típusai a hálózati réteg felé I. Nyugtázatlan összeköttetés mentes szolgálat Egymástól független keretek küldése a forrástól a célig Nincs előzetes kapcsolatépítés és bontás Az elveszett kereteket nem állítja helyre a réteg Alkalmazhatóság Alacsony hibaarány esetén (javítás a felsőbb rétegekben) Valós idejű adatforgalom esetén (hangátvitel) Nyugtázott összeköttetés mentes szolgálat Szintén nincs előzetes kapcsolatépítés és bontás Minden egyes keret megérkezését nyugtázza a cél állomás Alkalmazhatóság Pl.: vezeték nélküli kapcsolatoknál Szolgáltatások típusai a hálózati réteg felé II. Nyugtázott összeköttetés alapú szolgálat Összeköttetés felépítése az adatátvitel előtt Sorszámozott keretek minden keret garantáltan megérkezik minden keret garantáltan egyszer érkezik meg minden keret a megfelelő sorrendben érkezik meg Az átvitel folyamata összeköttetés felépítése (számlálók, változók inicializálása) keret(ek) továbbítása összeköttetés bontása (számlálók, változók felszabadítása) Keretezés A fizikai réteg nem garantál hibamentes átvitelt A réteg feladata ezen hibák jelzése, javítása Keretezés Az adatfolyam feldarabolása kisebb részekre (keret) Ellenőrző összegek számítása minden kerethez Az átvitel ellenőrzése A fogadott adatok alapján az ellenőrző összeg kiszámítása A fogadott és az újraszámolt összeg összehasonlítása A kerethatárok jelölésének problémái Szünetek beszúrása az egyes keretek közé?

A kerethatárok jelölése - Karakterszámlálás Minden keret fejrészében megadásra kerül a keret karaktereinek száma A vevő a fejrészből tudja, hány karakter tartozik a kerethez Illetve, hogy hol lesz a keret vége (a következő eleje) Problémák: A karakterszám mezőt is érheti átviteli hiba A vevő kiesik a szinkronból, nem találja a következő keretet Hibás ellenőrző összeg hibás keret de hol kezdődik a következő keret? Az újraküldés sem megoldás Kezdő- és végkarakterek karakterbeszúrással A kerethatárok jelzése egy különleges karakterrel Régebben eltérő protokollok eltérő bájtot használtak Manapság egységes "jelző bájt" (flag byte) jellemző Ha a vevő kiesik a szinkronból csak megvárja a következő flag byte-ot Az első flag byte az adott keret vége A második flag byte a következő keret eleje Mi történik ha a flag byte-nak megfelelő karaktert akarunk átvinni? (bináris átvitel) Kivétel bájt (escape byte) beszúrása És ha escape byte-ot kell átvinni? Kezdő- és végjelek bitbeszúrással A karakterkódok hossza ne legyen része a keretezésnek Tetszőleges számú bit legyen átvihető egy keretben Flag byte: Az adó minden ötödik -es után beszúr egy -t A vevő minden ötödik -es után törli a követő -t A jelző bájt is probléma nélkül átvihető Adási oldal: Vételi oldal: Transzparens átvitel mindkét irányban Adatfolyam az adó oldalán: Átviteli vonal: Adatfolyam a vevő oldalán:

Fizikai rétegbeli kódolássértés Alkalmazható ha a fizikai réteg kódolása redundáns Például ahol egy bit kódolása is jelváltással történik Előnyös: a vevő könnyen felismeri a bithatárokat Nincsenek szinkronizációs problémák Logikai magas szint: magas alacsony jelváltás Logikai alacsony szint: alacsony magas jelváltás Nincs magas magas vagy alacsony alacsony átmenet Ezek használhatók a kerethatárok jelzésére A gyakorlatban több megoldás kombinációja használt Forgalomszabályozás A lassabb (terhelt) gép védelme elárasztás ellen A túlterhelés keretek elvesztéséhez vezet Visszacsatolás alapú forgalomszabályozás A vevő tájékoztatja az adót a pillanatnyi állapotáról A vevő engedélyezi az adónak a további küldést Az adatkapcsolati réteg jellemző megoldása Sebesség alapú forgalomszabályozás A protokoll tartalmazza a sebességkorlátozást Ez minden adóra nézve kötelező érvényű Hibakezelés Lehetséges problémák Megérkezett-e minden keret? Minden keret csak egyszer érkezett-e meg? A keretek megfelelő sorrendben érkeztek-e meg? Visszacsatolás szükséges a vevő felől Pozitív és negatív nyugták Ha nem érkezik meg a keret? Időzítők alkalmazása Keretek újraküldése Többször megérkezhet ugyanaz a keret Kimenő keretek sorszámozása

Egybites és csoportos hibák Egybites hibák Csoportos hibák Bizonyos közegek esetén sokkal gyakoribb Azonos hibaarány mellett kevesebb hibás keret Jelzése és javítása lényegesen nehezebb Példa: adatblokk legyen bit, a hibaarány =,% Független hibák esetén átlagban minden keret hibás lesz bites csoportos hibáknál -ból - keret lesz hibás Hibajelző és hibajavító kódok Hibajelző kódok Csak a hibás átvitel tényét jelzi újraküldés Alacsony hibaarány mellett lehet praktikus Hibajavító kódok A hibás adatokból helyreállítható a helyes üzenet Alkalmas lehet bizonytalan átviteli közegek esetén Redundancia m - adatbitek r - redundáns bitek n = m + r (teljes keret - n bites kódszó) Hamming-távolság Azonos helyen előforduló különböző bitek (XOR) Teljes kód Hamming-távolsága d számú hiba jelzéséhez d+ Hamming-távolságú kód szükséges d számú hiba javításához d+ Hamming-távolságú kód szükséges Paritásbit alkalmazása Hamming-távolság: Alkalmas bites hibák jelzésére

Hibajavító Hamming-kód Az üzenet bitjeit balról jobbra -től számozzuk egész számú hatványai lesznek az ellenőrző bitek Az egyéb bitek az adatbitek 9,,,,,,,,, Minden paritás számításában azok a bitek vesznek részt amelyekben kettő adott hatványa szerepel Például -es paritásbit:,,, 9, bitek -es paritásbit:,, bitek Hamming-kód példa 9,,,,,,,,, Kódolandó bitek: 9 Hiba az átvitel során a -os számú biten 9 Történt-e átviteli hiba? Hányadik bit a hibás? Csoportos hibák javítása Hamming-kóddal Alapesetben egy bit javítható, csoportos hiba nem Rendezzünk k darab kódszót egymás alá Az átvitel ne kódszavanként és azon belül bitenként Hanem oszloponként, azon belül bitenként végezzük k bitnyi csoportos hiba esetén Minden kódszóban csak egy bitnyi hiba lesz Minden kódszó javítható Ellenőrző bitek száma = kr Adatblokk mérete = km k hosszúságú csoportos hiba javítható!

CRC hibaellenőrzés CRC - Cyclic Redundancy Code Polinom kód A leggyakrabban alkalmazott megoldás hibajelzésre A bitsorozatokat polinomoknak tekintjük pl.: x +x +x + hetedfokú polinom Műveletek Összeadásnál, kivonásnál nincs átvitel XOR Osztás: mint a bináris osztás A kivonásnál nincs átvitel Az osztó megvan az osztandóban ha az osztandó ugyanannyi bitet tartalmaz mint az osztó CRC hibaellenőrzés Továbbítandó keret: M(x) Generátor polinom G(x) Az adónak és a vevőnek is ismerni kell A legfelső és legalsó bitnek -nek kell lennie Rövidebbnek kell lennie mint a továbbítandó keretnek Feladat: fűzzünk ellenőrző összeget a kerethez, hogy az így kapott keret (polinom) osztható legyen G(x)-el Átvitel ellenőrzése: a vevő elosztja a vett keretet a generátorral, ha van maradék akkor hibás az átvitel CRC ellenőrző összeg számítása Legyen r G(x) foka. Fűzzünk r darab értékű bitet a keret alacsony helyi értékű végéhez x r M(x) amely m + r bitből áll. Osszuk el a az így kapott keretünket [x r M(x)] a generátor G(x) bitsorozatával. Vonjuk ki a maradékot a bővített keretből így megkapjuk az ellenőrző összeggel ellátott továbbítandó keretet T(x)

A CRC erőssége Minden egybites hibát képes jelezni Két izolált egybites hiba is jelezhető G(x) nem oszthatja x k + -et, ahol k<kerethossz Alacsony fokszámú polinomok, hosszú keretek védelmére Pl.: x + x + nem osztja x k + -et ha k< Minden páratlan számú hibás bitet tartalmazó hiba felismerhető ha G(x) osztható x + -gyel Minden r ellenőrző bittel ellátott polinomkód minden maximum r hosszúságú csoportos hibát tud jelezni Néhány klasszikus CRC polinom CRC = x + x + x + x + bites karakterek kódolására CRC = x + x + x + bites karakterek kódolására Képes felismerni: bites hibák, bites hibák Páratlan hibás bitet tartalmazó hibák vagy kevesebb bitet tartalmazó csoportos hibát bites csoportos hibák 99,99%-át vagy nagyobb bitszámú csoportos hibák 99,99%-át CRC-CCITT = x + x + x + bites karakterek kódolására (CCITT ajánlás) CRC problémák? Bonyolult algoritmus az ellenőrző összeg számításához? Áramkörileg egyszerűen megvalósítható léptető regiszteres áramkör - Peterson és Brown Gyakorlatilag szinte minden LAN használja Véletlenszerű-e a keretek tartalma? Eredeti feltételezés: igen Partridge és társai (99) Valós adatok elemzése Alaptalan az eredeti feltevés, nem teljesen véletlenszerű Gyakoribbak lehetnek a felderítetlen hibák