Você está na página 1de 36

Protocoale Peer to Peer

Transferul pachetelor între nivelele OSI

Aplicaţia A Date Aplicaţia B

Aplicaţie Date H Aplicaţie

Prezentare Date H Prezentare

Sesiune Date H Sesiune

Transport Date H Transport

Reţea Date H Reţea

Date T Date H Date

Fizic biţi Fizic

Comunicarea P2P apare când un nivel al unui sistem comunică cu nivelul


corespunzător al altui sistem
Utilizarea serviciilor pe nivelele OSI
Protocolul P2P implică interacţiunea a două entităţi prin schimbul de mesaje,
numite PDU (Protocol Data Unit). Fiecare PDU conţine un antet (header),
care cuprinde protocolul de control al informaţiei şi informaţiile utilizatorului
în forma SDU (Service Data Unit).
Comportarea entităţilor de pe un nivel oarecare n, este guvernată de un set de
reguli sau convenţii, care reprezintă protocolul nivelelui n.

Comunicarea între două procese pereche (peer to peer) este virtuală, în sensul
că nu există o legătură directă între ele. Pentru ca această comunicare să aibă
loc, entităţile de pe nivelul n+1 fac uz de serviciile furnizate pe nivelul n.
Transmisia mesajelor PDU la nivelul n+1, (n+1 PDU) se realizează prin
trecerea informaţiilor la nivelul n, printr-o poartă soft, numită SAP (Service
Access Point). Acest bloc de informaţii constă dintr-un antet , cu informaţii
de control şi informaţiile utilizatorului n-SDU. Entitatea n adaugă la rândul ei
informaţia de control (H) şi formează pachetul n PDU. Pe baza informaţiei de
control, se transmite informaţia utilă prin intermediul entităţii pereche n, la
nivelul n+1, entităţii n+1.
Transferul informaţiilor în procesul P2P

n+1 PDU
Entitatea Entitatea
n+1 n+1

n-SDU n-SDU
SAP 1 SAP 2

n-SDU H
Entitatea Entitatea
n n
H n-SDU

n-PDU
Serviciul efectuat de un nivel poate fi : orientat pe conexiune sau neorientat
pe conexiune.

Serviciul orientat pe conexiune are trei faze:


•Stabilirea conexiunii între nivele (porţile SAP). Aceasta implică
negocierea parametrilor (numărul secvenţelor, variabilele de control ale
fluxului, alocările bufferului).
•Transferul informaţiilor (n-SDU) folosind protocolul de nivel n.
•Întreruperea conexiuni şi eliberarea resurselor implicate în conexiune.

Serviciul neorientat pe conexiune nu stabileşte în prealabil nici o


conexiune şi fiecare SDU este transmis direct din SAP în SAP. În acest
caz informaţia de control care trece de la nivelul n+1 la nivelul n, trebuie
să conţină toate adresele de informaţii cerute pentru transferul SDU.
Serviciile furnizate de un anumit nivel pot fi confirmate sau neconfirmate,
în funcţie de necesitatea transmiţătorului de a fi sau nu informat de rezultat.
De exemplu stabilirea conexiunii poate fi un serviciu confirmat. Un serviciu
neorientat pe conexiune poate fi confirmat sau neconfirmat (dacă entitatea de
transmisie cere confirmare).
Dimensiunea blocurilor de informaţii schimbate între entităţi poate varia
între câţiva bytes şi MB sau fluxuri continue de octeţi.

Blocurile de informaţii care depăşesc o dimensiune maxim impusă de un


anumit nivel (în LAN-urile Ethernet 1500 bytes), se divid în mai multe
părţi, înainte de transferul către un nivel inferior.

Dacă blocurile de informaţii SDU sunt prea mici şi utilizarea serviciilor


nivelului inferior este ineficientă, se procedează la asamblarea acestora,
urmând ca la transferarea către nivelul superior să se facă dezasamblarea
lor.
Adaptarea dimensiunilor blocurilor SDU

n-SDU Nivelul n n-SDU

Segmentare Reasamblare
n-PDU n-PDU n-PDU n-PDU n-PDU n-PDU
Nivelul n-1

