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

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

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 2012

Egyszerű simplex protokoll nyugtákkal

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

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

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

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

Az adatkapcsolati réteg

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

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

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

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

7. Adatkapcsolati réteg

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

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

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

1. A maradékos osztás

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

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

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

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ép hálózatok gyakorlat

1. A maradékos osztás

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

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

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

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

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

Diszkrét matematika II. feladatok

Diszkrét matematika 2.

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

Algoritmuselmélet gyakorlat (MMN111G)

A szállítói réteg (transport layer) szolgáltatásai. Számítógépes Hálózatok Szállítói réteg (transport layer) Multiplexálás a szállítói rétegben

ADATKAPCSOLATI PROTOKOLLOK

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

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

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

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

Prezentációk készítése

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

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

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

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.

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

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

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

MAC alréteg. Számítógépes Hálózatok persistent CSMA. Vivő-érzékelés (Carrier Sensing)

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

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

Intergrált Intenzív Matematika Érettségi

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

Tartalom. Az adatkapcsolati réteg, Ethernet, ARP. Fogalma és feladatai. Adatkapcsolati réteg. Ethernet

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

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

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

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

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

[SZÁMÍTÓGÉP-HÁLÓZATOK]

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok

1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.

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

Diszkrét matematika I.

FELADATOK A BEVEZETŽ FEJEZETEK A MATEMATIKÁBA TÁRGY III. FÉLÉVÉHEZ. ÖSSZEÁLLÍTOTTA: LÁNG CSABÁNÉ ELTE IK Budapest

10. fejezet Az adatkapcsolati réteg

1. Interpoláció. Egyértelműség Ha f és g ilyen polinomok, akkor n helyen megegyeznek, így a polinomok azonossági tétele miatt egyenlők.

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

A szállítói réteg (transport layer) szolgáltatásai. Számítógépes Hálózatok Szállítói réteg (transport layer) Multiplexálás a szállítói rétegben

Zárthelyi feladatok megoldásai tanulságokkal Csikvári Péter 1. a) Számítsuk ki a 2i + 3j + 6k kvaternió inverzét.

V2V - routing. Intelligens közlekedési rendszerek. VITMMA10 Okos város MSc mellékspecializáció. Simon Csaba

2. Fejezet : Számrendszerek

Diszkrét matematika alapfogalmak

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

1. Egész együtthatós polinomok

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

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

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Kollízió felismerés (collision detection) CSMA/CD. Számítógépes Hálózatok CSMA/CD periódusai. Mi a teendő kollízió esetén? B Idle!

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

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

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

AST_v3\

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

Diszkrét matematika 2.C szakirány

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

Kongruenciák. Waldhauser Tamás

Adatkapcsolati réteg 1

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

loop() Referencia:

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

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

[SZÁMÍTÓGÉP-HÁLÓZATOK]

int azt az elõzõ részbõl megtudtuk, a rétegeknek az a feladatuk, hogy valamiféle feladatot végezzenek

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

I+K technológiák. Digitális adatátviteli alapfogalmak Aradi Szilárd

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

Átírás:

Számítógépes Hálózatok 28 5. Adatkapcsolati réteg CRC, utólagos hibajavítás, csúszó ablakok Hibafelismerés: CRC Hatékony hibafelismerés: Cyclic Redundancy Check (CRC) A gyakorlatban gyakran használt kód Nagy hibafelismerési ráta Hardware megvalósítás egyszerű Polinóm aritmetikán alapul a 2-es maradékosztályok (Z 2 ) testén A jelsorozatotokat polinómnak tekintjük A bitek a polinóm együtthatói 2

Számolás Z 2 -ben Számolás modulo 2: Szabályok: összeadás mod 2 kivonás mod 2 szorzás mod 2 A B A + B A B A - B A B A B Példa: + = 3 Polinóm aritmetika modulo 2 Tekintsük a polinómokat Z 2 maradékosztály test fölött p(x) = a n x n + + a x + a Az a i együtthatók és az x változók {,} A számítás modulo 2 történik Polinómok összeadása, kivonása, szorzása, (maradékos) osztása, mint ahogy ismerjük 4

