Sunteți pe pagina 1din 79

PROGRAMAREA ÎN REȚEA

Tema 7. Modele și
protocoale de comunicație

Aureliu Zgureanu, conf.


univ., dr.

Chișinău 2020
Agenda

1. Modelul de comunicatie
2. Noţiunea de protocol. Caracteristicile protocoalelor.
Ierarhii de protocoale.
3. Interfeţe şi servicii. Servicii orientate pe conexiune
şi fără conexiune.
4. Funcţiile protocoalelor: de segmentare, de
reasamblare, de încapsulare, de control conexiune,
de control flux; de tratare erori, de sincronizare
(ordonare livrare) de adresare, de multiplexare.
Resurse bibliografice

Cărţile de referinţă:
1. William Stallings
Data & Computer Communications (10th edition)
Prentice Hall 2014
2. Andrew Tanenbaum:
Reţele de calculatoare;
Computer Press Agora, (ediţia IV)

3
Modelul de comunicatie
Sursa
generează date pentru a fi transmise
Transmiţătorul
Converteşte datele în semnale transmisibile
Sistemul de transmisie
Transportă datele
Receptorul
Converteşte semnalul recepţionat în date
Destinaţia
Preia datele care intră
4
Diagrama simplificată a
Modelului de comunicație

5
Sarcini importante de
comunicație
 Utilizarea sistemului de transmisie
 Interfaţarea
 Generarea semnalelor
 Sincronizarea
 Managementul schimbării
 Detecţia şi corecţia erorilor
 Adresarea şi rutarea
 Recuperarea (Recovery)
 Formatarea mesajelor
 Securitatea
 Managementul reţelei

6
Protocoale
Sunt folosite pentru comunicarea dintre entităţi
într-un sistem
Partenerii “trebuie să vorbească aceeaşi limbă”
Entităţi
Aplicaţiile utilizatorilor
Facilităţi e-mail;
Terminale
Sisteme
Calculatoare
Terminale
Senzori la distanţă 7
Protocoale (definiție)

Protocol de comunicații - un set de reguli și


norme care permite ca două sau mai multe entități
dintr-un sistem de comunicații să comunice între ele
prin transmiterea de informație printr-un mediu de
orice tip prin variația unei mărimi fizice. 8
Protocoale (definiție)

Protocolul definește regulile, sintaxa, semantica și


sincronizarea comunicării și posibilele metode de
recuperare a erorilor. Protocoalele pot fi
implementate prin hardware, software sau o
combinație a ambelor 9
Elementele de baza ale
Protocoalelor

Sintaxa
Formatul datelor
Nivelul semnalelor
Semantica
Informaţiile de control
Tratarea erorilor
Probleme de timp (Timing)
Potrivirea vitezei
Secvenţierea

10
Arhitectura protocoalelor

Sarcinile de comunicaţie împărţite în module


De exemplu un transfer de fişiere poate utiliza
trei module
Aplicaţia de transfer de fişier
Modulul de comunicaţie
Modulul de acces la reţea

11
Arhitectura simplificata a
transferului de fisiere

12
Modelul cu trei straturi (TCP-IP)

nivelul de acces la reţea


nivelul transport
nivelul aplicaţie

13
Nivelul de acces la retea

Realizează schimbul de date dintre calculator şi


reţea
Calculatorul emiţător furnizează adresa
destinaţiei
Poate invoca tipuri de servicii diferite
Este dependent de tipul reţelelor utilizate (LAN,
comutarea pachetelor, etc.)

14
Nivelul transport

Schimb de date fiabil


Independent de reţeaua utilizată
Independent de aplicaţie

15
Nivelul aplicatie

Este suportul pentru aplicaţiile utilizatorilor


de ex. e-mail, transfer de fişiere

16
Cerinte de adresare

E nevoie de două nivele de adresare


Fiecare calculator are nevoie de o adresă reţea
unică
Fiecare aplicaţie pe un calculator (multi-tasking)
are nevoie de o adresă unică în calculator
Punct de acces la servicii (service access point - SAP)

17
Arhitectura protocoalelor şi
reţelele

18
Protocoale pentru o arhitectura
simplificata

19
Unitati de date protocol
(Protocol Data Units - PDU)
La fiecare nivel protocoalele sunt utilizate pentru
comunicaţie
Informaţiile de control sunt adăugate la datele
utilizatorului la fiecare nivel
nivelul transport poate fragmenta datele
utilizatorului
La fiecare fragment se adaugă un antet de
transport (header), care conţine:
SAP al destinaţiei
Numărul de secvenţă
Codul pentru detectarea erorii
Rezultă “transport PDU”
20
PDU pentru nivelul reţea

Adaugă antetul de reţea


adresa reţea al calculatorului destinaţie
Facilităţile cerute

