69
2020/2021. tanév, I. félév Számítógép-hálózatok Az adatkapcsolati réteg Dr. Kovács Szilveszter © E. V. / 1. Dr. Kovács Szilveszter E-mail: [email protected] Informatikai Intézet 106/a. Tel: (46) 565-111 / 21-07

Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

2020/2021. tanév, I. félév

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

Dr. Kovács Szilveszter © E. V. / 1.

2020/2021. tanév, I. félév

Dr. Kovács Szilveszter

E-mail: [email protected]

Informatikai Intézet 106/a.

Tel: (46) 565-111 / 21-07

Page 2: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Tartalom

• Általános megállapítások

• Keretképzés - felismerés

• Hibakezelés, lehet – közvetlen, ill. közvetett.

• Adatfolyam vezérlés

Dr. Kovács Szilveszter © E. V. / 2.

• Adatfolyam vezérlés

• Elemi adatkapcsolati protokollok

Page 3: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Az adatkapcsolati réteg

• A második 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

Hálózati

Adat-kapcsolati

Fizikai

Dr. Kovács Szilveszter © E. V. / 3.

csatornával összekötött állomás közöttmegbízható, hatékony kommunikáció biztosítása.

Page 4: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

“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

Adat-kapcsolati

Fizikai

Logical Link Control

Dr. Kovács Szilveszter © E. V. / 4.

fizikai + közeghozzáférési alréteg biztosít.

Hálózati

LLCMAC

Fizikai

Hálózati

LLCMAC

Fizikai

Hálózati

LLCMAC

Fizikai

Hálózati

LLC

Fizikai

Hálózati

LLC

Fizikai

Logical Link ControlMedium Access Control

Page 5: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Adat-kapcsolati

Fizikai

Dr. Kovács Szilveszter © E. V. / 5.

Hálózati

LLCMAC

Fizikai

Hálózati

LLCMAC

Fizikai

Hálózati

LLCMAC

Fizikai

Hálózati

LLC

Fizikai

LLC

Fiz.

Hálózati

LLC

Fiz.

Page 6: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 6.

• 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

Page 7: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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:

Dr. Kovács Szilveszter © E. V. / 7.

• 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.

Page 8: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Nyugtázás nélküli összeköttetés-mentes 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)

Dr. Kovács Szilveszter © E. V. / 8.

ö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.)

Page 9: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 9.

• 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)

Page 10: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 10.

• 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.)

Page 11: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 11.

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).

Page 12: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 12.

• 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.

Page 13: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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,

Dr. Kovács Szilveszter © E. V. / 13.

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

Page 14: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 14.

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

Page 15: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 15.

– Az érvénytelen kódmintás keretezési módszer

Keretképzés ...

Page 16: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 16.

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

ni nk

ni darab karakter ≡ i-ik keret k-ik keret

Keretképzés ...

Page 17: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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)

Dr. Kovács Szilveszter © E. V. / 17.

• 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ákPl: az IBM BSC (Binary Synchronous Communication protokoll)

Keretképzés ...

Page 18: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Character stuffing

• 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

i. keret i+1. keret

DLE

ETX

DLE

STX

AdatokDLE

STX

AdatokDLE

ETX

Dr. Kovács Szilveszter © E. V. / 18.

• 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 DLE

STX

A B CDLE

DLE

ETX

D EDLE

ETX

Keretképzés ...

Page 19: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

(6 db 1-es bit)

• Pl. az IBM SDLC (Synchronous Data Link Control Protocol)

01111110

Dr. Kovács Szilveszter © E. V. / 19.

• 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 ...

Page 20: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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.

Dr. Kovács Szilveszter © E. V. / 20.

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

0110111111000

6db 1-es nem megengedhető

011111100110111110100001111110

flag flagA beszúrt 0

Keretképzés ...

Page 21: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 21.

– LL ill. HH ;– Pl. a 802.5 vezérjeles gyűrű ilyen.

• Előnye: Transzparens, hatékonyA 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 ...

Page 22: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 22.

– Egy másik módszer pedig megoldhatja a keretszinkron helyreállítását

Keretképzés ...

Page 23: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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.

Dr. Kovács Szilveszter © E. V. / 23.

• 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 ...