Bit sztringek és Z 2 feletti polinómok Ötlet: Tekintsük az n hosszúságú bit sztringet mint egy polinóm együtthatóit Bit sztring: b n b n- b b Polinóm: b n x n + + b x + b Egy (n+) bitből álló bit sztring megfelel egy n-ed fokú polinómnak Példa A xor B = A(x) + B(x) Ha A-t k pozícióval balra toljuk (shift), ez a következőnek felel meg: C(x) = A(x) x k Ezt az izomorfizmust használva tudunk bit sztringekkel osztani 5 Maradékos osztás bitsztingekkel Példa: : = maradék 6

Redundancia polinómok által: CRC Definiáljunk egy G(x) generatorpolinómot, melynek a foka g G(x) a küldő és a fogadó által ismert g redundáns bitet generálunk Adott: Keret (frame, üzenet) M, mint M(x) polinom Küldő Kiszámolja az osztás maradékát r(x) = x g M(x) mod G(x) Átvitelre kerül: T(x) = x g M(x) + r(x) Figyeljük meg: x g M(x) + r(x) többszöröse G(x)-nek Fogadó m(x)-et fogad Kiszámítja a maradékot: m(x) mod G(x) 7 CRC Átvitel Ha nem történt hiba: T(x) fogadása korrekt Bithiba: T(x) tartalmaz megváltoztatott bitet Ez ekvivalens egy E(x) hibapolinóm hozzáadásához A fogadóhoz m(x) = T(x) + E(x) érkezik Fogadó Kiszámítja m(x) mod G(x) maradékot Ha nincs hiba: m(x) = T(x), Ekkor a maradék Bit hibák: m(x) mod G(x) = (T(x)+ E(x)) mod G(x) = T(x) mod G(x) + E(x) mod G(x) hibaindikátor 8

CRC Áttekintés Küldő Eredeti keret M(x) Generátor polinóm G(X) r(x) = x g M(x) mod G(x) küld: T(x) = x g M(x) + r(x) Csatorna Fogadó hozzáad: E(x) hibapolinómot fogad: m(x) = T(x) + E(x) Kiszámolja (T(x) + E(x)) mod G(x) Ha nem történik hiba: E(x) = Ha ez = : No error Ha ez : hiba! 9 A generator meghatározza a CRC tulajdonságait A bit-hibákat csak akkor nem ismerjük fel, ha E(x) többszöröse G(x)-nek G(x) választásának trükkjei: -bit-hiba: E(x) = x i hiba az i-edik pozíción Ha G(x) legalább 2 nem nulla együthatót tartalmaz, akkor E(x) nem többszörös 2-bit-hiba: E(x) = x i + x j = x j (x i-j +), ahol i>j G(x) nem szabad, hogy osztója legyen (x h + )-nek semmilyen h-ra, h k, a maximális kerethosszig, Páratlan számú hiba: Ekkor E(x) nem többszöröse (x+)-nek Ötlet: legyen (x+) osztója G(x)-nek ekkor E(x) nem többszöröse G(x)-nek G(x) okos megválasztásával minden r hosszú hibasorozat (burst) felismerhető

CRC a gyakorlatban Az IEEE 82.3 (Ethernet) standardban felhasznált generátor polinóm (CRC-32): x 32 + x 26 + x 23 + x 22 + x 6 + x 2 + x + x + x 8 + x 7 + x 5 + x 4 + x 2 + x + Figyelem: Hiba még mindig lehetséges Különösen, ha a bithibáknak megfelelő E(x) többszöröse G(x)-nek. Implementáció: Egyszerű XOR-operáció HW implementácó: shift-register Utólagos hibajavítás A hiba felismerésekor a keretet újra kell küldeni Hogy néz ki a küldő és a fogadó összehangolt munkája? csomagok Hálózati réteg Hálózati réteg from_upper(p) to_upper(p) keretek Adatkapcsolati réteg to_lower(p) from_lower(p) Adatkapcsolati réteg bitek Fizikai réteg to_lower, from_lower tartalamzzák a CRC-t vagy (szükség esetén) utólagos hibajavítást 2

