Sunteți pe pagina 1din 37

CAPITOLUL 3

Stratul aplicatie functionalitate si protocoale

3.0.1. Introducere

Marea majoritate foloseste internetul(ca retea globala) prin intermediul


programelor de file sharing si a serviciilor: web (World Wide Web), e-mail, ftp.
Aceste servicii, si multe altele, ne ofera o interfata cu reteaua efectiva, ajutandu-
ne sa transmitem sau sa receptionam informatia/datele cu usurinta. De obicei
aplicatiile pe care le folosim sunt intuitive, adica putem sa la accesam si sa le
folosim fara a sti cum functioneaza(de exemplu folosirea unui browser web, cum
ar fi internet explorer). Totusi, pentru profesionistii in retelistica, este important
sa stie in ce fel o aplicatiile structureaza, transmit si interpreteaza mesajele
transmise si receptionate in retea.

Intelegerea mecanismului care permite comunicarea in retea, este mai facila


daca folosim structura stratificata o modelului OSI (Open System
Interconnection). In acest capitol ne vom concentra atentia pe rolul unuia dintre
straturile modelului si anume stratul “Aplicatie” si componentele lui: aplicatii,
servicii si protocoale.

In acest capitol veti invata sa:


Descrieti cum straturile superioare OSI asigura servicii de retea pentru aplicatiile
utilizatorului;
Descrieti cum protocoalele stratului “Aplicatie” din TCP/IP furnizeaza servicii
specificate de straturile superioare ale OSI;
Definiti cum folosesc utilizatorii stratul “Aplicatie” pentru a comunica in retea;
Descrieti rolul aplicatiilor binecunoscute TCP/IP, cum ar fi World Wide Web si
email, si serviciile corelate (HTTP, DNS, SMB, DHCP, SMTP/POP, and Telnet).
3.1.1. Modele OSI si TCP/IP

Modelul de referinta OSI (Open Systems Interconnection) este o reprezentare


abstracta, structurata a comunicarii in retea. El a fost creat pentru a ne ghida in
ansamblul protocoalelor de retea. El structureaza procesul de comunicare in 7
straturi logice, fiecare strat are o functionalitate unica si in acelasi timp servicii si
protocoale specifice asociate.

In acest model, informatia este pasata de la un strat la urmatorul, incepand de la


stratul “Aplicatie”-sursa, pana la stratul “Fizic”-sursa, apoi trimisa in mediul de
comunicatie pana la stratul Fizic si Aplicatie destinatie.

01001001001010
Stratul aplicatie, al 7- lea, este in varful ambelor modele OSI si TCP/IP. Este
stratul care ne furnizeaza interfata dintre aplicatia pe care o folosim pentru
comunicare si reteaua efectiva prin care va fi transmis mesajul. Protocoalele
acestui strat sunt folosite pentru a face schimbul de date intre programele care
ruleaza la sursa si la destinatie.

Chiar daca stiva de protocoale TCP/IP a fost dezvoltat inaintea definirii


modelului OSI, functionalitatea stratului Aplicatie din TCP/IP este, in mare,
asemanatoare cu cea a celor trei straturi superioare din OSI – Aplicatie,
Prezentare si Sesiune.

Mare parte a protocoalelor stratului Aplicatie au fost dezvoltate inainte de


aparitia calculatorarelor personale, interfetei grafice cu utilizatorul si a obiectelor
multimedia. Ca rezultat, aceste protocoale implementeaza foarte putin din
functionalitatea specifica straturilor Prezentare si Sesiune din OSI.

Stratul Prezentare

Stratul prezentare are trei functii principale:


Codarea si conversia datelor de la nivelul Aplicatie pentru a fi siguri ca datele
transmise de sursa vor fi interpretate de aplicatia corespunzatoare la destinatie.
Compresia datelor in asa fel incat acestea sa poata fi decompresate la
destinatie.
Criptarea si decriptarea

Implementarile stratului Prezentare nu sunt in mod normal asociate cu un


protocol de stiva. Standardele pentru video si grafica sunt exemple.
Binecunoscutele standarde pentru video includ QuikTime si Motion Picture
Experts Group (MPEG). QuikTime este bazat pe specificitatile video, audio, ale
celor de la Apple Computer, in timp ce MPEG este un standard pentru
compresie video si codare.
Printre binecunoscutele formate de imagine regasim Graphics Interchange
Format (GIF), Joint Photographic Experts Group (JPEG), si Tagged Image File
Format (TIFF). GIF si JPEG sunt standarde pentru compresie si codare si TIFF
este un format standard de codare.

Stratul Sesiune

Asa cum ne spune si numele, functiile acestui strat sunt de a crea si mentine
dialogurile intre aplicatiile sursa si destinatie. Stratul Sesiune se ocupa cu
schimbul de informatii pentru a initia dialogul, pentru a-l mentine si pentru a
restabilii sesiunile intrerupte sau aflate in asteptare pentru o lunga perioada de
timp. Mare parte a aplicatiilor, cum ar fi browserul web sau clientul de e-mail,
incorporeaza functionalitatile straturilor 5, 6 si 7 din modelul de referinta OSI.

Cele mai cunoscute protocoale ale stratului Aplicatie dinTCP/IP sunt cele care
furnizeaza suport pentru schimbul informatiei intre utilizatori. Aceste protocoale
specifica formatul si informatia de control necesare functiilor de comunicare
uzuale in internet.

Protocoale ce opereaza la acest nivel:


Domain Name Service Protocol (DNS) folosit pentru asocierea numelor din
internet cu adresa ip (www.google.ro 74.125.87.104).
HyperText Transfer Protocol (HTTP) este folosit la transferarea paginilor de
web.
Simple Mail Transfer Protocol (SMTP) folosit la transferul e-mail si
atasamentelor.
Telnet, protocol de emulare a terminalului, folosit pentru gestionarea la distanta
a server-elor si dispozitivelor conectate in retea (router, switch, access point,
imprimanta).
File Transfer Protocol (FTP) folosit la transferul de fisiere.