Page 24: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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)

Dr. Kovács Szilveszter © E. V. / 24.

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

Page 25: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 25.

• Mindig véges adategységekre vonatkozik(pl. ezért is kellenek a keretek)

Hibakezelés ...

Page 26: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 26.

• Kód: az érvényes kódszavak összessége

• Lehetséges üzenetszám: 2m

• Lehetséges kódszó szám: 2n (az érvénytelenekkel együtt)

• Érvényes kódszavak: 2m darab a 2n -ből.

Hibakezelés ...

Page 27: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Modell a kódolásra

• Az adatátvitel

• A dekódolás eredményeként érvényes vagy nem

Érvényes kódszavak

Üzenet(bitfolyam)

Érv. v nem érv. kódszavak

Üzenet, v kiértékelés

Kódolás Átvitel Dekódolás

Dr. Kovács Szilveszter © E. V. / 27.Hibakezelé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.

Page 28: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 28.

– é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 ...

Page 29: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 29.

⇔ 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 ...

Page 30: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 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

Dr. Kovács Szilveszter © E. V. / 30.

• 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 ...

Page 31: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Hibajelző kódok

• Paritásos kód

• Blokkonként paritás

• Ciklikus redundancia kód (CRC)

Dr. Kovács Szilveszter © E. V. / 31.Hibakezelés ...

Page 32: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 32.

• 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)

Page 33: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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;

Dr. Kovács Szilveszter © E. V. / 33.

– 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.

Page 34: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Bit-interleaved Parity

12

k

m

Az egyes oszlopokra

Parity

Bit-interleaved Parity

Dr. Kovács Szilveszter © E. V. / 34.

• 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.

1 0 1k+1Az egyes oszlopokra vonatkozó par.bitek

Page 35: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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:

Dr. Kovács Szilveszter © E. V. / 35.

– azaz egy m bites keret m-1 fokú polinom: – M(x)=am-1 xm-1 + … a1 x + a0

Példa: 4 3 2 1 0

1 0 0 1 1 → x4 + x + 1

CRC

Page 36: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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.

Dr. Kovács Szilveszter © E. V. / 36.

• 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.

CRC

0 + 0 = 0 0 - 0 = 00 + 1 = 1 0 - 1 = 11 + 0 = 1 1 - 0 = 11 + 1 = 0 1 - 1 = 0

Page 37: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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)*xr

• Osszuk ezt el (mod-2 algebra szerint) a G(x) generátor polinommal

• Az osztás maradéka lesz az R(x) keresett

Dr. Kovács Szilveszter © E. V. / 37.

• Az osztás maradéka lesz az R(x) keresett ellenőrző összeg

• A keresett kódszó: T(x) = M(x)*xr +R(x)

• Állítás: T(x) maradék nélkül osztható a G(x)-szel.

CRC

Page 38: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Az állítás bizonyítása

• A moduló-2 aritmetika esetén:(Kizáró vagy - XOR, nincs átvitel)

0 + 0 = 0 0 - 0 = 00 + 1 = 1 0 - 1 = 11 + 0 = 1 1 - 0 = 11 + 1 = 0 1 - 1 = 0

Dr. Kovács Szilveszter © E. V. / 38.

1 + 1 = 0 1 - 1 = 0

• Bizonyítás:

CRC

G(x)

R(x)

G(x)

R(x)Q(x)

G(x)

R(x)xM(x)

G(x)

T(x)

és G(x)

R(x)Q(x)

G(x)

xM(x)

r

r

++=+⋅

=

+=⋅

Ez mod-2 aritmetikában 0 (A + A = 0)

Page 39: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Hiba esetén:

• T(x) → T'(x) = T(x) + E(x)– ahol E(x)-ben 1 van, ott a T(x) megváltozott!

• Ugyanis

• Ebből tétel: Minden E(x)-re hibát jelez, ami

G(x)

E(x)

G(x)

T(x)

G(x)

E(x)T(x)

G(x)

(x)T'+=

+=

Itt nincs maradék Ennek maradéka jelzi a hibát

Dr. Kovács Szilveszter © E. V. / 39.

• Ebből tétel: Minden E(x)-re hibát jelez, ami nem osztható G(x)-szel– Pl. egyetlen bithiba esetén E(x) = xi; ahol az i-ik bit

