Modelul de referință ISO/OSI

Publicat pe Publicat în Tutoriale

Modelul de referinta OSI (ISO) PENTRU RETELELE MARI, Nivelele de date

La aparitia retelelor de calculatoare, fiecare producator de echipamente de calcul avea propriile sale protocoale de comunicatie, ceea ce facea imposibila interconectarea calculatoarelor de proveniente diferite. Pe de alta parte, subretelele de comunicatie care isi ofereau serviciile pentru WAN erau si ele destul de diferite, de la companii private de telecomunicatii publice – ca, de pilda, American Telephone and Telegraph (AT&T) si Bell Communications Research (Bellcore) din S.U.A., desemnate prin termenul generic „common carriers” – si pana la societatile de stat pentru posta, telegraf, telefon, adesea si pentru radio si televiziune – cunoscute sub acronimul PTT.

Pentru ca utilizatorii sa poata sa-si conecteze intre ele calculatoarele de orice productie, prin intermediul oricarui serviciu public de telecomunicatie, a rezultat necesitatea coordonarii activitatilor de proiectare, realizare si exploatare a mijloacelor de comunicatie, precum si a unei standardizari a acestora ca si a metodelor de transmisie a informatiilor. Pentru astfel de actiuni de coordonare a fost infiintata o agentie a Organizatiei Natiunilor Unite (ONU), numita Uniunea Internationala de Telecomunicatii [International Telecommunication Union (ITU)]; aceasta agentie are trei organisme, unul din ele – numit Comitetul Consultativ International pentru Telegrafie si Telefonie [Consultative Committee for International Telegraph and Telephone (CCITT)], azi redenumit International Telecommunication Union – Telecommunication Standards Division (ITU-T) – ocupandu-se de sistemele de comunicatie telefonice si de date, iar celelalte doua ocupandu-se respectiv de emisiunile radiofonice din intreaga lume si de problemele de dezvoltare a comunicatiilor. CCITT – avand ca membri cu drept de vot societatile nationale de PTT si ca membri consultativi: companii private de telecomunicatii, organizatii stiintifice si industriale, diverse organizatii internationale de profil – are sarcina de a face recomandari privind interfetele pentru comunicatii telefonice, telegrafice si de date (numerice), recomandari care devin, adesea, standarde cu caracter international.

Standardele internationale sunt elaborate de catre Organizatia Inter-nationala pentru Standardizare [International Standards Organization (ISO)] – creata in anul 1946 si avand ca membri organizatii nationale de standardizare (precum: American National Standards Institute (ANSI) in S.U.A.; British Standards Institute (BSI) in Marea Britanie; Agence Française de Normalization (AFNOR) in Franta; Deutsche Industrie Normen (DIN) in Germania; etc.). CCITT este membru consultativ (adica fara drept de vot) al ISO.

In incercarea sa de standardizare a protocoalelor de comunicatie, ISO a propus un model de retea, structurat pe sapte niveluri ierarhice – model cunoscut sub numele de modelul de referinta ISO pentru interconectarea sistemelor deschise [ISO Open Systems Interconnection (OSI) reference model] sau, mai pe scurt, modelul de referinta OSI (ISO) [ISO – OSI reference model].

Ü Prin sisteme deschise [Open System (OS)] se inteleg sisteme care fac publice conceptul si toate detaliile lor de implementare, permitand atasarea de noi entitati care ii respecta regulile (deci extinderea sa cu usurinta) dar si participarea specialistilor la perfectionarea sa.

* Observatie: In 1985 a luat fiinta Corporatia pentru Sisteme Deschise [Corporation for Open Systems] , la care s-au afiliat mari firme producatoare de echipamente de calcul, precum: Control Data , Digital Equipment Corporation (DEC) , Hewlett-Packard , Honeywell , International Business Machines (IBM) , Tandem , Unisys , Wang , Xerox s.a., in scopul cresterii compatibilitatii produselor lor.

Numarul de 7 niveluri pentru modelul de referinta OSI (ISO) a fost stabilit (prin negocieri al caror rezultat nu a intrunit o adeziune generala) avand in vedere urmatoarele considerente:

ð un numar prea mic de niveluri implica necesitatea gruparii unui numar excesiv de functii (servicii) intr-un acelasi nivel, rolul fiecarui nivel ne mai fiind astfel clar definit;

ð un numar prea mare de niveluri obliga la existenta unui numar mare de interfete intre ele, complicand excesiv circulatia informatiei utile in retea.

Modelul de referinta OSI (ISO) este reprezentat in fig. 3 – 6 , unde sunt indicate si denumirile unitatilor de informatie vehiculate (fizic sau virtual) la fiecare nivel ierarhic.

* Observatie: Modelul de referinta OSI – conceput pentru WAN – nu reprezinta un adevarat model de arhitectura de retea, caci el nu descrie exact serviciile si protocoalele ce trebuie utilizate la fiecare nivel, ci doar sarcinile pe care ar trebui sa le indeplineasca fiecare din ele; este drept ca CCITT a emis recomandari iar ISO a elaborat standarde internationale pentru protocoalele si serviciile de la toate nivelurile, dar ele nu fac parte din modelul propriu-zis.

In cele ce urmeaza, prezentam succint rolul fiecarui nivel ierarhic al modelului de referinta OSI (ISO).

Nivelul fizic [physical layer] reprezinta interfata calculatorului sau terminalului cu canalul fizic / mediul de transmisie. Are sarcina de a transmite siruri de biti, convertindu-le in semnale care sa poata fi transmise eficient pe canalul fizic dintre doua IMP – in cadrul WAN – sau intre doua statii – in cadrul LAN.. Problemele ce trebuie rezolvate la acest nivel sunt de natura electrica, mecanica, procedurala si functionala:

ð conversia bitilor in semnale electrice, optice sau electromagnetice – in functie de tipul canalului fizic (mediului) de transmisie utilizat – la emisie si reconversia acestora in siruri de biti la receptie;

ð alegerea nivelurilor de tensiune corespunzatoare valorilor logice 1 si 0 (in caz ca bitii informationali sunt transmisi ca atare) sau a parametrilor formelor de unda aferente combinatiilor unui anume numar de biti (in caz ca se utilizeaza metode de modulatie a semnalelor pe canalul fizic), tinand cont de atenuarea introdusa de linia fizica;

ð asigurarea pastrarii formei de unda a semnalului propagat pe linie;

ð stabilirea duratei semnalelor in functie de viteza de transmisie pe linie;

ð modul de stabilire a unei conexiuni si de mentinere a ei, precum si de intrerupere a acesteia la terminarea comunicatiei;

ð posibilitatea transmisiei duplex sau semi-duplex;

ð tipul conectorului de legatura la subreteaua de comunicatie, precum si numarul si configurarea pinilor acestuia, ca si rolul fiecarui pin.

In acest sens au fost elaborate standarde privind semnalele electrice si conectorii folositi la interfatarea calculatorului cu canalul fizic. Asociatia Industriilor Electronice din S.U.A. [Electronic Industries Association (EIA)] a elaborat un astfel de set de standarde (denumite initial cu acronimul RS [Recommended Standard] , iar recent cu initialele asociatiei si cu un numar de cod urmat de o litera care indica, in ordine alfabetica, a cata versiune este). Si ITU-T (CCITT) a elaborat standarde similare.

Standardul EIA-232-D defineste nivelurile de tensiune asociate valorilor logice 1 [mark] si 0 [space] , precum si celelalte semnale electronice utile pentru asigurarea legaturii fizice intre calculatoare; acelasi lucru il fac recomandarile ITU-T cu numerele de cod V.24 si V.25.

EIA-232-D considera doua tipuri de interfete la acest nivel:

m interfata echipamentului de date [Data Terminal Equipment (DTE)] , care este interfata de pe calculator (ori IMP) sau de pe terminal;

m interfata echipamentului de canal [Data Circuit-terminating Equipment / Data Communications Equipment (DCE)], care este interfata intalnita uzual pe dispozitivele destinate imbunatatirii transmisiei (modemuri si unele multiplexoare-demultiplexoare).

* Observatie: Adesea, autorii numesc DTE intregul calculator sau terminal in care se afla acest tip de interfata si, respectiv, DCE chiar modemul sau multiplexorul-demultiplexorul ce contine acea interfata.

Standardul EIA-232-D defineste modul de comunicatie intre DTE si DCE – adica semnalele schimbate intre acestea – si fixeaza limitele pentru lungimea cablului de legatura intre cele doua tipuri de interfete, ca si pentru viteza maxima de transmisie. Pentru viteze si/sau lungimi de cabluri mai mari, EIA a elaborat un set de standarde – EIA- 449 , EIA-422-A si EIA-423-A – menite sa inlocuiasca EIA-232-D. Corespunzator ultimelor doua standarde, ITU-T (CCITT) a elaborat recomandarile V.11 si respectiv V.10.

I Nivelul fizic (1) controleaza transmisia efectiva pe un anume mediu fizic – in cadrul WAN pe fiecare tronson [hop] (legatura directa intre doua noduri) al unei cai.

Nivelul legaturii de date: Sarcina principala a nivelului legaturii de date [data link layer] este de a transforma un mijloc primar de transmitere a sirurilor de biti (adica ceea ce ofera legatura fizica controlata de nivelul ierarhic 1 al retelei) intr-un veritabil canal – virtual – de transmitere a informatiilor, fiabil si fara erori, pus la dispozitia nivelului 3 – pentru fiecare tronson de pe o cale de comunicatie dintre doi utilizatori in cazul WAN – facand ca o conexiune de nivel 3 sa fie insensibila fata de mediul si modul fizic de transmisie. In acest scop, la nivelul legaturii de date se indeplinesc urmatoarele functii:

ð Stabileste adresele fizice (hard) ale dispozitivelor – calculatoare, terminale sau IMP – din retea;

ð Fragmenteaza informatia primita de la nivelul 3 in unitati de informatie numite cadre [frame] / blocuri [block] (de ordinul sutelor de octeti / baiti [byte]), pe care le transmite secvential. Intrucat nivelul fizic accepta si transmite siruri de biti fara a tine cont de semnificatia sau structura lor compozitionala, nivelului 2 ii revine sarcina de a marca si recunoaste limitele cadrelor [framing], fapt realizat prin atasarea unor succesiuni tipice de biti la inceputul si (eventual) la sfarsitul cadrului.

ð Solutioneaza problema alterarii sau chiar distrugerii cadrelor (din cauza perturbatiilor la care este supus canalul fizic) prin:

d Elaborarea unui semnal special, numit cadru de confirmare [acknowledgement frame] a receptionarii corecte a unui cadru, semnal pe care receptorul il trimite inapoi la locul emisiei (de regula, nu se folosesc semnale de infirmare a receptiei corecte – adica de instiintare ca la receptie s-a primit un cadru alterat sau incomplet – caci astfel de semnale, reprezentand tot cadre, pot fi la randul lor alterate sau distruse; corectitudinea este verificata prin apartenenta cadrului receptionat – ce consine si informatia de control – la multimea de cadre convenita, la acest nivel, intre interlocutori); in acest scop, dupa emiterea cadrului cu date, dispozitivul emitator initiaza o pauza de asteptare [time-out] a primirii cadrului de confirmare.

e Retransmisia [retransmission] cadrului (cu date) in cazurile cand:

^ cadrul de confirmare a receptiei (corecte) vine alterat;

_ nu se primeste cadrul de confirmare a receptiei pana la expirarea pauzei de asteptare.

Retransmisia cadrului cu date se face de un numar de ori fixat prin protocolul de la acest nivel, dupa care, daca tot nu se primeste confirmarea receptionarii (corecte) a cadrului cu date, se initiaza o rutina ce anunta
nivelul 3 despre intreruperea legaturii, cerandu-i sa o restabileasca (eventual pe alt traseu din retea), iar daca nici aceasta nu reuseste, va trebui instiintat, printr-un mesaj, utilizatorul de la nivelul 7. De asemenea, trebuie ca receptorul sa fie capabil sa recunoasca primirea aceluiasi cadru – cadru repetat [duplicate frame] – in cazul cand cadrul de confirmare (nu cadrul cu date) a fost alterat sau distrus – spre a evita trimiterea lui de doua ori nivelului 3 al receptiei. Desi transmisia secventiala a cadrelor nu reprezinta un scop primar al nivelului legaturii de date, cadrele primesc un numar de ordine (inscris in antet) ce serveste la detectarea blocurilor pierdute sau dublate prin retransmisie.

