Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Spring 2000CS 4611 Vázlat Kódolás Keretképzés Hibafelismerés „Csúszó Ablak” Algoritmus (hibajavítás) Pont-Pont kapcsolódások (Links)

Hasonló előadás


Az előadások a következő témára: "Spring 2000CS 4611 Vázlat Kódolás Keretképzés Hibafelismerés „Csúszó Ablak” Algoritmus (hibajavítás) Pont-Pont kapcsolódások (Links)"— Előadás másolata:

1 Spring 2000CS 4611 Vázlat Kódolás Keretképzés Hibafelismerés „Csúszó Ablak” Algoritmus (hibajavítás) Pont-Pont kapcsolódások (Links)

2 Spring 2000CS 4612 Kódolás A jelek fizikai közegben terjednek –Elektromágneses hullámok modulációja –(pl. feszültségszint változtatása) Bináris adatok jelekké alakítása –pl., 0 alacsony jelszint és 1 magas jelszint –Non-Return to zero (NRZ) kódolásként ismert Bits NRZ 0010111101000010

3 Spring 2000CS 4613 Probléma: egymásutáni azonos 1 vagy 0 Alacsony jel (0) „nincs jel”-nek értelmezhető magas jel (1) az alapvonal elvándorlásához vezethet Lehetetlen a két oldal szinkronban tartása (unable to recover clock)

4 Spring 2000CS 4614 Alternativ Kódolások Non-return to Zero Inverted (NRZI) –A kurrens jelszintről a váltás kódolja az 1-et, a kurrens jelszinten maradás kódolja a 0-t. –megoldja az azonos 1-ből álló sorozatból származó problémát Manchester –Átvitelre kerül az NRZ kódolt adat XOR-ja az óra jellel –csak 50%-os szinten hatékony.

5 Spring 2000CS 4615 Kódolások (folyt.) 4B/5B –minden egymás utáni 4 bit adat 5 bitté kódolódik –tetszőleges 5-bit kód úgy van megválasztva, hogy nem több, mint egy vezető 0-t és nem több, mint két végződő 0-t tartalmaz –így sosem kapunk háromnál több egymás utáni 0-t –a kapott 5-bit kódot NRZI alkalmazásával továbbítjuk –80%-os hatékonyság érhető el

6 Spring 2000CS 4616 Kódolások (folyt.) Bits NRZ Clock Manchester NRZI 0010111101000010

7 Spring 2000CS 4617 Keretképzés Bitsorozat keretekbe tördelése Tipikusan a hálózati illesztő egység (adaptor) végzi Frames Bits Adaptor Node BNode A

8 Spring 2000CS 4618 Keretképzési technikák Figyelésen alapuló módszer (sentinel-based) –Keretek elhatárolása speciális sablonnal: 01111110 –pl., HDLC, SDLC, PPP –probléma: a speciális sablon előfordulhat a kereten belül is (a payload-ban) –megoldás: bitbeszúrás küldő: 0-t szúr be minden 5 egymás utáni 1 után fogadó: törli a 0-t, amely az 5 egymás utáni 1-et követ HeaderBody 816 8 CRC Beginning sequence Ending sequence

9 Spring 2000CS 4619 Keretképzési technikák (folyt.) Számlálón alapuló módszer (couter-based) –A szállított adat hosszát a header-ben továbbítjuk –e.g., DDCMP –probléma: a hossz mező megsérülhet a header-ben –megoldás: ha a CRC hibát jelez, dobjuk el a keretet

10 Spring 2000CS 46110 Keretképzési technikák (folyt.) Óra alapú (Clock-based) –each frame is 125us long –e.g., SONET: Synchronous Optical Network –STS-n (STS-1 = 51.84 Mbps)

11 Spring 2000CS 46111 Cyclic Redundancy Check (CRC) k bit redundáns adatot adunk az n-bit üzenethez –kívánatos: k << n –pl., k = 32 és n = 12,000 (1500 bytes) Az n-bit üzenetnek egy n-1-edfokú polimon felel meg –pl., MSG=10011010 as M(x) = x 7 + x 4 + x 3 + x 1 Legyen k valamely osztó polinom fokszáma –pl., C(x) = x 3 + x 2 + 1

12 Spring 2000CS 46112 CRC (folyt.) Továbbítsunk egy P(x) polinomot, amely pontosan osztható C(x) polinommal. P(x)-re: –Tekintsük az M(x)x k polinomot (shift left k bits) –Legyen P(x): M(x)x k mínusz a M(x)x k / C(x) maradéka A fogadott polinom P(x) + E(x) –E(x) = 0 esetén az átvitel hibátlan Osszuk el (P(x) + E(x))-et C(x)-szel; a maradék 0, ha –E(x)=0 (hibátlan átvitel), vagy ha –E(x) pontosan osztható C(x)-szel

