Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
calculatoare
Ioan Jurca
Bibliografie:
1. Ioan Jurca: Programarea reţelelor de calculatoare, Ed. de Vest, 2001
2. Bill Burke, R. Monson-Haefel: Enterprise Java Beans 3.0 (5tht Edition),
O'Reilly, 2006
3. http://download.oracle.com/javaee/6/tutorial/doc/docinfo.html conține capitole
care acoperă partea de programare distribuită în Java (EJB și Web Services)
4. http://courses.cs.vt.edu/~cs4254/ - - curs la Virginia Tech, pentru
programarea cu sockets (2006)
5. http://beej.us/guide/bgnet - programare cu sockets în UNIX
6. http://courses.coreservlets.com/Course-Materials/java-ee.html - set de
cursuri (PPT) online inclusiv EJB si Web Services
7. http://docs.oracle.com/javase/tutorial/rmi/ - tutorial SUN (Oracle) pentru Java
RMI
8. http://www.cs.cf.ac.uk/Dave/C - curs extensiv de programare in C sub UNIX
(sockets, RPC)
Examen:
Scris, 2 lucrări de control, cu parte de teorie şi probleme
Cuprins
Reţele de calculatoare. Protocoale
Programarea cu sockets în UNIX
Apelarea procedurilor la distanţă
Introducere/extragere în Java
Programarea cu sockets în Java
Apelarea metodelor la distanţă
CORBA – Aplicaţii distribuite eterogene
EJB – Aplicaţii bazate pe componente
SOA – Servicii Web
1. Reţele de calculatoare. Protocoale
Componentele reţelelor de calculatoare
Modele de referinţă
Modelul OSI
Modelul TCP/IP
Probleme generale de proiectare
Modelul client-server
Familia de protocoale TCP/IP
Prezentare generală
Nivelul reţea
Nivelul transport
Nivelul aplicaţie
1.1. Componentele reţelelor de
calculatoare
Reţea de calculatoare: sistem de comunicaţii care conectează mai multe
noduri (hosts)
Nod: calculator, telefon mobil, imprimantă, frigider
Noduri mono-punct (single-home) şi multi-punct ( multi-home)
Reţea locală (LAN- Local Area Network): noduri apropiate geografic, viteze
mari de transfer (100 Mbps, 1 Gbps, 10 Gbps)
Reţea metropolitană (MAN – Metropolitan Area Network): noduri într-un oraş
sau aglomeraţie urbană, viteze asemănătoare cu LAN
Reţea răspândită geografic (WAN – Wide Area Network): noduri situate la
mari distanţe, viteze mai mici
Medii de transmitere: cablu metalic, cablu de fibră optică, unde radio (reţele
fără fir - wireless)
Prin conectarea unor reţele individuale => inter-reţele. Toate reţelele
conectate prin familia de protocoale TCP/IP: Internet
1.2. Modele de referinţă
1.2.1. Modelul OSI
Protocol sesiune
Sesiune Sesiune Nivel 5
•Secvenţiere
IP
•Controlul erorilor
•Controlul fluxului
Date Date
urgente urgente
Proces Proces
emiţătorro Tampon Tampon receptor
emisie reţea recepţie
ces
•1. se deschide un canal de comunicare şi se informează • 2. emiterea unei cereri de servicii către server şi
calculatorul local că programul poate accepta cereri de la recepţionarea rezultatelor, ori de câte ori este
clienţi necesar
•2. Programul rămâne în aşteptare până la sosirea primei • 3. închiderea canalului de comunicare şi terminarea
cereri de la un client programului
• Pentru a stabili corespondenţa nume – adresă un program de aplicaţie oarecare (partea de client pentru DNS)
apelează o procedură de bibliotecă (numită resolver) care trimite un pachet UDP la serverul DNS local (a
cărui identitate e stabilită de administratorul de reţea şi indicată într-un fişier de configurare al SO. Serverul
returnează adresa, iar resolver-ul o returnează clientului. Dacă nu e găsită pe serverul local, acesta apelează
la alte servere de nume, până adresa e găsită sau se returnează eroare
berkelez
1.3.4. Nivelul aplicaţie: serviciul de nume de
domenii (DNS)
•Conceptual în Internet există câteva sute de nume
de domenii de nivel superior, fiecare se împarte în •Pentru indicarea unui nume de domeniu se scriu toate
subdomenii (domenii de nivel 1) care la rândul lor se componentele din ierarhie, de la cea mai specifică până
împart în subdomenii, etc. la un nume de domeniu superior. Ex.: bigfoot.cs.upt.ro
•La nivel superior există două categorii de domenii: •Nu se face distincţie între litere mari şi mici într-o
generice şi nume de ţări. Cele generice au fost componentă. Lungimea unei componente nu poate
introduse în SUA, dar acum pot desemna şi noduri din depăşi 64 caractere, lungimea totală e limitată la 255
alte ţări. caractere. Uneori trebuie făcută deosebirea între nume
relative şi nume absolute (ultimele se termină cu punct
•Nume generice: com (commercial), edu (educational), după numele de domeniu de nivel superior)
gov (government), org (organization), mil (pentru
forţele armate ale SUA), int (organisme internaţionale), •Atribuirea de nume nu e legată de adresele IP, ci de
net (organizaţii de administrare a reţelelor) limite organizaţionale. Fiecare domeniu este responsabil
pentru gestionarea domeniilor incluse
•Recent au fost introduse şi alte nume generice: info,
name, coop, jobs, mobi, museum, tel, travel •Protocolul DNS foloseşte pentru server portul 53 şi
defineşte şi formatul informaţiilor din baza de date. Ex.:
•Domeniile superioare nume de ţări constau din 2
$ORIGIN ro.
litere, conform standardului ISO 3166 (ex. ro –
România, uk – Marea Britanie, fr – Franţa, de – utt IN SOA ns.utt.ro.
Germania , dar şi eu – European Union) support.timisoara.rodeu.net. (199912243
86400 3600 604800 172800)
•Organizarea numelor din nivelurile inferioare variază
de la o ţară la alta: Austria, Japonia, Marea Britanie IN NS ns.utt.ro.
impun structurarea după tipuri de activităţi: co –
comercial, ac - academic IN MX bigfoot.cs.utt.ro.
1.3.4. Nivelul aplicaţie: poşta electronică (e-mail)
•Este, alături de transferul de fişiere, cea mai veche UUCP TCP/IP utilizator
aplicaţie (înainte de 1980)
<HTML>
<BODY>
<UL>
<li><a href=“http://www.upt.ro”>Universitatea”Politehnica”
Timisoara</A>
</body></HTML>
1.3.4. Nivelul aplicaţie: World Wide Web.
Protocolul HTTP
ionel@bigfoot:~$ telnet localhost 80
•C. Protocolul de comunicare între client şi server este
HTTP(HyperText Transfer Protocol). Fiecare acţiune Trying 127.0.0.1...
constă dintr-o cerere emisă de client în format ASCII şi
un răspuns elaborat de server în format MIME. Connected to localhost.
Protocolul de nivel transport este de regulă TCP
Escape character is ‘^]’.
•Cererile pot fi simple (nu indică versiunea de protocol
HTTP) sau complete (cu indicarea versiunii şi cu o linie HEAD http://localhost/~ionel/test.htrml
HTTP/1.0
goală la sfârşit)
•Tipuri de cereri:
HTTP/1.1 200 OK
•GET – citirea (încărcarea) unei pagini Web
•HEAD – citirea antetului unei pagini Web Date: Tue, 11 Jan 2000 07:59:49 GMT
•PUT – scrie o pagină Web în colecţia de pagini a uneui server Web Server: Apache/1.3.6 (Unix) (Red Hat/Linux)
•POST – similară cu PUT, dar nu poate înlocui pagini existente
Last-Modified: Tue, 11 Jan 2000 07:52:35 GMT
•DELETE – şterge pagina adresată
Etag:”c68e5-387ae143”
•LINK şi UNLINK – stabilesc, respectiv termină legături între pagina
Web şi alte resurse
Accept-Ranges: bytes
•Exemplu de utilizare: utilizarea clientului TELNET
Content-Length: 539
pentru citirea antetului paginii Web pentru pagina
simplă dezvoltată mai înainte (presupune că pe Connection: close
calculatorul local este activat un server WWW)
Content-Type: text/html