f Codificarea si decodificarea mesajelor din cadre cu ajutorul unor coduri – simple – detectoare de erori – atat pentru cadrele cu date cat si pentru cele de confirmare.

ð Deciderea ordinii de transmisie a cadrelor cu date (fie, de exemplu, cele de la calculatorul B catre calculatorul A) in raport cu cadrele de confirmare aferente transmisiei de date in sens invers (cele de la A la B) ; o metoda eficienta consta in atasarea cadrului de confirmare (emis de A) la cadrul cu date (emis de A) care circula in acelasi sens (daca A mai are de transmis ceva lui B in cadrul protocolului si daca intarzierea deliberata a confirmarii este prevazuta prin protocol), anuntand aceasta atasare in corpul antetului cadrului cu date – metoda cunoscuta sub numele de „piggybacking” (in traducere libera: „pe spinarea purcelului”).

ð Solutionarea problemei (care apare si la nivelurile superioare) even-tualei „inecari” cu date a unui receptor lent de catre un emitator rapid – printr-un „mecanism” (soft) de evidenta a lucrului cu registre tampon, care sa comunice emitatorului spatiul disponibil detinut in registrele tampon [buffer] ale recep-torului, in fiecare moment, „temperand” emisia (acest „mecanism” este, de regula, integrat in cel ce se ocupa de tratarea erorilor).

I Asadar, nivelul legaturii de date are misiunea transmiterea fara erori – pe fiecare tronson al unui traseu, in cazul WAN – a cadrelor, indiferent de mediul de transmisie utilizat.

* Observatie: Nivelului 2 ii revine sarcina conversiilor in cadrul unei punti de interconectare a doua retele care folosesc acelasi protocol de nivel 3, dar la care difera protocoalele de la nivelul legaturii de date.

Nivelul de retea [network layer] – numit si nivelul subretelei de comunicatie [communication subnet layer] – controleaza operatiile din subretea, creand, mentinand cat este necesar si apoi intrerupand o conexiune virtuala pentru nivelul 4 intre utilizatorii finali. Principalele sale functii sunt:

ð Determinarea caracteristicilor de baza ale „interfetei” calculator-IMP (adica a conexiunilor dintre calculator si IMP, care se limiteaza doar la primele trei niveluri), repartizand intre acestea sarcinile privitoare la asigurarea ajungerii corecte la destinatie a tuturor pachetelor.

ð Stabilirea adreselor logice ale calculatoarelor utilizatorilor finali si efectuarea conversiilor intre aceste adrese si adresele fizice ale respecivelor masini.

ð Alegerea traseului [path] / caii [route] / circuitului [circuit] (adica a succesiunii de tronsoane de canal fizic pentru o pereche sursa-destinatie) optim pe care este vehiculat fiecare pachet sau toate pachetele unei sesiuni, de o maniera statica sau dinamica.

ð Rezolvarea strangulatiilor [bottleneck] provocate de prezenta simultana a prea multe pachete in subretea, fie prin realegerea (adaptiva) a traseelor, fie cerand nivelului 4 sa opreasca temporar emisia mesajelor.

ð Contabilizarea serviciilor oferite de subretea in vederea descarcarii financiare a utilizatorilor, conform unor tarife prestabilite.

I Asadar, nivelul de retea (3) raspunde, in principal, de alegerea traseelor mesajelor intre utilizatorii finali si modificarea acestora fie in sensul asigurarii unor cai optime, fie pentru rezolvarea unor situatii anormale in sub-retea. 42514url42hzj1k

* Observatii:

1) Problema stabilirii traseelor se pune, evident, doar in cadrul retelelor cu canale punct-la-punct; la retelele cu canal unic, aceasta problema este minora, ceea ce face ca nivelul de retea sa fie mult redus sau chiar inexistent.

2) La nivelul 3 se rezolva si conversiile de protocol, adresare si dimensiuni ale pachetelor, in cazul vehicularii mesajelor, prin interconectori de transport, intre doua retele eterogene (pana) la nivelul 3, dar cu nivelurile 4 identice.

Nivelul de transport [transport layer] este primul dintre nivelurile de tip sursa-destinatie [origin-destination (OD) / end-to-end] (spre diferenta de primele trei, la care protocoalele se desfasurau doar intre doua IMP de la capetele unui tronson de linie fizica dintr-o WAN) si cel care separa nivelurile orientate pe aplicatii (nivelurile 5, 6 si 7) – menite sa asigure livrarea corecta a datelor intre calculatoarele interlocutoare – de cele destinate operarii subretelei (nivelurile 1, 2 si 3) – responsabile cu vehicularea mesajelor prin retea (si care pot suferi modificari de implementare fara a influenta nivelurile superioare). In esenta, nivelul 4 preia informatia de la nivelul 5, o descompune, daca e necesar, in unitati mai mici (TPDU), si o trece nivelului 3, asigurand sosirea ei in forma corecta la destinatar.

Serviciile oferite de nivelul de transport nivelului 5 sunt de tipurile:

ð o conexiune de transport de tip punct-la-punct, fara eroare, ce transmite mesajele in ordinea in care au fost emise;

ð transportul unor mesaje izolate, fara garantarea ordinii la destinatar;

ð difuzarea de mesaje catre mai multi destinatari.

In plus, nivelul 4 optimizeaza serviciile oferite de retea, pentru a satisface performantele cerute de nivelul 5 la un cost minim. Astfel:

d desi, in conditii normale, nivelul 4 creaza o unica conexiune de retea (de nivel 3) pentru fiecare transfer de informatie cerut de nivelul 5 intre doua calculatoare, daca se solicita o comunicatie rapida, cu un transfer masiv de informatii intre aceste calculatoare, atunci nivelul 4 poate crea mai multe conexiuni de retea (de nivel 3), divizand informatia pe aceste conexiuni;

e pe de alta parte, daca crearea si mentinerea unei conexiuni de retea se dovedeste costisitoare, nivelul 4 poate multiplexa mai multe conexiuni de transport (de nivel 4) pe o aceeasi conexiune de retea (de nivel 3) – cu conditia ca multiplexarea sa fie transparenta pentru nivelul 5.

Pentru stabilirea unei conexiuni trebuie sa existe, la acest nivel, un „mecanism” care sa permita procesului dintr-un calculator sa-si precizeze interlocutorul.

O alta problema ce apare la nivelul 4 este aceea – ce se prezinta in cazul unui calculator lucrand multiprogramat, deci a existentei simultane a mai multor conexiuni de la un astfel de calculator la altele din retea – de a indica conexiunea careia ii apartine fiece mesaj; ea se poate rezolva plasand o informatie corespunzatoare in antetul H4 (HT).

In fine, trebuie ca si la acest nivel sa se prevada un „mecanism” de control al fluxului de informatii, astfel incat un calculator rapid sa nu il inece pe un altul mai lent (controlul fluxului de informatii dintre calculatoare este distinct de cel al fluxului de informatii dintre IMP – desi pentru amandoua se aplica principii similare).

I Asadar, rolul nivelului 4 este de a stabili unde se afla partenerul de comunicatie si a controla transportul mesajelor intre interlocutori conform clasei de servicii selectate.

Nivelul de sesiune [session layer] reprezinta (daca ignoram nivelul 6 , care executa mai degraba anumite transformari ale informatiei) adevarata interfata a utilizatorului cu reteaua: cu acest nivel negociaza utilizatorul (un proces, uneori o persoana) pentru stabilirea unei conexiuni cu un (proces sau o persoana de la un) alt calculator, conexiune ce permite nu numai un transport de date (ca la nivelul 4), ci si furnizarea unor servicii deosebite, utile pentru anumite aplicatii (ca, de exemplu, conectarea/atasarea de la distanta, prin intermediul retelei, a unui utilizator la un calculator lucrand multiprogramat sau transferul unui fisier intre doua calculatoare). Deci acest nivel are rolul de a stabili o sesiune intre utilizatori – operatie numita uneori si stabilirea unei legaturi [binding] – si de a administra (prin serviciile oferite) dialogul intre entitatile pereche de la nivelul 6.

Stabilirea unei sesiuni este o operatie complexa. Utilizatorul care solicita o sesiune trebuie, mai intai, sa furnizeze adresa de sesiune la care doreste sa se conecteze (adresele de sesiune servind programelor utilizatorilor pentru a-si identifica partenerul, fara a fi insa necesara cunoasterea amplasamentului sau in retea – asa cum era necesar la nivelul 4 , unde se asigura circulatia informatiilor intre locurile de amplasare ale dispozitivelor interlocutorilor, pe traseul sau traseele stabilite la
nivelul 3). Una dintre functiile nivelului 5 este de a converti adresele de sesiune in adresele corespunzatoare de transport.

Tot inaintea stabilirii sesiunii, dupa ce si-au identificat partenerul, cei doi interlocutori trebuie sa faca dovada ca au dreptul de a se angaja intr-o sesiune (ceea ce se realizeaza cu ajutorul unei parole [password]) iar apoi sa cada de acord asupra unui set de optiuni care sa devina operative in timpul desfasurarii sesiunii (ca, de exemplu, daca comunicatia se va face in semi-duplex ori in duplex).

Printre serviciile pe care le ofera acest nivel in scopul administrarii dialogului in cadrul sesiunii, mentionam:

ð Ordonarea dialogului pe legaturile semi-duplex.

ð Impiedicarea initierii simultane a unui acelasi tip de operatiune de catre ambii parteneri de dialog, in cadrul unor protocoale destinate legaturilor duplex; in acest sens, nivelul de sesiune elaboreaza un mesaj de control cu o structura speciala, numit jeton [token], care este trecut de la un utilizator la celalalt si care da dreptul numai posesorului sau sa efectueze o anume operatie in cadrul sesiunii (metoda este cunoscuta ca administrare prin jeton [token management]).

ð Incercarea de a reface – de o maniera transparenta – conexiunile de transport intrerupte.

ð Oferirea unor facilitati prin care sa se concateneze un grup de mesaje, astfel incat ele sa nu se transmita interlocutorului pana cand nu sunt toate disponibile; aceasta se face cu scopul de a ne asigura ca defectele din hardul sau softul retelei nu pot provoca abandonarea unei tranzactii complicate in mijlocul ei, lasand astfel baza de date asupra careia opereaza intr-o stare inconsistenta.

ð Asigurarea sincronizarii entitatilor pereche – operatie de o deosebita importanta, ca in cazul unui transfer masiv de date ce necesita o durata mare de transmisie, timp in care reteaua este posibil sa „cada”; intr-o asemenea situatie, pentru a nu fi obligati la o reinitiere a intregii transmisii dupa fiecare abandonare a transferului (cu sanse mici de a fi incheiata cu succes – caci probabilitatea caderii retelei dupa acelati interval de timp ramane aceeasi), se introduce in sirul de date un caracter de control [checkpoint], iar transferul se reia doar de la ultimul caracter de control receptionat corect.

I Asadar, nivelul 5 determinaa cine este interlocutorul si stabileste comunicatia intre aplicatii, coordonand si sincronizand dialogul.

* Observatie: In unele retele, nivelul de sesiune (5) si cel de transport (4) sunt comasate intr-un singur nivel. Iar in retelele in care utilizatorii doresc doar o expediere de mesaje succesive, fara a pretinde din partea transmisiei functii orientate pe aplicatii, nivelul de sesiune poate lipsi cu totul.

Nivelul de prezentare: Spre diferenta de primele cinci niveluri, care aveau sarcina de a transfera corect si fiabil unitati de informatie dintr-un loc in altul al retelei, nivelul de prezentare [presentation layer] se ocupa de semantica si sintaxa informatiilor transmise, facand conversiile de coduri de reprezentare a datelor numerice, sirurilor de caractere si comenzilor, precum si conversiile de formate ale fisierelor de la reprezentarea utilizata intr-un calculator la cea standardizata pentru retea si, in final, la cea utilizata in calculatorul interlocutor (reprezentare ce poate fi diferita de cea din primul calculator) – oferind astfel coerenta informatiilor pe care programele de aplicatii le schimba intre ele sau la care se refera in cursul dialogului lor si, totodata, o independenta a utilizatorilor fata de caracteristicile eterogene ale echipamentelor.

