Upload
radu
View
1.232
Download
1
Embed Size (px)
DESCRIPTION
Protocoale Peer to Peer
Citation preview
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
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
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
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.
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.
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
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
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
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
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
•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
Î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
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
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
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
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
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”
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
=
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)
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
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
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,
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)
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
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
SDP
SIPRTSP RTTP
TCP UDP
IP
Mediu fizic Ethernet
Relaţiile SIP cu alte protocoale
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)
Î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.
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ă
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
Peer to Peer
6-7 nivele în funcţie de Timeto Live (TOL)
8000-10000 computere
Cerere
Răspuns