Protocoalele din stiva TCP/IP sunt definite de Requests for Comments (RFCs).
Internet Engineering Task Force (IETF) mentine RFC-urile ca standarde pentru
stiva TCP/IP.
3.1.2. Software-ul (programele) de la nivelul Aplicatie

Functiile asociate cu protocoalele stratului Aplicatie ne permit sa folosim reteaua


efectiva, in sensul ca aceste protocoale sunt intefata utilizatorului cu reteaua. Un
exemplu scurt – cum ar fi sa conectez tastatura la retea si sa scriu mesaje. Si
mai interesant – cum ar fi sa conectez calculatorul la retea si fara sa deschid
nici o aplicatie sa transmit fisiere in retea (absurd). Asa ca, mai bine deschidem
clientul de e-mail (outlook express, lotus notes, thunderbird). Acest client se
conecteaza la un server de e-mail care ne transmite mesajele mai departe catre
destinatie, sau ne aduce mesajele de la alt utilizator. Cand deschidem un client
de e-mail, este pornita o aplicatie (aceasta aplicatie ni se infatiseaza pe ecran
ca o fereastra cu meniuri), si programul(software-ul) este pus in memorie unde
este rulat /executat. Fiecarui program care se afla in faza de rulare, pe un
dispozitiv va fi numit proces.

In cadrul stratului Aplicatie, exista doua forme de programe software sau


procese care ne permit accesul la retea: aplicatiile si serviciile.

Aplicatii “Network-aware”
Applicatiile sunt programe software folosite de oameni pentru a comunica in
retea. Unele aplicatii de utilizator sunt network-aware, ceea ce inseamna ca
implementeaza protocoalele stratului Aplicatie si sunt capabile sa comunice
direct cu straturile inferioare ale stivei.
Serviciile stratului Aplicatie

Alte programe au nevoie de serviciile stratului Aplicatie pentru a folosi resursele


retelei, cum ar fi transferul de fisiere sau programul care gestioneaza cozile de
asteptare la imprimantele de retea (network print spooling). Chiar daca
utilizatorul nu le vede aceste servicii sunt programele care constituie interfata cu
reteaua si pregatesc datele pentru transfer. Tipuri diferite de date, fie text,
grafica sau video – necesita diferite servicii de retea pentru a asigura ca fiecare
din aceste date sunt pregatite corespunzator pentru procesare de catre functiile
din straturile inferioare OSI.

Fiecare aplicatie sau serviciu de retea foloseste protocoale care definesc


standarde si structuri de date ce trebuiesc folosite. Fara protocoale(set de
reguli), reteaua nu ar avea o modalitate comuna de structurare si transmitere a
datelor. Pentru a intelege functiile serviciilor de retea, este necesar sa
cunoasteti protocoalele care le guverneaza.
3.1.3. Aplicatiile utilizatorilor, servicii si protocoale ale stratului Aplicatie

Dupa cum am mentionat mai devreme, stratul Aplicatie foloseste protocoale


implementate in cadrul aplicatiilor si serviciilor. In timp ce aplicatiile ofera
oamenilor posibilitatea de a crea mesaje si serviciile stratului Aplicatie stabilesc
o interfata cu reteaua, protocoalele stabilesc regulile si formatul(structura de
date) care se aplica datelor. De exemplu, cand vorbim de “Telnet”, ne referim la
aplicatie, servici sau protocol.

In modelul OSI, aplicatiile care interactioneaza direct cu oamenii sunt


considerate a fi la cel mai inalt nivel al stivei. La fel ca si celelalte straturi, stratul
Aplicatie depinde de functiile stratului inferior, pentru ca procesul de comunicare
sa reuseasca. In cadrul nivelului Aplicatie, protocoalele specifica ce mesaje
(informatii ) sunt schimbate intre sursa si destinatie, sintaxa comenzilor de
control, tipul si formatul datelor transmise si metodele de notificare si corectare
a erorilor.
3.1.4. Functiile stratului Aplicatie

Protocoalele stratului aplicatie sunt folosite de ambele dispozitive, sursa si


destinatie, in timpul sesiunii de comunicare. Pentru ca comunicarea sa
reuseasca, protocoalele stratului Aplicatie implementate la sursa si destinatie
trebuie sa se potriveasca.

Protocoalele stabilesc reguli pentru schimbarea datelor intre aplicatii si servicii


incarcate pe echipamentele implicate in respectivul schimb. Protocoalele
specifica cum sunt structurate datele in interiorul mesajelor. Aceste mesaje pot fi
cereri de servicii, confirmari, mesaje de date sau mesaje de eroare.
Protocoalele definesc de asemenea mesajele dialog, asigurand ca un mesaj
trimis va primi raspunsul asteptat si serviciul apelat este cel corect, in vederea
efectuarii transferului.

Exista o varietate de aplicatii care comunica in retea. De aceea, serviciile


stratutului Aplicatie trebuie sa implementeze protocoale multiple in vederea
asigurarii domeniului necesar de comunicatii. Fiecare protocol are un scop bine
definit si contine functionalitati ce permit atingerea respectivului scop. Detaliile
conforme protocolului din fiecare strat trebuie respectate in asa fel incat functiile
unui strat sa se potriveasca cu serviciile stratului inferior.

Aplicatiile si serviciile pot de asemenea utiliza protocoale multiple pe parcursul


unei singure conversatii. Un protocol poate specifica cum se stabileste legatura
in retea iar altul descrie procesul ce are loc in timpul transferului de date cand
mesajul este transmis stratului inferior.
3.2.1. Modelul Client-Server

Datele pe care oamenii incearca sa le acceseze prin intermediul unui dispozitiv


de retea, fie el calculator, laptop, PDA (Personal Digital Assistant), celular, nu
sunt intotdeauna stocate fizic pe respectivul dispozitiv.

Modelul Client/Server

In modelul client/server, dispozitivul care cere informatii se numeste client iar