Pentru rezolvarea acestor probleme, nivelul 6 ofera o serie de functii, solicitate atat de frecvent incat se justifica solutionarea lor de o maniera profesionista si unica pentru toate retelele (in loc de a lasa pe fiecare utilizator sa le solutioneze in felul lui) si plasarea lor intr-o biblioteca de subprograme, de unde pot fi apelate de utilizatori.

Printre transformarile oferite ca servicii de catre nivelul 6 se afla:

ð Conversia codurilor de reprezentare a caracterelor – de exemplu, din ASCII [American (National) Standard Code for Information Inter-change] (cod pe 7 biti plus un bit de control al paritatii) in EBCDIC [Extended Binary Coded Decimal Interchange Code] (cod pe 8 biti, elaborat de IBM) si vice-versa.

ð Conversia formatelor fisierelor, atunci cand aceste formate sunt diferite la cele doua calculatoare intre care se face transferul.

ð Conversia caracterelor de control pentru terminale eterogene:

sfarsit de linie – la tastaturi;
deplasare cursor, defilarea paginilor [scrolling] – pe monitoare;
setul de caractere tiparite – la imprimante.
ð Criptografierea / cifrarea [encryption] si respectiv decriptarea / descifrarea [decryption] mesajelor in vederea pastrarii secretului asupra unor informatii sau pentru limitarea accesului la acestea.

ð Comprimarea datelor [data compression], tinand cont ca:

majoritatea utilizatorilor de programe de aplicatii schimba intre ei nu siruri aleatoare de biti, ci secvente de simboluri, dintr-un set finit (si relativ restrans), ce alcatuiesc informatiile vehiculate (precum: nume proprii, date calendaristice, apeluri, valori numerice in anumite formate s.a.), utilizand adesea cuvinte si chiar fraze tipice, consacrate; rz514u2442hzzj
simbolurile utilizate au frecvente de aparitie diferite;
simbolurile apar intr-un anumit context.
I In concluzie, nivelul 6 se ocupa de modul cum arata interlocutorul, efectuand conversia structurilor de date.

Nivelul de aplicatie [application layer] ofera utilizatorilor (mai exact, programelor de aplicatii ale acestora) posibilitatea de acces la retea, cu toate seviciile pe carea aceasta i le poate furniza. Aici se face selectia serviciilor – in functie de necesarul de comunicatie al aplicatiilor – si se hotaraste multimea mesajelor permise, ca si actiunea intreprinsa la receptionarea fiecaruia din ele.

In principiu, continutul nivelului 7 ar trebui lasat la latitudinea utilizatorilor, dar si la acest nivel apar o serie de probleme generale, pentru a caror solutionare au fost concepute, de catre firme specializate, produse soft bine puse la punct si conforme cu standardele elaborate de ISO. Mentionam succint cateva astfel de probleme, de care utilizatorii trebuie sa tina cont la elaborarea protocoalelor pentru acest nivel sau sa faca apel la produsele concepute de firme in acest sens:

ð Rezolvarea incompatibilitatilor terminalelor folosite: solutia adoptata consta in definirea unui terminal abstract – numit terminal virtual (de retea) [(network) virtual terminal (VT)] – identic pentru toti utilizatorii, cu care sa poata opera programele de editare sau de alt tip; cu ajutorul unor mici programe de instalare, se face corespondenta intre functiile acestui VT si cele ale terminalului real in cauza, facand implementarea terminalului transparenta pentru utilizatori si permitand astfel o unica varianta de protocol pentru orice tip de terminal din retea. In cazul transferului de fisiere – al carui protocol tine de nivelul de aplicatie – trebuie rezolvata problema incompatibilitatii conventiilor de notatii, reprezentari, ca si de formate ale acestor fisiere.

ð Utilizarea protocoalelor specifice pentru domeniul in care se inscrie aplicatia – industrial, economic, bancar, postal, transporturi, turism, etc. – pentru a beneficia din plin de facilitatile generale si particulare cu care ele opereaza si pentru apelarea de la distanta a aplicatiilor [remote job entry].

ð Partitionarea – de o maniera automata – a problemelor intre resursele retelei, in scopul obtinerii unui maxim de eficienta.

ð La acest nivel se pot afla si functiile de gestionare a retelei.

Standardele de servicii si protocoale ,elaborate de ISO pentru nivelul 7 al modelului de referinta OSI sunt numeroase si se inscriu in doua categorii:

A) Standarde utilizate in diferite aplicatii,

B) Standarde specifice anumitor tipuri de aplicatii.

I Deci nivelul 7 permite accesul utilizatorilor la retea si selecteaza serviciile de comunicatie pentru aplicatiile care sunt destinate a rula in retea.

4

* Observatie: Desi, dupa cum am mentionat, notiunea de arhitectura a retelelor de calculatoare nu face referiri la modul de implementare a ei, este cazul sa mentionam urmatoarele:

Nivelurile 5, 6 si 7 sunt implementate in calculatoarele din WAN , adeseori in cadrul sistemului de operare al retelei [network operating system (NOS)].

Nivelul 4 este implementat adeseori printr-o parte a NOS – ce se numeste statie de transport [transport station].

Nivelul 3 este implementat, de regula, in calculatoare si in IMP, printr-un program de interfatare ce asigura functionarea hardului [driver].

Nivelul 2 este implementat prin soft si partial prin hard.

Nivelul 1 este implementat doar prin hard.

Exemple de protocoale din stiva OSI 7

Aplicaţie

ex.: HTTP, SMTP, SNMP, FTP, Telnet, SIP, SSH, NFS, RTSP, XMPP, Whois, ENRP

6

Prezentare

ex.: XDR, ASN.1, SMB, AFP, NCP

5

Sesiune

ex.: ASAP, TLS, SSH, ISO 8327 / CCITT X.225, RPC, NetBIOS, ASP, Winsock, BSD sockets, NCP (Network Core Protocol), NFS (Network File System)

4

Transport

ex.: TCP, UDP, RTP, SCTP, SPX, ATP, IL

3

Reţea

ex.: IP, ICMP, IGMP, IPX, BGP, OSPF, RIP, IGRP, EIGRP, ARP, RARP, X.25 (Packet Switching)

2

Legătura de date

ex.: Token ring, HDLC, Frame relay, ISDN, ATM, 802.11 Wi-Fi, FDDI, PPP

1

Fizic

ex.: cablu coaxial, radio, fibră optică, cablu bifilar torsadat, fire cupru, Ethernet

Protocoale ale retelelor locale

HTTP (Hypertext Transfer Protocol) este metoda cea mai des utilizată pentru accesarea informaţiilor în Internet care sunt păstrate pe servere World Wide Web (WWW). Protocolul HTTP este un protocol de tip text, fiind protocolul „implicit” al WWW. Adică, dacă un URL nu conţine partea de protocol, aceasta se consideră ca fiind http. HTTP presupune că pe calculatorul destinaţie rulează un program care înţelege protocolul. Fişierul trimis la destinaţie poate fi un document HTML (abreviaţie de la HyperText Markup Language), un fişier grafic, de sunet, animaţie sau video, de asemenea un program executabil pe server-ul respectiv sau şi un editor de text. După clasificarea după modelul de referinţă OSI, protocolul HTTP este un protocol de nivel aplicaţie. Realizarea şi evoluţia sa este coordonată de către World Wide Web Consortium (W3C).

Modul de funcţionare HTTP oferă o tehnică de comunicare prin care paginile web se pot transmite de la un computer aflat la distanţă spre propriul computer. Dacă se apelează un link sau o adresă de web cum ar fi http://www.example.com, atunci se cere calculatorului host să afişeze o pagină web (index.html sau altele). În prima fază numele (adresa) www.example.com este convertit de protocolul DNS într-o adresă IP. Urmează transferul prin protocolul TCP pe portul standard 80 al serverului HTTP, ca răspuns la cererea HTTP-GET. Informaţii suplimentare ca de ex. indicaţii pentru browser, limba dorită ş.a. se pot adăuga în header-ul (antetul) pachetului HTTP. În urma cererii HTTP-GET urmează din partea serverului răspunsul cu datele cerute, ca de ex.: pagini în (X)HTML, cu fişiere ataşate ca imagini, fişiere de stil (CSS), scripturi (Javascript), dar pot fi şi pagini generate dinamic (SSI, JSP, PHP şi ASP.NET). Dacă dintr-un anumit motiv informaţiile nu pot fi transmise, atunci serverul trimite înapoi un mesaj de eroare. Modul exact de desfăşurare a acestei acţiuni (cerere şi răspuns) este stabilit în specificaţiile HTTP.

Transferul argumentelor Deseori utilizatorul doreşte să transmită informaţii speciale la website. Aici HTTP pune la dispozitie două posibilităţi:

Transferul datelor în combinaţie cu o cerere pentru o resursă (HTTP-metoda „GET”)
Transferul datelor în combinaţie cu o cerere specială (HTTP-metoda „POST”)
Datele transferate vin deseori %-codate. La metoda GET se utilizează partea de cerere Uniform Resource Identifiers (URI) cu simbolul ?. Această metodă se utilizează pentru a transfera o listă de parametri, pe care partea opusă trebuie să o ia în considerare la prelucrarea cererii.

Deseori această listă cuprinde perechi de valori separate prin semnul &, care sunt alcătuite din numele parametrului, semnul = şi valoarea parametrului. Rareori se mai utilizează şi semnul ; pentru separarea înregistrărilor listei [1].

Exemplu: la pagina de start dela Wikipedia.ro utilizatorul introduce în câmpul de căutare termenul „pisici”, alege categoria „articole” şi apasă butonul de căutare. Atunci browserul trimite următoarea cerere la server:

GET /wiki/special:Search?search=pisici&go=articol HTTP/1.1 Host: ro.wikipedia.org …

Serverului Wikipedia îi sunt transmise două perechi de valori: Argument Valoare search pisici go articol

Perechile de valori se transmit sub forma

Argument1=valoare1&Argument2=valoare2

iar cu ? se ataşează pagina. Astfel serverul află că utilizatorul doreşte să vadă articole despre pisici. Serverul prelucrează cererea, dar nu trimite un fişier ci redirectează browserul cu un Location-Header spre pagina dorită:

HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2008 15:12:44 GMT Location: http://ro.wikipedia.org/wiki/pisici … Browserul execută indicaţia şi, pe baza noilor informaţii, emite o nouă cerere: GET /wiki/pisici HTTP/1.1 Host: ro.wikipedia.org … Serverul răspunde şi oferă pagina cu articole despre pisici:

HTTP/1.0 200 OK Date: Fri, 13 Jan 2008 15:12:48 GMT Last-Modified: Tue, 10 Jan 2008 11:18:20 GMT Content-Language: ro Content-Encoding: gzip Content-Type: text/html; charset=utf-8