n-SDU n-SDU n-SDU Nivelul n n-SDU n-SDU n-SDU

Asamblare Dezasamblare

n-PDU n-PDU
Nivelul n-1
Din punct de vedere al transferului de informaţii, modelele de seviciu pot fi :
•CBR (Constant Bit Rate) – fluxuri cu debit constant, de tip voce sau imagine
fără compresie
Serviciu Bandă necesară[ kbps ]
Telefonie 64
Stereo Hi-Fi 1400
Fax (grup 3) 14,4
Fax (grup 4) 64

•VBR (Variable Bit Rate) – fluxuri cu debit variabil, de tip voce sau
imagine cu compresie şi transfer de fişiere.
VBR Buffer de CBR
IP
Codor netezire
Control de flux

Transformarea fluxurilor VBR în fluxuri CBR


Protocoalele P2P survin în două cazuri:
•La un salt în reţea
•De-a lungul unei întregi reţele

La un singur salt, nivelul de date ia pachetele din nivelul reţea, (capătul A),le
încapsulează în cadre şi le transmite de-a lungul legăturii de date la celălalt
capăt (B), unde sunt transmise nivelului reţea.

A Reţea Reţea B
Pachete Pachete

Date Date
Cadre
Fizic Fizic
A
R
D D
F F
Sistem Sistem
terminal B terminal
1
F Mediu F
D
fizic
D 2
T T
R R
D
R F

D
F
R
D D
D
F F D
F F
C

Protocoale P2P operând la nivel de reţea


Aplicaţii ale protocoalelor P2P

File sharing - favorizează accesul la fişiere (muzică, video)


într-o reţea vastă de utilizatori.
SIP – protocolul de semnalizare pentru reţelele VoIP, într-o
variantă extină de acces.
Streaming media – se adresează fluxurilor video care sunt
recepţionate în funcţie de descărcarea buffer-ului.
Instant messaging – este o forma de comunicaţii în timp
real desfăşurate între doi sau mai mulţi utilizatori.
Reţele P2P
Clasificare

1.După modul de utilizare:

•Transfer de fişiere
•Telefonie
•Fluxuri media(audio, video)
•Forumuri de discuţie
2.După gradul de centralizare:
•Terminale perechi, schimbând rolul de client sau server
•Reţele fără server central
•Reţele fără router central
3. După modul de interconectare al terminalelor

În funcţie de modul în care sunt legate între ele terminalele, reţelele P2P se
clasifică în structurate şi nestructurate.

-Reţelele nestructurate sunt formate din legături stabilite arbitrar. Aceste


reţele pot fi construite uşor de către orice participant, care poate copia
legăturile existente ale unui alt nod (participant), formându-şi astfel legăturile
proprii. Marele dezavantaj al acestor reţele este că nu totdeauna pot fi
rezolvate toate cererile.

-Reţelele structurate folosesc un protocol global care asigură rutarea eficientă


astfel încât o cerere poate fi rezolvată, chiar dacă ea reprezintă o informaţie
foarte rară. Această garanţie necesită un model foarte bine alcătuit.

Un tip uzual de reţea structurată P2P este DHT (Distributed Hash Table)
Protocoale ARQ

Fişier

Pachet H Pachet H Pachet H

Sistemele care cer automat retransmisia pachetelor care lipsesc sau


pachetelor cu erori se numesc sisteme ARQ.

PachetH PachetH PachetH


E R
ACK
Protocoalele ARQ se folosesc pentru asigurarea recepţionării corecte a
fluxurilor de date. Ele stau la baza protocoalelor P2P şi răspund de
transferul fiabil al informaţiei.

Pachet date Pachet date


Cadru de informaţii
CRC Pachet date H
Transmiţător Receptor
H CRC

Cadru de control

Elementele de bază ale protocolului ARQ

Există trei scheme


•Stop & Wait
•Go Back N
•Selective Repeat
Schema Stop & Wait

Time-out
E P1 P2 P3 P3

R C1 C2 C3

Dacă emiţătorul nu primeşte confirmarea (C3) a primirii pachetului P3,