dispozitivul care raspunde cererilor se numeste server. Procesele client si
server sunt considerate ca facand parte din stratul Aplicatie. Clientul incepe
comunicatia prin cereri de date adresate server-ului. Server-ul raspunde
trimitand un flux de date clientului. Protocoalele stratului Aplicatie descriu
formatul cererilor si raspunsurilor intre clienti si server-e. In plus la transferul de
date, acest schimb necesita informatii de control, cum ar fi, autentificarea
utilizatorului si identificarea fisierului de date ce trebuie transmis.

Un exemplu de retea client/server este cel pe care il gasim in companiile in care


angajatii folosesc un server e-mail pentru a transmite, primi si stoca mesaje.
Clientul de e-mail din calculatorul angajatului transmite o cerere server-ului
pentru a afla daca are mesaje necitite. Server-ul raspunde trimitand mesajele
solicitate clientului.

Chiar daca de obicei datele sunt transmise de la server la client, unele date se
transmit de la client la server. Transferul datelor poate fi egal in ambele sensuri,
sau chiar mai mare dinspre client spre server. De exemplu, un client poate
transfera un fisier catre server cu scopul de a-l stoca. Datele transferate de la un
client catre server se numesc date incarcate (upload), iar datele de la server la
client se numesc date descarcate (download).
3.2.2. Server-e

In contextul general al retelisticii, orice dispozitiv care raspunde cererilor unei


aplicatii client functioneaza ca server. Un server este de obicei un calculator
care contine informatii partajate sistemelor client. De exemplu pagini web,
documente, baze de date, poze, filme si fisiere audio, pot fi stocate toate pe un
server si livrate in functie de cereri. In alte cazuri, cum ar fi cel al unei
imprimante de retea, server-ul de printare trimite cererile clientilor la imprimanta
solicitata.

Diferite tipuri de aplicatii server pot avea pretentii diferite pentru a permite
accesul clientilor. Unele server-e pretind autentificarea clientilor pentru a verifica
daca au dreptul sa acceseze datele cerute sau sa efectueze o anumita operatie.
Asemenea server-e se folosesc de o lista centrala de conturi si autorizatii sau
drepturi acordate fiecarui utilizator. Cand folosim un client de server de fisiere
(client FTP), de exemplu, putem avea dreptul sa scriem in directorul personal
dar nu avem dreptul de a vizualiza alte fisiere(sa zicem ale altor utilizatori).

In retelele client/server, server-ele ruleaza servicii sau procese deseori numite si


server daemons.
Ca multe alte servicii, acestea ruleaza in memorie fara a afisa
vreo fereastra care sa certificate acest lucru si nu se afla sub
controlul direct al utilizatorului. Aceste servicii (daemons)
“asculta” o cerere de la un client, pentru ca sunt programate sa
raspunda atunci cand server-ul primeste o cerere penru
serviciul furnizat de “daemon”. Cand acest serviciu “daemon”
aude o cerere de la un client, face schimburile de mesaje
necesare cu clientul, in concordata cu regulile protocolului sau, si transmite date
cerute de client in formatul corect.
3.2.3.1. Serviciile si Protocoalele stratului Aplicatie

O singura aplicatie utilizator poate folosi multiple servicii ale stratului Aplicatie;
de aceea, o singura cerere facuta de utilizator, se va transforma, defapt, in mai
multe cereri individuale. Pentru fiecare cerere, mai multe procese vor fi rulate.

In plus, server-ele au cereri de la mai multi clienti in acelasi timp. De exemplu un


server Telnet poate avea cereri de conexiune de la mai multi clienti. Aceste
cereri de la clienti individuali trebuie gestionate simultan si separat, pentru ca
conexiunile sa aiba loc. Procesele si serviciile din cadrul stratului Aplicatie se
bazeaza pe suportul straturilor de mai jos pentru a gestiona conversatii multiple.

3.2.4.1. Retele de la egal – la – egal (peer-to-peer) si aplicatiile P2P

Modelul peer-to-peer

In afara de modelul client/server exista si modelul peer-to-peer. Reteaua peer-


to-peer implica doua forme distincte: planul retelei (fara server, calculatoarele
sunt conectate intre ele fara a avea nevoie de server) si aplicatiile P2P.
Amandoua au caracteristici similare dar in practica functioneaza foarte diferit.

Retele peer-to-peer

Intr-o retea peer-to-peer, doua sau mai multe calculatoare sunt conectate prin
intermediul retelei, putand astfel partaja resurse (fisiere, imprimante etc) fara a
avea nevoie de un server dedicat. Fiecare dispozitiv local conectat (end device
peer) poate functiona ca client si ca server. Un calculator poate sa-si asume
rolul de server intr-o conversatie in timp ce, in alta conversatie este client(cele
doua conversatii au loc in acelasi timp). Rolul clientului si server-ului se
stabileste pe baza cererilor.

O retea simpla formata din doua calculatoare interconectate si care


partajeaza(folosesc impreuna) o imprimanta este un exemplu de retea peer-to-
peer. Fiecare persoana poate configura calculatorul sa partajeze fisiere, jocuri in
retea sau o legatura la internet. Un alt exemplu de utilitate a retelei peer-to-peer
este acela in care doua calculatoare conectate la o retea mare (Internet-ul),
folosesc aplicatii software pentru a partaja resurse intre ei prin intermediul, sa
zicem, Internet-ului.

Diferit de modelul client/server, care foloseste server-e dedicate, retelele peer-


to-peer descentralizeaza resursele retelei. In loc sa stocheze informatiile pe
server-e dedicate, informatiile pot fi stocate oriunde pe un dispozitiv conectat.
Marea majoritate a sistemelor de operare au incorporata aceasta functionalitate
fara a mai fi necesara instalarea de software suplimentar. Deoarece retelele
peer-to-peer, in general, nu folosesc liste centralizate cu conturi , drepturi sau
softuri de monitorizare este dificil de securizat si de folosit politici de acces in
retea daca contine mai mult de cateva calculatoare. Conturile utilizator si
drepturile de acces trebuie configurate pe fiecare calculator in parte.

3.2.4.1. Retele de la egal – la – egal (peer-to-peer) si aplicatiile P2P

Aplicatii peer-to-peer

O aplicatie peer-to-peer (P2P), spre deosebire de o retea peer-to-peer, permite