.‹……..´ZKs.¹.>Û¿.ž-[¶KÃ!õ²ÌÇlô²¬¬ìuVò*ÉÖ– 3.r`Î+.F”xÊ!ÿ ×.ý.ö´7ý“ü’t.ó”9ÔʛĮ.A.ÐÝ

Partea de date este mai lungă şi de necitit din cauza compresiei gzip.

În cazul unei cereri POST variabilele nu se află în URI, ci în partea body:

POST /wiki/special:Search HTTP/1.1 Host: ro.wikipedia.org Content-Type: application/x-www-form-urlencoded Content-Length: 24

search=pisici&go=articol

Serverul răspunde astfel : HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2008 15:32:43 GMT Location: http://ro.wikipedia.org/wiki/pisici

Erori de HTTP Erorile de HTTP sunt clasificate în 5 clase (categorii). Acestea sunt (pentru fiecare clasa sunt date câteva dintre erorile conţinute):

1xx – erori informaţionale: această clasă a status-ului indică un răspuns provizoriu al serverului şi conţine numai linia de status (de răspuns) sau alte aplicaţii opţionale. Nu sunt aplicaţii necesare pentru acestă clasa de răspuns/status. Aceste status-uri pot fi ignorate.
100 – contiunuă:
Utilizatorul ar trebui să îşi continuie cererea/acţiunea. Acest răspuns provizoriu este folosit pentru a informa utilizatorul ca partea iniţială a cereri a fost receptată şi că deocamdată nu a fost refuzată de server. Utilizatorul ar trebui să continuie şi să ignore acest răspuns.

101 – schimbare protocol:
Server-ul înţelege şi are intenţia de a de a îndeplini cererea utilizatorului, răspunând prin această eroare că părţi ale server-ului sunt în proces de schimbare/mutare. Server-ul va schimba protocolul imediat după ce răspunsul pentru linia 101 va fi terminată. Protocolul ar trebui schimbat doar în momentul în care acest lucru este avantajos şi se permite.

2xx – răspuns reuşit: clasa de răspuns/status ce indică utilizatorului că cererea a fost primită, înţeleasă şi acceptată cu succes.
200 – ok:
Această cerere a fost executată cu succes. Informaţia a revenit cu un răspuns pozitiv, indiferent de modul în care s-a făcut cererea.

201 – creat/realizat:
Cererea a fost îndeplinită având ca rezultat crearea unui nou rezultat. Noul rezultat poate fi referit/raportat de către URI-uile înapoiate la intrarea răspunsului.

202 – acceptat:
Cererea a fost acceptata pentru procesare, dar aceasta din urma nu a fost terminată complet. Scopul acestui mesaj este de a permite unui server să accepte cereri de la alţi utilizatori, fără a cere conexiunii clientului să insiste până ce procesul/cererea e completă.

203 – informaţie neautorizată:
Informaţia returnată/revenită nu e definitivă ca fiind din server-ul principal, ci e adunata/receptionata de la un server local.

204 – fara continut:
Server-ul a indeplinit cererea si nu e nevoit sa intoarca raspunsul, dar ar dori sa raspunda printr-o informaţie recentă, gen meta.

205 – conţinut refăcut:
Cererea a fost îndeplinita şi ar trebui ca browser-ul să poată modifica/reseta modul de vizualizare a documentului ce a cauzat această cerere către server.

206 – conţinut parţial:
Serverul a îndeplinit parţial cererea de primire de la sursă.

3xx – redirectări: această clasă de răspuns/status indică faptul că acţiunile următoare vor trebui făcute de browser pentru a putea fi îndeplinita cererea. Cererea ar putea fi direcţionată de browser fără a interacţiona cu utilizatorul dacă şi numai dacă metoda folosită în cea de a doua cerere este „Primit/recepţionat” sau „Direcţionat/condus”.
300 – diferite/multiple alegeri:
Sursa cererii corespunde unor seturi de descrieri, fiecare cu locaţii specifice, iar browser-ul – dat fiind negocierea informaşiei, primeţte răspunsul astfel încât utilizatorul/browser-ul să poată alege modul dorit astfel încât redirectarea să fie spre acea locaţie. În cazul în care cererea a fost de tip „Condus/trimis”, răspunsul ar trebui să includă o intrare cu lista caracteristicilor şi locaţiilor de unde utilizatorul sau browser-ul poate alege sursa cea mai apropiată.

301 – modificat/mutat permanent:
Cererii i-a fost atribuite o sursă nouă şi permanentă URI iar cererile următoare ar trebui să folosească una din sursele returnate URI. Dacă acest mesaj/cod este primit ca răspuns al unei cereri tip „Primit/recepţionat” sau „Direcţionat/condus”, browser-ul nu trebuie să redirectţioneze automat cererea, doar dacă nu poate fi confirmată de către utilizator.

302 – găsit:
Sursa cererii este temporar pe un alt URI. În cazul în care redirectarea ar putea fi schimbată ocazional, utilizatorul ar trebui să folosească în continuare cererea URI (Request-URI) în cazul unor cereri ulterioare. Dacă mesajul/statusul 302 este recepţionat ca răspuns al unei cereri alta decât „Primit/recepţionat” sau „Direcţionat/condus”, browser-ul nu trebuie să redirecteze automat cererea dacă aceasta nu poate fi confirmată de cărte utilizator.

303 – vezi alta sursă:
Răspunsul cererii poate fi găsit sub un diferit URI şi ar trebui să fie recepţionat folosind metoda „Primit/recepţionat” de la acea sursă.

304 – nemodificat:
În cazul în care clientul a efectuat o cerere de tip „Primit/recepţionat” şi accesul este permis, dar documentul nu a fost modificat, serverul ar trebui să răspundă cu acest mesaj/status.

305 – foloseşte proxy:
Cererea trebuie accesată printr-un proxy dat de către câmpul de locaţie. Acesta este dat de către URI. Beneficiarul va repeta acestă unică cerere prin intermediul unui proxy. Răspunsul 305 va fi generat doar de către serverul de origine.

306 (nefolosit):
Acest mesaj/status a fost folosit într-o vesiune anterioară a specificaţiilor deci nu mai este folosit, el fiind reţinut.

307 – redirectare temporară:
Sursa cerută se află temporar la un diferit URI. Din moment ce redirectarea poate fi modificata ocazional, utilizatoarul ar trebui să continuie să folosească URI-ul cerut pentru viitoarele acţiuni.

4xx – erori ale utilizatorilor: această clasă de mesaje/statusuri este folosită în cazurile în care utilizatorul ar putea greşi formularea cererii. Excepţia fiind răspunsurule pentru cererile tip „Direcţionat/condus”, atunci serverul ar trebui să conţină o intrare cu o explicaţie a situaţiei erorii şi dacă e o eroare temporară sau pemanentă. Aceste răspunsuri sunt aplicabile pentru orice fel de cerere. Browser-ele ar trebui să arate orice intrare cerută de utilizator.
400 – cerere greşită:
Cererea nu a putut fi înţeleasă/percepută de către server din cauza unei sintaxe greşite/incomplete. Utilizatorul ar trebui să nu repete cererea fără ca aceasta să suporte modificări.

401 – neautorizat:
Cererea necesită autentificarea/înregistrarea utilizatorului. Răspunsul trebuie să includă WWW – câmp de autentificare conţinând o somaţie aplicabilă utilizatorului. Utilizatorul poate repeta cererea. Dacă cererea deja includea câmpul de autorizare, atunci raspunsul 401 indică faptul că autorizarea a fost refuzată. Dacă răspunsul 401 conţine aceeaşi somaţie ca răspuns principal iar browser-ul a executat autentificarea cel puţin o dată, atunci utilizatorul ar trebui să i se prezinte intrarea dată în răspuns, din moment ce aceasta include informaţii relevante.

402 – necesită plata:
Rezervat pentru utilizare ulterioară.

403 – interzis:
Serverul a înţeles cererea, dar refuză să o îndeplinească. Autorizarea nu ajută în nici un caz, iar cererea nu ar mai trebui repetata.

404 – negăsit:
Serverul nu a găsit nimic care să corespundă cererii URI. Nu se dau indicaţii despre condiţia temporară sau permanentă.

405 – metodă nepermisă:
Metoda specificată în linia de cerere (Request-Line) nu este permisă de către sursa identificată după URI-ul cerut.

406 – neacceptat:
Sursa identificată de cerere este capabilă să genereze doar intrări care au conţinut specific neacceptat de către condiţiile de acceptare trimise prin cerere.

407 – autentificare prin proxy:
Mesajul este similar celui 401, dar indică situaţia în care utilizatorul trebuie să se autentifice prin proxy.

408 – cerere expirată:
Utilizatorul nu a făcut cererea în timpul în care serverul era pregătit sa o aştepte. Se poate repeta cererea fără modificări prealabile.

5xx – erori de server: răspunsurile/status-urile ce încep cu unitatea/cifra 5 indică cazurile în care serverul e conştient de greşelile produse sau e incapabil să execute cererea. Excepţie facând răspunsul unei cereri „Direcţionat/condus”, serverul ar trebui, în acest caz sa includă o afişare cu o explicaţie a situaţiei de eroare, fie că e temporara sau permanentă.
500 – eroare internă de server:
Server-ul a întâmpinat o condiţie neaşteptată şi o previne spre a putea îndeplini cererea.

501 – neîndeplinit/nerecunoscut:
Server-ul nu poate suporta funcţionalitatea cerută pentru a putea îndeplini cererea. Acesta este răspunsul specific în cazurile în care server-ul nu recunoaşte metoda de cerere şi nu e capabil să o suporte indiferent de mijloc/resursă.

502 – poartă/ieşire greşită:
Server-ul, în timp ce încerca să se comporte ca o poartă/ieşire sau ca un proxy, a recepţionat un răspuns invalid de la un server de deasupra/anterior în încercarea de a îndeplini cererea.

503 – serviciu nedisponibil:
În prezent server-ul nu poate să se ocupe de cererile trimise din cauza unei supraîncărcări sau a serviciilor de întreţinere a server-ului ce au loc în acel moment. Aceasta este o stare temporară şi în curând va fi remediată.

504 – poartă/ieşire expirată:
Server-ul, în timp ce încerca să se comporte ca o poartă/ieşire sau ca un proxy, nu a primit un răspuns la timp de la serverele de deasupra/anterioare lui specificat de URI (ex. HTTP, FTP, LDAP) sau de la un server auxiliar (ex. DNS) necesar accesării în încercarea de a termina/îndeplini cererea.

505 – versiunea HTTP nu e suportată/susţinută:
Serveru-l nu suportă sau refuză să suporte versiunea de protocol a HTTP ce a fost folosită în formularea cererii. Server-ul sugerează că e incapabil să completeze/termine cererea folosind aceeaşi versiune cu cea a clientului.

HTTP/0.9 – prima versiune realizată de Tim Berners-Lee şi echipa sa. Această versiune este foarte simplă, dar cu numeroase neajunsuri, fiind repede înlocuită de alte versiuni;
HTTP/1.0 – versiune introdusă în 1996 prin RFC1945, a adus numeroase îmbunătăţiri;
HTTP/1.1 – versiune de îmbunătăţire şi reparare a neajunsurilor versiunilor anterioare.
În prezent se utilizează două versiuni ale protocolului, HTTP/1.0 şi HTTP/1.1. La versiunea HTTP/1.0 se stabileşte o nouă conexiune TCP înaintea cererii, iar după transmiterea răspunsului conexiunea trebuie închisă. Astfel dacă un document HTML cuprinde 10 imagini, vor fi necesare 11 conexiuni TCP, pentru ca pagina să fie afişată complet (în browser). La versiunea 1.1 se pot emite mai multe cereri şi răspunsuri pe aceeaşi conexiune TCP. Astfel pentru documentul HTML cu 10 imagini este necesară doar o singură conexiune TCP. Deoarece – datorită algoritmului Slow-Start – viteza conexiunii TCP este la început mică, dar acum el e necesar doar o singură dată, se scurtează semnificativ durata totală de încărcare a paginii. La aceasta se adaugă şi faptul că versiunea 1.1 poate relua şi continua transferuri întrerupte.

La HTTP se pierd informaţiile cererilor vechi (deci este un protocol fără reţinerea stării). Prin utilizarea de cooki-uri în header, se pot realiza însă aplicaţii care pot utiliza informaţii de stare (opţiunile utilizatorului din sesiunea actuală, coş de cumpărături ş.a.). Chiar şi o recunoaştere a utilizatorului este astfel posibilă. În mod normal se pot citi informaţiile transmise care parcurg reţeaua pe computere şi rutere. Prin HTTPS transferul se poate şi cripta.

Versiunea cea mai recentă se poate utiliza în chat-uri prin utilizarea MIME-tip-ului multipart/replace, care reînnoieşte complet conţinutul ferestrei browser-ului. Noua versiune permite pe lângă preluarea datelor, şi transmiterea lor la server. Cu ajutorul metodei „PUT” web-designerii pot să-şi publice paginile web pe webserver prin WebDAV, iar prin metoda „DELETE” ei pot chiar şi şterge pagini de pe server.

De asemenea, HTTP/1.1 mai oferă metoda „TRACE” prin care se poate urmări calea spre webserver, şi verifica dacă datele au fost corect transferate. Astfel se poate urmări calea prin diferite proxi-uri spre webserver, echivalent cu un traceroute la nivel aplicaţie.

Metodele disponibile sunt :

GET: este cea mai folosită metodă, fiind utilizată atunci când serverului i se cere o resursă.
HEAD: se comportă exact ca metoda GET, dar serverul returnează doar antetul resursei, ceea ce permite clientului să inspecteze antetul resursei, fără a fi nevoit să obţină şi corpul resursei.
PUT: metoda este folosită pentru a depune documente pe server, fiind inversul metodei GET.
POST: a fost proiectată pentru a trimite date de intrare către server.
DELETE: este opusul metodei PUT.
TRACE: este o metodă folosită de obicei pentru diagnosticare, putând da mai multe informaţii despre traseul urmat de legătura HTTP, fiecare server proxy adăugându-şi semnătura în antetul Via.
OPTIONS: este folosită pentru identificarea capacităţilor serverului Web, înainte de a face o cerere.
CONNECT: este o metodă folosită în general de serverele intermediare.
Cererea clientului:

GET / HTTP/1.1

Host: www.example.com

Răspunsul serverului:

HTTP/1.1 200 OK

Date: Mon, 23 May 2005 22:38:34 GMT

Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)

Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT

Etag: „3f80f-1b6-3e1cb03b”

Accept-Ranges: bytes

Content-Length: 438

Connection: close

Content-Type: text/html

SMTP (Simple Mail Transfer Protocol) este un protocol simplu, folosit pentru transmiterea mesajelor în format electronic pe Internet. SMTP foloseşte portul de aplicaţie 25 TCP şi determină adresa unui server SMTP pe baza înregistrării MX (Mail eXchange) din configuraţia serverului DNS.

Protocolul SMTP specifică modul în care mesajele de poştă electronică sunt transferate între procese SMTP aflate pe sisteme diferite. Procesul SMTP care are de transmis un mesaj este numit client SMTP iar procesul SMTP care primeşte mesajul este serverul SMTP. Protocolul nu se referă la modul în care mesajul ce trebuie transmis este trecut de la utilizator către clientul SMTP, sau cum mesajul recepţionat de serverul SMTP este livrat utilizatorului destinatar şi nici cum este memorat mesajul sau de câte ori clientul SMTP încearcă să transmită mesajul.

Istoric SMTP a inceput sa fie folosit mai des la inceputul anilor ‘80. La acea vreme era mai putin folosit decat UUCP (Unix to Unix CoPy), care era mai potrivit pentru transmiterea e-mail-urilor intre maşini ce nu erau conectate permanent. SMTP însa functionează mai bine când atât expeditorul cât şi destinatarul mesajului sunt legaţi in reţea tot timpul. Sendmail a fost unul din primele programe care au implemetat acest protocol. Din 2001 au aparut încă cel puţin 50 de programe care implementeaza SMTP( atat servere cat si clienti). Printre cele mai cunoscute servere SMTP amintim Postfix, qmail, Novell GroupWise,Exim, Novell NetMail si Microsoft Exchange Server.

Funcţionare Comunicarea intre client şi server se realizeaza prin texte ASCII. Iniţial clientul stabileşte conexiunea către server şi aşteaptă ca serverul să-i răspundă cu mesajul “220 Service Ready” . Dacă serverul e supraîncărcat, poate să întarzie cu trimirea acestui raspuns. Dupa primirea mesajului cu codul 220 , clientul trimite comanda HELO prin care isi va indica identitatea. In unele sisteme mai vechi se trimite comanda EHLO, comanda EHLO indicand faptul că expeditorul mesajului poate sa proceseze extensiile serviciului şi doreşte să primească o listă cu extensiile pe care le suportă serverul. Dacă clientul trimite EHLO iar serverul îi răspunde ca aceasta comandă nu e recunoscută, clientul va avea posibilitatea să revină şsi să trimită HELO.

Odată ce comunicarea a fost stabilită, clientul poate trimite unul sau mai multe mesaje, poate incheia conexiunea sau poate folosi unele servicii precum verificarea adreselor de e-mail. Serverul trebuie să raspundă după fiecare comandă indicand astfel dacă aceasta a fost acceptată, dacă se mai asteaptă comenzi sau dacă există erori în scrierea acestor comenzi.

Pentru a trimite un mesaj se foloseste comanda MAIL prin care se specifica adresa clientului. Dacă aceasta comanda este corecta serverul va raspunde cu mesajul “250 OK”. Clientul trimite apoi o serie de comenzi RCPT prin care specifică destinatarii mesajului. Serverul va raspunde cu “550 No such user here”, sau “250 OK”, in functie de corectitudinea comenzii primite. După ce se specifică destinatarii, şi serverul acceptă comenzile, se trimite comanda DATA, prin care serverul e anunţat că expeditorul va incepe sa scrie conţinutul mesajului. Serverul poate răspunde cu mesajul „503 Command out of sequence” sau „554 No valid recipients” dacă nu a primit comenzile MAIL sau RCPT sau aceste comenzi nu au fost acceptate. Dacă serverul va raspunde cu mesajul “354 Start mail input”, clientul va putea introduce textul mesajului. Sfarşitul mesajului e marcat cu ..

Un server SMTP trebuie să cunoască cel putin urmatoarele comenzi :

HELO – identificare computer expeditor;
EHLO – identificare computer expeditor cu cerere de mod extins;
MAIL FROM – specificare expeditorului;
RCPT TO – specificarea destinatarului ;
DATA – conţinutul mesajului;
RSET – Reset;
QUIT – termină sesiunea;
HELP – ajutor pentru comenzi;
VRFY – verifica o adresa;
EXPN – expandează o adresa;
VERB – informatii detaliate.
Realizarea comunicaţiei SMTP – exemplu Funcţionarea protocolului SMTP poate fi testată simplu prin iniţierea unei conexiuni TCP folosind un client de telnet.

telnet mailhost.domeniu.ro 25

Server: 220 mailhost.domeniu.ro ESMTP

Client: HELO host.domeniu.ro

Server: 250 Hello host.domeniu.ro

Client: MAIL FROM: user@domeniu.ro

Server: 250 Ok

Client: RCPT TO: user@altdomeniu.ro

Server: 250 Ok

Client: DATA

Server: 354 End data with .

Client: Subject: test

Client: un mesaj test

Client: .

Server: Mail queued for delivery.

Client: QUIT

Server: 221 Closing connection. Bye.

Protocolul pentru transfer de fişiere (în engleză File Transfer Protocol, abreviat FTP) este utilizat pentru accesul la fişiere aflate pe servere de Internet. FTP este utilizat de peste douăzeci de ani şi este foarte răspândit. Numeroase servere de FTP din toată lumea permit ca de oriunde din Internet să se facă o conectare şi să fie transferat (încărcat sau descărcat) orice fişier plasat pe un server FTP. Web-ul nu aduce schimbări aici, ajută doar ca obţinerea fişierelor să se realizeze mai uşor, pentru că FTP are o interfaţă mai puţin prietenoasă. Pe viitor probabil că FTP-ul va dispare, deoarece nu există nici un avantaj pentru o organizaţie să aibă un server de FTP în loc de un server de HTTP, care poate să facă tot ce face un server de FTP[necesită citare], şi chiar mai mult (desigur mai există nişte argumente legate de eficienţă). Este posibil să se acceseze un fişier local printr-un URL, ca la o pagină de Web, fie utilizând protocolul „file” (fişier), sau pur şi simplu utilizând calea şi numele fişierului. Această abordare este similară utilizării protocolului FTP, dar nu implică existenţa unui server. Desigur funcţionează numai pentru fişiere locale.

Telnet este un program simplu, pe bază de text, care vă permite să vă conectați la alt computer, utilizând Internetul. Dacă ați primit de la proprietarul sau administratorul unui computer dreptul de a vă conecta la acel computer, Telnet vă va permite să introduceți comenzi utilizate pentru a accesa programe și servicii care se află pe computerul la distanță, ca și cum v-ați afla chiar în fața lui. Telnet poate fi utilizat pentru mai multe lucruri, inclusiv pentru accesarea poștei electronice, a bazelor de date sau a fișierelor.

WHOIS („who is” = „cine e”) este un protocol de căutare/răspuns, larg folosit pentru a căuta în baza de date oficială pentru a determina deținătorul unui domeniu, adresă IP sau a unui număr de sistem autonom din internet. Căutările WHOIS se făceau, tradițional, printr-o interfață command line, dar acum există mai multe site-uri web ce oferă moduri mai simple de căutare prin bazele de date. WHOIS rulează pe portul 43, protocolul TCP.

Internet Protocol (IP) este o metodă sau un protocol prin care datele sunt trimise de la un calculator la altul prin intermediu Internetului. Fiecare calculator (cunoscut ca HOST), pe internet are cel puţin o adresă IP unică, care îl identifică între toate computerele de pe internet. Când trimiţi sau primeşti date (de ex.: e-mail, pagini web) mesajul este împărţit în părţi mai mici numite pachete. Fiecare pachet cuprinde adresa celui care trimite datele, dar şi a celui căruia îi sunt destinate. Fiecare pachet este trimis, prima oara la un „Gateway Computer” care înţelege o mică parte din internet.

Computerul „Gateway” citeşte destinaţia pachetelor şi trimite pachetele la un alt „Gateway” şi tot aşa până ce pachetul ajunge la „Gateway”-ul vecin cu computerul destinatar.

Adresa IP este utilizată la nivelul programelor de prelucrare în reţea. În schimb, la nivelul utilizatorilor cu acces la Internet, identificarea calculatoarelor se face printr-un nume de calculator host gestionat de sistemul DNS.

Funcţionare Comunicaţia în Internet funcţionează după cum urmează: nivelul transport preia şiruri de date şi le divide în datagrame. Teoretic, datagramele pot avea fiecare până la 64 KB, dar în practică ele nu depăşesc 1500 de octeţi (pentru a intra într-un cadru Ethernet). Fiecare datagramă este transmisă prin Internet, fiind eventual fragmentată în unităţi mai mici pe parcurs. Când toate aceste „fragmente” ajung la maşina destinaţie ele sunt reasamblate de nivelul reţea în datagrama originală. Datagrama este transparentă nivelului transport, care o inserează în şirul de intrare al procesului receptor. Cea mai mică adresă este 0.0.0.0, iar cea mai mare 255.255.255.255. Adresa IP 0.0.0.0 este folosită de gazde atunci când sunt pornite. Adresele IP cu 0 ca număr de reţea se referă la reţeaua curentă. Aceste adrese permit ca maşinile să acceseze propria reţea fără a cunoaşte numărul de reţea (dar trebuie cunoscută clasa reţelei pentru a şti câte zerouri trebuie introduse). Adresele care constau numai din 1-uri permit difuzarea în reţeaua curentă, în mod usual un L A N . Toate adresele de forma 127.xx.yy.zz sunt rezervate pentru testări în buclă locală. Pachetele trimise către această adresă nu sunt trimise prin cablu ele sunt prelucrate local şi tratate ca pachete sosite.

O datagramă IP(un pachet) constă dintr-o parte de antet şi o parte de text. Antetul are o parte fixă de 20 octeţi şi o parte opţională de lungime variabilă.

Fiecare gazdă şi router din internet are o adresă IP, care codifică adresa sa de reţea şi de gazdă. Combinaţia este unică: în principiu nu există două maşini cu aceeaşi adresă IP. Toate adresele IP sunt de 32 biţi şi sunt folosite în câmpurile „Adresă sursă” şi „Adresă destinaţie” a pachetelor IP. Este important de observat că o adresă IP nu se referă la o gazdă. Se referă, de fapt, la o interfaţă de reţea. Cu alte cuvinte, dacă o gazdă este în două reţele, trebuie să folosească două adrese IP .

Reţelele sunt dinamice şi este posibil ca 2 pachete IP de la aceeaşi sursă să plece pe căi diferite (BGP – Border Gateway Protocol) şi să ajungă la aceeaşi destinaţie. Pachetele IP (dupa cum s-a mai spus) nu au garanţia că vor ajunge la destinaţie, acest lucru fiind lăsat în seama protocoalelor adiacente (TCP UDP etc).

Headerul IP

Versiune

IHL

Tip Serviciu

Lungime Totală

Identificator

Flags

Ofset Fragmentare

Time to Live

Protocol

Header Checksum

Adresa Sursă

Adresa Destinaţie

Opţiuni

Padding

Headerul IP:

Version – versiunea pachetului IP (curentă este 4)
IHL – lungimea headerului IP
Type of Service – permite gazdei să comunice ce tip de serviciu doreşte
Total length – lungimea pachetului
Identification – identificarea pachetului
Flags – conţine 1 bit nefolosit 1 bit DF (Don’t Fragment) şi unul MF (non-fragment)
Fragmentation offset – indică unde este locul fragmentului în datagramă
Time to Live – timpul de viaţa al pachetului (secunde), care se decrementeaza la fiecare HOP (trecere dintr-un router în altul)
Protocol – indică cărui proces de transport să-l predea (TCP, UDP, etc.)
Header Checksum – suma de control a antetului
Source Address – adresa sursă a pachetului (de unde vine)
Destination Address – destinatia pachetului (unde trebuie să ajungă)
Options – opţiuni ale pachetului (securitate, dirijare strictă pe baza sursei, dirijare aproximativă pe baza sursei, înregistrare cale, amprenta de timp)
Niciunul din câmpurile IP nu sunt criptate şi niciunul nu necesită autentificare.

Probabil cele mai utilizate programe care se bazează pe ICMP sunt ping şi traceroute.

Ping trimite mesaje ICMP de tip echo request („cerere de ecou”) către calculatorul ţintă şi aşteaptă de la acesta mesaje ICMP de tip echo reply („răspuns de tip ecou”). Dacă acestea nu sunt primite, se poate presupune că ceva este în neregulă cu conexiunea dintre cele două calculatoare.

Toate pachetele IP au în antet un câmp special numit TTL (Time To Live). Acest câmp este decrementat de fiecare dată când trece printr-un ruter. Pentru a evita buclele de routare, în momentul în care câmpul TTL ajunge la zero pachetul nu este trimis mai departe. În această situaţie, router-ul care a decrementat câmpul TTL la zero trimite către calculatorul-origine al pachetului (adresa acestuia se află tot în prologul IP) un mesaj ICMP de tip time exceeded. Programul traceroute profită de acest mecanism şi trimite către calculatorul ţintă pachete UDP cu valori ale câmpului TTL din ce în ce mai mari, cu scopul de a obţine mesaje time exceeded de la toate routerele aflate pe traseu.

Wi-Fi (IPA: /ˈwaɪfaɪ/) este numele comercial pentru tehnologiile construite pe baza standardelor de comunicaţie din familia IEEE 802.11 utilizate pentru realizarea de reţele locale de comunicaţie fără fir la viteze echivalente cu cele ale reţelelor Ethernet. Suportul pentru Wi-Fi este furnizat de diferite dispozitive hardware, şi de aproape toate sistemele de operare moderne pentru calculatoarele personale, routere, telefoane mobile şi cele mai avansate console de jocuri.

Standardul IEEE 802.11 descrie protocoale de comunicaţie aflate la nivelul gazdă-reţea al Modelului TCP/IP, respectiv la nivelurile fizic şi legătură de date ale Modelului OSI. Aceasta înseamnă că implementările IEEE 802.11 trebuie să primească pachete de la protocoalele de la nivelul reţea (IP) şi să se ocupe cu transmiterea lor, evitând eventualele coliziuni cu alte staţii care doresc să transmită.

802.11 face parte dintr-o familie de standarde pentru comunicaţiile în reţele locale, elaborate de IEEE, şi din care mai fac parte standarde pentru alte feluri de reţele, inclusiv standardul 802.3, pentru Ethernet. Cum Ethernet era din ce în ce mai popular la jumătatea anilor 1990, s-au depus eforturi ca noul standard să fie compatibil Ethernet, din punctul de vedere al transmiterii pachetelor.[1]

Standardul a fost elaborat de IEEE în anii 1990, prima versiune a lui fiind definitivată în 1997. Acea versiune nu mai este folosită de implementatori, versiunile mai noi şi îmbunătăţite 802.11a/b/g fiind publicate între 1999 şi 2001. Din 2004, se lucrează la o nouă versiune, intitulată 802.11n şi care, deşi nu a fost definitivată, este deja implementată de unii furnizori de echipamente.

Din punct de vedere al securităţii, IEEE şi Wi-Fi Alliance recomandă utilizarea standardului de securitate 802.11i, respectiv a schemei WPA2. Alte tehnici simple de control al accesului la o reţea 802.11 sunt considerate nesigure, cum este şi schema WEP, dependentă de un algoritm de criptare simetrică, RC4, nesigur.

Limitările standardului provin din mediul fără fir folosit, care face reţelele IEEE 802.11 să fie mai lente decât cele cablate, de exemplu Ethernet, dar şi din folosirea benzii de frecvenţă de 2,4 GHz, împărţită în 12 canale care se suprapun parţial două câte două. Limitările date de consumul mare de energie, precum şi de reglementările privind puterea electromagnetică emisă, nu permit arii de acoperire mai mari de câteva sute de metri, mobilitatea în cadrul acestor reţele fiind restrânsă. Cu toate acestea, au apărut unele tehnologii care permit legături fără fir bazate pe standardul 802.11 între două puncte fixe aflate la distanţe de ordinul sutelor de kilometri.

Stiva de protocoale IEEE 802.11 Nivelul fizic Stiva protocoalelor IEEE 802.11, cu corespondenţa în modelele de referinţă OSI şi TCP/IP

Protocoale Wi-Fi

Nivel OSI

Nivel TCP/IP

LLC (802.2)

Legătură de date

Gazdă– reţea

DCF CSMA/CA MAC

PCF MAC

Infraroşu

FHSS

DSSS

OFDM
(802.11a)

HR-DSSS
(802.11b)

802.11g

Fizic

Prima specificaţie IEEE 802.11, elaborată în 1997, permitea trei moduri principale de transmitere fără fir a biţilor. Prima dintre acestea era o tehnologie optică, cu transmitere în infraroşu, tehnologie similară cu cea folosită de telecomenzile diferitelor aparate electronice. Aceasta presupune însă limitarea ariei de acoperire a reţelei la încăperea în care este instalată, fapt ce poate fi văzut şi ca avantaj din punctul de vedere al securităţii.[2] Viteza oferită de această tehnologie este de maximum 1–2 Mbps.

Celelalte două tehnologii de transmisie sunt tehnologii radio în banda de 2,4 GHz, bandă ce nu necesită licenţe de utilizare. Din cauza libertăţii de utilizare a acestei benzi, ea este folosită şi de alte tehnologii, cum ar fi Bluetooth sau telefoanele fixe cordless, ceea ce poate cauza uneori interferenţe, deşi în general puterea de transmisie a tuturor acestor dispozitive este redusă.[2]

Prima se numeşte FHSS (spectru împrăştiat cu salturi de frecvenţă), şi, pentru a aloca eficient frecvenţele din banda de 2,4 GHz, presupune schimbarea periodică a frecvenţei de transmisie, în urma unor numere pseudoaleatoare generate de staţiile care comunică. Cealaltă tehnologie radio este DSSS (spectru împrăştiat cu secvenţă directă). Ambele oferă rate de transfer de maxim 1 sau 2 Mbps.

În 1999, IEEE a mai standardizat două modalităţi de transmisie, cu scopul de a mări ratele de transfer, şi anume OFDM (multiplexare cu divizare în frecvenţe ortogonale), o tehnică simiară cu CDMA, prin aceea că transmisia este prezentă simultan pe mai multe frecvenţe; şi HR-DSSS, modalitate similară spectrului împrăştiat cu secvenţă directă, dar cu o rată mai ridicată de transmitere a fragmentelor, în bandă mai îngustă. OFDM permite, teoretic, viteze de transmisie de până la 54 Mbps, şi a fost standardizată sub denumirea IEEE 802.11a. HR-DSSS permite viteze de 1, 2, 5,5 sau 11 Mbps, între care poate schimba pe parcursul transmisiei. Standardul HR-DSSS a fost denumit IEEE 802.11b. În 2001, IEEE a publicat standardul 802.11g, o specificaţie ce combină banda îngustă a HR-DSSS cu tehnica de modulaţie OFDM.[3]

Din 2004, IEEE are în lucru şi standardul 802.11n, care deja a început să fie implementat de mai mulţi producători de echipamente. Data aşteptată a definitivării specificaţiei este iunie 2010.[4] Prin acest standard, la nivelul fizic se aduc tehnologiile MIMO şi Channel Bonding. MIMO presupune folosirea de mai multe antene pentru a trata semnalele multicăi (unde ajunse la antenă pe alte căi decât de cea directă, prin reflexie, la momente de timp diferite de undele venite pe calea directă). MIMO profită de semnalele multicăi, folosind Space Division Multiplexing (SDM) şi multiplexând semnalele în fluxuri spaţiale. Fiecare flux spaţial necesită la receptor şi transmiţător o antenă separată. Channel Bonding înseamnă folosirea a două canale separate, fiecare cu o lăţime de bandă de 20 MHz pentru transmisia datelor, dublând rata fizică de transfer. IEEE şi-a propus, prin tehnologia 802.11n să ofere un standard ce poate furniza rate de transfer de 270 Mbps.[5]

Subnivelul accesului la mediu Există două tehnici principale de acces la mediu în standardul 802.11. Una este funcţia de coordonare distribuită (în engleză Distributed Control Function, DCF), prin care staţiile controlează fiecare propriul acces la mediu, similar Ethernetului, constituind o reţea ad-hoc fără fir. Cealaltă metodă de control al accesului la mediu se numeşte funcţie de coordonare punctuală (în engleză Point Coordination Function, PCF) şi implică arbitrajul centralizat al accesului la mediu, cu ajutorul unei staţii de bază.[6]

Funcţia de coordonare distribuită

Problema staţiei ascunse: A încearcă să transmită lui B în timp ce C transmite deja; A crede că nu va fi nicio coliziune. Problema staţiei expuse: B vrea să-i transmită lui A în timp ce C transmite altcuiva. B crede că va avea loc coliziune la A

S-a încercat ca modelarea nivelului legătură de date a standardului IEEE 802.11 să fie cât mai similară cu standardul 802.3 (Ethernet), deja familiar implementatorilor. Realizarea controlului accesului la mediu prin tehnica CSMA/CD de la Ethernet nu este însă posibilă, deoarece caracteristicile mediului sunt foarte diferite. La Ethernet, exista întotdeauna certitudinea că, odată transmis un semnal pe mediu (cablu), acesta ajunge la toate staţiile din domeniul de coliziuni. În cazul 802.11 mediul nu mai este însă cablul, ci eterul. Domeniul de coliziuni este aici mărginit de puterea de transmisie a emiţătorului radio al staţiei care transmite şi este influenţat de poziţia spaţială a staţiilor, ducând la probleme ca staţia ascunsă şi staţia expusă, probleme ce afectează funcţionarea CSMA/CD.

Problema staţiei ascunse apare când o staţie A transmite unei staţii B în timp ce aceasta din urmă primeşte mesaje de la o altă staţie C, aflată în afara ariei de acoperire a lui A. A nu recepţionează semnalul trimis de C, deci nu poate detecta coliziunea în caz de transmisie pe aceeaşi frecvenţă. Similar, problema staţiei expuse apare în exemplul de mai sus dacă B vrea să-i transmită lui A, ascultă canalul şi constată că în acel moment transmite C, dar A şi C nu se văd una pe cealaltă şi la destinaţie nu ar fi nicio coliziune. Din aceste motive, CSMA/CD nu este utilizabil în contextul reţelelor fără fir.[6]

Cum coliziunile sunt foarte greu de detectat, IEEE a recurs la o altă strategie de control al accesului la mediu, şi anume CSMA cu evitarea coliziunilor (în engleză CSMA with collision avoidance, CSMA/CA). Cum canalul trebuie să fie liber şi la transmiţător şi la destinatar, transmiţătorul transmite doar când simte canalul liber. În acel moment, el trimite un cadru RTS (Request To Send) şi aşteaptă răspunsul o perioadă, repetând cererea dacă trece un anumit timp. Destinatarul, dacă este liber, răspunde cu un CTS (Clear To Send). După primirea CTS, transmiţătorul trimite cadrul de date, după care aşteaptă confirmarea receptorului. Toate staţiile altele decât cele două şi care primesc un RTS sau un CTS transmis de altcineva îşi iau o perioadă de aşteptare în care nu transmit, pentru a evita coliziunea cu cadrele transmise de celelalte staţii.[6]

Funcţia de coordonare punctuală În cazul funcţiei de coordonare punctuală, există o aşa-numită staţie de bază, care poate fi un punct de acces IEEE 802.11, un ruter cu capabilităţi IEEE 802.11, sau un calculator cu interfaţă de reţea 802.11 configurată în modul de lucru master. Această funcţie de coordonare se bazează pe ideea că staţia de bază este cea care controlează accesul la mediu, acordând câte o cuantă de timp fiecărui dispozitiv conectat. În acest fel, întrucât staţiile transmit doar atunci când li se permite, sunt evitate coliziunile. Periodic, staţia de bază emite un cadru-baliză (în engleză beacon frame) care conţine setări privind conexiunea fizică (de exemplu, duratele de timp pentru saltul de la o frecvenţă la alta în cazul utilizării FHSS) şi care cere staţiilor ce doresc să se conecteze să anunţe acest lucru. Staţia de bază poate, de asemenea, în cazul în care poate păstra într-un buffer cadrele primite, să ceară unei staţii conectate să treacă în stand-by şi să o trezească atunci când aceasta a primit mai multe cadre.

Operarea mixtă Cele două funcţii, coordonarea punctuală şi cea distribuită, nu sunt mutual exclusive, ele putând fi folosite simultan în aceeaşi reţea. Pentru aceasta, un cadru de confirmare (ACK) venit în urma transmiterii unui cadru de date este urmat de o perioadă de „linişte”, în care, după anumite perioade de timp, se pot trimite diferite alte tipuri de cadre (cadre baliză ale staţiei de bază, cadre RTS/CTS, sau cadre ce semnalează erori).

Controlul logic al legăturii Controlul logic al legăturii (în engleză Logical Link Control, LLC) este un subnivel al nivelului legătură de date din modelul OSI care se ocupă cu controlul fluxului datelor. La acest nivel se preiau pachetele de la protocoalele de nivel 3 (de exemplu, IP sau IPX) şi se adaugă într-un antet LLC informaţii necesare la destinaţie pentru a decide cărui protocol sunt destinate pachetele respective.

Fiind independent de mediul de transmisie, LLC a fost standardizat de IEEE sub numele de IEEE 802.2, mult înainte de elaborarea standardului 802.11, fiind utilizat deja şi în alte tehnologii de reţea din seria IEEE 802, cum ar fi Ethernet sau FDDI. Folosirea de către 802.11 a subnivelului LLC aşa cum este el definit în standardul 802.2 a ajutat la îndeplinirea scopului de a realiza o tehnologie fără fir compatibilă cu Ethernet.

Formatul cadrului Există mai multe tipuri de cadre transmise în cadrul IEEE 802.11—cadre de confirmare, cadre RTS/CTS, cadre de date, cadre ce semnalează diverse erori, cadre de autentificare, asociere sau reasociere cadre baliză, cadre de căutare şi răspuns la căutare. Ele sunt identificate în primul rând după primii doi octeţi ai acestora, care formează antetul de control al cadrului. Semnificaţia fiecărui bit din acest antet este cea din tabelul următor:[7][8][9]

Câmp

Dimensiune [biţi]

Semnificaţie

Versiune

2

Specifică versiunea de MAC pe care o implementează acest cadru

Tip

2

Identifică tipul cadrului: poate lua trei valori: cadru de date, cadru de control sau cadru de gestiune

Subtip

4

Identifică mai precis tipul de cadru. De exemplu, cadrele de control pot fi RTS, CTS sau confirmări.[10]

Către DS

1

Arată direcţia cadrului (dacă este de la staţie spre sistemul de distribuţie)

De la DS

1

Invers decât bitul anterior

MF

1

Semnalează faptul că acesta este un cadru multifragment

Reîncercare

1

Semnalează faptul că acest cadru este retransmis după un eşec

Consum

1

Bit prin care staţia de bază pune receptorul în aşteptare sau îl trezeşte din starea de aşteptare

Mai mult

1

Arată că transmiţătorul mai are cadre de trimis receptorului

WEP

1

Semnalizează criptarea prin metoda WEP

Ordine

1

Arată că acest cadru, împreună cu celelalte care au acest bit setat trebuie să fie preluate în ordinea în care au fost transmise

Celelalte câmpuri ale cadrului sunt descrise astfel:

Câmp

Dimensiune [octeţi]

Semnificaţie

Controlul cadrului

2

Fiecare bit are semnificaţia dată în tabelul de mai sus

Durată

2

Durata estimată de ocupare a canalului, antet folosit de cadrele de control (RTS/CTS). Acest antet este citit de staţiile terţe, pentru a şti cât timp să stea în aşteptare atunci când detectează transmiterea lui.

Adresă 1

6

Există patru câmpuri de adresă. Primele două reprezintă, respectiv, adresa transmiţătorului şi cea a receptorului. Celelalte sunt folosite în cazul comunicaţiei între celule diferite ale aceleiaşi reţele—fiind respectiv adresa celulei sursă şi a celulei destinaţie

Adresă 2

6

Adresă 3

6

Secvenţă

2

Reprezintă numărul de secvenţă (primii 12 biţi) şi numărul de fragment (ultimii patru biţi)

Adresă 4

6

A patra adresă

Date

0–2312

În cazul cadrelor de gestiune şi al cadrelor de date, aici stă încărcătura informaţională a cadrului.

Suma de control

4

Folosită pentru a asigura integritatea datelor. Se calculează cu ajutorul CRC (în caz de transmisie necriptată sau criptată cu WEP), algoritmului Michael (în cazul WPA) sau CCMP (în cazul WPA2)

Fiecare cadru poate conţine maxim 2304 octeţi de date utile, dimensiunea minimă a câmpului de date fiind de 2312 octeţi, pentru a face loc posibilului overhead al WEP. Nu toate cadrele folosesc toate câmpurile. De exemplu, cadrele de control nu folosesc adresele 3 şi 4, nici secvenţa şi nici datele.

Securitatea Spre deosebire de Ethernet, mediul de transmisie aduce probleme de securitate suplimentară. Dacă în Ethernet, accesul la cablu se putea restricţiona prin ascunderea sau asigurarea zonelor prin care trece acesta, undele radio sunt mult mai dificil de controlat. Există mecanisme de bruiaj, care generează un zgomot electromagnetic ce acoperă frecvenţele folosite de reţelele 802.11, dar acestea nu pot funcţiona perfect, fără a afecta comunicaţiile legitime sau fără a lăsa breşe prin care se poate obţine acces în reţea. Cum la nivel fizic securitatea este dificil de asigurat, pentru obţinerea unui nivel de securitate acceptabil este obligatorie criptarea datelor şi controlul accesului la nivelele superioare celui fizic.

Tehnici simple de control al accesului Accesul la reţea se poate controla şi prin unele tehnici simple, care pot avea un succes limitat, dar suficient pentru a îndepărta unele intruziuni ocazionale.

O astfel de tehnică este configurarea punctului de acces aşa încât să nu-şi transmită public SSID-ul. SSID-ul (din engleză Service Set IDentifier) reprezintă un nume pe care un punct de acces îl transmite periodic pentru a îşi face cunoscută prezenţa staţiilor ce doresc să intre în reţea. Oprirea transmiterii acestui semnal ascunde prezenţa reţelei faţă de un potenţial atacator superficial, permiţând totuşi staţiilor care cunosc SSID-ul punctului de acces să se conecteze la reţea.[11] Această soluţie nu este una de natură să protejeze sistemul de accesul unor intruşi mai riguroşi, deoarece interceptarea cadrelor transmise în reţea între punctul de acces şi staţiile conectate poate oferi informaţia necesară pentru accesarea reţelei.

O altă tehnică la fel de simplă, dar la fel de ineficientă, este filtrarea adreselor MAC. Ca şi în Ethernet, dispozitivele de acces la reţea sunt identificate în mod unic de o adresă fizică (denumită şi adresă MAC). Un punct de acces poate fi configurat să nu permită accesul în reţea decât staţiilor care au una dintr-o listă finită de adrese MAC. Prin aceeaşi tehnică de ascultare a traficului legitim din reţea, însă, un intrus poate afla adresa MAC a unei staţii legitime, falsificând apoi această adresă şi obţinând accesul, pretinzând că este respectiva staţie.[12][13]

WEP

Paşii autentificării WEP:

1. Staţia (STA) trimite o cerere de autentificare.
2. Punctul de acces (AP) generează un nonce şi îl trimite staţiei.
3. Staţia criptează nonce-ul cu cheia secretă comună şi îl trimite înapoi punctului de acces.
4. Punctul de acces compară datele criptate primite cu cele aşteptate şi apoi trimite înapoi cadrul de autentificare cu rezultatul.

Prima tehnică de criptare a cadrelor la nivelul legătură de date a fost WEP (Wired Equivalent Privacy), numele sugerând că a fost gândită cu scopul de a obţine o securitate a legăturii de date echivalentă cu cea a unei reţele Ethernet. Această tehnică fost folosită din 1997 până când a fost spartă în 2001 şi a încetat să mai fie considerată sigură din 2005 odată cu publicarea standardului de securitate IEEE 802.11i.

WEP folosea algoritmul RC4, cu o cheie constantă de-a lungul transmisiunii, în variantele pe 64 de biţi (cheie de 40 de biţi şi vector de iniţializare de 24) sau de 128 de biţi (cheie de 104 biţi şi vector de iniţializare de 24), controlul integrităţii datelor realizându-se printr-o sumă de control CRC. În modul de lucru cel mai sigur, cel cu cheie partajată, autentificarea staţiilor se făcea printr-un mecanism de challenge: după ce o staţie anunţă că doreşte să se autentifice, punctul de acces alege aleator un text clar şi îl trimite staţiei; Staţia criptează textul primit şi îl trimite înapoi punctului de acces; punctul de acces decriptează mesajul şi îl compară cu cel trimis iniţial, permiţând sau respingând accesul în consecinţă. După permiterea accesului, transmisia cadrelor se face criptat cu cheia reţelei.[14][15]

O demonstraţie a spargerii WEP a fost publicată în august 2001 de Scott Fluhrer, Itsik Mantin şi Adi Shamir, care au arătat slăbiciuni în planificarea cheilor din algoritmul RC4, slăbiciuni care permit atacuri în timp liniar asupra transmisiunilor care îl folosesc,[16] pe baza lucrării prezentate cu o lună înainte, la conferinţa ACM din 2001, de către Nikita Borisov, Ian Goldberg şi David Wagner.[17] Ulterior, aplicaţii practice au demonstrat că atacul Fluhrer-Mantin-Shamir este uşor realizabil practic.[18] La nivelul anilor 2005, o criptanaliză WEP cu unelte disponibile public necesită un timp de ordinul minutelor,[19] atacuri îmbunătăţite reuşind de atunci şi în mai puţin de un minut.[20]

WPA şi WPA2 Ca răspuns la spargerea WEP, Wi-Fi Alliance a produs în 2003 specificaţia WPA (Wi-Fi Protected Access), în care a adresat problemele primare ale WEP. În WPA, s-a păstrat algoritmul de criptare simetrică RC4, dar s-a introdus în schimb TKIP (Temporary Key Integrity Protocol), o tehnică de schimbare a cheii de criptare pe parcursul sesiunii de lucru şi s-a înlocuit suma de control CRC-32 din WEP cu algoritmul Michael, deoarece cu CRC recalcularea sumei de control unui cadru alterat nu necesita cunoaşterea cheii de criptare.[21]

IEEE a preluat specificaţia WPA şi a elaborat în 2004 pe baza ei standardul IEEE 802.11i, standard care stabileşte o politică de criptare cunoscută sub numele de WPA2. În WPA2, algoritmul de criptare RC4 este înlocuit şi el cu mai puternicul algoritm AES, iar suma de control a cadrului este calculată cu ajutorul CCMP, un cod mai sigur decât CRC şi decât algoritmul Michael.[21]

WPA şi WPA2 pot funcţiona în două moduri distincte. Cel mai simplu dintre acestea, folosit în general la reţele personale (casnice sau ale unor firme mici), presupune configurarea staţiilor cu ajutorul unei parole de acces, parolă din care se calculează cheile de criptare cu ajutorul funcţiei PBKDF (Password-Based Key Derivation Function). În celălalt mod, WPA2 autentifică staţiile de lucru cu ajutorul unui server RADIUS.[21]

Implementări hardware

O interfaţă Wi-Fi PCI, cu o mică antenă. După montare, antena rămâne în afara carcasei calculatorului.

În general, dispozitivul necesar pentru realizarea unei reţele 802.11 este interfaţa de reţea prezentă pentru dispozitivele ce trebuie conectate. Se fabrică interfeţe de reţea 802.11 PCI şi miniPCI (pentru laptopuri), dar şi dispozitive USB sau PCMCIA. Multe laptopuri au interfaţa de reţea integrată, ca şi multe PDA-uri şi smartphone-uri. Folosind aceste dispozitive, se poate realiza o conexiune peer-to-peer, cu funcţie de coordonare distribuită pentru controlul accesului la mediu.

Un ruter IEEE 802.11 cu trei antene pentru utilizatori casnici

De asemenea, există puncte de acces wireless, dispozitive care fac conexiunea la nivelul legătură de date între o reţea cablată şi una fără fir, controlând accesul la mediu prin funcţia de coordonare punctuală. Mai multe puncte de acces coordonate între ele pot fi folosite pentru a acoperi o suprafaţă mai mare. Punţile sunt dispozitive similare punctelor de acces, ele fiind folosite în general pentru stabilirea unei conexiuni fără fir între două reţele cablate—lucru necesar în cazul în care nu se poate sau nu este practic să se întindă un cablu între cele două reţele, cum ar fi cazul între două clădiri aflate pe părţi diferite ale unei străzi.

Mulţi producători de echipamente comercializează dispozitive care combină un ruter cu un switch Ethernet şi, eventual, cu un modem ADSL într-un sistem care oferă soluţii accesibile pentru crearea şi administrarea unei reţele casnice. Acestea sunt de cele mai multe ori furnizate împreună cu un firmware configurabil ce poate realiza NAT, firewalling sau control al ratei de transfer şi poate funcţiona ca server DNS şi DHCP; în locul firmware-ului dedicat, se pot folosi sisteme de operare multiplatformă pentru astfel de rutere, cum ar fi DD-WRT, un sistem bazat pe nucleul Linux. Unele astfel de dispozitive pot avea şi porturi USB, şi pot astfel funcţiona ca print-servere (împreună cu o imprimantă USB) sau ca servere de fişiere (împreună cu unităţi de stocare USB).

Limitări Reţelele Wi-Fi oferă rate de transfer mari pe distanţe mici, fiind una dintre cele mai rapide reţele fără fir, dar şi cea care oferă cea mai mică mobilitate–Bluetooth este şi ea o tehnologie fără fir gândită pentru acces pe distanţe şi mai mici, de ordinul a câţiva metri, dar care oferă aceleaşi rate de transfer, avantajul ei constând într-o mai mare economie de energie. Pentru mărirea ariei de acoperire, IEEE a standardizat tehnologia WiMAX, pentru reţele metropolitane fără fir (IEEE 802.16). Întrucât echipamentele pentru WiMAX sunt însă costisitoare, Intel a dezvoltat o tehnologie de conexiune fără fir bazată pe standardele 802.11 cu dirijarea undelor, şi care poate asigura legătura între două puncte aflate la distanţe de ordinul sutelor de kilometri, costul echipamentelor fiind cu două ordine de mărime mai mici decât cele ale punctelor de acces 802.16 (WiMAX).[22]

Rata de transfer

Grafic al ariilor de acoperire ale diferitelor tehnologii fără fir. Wi-Fi oferă rate de transfer mari pe distanţe mici (reţele locale). Reţelele WiMAX sunt o tehnologie pentru reţele metropolitane. GSM/GPRS sunt reţele cu arie mare de acoperire, dar care oferă rate de transfer de câţiva kilobiţi pe secundă.

Ratele de transfer ale standardului 802.11 au fost, la început (anii 1997-1999), de ordinul megabiţilor pe secundă, într-o perioadă în care reţelele Ethernet, cablate, ofereau rate de ordinul zecilor şi sutelor de megabiţi pe secundă. În anul 2009, sunt disponibile pe scară largă echipamente Ethernet Gigabit, apărând chiar şi echipamente ce transferă date prin cablu la 10 Gbps, în timp ce reţelele 802.11g ating rate de transfer de 56 Mbps, iar noul standard 802.11n îşi propune să atingă 270 Mbps. Din punctul de vedere al ratei de transfer, din cauza caracteristicilor adesea imprevizibile ale mediului, cum ar fi zgomote electromagnetice provenite din diverse surse (alte dispozitive ce folosesc aceeaşi bandă, cum ar fi Bluetooth sau cuptoarele cu microunde) sau fenomene atmosferice (ceaţă, fenomene electrice şi electrostatice), reţelele Wi-Fi rămân în urma celor cablate. Totuşi, reţelele 802.11 sunt cele mai rapide reţele fără fir, singurele care se pot compara ca rată de transfer cu reţelele locale cablate.

Aria de acoperire O limitare importantă a reţelelor Wi-Fi o constituie aria de acoperire. Ea depinde mult de capabilităţile antenelor dispozitivelor şi de topografia particulară a zonei pe care urmăreşte reţeaua să o acopere. Plantele absorb radiaţiile electromagnetice, şi astfel instalarea unei reţele într-o zonă împădurită (cum ar fi un parc) limitează aria de acoperire a acesteia. Pereţii de beton reflectă puternic undele radio, instalarea unei reţele într-o clădire aducând astfel limitarea numărului de camere ce poate fi acoperit de o singură celulă. În interiorul clădirilor, un punct de acces cu o antenă de dimensiuni mici şi un preţ accesibil poate acoperi o arie de aproximativ 32 m, iar în exterior, acelaşi punct de acces poate ajunge la 95 m. Aria de acoperire poate fi şi mai restrânsă în cazul folosirii benzii de 5 GHz în locul celei de 2,4 GHz (mai zgomotoasă, dar în care se poate acoperi o arie mai mare). Transmisiunea la cea mai mare distanţă cu ajutorul unor dispozitive Wi-Fi a fost realizată, folosind antene puternice şi semnale direcţionate, de Ermanno Pietrosemoli de la Escuela Latinoamerica de Redes, care a transferat 3 MB de date între vârfurile El Aguila şi Platillon din Venezuela, aflate la o distanţă de 382 km.[23]

Canalele

Repartizarea canalelor în banda de 2,4 GHz

În Japonia, Wi-Fi foloseşte 14 canale ale benzii de 2,4 GHz, în Statele Unite 11 iar în Europa 13. În zonele unde acţionează mai multe puncte de acces, acestea se pot interfera, deoarece benzile nu sunt complet separate. Doar trei canale (1, 6 şi 11 în SUA, mai multe combinaţii în Europa şi Japonia) pot fi complet separate, în condiţiile în care toate punctele de acces dintr-o zonă folosesc doar IEEE 802.11g, fără posibilitatea de a recurge la 802.11b în caz de condiţii dificile. În Uniunea Europeană, puterea radiată izotrop echivalentă maximă este de 100 mW (20 dBm).

Consumul energetic Durata bateriilor staţiilor mobile reprezintă şi ea o limitare. Bateria unui PDA, care în mod normal ar funcţiona mai multe zile, se poate epuiza în câteva ore dacă i se lasă radioul Wi-Fi pornit. Laptopurile dotate cu adaptor IEEE-802.11 sunt prevăzute şi cu un buton de oprire a emiţătorului radio Wi-Fi pentru a prelungi durata de funcţionare a bateriei când nu se foloseşte reţeaua fără fir.

Ethernet (IPA: /ˈi:θənɛt/) este denumirea unei familii de tehnologii de reţele de calculatoare, bazate pe transmisia cadrelor (engleză frames) şi utilizate la implementarea reţelelor locale de tip LAN. Numele provine de la „eter”, care multă vreme s-a crezut că este mediul în care acţionau şi comunicau zeităţile. Ethernetul se defineşte printr-un şir de standarde pentru cablare şi semnalizare aparţinând primelor două nivele din Modelul de Referinţă OSI – nivelul fizic şi legătură de date.

Ethernetul este standardizat de IEEE în seria de standarde 802.3. Aceste standarde permit transmisia datelor prin mai multe medii fizice:

cabluri coaxiale, folosite în primele reţele Ethernet
cabluri torsadate – pentru conectarea sistemelor individuale la reţea, şi
cabluri de Fibră optică – pentru structura internă (backbone) a reţelei.
Ethernetul a început să se răspândească începând din 1980, dezvoltându-se, în detrimentul altor tehnologii cum ar fi Token Ring, FDDI şi ARCNET, până când a ajuns practic singurul protocol de nivel 2 de pe piaţă[1].

Descriere generală Ethernetul a fost inventat pe baza ideii că pentru a lega computerele între ele astfel ca să formeze o reţea este nevoie de un mediu de transmisie central cum ar fi un cablu coaxial partajat.

Conceptul şi implementarea Ethernetului s-au dezvoltat incontinuu, ajungându-se azi la tehnologiile de reţea complexe, care constituie fundamentul majorităţii LAN-urilor actuale. În loc de un mediu (cablu) central, tehnologiile moderne utilizează legături de tipul punct-la-punct, hub, switch (română comutator), bridge (română punte) şi repeater, bazate pe fire de cupru torsadate care reduc costurile instalării, măresc fiabilitatea şi înlesnesc managementul şi reparaţiile reţelei.

La nivelele de deasupra nivelului fizic, aparatele dintr-o reţea Ethernet comunică între ele prin împărţirea mesajelor în multe pachete mici, care se transmit şi se recepţionează unul câte unul (dar foarte repede). Fiecare aparat legat la reţea primeşte o adresă de la protocolul Media Access Control (Adresă MAC), unică, alcătuită din 48 biţi, şi care se foloseşte la identificarea atât a sursei cât şi a destinaţiei pachetelor.

Toate adaptoarele de reţea (NIC) primesc încă din fabrică o adresă unică, şi în mod normal nici un adaptor nu acceptă pachete adresate altcuiva. La nevoie adresa poate totuşi fi schimbată, de exemplu atunci când un adaptor se defectează şi trebuie înlocuit cu unul nou, dar păstrându-se adresa MAC veche.

Cu toate progresele făcute, şi anume plecând de la cabluri coaxiale groase care ajungeau la viteze de transmisie de maximum 10 Mbit/s, şi până în zilele noastre, când reţelele Ethernet cu fibre optice ajung la viteze de pânâ la 100 Gbit/s (prin standardul 802.3ba[2])[3], formatul cadrelor nu s-a schimbat, astfel încât toate reţelele Ethernet pot fi interconectate fără probleme. În plus, datorită marii răspândiri a reţelelor Ethernet, scăderii permanente a costurilor pentru hardware, precum şi miniaturizării tuturor componentelor Ethernet, în ziua de azi funcţionalitatea Ethernet se poate implementa la PC-uri direct pe placa de bază, fără a mai fi nevoie de o placă de reţea separată.

[modifică] Caracteristici fizice Cele mai vechi medii de transmisie pentru protocolul Ethernet au fost cablurile coaxiale groase (standardul 10BASE5) şi subţiri (10BASE2). A urmat apoi cablul torsadat, care este prezent în toate standardele începândcu 10BASE-T (10Mbps). Odată cu mărirea vitezei, distanţele pentru care funcţionează Ethernetul pe cupru s-au redus, ajungând la 10m pentru 100Gbps[4]. Pentru a asigura conectivitatea la viteze şi pe distanţe mari s-a trecut la fibra optică. Potrivit unor estimări, este posibil ca Ethernet să ajungă la o viteză de transfer de ordinul terabiţilor folosind fibra optică până în 2015[5].

Toate protocoalele din familia Ethernet care transmit informaţie în banda de bază folosesc codarea Manchester cu valorile de +0,85V şi -0,85V[6].

[modifică] Formatul cadrului Există mai multe tipuri de cadre:

Cadrul Ethernet Versiunea 2 (Ethernet II), numită şi cadrul DIX (de la numele companiilor DEC, Intel şi Xerox); acesta este cel mai folosit cadru în prezent.
Implementarea non-standard a companiei Novell, care nu conţine antetul LLC (IEEE 802.2).
Cadrul IEEE 802.2 LLC
Cadrul IEEE 802.2 LLC/SNAP
Toate aceste tipuri de cadre pot conţine în plus şi un tag IEEE 802.1Q, folosit la identificarea VLANului. Această extensie măreşte dimensiunea maximă a cadrului cu 4 octeţi, până la 1522 octeţi.

Formatul cadrului Ethernet folosit în prezent

Cadre incomplete Cadrele incomplete sunt cele care au o lungime mai mică decât cea specificată de standard (64 de octeţi). Astfel de cadre apar cel mai des din cauza coliziunilor din reţea, dar şi datorită unor probleme cu plăcile de reţea sau cu implementarea software a stivei de protocoale.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *