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

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

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

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

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 2008

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

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

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

Az adatkapcsolati réteg

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

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

10. fejezet Az adatkapcsolati réteg

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

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

7. Adatkapcsolati réteg

Egyszerű simplex protokoll nyugtákkal

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

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

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

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

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

Hálózatok Rétegei. Számítógépes Hálózatok és Internet Eszközök. TCP/IP-Rétegmodell. Az Internet rétegei - TCP/IP-rétegek

Diszkrét matematika 2.C szakirány

Az adatkapcsolati réteg

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

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

AST_v3\

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

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

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

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

Dr. Oniga István DIGITÁLIS TECHNIKA 2

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}

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

Diszkrét matematika 2.

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.

Autóipari beágyazott rendszerek. Local Interconnection Network

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

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

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

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

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

Jel, adat, információ

Az Ethernet példája. Számítógépes Hálózatok Az Ethernet fizikai rétege. Ethernet Vezetékek

Számítógépes Hálózatok és Internet Eszközök

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

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

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

DIGITAL TECHNICS I. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 12. LECTURE: FUNCTIONAL BUILDING BLOCKS III

Hálózati protokoll tervezése

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória

KÓDOLÁSTECHNIKA PZH december 18.

loop() Referencia:

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

I+K technológiák. Beágyazott rendszerek 3. előadás Dr. Aradi Szilárd

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

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

Számítógépes Hálózatok és Internet Eszközök

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)

Kvantum-hibajavítás I.

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

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

Diszkrét matematika 2.C szakirány

A CAN hálózat alapjai

Miller-Rabin prímteszt

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

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

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

Az Informatika Elméleti Alapjai

2016/11/29 11:13 1/6 Digitális átvitel

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

MAC alréteg. Számítógépes Hálózatok Protokollok korlátozott versennyel. Adaptív fa bejárás protokoll

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

PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között

Kódelméleti és kriptográai alkalmazások

H=0 H=1. Legyen m pozitív egészre {a 1, a 2,, a m } különböző üzenetek halmaza. Ha az a i üzenetet k i -szer fordul elő az adásban,

4. Hivatkozási modellek

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

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

Szignálok, Adatok, Információ. Számítógépes Hálózatok Unicast, Multicast, Broadcast. Hálózatok mérete

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

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

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

Informatikai Rendszerek Alapjai

8. Szállítói réteg TCP Tahoe, Reno, AIMD, hatékonyság, fairness. HálózatokII, 2007

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

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

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

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

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

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

Kombinációs hálózatok Számok és kódok

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

Gigabit Ethernet, 10 Gigabit Ethernet. Jákó András BME EISzK

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

Aritmetikai utasítások I.

Tartalom. Hálózati kapcsolatok felépítése és tesztelése. Rétegek használata az adatok továbbításának leírására. OSI modell. Az OSI modell rétegei

Dr. Wührl Tibor Ph.D. MsC 05 Ea. Szállítási protokollok - Bevezetés

Kvantum-hibajavítás II.

Átírás:

(Data Link Layer) Számítógépes Hálózatok 2013 3. Hibafelismerés és javítás, Hamming távolság, blokk kódok Az adatkapcsolati réteg feladatai: Szolgáltatásokat rendelkezésre bocsátani a hálózati rétegnek Keretek (frames) Folyamfelügyelet Hibafelismerés és javítás Hibajavító kódok Hibafelismerő kódok Elemi adatkapcsolati protokollok Simplex Stop-and-Wait Noisy Channel Csúszó ablak (sliding window) 1-Bit-Sliding Window Go Back N Selective Repeat Protokoll-verifikáció Véges automaták Petri hálók 1 2 Az adatkapcsolati réteg szolgáltatásai Az adatátkapcsolati réteg szituációja a fizikai réteg biteket visz át struktúra nélkül és esetleg hibásan A hálózati réteg az adatkapcsolati rétegtől a következőket várja el: hibamentes átvitel strukturált adatok átvitele adatcsomagok vagy adatáram zavarmentes adatfolyam Csomagok Bitek Fizikai réteg Az adatkapcsolati réteg lehetséges szolgáltatásai Megbízható szolgáltatás? A küldött és a fogadott csomagnak egyformának kell lenni Minden elküldött csomagnak meg kell érkezni (valamikor) A csomagoknak a megfelelő sorrendben kell megérkezni szükséges lehet Kapcsolat-orientált? A pont-pont kapcsolat egy nagyobb összefüggésben van? Kapcsolatnak foglalás szükséges? Csomagok vagy adatáram (bitáram)? 3 4