unui dispozitiv sa aiba ambele roluri, client si server, intr-o singura comunicatie.
Amandoua pot initia o comunicatie si sunt considerate egale in procesul
comunicarii. Oricum, aplicatiile peer-to-peer necesita ca end-device-urile sa
asigure o interfata si sa ruleze un serviciu in fundal.

Unele aplicatii P2P folosesc un sistem hibrid in care resursele partajate sunt
descentralizate, dar indecşi care ne indica locatia unde resursele sunt stocate,
sunt stocati intr-un director centralizat. Intr-un sistem hibrid, fiecare peer
(dispozitiv de retea ,calculator) acceseaza un server index pentru a gasi locatia
in care sunt stocate resursele pe un alt peer. Serverul index poate de asemenea
ajuta la stabilirea conexiunii intre doi utlizatori de retele ”peer-to-peer”, dar o
data conectati, comunicatia are loc intre cei doi fara comunicari aditionale cu
server-ul index.

Aplicatiile peer-to-peer pot fi folosite in retele peer-to-peer, retele client/server si


in reteaua globala Internet.

3.3.1.1. Serviciile si protocoalele Sistemului Numelor de Domenii (DNS)

Acum ca intelegem felul in care aplicatiile asigura o interfata pentru utilizator si


asigura accesul la retea, vom arunca o privire pe unele protocoale specifice,
folosite in mod obisnuit.

Asa cum vom vedea mai tarziu in acest curs, nivelul Transport foloseste o
scema de adresare numita numar de port. Numarul de port identifica aplicatii si
servicii ale nivelului Aplicatie care constituie sursa si destinatia datelor.
Programele server folosesc un numar de port predefinit care este cunoscut de
clienti. In timp ce examinam direrite servicii si protocoale ale nivelului Aplicatie,
ne vom referi la numarul porturilor TCP si UDP ca numere asociate acestor
servicii. Unele dintre aceste servicii sunt:
DNS - TCP/UDP Port 53
HTTP – port 80
SMTP – portul 25
POP – UDP port 110
TELNET – port 23
DHCP – UDP port 67, 68
FTP – port 20, 21

Sistemul numelor de domenii, pe scurt DNS

In retelele de date, dispozitivele sunt etichetate cu o adresa numerica IP, in felul


acesta ele participa la procesul de transmitere/receptie a mesajelor in retea.
Oricum, mare parte a oamenilor considera ca este greu de tinut minte aceste
adrese. Din aceasta cauza, numele de domenii au fost create pentru a converti
adresele numerice in nume simple usor de retinut.

In Internet aceste nume de domenii, cum ar fi www.google.ro, sunt mult mai


usor de retinut decat 174.125.87.99 care este de fapt adresa numerica a server-
ului. De asemenea, daca cei ce se ocupa de server, stabilesc schimbarea
adresei numerice, acest lucru nu va afecta utilizatorii, deoarece numele de
domeniu ramane neschimbat. Noua adresa va fi pur si simplu asociata cu
numele de domeniu. Cand retelele erau raspandite pe arii mici, era simplu sa
asociezi numele de domeniu cu adresele numerice. Cu timpul retelele sau
extins pe arii mari, numarul dispozitivelor din retea a crescut si el, acest sistem
manual a devenit impracticabil.

Protocolul DNS defineste un serviciu automatizat care potriveste numele


resurselor din Internet cu adresa numerica de retea. Include formatul pentru
cerere, raspuns, si pentru date. Comunicatiile protocolului DNS folosesc un
singur mesaj. Acest mesaj este utilizat pentru toate tipurile de cerere client,
raspuns server, mesaje de eroare si transferul de informatii inregistrate despre
resurse intre server-e.
3.3.1.2. Servicii si protocoale DNS

DNS este un serviciu de tip client/server; desi, el difera de alte servicii


client/server. In timp ce alte servicii folosesc un client – aplicatie (cum ar fi
browser web sau client e-mai), clientul DNS ruleaza ca un serviciu de sine
statator. Clientul DNS, uneori numit si resolver DNS, sustine rezolutia numelor si
pentru alte aplicatii si servicii de retea necesare.

Cand configuram un dispozitiv de retea, in mod obisnuit, vom specifica si un


server de nume pe care clientul DNS il poate folosi la rezolutia numelor. In mod
normal furnizorul de servicii internet (ISP), ne va comunica adresa server-ului
DNS. Cand o aplicatie a unui utilizator cere conexiunea cu un nume de
dispozitiv la distanta, aceasta cerere va ajunge la un server DNS care va gasi
adresa numerica asociata cu numele cerut.

Sistemele de operare ce ruleaza pe calculatoare au de asemenea un utilitar


numit nslookup care permite utilizatorului sa interogheze manual un server de
nume in vederea rezolutiei unei gazde. Acest utilitar poate de asemenea sa fie
folosit cu scopul de a depana probleme aparute la rezolutia de nume si sa
verifice starea server-elor de nume.
In figura de mai jos, cand dam comanda nslookup, fara nici un parametru ,
server-ul implicit al gazdei locale va fi afisat (in cazul nostru mail.snr.ro –
192.168.0.1).

Apoi putem tasta numele gazdei sau domeniului caruia vrem sa-i aflam adresa.
In prima interogare avem lotus.radiocom.ro. server-ul de nume spune ca acestui
nume ii corespunde adresa numerica IP 192.168.0.1

Interogarile din figura sunt simple teste. Nslookup are multe optiuni disponibile
pentru teste mai complexe si verificarea procesului DNS.

3.3.1.3. Servicii si protocoale DNS

Un server DNS asigura rezolutia de nume folosind “daemon”-ul de nume, care


este numit adesea “named”.

Server-ul DNS stocheaza diferite tipuri de inregistrari de resurse folosite la


rezolutia de nume. Aceste inregistrari contin numele, adresa, si tipul inregistrarii.

Unele din aceste inregistrari sunt

A – un dispozitiv de retea (calculator local,server, …end-device)