după exoirarea timpului “Time-out”, transmite încă o dată pachetul P3.
Deci lipsa unei confirmări duce la transmiterea dublă a unui pachet. Acest
neajuns se poate elimina prin introducerea unei secvenţe de numerotare în
antetul (header-ul) fiecărui cadru. Astfel receptorul va recunoaşte
duplicatul P3, îl va elimina şi va transmite confirmarea C3.

Schema Stop & Wait nu asigură eficienţa comunicaţiei când durata


întârzierii este mai mare decât durata transmisiei unui pachet.
Eficienţa protocolului ARQ-Stop & Wait

DT
E Pachet Pachet

R ACK

DTP DI DTC DI

DTP' Durata transmisiei unui pachet


DTP DTP
DI Durata întârzierii E= =
DT DTP + 2 DI + DTC
DTC Durata transmisiei confirmării
DT Durata totală (transmisie pachet
şi recepţie confirmare)
Schema Go Back N

Se bazează pe transmiterea unei serii de pachete şi apoi aşteaptă confirmarea.


Confirmarea unui pachet, validează toate pachetele dinaintea acestuia. Dacă
nu se primeşte confirmarea unui pachet, în Time-out, toate cadrele survenite
după acesta vor fi retransmise.
“Go back 4”
E P1 P2 P3 P4 P5 P6 P7 P 4 P 5 P 6 P 7 P 8 P 9 P10 P11

R C1 C2 C3 Pachete C1 C2 C3 C1 C2
nerecepţionate

E trimite o serie de 4 pachete şi aşteaptă pentru confirmare.


După C1, E trimite P5. După C2 şi C3, E trimite P6 şi P7.
Pachetul 4 este pierdut şi nu se dă confirmare.
R anulează P5, P6 şi P7.
E retransmite pachetele P4, P5, P6, P7 ( go back to 4)
Eficienţa protocolului ARQ-Go Back N

N ∗ DTP
DT
E Pachet Pachet Pachet Pachet

R ACK

DTP DI DTC DI
Pentru a asigura transmisia continuă pe durata aşteptării primei confirmări
trebuie ca
N>
DT DT = DTP + 2 DI + DTC
DTP
DTP
Eficienţa protocolului ARQ-Go Back N este E = min{1, N }
DT
Schema SRP (Selective Repeat Protocol)

Protocolul SRP procedează numai la retransmisia pachetelor pierdute.


Receptorul acceptă şi pachetele care nu respectă ordinea de la transmisie.
Pachetele trebuie transmise în ordine de către receptor la un nivel superior,
astfel încât acesta le reţine într-un buffer.

Cererile de retransmisie pot fi:


• implicite, pentru care receptorul confirmă fiecare pachet bun, iar pachetele
care nu sunt confirmate înainte de “Time-out” sunt considerate pierdute sau
eronate.
• explicite, pentru care un mesaj NAK (Negative Acknowledgment Frame)
poate cere retransmisia doar a unui pachet.

În practică se utilizează una sau ambele tipuri de cereri de retransmisie.


Modul de lucru al protocolului SRP

Transmiterea de pachete este făcută în serii, ca la protocolul “Go Back N”

Pachetele sunt numerotate


O serie de pachete este retransmisă după un mesaj NAK, sau după un
“Time-out”, în cazul în care nu s-a primit confirmarea (ACK).
Receptorul trimite confirmarea după toate pachetele recepţionate corect şi
stochează aceste pachete până când le transmite în ordine nivelului superior.

Eficienţa protocolului SRP nu depinde de debitul de informaţie şi de


durata de propagare.

Protocolul SRP asigură cel mai bun randament al legăturii, dar necesită un
volum mare de memorie la ambele terminale.
Controlul legăturilor de date

La nivelul legăturilor de date acţionează o serie de funcţii având rolul de


a furniza servicii de comunicaţii la nivelul reţea. Entităţile de la nivelul
reţea sunt implicate în schimbul de pachete cu entităţile de la acelaşi nivel
situate într-un nod adiacent.

Nivelul reţea trimite pachetele PDU(Protocol Data Unit), sub forma


SDU(Service Data Unit), la nivelul legăturii de date. Acest nivel adaugă
antetul (header-ul) şi CRC, construind astfel cadrul care va fi transmis
prin intermediul nivelului fizic.

