510 likes | 596 Views
William Stallings Data and Computer Communications. Curs 5 Chapter 7 Controlul leg a turii de date. Controlul fluxului. Emiţătorul nu copleşeşte receptorul P revenirea epuizării tampoanelor Timp de transmisie Ti mp necesar emiterii tuturor biţilor Timp de propagare
E N D
William StallingsData and Computer Communications Curs 5 Chapter 7 Controlul legaturii de date
Controlul fluxului • Emiţătorul nu copleşeşte receptorul • Prevenirea epuizării tampoanelor • Timp de transmisie • Timp necesar emiterii tuturor biţilor • Timp de propagare • Timpul de traversarea a mediului pentru un bit
Stop and Wait • Sursa transmite un cadru • Destinaţia recepţionează şi trimite confirmarea • Sursa aşteaptă confirmarea ACK, înaintea unei noi transmisii • Destinaţia poate încetini fluxul prin netransmisia ACK • Eficient pentru cadre mari
Fragmentarea • Blocuri mari sparte în fragmente mai mici • Dimensiune tampoane limitată • Erori detectare mai repede • La eroare retransmisie de date mai puţine • Previne ocuparea excesivă a mediului de o staţie • Stop and wait devine impropriu
Parametrii • a = Timp Propagare / Timp Transmisie • a = (d/V) / (L/R) • d – distanţa legăturii • V – viteza de propagare • L – lungime cadru (bits) • R – rata de date • U - utilizaresau eficienţă U = Tframe /Ttotal • Pt. Stop & Wait U = 1 / (1 + 2 a)
Fereastra glisantaSliding Window • Permite mai multe cadre în tranzit • Receptor tampon lungime W • Emiţător poate transmite W Cadre fără ACK • Cadrele sunt numerotate • ACK include numărul următorului cadru aşteptat • Număr secvenţă limitat de lungime câmp k biţi • Cadrele numerotate modulo 2k • W dimensiunea ferestrei < 2k-1
Sliding Window Îmbunatatit • Receptorul poate achita cadre fără permisiune de noi transmisii (Receive Not Ready) • Trimite ACK normal pt. reluare • Dacă duplex, piggybacking • Dacă nu sunt date se trimite ACK • Dacă sunt date dar nu este ACK se retrimite ultimul ACK
Detectia erorilor • Biţi adiţionali pentru detecţia erorilor • Bit de Paritate • Caracterul are număr par sau impar de biţi de 1 • Număr par de erori nedetectat
Cyclic Redundancy Check (CRC) • La un bloc de k biţi transmiţătorul generează o secvenţă de n biţi • Se transmit k+n biţicare sunt divizibili cu un anumit număr • Receptorul face împărţireacu acel număr • Nu este rest fără eroare • Este rest eroare
Controlul erorii • Detectarea şi corectarea erorilor • Cadre pierdute • Cadre eronate • Cadre duplicate • Automatic repeat request ARQ • Detectarea erorii • ACK pozitiv • Retransmisiedupă timeout • ACK negativ şi retransmisie
Automatic Repeat Request (ARQ) • Stop and wait • Go back N • Rejecţie selectivă (selective reject), (retransmitere selectiva)
Stop and Wait • Sursa trimite un singur cadru • Aşteaptă ACK • Dacă este recepţionat cadru eronat, se ignoră • Transmiţătorul are timeout • Nu primeşte ACK până la timeout, retransmite • Dacă ACK este distrus, transmiţătorul nu îl recunoaşte • Transmiţătorulva retransmite • Receptorulva avea două copii a cadrului • Utilizează ACK0 and ACK1
Stop and Wait - Pro si Contra • Simplu • Ineficient
Go Back N (1) • Are la bază fereastra glisantă • Fără eroare, ACK cu noul cadru aşteptat • Fereastră pentru controlul cadrelor neachitate • La eroare, răspuns cu rejecţie • Se ignoră cadrul eronat şi următoarele până la recepţia cadrului eronat • Transmiţătorul reia(go back) transmisia cadrului eronat şi a următoarelor
Go Back N – cadru deteriorat • receptorul detectează eroareîn cadru i • receptorultrimite rejecţie-i • Transmiţătorulprimeşte rejecţie-i • Transmiţătorul retransmite cadrulişi următoarele
Go Back N – cadru pierdut (1) • Cadruipierdut • Transmiţătortrimitei+1 • Receptorprimeşte cadru i+1în afara secvenţei • Receptor trimite reject i • Transmiţătorreia transmisia de la cadrul i
Go Back N – Cadru pierdut (2) • cadru ipierdut fără alt cadru transmis • Receptor nu primeşte nimic şi nu trimite nici un ACK nici reject (REJ) • Transmiţător timeout şi trimite cadru Polling • Receptor interpretază comandape care o achită cu numărul cadruluiaşteptat (cadruli ) • Transmiţătorul retransmite cadruli
Go Back N – ACK pierdut • receptor primeşte cadru işi trimite ACK (i+1) care e pierdut • ACKsunt cumulative, deci următorul ACK (i+n) poate ajunge înainte de timeout cadru i • Dacă transmiţătorul timeout, va trimite cadru polling • Se poate repeta de câteva ori pâna la abortarea procedurii
Go Back N – REJ pierduta • Ca la cadru pierdut (2)
Reject Selectiv • Numit şi retransmisie selectivă • Se retransmit doar cadrele rejectate • Cadrele următoare sunt memorate şi acceptatede receptor • Minimizează retransmisia • Receptorul trebuie să posede tampoane multe • Logică mai complexă la transmiţător
High Level Data Link Control • HDLC • ISO 33009, ISO 4335
HDLC Tipuri de Statii • Primare • Controlează operaţiile pe legătură • cadreletrimise se numesc comenzi • Menţine legături logice separate cu fiecare staţie secundară • Secundare • Sub controlul staţiei primare • cadrele transmise se numesc răspuns • Combinate • Pot transmite şi comenzi şi răspuns
HDLC configuratii de linie • Dezechilibrat (Unbalanced) • O staţie primară şi una sau mai multe secundare • Suportă full duplex şi half duplex • Echilibrat (Balanced) • Două staţii combinate • Suportă full duplex şi half duplex
HDLC Moduri de Transfer (1) • Normal Response Mode (NRM) • Configuraţie dezechilibrată • Primară iniţiază transferulla secundară • Secundarăpoate trimite date doar ca răspuns la comandă de la primară
HDLC Moduri de Transfer(2) • Asynchronous Balanced Mode (ABM) • Configuraţie echilibrată • Oricare staţie poate iniţia transferul fără a cere permisiune • Cea mai utilizată • Fără overhead de interogare (polling)
HDLC Moduri de Transfer(3) • Asynchronous Response Mode (ARM) • Configuraţie Dezechilibrată • Secundară poate iniţia transfer fără permisiune de la primară • Primară responsabilă pentru linie • rarutilizat
Structura cadrului • Transmisie Sincronă • Toate transmisiileîn cadre • Format cadru unicpentru date şi control
Câmpul Flag • Delimitează cadru la ambele capete • 01111110 • Poate încheia un cadru şi începe altul • receptorul caută secvenţă flag pentru sincronizare • Bit stuffing utilizat pentru a evita confuziacu date conţinând 01111110 • 0 inseratdupă secvenţă de cinci 1 • Dacă receptor detecteazăcinci 1 verifică următorul bit • Dacă 0, este şters • Dacă 1 şi al 7-lea bit e 0, acceptatca flag • Dacă al 6-leaşi al 7-lea bit 1, transmiţător indică abort
Bit Stuffing • Exemplu cu erori
Câmpul Adresa • Identifică staţia secundarăcare a trimis sau va primi cadrul • Lungime pe 8 biţi • Poate fi extins la multiplu de 7 biţi • Cel mai putin semnificativ bit al fiecărui octet indicădacă este ultimul (1) sau nu (0) • Toţi (11111111) este broadcast
Câmpul de control • Diferitpt. diferite tipuri de cadre • Informaţie Date - datede transmisla nivel superior • Control flux şi erori piggybacked în cadre de date • Supervisory - ARQ dacă nu se foloseste piggyback • Unnumbered – control suplimentar al legaturii • Primul sau primii doi biţi determină tipul de cadru
Bit Poll/Final • Depinde de context • Cadru de Comandă • P bit • 1 pentru solicitare (poll) răspuns de la pereche • cadru Răspuns • F bit • 1 indică răspuns la comanda solicitată
Câmpul Informatie (Date) • Numai în cadre de date sau nenumerotate • Trebuie să conţină număr întreg de octeţi • Lungime variabilă
Câmp Frame Check Sequence • FCS • Detectarea erorilor • 16 bit CRC • Optional 32 bit CRC
HDLC Mod de Operare • Schimb de cadre de date, supervisory şi nenumerotate • Trei faze • Iniţializare • Semnaleaza daca apare o cerere de initializare • Specifica ce moduri de transfer se folosesc (NRM, ABM, ARM) • Specifica daca se folosesc numere de secvpe 3 sau 7 biti • Transfer Date • N(R), N(S), RR (Receive ready), RNR (Receive not ready), REJ (Reject – go back N), SREJ (Selective Reject) • Deconectare • Oricare statie poate initia deconectarea (DISConnect)
AlteProtocoale CLD (LAPB,LAPD) • Link Access Procedure, Balanced (LAPB) • Partea X.25 (ITU-T) • Subset al HDLC - ABM • Point to point între sistem şi nod reţea de comutare de pachete • Link Access Procedure, D-Channel • ISDN (ITU-D) • ABM • Always 7-bit sequence numbers (no 3-bit) • 16 bit address field contains two sub-addresses • One for device and one for user (next layer up)
AlteProtocoale CLD (LLC) • Logical Link Control (LLC) • IEEE 802 • Diferite formate cadru • Link control divizat între medium access layer (MAC) şi LLC (on top of MAC) • Nu există primarăsau secundară • Două adrese • Sursă şi destinaţie • Detectarea erorilor la nivel MAC • 32 bit CRC • Punte de acces destinaţieşi sursă (DSAP, SSAP)
AlteProtocoale CLD(Frame Relay) (1) • Pentru reţele de comutare pachete de viteză mare • Utilizat în loc de X.25 • Uses Link Access Procedure for Frame-Mode Bearer Services (LAPF) • Două protocoale • Control - similar cu HDLC • Core - subset al control
AlteProtocoale CLD(Frame Relay) (2) • ABM • 7-biţipentru numere de secvenţă • 16 bit CRC • 2, 3 sau 4 octeţipentru adresă • Data link connection identifier (DLCI) • Identifică congestia locală