hibás

• ⇒ Ha G(x) két, vagy többtagú, mindig jelzi az egyes bithibát!

Itt nincs maradék Ennek maradéka jelzi a hibát

CRC

Page 40: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Szabványos generátor polinomok

• CRC-12 = x12 + x11 + x3 + x2 + x + 1

• CRC-16 = x16 + x15 + x2 + 1

• CRC-CCITT = x16 + x12 + x5 + 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;

Dr. Kovács Szilveszter © E. V. / 40.

– 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

Page 41: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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)

– Adatfolyam vezérlés Elemi adatkapcsolati protokollok

Dr. Kovács Szilveszter © E. V. / 41.

– 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.

Elemi adatkapcsolati protokollok

Page 42: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 42.

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.

Page 43: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Általános előfeltételek

• Az adatkapcsolati keretek általános felépítése:

Fejrész FarokrészInformációs rész

Header TrailerData

A fejrészben lehet:keret típus:

A farokrészben: hibavédelmi információk

Dr. Kovács Szilveszter © E. V. / 43.

keret típus:- információs keret (adatok )- vezérlő keretsorszám, nyugta információ

hibavédelmi információk lehetnek

Az adatrész:a hálózati réteg adatai

• Követelmény: hibamentes, sorrendhelyes átvitel

Page 44: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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.

Page 45: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 45.

– 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)

Page 46: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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;

Dr. Kovács Szilveszter © E. V. / 46.

– 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ásGond: Nem jó zajos csatornára (a nyugtavesztésen elakad) előfeltevés a hibamentesség

Page 47: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 47.

– (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)

Page 48: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

tsérül

t

Dr. Kovács Szilveszter © E. V. / 48.

0 1

A

V

0 1

0 0

0

sérül

sérül

0

Kettőzött, de mert a sorszám

egyezik az előzővel, eldobja

0

1

A nyugtának is kell sorszám (elkéső ismételt nyugta)!

Page 49: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 49.

„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

Page 50: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Forgóablakos protokoll

• Az elküldött kereteket „ciklikusan” sorszámozzuk– Pl. n bites sorszám esetén 0, 1, …. (2n-1), 0, 1, ... (2n-1), 0, ...

• Az adó „ablakot” képez, (max. wadó szélességűt), melybe az elküldött, de még nyugtázatlan keretek sorszámai kerülnek.

Dr. Kovács Szilveszter © E. V. / 50.

• A vevő „ablakot” képez, (állandó wvevő szélességűt), mely azokat a sorszámokat tartalmazza, mely sorszámú kereteket hajlandó fogadni.

Forgóablakos

Page 51: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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 wAdó,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),

Dr. Kovács Szilveszter © E. V. / 51.

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ű wVevő → a felső határ is elmozdul ennyivel.

Forgóablakos

Kiegészítés: A legutolsó nyugtázott keret újraküldése esetén a vevő a nyugtát megismétli!

Page 52: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Pl. a forgóablakos protokoll működésére• Legyen wAdó = 5; wVevő = 3;• A 3. sorszámú keret hibásan érkezik

A0 1 2 5

a

f

0

0

0

1

0

2

1

3

2

4

3

5

3

6

3

7

t3

6

8

A1A1 A1 A1

A3 A3 A3

A1 A1 A1 A1 A2 A2 A2 A2 A2

A3A3 A3

A1

wA=5

újraad

Adóablak alja

Adóablak teteje

3

7

3

7

3

7

6

7

6

7

7

9

3 4 5 6 7

Dr. Kovács Szilveszter © E. V. / 52.Forgóablakos

0 1 2 3 4 5 6 7 3 4 5 6 7 8

V

0 1 2 5

6 7

a

f

0

2

1

3

2

4

6

8

8

10

7

9

9

11

E

4 5

DD D D

V4 V4 V4

3

5

V4 V4 V4V1 V3 V3 V4V2 V2 V2 V2

wV=3

Vevőablak alja

Vevőablak teteje

9

8 9

ablakon

kívül

Page 53: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

A0 1 2 5

7

a

f

0

0 1 2

1

3

2

4

3

5 6 7

t3

6

8

7 8

