Sunteți pe pagina 1din 53

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Nivelul legtur de date

Protocoale de comunicaie Curs 2

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Funciile nivelului legturii de date


ncadrarea. Transmisia transparent. Controlul erorilor. Controlul fluxului. Gestiunea legturii.

Protocoale de comunicaie Curs 2

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

ncadrarea
Adugarea de informaie de control pentru a ncadra datele:

Protocoale de comunicaie Curs 2

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Metode de ncadrare
Caractere de control (BSC Binary Synchronous Communication)
Exemplu: SYN SYN SOH
header STX text ETX CRC

SOH - start of heading STX - start of text ETX - end of text ETB - end of transmission block EOT - end of transmission ENQ - enquiry ACK - acknowledge NAK - not acknowledge SYN - synchronous idle DLE - data link escape CRC - cyclic redundancy check

Numrarea caracterelor (DDCMP Digital Data Communications Message Protocol)


Exemplu (CRC Cyclical Redundancy Check): SYN SYN SOH count flag resp seq address CRC data CRC

Indicatori de ncadrare (HDLC High Level Data Link Control)


Exemplu (FCS = Frame Check Sequence): flag address command data FCS
Protocoale de comunicaie Curs 2

flag
4

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Transmisia transparent (1)


n zona de date pot aprea secvene de control:
Text alfanumeric (Ok): STX Text ETX Text binar (Nok, apare un fals ETX): STX TextETXText ETX

Rezolvare prin umplere cu caractere:


Se prefixeaz la emisie caracterele de control cu caracterul DLE. Se definesc combinaiile permise:
DLE STX pentru nceput text transparent. DLE ETX pentru sfrit text transparent.

Dubleaz DLE la emisie i elimin la recepie. Exemplu: DLE STX Text...ETX...Text...DLE DLE...DLE ETX CRC
Se consider eroare recepia caracterului DLE urmat de altceva dect STX, ETX, DLE.

Protocoale de comunicaie Curs 2

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Transmisia transparent (2)


Datele de trimis conin un flag fals de terminare cadru: 01111110 011011111101111111111010 01111110 Flag Flag fals Flag Rezolvare prin umplere cu bii:
Emisie: inserare bit 0 dup 5 bii consecutivi 1 n interiorul cadrului, indiferent ce urmeaz dup cei 5 bii 1. Recepie: eliminare bit 0 care urmeaz dup 5 bii consecutivi 1. Exemplu: 01111110 ... 0111110 {0 sau 1} ... 01111110

Protocoale de comunicaie Curs 2

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Alte funcii
Controlul erorilor:
Secvena (suma) de control a cadrului (FCS). Mesaje de confirmare. Ceasuri. Numere de secven.

Controlul fluxului:
Utilizarea mesajelor de permisiune pentru transmitor.

Gestiunea legturii:
Stabilirea i desfiinarea legturii. Re-iniializare dup erori. Configurarea legturii (staii primare i secundare, legturi multipunct, etc.).

Protocoale de comunicaie Curs 2

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Detecia i corecia erorilor


Coduri corectoare de erori
Fie A = {0, 1} alfabet binar Fie W n mulimea cuvintelor w de lungime n peste A

w[0] w[1] ... w[n-1] ,

cu w[i] A.

Ponderea Hamming a lui w Distana Hamming d(u,v) dintre u i v Wn = Sn U Fn Pentru u, v Sn i r erori:

d(u,v) >= r+1 d(u,v) >= 2r+1


Exemplu:

detecie corecie

Fie S10 = {0000000000, 0000011111, 1111100000, 111111111}


D(u,v) = 5 => putem corecta erori duble

0000000111 0000000111

Se corecteaz la Poate proveni din

0000011111 0000000000
8