21
Operatiile unei arhitecturi de
protocol

22
Arhitectura de protocol TCP/IP
(TCP/IP Protocol Architecture)
Dezvoltat de the US Defense Advanced
Research Project Agency (DARPA) pentru
reţeaua de comutaţia pachetelor (ARPANET)
E utilizat de Internet-ul global
Nu e un model oficial dar funcţionează.
nivelul de aplicaţie
nivelul de transport
nivelul Internet
nivelul de acces la reţea
nivelul fizic

23
Nivelul fizic
Interfaţa fizică dintre echipamentul de
transmisia datelor (de ex calculator) şi mediul
de transmisie sau reţea
Caracteristica mediului de transmisie
Nivelul semnalelor
Rata de date
etc.

24
Nivelul de acces la reţea
Schimbul de date dintre sistemul capăt şi reţea
Furnizează adresa destinaţie
Poate invoca servici de prioritate

25
Nivelul Internet (IP)

Sistemele pot fi ataşate la reţele diferite


Funcţii de rutare prin diferite reţele
Sunt implementate în rutere şi sisteme capăt

26
Nivelul transport (TCP)

Livrarea sigură a datelor


Livrarea în ordine

27
Nivelul aplicatie

Suport pentru aplicaţiile utilizator


ex. http, SMPT

28
Modelul arhitecturii de
protocoale TCP/IP

29
Modelul OSI

Open Systems Interconnection


Dezvoltat de International Organization for
Standardization (ISO)
Are şapte nivele
Un sistem teoretic apărut prea târziu !
TCP/IP este standard de facto

30
Nivele OSI
Aplicaţie (Application)
Prezentare (Presentation)
Sesiune (Session)
Transport (Transport)
Reţea (Network)
Legătura de date (Data Link)
Fizic (Physical)

31
OSI comparat cu TCP/IP

32
Standarde
Sunt necesare pentru a asigura
interoperabilitatea dintre echipamente
Avantaje
Asigură piaţă mare pentru echipamente şi software
Asigură ca produsele de la producători diferiţi să
comunice
Dezavantaje
Îngheaţă tehnologia
Pot exista mai multe standarde pentru acelaşi lucru

33
Caracteristici ale protocoalelor

Direct sau indirect


Monolitic sau structurat
Simetric sau asimetric
Standard sau nonstandard

34
Direct sau Indirect

Direct
Sistemele se conectează cu un link point to point sau
sistemele se conectează cu un multi-point link
datele sunt transmise fără un agent intermediar
Indirect
Reţele comutate (switched networks) sau
Reţele intermediare
Transferul de date depinde de entităţi intermediare

35
Monolitic sau Structurat

Comunicaţia este o sarcină complexă


Prea complexă pentru o singură componentă
Un proiect structurat împarte problema în
componente mai simple
Structură stratificată

36
Simetric sau Asimetric

Simetric
Comunicaţie între entităţi pereche
Asimetric
Client/server

37
Standard sau Nonstandard

protocoale nonstandard concepute pentru


calculatoare sau sarcini specifice
K surse şi L receptori înseamnă K*L protocoale
şi 2*K*L implementări
Utilizarea unui protocol comun, doar K + L
implementări necesare

38
Utilizarea de Protocoale Standard

39
Ierarhii de protocoale
Primele rețele: hardware-ul conta mai mult
Complexitate crescută  arhitectura rețelei
devine mai importantă

file file

Network Network
Service Service
Network

40
Ierarhii de protocoale

Din concepte de programare structurată


Implementare modulară
Distribuie responsabilitățile pe diferite straturi
Probleme care trebuie abordate:
Adresarea
Mod de transmisie și transfer de date (canale)
Detectarea și recuperarea erorilor
Fragmentarea mesajelor
Ordiea de livrare
Tamponare (buffering)

41
Ierarhii de protocoale
 Fiecare start are un set predefinit de funcții
 Straturile oferă servicii straturilor superioare imediate,
ascunzând detaliile serviciului
 Straturile de același nivel comunică folosind un Peer
Protocol
 Straturile sunt separate unele de altele cu interfețe
 Serviciul oferit furnizat la Service Access Points (SAP)
transmite informații și date de control

Layer N
Layer N Peer Protocol Layer N

42
Ierarhii de protocoale

43
Ierarhii de protocoale

44
Ierarhii de protocoale

45
Ex. Modelul OSI al ISO

OSI: Open System Interconnection


Modelul nu este un protocol; este un set de
specificații funcționale
“Open”  accesibil, non proprietar
Mai întâi proiectul conceptual, apoi
implementarea
Constă din 7 straturi
ISO a produs, de asemenea, standarde care nu
fac parte din model