Nivelul legăturii de date poate furniza mai multe servicii nivelului reţea:
•Servicii orientate pe conexiune
•Sevicii neorientate pe conexiune - cu confirmare (acknowledged)
- fără confirmare (unacknoledged)
Transmisia datelor la nivelul legăturii de date

PDU
Reţea Pachet
Reţea
SDU SDU
SAP SAP
CRC SDU H
Date Cadru
Date

Fizic Fizic
Configuraţii ale HDLC (High-level Data Link Control)

1. NRM (Normal Response Mode) defineşte un set de proceduri care


sunt folosite în legături neechilibrate
Comandă
Staţia Staţia
Primară Secundară
Răspuns
Legătură neechilibrată punct la punct

Staţia Comandă
Primară
Raspuns

Staţia Staţia Staţia


Secundară Secundară Secundară

Legătură neechilibrată multipunct


2. ARM (Asynchronous Response Mode), utilizat de asemenea în
configuraţiile neechilibrate, de obicei punct-la-punct, în care o staţie
secundară poate iniţia transmisiunea fară a primi o invitaţie de la staţia
primară, astfel că ea transmite cadre în mod asincron în raport cu cea
primară.

3. ABM (Asynchronous Balanced Mode)


Comenzi Răspunsuri
Staţie Staţie
primară Secundară
Staţie Staţie
Secundară Primară
Răspunsuri Comenzi

În acest mod de operare fiecare statie are acelasi statut, realizând atât
funcţiuni de staţie primară, cât şi funcţiuni de statie secundară. Această
procedură, cunoscută şi sub denumirea de procedura de acces a legăturii
echilibrate (LAPB - Link Access Procedure Balanced), este folosită în
reţelele publice de date cu comutaţie de pachete,
Protocolul SIP

Funcţiile protocolului SIP:


•Identificarea utilizatorului (localizarea geografică şi tipul sistemului
care va fi folosit în sesiune).
•Disponibilitatea utilizatorului (dacă este liber sau ocupat).
•Stabilirea sesiunii (conectarea legăturii la terminale).
•Managementul sesiunii (posibilitatea utilizatorului de a termina
convorbirea, transferul convorbirii, etc.)

Rolul SIP: să creeze, să urmărescă şi să termine sesiuni între doi


sau mai mulţi participanţi.

SIP este un protocol la nivel de aplicaţie şi lucrează în paralel cu alte


protocoale multimedia : RTSP (Real Time Streaming Protocol), RTTP
(Real Time Transport Protocol)
Session Initiation Protocol este un protocol pentru stabilirea sesiunilor în
reţelele IP. O sesiune poate fi o simplă convorbire telefonice sau o
conferinţă multimedia.

SIP este un protocol orientat pe cerere-răspuns, asemănător altor


protocoale IP (HTTP, SMTP).

SIP are două componente de bază:


•User agent, reprezintă componenta extremă (de margine) a apelului;
•Network server, reprezintă componenta reţelei care prelucrează
semnalizările asociate apelurilor.
User agent iniţiază apelurile, iar network server răspunde la apeluri.
Procedura stabilirii unei legături:
•Pentru iniţierea unei sesiuni apelantul (user agent) transmite o cerere către
apelat. Dacă adresa IP este cunoscută, cererea junge direct la apelat. Dacă nu
ea este transmisă la network server.
•Serverul (Proxy) trimite o cerere către locaţia apelatului (prin DNS sau
accesând o bază de date) sau se adresează unui alt server. După identificarea
locaţiei apelatului, serverul informează apelantul pentru deschiderea unei
sesiuni directe.
•Dacă apelatul acceptă invitaţia, se pot negocia o serie de funcţii pentru
telefonie clasică, teleconferinţă, videoconferinţă.
•Dacă apelatul nu acceptă invitaţia, sesiunea se încheie sau se redeschide
pentru voice mail.
Comenzile pe care le foloseşte SIP sunt numite metode.

Metoda SIP Descriere