Egyszerű simplex protokoll nyugtákkal Simplex üzemmód: csomagok küldése csak egyirányú A fogadó nyugtázza a küldő csomagjait (ehhez fél-duplex fizikai csatorna elegendő) A küldő vár egy bizonyos ideig a nyugtára (acknowledgment -- ACK) Ha az idő lejárt, újraküldi a csomagot Első megoldási kisérlet: Küldő from_upper (p); set_timer, to_lower(p) Fogadó from_lower (p); to_upper(p), to_lower (ack) wait wait from_lower (ack); cancel_timer timeout; to_lower (p), set_timer 3 Elemzés Problémák A felső réteg gyorsabban küldi a csomagokat, mint ahogy a nyugták megérkeznek Mi történik, ha nyugták elvesznek 4

2. Kisérlet Az első probléma megoldása Egy csomag a másik után Küldő from_upper(p); to_lower(p), set_timer from_upper(p); to_upper (busy) Fogadó from_lower (p); to_upper(p), to_lower (ack) Wait Process Wait timeout; error from_lower(ack); cancel_timer timeout; to_lower (p), set_timer 5 Elemzés A protokoll megvalósít egy elemi folyamfelügyeletet Küldő Fogadó Küldő Fogadó Fr_up Packet Ack to_up Fr_up Packet Packet Ack to_up 6

Elemzés 2. probléma: elveszik a nyugta Küldő Fogadó Fr_up Packet to_up Ack Packet Ugyanaz a csomag kétszer továbbítódik a magasabb réteghez Ack to_up 7 A 2. probléma (duplikátumok) A küldő nem tud különbséget tenni elveszett csomag és elveszett nyugta között Újra kell küldeni a csomagot A fogadó nem tud különbséget tenni egy csomag és egy régi csomag redundáns másolata között Ötlet: További információ szükséges Minden csomagot ellátunk egy sorszámmal (sequence number), hogy a fogadónál az azonosítás lehetséges legyen Minden csomag fejléce tartalmaz sorszámot Itt: csak vagy Szükséges a csomagban és a nyugtában A nyugta az utolsó hibátlanul fogadott csomag sorszámát tartalmazza (tisztán konvenció) 8

3. kisérlet: nyugta és sorszám timeout; error from_lower(ack); cancel_timer timeout; to_lower (,p) set_timer Ready Process from_lower (ack); - from_upper(p); to_higher (busy) from_upper(p); to_lower(,p), set_timer Küldő from_lower (ack); - from_higher(p); to_lower(,p), set_timer from_upper(p); to_upper (busy) Process timeout; to_lower (,p) set_timer from_lower(ack); cancel_timer Ready timeout; error from_lower (,p); to_lower (ack) Wait from_lower (,p); to_upper(p), to_lower (ack) Fogadó from_lower (,p); to_upper(p), to_lower (ack) Wait from_lower (,p); to_lower (ack) 9 3. kisérlet: alternáló bit protokoll (Alternating Bit Protocol) A 3. kisérlet egy zajos csatorna fölötti megbízható protokoll korrekt implementációja Alternating Bit Protokoll Az Automatic Repeat request (ARQ) protokollok közé tartozik Folyamfelügyelet egy egyszerű formáját is tartalmazza Egy nyugta két feladata nyugtázni, hogy egy csomag megérkezett engedélyezni egy új csomag küldését 2

