Sunteți pe pagina 1din 5

CURSUL 5 Client/Server/socket i Remoting 1.

Comunicare ntre filozofi

cei doi filozofi au reguli de prezentare a conceptelor; cei doi traductori au reguli de traducere (limba, citatele, etc.); cei doi ingineri de comunicaie stabilesc suportul de comunicare, sistem de apel/adresare, protecie... fiecare mesaj trece prin m!ini.

2. Mo elul !S" #!$en S%stem "nterconection&


"S! #"nternational Standards !rganization& a propus modelul de comunicare "n reea (#$%). &olose'te un model pe ( ni)ele* ( + ni)el aplicaie/proces (application la,er)* propuneri de interfa comun "ntre utilizatori; + ni)el prezentare (presentation la,er)* indic sinta-e comune folosite "ntre aplicaii sau utilizatori; . + ni)el sesiune (session la,er)* gestioneaz dialogul "ntre aplicaii sau utilizatori; / + ni)el trasnport (transport la,er)* ofer cel mai "nalt ni)el se ser)icii, incluz!nd refaceri cap la cap, multiple-are 'i control de flu-; 0 + ni)el reea (net1or2 la,er)* fi-eaz 'i ruteaz flu-ul de date "ntre capetele comunicaiei; 3 + ni)el legtura de date (data-lin2 la,er)* fi-eaz o transmisie fr erori "n jurul unei linii de transmisie; 4 + ni)el fizic (p5,sical la,er)* specificaii electronice, mecanice de transmisie. 6n practic a)em protocoale concrete* - 'ranmision Control (rotocol / "nternet (rotocol ('C(/"(); - )ero- *et1or2 S,stem ()*S sau (+)/S((); - ",M $,stem 7et1or2 8rc5itecture (S*-) - Uni- to Uni- Co(, (99:;); 4

<-emplu* 'C(/"( 'i )*S are / ni)ele*

&=;, =<>7<= =:;, 9A; %;, 8?;, etc <=B<?7<=, =#C<7 ?%7D

7i)el ;roces 7i)el =ransport 7i)el ?eea 7i)el >egatura Ae Aate

;roces 9ser =:;, 9A; %; %nterfa 5ard

., ,( #$% / #$% 0 #$% 4,3 #$%

$o2et, ?;:, ?@% (mesaj) (pac5et) (frame)E entiti

8li termeni* "ncapsulare/dez"ncapsulare; multiple-are/demultiple-are; fragmentare/asamblare; comutare; !.serva/ii0 1. Un frame et1ernet0 $ac1et "( $ac1et #mesa2& U3( mesa2 '4'( mesa2 -ntet -ntet -ntet leg. ate Re/ea trans$ort +t1ernet "( U3( #'C(&

-ntet $roces '4'(

M+S-5 # ate&

Sf. Mesa2 Coa a +t1ernet

2. Multi$le6are #com.inare elemente& i emulti$le6are. 7. 4ragmentare i reasam.lare #vezi constanta M'U8 Ma6im 'ras$ort Unit& 3

9. (entru a efini o leg:tur: ntre ou: $rocese8 se folosete termenul e cone6iune. 'ermenul e asociere enumete un cvintu$lu care s$ecific: com$let o cone6iue0 #(rotocol8 - resaLocala8 (rocesLocal8 - resa3e$artata8 (roces3e$artat&

7. Socket i -$elul $roce urilor e la istan/: #R(C8 RM"&


>a ni)el proces se folose'te noiunile de soc2et 'i port* Socket0 capt de comunicaie (sau punct final de comunicaie), care poate fi numit 'i adresat "ntr-o reea, este locul unde programul de aplicaie se "nt!lne'te cu furnizorul mediului de transport; dpd) al programului de aplicaie, un soc2et este o resurs alocat de sistemul de operare; dpd) al $# este o structur de date "ntreinut de ctre nucleul $#, referit "n programele de aplicaie printr-un "ntreg numit escri$tor e socket. (ort* din perspecti)a unei aplicaii un port este un capt al unui canal de comunicaie; o aceea'i intefa de reea poate fi folosit simultan de mai multe aplicaii, fiecare dintre acestea a)!nd alocat c!te un port. (un intreg de 4 bii); 8nalogii* 1. Cutia $otal:0 a) proprietarul ei (prog de aplicatie) depune corespondenta de trimis 'i de unde "'i ridic corespondena primit; b) factorul po'tal (furnizorul mediului de transport) desc5ide cutia de c!te)a ori pe zi, ridic corespondena de e-pediat 'i depune corespondena sosit la adresa respecti) 3. -$arat telefonic0 a) proprietarul formeaz un numr 'i dup stabilirea legturii "ncepe s discute cu persoana de la cellalt capt al firului; b) aparatul plus "ntreaga reea telefonic asigur stabilirea legturii 'i asigur stabilitatea acesteia p!n la "nc5iderea unuia dintre cele dou aparate. $oc2et stream (orientat cone-iune, analogia cu ap telefonic) cu =:; $oc2et datagram (ser)iciu fr cone-iune) cu 9A;. 8pelul procedurilor de la distan (?;:, ?@%) apare ca o continuare natural a noiunii de soc2et* - ce sarcini )or fi e-ecutate local 'i ce sarcini )or fi e-ecutate la distan; - definirea unui protocol care s specifice* $roce ura la istan/:, argumentele, rezultatele F semantica - e-emplu* C"'"R+- U*U" 4";"+R

@odelul R(C (principu de implementare) 0

9.Scenariul a$lica/iilor socket stream #im$lement:ri client/server&


;rogramarea aplicaiilor care folosesc protocol cu ser)icii orientate cone-iune (soc2et stream) se folosesc c!te)a apeluri sistem; unele sunt apelate de ctre ser)er altele de ctre client*

>a ser)er* socket* cere nucleului $# s creeze un soc2et prin care s poat fi contactat de ctre clieni; aici se fi-eaz familia de adrese folosit, precum 'i tipul de soc2et folosit. .in * transmite nucleului $# numrul de port la care ser)erul a'teapt s fie contactat precum 'i faptul c poate fi contactat prin orice interfa de reea de pe ma'ina ser)er. listen* cere nucleului $# s dimensioneze lungimea cozii de a'teptare la soc2et >a client* socket* cere nucleului $# s creeze un soc2et prin care s poat fi contactat de ctre ser)er; ?elaia* >a un moment dat clientul e-ecut un apel sistem connect, prin care "i transmite nucleului $# al lui adresa "( 'i numrul de port ale ser)erului cruia dore'te s-i cear un ser)iciu; nucleul, prin mecanismul soc2et contacteaz ser)erul solicitat. Serverul, odat cu lansarea apelului sistem acce$t, rm!ne "n a'teptare p!n c!nd un client "l contacteaz; odat contactat, el prime'te adresa "( 'i numrul de port ale clientului contactat. Clientul e-ecut unul sau mai multe apeluri sistem sen prin care transmite ser)erului /

un mesaj prin care "i cere un ser)iciu; Serverul, prin apelurile sistem recv recepioneaz acest mesaj; 8poi, serverul, e-ecut aciunile necesare satisfacerii cererii clientului. =rimiterea rezultatului de ctre server ctre client se face similar* ser)erul trimite apeluri sen , iar clientul recepioneaz prin apeluri recv.