NS – un nume de sever principal (autorithative)
CNAME – un alias pentru Fully Qualified Domain Name (folosit cand mai multe
servicii au o singura adresa de retea dar fiecare serviciu este inregistrat in DNS)
MX – mail exchange record; asociaza un nume de domeniu cu o lista de server-
e de mail

Atunci cand un client face o cerere, procesul “named” al server-ului se uita in


primul rand la inregistrarile personale pentru a verifica daca rezolutia de nume
exista local. Daca nu exista, contacteaza alte server-e de nume in vederea
obtinerii rezolutiei de nume.

Cererea poate fi transferata unui numar de server-e, care va aduce intarzieri si


consum de banda suplimentara. Atunci cand un server gaseste rezolutia de
nume, o trimite server-ului care a facut cererea initiala. Acesta din urma va
stoca adresa numerica ce corespunde numelui in memoria temporara “cache”.

Daca acelasi nume este cerut din nou, primul server poate returna adresa
numerica din memoria temporara cache. Aceasta stocare temporara reduce atat
traficul generat de cereri cat si incarcarea resurselor server-elor. Serviciul
clientului de DNS de pe calculatoare optimizeaza performanta sistemului DNS
stocand rezolutiile de nume in memorie, in urma primirii rezolutiilor de la server-
e. Comanda ipconfig /displaydns listeaza toate inregistrarile din cache-ul
calculatoarelor ce ruleaza xp sau 2000.

3.3.1.4. Serviciile si protocoalele DNS

Sistemul numelor de domenii foloseste un sistem ierarhic pentru a crea o baza


de date de nume care sa asigure rezolutia numelor. Ierarhia arata ca un copac
rasturnat, adica radacina sus si ramurile jos.

In fruntea ierarhiei, server-ele “root” mentin inregistrari despre cum se poate


ajunge la server-ele de domenii “top-level”, care la randul lor au inregistrari
despre server-ele “secondary-level” si asa mai departe.

Domeniile “top-level” reprezinta ori tipul organizatiei ori tara de origine. Exemple:
.au – Australia
.co – Columbia
.com – afaceri sau industrie
.jp – Japonia
.org – organizatie non-profit

Dupa domeniile de nivel 1 (top level) se gasesc numele de domenii de nivel 2


(second level) si dedesubtul lor se gasesc alte niveluri de domenii.

Fiecare nume de domeniu reprezinta calea de la radacina(root) la domeniu.

De exemplu, asa cum se vede in figura, server-ul root de nume poate sa nu stie
cu exactitate unde este localizat server-ul de mail mail.astazi.com, dar are o
inregistrare pentru domeniul .com la nivelul 1. La fel, server-ele pentru domeniul
com pot sa nu aiba inregistrari pentu mail.astazi.com dar au pentru domeniul
astazi.com. Server-ele din domeniul astazi.com au o inregistrare (o inregistrare
MX) pentru mail.astazi.com.

Sistemul numerelor de domenii se bazeaza pe o ierarhie descentralizata de


server-e pentru a stoca si mentine inregistrarile despre resurse. Inregistrarile de
resurse contin nume de domenii pe care le poate rezolva si server-e alternative
care la randul lor pot raspunde cererilor. Daca un server are inregistrari despre
resurse si acestea corespund nivelului lui in ierarhie, acest server se numeste
“authoritative” pentru acele inregistrari.

De exemplu, un server de nume din domeniul jurnalul.bucuresti.ro nu va fi


authoritative pentru domeniul jurnalul.ro
3.3.2.1. Serviciul web si protocolul HTTP

When a web address (or URL) is typed into a web browser, the web browser
establishes a connection to the web service running on the server using the
HTTP protocol. URLs (or Uniform Resource Locator) and URIs (Uniform
Resource Identifier) are the names most people associate with web addresses.
Cand o adresa web (sau URL) este scris intr-un browser web, browser-ul
stabileste o conexiune cu serviciul ce ruleaza pe server folosind protocolul
HTTP. URL (Uniform Resource Locator) si URI sunt identificatorii pe care marea
majoritate a oamenilor le asociaza cu adresele web.

URL-ul http://www.asta.ro/index.html este un exemplu ce specifica o resursa- o


pagina web numita index.html pe un server identificat ca www.asta.ro.
.
Browserele web sunt clientii aplicatiilor folosite de calculatoarele personale
pentru a ne conecta la web-ul global si pentru a ne permite accesul la resursele
stocate pe server-ele web.

Pentru a accesa continutul, clientii web realizeaza conexiuni la server cerand


resursa dorita. Server-ul va trimite resursele si, inainte de primire, browser-ul
interpreteaza datele si le prezinta utilizatorului.

Browser-ele pot interpreta si prezenta mai multe tipuri de date, cum ar fi text
simplu sau hypertext markup language (HTML – limbajul in care paginile web
sunt construite).

Pentru a intelege mai bine cum interactioneaza server-ul si clientul web, putem
examina modul in care o pagina web este deschisa pe un browser.De exemplu,
vom folosi URL-ul www.asta.ro/web-server.html

Prima data, browser-ul interpreteaza cele trei parti ale URL-ului

1. http (protocolul)
2. www.asta.ro (serverul ce detine resursa)
3. web-server.html (numele specific fisierului cerut)

Apoi browser-ul incearca sa converteasca www.asta.ro intr-o adresa numerica


(cu ajutorul server-ului de nume), aceasta adresa numerica va fi folosita de fapt
pentru a comunica cu server-ul. Folosind protocolul HTTP, browser-ul face o
cerere GET la server prin care solicita fisierul web-server.html. Server-ul, la
randul lui, trimite cod-ul paginii solicitate de catre client.
3.3.2.2. Serviciile web si HTTP

Protocolul HTTP, unul din protocoalele stivei TCP/IP, a fost initial dezvoltat
pentru publicarea paginilor web dar si ca mijloc de aducere a paginilor de la
server la client. Acum este folosit, si ca sistem de colaborare distribuit. HTTP
este folosit in internet pentru transfer de date si este unul din cele mai utilizate
protocoale Aplicatie.

HTTP descrie un protocol cerere/raspuns. Cand un client, in mod normal un