Megkülönböztetés: szolgáltatás és implementáció Példa A hálózati réteg kapcsolatmentes és megbízható szolgáltatást követel Az adatkapcsolati réteg intern kapcsolatorientált szolgáltatást használ hibakontrollal Más kombinációk lehetségesek Keretek (frames) A fizikai réteg bitáramát darabokra, u.n. keretekre (frames) osztjuk Szükséges a hibafelügyelethez A keretek az adatkapcsolati réteg csomagjai Keretekre-osztás (fragmentálás és a fogadó oldalon defragmentálás) szükséges, ha a hálózati réteg csomagjai nagyobbak, mint a keretek Csomagok Keretek Bitek Framing Fizikai réteg Framing 5 6 Kapcsolat felépítés Minimálisan megkövetelt szolgáltatás az adatkapcsolati rétegtől Keretek segítségével Hibafelismerés: van-e hibásan átvitt bit Hibajavítás: bithibák megtisztítása Előre-hibajavítás (Forward Error Correction) Redundáns kód használata, amely újraátvitel nélkül lehetővé teszi a hiba kijavítását Útólagos-hibajavítás (Backward Error Correction) A hiba felismerése után a hiba utólagos kommunikációval kerül kijavításra Hibafelismerés Előre-hibajavítás Hibajavítás Utólagos-hibajavítás Kapcsolatok használata A kapcsolat állapotának felügyelete Protokollok helyessége Különböző hibafelügyeleti módszerek megbíznak a küldő és a fogadó közös kontextusában Kapcsolatok felépítése és befejezése Virtuális kapcsolatok A bit-áram interpretációja Keretek által Különösen fontos vezeték nélküli médiumok esetén A problémát a szállítói rétegnél átfogóan tárgyaljuk L. OSI-modell ülés réteg 7 8

Folyamfelügyelet Probléma: gyors küldő és lassú fogadó A küldő túlárasztja a fogadó pufferét Az átvitel sávszélességét elpazarolják az értelmetlen újraküldések (a hibafelismerés után) Keretek (frames) Hol kezdődik egy keret és hol ér véget? Átvitt bit-áram: 0110010101110101110010100010101010101010101100010 keret kezdete? keret vége? Lassú fogadó Szükséges a keretküldési ráta hozzáigazítása a fogadóhoz Gyors küldő Figyelem: A fizikai réteg akkor is küldhet biteket, ha a küldő valójában semmit se küld A fogadó interpretálhatná a médium zaját adhatná a 00000000... sorozatot adat vagy kontroll információ? 9 10 Kerethatárok hosszinformációval? Ötlet: A keret fejlécében jelezni a bitek számát Probléma: Mi történik, ha a keret hossza hibásan kerül átvitelre? A fogadó elveszti az ütemet és új értelmetlen kereteket interpretál Változó keretméret hosszinformációval így nem jó koncepció Fejléc és lezáró (header and trailer) Header és Trailer legtöbbször a keret kezdetén használnak egy Header-t a végén pedig egy Trailer-t jelzik a keret kezdetét és végét kontrollinformációt hordoznak Pl. küldő, fogadó, kerettipus, hibafelügyeleti információ 11 12