46
Straturile OSI
Host 1 Host 2
Application Protocol
Application Application
Interface
Presentation Protocol
Presentation Presentation
Interface
Session Protocol
Session Session
Interface
Transport Protocol
Transport Transport
Interface Communication Network
Internal Subnet Protocols
Network Layer Network Layer
Network Host-Router Network Network Host-Router Network
Protocol Protocol
Interface
Data Link Layer Data Link Layer
Data Link Host-Router Data Link Data Link Host-Router Data Link
Protocol Protocol
Interface
Physical Layer Physical Layer
Physical Host-Router Physical Physical Host-Router Physical
Protocol Protocol
47
Interfețe și servicii

 Între două niveluri adiacente există o interfaţă.


Interfaţa defineşte ce operaţii şi servicii primitive
oferă nivelul de jos către nivelul de sus.
Când proiectanţii de reţea decid câte niveluri să
includă într-o reţea şi ce are de făcut fiecare din
ele, unul din considerentele cele mai importante
se referă la definirea de interfeţe clare între
niveluri.

48
Servicii orientate pe conexiune

 Serviciul orientat pe conexiuni este modelat pe baza


sistemului telefonic. Când vrei să vorbeşti cu cineva, mai
întâi ridici receptorul, apoi formezi numărul, vorbeşti şi
închizi.
 Similar, pentru a utiliza un serviciu orientat pe conexiuni,
beneficiarul trebuie mai întâi să stabileasc ă o conexiune,
să folosească această conexiune şi apoi să o elibereze.
 În esenţă conexiunea funcţionează ca o ţeavă :
emiţătorul introduce obiectele (biţii) la un capăt, iar
receptorul le scoate afară , în aceeaşi ordine, la celălalt
capăt. În majoritatea cazurilor ordinea este menţinută,
astfel încât biţii să ajungă în aceeaşi ordine în care au
fost trimişi. 49
Servicii fără conexiune

 Serviciul fără conexiuni este modelat pe baza sistemului


poştal.
 Toate mesajele (scrisorile) conţ în adresele complete de
destinaţie şi fiecare mesaj circulă în sistem independent
de celelalte.
 În mod normal, atunci când două mesaje sunt trimise la
aceeaşi destinaţie, primul expediat este primul care
ajunge.
 Totuşi, este posibil ca cel care a fost expediat primul să
întârzie şi să ajungă mai repede al doilea. În cazul unui
serviciu orientat pe conexiuni, aşa ceva este imposibil.

50
Funcţiile protocoalelor
Încapsulare
Segmentare şi reasamblare
Controlul conexiunii
Livrare în ordine
Controlul fluxului
Control erorilor
Adresare
Multiplexare
Servicii de transmisie
51
Încapsularea
Adăugarea de informaţii de control la date
Informaţii de Adresă
Coduri detectoare de erori
Controlul protocolului

52
Segmentare (Fragmentare)

Blocurile de Data sunt de dimensiune limitată


Mesajele nivelului aplicaţie pot fi foarte lungi
Pachetele de reţea pot fi mai scurte
Spargerea blocurilor mari în părţi mai mici este
segmentarea sau fragmentarea la TCP/IP
Celulele ATM au 53 octeţi
Cadrele Ethernet au până 1526 octeţi lungime
Puncte de control şi revenire

53
De ce fragmentare?
Avantaje
Control mai eficient al erorilor
Acces mai echitabil la facilităţile reţelei
Întârzieri mai mici
Tampoane mai mici la emiţător
Dezavataje
Overhead
Mai multe întreruperi la receptor
Procesare mai complicată
Tampoane suplimentare la receptor

54
Controlul Conexiunii
Stabilirea conexiunii
Transferul datelor
Terminarea conexiunii
Poate apărea întreruperea şi refacerea conexiunii
Numere de secvenţă utilizate pentru:
livrare în ordine
controlul fluxului
controlul erorilor

55
Transfer de date orientat pe
conexiune

56
Livrare în ordine

PDU-ile pot urma căi diferite prin reţea


PDU-ile pot ajunge la destinaţie nu în ordinea
necesară
Numerotare secvenţială a PDU pentru a permite
reordonarea

57
Controlul fluxului

Se face de entitatea receptoare


Limitează cantitatea sau rata de date
Stop and wait
Sisteme de credite (Credit systems)
 Fereastră glisantă (Sliding window)
Este necesară la mai multe nivele; Aplicaţie,
transport, reţea sau legătură de date

58
Controlul erorilor

Asigurare pentru pierdere sau alterare de date


Detectarea erorilor
Emiţătorul inserează biţi de detectare
Receptorul verifică aceşti biţi
Dacă OK achită
Dacă eroare, ignoră pachetul
Retransmisie
Dacă nu primeşte achitarea la timp, retransmite
Se poate face la diferite nivele

59
Adresare