browser web, trimite un mesaj cerere unui server, protocolul HTTP defineste
tipul mesajului folosit de client pentru cererea unei pagini web si de asemenea
tipul mesajului folosit de server ca raspuns la cerere. Trei mesaje obisnuite sunt
GET, POST si PUT.

GET este o cerere de date de la client. Un browser web trimite mesajul GET
pentru a cere o pagina server-ului web. Asa cum apare in figura, de indata ce
server-ul primeste cererea GET, va raspunde cu o linie de status, cum este
HTTP/1.1 200 OK, si un mesaj propriu, in interiorul caruia pot fi regasite:
fisierul/pagina ceruta, un mesaj de eroare sau alte informatii.

POST si PUT sunt folosite pentru a trimite mesaje ce incarca date pe server. De
exemplu, cand utilizatorul introduce date intr-o forma incapsulata intr-o pagina
web, POST include datele in mesajul transmis server-ului.

PUT incarca resursele sau continutul in pagina web.


Cu toate ca este foarte flexibil, HTTP nu este un protocol securizat. Mesajul
POST incarca informatia pe server in text clar, ce poate fi interceptat si citit.
Asemanator, raspunsul server-ului, de obicei o pagina HTML, este tot
necriptata.

Pentru o comunicare securizata in Internet, este folosit protocolul HTTPS.


Acesta poate folosi autentificarea si criptarea datelor pe parcursul comunicarii
intre client si server. HTTPS specifica reguli aditionale pentru livrarea datelor
intre stratul Aplicatie si Transport.

3.3.3.1. Serviciile de e-mail si protocoalele SMTP/POP

Posta electronica sau e-mail, cel mai popular serviciu din internet, a revolutionat
modul de comunicare prin simplitate si viteza. Pentru a rula pe un calculator sau
alte dispozitive, posta electronica are nevoie de unele aplicatii si servicii. Doua
exemple de protocoale ale stratului Aplicatie, necesare, sunt Post Office Potocol
- POP (Protocolul oficiului postal) si Simple Mail Transfer Protocol – SMTP
(Protocol Simplu de TRANSPORT al Postei). Ele sunt prezentate in figura de
mai jos. Ca si in cazul HTTP, aceste protocoale definesc procese client/server.

Pentru compunerea unui mesaj e-mail, oameni folosesc o aplicatie numita agent
postal al utilizatorului (Mail User Agent MUA) sau client de e-mail. Acest client
de e-mail permite transmiterea mesajelor si plaseaza mesajele in casutele
postale ale clientilor, amandoua fiind procese distincte.

Pentru a primi un mesaj e-mail de la un server, clentul de e-mail poate folosi


POP. Transmitere e-mail-urilor fie de la client sau server foloseste formatul
mesajului si comenzile definite de protocolul SMTP. De obicei, un client de e-
mail asigura functionalitatile celor doua protocoale intr-o singura aplicatie.
3.3.3.2. Serviciile de e-mail si protocoalele SMTP/POP

Procesele server-ului de e-mail – MTA si MDA

Agentul de transfer a mail-urilor (Mail Transfer Agent - MTA)


Agentul de livrare a mail-urilor (Mail Delivery Agent – MDA)

Agentul de transfer a mail-urilor (MTA), ca proces, este folosit pentru


transmiterea e-mail-urilor. Dupa cum se vede in figura de mai jos, MTA-ul
primeste mesaje de la MUA sau de la alt MTA de pe alt server de e-mail. Pe
baza pe antetului mesajului, MTA determina cum va fi transmis e-mail-ul pentru
a ajunge la destinatia dorita. Daca mail-ul este adresat unui utilizator a carui
casuta postala este pe server, mail-ul este livrat MDA-ului. Daca nu, MTA
ruteaza e-mail-ul unui al MTA ce ruleaza pe un server corespunzator (ce are in
evidenta casuta de mail a clientului destinatar).

3.3.3.3. Serviciile de e-mail si protocoalele SMTP/POP

In figura, observam ca agentul de livrare MDA accepta un fragment de e-mail de


la agentul de transport MTA si face livrarea EFECTIVA. Agentul de livrare
receptioneaza toate mesajele primite de la MTA si le plaseaza in casutele
postale. Agentul de livrare poate rezolva de asemenea probleme aparute la
livrarea finala, cum ar fi scanarea in vederea detectarii virusilor, filtrarea spam-
ului (mesajelor nesolicitate) si asigura si suport pentru serviciul de confirmare de
primire (return-receipt).

Un client poate fi conectat la un system de posta electronica de genul Lotus,


Groupwise sau Exchange. Aceste sisteme au adesea propriul lor format de e-
mail iar clientii lor comunica cu server-ul de e-mail folosind protocoale
proprietare. Server-ul trimite sau primeste e-mail prin internet cu ajutorul
“internet mail gateway”, care realizeaza orice reformatari necesare.

Ca o alta alternativa, calculatoarele ce nu detin MUA se pot conecta la serviciul


de mail prin intermediul unui browser web pentru a trimite/primi mesaje mail.
Unele calculatoare pot avea propriul agent de transport MTA si sa gestioneze
transmiterea e-mail-urilor intre domenii de catre ele insele. Daca, de exemplu,
doi oameni ce lucreaza pentru aceeasi companie, fac schimb de mail-uri
folosind un protocol proprietar, mesajele lor vor fi complet izolate in interiorul
sistemului de mail al companiei.

3.3.3.4. Serviciile de e-mail si protocoalele SMTP/POP

Asa cum am mentionat mai devreme, mesageria poate folosi protocoalele, POP
si SMTP (vezi figura). POP si POP3 sunt protocoale de primire si sunt de obicei
protocoale client / server. Ele livreaza mail-uri de la server la client (MUA).
MDA-ul urmareste conexiunile clientilor, dupa ce un client a stabilit un o
conexiune cu server-ul acesta din urma livreaza mail-urile catre client.
SMTP-ul pe de alta parte, guverneaza transporturile mail-urilor catre exterior de
la client la server-ul mail MDA, la fel ca si transportul intre server-ele MTA.
SMTP –ul asigura transportul de e-mail in reteaua de date intre tipuri diferite de
server-e si software client si face posibil schimbul de e-mail-uri prin internet.

