Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf ·...

26
1 Ș Ș Ș. . .l. l. l. l. dr. dr. dr. dr. ing. Lucian ing. Lucian ing. Lucian ing. Lucian- - -Florentin Bărbulescu Florentin Bărbulescu Florentin Bărbulescu Florentin Bărbulescu

Transcript of Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf ·...

Page 1: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

1

ȘȘȘȘ....l.l.l.l. dr. dr. dr. dr. ing. Lucianing. Lucianing. Lucianing. Lucian----Florentin BărbulescuFlorentin BărbulescuFlorentin BărbulescuFlorentin Bărbulescu

Page 2: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al Erorilor◦ Suficienți biți sunt adăugați la mesaj pentru� Detecția erorilor� Localizarea bitului eronat

◦ Corecția se realizează prin inversarea biților eronați

2

Page 3: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al Erorilor◦ Numărul biților adăugați este mai mare decât numărul

biților necesari pentru detecția erorilor◦ De multe ori mai ineficient decât controlul ulterior al

erorilor◦ Eficient în general pentru:� Aplicații de divertisment (transmisii live)� Transmisii pe distanțe lungi (legături satelit)

3

Page 4: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al Erorilor◦ Mai multe metode, cele mai simple:

� Copii multiple ale datelor

� Coduri Hamming

4

Page 5: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al Erorilor◦ Copii multiple ale datelor

� Fiecare bit este repetat de mai multe ori.

� Dacă un bit este eronat se aplică metoda majorității.

� Ex.:

� date: 0110110

� transmise: 000 111 111 000000000000 111 111 000

� un bit eronat: 000 111 111 001001001001 111 111 000

5

Page 6: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al Erorilor◦ Coduri Hamming

� Mai mulți biți e paritate sunt adăugați in mesaj

� Dacă un bit este eronat atunci biții de paritate se pot folosi pentru

identificarea erorii

6

Page 7: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al Erorilor◦ Coduri Hamming

� Ex.:

� date: 01010101 – biți b12, b11, b10, b9, b7, b6, b5, b3

� 4 biți de paritate:

� c8 – paritate pară între b12, b11, b10, b9

� c4 – paritate pară între b12, b7, b6, b5

� c2 – paritate pară între b11, b10, b7, b6, b3

� c1 – paritate pară între b11, b9, b7, b5, b3

� date trimise: 010100101111

7

Page 8: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al ErorilorControlul Anterior al Erorilor◦ Coduri Hamming

� Ex.:

� dacă b9 este eronat -> date recepționate: 0100 0 0 0 00101111

� c8 este recepționat 0 și calculat 1 1 1 1 ----> > > > EroareEroareEroareEroare(1)(1)(1)(1)

� c4 este recepționat 1 și calculat 1 1 1 1 ----> Ok (0)> Ok (0)> Ok (0)> Ok (0)

� c2 este recepționat 1 și calculat 1 1 1 1 ----> Ok (0)> Ok (0)> Ok (0)> Ok (0)

� c1 este recepționat 0 și calculat 1 1 1 1 ----> > > > EroareEroareEroareEroare(1)(1)(1)(1)

� 1001 = 9 -> poziția bitului eronat

8

Page 9: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul ulterior al erorilorControlul ulterior al erorilorControlul ulterior al erorilorControlul ulterior al erorilor◦ Blocul conține numai informații pentru detecția erorilor◦ Un mesaj scurt de confirmare (ACK) este trimis înapoi

pentru a semnala o transmisie fără erori◦ În cazul unei erori:� nu este trimis un ACK� un alt mesaj scurt (NAK) poate fi trimis� Blocul este retransmis – procesul este cunoscut ca Cererea Cererea Cererea Cererea

de Repetare de Repetare de Repetare de Repetare AutomatăAutomatăAutomatăAutomată (Automatic Automatic Automatic Automatic RepeatRepeatRepeatRepeat RequestRequestRequestRequest ---- ARQARQARQARQ)

9

Page 10: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Cererea de Repetare Automată (ARQ)Cererea de Repetare Automată (ARQ)Cererea de Repetare Automată (ARQ)Cererea de Repetare Automată (ARQ)◦ Două variații :� Idle RQ (send and wait)� Continuous RQ (cu două metode de retransmisie)

� Retransmisie selectivă (selective retransmission / selective reject)� Numai blocurile pierdute sunt retransmise

� Go-back N� Toate blocurile începând cu cel pierdut sunt retransmise

10

Page 11: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Idle RQ

11

Page 12: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Continuous RQ

12

Page 13: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Continuous RQ – retransmisie selectivă

13

Page 14: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Continuous RQ – retransmisie selectivă

14

Page 15: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Continuous RQ – go-back N

15

Page 16: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Continuous RQ – go-back N

16

Page 17: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Controlul fluxului de dateControlul fluxului de dateControlul fluxului de dateControlul fluxului de date◦ Metodă pentru garantarea faptului ca emițătorul nu

suprasolicită receptorul◦ Două mecanisme� Stop and wait

� Implementat de Idle RQ� Fereastră glisantă (sliding window)

17

Page 18: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Fereastră glisantăFereastră glisantăFereastră glisantăFereastră glisantă◦ Emițătorul are un număr

maxim de blocuri pe care de poate trimite înainte de primirea unui mesaj acknowledge –dimensiunea ferestrei◦ Dacă dimensiunea

ferestrei este 1 -> Idle RQ◦ Dimensiunea ferestrei

definește dimensiunea bufferelor necesare

18

Page 19: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Numere de secvențăNumere de secvențăNumere de secvențăNumere de secvență◦ Blocurile sunt

identificate prin adăugarea unor numere întregi (identificatori)◦ Numărul de

identificatori și deci numărul de biți necesari pentru ei depinde de schema de retransmisie folosită

19

Page 20: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Analiza performanței Analiza performanței Analiza performanței Analiza performanței –––– stopstopstopstop----andandandand----waitwaitwaitwait fără erorifără erorifără erorifără erori

� � � � ������2� �� � ����� � ����2� �� � ���� unde

tframe -> timpul necesar pentru transmiterea unui frame

tprop -> timpul de propagare al semnalului (întârzierea)

� � � �� ����� � 11 � 2�

20

Page 21: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Analiza performanței Analiza performanței Analiza performanței Analiza performanței –––– stopstopstopstop----andandandand----waitwaitwaitwait fără erorifără erorifără erorifără erori

� � � �⁄� �⁄ � ����unde

d -> distanța între emițător și receptor

V -> viteza semnalului (aproape de viteza luminii)

L -> numărul de biți din bloc

R -> rata de transfer (bit rate)

� � 11 � 2 ����

21

Page 22: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Analiza performanței Analiza performanței Analiza performanței Analiza performanței –––– fereastră glisantă fără erorifereastră glisantă fără erorifereastră glisantă fără erorifereastră glisantă fără erori

� � � 1 � � 2� � 1�2� � 1 � � 2� � 1 unde

W -> dimensiunea ferestrei

22

Page 23: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Analiza performanței Analiza performanței Analiza performanței Analiza performanței –––– stopstopstopstop----andandandand----waitwaitwaitwait cu eroricu eroricu eroricu erori

unde� Tf = timpul necesar pentru transmiterea unui bloc� Tt = timpul total folosit de linie pentru transmisia unui bloc� Nr = numărul de retransmisii a unui bloc

23

� � ������

� � 1�� 1 � 2�

Page 24: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Analiza performanței Analiza performanței Analiza performanței Analiza performanței –––– stopstopstopstop----andandandand----waitwaitwaitwait cu cu cu cu erorierorierorierori

unde� P = probabilitatea unui bloc cu erori

24

�� � !"#$% 1 & "'#(% � 11 & "

� � 1 & "1 � 2� � 1 & "1 � 2 ����

Page 25: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Analiza performanței Analiza performanței Analiza performanței Analiza performanței –––– fereastra glisanta cu erorifereastra glisanta cu erorifereastra glisanta cu erorifereastra glisanta cu erori◦ Retransmisie selectivăRetransmisie selectivăRetransmisie selectivăRetransmisie selectivă

� � � 1 & " � � 2� � 1� 1 & "2� � 1 � � 2� � 1 ◦ GoGoGoGo----back Nback Nback Nback N

� �1 & "1 � 2�" � � 2� � 1� 1 & "�2� � 1��1 & " � �"� � � 2� � 1

25

Page 26: Șl.ll..l.dr. dr. dr. ing. Lucianing. Lucianing. Lucian- ---Florentin ...luci/CD/curs_7.pdf · 2019-10-14 · Controlul ulterior al erorilor Blocul conține numai informații pentru

� Analiza performanței Analiza performanței Analiza performanței Analiza performanței –––– fereastra glisanta cu erorifereastra glisanta cu erorifereastra glisanta cu erorifereastra glisanta cu erori

26