36
Protocoale Peer to Peer

Protocoale Peer to Peer

  • Upload
    radu

  • View
    1.232

  • Download
    1

Embed Size (px)

DESCRIPTION

Protocoale Peer to Peer

Citation preview

Page 1: Protocoale Peer to Peer

Protocoale Peer to Peer

Page 2: Protocoale Peer to Peer

Transferul pachetelor între nivelele OSI

Aplicaţie

Prezentare

Sesiune

Transport

Reţea

Date

Fizic

DateAplicaţia A

Aplicaţie

Prezentare

Sesiune

Transport

Reţea

Date

Fizic

Aplicaţia B

Date H

HDate

H

H

H

H

Date

Date

DateT

biţi

Date

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

Page 3: Protocoale Peer to Peer

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.

Utilizarea serviciilor pe nivelele OSI

Page 4: Protocoale Peer to Peer

Entitatean+1

Entitatean

SAP 1

n-SDU

Entitatean+1

SAP 2

Entitatean

n-SDU H

n-PDU

n-SDU H

n+1 PDU

Transferul informaţiilor în procesul P2P

n-SDU

Page 5: Protocoale Peer to Peer

Serviciul efectuat de un nivel poate fi : orientat pe conexiune sau neorientatpe 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.

Page 6: Protocoale Peer to Peer

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.

Page 7: Protocoale Peer to Peer

Nivelul n

Nivelul n-1

Nivelul nn-SDU

n-PDU n-PDU n-PDU

n-SDU

n-PDU n-PDU n-PDU

Reasamblare

n-SDU n-SDU n-SDU

n-PDU

n-SDU n-SDU n-SDU

n-PDU

Nivelul n-1

DezasamblareAsamblare

Segmentare

Adaptarea dimensiunilor blocurilor SDU

Page 8: Protocoale Peer to Peer

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.

CodorBuffer de netezire

VBR CBR

Control de flux

IP

Transformarea fluxurilor VBR în fluxuri CBR

Page 9: Protocoale Peer to Peer

Protocoalele P2P survin în două cazuri:

•La un salt în reţea

•De-a lungul unei întregi reţele

Reţea

Date

Fizic

Reţea

Date

FizicCadre

Pachete Pachete

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 B

Page 10: Protocoale Peer to Peer

FD

FDF

D

R

FD

FD

R

FDRT

FDRT

A

B

C

Sistemterminal

1

Sistemterminal

2Mediufizic

Protocoale P2P operând la nivel de reţea

F D

FD

FD

R

Page 11: Protocoale Peer to Peer

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.

Page 12: Protocoale Peer to Peer

Reţele P2P

•Transfer de fişiere•Telefonie•Fluxuri media(audio, video) •Forumuri de discuţie

1.După modul de utilizare:

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

Clasificare

Page 13: Protocoale Peer to Peer

Î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)

3. După modul de interconectare al terminalelor

Page 14: Protocoale Peer to Peer

Protocoale ARQ

Fişier

HPachet HPachet HPachet

Sistemele care cer automat retransmisia pachetelor care lipsesc sau pachetelor cu erori se numesc sisteme ARQ.

E RACK

HPachet HPachet HPachet

Page 15: Protocoale Peer to Peer

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.

Transmiţător ReceptorPachet date HCRC

H CRC

Pachet datePachet date

Elementele de bază ale protocolului ARQ

Cadru de informaţii

Cadru de control

Există trei scheme

•Stop & Wait

•Go Back N

•Selective Repeat

Page 16: Protocoale Peer to Peer

Schema Stop & Wait

P 1

C1

P 2

C2

P 3Time-out

P 3

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.

E

R

Page 17: Protocoale Peer to Peer

Eficienţa protocolului ARQ-Stop & Wait

Pachet

ACK

Pachet

DTP DI DTC DI

DTP'

DTC

Durata transmisiei unui pachet

Durata transmisiei confirmării

Durata întârzieriiDI

DT

DT Durata totală (transmisie pachet şi recepţie confirmare)

2TP TP

T TP I TC

D DED D D D

= =+ +

E

R

Page 18: Protocoale Peer to Peer

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.

P 1 P 2 P 3 P 4

C1 C2 C3

P 5 P 6 P 7

Pachete 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.

E

R

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)

P 4 P 5 P 6 P 7

C1 C2 C3

P 8 P 9 P10 P11

C1 C2

“Go back 4”