13 Spring 2000CS 46113 C(x) polinom megválasztása Jelez minden 1 bit hibát, ha az x k and x 0 tag együtthatója nem 0. Jelez minden 2 bit hibát, ha a C(x)-nek van olyan osztója, amelyben három tag együtthatója nem 0. Jelez minden páratlan bit hibát, ha a C(x) osztható a (x + 1) polinommal. Jelez minden olyan egymás utáni bit meghibásodást, amely hossza kisebb, mint k számú bit. A majdnem minden további ilyen csoportos, k bitnél hosszabb meghibásodást is jelez A választott C(x) polinomokat táblázatok tartalmazzák

14 Spring 2000CS 46114 Internet Kontroll Összeg Algoritmus Tekintsük az üzenetet 16-bites egészek sorozataként; képezzük az összegüket 16-bites egyes-komplemens aritmetika szerint; vegyük az összeg egyes komplemens kódját. u_short cksum(u_short *buf, int count) { register u_long sum = 0; while (count--) { sum += *buf++; if (sum & 0xFFFF0000) { /* carry occurred, so wrap around */ sum &= 0xFFFF; sum++; } return ~(sum & 0xFFFF); }

15 Spring 2000CS 46115 Nyugtázások & Időtúllépések

16 Spring 2000CS 46116 Stop-and-Wait Probléma: tartsuk a csatornát telítetten Példa –1.5Mbps link x 45ms RTT = 67.5Kb (8KB) –1KB keret átvitele 1/8th link hasznosítás eredményez SenderReceiver

17 Spring 2000CS 46117 Csúszó ablak (Sliding Window) Megenged több nyugtázatlan, de elküldött keretet. A nyugtázatlan keretek felső korlátját ablaknak nevezzük. SenderReceiver T ime … …

18 Spring 2000CS 46118 Csúszó ablak: Küldő Minden kerethez sorszámot rendelülnk ( SeqNum ) Bevezetünk három állapot változót: –küldő ablakméret ( SWS ) –utolsó fogadott nyugta sorszáma ( LAR ) –utolsó elküldött keret sorszáma ( LFS ) Érvényes a következő invariáns: LFS - LAR <= SWS Léptessük a LAR-t ha ACK érkezik Tartsunk fenn buffert SWS számú keret tárolására  SWS LARLFS ……

19 Spring 2000CS 46119 Csúszó ablak: Fogadó Vezessük be a következő három állapot változót: –fogadó ablakméret ( RWS ) –Legnagyobb sorszám, amivel keret elfogadható ( LFA ) –Utolsó fogadott (és nyugtázott) keret (LRF) Érvényes a következő invariáns: LFA - LFR <= RWS Ha SeqNum sorszámú keret érkezik: –ha LFR < SeqNum < = LFA akkor fogadjuk –ha SeqNum LFA eldobjuk kummulative ACK küldése  RWS NFELFA ……

20 Spring 2000CS 46120 Sorszámok Tere SeqNum mező véges; valamely modulus szerinti növelés Sorszámok tere nagyobb kell legyen az SWS-nél SWS <= MaxSeqNum-1 nem elegendő –Tegyük fel, hogy a SeqNum mező 3 bites (0..7) –Legyen SWS=RWS=7 –A küldő küldje el a 0..6 sorszámú kereteket –Érkezzenek meg hibátlanul, de az ACK-k vesszenek el –A küldő a timeout után újra elküldi a 0..6 sorszámú kereteket –A küldő a 7, 0..5 új kereteket várja, de a régi 0..5 kereteket kapja ismételten SWS <= (MaxSeqNum+1)/2 már alkalmas szabály (SWS=RWS esetén) Intuitíve SeqNum “csúszkál” a sorszámok tere alsó és felső fele között

21 Spring 2000CS 46121 Egyidejű Logikai Csatornák Helyezzünk 8 logikai csatornát egyszerre a linkre Müködjék mindegyik logikai csatorna stop-and-wait módban Vezessük be a következő három bitet csatornánként: –Csatorna foglalt (channel busy) –az éppen küldés alatt levő keret azonosítója –a következő elfogadásra kerülő keret azonosítója A keretek fejlécében: 3-bit csatorna id., 1-bit sorszám. 4-bits összesen. –a hatékonyság megegyezik a csúszó ablak módszerével A logikai csatornák elválasztja a megbízhatóságot a sorrendtől


Letölteni ppt "Spring 2000CS 4611 Vázlat Kódolás Keretképzés Hibafelismerés „Csúszó Ablak” Algoritmus (hibajavítás) Pont-Pont kapcsolódások (Links)"

Hasonló előadás


Google Hirdetések