Invitaţia Invită un utilizator la un apel
Confirmarea Folosită pentru schimbul sigur de invitaţii
BYE Dezactivarea conexiunii
Terminarea unei cereri a utilizatorului, înainte de
Renunţarea
finalizare
Solicitarea de informaţii asupra capabilităţilor
Opţiuni
serverului
Înregistrarea Înregistrarea locaţiei utilizatorului
Informaţii Utilizată pentru semnalizare
Relaţiile SIP cu alte protocoale

SDP

RTSP SIP RTTP

TCP UDP

IP

Mediu fizic Ethernet


Multiplexarea statistică
În multiplexarea
D statistică se transmit numai datele de la terminalele active
max

din reţea. Dacă un terminal nu este activ, în fluxul de date multiplexat nu îi


este acordat nici un spaţiu.

Un multiplexor statistic:
•acceptă doar datele de intrare
•cadrele transmise sunt formate numai din datele acceptate a fi transmise

Multiplexarea statistică a apărut din necesitatea respectării relaţiei:


n

∑D ≤ D
i =1
i max

Di Debitul de vârf al sursei de semnal

Dmax Debitul maxim al canalului (resursei)


În multiplexarea statistică canalul de comunicaţie este împărţit într-un
număr arbitrar de canale digitale sau fluxuri de informaţie, având debite
variabile. Partajarea legăturii este adaptată cererilor de trafic ale
fluxurilor de date care se transmit pe fiecare canal.

Multiplexarea statistică este facilitată de comunicaţiile orientate pe


pachete. Fiecare flux este împărţit în pachete care sunt transmise
asincron, în modul FCFS (First-Come First-Serve) sau diferenţiat în
funcţie de garantarea QoS.

Pentru un canal analog, de exemplu un canal wireless, se folosesc


modalităţile de acces:
- Random frequency hopping orthogonal frequency division multiple
access (RFH-OFDMA)
- Code division multiple access (CDMA)
Multiplexorul statistic

Un multiplexor statistic este un dispozitiv care permite furnizorilor de servicii


video accesul la o bandă fixă, care poate fi împărţită în funcţie de necesităţile
de debit binar ale fiecăruia. De exemplu un canal de ştiri necesită o lărgime de
bandă mai mică decât un canal pe care se transmit întreceri spotive. Calitatea
transmisiei poate fi asigurată prin alocarea a 500 kbps pentru primul canal şi
3,5 Mbps pentru al doilea.

Alocarea lărgimii de bandă în funcţie de trafic este un procedeu cunoscut sub


numele de Dynamic Bandwidth Allocation (DBA). Exemplu ITU-G.983.
Avantajele DBA:
•Nu toţi utilizatorii sunt conectaţi la reţea în acelaşi timp
•Chiar dacă sunt conectaţi nu transmit date continuu
•Majoritatea traficului survine în rafale (bursty) şi există perioade libere între
pachete, unde poate fi introdus traficul altor utilizatori.
Transmisia în multiplexarea statistică
A
A A

Mux Mux
BB B
... B E B E
C C

D D
Linia de transmisie

E ...
Date Adresa
B B
Date Adresa
E E E
Abrevieri

ABM Asynchronous Balanced Mode Orthogonal Frequency Division


ARM Asynchronous Response Mode OFDMA Multiple Access
ARQ Automatic Repeat Request OSI Open Systems Interconnection
CBR Constant Bit Rate PDU Protocol Data Unit
CDMA Code Division Multiple Access RTSP Real Time Streaming Protocol
CRC Cyclic Redundancy Check RTTP Real Time Transport Protocol
DHT Distributed Hash Table SDP Session Definition Protocol
HDLC High-level Data Link Control SDU Service Data Unit
HTTP HyperText Transport Protocol SDU Service Data Unit
Link Access Procedure SIP Session Initiation Protocol
LAPB Balanced SMTP Simple Mail Transport Protocol
Negative Acknowledgement TCP Transmission Control Protocol
NAK frame UDP User Datagram Protocol
NRM Normal Response Mode VBR Variable Bit Rate
Peer to Peer
Cerere

6-7 nivele în funcţie de Time


to Live (TOL)

Răspuns

8000-10000 computere

Você também pode gostar