Protocoale de comunicaie Curs 2

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Metoda Hamming
Bii numerotai de la 1 (stnga) la n (dreapta) . Codificare:
Biii 1, 2, 4, 8, ... (puteri ale lui 2) sunt de control. Control paritate (par sau impar). Bitul k este controlat de biii ale cror poziii nsumate dau k; reciproc:
Bitul 1 controleaz biii Bitul 2 controleaz biii Bitul 4 controleaz biii Bitul 8 controleaz biii 1, 3, 5, 7, 9, 11. 2, 3, 6, 7, 10, 11. 4, 5, 6, 7. 8, 9, 10, 11.
Pentru paritate par: dac exist numr par de bii 1 ntre biii 3, 5, 7, 9 i 11, atunci bitul 1 va fi 0. dac exist numr impar de bii 1 ntre biii 3, 5, 7, 9 i 11, atunci bitul 1 va fi 1.

Exemplu W, 0x57, cu paritate par:

1 2 3 4 5 6 7 8 9 10 11 1110101 => 0 1 1 0 1 1 0 0 1 0 1 Se primete eronat 0 1 1 0 1 1 0 0 1 1 1 Biii de control eronai sunt 2, 8 8 + 2 = 10 => bitul din poziia 10 a fost inversat.
Protocoale de comunicaie Curs 2
9

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Coduri corectoare de erori


Codul Hamming corecteaz erorile de 1 bit! Utilizarea unui cod Hamming pentru corecia erorilor n rafal:
Matricea de bii este transmis coloan cu coloan. Poate corecta erori n rafal dintr-o coloan.

Protocoale de comunicaie Curs 2

10

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Coduri detectoare de erori (1)


Coduri polinomiale:
k bii de informaie (date), i(X) polinomul corespunztor. n-k bii de control, r(X). n bii n total, w(X) = Xn-k.i(X) + r(X).

r(X) se alege astfel ca w(X) s fie multiplu de g(X): w(X) = g(X).q(X) Xn-k.i(X) + r(X) = g(X).q(X) Xn-k.i(X) = g(X).q(X) + r(X)

r(X) = rest mprire Xn-k.i(X) la g(X)

Protocoale de comunicaie Curs 2

11

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Coduri detectoare de erori (2)


Calculul sumei de control pentru un cod polinomial:
10 bii informaie. 4 bii control.

mparte 11010110110000 la 10011.

Protocoale de comunicaie Curs 2

12

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Ce erori pot fi detectate?


Probabilitatea de detecie depinde de lungimea codului de control. CRC sume de control pe:
8 bii detecteaz 99.6094% din erori. 16 bii detecteaz 99.9985% din erori. 32 bii detecteaz 99.9999% din erori.

n plus, CRC detecteaz 100% erori de


1 bit. 2 bii. Un numr impar de bii. Erori n rafal de lungimea codului CRC.

Protocoale de comunicaie Curs 2

13

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale elementare pentru legtura de date


Protocoale start-stop:

Protocoale de comunicaie Curs 2

14

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale elementare pentru legtura de date


Protocoale cu ferestre glisante:

Protocoale de comunicaie Curs 2

15

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol start-stop
Staia 1
PDU1 PDU2

Staia
2
Ack1

Timp

Protocoale de comunicaie Curs 2

16

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol start-stop
Staia 1
PDU1 Ack1 PDU2

Staia
2
PDU1 Ack1 PDU2

Timp

Protocoale de comunicaie Curs 2

17

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol cu fereastr glisant i retrimitere neselectiv


Timeout

Staia 1
PDU1 PDU2 PDU3 PDU4 PDU5 PDU6 PDU3 PDU4 PDU5

Staia
2
Ack1 Ack2 Err3 Del4 Del5 Del6 Ack3

Timp

Protocoale de comunicaie Curs 2

18

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol cu fereastr glisant i retrimitere neselectiv


Timeout

Staia 1
PDU1 PDU2 PDU3 PDU4 PDU5 PDU6 PDU3 PDU4 PDU5

Staia
2
Ack1 Ack2 Err3 Del4 Del5 Del6 Ack3

Cadre recepionate corect, ns trimise inutil pentru c protocolul le ignor Timp

Protocoale de comunicaie Curs 2

19

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol cu fereastr glisant i retrimitere selectiv