Page 19: Protocoale Peer to Peer

Eficienţa protocolului ARQ-Go Back N

DTP DIDTC DI

E

R

Pachet Pachet Pachet Pachet

ACK

TPN D∗DT

2T TP I TCD D D D= + +T

TP

DND

>

Pentru a asigura transmisia continuă pe durata aşteptării primei confirmări trebuie ca

Eficienţa protocolului ARQ-Go Back N este min{1, }TP

T

DE ND

=

Page 20: Protocoale Peer to Peer

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.

Page 21: Protocoale Peer to Peer

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.

Page 22: Protocoale Peer to Peer

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)

Page 23: Protocoale Peer to Peer

Reţea

Date

Fizic

SAP

Reţea

Date

Fizic

SAP

PDU

Pachet

Cadru

SDU SDU

SDU HCRC

Transmisia datelor la nivelul legăturii de date

Page 24: Protocoale Peer to Peer

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

Staţia Primară

Staţia Secundară

Comandă

Răspuns

Legătură neechilibrată punct la punct

1. NRM (Normal Response Mode) defineşte un set de proceduri care sunt folosite în legături neechilibrate

Staţia Primară

Staţia Secundară

Staţia Secundară

Staţia Secundară

Comandă

Raspuns

Legătură neechilibrată multipunct

Page 25: Protocoale Peer to Peer

StaţieprimarăStaţie

Secundară

StaţieSecundară

StaţiePrimară

Comenzi

Răspunsuri Comenzi

Răspunsuri

3. ABM (Asynchronous Balanced Mode)

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

În acest mod de operare fiecare statie are acelasi statut, realizând atâtfuncţ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ăturiiechilibrate (LAPB - Link Access Procedure Balanced), este folosită înreţelele publice de date cu comutaţie de pachete,

Page 26: Protocoale Peer to Peer

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 terminaconvorbirea, 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)

Page 27: Protocoale Peer to Peer

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.

Page 28: Protocoale Peer to Peer

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.

Page 29: Protocoale Peer to Peer

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

Renunţarea Terminarea unei cereri a utilizatorului, înainte de finalizare

Opţiuni Solicitarea de informaţii asupra capabilităţilorserverului

Înregistrarea Înregistrarea locaţiei utilizatorului

Informaţii Utilizată pentru semnalizare

Page 30: Protocoale Peer to Peer

SDP

SIPRTSP RTTP

TCP UDP

IP

Mediu fizic Ethernet

Relaţiile SIP cu alte protocoale

Page 31: Protocoale Peer to Peer

Multiplexarea statistică

În multiplexarea statistică se transmit numai datele de la terminalele active din reţea. Dacă un terminal nu este activ, în fluxul de date multiplexat nu îi este acordat nici un spaţiu.

maxD

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:

max1

n

ii

D D=

≤∑

iD Debitul de vârf al sursei de semnal

maxD Debitul maxim al canalului (resursei)

Page 32: Protocoale Peer to Peer

Î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)

Page 33: Protocoale Peer to Peer

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.

Page 34: Protocoale Peer to Peer

A

B

C

D

E

D

E

A

B

C

A

B

CB E B E...

AdresaE

DateE

AdresaB

DateB...

Linia de transmisie

Mux Mux

Transmisia în multiplexarea statistică

Page 35: Protocoale Peer to Peer

Abrevieri

ABM Asynchronous Balanced ModeARM Asynchronous Response ModeARQ Automatic Repeat RequestCBR Constant Bit RateCDMA Code Division Multiple AccessCRC Cyclic Redundancy CheckDHT Distributed Hash TableHDLC High-level Data Link ControlHTTP HyperText Transport Protocol

LAPBLink Access Procedure Balanced

NAKNegative Acknowledgement frame

NRM Normal Response Mode

OFDMAOrthogonal Frequency Division Multiple Access

OSI Open Systems InterconnectionPDU Protocol Data UnitRTSP Real Time Streaming ProtocolRTTP Real Time Transport ProtocolSDP Session Definition ProtocolSDU Service Data UnitSDU Service Data UnitSIP Session Initiation ProtocolSMTP Simple Mail Transport ProtocolTCP Transmission Control ProtocolUDP User Datagram ProtocolVBR Variable Bit Rate

Page 36: Protocoale Peer to Peer

Peer to Peer

6-7 nivele în funcţie de Timeto Live (TOL)

8000-10000 computere

Cerere

Răspuns