Formatul mesajului protocolului SMTP foloseste un set riguros de comenzi si


raspunsuri. Aceste comenzi asigura procedurile folosite in SMTP, cum ar fi
initierea sesiunii, transmiterea, transportul mail-urilor, verificarea casutelor
postale;

O parte din comenzile specificate de protocolul SMTP sunt:


HELO – identifica procesul client SMTP – server SMTP;
EHLO – este o versiune noua de HELO, include extensii de servicii
MAIL FROM – identifica expeditorul
RCPT TO – Identifica destinatarul

3.3.4. Protocolul de transfer al fisierelor (FTP – File Transfer Protocol)

Protocolul de transfer al fisierelor este un alt protocol al stratului Aplicatie, des


folosit. FTP a fost dezvoltat pentru a permite transferul fisierelor intre client si
server. Un client FTP este o aplicatie ce ruleaza pe un calculator, folosita la
incarcarea(upload sau push) si la descarcarea (download sau pull) fisielor de pe
un server ce ruleaza daemon-ul(daemon un proces ce asculta pe portul 21, in
cazul nostru) FTP.
Pentru ca procesul de transfer sa reuseasca, FTP are nevoie de doua
conexiuni intre client si server: una pentru comenzi si raspunsuri, cealalta pentru
transferul efectiv.

Clientul stabileste prima conexiune pe portul TCP 21 al server-ului. Aceasta


conexiune este folosita pentru controlul traficului si este formata din comenzi
client si raspunsuri server.

Clientul stabileste a doua conexiune pe portul TCP 20. Aceasta conexiune este
de fapt cea folosita pentru transfer si este creata de fiecare data cand se
transfera un fisier.

Transferul fisierului poate avea loc in ambele sensuri. Clientul poate descarca
(PULL) un fisier de pe server sau clientul poate incarca (PUSH) un fisier pe
server.

3.3.5.1. Protocolul de configurare dinamica a hosturilor (DHCP)

Protocolul de configurare dinamica a hosturilor, pe scurt DHCP (Dynamic Host


Configuration Protocol), permite unui host din retea sa obtina adresa IP si alte
informatii de la un server DHCP. Acest serviciu aloca automat, adresa IP,
masca retelei, gateway-ul si alti parametrii IP.

DHCP permite hostului sa obtina adresa IP dinamic in momentul in care se


conecteaza la retea. Server-ul DHCP este contactat si i se cere o adresa.
Server-ul DHCP alege o adresa din domeniul de adrese configurat, numit si
“pool” si o aloca (leases - imprumuta) hostului pentru o perioada determinata.

In retelele locale mari, sau acolo unde migrarea utilizatorilor este frecventa, este
preferabila utilizarea DHCP.
Adresele distribuite de catre DHCP nu sunt permanent alocate hosturilor ci doar
inchiriate pentru o perioada de timp. Daca un host este oprit sau scos din retea,
adresa este repusa in pool pentru refolosire. Acest lucru este folositor mai ales
in cazul in care hosturile migreaza frecvent. Utilizatori pot sa se mute dintr-o
locatie in alta si sa restabileasca usor conexiunea in retea. Hosturile pot obtine
adresa IP in momentul in care o conexiune este stabilita fie pe cablu fie intr-o
retea radio.

DHCP asigura accesul la Internet folosind hotspot-urile wireless din aeroporturi.

Dupa cum se observa in figura, severe-le DHCP pot rula pe diferite tipuri de
dispozitive. In retelele de dimensiuni medii spre mari server-ul DHCP este un
calculator dedicat ca server.

In retelele mici, cum sunt si cele folosite acasa, server-ul DHCP este localizat la
ISP(furnizor de Internet). In acest caz calculatorul de acasa primeste
configuratia IP direct de la ISP.

DHCP ne poate expune la riscuri de securitate deoarece orice dispozitiv


conectat in retea poate primi o adresa. Acest risc face ca securitatea fizica sa fie
un factor important in alegerea alocari statice sau dinamice a adreselor de retea
(IP).

Adresarea statica si dinamica au amandoua locul lor in proiectarea retelelor.


Multe retele folosesc folosesc ambele moduri de adresare. DHCP este folosit in
scopul de a adresa hosturi obisnuite (calculatoare, laptop-uri) pe cand alocarea
statica este folosita la echipamente de retea cum ar fi gateway-uri, switch-uri,
server-e si imprimante.
3.3.5.2. DHCP

Fara acest protocol, utilizatori ar trebui sa configureze manual interfetele de


retea cu adresa IP, masca retelei si altele pentru a se conecta in reteea. Server-
ul DHCP mentine un domeniu de adrese IP (pool) si inchiriaza o adresa cand un
client se conecteaza fizic la retea. Cand un utilizator porneste calculatorul si se
conecteaza fizic la retea, clientul DHCP transmite un pachet broadcast DHCP
DISCOVER pentru a verifica daca in reteaua respectiva exista macar un server
DHCP. Daca server-ul exista, acesta va raspunde cu un pachet DHCP OFFER.
Acest pachet este un mesaj oferta de inchiriere ce contine adressa IP, masca
retelei, serverul DNS, gateway-ul implicit cat si perioada pe care se inchiriaza
acea adresa IP.

Clientul poate primi mai multe oferte DHCP OFFER daca in reteaua locala
exista mai multe server- e DHCP. Dintre oferte alege una si transmite broadcast
pachet DHCP REQUEST ce identifica explicit serverul si timpul de inchiriere
acceptat de client. Un client poate alege sa ceara o adresa care i-a fost alocata
anterior.

Presupunand ca adresa ceruta de client, sau oferita de server, este inca valida,
server-ul va transmite un raspuns DHCP ACK ce confirma clientului inchirierea
adresei. Daca oferta nu mai este valabila din cauza expirarii timpului sau
deoarece un alt client a primit adresa respectiva – server-ul va raspunde cu
DHCP-NAK (confirmare negativa). Daca raspunsul este negativ procesul se reia
cu un nou mesaj DHCP DISCOVER.