Staia 1
PDU1 PDU2 PDU3 PDU4 PDU5 PDU6 PDU3 PDU7 PDU8

Staia
2
Ack1 Ack2 Err3 Nak Buf 3 4 Ack Buf 2 5 Buf Ack 2 6 Ack6

Timp

Protocoale de comunicaie Curs 2

20

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol cu fereastr glisant i retrimitere selectiv


Staia 1
PDU1 PDU2 PDU3 PDU4 PDU5 PDU6 PDU3 PDU7 PDU8

Staia
2
Ack1 Ack2 Err3 Buf4 Buf5 Buf6 Ack6

Cadre recepionate corect, memorate de protocol pn devin utile Timp

Protocoale de comunicaie Curs 2

21

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoalele legturii de date


Configuraia entitilor de protocol:
Nivelul reea

Utilizator A

Utilizator B

Entitate A

Entitate B

Nivelul legtur de date

Nivelul fizic

Protocoale de comunicaie Curs 2

22

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Datele
Datele: typedef struct { void far* adresa; word lungime;} pachet; enum FelCadru {data, ack, nak}; typedef unsigned char byte; typedef unsigned int word; typedef byte NrSecv; typedef struct { FelCadru fel; NrSecv secv, conf; pachet info; } cadru;
Protocoale de comunicaie Curs 2
23

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Primitivele de serviciu
Primitive de serviciu:
preluarea unui pachet de la retea pentru transmitere pe canal

pachet DeLaRetea();
livrarea ctre retea a unui pachet

void LaRetea (pachet);


trecerea unui cadru nivelului fizic pentru transmisie

void LaFizic (cadru);


preluarea unui cadru de la nivelul fizic

cadru DeLaFizic(); Altele:


Lista evenimente:
enum TipEven{SosireCadru,EroareControl,TimeOut,ReteaPregatita};

Ateptare producere eveniment:

TipEven wait();

Protocoale de comunicaie Curs 2

24

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale start-stop
Protocol simplex fr restricii (caz ideal):
utilizatorul A vrea s transmit date utilizatorului B folosind o legtur sigur, simplex. A reprezint o surs inepuizabil de date. B reprezint un consumator ideal. canalul fizic de comunicaie este fr erori.

Protocoale de comunicaie Curs 2

25

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol simplex fr restricii


# define forever while(1)

// entitatea din sistemul transmitatorului void transmit1() { cadru s; do {s.info=DeLaRetea(); //preia pachet LaFizic(s); //transmite cadru } forever; } // entitatea din sistemul void recept1() { cadru r; TipEven even; do{ even=wait(); r=DeLaFizic(); LaRetea(r.info); } forever; } receptorului

//ateapt cadru //primete cadru //pred pachet

Protocoale de comunicaie Curs 2

26

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol simplex start-stop (1)


Canalul este fr erori. Utilizatorul B nu poate accepta date n orice ritm.
Nivelul reea

Utilizator A

Utilizator B

Entitate A (emitor)

Entitate B (receptor)

Nivelul legtur de date

Date

Confirmri (reacie)

Nivelul fizic

Protocoale de comunicaie Curs 2

27

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol simplex start-stop (2)