Flag byte és byte beszúrás (byte stuffing) Speciális Flag Byte -ok jelzik a keret kezdetét és végét Byte beszúrás (byte stuffing): Ha a flag-byte a küldendő adatok között előfordul, akkor mint adatbyte-ot egy másik speciális jellel (Escape) kell jelezni Ha a másik speciális jel (Escape) a küldendő adatok között előfordul, azt is. Keretek bit beszúrással (bit stuffing) Byte beszúrás egy byte-ot vesz elemi egységnek. Hasonló módszer működik a bitekkel is Flag bits és bit beszúrás (bit stuffing) flag byte helyett egy bitsorozatot használunk, pl.: 01111110 bit beszúrás: Ha a küldő öt 1-esből álló sorozatot küld, automatikusan beszúr a bit-áramba egy 0-t a flag bit-ek kivételével A fogadó, ha öt 1-es után egy 0-t kap, törli a 0-t Eredeti adatbitek: Bit beszúrás után: A bit kiszúrás után: 13 14 Keretek kód megsértés által Lehetséges egy játéktér a bitek szignálokká kódolásával a fizikai rétegen ha nem használja fel az összes lehetséges kombinációt a kódoláshoz Pl.: a Manchester-kód csak a mély/magas és a magas/mély átmenetet használja A kódolási szabályok megsértésével lehet a keret kezdetét és végét jelezni Pl.: Manchester hozzáadjuk a magas/magas-t vagy a mély/mély-t A Manchester önütemezése veszélybe kerül? Egyszerű és robosztus módszer Például az Ethernet használja Költség? A sávszélesség hatékony felhasználása? Feladatok: Hibák felismerése (hibás bitek) egy keretben Hibák javítása egy keretben Ezen feladatok minden kombinációja előfordul Felismerés javítás nélkül Keret törlése további értesítés nélkül (drop a frame) Magasabb rétegeknek kell a problémát kezelni Javítás felismerés nélkül Lehető legjobban megtisztítja a bithibákat, de esetleg még maradnak bithibák Van értelme, ha a felhasználás a hibát tolerálni tudja Pl.: Hangátvitel Alapvetően létjogosult, mert mindig marad egy pozitív hiba valószínűség 15 16

Redundancia Redundancia előfeltétele a hibafelügyeletnek Redundancia nélkül egy m hosszúságú keret 2 m féle lehetséges adatot reprezentálhat, ezek mindegyike megengedett Egy hibás bit egy új adattartalmat eredményez Megengedett keretek halmaza 000.001 000.000 111.111 111.110 Lehetséges keretek halmaza Redundancia Alapötlet: Bizonyos lehetséges m bit hosszú adatok nem megengedettek Ekkor 2 m különböző adat ábrázolásához több mint 2 m lehetséges keret szükséges tehát több mint m bit szükséges egy keretben A keret hossza tehát n > m r=n-m redundáns bitek száma Pl. Header és/vagy Trailer et csak azáltal lehetséges, hogy megkülönböztetünk megengedett és nem megengedett (legal/illegal) kereteket Lehetséges keretek halmaza 000.001010 000.000000 Megengedett keretek halmaza 111.111011 111.110110 000.000010 111.111111 000.000011 111.111101 17 18 Legegyszerűbb redundancia: paritás bit Egy egyszerű szabály egy redundáns bit hozzáadására (azaz, n=m+1): a paritás Odd parity 0-t fűzünk be, ha az 1-es bitek száma páratlan, egyébként 1-est Even parity 0-t fűzünk be, ha az 1-es bitek száma páros, egyébként 1-est Példa: Eredeti üzenet redundancia nélkül: 01101011001 Odd parity: 011010110011 Even parity: 011010110010 Nem megengedett keretek haszna A küldő csak megengedett kereteket küld A fizikai rétegben a bitek meghibásodhatnak Remény: Megengedett keretek meghibásodása mindig nem megengedett keret eredményez sohasem egy másik megengedett keretet Szükséges feltétel: A fizikai rétegben csak legfeljebb bizonyos számú bit változhat meg pl. k bit per keret A megengedett keretek elegendően különbözőek ahhoz, hogy ezt a keret-hiba rátát felismerje 19 20