Nivele de adresare
Scopul adresării
Identificatori de conexiune
Moduri de adresare

60
Nivele de adresare
Locul în arhitectură la care o entitate este numită
Adresă unică pentru fiecare entitate finală sau
intermediară (host şi router)
Adrese la nivel reţea
IP or internet address (TCP/IP)
Network service access point or NSAP (OSI)
Proces în cadrul sistemului
Port number (TCP/IP)
Service access point or SAP (OSI)

61
Concepte de adresa

62
Scopul Adresei

Nonambiguitate globală
 O adresă globală identifică unic un sistem
 Este un singur sistem cu adresa X
Aplicabilitate globală
Este posibilă identificarea oricărui sistem prin adresa
sa globală la oricare alt sistem
Adresa X identifică acel sistem de oriunde din reţea
ex. adresa MAC în reţele IEEE 802

63
Identificatori de Conexiune

Transfer de date orientat pe conexiune (circuite


virtuale )
Alocarea unui nume conexiunii pe timpul
transferului
Overhead redus deoarece identificatorii de conexiune
sunt mai mici decât adresele globale
Routarea poate fi fixă şi identificată prin numele
conexiunii
Entităţile pot avea conexiuni multiple - multiplexare
Informaţii de stare a conexiunii

64
Tipuri de Adrese
În mod normal o adresă se referă la un singur
sistem
Adrese Unicast
Trimis unui singur sistem
Pot adresa toate entităţile dintr-un domeniu
Broadcast
Trimis la toate sistemele
Subset de adrese
Multicast
Trimis la un grup de sisteme

65
Multiplexarea

Suport pt. conexiuni multiple pe un sistem


Maparea mai multor conexiuni ale unui nivel la o
singură conexiune a altui nivel
Un număr oarecare de conexiuni printr-un singur
cablu de fibre optice
Agregarea sau lipirea mai multor canale ISDN pentru
obţinerea unei rate de transfer mai mari

66
Servicii Transmisie

Priorităţi
ex. mesaje de control
Calitatea serviciului (Quality of service)
Lăţime de bandă minim acceptată
Întârziere maxim admisibilă
Securitate
Restricţii de acces

67
OSI - Modelul de Referinta
Un model pe nivele sau straturi
Fiecare strat execută un subset al funcţiilor de
comunicaţie necesare
Fiecare nivel utilizează nivelul adiacent inferior
pentru funcţii mai simple
Fiecare nivel furnizează servicii pentru nivelul
adiacent superior
Schimbări într-un nivel nu induc schimbări în
alte nivele

68
Modelul ISO-OSI

69
OSI cadru de standardizare

70
Standarde specifice fiecarui nivel

71
Elemente de Standardizare
Specificarea Protocolului
Operează între aceleaşi două nivele ale celor două
sisteme
Pot fi sisteme de operare diferite
Specificarea protocolului foarte exactă
Formatul unităţilor de date
Semantica tuturor câmpurilor
Secvenţe valide de mesaje de control
Definirea serviciilor oferite
Descriere funcţională a ceea ce se oferă
Adresare
Referite prin SAP 72
OSI Nivele (1)
Fizic (Physical)
Interfaţa fizică între dispozitive
Mecanică
Electrică
Funcţională
Procedurală
Legătură de Date (Data Link)
Metode de activare, menţinere şi deactivare a unui
canal viabil de comunicaţie
Detectarea şi controlul erorilor
Nivelele superioare presupun transmisie fără erori

73
OSI Nivele (2)
Reţea (Network)
Transportul informaţiei
Nu este necesar pentru legături directe
Transport
Schimbul de informaţii între sisteme end_to_end
Fără erori
În secvenţă
Fără pierderi
Fără duplicate
Calitate serviciului

74
OSI Nivele (3)
Sesiune (Session)
Controlul dialogului între aplicaţii
Disciplina Dialogului
Gruparea
Refacerea
Prezentare (Presentation)
Formate şi codificări de date
Compresia datelor
Criptare/decriptare
Aplicaţie (Application)
Metode prin care aplicaţiile au acces la mediul OSI

75
Utilizarea sistemelor intermediare

76
TCP/IP Suita de Protocoale

Arhitectura de protocol predominant comerciala


Specificat si folosit inainte de modelul OSI
Dezvoltat de Departamentul de Aparare SUA
Folosit de Internet

77
TCP/IP Arhitectura Protocolului (1)
Nivelul Aplicaţie (Application Layer)
Comunicaţie între procese sau aplicaţii
Nivel transport (End to end or transport layer
TCP/UDP/…)
Transferul datelor capăt_la_capăt
Cu mecanism de confirmare (TCP)
Ascunde detaliile reţelei
Nivelul Internet (Internet Layer IP)
Routarea traficului

78

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