void transmit2(){ cadru s; TipEven even; do{ s.info=DeLaRetea(); LaFizic(s); even=wait(); //ateapt confirmarea } forever; }
void recept2(){ cadru s,r; TipEven even; do{ even=wait(); r=DeLaFizic(); LaRetea(r.info); LaFizic(s); } forever; }

//poate fi doar SosireCadru


//transmite confirmarea

Protocoale de comunicaie Curs 2

28

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol simplex pentru un canal cu erori (1)


Canalul este cu erori (ca n situaiile din practic). Primitive pentru controlul ceasului:
void StartCeas(NrSecv); void StopCeas (NrSecv);

Justificare numere de secven:


cadrele succesive m, m+1, m+2 cu numerele de secven respectiv 0, 1 i 0 (protocol cu bit alternat).

Alte primitive:
void inc (NrSecv&); #define MaxSecv 1 void inc(NrSecv& k) {k==MaxSecv ? k=0 : k++;}

Protocoale de comunicaie Curs 2

29

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol simplex pentru un canal cu erori (2)


void transmit3(){ NrSecv CadruUrmator=0; cadru s; TipEven even;
s.info=DeLaRetea();

do{ s.secv=CadruUrmator; LaFizic(s); StartCeas(s.secv); even=wait();


if(even==SosireCadru){ StopCeas(s.secv); s.info=DeLaRetea(); inc(CadruUrmator); } } }forever;

// poate fi SosireCadru, // TimeOut sau EroareControl // confirmare intacta

Protocoale de comunicaie Curs 2

30

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol simplex pentru un canal cu erori (3)

void recept3(){ NrSecv CadruAsteptat=0; cadru r,s; TipEven even;


do{ even=wait(); //SosireCadru sau EroareControl

if(even==SosireCadru){ r=DeLaFizic(); if(r.secv==CadruAsteptat){ LaRetea(r.info); //cadru n secventa inc(CadruAsteptat); } } } LaFizic(s); //transmite oricum confirmarea

}forever;

Protocoale de comunicaie Curs 2

31

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale cu fereastr glisant (1)


Protocol cu fereastr de dimensiune unu. Configuraia:
Nivelul reea

Utilizator A

Utilizator B

Entitate A (emitor i receptor)

Entitate B (emitor i receptor)

Nivelul legtur de date

date i confirmri

date i confirmri

Nivelul fizic

Protocoale de comunicaie Curs 2

32

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale cu fereastr glisant (2)


O fereastr de dimensiune 1, cu numr de secven de 3 bii:
(a) Iniial. (b) Dup transmiterea primului cadru. (c) Dup recepia primului cadru. (d) Dup recepia primei confirmri.

Protocoale de comunicaie Curs 2

33

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale cu fereastr glisant (3)


Fiecare staie realizeaz ciclic urmtoarele operaii:
Recepia unui cadru. Prelucrarea irului de cadre recepionate. Prelucrarea irului de cadre transmise. Transmiterea sau retransmiterea unui cadru mpreun cu confirmarea cadrului recepionat corect.

void protocol4(){ NrSecv CadruUrmator=0; NrSecv CadruAsteptat=0; cadru r,s; TipEven even; // SosireCadru, TimeOut, EroareControl

s.info=DeLaRetea(); s.secv=CadruUrmator; s.conf=1-CadruAsteptat; LaFizic(s); StartCeas(s.secv);


Protocoale de comunicaie Curs 2
34

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale cu fereastr glisant (4)


do{

even=wait();
if(even==SosireCadru){ r=DeLaFizic(); if(r.secv==CadruAsteptat){ LaRetea(r.info); inc(CadruAsteptat); } if(r.conf==CadruUrmator){ StopCeas(r.conf); s.info=DeLaRetea(); inc(CadruUrmator); } // prel. cadre receptionate

// prel. cadre transmisie

s.secv=CadruUrmator; s.conf=1-CadruAsteptat; LaFizic(s); StartCeas(s.secv); }

}forever;
Protocoale de comunicaie Curs 2
35

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Un protocol cu fereastr de un bit


Dou scenarii pentru protocolul 4:
(a) Cazul normal. (b) Caz anormal.

Notaia este (seq, ack, packet number). Un asterisk (*) arat c nivelul reea accept pachetul.

Protocoale de comunicaie Curs 2

36

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Un protocol Go Back N
Banda de asamblare i refacerea erorilor. Efectul erorii cnd:
(a) Fereastra receptorului este 1.

(b) Fereastra receptorului este mai mare ca 1.

Protocoale de comunicaie Curs 2

37

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale cu fereastr supraunitar de transmisie (1)


Protocol cu retransmitere neselectiv. Fereastra maxim a transmitorului poate fi de MaxSecv cadre. Scenariu pentru MaxSecv = 7:
1. Transmitorul trimite cadrele 0..7. 2. Toate cadrele sunt recepionate i confirmate. 3. Toate confirmrile sunt pierdute. 4. Transmitorul retrimite la time-out toate cadrele. 5. Receptorul accept duplicatele.

Protocoale de comunicaie Curs 2

38

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale cu fereastr supraunitar de transmisie (2)


#define MaxSecv 7

void ActivRetea(); void DezactivRetea();


NrSecv CadruUrmator, CadruAsteptat, ConfAsteptata; cadru r,s; pachet tampon[MaxSecv+1]; NrSecv ntampon,i; TipEven even; short intre(NrSecv a, NrSecv b, NrSecv c){ //intoarce 1 daca a<=b<c circular return a<=b && b<c || c<a && a<=b || b<c && c<a; } void transmite(NrSecv nrcadru){ //construieste si transmite un cadru de date s.info=tampon[nrcadru]; s.secv=nrcadru; s.conf=(CadruAsteptat+MaxSecv)%(MaxSecv+1); LaFizic(s); StartCeas(nrcadru); }
Protocoale de comunicaie Curs 2
39

// urmatorul cadru de transmis // urmatorul cadru asteptat // c.m. vechi cadru neconfirmat

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale cu fereastr supraunitar de transmisie (3)


void protocol5(){

ActivRetea();
CadruUrmator=0; CadruAsteptat=0; ConfAsteptata=0; ntampon=0;

do{ even=wait();
switch(even){ case ReteaPregatita: tampon[CadruUrmator]=DeLaRetea(); ntampon++; transmite(CadruUrmator); inc(CadruUrmator); break;

Protocoale de comunicaie Curs 2

40

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

case SosireCadru: r=DeLaFizic(); if(r.secv==CadruAsteptat){ LaRetea(r.info); inc(CadruAsteptat); } while(intre(ConfAsteptata,r.conf, CadruUrmator)){ ntampon--; StopCeas(ConfAsteptata); inc(ConfAsteptata); } break; case EroareControl: break; case TimeOut: CadruUrmator=ConfAsteptata; for(i=1;i<=ntampon;i++){ transmite(CadruUrmator); inc(CadruUrmator); } } // switch

Protocoale cu fereastr supraunitar de transmisie (4)

if(ntampon<MaxSecv) ActivRetea(); else DezactivRetea();


}

}forever;
Protocoale de comunicaie Curs 2
41

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocol cu retransmitere selectiv (1)


Fereastra receptorului nu poate fi egal cu cea a transmitorului:
1. Transmitorul trimite cadrele 0..6. 2. Cadrele sunt recepionate i confirmate. Fereastra receptorului devine 7, 0, 1, 2, 3, 4, 5. 3. Toate confirmrile sunt pierdute (se stric sincronizarea ntre transmitor i receptor). 4. Transmitorul retrimite cadrul 0 la time-out. 5. Receptorul accept cadrul 0 aflat n fereastr drept cadru nou i cere cadrul 7 de dinaintea lui 0 (i care lipsete). 6. Transmitorul interpreteaz c a trimis corect cadrele 0..6 i trimite 7, 0, 1, 2, 3, 4, 5. 7. Receptorul accept cadrele, cu excepia lui 0, pentru care are deja un cadru recepionat. Ca urmare, ignor acest cadru, lund n locul lui duplicatul cadrului 0 anterior.

Protocoale de comunicaie Curs 2

42

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

void protocol6(){

Protocol cu retransmitere selectiv (2)

initializari_contoare;
do{ even=wait(); switch (even) case ReteaPregatita: accepta_salveaza_si_transmite_un_cadru; break;

case SosireCadru: r=DeLaFizic(); if (r.fel == data){ transm_nak_daca_r_dif_de_cadru_asteptat; accepta_cadru_daca_in_fereastra_receptie; livreaza_pachetele_sosite; actualizeaza_fereastra_receptie; } if (r.fel == nak) retransmite_cadru_cerut; trateaza_confirmare_cadre_eliberind_buffere; break;
case EroareControl: transmite_nak; break;

case TimeOut: retransmite_cadrul_corespunzator; break;


} activeaza_sau_dezactiveaza_nivel_retea; }forever;
Protocoale de comunicaie Curs 2

case ReteaLibera: transmite_confirmare_ack;

43

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Exemple de protocoale
HDLC High-Level Data Link Control. Folosite pentru legtura de date n Internet:
SLIP. PPP.

Protocoale de comunicaie Curs 2

44

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

HDLC procedura LAPB


HDLC este o familie de protocoale. Tipuri de staii
Primar, genereaz comenzi. Secundar, genereaz rspunsuri. Combinat, genereaz att comenzi ct i rspunsuri.

Tipuri de legatur:
Echilibrat, cu dou staii combinate. Neechilibrat, o staie primar, una sau mai multe secundare.

Moduri de transfer:
NRM, Normal Response Mode (legatur neechilibrat). ABM, Asynchronous Balanced Mode. ARM, Asynchronous Response Mode.

Procedura LAPB (Link Access Protocol Balanced) corespunde une legturi echilibrate cu staii combinate.

Protocoale de comunicaie Curs 2

45

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

High-Level Data Link Control


Format cadru:

Cmp de control pentru:


(a) Cadru de informaie. (b) Cadru supervizor. (c) Cadru nenumerotat.

Semnificaie:
Seq: numr de secven cadru transmis (mod 8 sau 128). Next: numr de secven pentru urmatorul cadru ateptat. P/F (poll/final): invitaie la transmisie sau sfrit de transmisie.

Protocoale de comunicaie Curs 2

46

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Comenzi i rspunsuri

Protocoale de comunicaie Curs 2

47

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Legtura de date n Internet


Un calculator casnic acionnd drept gazd Internet:

Protocoale de comunicaie Curs 2

48

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

SLIP Serial Line Internet Protocol


Nu este standard Internet. Protocol de ncadrare a pachetelor. Folosit pentru conexiuni seriale punct la punct peste care ruleaz TCP/IP ntre gazde i rutere. Reguli de protocol:
definete dou caractere speciale: END (0300) i ESC (0333). o gazd SLIP trimite date n pachet. END n pachet (zona date) e nlocuit cu ESC i ESC_END (0334). ESC n packet (zona date) e nlocuit cu ESC i ESC_ESC (0335). dup ultimul octet din pachet se transmite END.

Protocoale de comunicaie Curs 2

49

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

PPP Point to Point Protocol (1)


Ofer:
ncadrare. Link Control Protocol, LCP. Network Control Protocol, NCP.

Format de cadru PPP pentru modul nenumerotat:


Adresa 11111111, toate staiile accept cadrul. Control 00000011, nenumerotat. Protocol, selecteaz dintre:
LCP, NCP. IP, IPX, OSI CLNP, XNS.

Protocoale de comunicaie Curs 2

50

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

PPP Point to Point Protocol (2)


Diagrama simplificat pentru activare/dezactivare linie:
Configure-request Configure-ack Configure-nak Configure-reject Code-reject Protocol-reject

protocolul de retea este configurat folosind NCP (de exemplu pentru IP se face alocare adresa IP)

Terminate-request Terminate-ack

PPP transporta pachete (de exemplu IP)

Protocoale de comunicaie Curs 2

51

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

PPP Point to Point Protocol (3)


Tipuri de cadre LCP (I Initiator, R Responder):

Protocoale de comunicaie Curs 2

52

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Sumar
Funciile legturii de date>
ncadrare. Transmisie transparent. Control erori. Control flux. Gestiune legturi.

Mecanisme folosite (numere de secven, confirmri, ceasuri, sume de control). Coduri detectoare / corectoare de erori (CRC / Hamming). Protocoale elementare (date, funcii, entiti). Protocoale start-stop i cu fereastr glisant. Exemple de protocoale
HDLC (High-Level Data Link Control). Folosite n Internet:
SLIP (Serial Line Internet Protocol). PPP (Point to Point Protocol).
Protocoale de comunicaie Curs 2
53

S-ar putea să vă placă și