A keret megváltozása bit hiba által Tegyük fel, hogy a következő keretek megengedettek: 0000, 0011, 1100, 1111 0001 0000 0011 1000 0100 1100 1111 uvxy megengedett 0010 0101, 0110, 1001, 1010 1101 1110 0111 1011 abcd nem megengedett Az élek olyan keret párokat kötnek össze, melyek csak egy bitben különböznek Egy egyszerű bithiba nem tud egy megengedett keretet egy másik megengedett keretté változtatni! Hamming távolság Az előző példában két megengedett üzenet távolsága egymástól legalább két bit volt Definíció: Legyen x=x 1,, x n és y=y 1,, y n két üzenet A Hamming távolság d(x,y) = az 1-es bitek száma (x XOR y)-ban Intuitíven: azon pozíciók száma, amelyeken x és y különbözik A Hamming távolság egy metrika: Nem-negatív, idempotens, szimetrikus, háromszögegyenlőtlenség Példa: x=0011010111 y=0110100101 x XOR y=0101110010 d(x,y) = 5 21 22 Üzenethalmazok Hamming távolsága Legyen S (egyenlő hosszú) bit-sztringek halmaza. S Hamming távolsága: Példa: Azaz a legkisebb távolság két különböző S-beli bit-sztring között 0000 0011 1100 1111 Minden távolság 2 001011 1 3 101011 Egy távolság 1! 011101 4 Hibafelismerés és javítás Hamming távolsággal 1. eset d(s)=1 Nincs hibafelismerés Egy megengedett keretből 1 bit megváltozásával másik megengedett keret állhat elő 2. eset d(s) = 2 Ekkor minden x,y S: d(x,y) 2 Így minden u, melyre d(x,u) = 1, nem megengedett, mint ahogy minden u, melyre d(y,u)=1, se x 1 bit különbség 1 bit különbség u 1-bit-hiba mindig felismerhető de nem javítható y 23 24

Hibafelismerés és javítás Hamming távolsággal 3. eset d(s) = 3 Ekkor minden x,y S : d(x,y) 3 Minden u, melyre d(x,u) = 1, nem megengedett és d(y,u) > 1 Hibafelismerés és javítás Hamming távolsággal Ahhoz, hogy d bit hibát felismerjünk, a megengedett keretek halmazában legalább d+1 Hamming távolság szükséges x 1 bit különbség 1 bit különbség u v 1 bit különbség y Ha a fogadóhoz u érkezik, a következő esetek lehetségesek: x került átvitelre és 1 bit hibával érkezett y került átvitelre és 2 bit hibával érkezett valami más került átvitelre és legalább 2 bit hibával érkezett Tehát a valószínűbb, hogy x került átvitelre, mint az hogy y Ahhoz, hogy d bit hibát javíthassunk, a megengedett keretek halmazában legalább 2d+1 Hamming távolság szükséges 25 26 Kód-könyvek, kódok Blokk kódok A megengedett keretek S µ {0,1} n halmazát kód-könyvnek vagy egyszerűen kódnak nevezzük. Definíció: Egy S kód R S rátája: A ráta karakterizálja a kód hatékonyságát Blokk kódok k bites eredeti adatot n kódolt bitben kódolnak n-k bitet adunk hozzá Bináris blokk kódok legfeljebb t hibát tudnak felismerni egy n hosszú kód-szóban (keretben) k eredeti bittel, ahol (Gilbert-Varshamov-korlát): Definíció: Egy S kód δ S távolsága: A távolság karakterizálja a hibajavítási vagy hibafelismerési lehetőségeket Jó kódoknak a rátája és a távolsága is nagy trade-offs Ez egy elméleti felső korlát Nem minden t,k és n esetén ismert vagy lehetséges ilyen kód Példák Bose Chaudhuri Hocquenghem (BCH) kódok Véges testek (Galois-testek) polinomjain alapulnak Reed Solomon kódok Nem bináris BCH kódok speciális esete 27 28