De indata ce clientul a primit adresa, el trebuie sa o reinoiasca printr-un alt


mesaj de tip DHCP REQUEST inainte ca timpul de inchiriere sa expire.

Server-ul DHCP se asigura ca toate adresele IP sunt unice (o adresa IP nu


poate fi alocata la doua dispozitive de retea in acelasi timp). Utilizarea DHCP
permite administratorului de retea sa reconfigureze adresele IP client fara sa fie
necesara configurarea manuala la clienti. Mare parte a furnizorilor de Internet
(ISP) folosesc DHCP pentru adresarea clientilor ce nu necesita adrese statice.

3.3.6.1. Serviciul de partajare a fisierelor si protocolul SMB

Server –ul SMB (Server Message Block) este un protocol client/server utilizat la
partajarea fisierelor. IBM a dezvoltat SMB la sfarsitul anilor 80 pentru a descrie
structura resurselor partajate in rete, cum ar fi directoare, fisiere, imprimante si
porturi seriale. Este un protocol cerere-raspuns. Diferit de partajarea fisierelor
din FTP, clientii satabilesc o conexiune pe termen lung cu server-ele. Odata
conexiunea stabilita, utilizatorul clientului poate accesa resursele server-ului ca
si cum ar fi resurse locale pe calculatorul clientului.
Partajarea fisierelor cu SMB si serviciul de imprimare au devenit esentiale in
anumite sisteme de operare din punct de vedere al retelisticii.

3.3.6.2. Serviciul de partajare a fisierelor si protocolul SMB

Protocolul SMB descrie accesul la fisiere si modalitatea in care clienti pot face
cereri pentru fisiere. De asemenea descrie comunicarea intre procesele
protocolului SMB. Toate mesajele SMB au un format comun. Acest format
foloseste un antet de dimensiune fixa urmat parametru variabil si date.

Mesajele SMB pot:


Initia, autentifica si termina sesiuni
Gestiona accesul la fisiere si imprimante
Permite unei aplicatii sa transmita sau sa primeasca mesaje la sau de la un alt
echipament.
3.3.8.1. Protocolul si serviciile Telnet

Inainte cu mult timp de aparitia


calculatoarelor cu interfete grafice
sofisticate, utilizatorii foloseau sisteme
cu interfete text, adesea niste
terminale conectate fizic la un
calculator central (mainframe). Odata
cu aparitia retelelor, utilizatorii aveau
nevoie de o cale de acces a
calculatoarelor la distanta in acelasi fel
in care se conectau direct prin
intermediul terminalelor.

PDP 1. Primul calculator la vremea


aceea costa 100.000 $. In partea
dreapta observa teletypewriter-ul
stramosul tastaturii si al terminalului
virtual.

Telnetul a fost dezvoltat pentru a


satisface aceasta necesitate. Telnetul a
fost utilizat inca de la inceputul anilor 70
si este unul dintre cele mai vechi servicii
si protocoale ale stratului Aplicatie din
stiva TCP/IP. Tot el asigura o metoda
standard de emulare a terminalelor bazate pe text prin reteau de date. Atat
protocolul in sine cat si programul clientului sunt numite Telnet.

O conexiune ce foloseste telnetul este numita si sesiune de terminal virtual. In


loc sa foloseasca un dispozitiv fizic pentru conexiunea la server, Telnetul
fososeste un software ce creaza dispozitive virtuale pentru a putea lucra de la
distanta ca si cand am lucra direct pe server. Practic ecranul si tastatura sunt
transportate prin intermediul retelei de la server la client.

In cazul meu cu comanda telnet 192.168.80.53 ma conectez la serverul de


imprimare in retea, cu alte cuvinte, asa cum apare in cea de-a doua figura la
imprimanta Eps.. cu numele hostului AL-CX21-09E6A2. Bineinteles conectarea
are loc doar dupa introdurerea parolei.
Pentru a asigura conectarea clientului prin telnet, serverul ruleaza un serviciu
numit daemon. O conexiune terminal virtual este realizata cu ajutorul clientului
telnet. Majoritatea sistemelor au aceasta aplicatie client telnet gata instalata.
Dupa stabilirea conexiunii, utilizatorii pot gestiona serverul respectiv ca si cum
ar lucra direct pe el. In functie de drepturile pe care le are utilizatorul respectiv el
poate sa opreasca si sa porneasca procese, sa configureze dispozitivul si chiar
sa-l opreasca.

3.3.8.2. Protocolul si serviciile Telnet

Telnetul este un protocol de tipul client/server care precizeaza cum se stabilesc


si cum se opresc sesiunile VTY. De asemenea precizeaza regulile si ordinea in
care se folosesc comenzile la initierea cat si in timpul sesiunii. Fiecare comanda
telnet contine cel putin 2 octeti (bytes). Primul octet este un caracter special
numit “interpret as command”. IAC precizeaza ca urmatorul octet este o
comanda nu un text.

Cateva exemple de comenzi ale protocolului Telnet:

Are You There (AYT) – esti acolo – permite utilizatorilor sa ceara ca ceva sa
apara pe ecran pentru a indica ca sesiunea VTY este activa.

Erase Line (EL) – sterge linia – tot textul din linia curenta

Interupt Process IP – suspenda, intrerupe procesul la care terminalul virtual este


conectat. De exemplu, daca un utilizator porneste un un program pe serverul
telnet prin intermediul VTY, pentru a opri acel program acel utilizator va trimite
comanda IP.

Protocolul Telnet asigura autentificarea utilizatorilor, dar nu si criptarea datelor


transportate. Toate datele schimbate in timpul unei sesiuni telnet sunt
transportate in text clar (plain text – text care poate fi citit - necriptat) in retea. Ca
urmare el poate fi interceptat si citit.

Protocolul secure shell (SSH) ofera o metoda securizata alternativa pentru a


accesa servicii de retea. Tot el asigura structura necesara conexiunilor
securizate la distanta. Securizarea datelor este realizata prin criptare.

Properties

S-ar putea să vă placă și