A1A1 A1 A1

A3 A3 A3

A1 A1 A1 A1 A2 A2 A2 A2 A2

A3A3 A3

A1

wA=59

A1

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

Dr. Kovács Szilveszter © E. V. / 53.

0 1 2 3 4 5 6 7 3 4 5 6 7 8

V

67

a

f

0

2

1

3

2

4

6

8

8

10

7

9

9

11

E

4 5

DD D D

V4 V4 V4

3

5

V4 V4 V4V1 V3 V3 V4V2 V2 V2 V2

wV=3

Forgóablakos

Page 54: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

0 1 2 3 4 5 6 7 3 4 5 6 7 8

A0 1 2 5

67

a

f

0

0

0

1

0

2

1

3

2

4

3

5 6 7

t3

6

8

7 8

A1A1 A1 A1

A3 A3 A3

A1 A1 A1 A1 A2 A2 A2 A2 A2

A3A3 A3

A1

wA=5

A vevő szemszögéből nézve

Dr. Kovács Szilveszter © E. V. / 54.

0 1 2 3 4 5 6 7 3 4 5 6 7 8

V

a

f

0

2

1

3

2

4

6

8

8

10

7

9

9

11

E 4 5 DD D D

V4 V4 V4

3

5

V4 V4 V4V1 V3 V3 V4V2 V2 V2 V2

wV=3

(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.

(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

Page 55: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

Dr. Kovács Szilveszter © E. V. / 55.

– 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

Page 56: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

A PAR protokoll

• wa = 1; wv = 1 ablakméretű forgóablakos protokoll

A

0

t

1 2

sérült

2

0-0 1-1 2-2 3-3

Dr. Kovács Szilveszter © E. V. / 56.

0 1

V

2 2

sérül

2

Eldobja

3

0-0 1-1 2-2 3-3

Megjegyzés: az „eredeti” PAR-nál a csomagszámozás 0, 1 volt. Itt a számlálómező szélesebb

Page 57: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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)

Dr. Kovács Szilveszter © E. V. / 57.

– 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

Page 58: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

0-0wa 0-0 1-1 1-1

Dr. Kovács Szilveszter © E. V. / 58.

(0, 1, A0)

A

B

sérül

0-0

0-0 1-1

1-1

1-1

wv

wa

wv 1-1

(0, 0, B0)

(1, 0, A1)

(1, 1, B1)

0-0

0-0

(0, 1, A2)

0-0

(0, 1, A2)

0-0

(0, 0, B2)

sérül

t

(0, 0, B2)

1-1

(1, 0, A3)

0-0

( , 1, )

1-1

Page 59: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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

0-0

0-0wa 0-0 1-1

0-0 1-1

1-1

Dr. Kovács Szilveszter © E. V. / 59.

(0, 1, A0)

A

B

0-0

0-0 1-1

1-1

wv

wa

wv

1-1

(0, 1, B2)

(1, 0, A1)

(0, 1, B0)

0-0

0-0

0-0

1-1

(1, 0, B1)

1-1

1-1

0-0

(0, 1, A2)

Page 60: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Ha túl rövid az időzítés B-nél

(0, 1, A0)

A0-0 1-1

wa

wv

0-0 1-1

0-0 1-1

1-1 0-0

(0, 1, A2)

D

(1, 0, B1)

D

(0, 1, B2)

D

t

(0, 1, A2)

Dr. Kovács Szilveszter © E. V. / 60.

B

0-0 1-1

0-0wa

wv

1-1

(0, 1, B2)

(1, 0, A1)(0, 1, B0)

0-0

0-0

(1, 0, B1)

1-1

(0, 1, A2)

t

(0, 1, B0)

t t

(0, 1, A2)

t

(0, 1, B2)

Gond: Sok a felesleges ismétlés, de még így is (sorrend)helyesen működik(a hatékonyságot rontja)

Page 61: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Visszalépés n-nel (go back n) hibakezeléses protokoll

• Legyen – wa = n (nagy adóablak),– wv = 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

Dr. Kovács Szilveszter © E. V. / 61.

keretet eldobja, míg az adó meg nem ismétli a hibás keretet (ezért hívják „visszalépésesnek”).

Page 62: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Go back n protokoll

A

3 42

0-0 0-1 0-2 0-4

0

0-3

1-4

1-5

1

t

2-5

2-6

5 6

3-6

4-7 5-8

6-8

7

Dr. Kovács Szilveszter © E. V. / 62.

0 1 2 3 4 5 6 2 3 4 5 6 7 8

VE DD D D1-1 2-2 3-3 4-4 6-65-5 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.

Page 63: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

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 - (2n - 1) közöttiek lehetnek

a) Ekkor az adó max ablakmérete 2n - 1 lehet.