Alteráló bit protokoll -- hatékonyság Hatékonyság η a következő két érték arányaként definiált: az idő, amely a küldéshez szükséges és az idő, amely szükséges, amíg újra lehet küldeni (hibamentes csatornán) η = T packet / (T packet + d + T ack + d) Nagy delay esetén az alternáló bit protokoll nem hatékony T packet d T ack d Idő 2 A hatékonyság javítása A csomagok folyamatos küldése növeli a hatékonyságot több outstanding csomag (elküldött, de még nem nyugtázott) növeli a hatékonyságot csomag pipeline Nem csak -bit-sorozatszámmal lehetséges A küldő folyamatosan küld nő a hatékonyság Idő 22

Csúszó ablak (sliding window) A sorozatszámok terét megnöveljük n bitre, azaz 2 n sorozatszámra Nem mind használható fel ugyanabban az időben az Alternating Bit Protocol-ban sem lehetséges Csúszó ablakok (sliding windows) a küldőnél és a fogadónál kezelik ezt a problémát Küldő: küldő-ablak Sorozatszámok olyan sorozata, amelyek egy adott időben elküldhetők Fogadó: fogadó-ablak Sorozatszámok olyan sorozata, melyet a fogadó egy adott időpillanatban hajlandó elfogadni Az ablakok mérete lehet fix vagy időben dinamikusan változtatható Az ablakméret folyamfelügyeletet tesz lehetővé 23 Példa Sliding Window példa n=3 és fix ablakméret = esetén A küldő itt mutatja a még nem nyugtázott sorozatszámokat Ha a még nem nyugtázott keretek (frame) száma ismert, akkor ez ekvivalens az előző fólián definiált a küldő-ablakkal a. Kezdetben: mielőtt bármit küldenénk b. Az első frame küldése után sorozatszámmal c. Az első frame fogadása után d. Az első nyugta fogadása után 24

Átviteli hiba és a fogadó-ablak Feltételeink: Az adatátkapcsolati rétegnek minden frame-et helyesen és helyes sorrendben kell átvinni A küldő hatékonyság növeléséhez pipeline technikát használva küldi a csomagokat Csomagvesztés esetén: Ha a fogadó-ablakméret =, a következő csomagokat mind eldobja a fogadó 25 Go-back-N Ha a fogadó-ablakméret =, akkor a fogadó nem tudja feldolgozni azokat a frame-eket, melyek egy elveszett (vagy hibás) frame-et követnek Nem tudja azokat nyugtázni, mert csak egy nyugtát küld az utolsó helyesen fogadott csomagról A küldőnél lejár a várakozási idő a nyugtára: Timeout Kritika Minden frame-et, amit az utolsó nyugtázott frame után küldött, újra kell küldeni Go-back-N Frames! Az átviteli médium pazarlása A fogadónál viszont nagyon egyszerű a feldolgozás 26

Szelektív ismétlés (Selective Repeat) Tegyük fel, hogy a fogadó tudja pufferelni a csomagokat, amelyek a közbenső időben érkeztek Példa azaz a fogadó-ablakméret > A fogadó értesíti a küldőt a hiányzó csomagról negatív nyugtával A küldő elküldi a hiányzó frame-eket szelektíven (selective repeat) Amikor a hiányzó frame megérkezik, minden frame-et (a helyes sorrendben) átad a fogadó a hálózati rétegnek 27 Duplex-operáció és hátizsák technika (piggybacking) Simplex Információ küldés egy irányba Duplex Eddig: Információ küldés mindkét irányba Simplex interfész a magasabb réteghez (hálózati réteghez) (Fél-)Duplex interfész az alacsonyabb réteghez (fizikai réteghez) Mi kell akkor, ha az interfész a magasabb réteghez duplex Nyugta és adatcsomagok elkülönítve mindkét irányban Vagy: hátizsák technika (általánosan használt) A nyugtát az ellentétes irányba küldött adat-frame fejlécébe tesszük (piggybacking) 28