b) Ekkor a vevőablak max mérete 2n-1 lehet.

Dr. Kovács Szilveszter © E. V. / 63.

b) Ekkor a vevőablak max mérete 2n-1 lehet.

Page 64: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Tegyük fel, nem tartjuk be az a)-t

• Legyen n = 3 (0 - 7 sorszámok), wa = 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:

Dr. Kovács Szilveszter © E. V. / 64.

• 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. 2n - 1

Page 65: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Tegyük fel, nem tartjuk be a b)-t

• Legyen n = 3 (0 - 7 sorszámok), wa = 7, wv = 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).

Dr. Kovács Szilveszter © E. V. / 65.

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 wv pufferbe kerül, nem lehet átlapolódás!

max. 2n-1

Page 66: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Ö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

Dr. Kovács Szilveszter © E. V. / 66.

• Adatfolyam vezérlés

• Elemi adatkapcsolati protokollok

Page 67: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Gyakorlat

• 1. feladat: CRC számítása (adás)– Legyen az üzenet: 1 1 0 1 0 1 M(x) = x5 + x4 + x2 + 1 (m = 5)– Legyen a gen. polinom:1 1 0 1 G(x) = x3 +x2 + 1 (r = 3)

• Adás, R(x) képzése:M(x)*xr = x8 + x7 + x5 +x3

(M(x)*xr )/G(x) = (x8 + x7 + x5 +x3) : (x3 +x2 + 1) = x5 + 1- (x8 + x7 + x5)

Dr. Kovács Szilveszter © E. V. / 67.

x3

- (x3 +x2 + 1)

x2 + 1 = R(x) → R: 1 0 1

• Adás, T(x) összeállítása:

T(x) = 1 1 0 1 0 1 1 0 1 T(x) = x8 + x7 + x5 + x3 + x2+ 1m r

Page 68: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Gyakorlat

• 1. feladat: CRC ellenőrzése (vétel)• Vétel, a kódszó ellenőrzése:

(x8 + x7 + x5 + x3 + x2+ 1) : (x3 +x2 + 1) = x5 +1- (x8 + x7 + x5) x3 + x2+ 1

- (x3 + x2+ 1)

0; rendben, nincs maradék.

Dr. Kovács Szilveszter © E. V. / 68.

0; rendben, nincs maradék.

• Ugyanez bináris számokkal:M(x)*x3 = 1 1 0 1 0 10 0 0 G(x) 1 1 0 1 jobbra tolni az első 1-ig, majd kivonni

0 0 0 0 0 10 0 0

1 1 0 1 jobbra tolni az első 1-ig, majd kivonni

1 0 1 = R (nem osztható továbbb)

Page 69: Számítógép-hálózatok Az adatkapcsolati rétegusers.iit.uni-miskolc.hu/~szkovacs/Segedlet/NetE5.pdfa kód Hamming távolsága 2 d + 1 Dr. Kovács Szilveszter© E. V. / 29. ⇔

Gyakorlat• CRC képzés HW megvalósítás – tárolók és antvalencia (XOR)• Pl: G(x): 1 1 0 1 ( x3 +x2 + 1 ), r = 3• Kezdetben ∀ tároló ≡ 0

• 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

Üzenet be (MSB először)T ⊕ T T ⊕

x3 x2 1Ott van átkötés és antvalencia,ahol a G(x)-ben 1-van

Dr. Kovács Szilveszter © E. V. / 69.

• 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))

Üzenet be (MSB először)T ⊕ T T ⊕

demultiplexer

Ki

Vezérlés:m lépésig: V = 1

(kilép az üzenet + maradék a regiszterekben)

r lépésig: V = 0(kilép az ellenőrző összeg)

V