Retele de calculatoare

April 12, 2017 | Author: Valentin Manzicu | Category: N/A
Share Embed Donate


Short Description

Download Retele de calculatoare...

Description

UNIVERSITATEA TITU MAIORESCU Facultatea de Informatică

CONF. DR. IOSIF PRAOVEANU

Curs pentru învăŃământul la distanŃă

Bucureşti 2010

Obiectivele cursului ReŃele de calculatoare este una dintre disciplinele de pregătire de specialitate care, pentru specializarea INFORMATICĂ, îl ajută pe student să cunoască şi să înŃeleagă specificul lucrului şi comunicării în reŃea. Disciplina este recomandată pentru studiu de către AgenŃia NaŃională pentru Asigurarea CalităŃii în ÎnvăŃământul Superior (ARACIS) ca esenŃială pentru pregătirea studenŃilor din specializarea menŃionată. Disciplina se desfăşoară în anul III, pe un semestru şi urmăreşte acumularea de cunoştinŃe teoretice şi formarea de deprinderi practice privind construcŃia, funcŃionarea şi operarea reŃelelor de calculatoare. Modul de prezentare a acestui material are în vedere particularităŃile învăŃământului la distanŃă, la care studiul individual este determinant. Opbiectivele cursului nu pot fi atinse fără un studiu sistematic din partea studenŃilor, cel puŃin în limitele timpului planificat prin calendarul disciplinei, prin îndeplinirea obligaŃiilor şi sarcinilor specificate şi prin participarea la activităŃile asistate. Disciplina ReŃele de calculatoare îşi propune următoarele obiective specifice:  Cunoaşterea modului de construcŃie, funcŃionare şi operare a reŃelelor de calculatoare;  Cunoaşterea şi însuşirea modelelor arhitecturale şi a protocoalelor care stau la baza operării reŃelelor;  Descrierea detaliată pe nivele arhitecturale a funcŃionării reŃelelor;  Cunoaşterea modului de interconectare şi interoperare a diferitelor tipuri de reŃele şi protocoale;  Cunoaşterea şi însuşirea unor servicii şi aplicaŃii de reŃea larg utilizate (poştă electronică, servicii web, aplicaŃii multimedia etc.)  Însuşirea unor elemente de proiectare şi realizare a reŃelelor. Precizez că, din punct de vedere al verificărilor şi al notării, cu adevărat importantă este capacitatea pe care trebuie să o dobândiŃi şi să o probaŃi de a însuşi şi explica corect noŃiunile teoetice, de a dovedi capacitatea de a răspunde corect la întrebările de verificare şi de da soluŃii practice viabile la problemele propuse. La unele teme veŃi avea de întocmit lucrări de casă sau proiecte care să stimuleze cerativitatea dumneavoastră, capacitatea de a vă documenta din literatura de specialitate şi de a elabora soluŃii originale.

Tema 1. ASPECTE GENERALE PRIVIND REłELELE DE CALCULATOARE Tema are ca scop cunoaşterea unor noŃiuni şi concepte de bază privind construcŃia şi funcŃionarea reŃelelor de calculatoare ca sisteme deschise interconectate. Sunt definite conceptele de reŃea de calculatoare, topologia şi arhitectura unei reŃele, modele arhitecturale stratificate de reŃele şi rolul lor în descrierea funcŃionării unei reŃele, protocoale şi servicii de reŃea. După parcurgerea şi însuşirea acestei teme, studentul va cunoaşte: • Ce este o reŃea de calculatoare şi care sunt elementele constitutive de bază • Clasificarea reŃelelor şi tipuri de reŃele • Ce sunt arhitectura şi topololgia unei reŃele şi exemple uzuale • Descrierea modelelor arhitecturale ISO-OSI, TCP-IP şi ATM • Rolul fiecărui nivel arhitectural • Ce este un protocol de reŃea şi exemple de protocoale uzuale • ImportanŃa şi utilitatea standardizării în domeniul reŃelelor Materialul trebuie parcurs în ordinea sa firească prezentată în continuare, inclusiv în porŃiunea referitoare la aplicaŃii. Se recomandă conspectarea şi notarea ideilor principale şi consultarea Internetului pentru detalii şi informaŃii suplimentare. Timpul minim pe care trebuie să-l acordaŃi acestui modul este de 6 ore.

Societatea modernă se bazează pe crearea, procesarea, transmiterea şi consumul (utilizarea) informaŃiei, procese suportate în primul rând de sistemele informatice integrate, în care reŃelele de calculatoare au un rol fundamental. ReŃelele de comunicaŃii şi calculatoare asigură utilizarea în comun, de către un număr mare de utilizatori, a resurselor fizice (hardware ) şi logice (software) având posibilitatea schimbului de informaŃii între ei. O reŃea de calculatoare este o colecŃie de echipamente de calcul şi de comunicaŃii interconectate prin intermediul unor medii de comunicaŃie, funcŃionând pe baza unor seturi de reguli sau protocoale, în scopul asigurării unor servicii legate de transmiterea şi prelucrarea informaŃiei. Principalele componente ale unei reŃele sunt: 1. echipamentele de generare, stocare şi prelucrare a datelor (calculatoare, staŃii de lucru, servere, imprimante, diverse terminale de date, ); 2. echipamente de comunicaŃii de date (emiŃătoare şi receptoare de date – numite şi transceivere), echipamente de comutaŃie (switchuri, rutere, comutatoare), canalele de comunicaŃie realizate pe diverse medii (linii cu fir, cabluri electrice, medii optice, medii radio, pe satelit). 3. programe şi produse software care implementează seturi de protocoale necesare realizării aplicaŃiilor şi serviciilor de reŃea, inclusiv asigurarea protecŃiei şi siguranŃei informaŃiilor 1

transmise prin reŃea. Astfel există software pentru transmiterea datelor, pentru comutarea pachetelor sau fluxurilor de date, pentru administrarea reŃelei, pentru protecŃie şi securitate datelor, etc. În general, aceste produse soft sunt integrate într-un sistem de operare de reŃea (NOS – Network Operation System)

1.2 Servicii oferite de reŃea O reŃea poate oferi utilizatorilor, în principal, următoarele categorii de servicii: - partajarea accesului la informaŃii (pentru securizarea anumitor informaŃii). - partajarea accesului la resursele hardware (imprimante, modemuri, scanere, HDD, FDD, CDROM, unităŃi de bandă conectate la un PC din reŃea sau echipamente conectate direct în reŃea). - partajarea accesului la resursele software (software-ul poate fi instalat centralizat şi se poate restricŃiona accesul anumitor membri ai reŃelei la un produs sofware). - păstrarea informaŃiilor – soluŃii de backup, una din sarcinile foarte importante ale unui administrator de reŃea. - protejarea informaŃiilor (mult mai bine asigurată decât la un calculator izolat, reŃeaua oferind mai multe niveluri de securitate). - poşta electronică (e-mail). - navigare pe Internet -acces la surse de informaŃii şi baze de date aflate oriunde în lume -servicii de mesagerie, forumuri de discuŃii -servicii de videoconferinŃă -acces la programe de divertisment (muzică, filme, călătorii virtuale) -servicii de plăŃi on line (e-banking), de comerŃ electronic (e-commerce), -învăŃământ şi instruire la distanŃă (e-learning) -grupuri de lucru, cercetare, proiectare, dezvoltare de programe şi produse -alte schimburi de informaŃii pe diverse teme, subiecte, domenii etc.

1.3 Clasificarea reŃelelor ReŃelele de calculatoare se pot clasifica după mai multe criterii. 1. După aria de întindere: reŃele locale (LAN-uri) care cuprind câteva zeci sau sute de calculatoare răspândite pe o arie de sute de metri, la nivelul unui birou, unei clădiri, unei societăŃi sau a unei organizaŃii. 2

-

reŃele de arie medie (MAN-uri) care interconectează abonaŃi sau reŃele locale răspândite la nivelul unul oraş reŃele de arie largă (WAN-uri) cu întindere la nivel regional, naŃional sau fhiar internaŃional

2. După topologie: de tip stea de tip magistrală de tip inel de tip arbore grătar topologie compusă 3. După raportul în care se află entităŃile care folosesc reŃeaua: reŃele de tip client server reŃele egal la egal 4. După modul de conectare a abonaŃilor: reŃele punct la punct reŃele multipunct reŃele broadcast 5. După tehnica de transmitere a datelor orientate pe conexiune neorientate pe conexiune 6. După gradul de agregare a datelor: reŃele de acces/distribuŃie reŃele de transport (backbone, core) 7. După sistemul de operare de reŃea folosit: reŃele Windows reŃele Novell reŃele IBM 8. După destinaŃie: reŃele casnice reŃele de campus reŃele de cercetare reŃele bancare reŃele educaŃionale 9. După gradul de securizare a datelor: reŃele securizate reŃele nesecurizate. 10. După mediul de conectare: reŃele cablate 3

-

reŃele necablate (wireless)

1.4 Vedere generală a unei reŃele de comunicaŃii şi calculatoare O structura generală a unei reŃele mari, alcătuită din multe reŃele şi subreŃele, interconectate la nivel global prin Internet, se poate vedea în fig. 1.1. Este de remarcat diversitatea mare de tipuri de reŃele, de utilizatori şi de nevoi de servicii care trebuie asigurate. Există utilizatori individuali care lucrează acasă sau la firme mici, birouri individuale, care au nevoie de conectare la Internet fie folosind reŃeaua telefonică comutată publică (PSTN), fie reŃeaua numerică cu servicii integrate (ISDN), fie reŃeaua de distribuŃie pentru servicii de televiziune (CATV). Practic aceste reŃele asigură doar serviciul de conectare la o altă reŃea, aceea a unui furnizor de servicii de Internet (ISP). Furnizorii de servicii Internet gestionează domeniile şi adresele de Internet şi le pun contra cost şi la cerere, la dispoziŃia utilizatorilor. Conectarea diverselor reŃele la Internet se face, de regulă pri porŃi de acces numite gateways (GW). Există apoi reŃele locale de nivel campus (universităŃi, firme mici, diverse societăŃi) care fac trafic local dar au şi nevoie de acces la Internet, tot prin ISP. O altă categorie sunt reŃelele de divertisment (TV interactivă, acces la programe muzicale, jocuri etc.) Utilizatori casnici

Intranet (ReŃea privată de întreprindere)

Server

LAN

PC

Firme mici

ReŃea telefonică WS

LAN

Backbone Local

(ISDN/CATV) LAN

PC

LAN Server

GW

Server

GW

ReŃea globală (Internet)

ReŃea ISP (furnizor de servicii Internet

LAN Campus Server

GW

Acces radio

GW

ReŃele wireless

ReŃele divertisment

Sistem muzical

Fig. 1.1 ConfiguraŃie de reŃele interconectate prin Internet

4

TV

1.5 Topologii de reŃele Prin topologia unei reŃele se înŃelege structura de vecinătăŃi a echipamentelor, modul în care sunt ele interconectate în reŃea. Topologiile de bază sunt: stea, magistrală, grătar şi arbore. Din combinarea acestora pot rezulta topologii compuse. Topologia stea are la bază un nod central prin care circulă informaŃia ce se va distribui celorlalte staŃii. Nodul central poate fi un nod pasiv, de tip hub, care primeşte datele pe un port de intrare şi le distribuie pe toate celelalte porturi la care sunt conectate celelalte staŃii. Pachetul este astfel difuzat la toate staŃiile din reŃea. Dacă nodul central este de tip comutator care recunoaşte adrese fizice, atunci el poate distribui pachetul doar staŃiei destinaŃie, crescând mult eficienŃa transmisiei prin evitarea difuzării de pachete spre destinaŃii nedorite. Trebuie reŃinut că se poate face deosebire între topologie fizică şi topologie logică. În figura 1.2 se poate vedea implementarea unei topologii logice inel peste o topologie fizică stea. Dacă staŃia 1 are de trimis un pachet unei staŃii oarecare n si transmiterea se face direct, fie prin difuzare, fie prin selecŃie pe bază de adresă, atunci se vorbeşte de o topologie fizică stea şi logică stea. Dacă însă staŃia 1 trimite spre staŃia n prin salturi succesive, folosind staŃiile intermediare 2, 3..., atunci se vorbeşte despre o topologie logică inel suprapusă peste topologia fizică stea. În fig. 1.3 se poate vedea cum o topologie fizică bus (liniară) poate fi privită logic ca o topologie stea. 1

2

1

2

3 6

3

Fig. 1.2 a) Topologie fizică stea b) topologie logică inel realizată peste o topologie fizică stea 1

2

3

4

Fig. 1.3 Topologie logică stea implementată peste o topologie fizică liniară

5

1.6 Aspecte soft ale reŃelelor 1.6.1 Softuri şi protocoale Programele soft care asigură funcŃionarea unei reŃele sunt în pezent structurate şi ierarhizate pe nivele. Acest mod de abordare reduce complexitatea proiectării lor şi permite o tratare unitară a lor indiferent de tipuri, dimensiuni, tehnologii folosite etc. Numărul de nivele sau straturi, conŃinutul şi funcŃiile lor, diferă de la o reŃea la alta. Cazul cel mai general este modelul de referinŃă ISO-OSI cu 7 nivele (ISO-OSI Refference Model). Scopul fiecărui nivel este să ofere servicii nivelului superior, bazându-se pe funcŃii proprii şi pe serviciile nivelului imediat inferior. Nivelul n de pe o maşină comunică cu nivelul n de pe maşina corespondentă între care se face transfer de date pe baza unor reguli de conversaŃie denumite protocol de nivel n. Protocolul reprezintă un set de reguli prin care entităŃile egale, situate pe aceleaşi nivele, comunică între ele (comunicare în sens logic). În realitate, datele sunt transmise în mod fizic pe nivel cel mai de jos, mediul fizic. Un set ierarhic de protocoale care face posibilă transmiterea datelor între două calculatoare formează stiva sau suita de protocoale. MulŃimea de niveluri şi protocoale precum şi modul de împlementare concretă a acestora pe baza căreia funcŃionează o reŃea este numită arhitectură de reŃea. Fiecare nivel din stiva ierarhică asigură servicii pentru nivelul superior şi foloseşte, la rândul său, servicii furnizate de nivelul inferior. De exemplu, nivelul reŃea (nivelul 3 din ierarhia OSI) se ocupă cu dirijarea pachetelor în reŃea de la sursă până la destinaŃie, asigurând nivelului superior, nivelul transport, o legătură sigură cap la cap, indiferent de ruta sau rutele urmate de pachetele individuale care compun un mesaj. Abonat Y

Abonat X Nivel n+1

Protocol nivel n+1

Nivel n+1

InterfaŃă n+1/n Nnivel n

Protocol nivel n

Nnivel n

InterfaŃă n/n-1 Nivel n-1

Protocol nivel n-1

Nivel n-1

Mediul fizic

Fig. 1.4 Structurarea pe nivele a legăturii dintre doi abonaŃi La rândul său, nivelul 3 beneficiază de serviciile nivelului 2, legătură de date, care are drept scop transmiterea corectă, fără erori, a blocurilor de date între două noduri vecine din reŃea. 6

Fiecare nivel are nevoie de un mecanism de a identifica transmiŃătorii şi receptorii, cine cu cine comunică, adică de un mod de adresare. Serviciile efectuate de fiecare nivel pot fi de două feluri: - serviciu orientat pe conexiune care presupune mai întâi stabilirea unei căi (rute) prin reŃea, transferul datelor şi apoi desfacerea conexiunii. Acest mod de funcŃionare este similar procedurii unei convorbiri telefonice. - serviciu fără conexiune care nu presupune stabilirea unei anume rute înainte de începerea transferului de date. Dirijarea blocurilor de date se face din nod în nod, doar pe bază de adresă, asemănător serviciului poştal. Fiecare serviciu trebuie să poată fi caracterizat printr-o anumită calitate a serviciului. Unele trebuie să fie sigure, în sensul că nu pierd niciodată date. Pentru aceasta, receptorul verifică corectitudinea blocului de date primit folosind proceduri adecvate şi apoi confirmă transmiŃătorului primirea corectă a mesajului. Următoarea transmisie poate începe, în funcŃie de protocolul convenit, numai după confirmarea individuală a recepŃiei corecte, sau se poate transmite continuu până la detectarea unui pachet eronat când se reia transmisia etc. Procesul de confirmare introduce însă întârzieri suplimentare. Există şi servicii mai puŃin pretenŃioase, fără confirmare şi fără conexiuni, cum este serviciul datagramă.

Primitive de serviciu Un serviciu este specificat printr-o serie de operaŃii sau acŃiuni numite primitive, care trebuie executate în cadrul unui protocol. Ele comandă serviciului să execute anumite acŃiuni şi să raporteze despre executarea lor. Primitivele reprezintă un schimb de informaŃii între nivelele adiacente (schimb de informaŃii pe verticală în modelul stratificat). Setul de primitive depinde de serviciul oferit. Pentru un serviciu cu confirmare există 4 tipuri generice de primitive: 1. Cerere (request) prin care un nivel solicită efectuarea unui serviciu de către nivelul inferior. 2.

IndicaŃie (indication) care reprezintă o notificare de la un nivel inferior spre unul superior despre apariŃia unui eveniment

3.

Răspuns (response) care este răspunsul la o cerere.

4.

Confirmare (acknowledgement) reprezentând un mesaj al nivelului inferior spre cel superior pentru a preciza rezultatele unei cereri.

N-SAP

N-SAP

N-1 SAP

N-1 SAP

Confirmare

Cerere Răspuns

Indicare

Indicare

Fig. 1.5 Perechile de primitive la un serviciu cu confirmare 7

Cerere Răspuns

Setul de servicii oferite de nivelul N defineşte o interfaŃă abstractă între nivelele N şi N+1. Ea descrie semantica interacŃiilor dintre cele două nivele. Punctele prin care se accesează serviciile se numesc puncte de acces la servicii de nivel N (N SAP). O interfaŃă concretă oferă specificaŃii electrice, mecanice, de conectare, defineşte un program soft (procedură) care trebuie executată pentru obŃinerea serviciului dorit. RelaŃia dintre servicii şi protocoale Serviciile şi protocoale sunt concepte distincte, deşi adesea se confundă. Un serviciu este un set de primitive (acŃiuni) pe care un nivel le furnizează nivelului superior. El precizează numai ce operaŃii este pregătit a le realiza pentru utilizatorii lui, dar nu spune nimic despre modul în care sunt implementate ele. Un protocol este un set de reguli care descriu formatul şi semnificaŃia cadrelor, pachetelor sau mesajelor pe care le schimbă între ele entităŃile pereche de pe fiecare nivel. Protocoalele implementează serviciile, dar nu sunt vizibile pentru utilizatorul serviciului.

1.6.2 Sisteme de operare de reŃea Software-ul de operare de reŃea (NOS-Network Operating System) este o componentă majoră a unei reŃele de calculatoare şi este destinat gestionării resurselor, aplicaŃiilor de reŃea şi a utilizatorilor. El face posibil ca o reŃea să funcŃioneze unitar, coerent şi sigur, ca un sistem integrat. La începutul dezvoltării tehnologiilor IT se făcea deosebire clară între sistemele de operare de tip desktop destinate staŃiilor de lucru individuale şi sistemele de operare de reŃea. Odată cu dezvoltarea şi generalizarea reŃelelor de calculatoare această separare s-a estompat, în prezent aproape toate sistemele de operare pentru staŃii de lucru individuale au componente puternice de integrare şi funcŃionare în reŃea. Cele mai răspândite sisteme de operare de reŃea în momentul de faŃă sunt: Windows Server (variantele NT, 2000, 2003, 2008) -

Novell Netware – Netware 3.12, Intranetware 4.11, Netware 5.0 şi 5.1

-

UNIX – HP-UX, Sun Solaris, BSD, SCO

-

Linux – RedHat, Caldera, Debian, Slackware

În mod tradiŃional, sistemele de operare de reŃea erau împărŃite în două mari categorii de produse: • Sisteme de operare de reŃea peer-to-peer, cunoscute ca reŃele LAN ieftine, oferind o instalare uşoară şi servicii de fişiere şi imprimare pentru grupuri mici de lucru sau departamente; • Sisteme de operare de reŃea client-server oferind capacităŃi puternice, inclusiv suport pentru lucru a sute de utilizatori şi posibilitatea de a interacŃiona cu alte sisteme de operare de reŃea prin intermediul gateway-urilor. Clasificarea actuală împarte sistemele de operare de reŃea în două categorii: NOS Client şi NOS Server. Pentru a înŃelege specificaŃiile arhitecturale ale NOS din zilele noastre, este necesar să 8

se evidenŃieze cerinŃele funcŃionale pe care trebuie să le ofere aceste sisteme. Pe lângă cerinŃele tradiŃionale (lucru cu fişiere şi servicii de imprimare) au apărut cerinŃe noi: -

Servicii de aplicaŃii (multiprocesare, multitasking, multithreading, motoare pentru baze de date, motoare pentru mesagerie/comunicaŃie, )

-

Servicii de directoare (servicii globale de nume şi directoare, definirea obiectelor din reŃea într-un singur loc şi partajarea de către toare aplicaŃiile, păstrarea informaŃiei de directoare în baze de date distribuite şi replicate pentru siguranŃă şi redundanŃă)

-

Servicii pentru integrare/migrare (posibilitatea ca mai multe sisteme de operare de reŃea client diferite să interopereze cu mai multe sisteme de operare de reŃea server diferite, posibilităŃi de upgradare şi de trecere la alte sisteme de operare de reŃea).

În tehologia informaŃiei termenul de server desemnează un program de aplicaŃie (uneori inclule şi maşina, partea hardware pe care este instalat) care furnizează servicii altor aplicaŃii (numite aplicaŃii client), aflate pe acelaşi calculator sau pe calculatoare diferite. Serverele au apărut odată cu reŃelele de calculatoare. Arhitectura client-server reprezintă un model de descompunere a unei aplicaŃii în două componente distincte: o componenta client şi o componentă server. Componenta client se execută pe o staŃie de lucru unde receptionează date de la un utilizator, le structurează şi transmite cereri de realizare a unor servicii pe baza acestor date către componenta server. De cealaltă parte, server-ul aşteaptă cereri de la clienŃi. Atunci când acesta recepŃionează o cerere, server-ul o procesează şi returnează rezultatul clientului. Elemente caracteristice ale arhitecturii client/server: • Serviciu: client/server reprezintă în primul rând o relaŃie între procese care se execută pe maşini de calcul separate. Server-ul furnizează anumite servicii, în timp de clientul este un consumator” de servicii. În esenŃă, tehnologia client/server furnizează o separare clară a functionalităŃilor pe baza ideii de serviciu. • Resurse partajate: un server poate servi mai mulŃi clienŃi în acelaşi timp şi controlează accesul acestora la resursele partajate. • Protocoale asimetrice: între server şi clienŃi există o relaŃie 1-n. ClienŃii sunt cei care iniŃiază dialogul cu un server prin cererea unui anumit serviciu. Serverele sunt entităŃi pasive care aşteaptă cererile clienŃilor şi transmit acestora doar replici la cererile recepŃionate. • TransparenŃa locaŃiei: serverul este un proces care poate fi localizat pe aceeaşi maşină de calcul (calculator) ca şi clientul sau pe o maşină de calcul diferită, aflată în reŃea. În general aplicaŃiile client/server ascund clienŃilor informaŃiile referitoare la poziŃia serverului în cadrul unei reŃele, redirectând cererile de servicii atunci când este necesar. • ComunicaŃie bazată pe mesaje: clienŃii şi serverele interacŃionează între ele prin intermediul mecanismului de transmisie de mesaje. Mesajul reprezintă mecanismul de cerere şi replicare a unui serviciu. • Încapsularea serviciilor: un mesaj specifică serverului serviciul cerut. Determinarea modului în care este satisfăcută cererea cade în responsabilitatea server-ului. Server-ele pot fi 9

modificate, actualizate şi/sau optimizate fără afectarea clienŃilor acestora, atâta timp cât interfaŃa publică a mesajelor nu este modificată. • Scalabilitate: sistemele client/server pot fi scalate pe orizontală sau verticală. Scalarea orizontală reprezintă influenŃarea strictă a performanŃei la creşterea sau scăderea numărului de clienŃi. Scalarea verticală semnifică migrarea către maşini server rapide sau spre multiservere. • Integritate: datele şi codul server-ului sunt reŃinute centralizat, ceea ce implică o actualizare şi securizare eficientă a datelor partajate. În acelasi timp, clienŃii rămân independenŃi de server. Microsoft Windows NT lansat în 1993 a fost primul sistem de operare Windows care combina suportul pentru aplicaŃii de nivel înalt client/server cu aplicaŃii de interes personal cu productivitate ridicată. In acelaşi timp cu lansarea primei versiuni desktop a lui Windows NT, a fost lansat şi primul sistem de operare pentru server al companiei Microsoft: Windows NT Advanced Server 3.1. Acesta a fost proiectat să acŃioneze ca un server dedicat în mediul client/server oferind putere, scalabilitate, rezistenŃă mare la erori şi interoperabilitate. EvoluŃia sistemelor de operare Windows Server este pe scurt următoarea: . • Windows NT Server 3.5 (1994) - noua versiune a lui Windows NT Server a fost construită păstrând multe din caracteristicile versiunii anterioare, dar include şi noi unelte de administrare, îmbunătăŃind modul de configurare al clienŃilor, capacitatea de conectare la distanŃă şi sistem de repornire. • Windows NT Server 3.51(1995) - acestă variantă, uşor imbunătăŃită, include unelte pentru conectarea cu noul sistem de operare -Windows 95- şi un sistem de monitorizare a licenŃelor de acces pe server. • Windows NT Server 4.0 (1996) - cu aceasta noua apariŃie, Windows NT Server devine un sistem de operare complet funcŃionabil pe 32-biŃi şi imprumută modul de utilizare şi operare foarte populare de la Windows 95. Windows NT 4.0 adaugă de asemenea multe facilităŃi avansate pentru utilizatorii din domeniul economic şi tehnic:  conectivitate şi viteză de lucru în reŃea crescute;  servicii rapide pentru lucru cu fişiere şi periferice;  suport robust pentru aplicaŃii;  server integrat WEB;  set complet de unelte pentru proiectarea şi administrarea de reŃele Intranet. În anul 2000 si-a facut aparitia familia Windows 2000 Server şi a fost disponibilă în următoarele versiuni: • Windows 2000 Server, un sistem multifuncŃional pentru stocarea detelor, server de listare, server de aplicaŃii, server de Internet şi web. • Windows 2000 Advanced Server cu roluri speciale pentru aplicaŃii specifice companiilor mijlocii şi mari. • Windows 2000 Datacenter cu cea mai largă scală de roluri şi aplicaŃii. Familia Windows Server 2003 a fost lansată în aprilie 2003. Este primul sistem de operare de tip server care contine Microsoft.NET si ofera o stabilitate superioara si nivel de securitate îmbunatatit. Acesta a fost lansat în 4 versiuni:  Windows Server 2003 Web Edition  Windows Server 2003 Standard Edition. 10

 Windows Server 2003 Enterprise Edition  Windows Server 2003 Datacenter Edition În anul 2008 a fost lansat Microsoft Windows Server 2008. Acesta este cel mai avansat sistem de operare Windows Server de pâna acum, conceput să stea la baza următoarei generaŃii de reŃele, aplicaŃii şi servicii Web. Microsoft Windows Server 2008 se sprijină pe succesul şi puterea versiunilor precedente oferind în plus noi funcŃionalităŃi de valoare, noi intrumente pentru web, tehnologie avansată de virtualizare, îmbunătăŃiri de securitate şi de administarare simplificată.

1.7 Modele pentru arhitecturi de reŃele Structurarea pe nivele funcŃionale a arhitecturii reŃelelor de calculatoare se poate face după mai multe modele. Cele mai cunoscute sunt modelul de referinŃă ISO-OSI (ISO – OSI RM) şi modelul TCP/IP. Alte modele arhitecturale de reŃele de calculatoare sunt: Novell NetWare, Digital DECnet, Apple Talk, IBM Systems Network Arhitecture. Pentru alte reŃele, în special pentru reŃelele de transport de date se folosesc modele care detaliază doar primele trei/patru nivele, cum ar fi: modelul ATM (Asychronous Transfer Mode), modelul SDH (Synchronous Digital Hierarchy), modelul ISDN (Integrated Service Digital Network), modelul arhitectural al reŃelelor GSM. 1.7.1 Modelul de referinŃă ISO-OSI Modelul de referinŃă ISO-OSI este cel mai general şi a fost gândit pentru interconectarea sistemelor deschise. Sistemele deschise sunt sistemele care pot intercomunica unele cu altele, pot accepta thnologii, protocoale şi standarde diferite şi pot rula aplicaŃii diferite. Modelul ISO- OSI nu reprezintă în sine o arhitectură de reŃea pentru că precizează doar serviciile care trebuie realizate, nu şi protocoalele utilizate pe fiecare nivel. El spune doar ce trebuie să facă fiecare nivel, nu şi cum trebuie să facă. Protocoalele de pe fiecare nivel au fost definite în timp şi publicate ca recomandări sau standarde internaŃionale separate. 1. Nivelul fizic se ocupă cu transmiterea semnalelor numerice care reprezintă datele binare (biŃii) printr-un canal de comunicaŃie. Proiectarea nivelului fizic trebuie să asigure că atunci când se transmite bitul “1” se recepŃionează tot “1”, nu “0”, indiferent de nivelele de tensiune sau de putere folosite, codul de linie, tipul de modulaŃie, dacă se foloseşte sau nu criptarea, indiferent de conectoarele folosite, dacă transmisia este full duplex sau nu etc. Prin urmare, trebuie specificate precis interfeŃele mecanice, electrice, funcŃionale, procedurale, caracteristicile mediului de transmisie. Exemple de standarde pentru protocoale de nivel fizic sunt RS-232, RS-449/422/423, X.21 etc. 2. Nivelul legătură de date are ca scop să asigure că legătura fizică este bună, de încredere. Nivelul LD trebuie să recunoască din fluxul serial de date blocuri de lungime prestabilită şi să le poată prelucra din punct de vedere al controlului erorilor şi al controlului congestiei. Pentru aceasta, la nivel LD se definesc cadrele (frame-uri). 11

Cadrele sunt blocuri de date specifice fiecărui protocol de acest nivel, separate prin delimitatori de început şi de şfârşit de cadru. Echipamentele de reŃea care operează la acest nivel recunosc cadrele din fluxul de date de la nivel fizic, le stocează şi le prelucrează după proceduri specifice. Nivelul legătură de date asigură trei servicii importante nivelului reŃea: a) Principalul serviciu oferit de nivelul legătură de date este acela de detecŃie şi control al erorilor. Prin aceasta, nivelul superior este eliberat de sarcina controlului erorilor, adică lui i se asigură o transmisie virtuală fără erori. Controlul erorilor presupune două lucruri: detecŃia erorilor şi corecŃia lor. Ele se pot realiza prin procedee diferite. b) O altă funcŃie a nivelului LD este controlul fluxului pentru evitarea congestiei. Congestia în reŃea poate să apară atunci când un transmiŃător prea rapid trimite necontrolat date unui receptor lent, care nu mai este capabil să le prelucreze în timpul disponibil. Congestia apărută într-o reŃea are tendinŃa de a se autoîntreŃine. c) În sfârşit, nivelul LD trebuie să mai rezolve şi problema controlului accesului la mediul de comunicaŃie (MAC), ceea ce presupune stabilirea şi respectarea unei discipline atunci când mai mulŃi utilizatori încearcă să folosească simultan un mediu comun de transmisie. Exemple de asemenea protcoale sunt Ethernet, Token ring, LAP-B etc.

Fig. 1.6 Modelul OSI

3. Nivelul reŃea se ocupă în principal de dirijarea mesajelor prin nodurile reŃelei, de la sursă la destinaŃie. El eliberează nivelul transport de grija de a ştii cum şi pe unde se face rutarea mesajelor, cum se stabilesc şi eliberează conexiunile, ce este de făcut dacă se defectează un nod sau o linie de comunicaŃie etc. Sarcina nivelului reŃea este foarte diferită de la o reŃea la alta

12

Echipamentele de nivel reŃea trebuie să cunoască configuraŃia întregii reŃele, să ştie cum se poate ajunge de la un nod de reŃea la altul şi de la o reŃea la alta Printre cele mai cunoscute protocoale de reŃea se pot menŃiona X.25, IP, IPX etc. 4. Nivlul transport are drept scop furnizarea unui mecanism sigur pentru schimbul de date între procesele care rulează pe diferite sisteme. El asigură că mesajele se transmit fără erori, în ordinea firească, în secvenŃă şi la timp, fără pierdri sau duplicări. Altfel spus, el face transmisia cap la cap mai sigură. Nivelul transport se poate ocupa şi de optimizarea serviciilor de reŃea, de asigurarea unui nivel cerut al serviciilor, de a interveni şi a rezolva probleme care depăşesc posibilităŃile nivelurilor inferioare. Dimensiunea şi complexitatea unui protocol de nivel transport depind de nivelul şi calitatea serviciilor care se obŃin la nivelul reŃea. Cele mai cunoscute protocoale de transport sunt TCP şi UDP. Nivelele 1 – 4 sunt direct legate de reŃeaua de transport a datelor. Nivlele 5 – 7 sunt sunt legate mai ales de utilizator, şi mai puŃin de reŃea. 5. Nivelul sesiune este mai puŃin important şi dezvoltat, rolul său fiind, în principal, de a asigura mecanismul de control al dialogului dintre aplicaŃii. El se ocupă de iniŃierea, deschiderea, gestiunea şi închiderea unei sesiuni dintre două entităŃi care vor să comunice. In plus poate asigura şi alte servicii de genul tipului de dialog (full dulpex sau altul), stabilirea unor puncte de verificare şi retransmiterea dacă sesiunea se încheie în mod anormal etc. 6. Nivelul prezentare se ocupă cu sintaxa datelor care se transmit între entităŃile corespondene. Scopul este de a rezolva diferenŃele de format şi reprezentare a datelor. 7. Nivelul aplicaŃie cuprinde toate mecanismele, procesele şi procedurile necesare ca o aplicaŃie de reŃea să poată accesa toate resursele de reŃea necesare desfăşurării ei în condiŃii bune, la un nivel de calitate aşteptat sau negociat. Nivelul aplicaŃie interacŃionează direct cu utilizatoul final pe care îl deserveşte. Protocoalele de nivel aplicaŃie sunt foarte diverse şi ele concretizează aplicaŃiile de reŃea dorite de utilizatori: FTP pentru transferul de fişiere, SMTP pentru poşta electronică, telnet pentru conectare la un calculator aflat la distanŃă, HTTP pentru transfer de hipertext, DNS pentru numele de domenii pe Internet etc.

1.7.2 Modelul arhitectural TCP/IP Modelul TCP/IP simplifică modelul ISO-OSI având doar 4 nivele ( primele două sunt contopite, iar nivelele sesiune şi prezentare lipsesc). Modelul este dezvoltat în jurul a două protocoale fundamentale, unul la nivel reŃea, IP şi altul la nivel transport, TCP. Nivelul gazdă-reŃea cuprinde nivelele fizic şi legătură de date din modelul OSI şi reprezintă o particularitate a modelului TCP/IP deoarece acesta nu spune mare lucru despre ce se află sub nivelul reŃea. Se precizează doar că gazda trebuie să se conecteze la reŃea folosind un protocol anume. Nivelul reŃea (internet) care se ocupă cu dirijarea pachetelor din nod în nod este nivelul fundamental pentru întreaga arhitectură. Rolul său este de a permite gazdelor ă emită pachete în orice reŃea şi de a face ca acestea să circule independent de la sursă până la destinaŃie. Ordinea sosirii pachetelor nu interesează la acest nivel, deoarece rearanjarea lor se va face la nivelele superioare. 13

Nivelul internet defineşte oficial un format de pachet şi un protocol numit IP (Internet Protocol), cu rolul fundamantal de a livra pachetele IP spre destinaŃie. Nivelul transport, situat deasupra nivelului internet, este proiectat astfel încât să permită conversaŃii între entiăŃile pereche sursă – destinaŃie. Au fost definite în acest scop două protocoale cap la cap: TCP (Transmission Control Protocol) şi UDP (User Datagram Protocol). TCP este un protocol sigur, orientata pe conexiune, care permite ca un flux de octeŃi trimişi de o maşină sursă să ajungă fără erori la orice maşină destinaŃie din reŃea (sau interreŃea) numai pe baza adresei. Pentru aceasta, protocolul fragmentează fluxul de octeŃi în blocuri de date şi le plasează nivelului inferior, internet. La destinaŃie procesul TCP receptor reasamblează mesajul din blocurile componente pe care le aşează în ordinea lor normală. TCP asigură şi controlul fluxului pentru a nu sufoca receptorul cu date mai mult decât poate prelucra. UDP este un protocol mai puŃin sigur, fără conexiuni, destinat aplicaŃiilor care fac singure reasamblarea şi secvenŃierea. El este folosit în acele cazuri în care comunicările sunt scurte, gen întrebare şi răspuns, unde este mai importantă rapiditatea comunicării decât acurateŃea şi care se poate repeta imediat dacă nu este corespunzătoare. Nivelul aplicaŃie se află imediat deasupra nivelului transport şi conŃine toate protocoalele de nivel înalt (aplicaŃie): Telnet, FTP, HTTP etc. Telnet Protocoale

FTP

TCP

SMTP

DNS

UDP

Starnet

Transport Internet (ReŃea)

IP ReŃele

AplicaŃie

LAN ARPANET Radio cu pachete

Gazdă-reŃea (LD şi fizic)

Fig. 1.7 Protocoale şi reŃele din modelul TCP/IP

1.7.3 Modelul ATM ReŃeaua ATM (Asynchronous Transfer Mode) are propriul său model de referinŃă, diferit şi de modelul OSI şi de modelul TCP/IP. El are trei nivele de bază: nivelul fizic, nivelul ATM şi nivelul de adaptare ATM (AAL – ATM Adaptation Layer), peste care se pot suprapune alte nivele superioare, de la nivel reŃea în sus. Nivelele ierarhice ATM conŃin subnivele. ReŃelele ATM sunt, în general, reŃele de transport de mare viteză, care se bazează pe pachete mici, de lungime constantă (53 octeŃi), funcŃionând în modul orientat pe conexiune, destinate aplicaŃiilor de transfer de date cu trafic neuniform. Prin acest mod de transfer se caută soluŃia optimă a adaptării traficului de date cu diferite caracteristici la reŃele de comunicaŃii existente. El este legat de conceptul de reŃele cu sevicii integrate de bandă largă (B-ISDN). 14

Nivelul fizic se ocupă de mediul fizic: nivele de semnal, coduri de linie, adaptarea la mediul de transmisie (fibră optică, radioreleu sau cablu coaxial), sau de împachetarea celulelor în alte formate de transmisie (SONET/SDH). El are două subnivele: convergenŃa transmisiei (TC) şi subnivelul dependent de mediul de transmisie (PMD) care trebuie să asigure independenŃa transmisiei de mediul fizic. Nivelul ATM se ocupă de celule şi transportul lor. Defineşte structura celulelor, tipurile de celule, semnificaŃia câmpurilor, stabilirea şi eliberarea circuitelor virtuale şi a căilor virtuale, controlul congestiei. Nivelul AAL se ocupă în principal de spargerea mesajelor în blocuri de regulă de 48 de octeŃi din care se vor forma celulele prin adăugarea antetului de 5 octeŃi la nivelul ATM, de reasamblarea mesajelor din celule. Plan de management Plan de management Plane de control Nivele superioare CS SAR

Plan utilizator Nivele superioare

Nivel de adaptare ATM (AAL) ((AAL)

CS-Convergence Sublayer SAR- Segmentation and Reassemble Sublayer TC- Transmission Convergence PMD- Physical Medium Dependent

Nivel ATM TC

Nivel fizic

PMD

Fig. 1.8 Modelul de referinŃă B-ISDN ATM El are două subnivele: subnivelul de convergenŃă (CS) şi subnivelul de segmentare şi reasamblare (SAR). Subnivelul CS face posibilă folosirea ATM pentru diverse servicii şi aplicaŃii: voce, transfer de fişiere, imagini fixe, video conferinŃă, video la cerere etc, servicii care necesită transfer în timp real sau pot accepta întârzieri variabile.

1.8 Aspecte generale privind protocoalele 1.8.1 Caracteristicile protocoalelor Pentru ca două entităŃi (calculatoare) conectate într-o reŃea să poată comunica între ele şi să poată face schimbe de date, ele trebuie să “vorbească” aceeaşi limbă, să respecte un set de reguli acceptate şi recunoscute de fiecare. 15

Setul de reguli sau de convenŃii care guvernează schimbul de date dintre două entităŃi se numeşte generic protocol. După caracteristicile lor, protocoalele pot fi: 1. directe sau indirecte, în funcŃie de specificul comunicaŃiei dintre entităŃi. Dacă sistemele folosesc o legătură punct la punct, entităŃile comunică direct, fără intervenŃia unui agent activ. Dacă sistemele sunt conectate printr-o reŃea de comunicaŃii, atunci trebuie luate în consideraŃie şi aspectele legate de transferul informaŃiei prin reŃea. 2. structurate sau nestructurate, în funcŃie de faptul că au sau nu sub ele alte protocoale de comunicaŃie. De exemplu un protocol de nivel reŃea (IP) are sub el protocoale de nivel legătură de date (de exemplu protocolul HDLC), iar mai jos protocoale de nivel fizic. 3. simetrice sau asimetrice, după cum comunicaŃia se face între entităŃi egale sau de tipul client – server. 4. standardizate sau nestandardizate. Cele standardizate sunt folosite de mai multe aplicaŃii sau calculatoare, celelalte fiind valabile doar în cazuri speciale. 1.8.2

FuncŃii realizate de potocoale

Orce protocol trebuie să realizeze un set de funcŃii necesare la diferite nivele. 1. Segmentarea şi reasamblarea La nivelul aplicaŃie protocolul trebuie să asigure transfeul unui bloc mare de date, un mesaj. Din motive bine definite, acest bloc este segmentat în unităŃi mai mici numite unităŃi de date protocol (PDU). Motivele segmentării sunt diverse: – reŃeaua de comunicaŃii lucrează mai eficient cu blocuri de date mai scurte – tratarea erorilor este mai uşoară – acces mai facil la canalul partajat – întârziere mai mică de prelucrare în noduri – memorii tampon mai mici Există şi dezavantaje ale segmentării: - fiecare PDU necesită informaŃie de control, deci redundanŃă mare la transmisie - inundarea reŃelei cu pachete multe şi scurte 2. Incapsularea (împachetarea) Fiecare PDU de pe un nivel ierarhic trimis mai jos are ataşat un antet (header) iar în cazul nivelului legătură de date şi o coadă (trail) care conŃin informaŃii de control şi coordonare a transmisiei: - adrese sursă şi destinaŃie - informaŃie de secvenŃiere (număr de ordine) - coduri pentru detecŃia /corecŃia erorilor - controlul protocolului (informaŃie suplimentară pentru realizarea funcŃiilor protocolului) Antetele reprezintă şi suportul pentru transmiterea unor informaŃii de administrare a reŃelei. 3. Controlul conexiunii care depinde de modul de transfer al datelor, orientat pe conexiune sau neorientat pe conexiune. Modul orientat pe conexiune este preferat în cazul transmisiilor lungi între utilizatori stabili. El are trei faze: stabilirea conexiunii, transferul datelor şi desfacerea conexiunii. 4. Controlul fluxului este necesar pentru a limita debitul datelor transmise de emiŃător în cazul în care se depăşesc posibilităŃile de preluare a lor la recepŃie. 16

5. Controlul erorilor asigură protecŃia împotriva pierderii sau distrugerii informaŃiei de date sau de control. Majoritatea tehnicilor persupun detecŃia erorilor apărute prin propagare în mediul fizic urmate de proceduri de corectare sau retransmisie. În unele cazuri retransmisia poate fi activată de un contor de timp. Procedura cea mai simplă de detecŃie a erorilor este tehnica bitului de paritate. Există şi tehnici mai sofisticate care pot detecta un anumit număr de biŃi eronaŃi dintr-un cuvânt şi pot face chiar şi corectarea automată a lor dacă se folosec coduri detectoare şi corectoare de erori. 6. Sincronizarea are multe aspecte şi este o problemă foarte importantă în transmisiile de date. Ea poate fi privită la nivel de bit, de cadru sau de echipament. Primele două sunt specifice reŃelelor de comunicaŃii. A treia este mai generală şi se referă la faptul că două entităŃi aflate în legătură la acelaşi nivel trebuie să fie în orice moment “conştiente” de starea celelalte. Procedurile de sincronizare evită situaŃiile conflituale în care, de exemplu, un transmiŃător emite, date dar receptorul nu este pregătit să le primească. 7. SecvenŃierea este aceea funcŃie a protocolului care identifică ordinea în care PDU-urile informaŃionale au fost trimise prin reŃea pentru a le rearanja în acceaşi ordine la recepŃie. ImformaŃia de secvenŃiere se înscrie într-n câmp special din antetul PDU-ului. 8. Adresarea este necesară pentru stabilirea legăturii sursă-destinaŃie atât în modul orientat pe conexiune cât şi în cel neorientat. În primul caz adresa permite stabilirea circuitului sau căii virtuale în faza stabilirii conexiunii, înainte de începerea transmisiei. În al doilea caz adresa este foosită pentru dirijarea pas cu pas a pachetelor prin nodurile reŃelei. 9. Multiplexarea este o altă operaŃie necesară la realizarea conexiunilor dintre entităŃi. De exemplu, mai multe conexiuni de nivel aplicaŃie (FTP, e-mil, descărcare de fişiere etc.) pot fi realizate pe acceaşi conexiune de reŃea, adică pe acelaşi calculator. În acest caz multiplxarea se face pe bază de adrese de reŃea şi porturi. Multiplexarea se poate face şi la nivel fizic prin maparea (aranjarea) biŃilor în fluxuri sau cadre (PDH, STM etc.). Evident că este necesară şi operaŃia inversă, demultiplexarea. 10. Serviciile de transmisie sunt de multe ori necesate a fi implementate în cadrul protocoalelor de comunicaŃii. Asemenea servicii pot fi: prioritatea care trebuie să rezolve ordinea de transmisie atunci când apar mesaj concurente la emisie calitatea serviciului se referă la acurateŃea datelor, timpi de întârziere, rate de transfer minime acceptate etc. securitatea poate fi cerută prin imlementaea unor mecanisme de tipul restricŃionare acces, criptare, autentificare corespondent etc. taxarea (contabilitatea) legăturii este specifică reŃelelor publice şi permite urmărirea cu precizie a timpului şi gradului de folosire a reŃelei de către abonaŃi Pentru buna funcŃionare a protocoalelor pe diferite nivele, entităŃile corespondente trebuie să prelucreze date specifice şi să facă schimb de informaŃii legate de protocol. Aceste informaŃii se transmit în reŃea în două moduri principale: 1. prin pachete speciale de date protocol 2. prin intermediul antetelor ataşate pachetelor de date informaŃionale.

17

Fig 1.9 Împachetarea succesivă a datelor în structura arhitectural

1.9 Standardizarea în domeniul reŃelelor Necesitatea standardizării în domeniul reŃelelor de calculatoare rezultă din următoarele considerente: - existenŃa a numeroşi producători şi furnizori de echipamente, reŃele, servicii care pot genera haos, incompatibilităŃi şi lipsă de interoperabilitate; - permite dezvoltarea unei producŃii de masă, cu preŃuri mici, beneficii mari ; - reduce costurile de cercetare; - permite unificarea pieŃei, interschimbabilitate, interoperbilitate. AutorităŃile de standardizare internaŃionale pot fi împărŃite în două clase: a. stabilite prin tratate internaŃionale interguvernamentale (de exemplu ITU) ; b. organizaŃii (grupuri de lucru) voluntare, neguvernamentale. Câteva orgaizaŃii de standardizare în domeniul reŃelelor de comunicaŃii şi calculatoare sunt: International Standard Organisation (ISO) este o organizaŃie nonguvernamentală, fondată în 1946. Membrii ei sunt OrganizaŃiile de standardizare din cele 89 de state membre. ISO produce standarde în cele mai variate domenii, inclusiv în domeniul telecomunicaŃiilor şi reŃelelor. Are aproximativ 200 de comitete tehnice (TC) împărŃite în subcomitete (SC) şi în grupuri de lucru (WG). TC 97 se ocupă de calculatoare şi prelucrarea infomaŃiei. 18

American National Standard Institute (ANSI) este reprzentantul SUA în ISO. Multe standarde elaborate de ANSI au fost preluate de ISO ca urmare a înaltului nivel tehnic şi tehnologic al SUA. Institute of Electrical and Electronics Engineers (IEEE) este un actor foarte important în lumea standardizării. IEEE este în fapt cea mai mare organizaŃie profesională din lume. Comitetul IEEE 802 a dezvoltat multe standarde în domeniul reŃelelor de calculatoare. International Telecommunication Union (ITU) este o organizaŃie interguvernamentală internaŃională creată în Europa cu scopul standardizării telecomunicaŃiilor internaŃionale. Începuturile ei datează pe la 1865, iar în 1947 a devenit agenŃie a NaŃiunilor Unite. Are trei ramuri: ITU-R sectorul de radiocomunicaŃii ITU-T – sectorul de standardizare în teecomunicaŃii (denumit până în 1986 Comitetul Consultativ InternaŃional de Telefonie şi Telegrafie – CCITT) ITU – D sectorul de dezvoltare. ITU -T are aproxmativ 200 de membrii guvernamentali (organizaŃiile naŃionale de telecomunicaŃii) şi peste 500 membrii sectoriali de genul: -companii de telefonie (AT&T, Vodafone, WorldCom etc.) -producători de echipamente de telecomunicaŃii Cisco, Nokia, Nortel etc. -producători de chipuri (Intel, Motorola, Sun ...) -companii media CBS, Sony, Time Warner etc.). În domeniul Internetului există Internet Architecture Board (Consiliul Arhitecturii Internet) care se ocupă de standardizare producând Request for Comments (RFC). Din 1989 IAB a fost reorganizat şi redenumit Internet Request Task Force (IRTF) – Departamentul de Inginerie Internet.

Concluzii ReŃelele de comunicaŃii şi calculatoare stau la baza sistemelor informatice (reprezintă infrastructura acesora) având o foarte mare răspândire şi utilizare în cele mai diverse domenii ale activităŃii umane. O reŃea de calculatoare cuprinde deopotrivă o infrastructură hard şi o componentă soft, ambele de o mare diversitate şi care trebuie să poată opera în comun. ReŃelele sunt interconectate la diferite niveluri şi arii, inclusiv la nivel planetar. În acest scop, standarizarea are un rol deosebit de important în construcŃia şi funcŃionarea reŃelelor, cu atât mai mult cu cât există o mare diversitate de proiectanŃi de reŃele, furnizori de echipamente, softuri şi servicii de reŃea, de cerinŃe şi nevoi ale utilizatorilor. Abordarea structurii reŃelelor pe baza unor modele arhitecturale stratificate permite analiza şi proiectarea acestora pornind de la unele principii generale, indiferent de elementele concrete de infrastructură, sisteme de operare şi aplicaŃii. Cele mai cunoscute modele arhitecturale sunt modelul ISO - OSI (un model teoretic, conceptual) şi modelul TCP/IP (un model arhitectural concret).

Întrebări de control 1. Care sunt cele mai cunoscute modele arhitecturale de reŃele de calculatoare şi descrieŃi asemănările şi deosebirile lor? 2. Ce sunt arhitectura şi topologia unei reŃele? Exemple. 19

3. Ce sunt protocoalele de comunicaŃii şi ce rol au în funcŃionarea unei reŃele? 4. In ce constă activitatea de standardizare în domeniul reŃelelor de calculatoare Exemple de organizaŃii şi standarde. 5. Modelul ISO-OSI: descriere, rolul nivelelor, comparaŃii cu alt modele arhitecturale. 6. Care sunt caracteristicile, topologia şi aplicaŃiile unui LAN? 7. Care sunt caracteristicile, topologia şi aplicaŃiile unui MAN? 8. DescrieŃi caracteristicile, topologia şi aplicaŃiile unui WAN? 9. Ce este o reŃea virtuală privată (VPN)? 10. Care sunt elementele costitutive ale unei reŃele de calculatoare şi rolul lor în funcŃionarea acesteia? 11. Care sunt avantajele organizării protocoalelor pe niveluri? 12. Care este diferenŃa principală dintre comunicaŃia orientată pe conexiuni şi cea neorientată pe conexiuni? 13. Două reŃele furnizează fiecare servicii orientate pe conexiuni sigure. Una oferă un flux sigur de octeŃi, iar cealaltă un flux sigur de mesaje. Sunt acestea identice? Dacă da, de ce se face această distincŃie? Dacă nu, exemplificaŃi diferenŃa. 14. Care dintre nivelurile OSI se ocupă de: a) descompunerea fluxului de biŃi transmişi în cadre? b) determinarea traseului folosit în reŃea? 15. Dacă la nivel reŃea se transmit pachete iar la nivel LD se transmit cadre, atunci se spune că pachetele încapsulează cadre sau invers? 16. De ce foloseşte ATM celule de lungime mică (53 octeŃi) 17. Ethernetul transmite pe cablu, la un moment dat, un singur pachet. Au şi reŃelele fără fir această caracteristică? 18. ComparaŃi avantajele şi dezavantajele reŃelelor cablate faŃă de cele fără fir. 19. Ce sunt şi ce rol au furnizorii de servicii de Internet (ISP) şi furnizorii de servicii de transport (IBP)?

Teme de casă 1. DescrieŃi principalele activităŃi pe care le desfăşoară două organisme de standardizare, de exemplu ITU şi OSI. FolosiŃi pentru documentare site-urile lor, www.itu.org şi respectiv www.iso.org. 2. FaceŃi o scurtă prezentare a Internet-ului folosind informaŃii de pe diverse site-uri. 3. DescrieŃi tipurile de reŃele şi arhitectura acestora folosite la locul d.voastră de muncă sau la universitate. 4. DescrieŃi modelul de reŃea client – server şi daŃi exemple concrete. 5. DescrieŃi modelul de reŃea peer-to-peer şi daŃi exemple concrete. 6. DescrieŃi modelul arhirtectural ISO-OSI şi rolul fiecărui nivel 7. DescrieŃi modelul arhirtectural TCP/IP şi rolul fiecărui nivel 8. DescrieŃi alte modele arhitecturale de reŃea (SONET, SDH, ATM, etc.) 9. DetaliaŃi rolul sistemelor de operare de reŃea. DaŃi exemple de astfel de produse 10. DescrieŃi elementele componente ale unei reŃele de calculatoare, rolul lor şi daŃi exemple concrete de astfel de componente

Probleme rezolvate 20

1. Un cadru de nivel legătură de date are un antet de 24 octeŃi, un câmp de date utile 100 octeŃi şi o coadă de un octet. Cadrele se transmit cu o rată de 2000 cadre pe secundă. Care este rata biŃilor în linie? R. Lungimea totală a cadrului este : L = (100 + 24 + 1) × 8 = 1000 biŃi Rata biŃilor în linie este : R = 1000 × 2000 = 2 Mbps 2. Dacă şirul de date din problema 1 se transmite prin unde electromagnetice cu propagare în atmosferă, care este lungimea în spaŃiu a unui bit, ştiind că viteza de propagare a câmpului electromagnetic în aer este c=299 792 m/s?

R.

l = c ×T =

c 299792 = = 0,149896 m = 14,9896cm R 2 × 10 6

3. O celulă ATM are un antet de 5 octeŃi şi un spaŃiu pentru informaŃie utilizator de 48 de octeŃi. Care sunt eficienŃa utilizării canalului de comunicaŃie din punct de vedere al utilizatorului şi redundanŃa transmisiei? Depinde această eficienŃă de mediul fizic prin care are loc transmisia?

R.

η=

48 = 0.905 , 1 − η = 0.095 ; eficienŃa transmisiei nu depinde de mediul de 53

transmisie 4.

Probleme propuse 1. CalculaŃi lungimea unui bit dintr-un cadru FastEthenet (100Mbps) care se transmite pe un cablu UTP cat. 5, dacă viteza de transmisie este 0.66 din viteza luminii în vid. 2. O imagine necomprimată are 1024x768 pixeli şi fiecare pixel este codat pe 3 octeŃi. Cât durează transmiterea ei pe canale cu modemuri de 56 kbps, de 1Mbps sau pe Ethernet de 10Mbps? Are importanŃă că Ethernet-ul foloseşte împachetarea succesivă (pachete, cadre)? 3. Care este lungimea unui bit în standardul 802.3 dacă rata de transmisie este 10 Mbps iar viteza de transmitere pe cablu coaxial este 0.66 din viteza luminii? 4. Un sistem are o ierarhie organizată pe 4 nivele. Dacă nivelul aplicaŃie generează mesaje de lungime 1024 octeŃi iar fiecare nivel adaugă câte un antet de 10 octeŃi, ce fracŃiune din lărgimea benzii este disponibilă efectiv aplicaŃiei?

21

Tema 2. NIVELUL FIZIC Tema are ca scop prezentarea detaliată a rolului nivelulu fizic şi descrierea unor standarde şi protocoale de nivel fizic utilizate în diverse reŃele de comunicaŃii şi calculatoare, în special cele folosite în Internet. După parcurgerea şi însuşirea acestei teme, studentul va cunoaşte: • Care sunt rolul şi importanŃa nivelului fizic într-o reŃea de comunicaŃii şi calculatoare • Ce este un canal de comunicaŃie şi care sunt parametrii săi mai importanŃi din punct de vedere al transmiterii fizice a datelor • Cum se utilizează semnalelor electrice modulate pentru transmiterea informaŃiei • Care sunt principalele medii fizice şi ce caracteristici au • Protocoalele de nivel fizic din Internet şi în unele reŃele locale (Ethernet, FDDI, DQDB) • Protocoale de nivel fizic în reŃele fără fir • Standarede de nivel fizic folosite în reŃeaua telefonică StudenŃii vor întocmi o temă de casă care constă descrierea detaliată a unui standard de nivel fizic utilizat curent în reŃelele de comunicaŃii. Timpul minim pe care trebuie să-l acordaŃ istudierii acestui modul este de 8 ore.

Nivelul fizic se ocupă de transmiterea datelor pe canalele (mediile) fizice specificând cerinŃe privind emisia şi recepŃia semnalelor informaŃionale, tipuri şi nivele de semnale, tipuri de modulaŃie, coduri de linie, dispozitive de conectare (conectoare, mufe), caracteristici ale mediului de comunicaŃie, modul de acces la mediu. Nivelul fizic se bazează aproape exclusiv pe echipamente hard şi conŃine o serie de standarde referitoare la aceste echipamente şi la tehnicile de transmitere-recepŃie a datelor şi informaŃiilor. Echipamentele aferente nivelului fizic sunt: - plăcile de reŃea, NIC- network inteface card - HUB-urile pasive - HUB-urile simple active, - terminaŃiile de reŃea, modemurile - dispozitivele de cuplare - cablurile şi conectoarele - repetoarele - multiplexoarele - transmiŃătoarele şi receptoarele de semnale electrice modulate (transceiverele).

2.1 Transmiterea informaŃiei Transmiterea informaŃiei la nivel fizic se face prin semnale electromagnetice (electrice, radio, microunde, optice). Semnalele pot fi analogice sau numerice, în banda de bază sau modulate (analogic sau numeric). Pentru a putea fi trimisă şi recepŃionată la distanŃă, informaŃia necesită un suport energetic (energia electrică, electromagnetică, acustică, mecanică etc.). 21

Transpunerea datelor primare pe o purtătoare electromagnetică poartă numele de modulare a semnalului. InformaŃia se poate transmite în două forme: prin semnale analogice sau prin semnale digitale. Celor două tipuri de semnale le corespund două tipuri de transmisii: - prin semnale analogice (are o variaŃie continuă în timp şi nivel) - prin semnale digitale (numerice); are variaŃie discretă în timp şi nivel.

Fig. 2.1. Forme de semnale analogic şi digital a) Semnale digitale Deoarece toate calculatoarele sunt digitale, marea majoritate a reŃelelor de calculatoare utilizeză datele digitale pentru transferul informaŃiilor, existând mai multe metode de codificare a datelor într-un semnal. Aceste metode se numesc scheme de codificare şi pot fi grupate în două mari categorii: - codificare pe baza stării curente (pe baza atingerii unui nivel de tensiune) - codificare pe baza tranziŃiei între stări (pe baza unei tranziŃii de la un nivel de tensiune la altul). La codificarea pe baza stării curente, datele sunt codificate pe baza prezenŃei sau absenŃei unui anumit semnal sau a unei stări (de ex. +5V reprezintă 0 binar, iar – 5V valoarea 1 binar). Semnalul este continuu monitorizat de echipamentele de reŃea, care îi determină starea curentă ce indică valorile datelor codificate corespunzător acestei stări. Schemele care utilizează codificarea pe baza stării curente sunt: - scheme de codificare unipolară – utilizeză două niveluri de tensiune pentru codificarea datelor, dintre care unul zero şi celălalt pozitiv sau negativ - scheme de codificare bipolară – utilizează două nivele de tensiune, unul pozitiv şi celălalt negativ. - scheme de codificare RZ (return to zero), utilizează tranziŃia semnalului la zero la mijlocul fiecărui interval de bit (tranziŃie pozitivă poate reprezenta 0, iar negativă 1) Codificarea pe baza tranziŃiei între stări utilizează tranziŃiile de semnal pentru reprezentarea datelor. De exemplu o tranziŃie de la o tensiune mare la una mică poate reprezenta bitul 1, iar o tranziŃie de la nivel mic la un nivel mare poate reprezenta bitul 0. Schemele ce utilizează acest tip de codificare sunt: - codificarea Manchester – o tranziŃie de la o tensiune mare la una mică reprezintă valoarea 1, iar de la o tensiune mică la una mare valoarea 0; - codificarea Manchester diferenŃială – utilizează tranziŃia la mijlocul intervalului de bit, şi Ńine seama şi de tranziŃiile anterioare.

b) Semnalul analogic 22

Este constituit din unde electromagnetice, o undă fiind caracterizată prin modificarea permanentă a formei. Câmpul electromagnetic are o variaŃie periodică în timp şi spaŃiu, după o funcŃie armonică: E ( z , t ) = E 0 sin(ωt − kz + ϕ 0 )

(2.1) 2π este unde E 0 este amplitudinea componentei electrice a câmpului electromagnetic, ω = T 2π este constanta de propagare în spaŃiu, λ frecvenŃa unghiulară, T este perioada semnalului, k =

λ

este lungimea de undă asociată undei electromagnetice iar ϕ0 este faza iniŃială a undei.

Caracteristicile unui semnal analogic sunt: - amplitudinea, care măsoară înălŃimea semnalului, exprimată în volŃi - frecvenŃa, inversul intervalului de timp în care o undă face un ciclu complet, exprimată în herŃi - faza iniŃială, starea relativă a undei la momentul iniŃial în raport cu o undă de referinŃă, exprimată în radiani. - lungimea de undă, reprezintă distanŃa de propagare în spaŃiu a undei pe durata unui ciclu, exprimată în metri. Mărimea Φ = ωt − kz reprezintă faza undei si caracterizează variaŃia periodică în timp şi spaŃiu a acesteia. Toate aceste caracteristici pot fi utilizate pentru codificarea datelor transmise prin semnale analogice, pentru aceasta existând trei tehnici principale de modulare: - modularea de amplitudine (ASK – Amplitude Shift Keying), valoarea maximă a amplitudinii reprezintă valoarea 1, iar cea minimă 0 - modularea frecvenŃei (FSK – Frequency Shift Keying), o frecvenŃă reprezintă bitul 1 şi alta reprezintă bitul 0 - modularea fazei (PSK – Phase Shift Keying), când o fază iniŃială reprezintă bitul 1 şi altă valoare reprezintă bitul 0.

c) Transmisii în banda de bază şi pe purtătoare Un semnal informaŃional produs de o sursă de informaŃie are un anumit spectru de frecvenŃe, numit spectru de bază sau banda de bază a acestuia. Un asemenea semnal poate fi transmis ca atare pe canalul de comunicaŃie (transmisie în banda de bază) sau poate fi transpus pe o purtătoare din alt domeniu de frecvenŃă (radio, microunde, optic). În acest caz are loc o translatare a spectrului semnalului informaŃional în altă bandă şi se vorbeşte de transmisie pe purtătoare. Translatarea pe purtătoare măreşte spectrul ocupat de semnalul informaŃional faŃă de banda de bază. De exemplu, în cazul translatării prin modulaŃie de amplitudine, spectrul purtătoarei modulate este cel puŃin dublul spectrului informaŃional din banda de bază. Canalul de transmisie deschis într-un mediul fizic trebuie să asigure o bandă de frecvenŃe cel puŃin egală cu spectrul semnalului informaŃional, fie că este în banda de bază, fie că este translatat pe o purtătoare.

2.2. Canalul de transmisie 23

2.2.1 Canalul de transmisie şi caracteristicile sale Canalul de transmisie reprezintă suportul creat într-un mediu fizic prin care are loc propagarea semnalelor informaŃionale. Acest mediu poate fi sub formă de ghid de undă (cabluri, fibre optice) sau mediu deschis, neghidat (incintele unor clădiri, spaŃiu atmosferic, spaŃiu extraatmosferic etc.). Un canal de transmisie este caracterizat de următorii parametrii mai importanŃi: Banda de frecvenŃă (banda de trecere), ∆f, care reprezintă spectrul de frecvenŃă în care 1. nivelul semnalului nu scade sub o anumită valoare (de regulă 3dB din valoarea maximă). În unele cazuri banda se poate defini şi în funcŃie de alŃi parametrii (distorsiuni, eficienŃa modulaŃiei etc.). Zgomotul propriu reprezentând puterea electrică a tuturor perturbaŃiilor existente în 2. canal. Ele se manifestă ca nişte semnale aleatoare perturbatoare, care afectează calitatea semnalelor informaŃionale. Semnalele utile, purtătoare de informaŃie trebuie să aibă o putere mult mai mare decât zgomotele, adică să se asigure un raport semnal – zgomot (RSZ) suficient de mare. Altfel, informaŃia utilă conŃinută de semnal este acopertită de zgomot şi nu poate fi extrasă la recepŃie. În multe sisteme de comunicaŃii analogice sau numerice se cere un RSZ>20 dB. Deoarece semnalele utile se atenuează prin propagare de-a lungul canalului iar zgomotele se acumulează, periodic este necesară refacerea (amplificarea) semnalului informaŃional şi eventual reducerea nivelului zgomotelor. Viteza maximă de transfer a datelor cu N nivele discrete de tensiune (amplitudine), pe 3. un canal cu banda de trecere ∆f, este dată de relaŃia lui Nyquist: Vmax = 2∆f log 2 N

4.

(2.2)

Capacitatea de transmisie a unui canal de comunicaŃii depinde de banda de trecere şi de raportul semnal – zgomot şi este dată de ecuaŃia lui Shannon:

C = ∆f log 2 (1 + RSZ ) [bps] 5. 6.

7.

(2.3)

Întârzierea de propagare este dată de viteza finită de propagare a câmpului electromagnetic prin canalul de comunicaŃie Dispersia în timp a componentelor spectrale este dată de vitezele diferite de propagare ale acestor componente care vor ajunge la recepŃie cu întârzieri variabile. Acest efect produce distorsiunile fază – frevenŃă care determină alterarea informaŃiei utile înglobată în semnale. Atenuarea semnalelor care determină scăderea puterii semnalului la recepŃie şi micşorarea raportului semnal – zgomot. Atenuarea semnalului este produsă de fenomene de absorbŃie, difuzie, dispersie etc. existente în orice canal de comunicaŃie.

2.2.2 Medii de transmisie 24

Cabluri de transmisie Cablul bifilar torsadat este cel mai simplu, ieftin şi răspândit mediu de propagare, dar şi cu performanŃele cele mai modeste. Sunt mai multe categorii de cabluri bifilare: categoriile 3, 5, 6, 7 etc. Sunt constituite din perechi de fire de cupru izolate şi răsucite (torsadate), grupate, de regulă, în cabluri multifilare. Răsucirea determină reducerea influenŃelor reciproce dintre perechile de fire aflate în acelaşi cablu (diafonia) şi măreşte banda de trecere a canalului bifilar. Cu cât pasul de răsucire este mai mic, cu atât performanŃele cablului sunt mai bune. Banda de trecere a cablului bifilar dedinde de lungimea sa şi este uzual de zeci, sute kHz, putând ajunge la MHz pe distanŃe scurte. Atenuarea acestor cabluri creşte semnificativ cu frecvenŃa. Un cablu bifilar larg folosit în LAN-uri este cel torsadat neecranat, cu 8 perechi de fire, cunoscut su denumirea UTP (Unshilted Twisted Pair). Cablul coaxial este un ghid de undă format dintr-un conductor central şi un înveliş metalic separate printr-un dielectric. Câmpul electromagnetic se propagă ghidat prin dielectricul dintre cele două conductoare. RadiaŃia externă a câmpului este foarte redusă şi, ca urmare, atenuarea şi influenŃele cu alte cabluri din apropiere sunt foarte mici. Cablurile coaxiale sunt de mai multe feluri, cu proprietăŃi şi aplicaŃii diverse. Se pot menŃiona: - cablurile uşoare cu diametru mic, bandă mare (sute MHz), impedanŃă caracteristică 50 sau 75 Ω; - cablurile grele cu diametru mare, bandă foarte mare (GHz), impedanŃă caracteristică 50. Cablurile coaxiale sunt folosite pentru transmisii de date de mare viteză şi pe distanŃe mari, zeci de km. Totuşi este de menŃionat că la frecvenŃe (viteze de transmitere) foarte mari, atenuarea acestor cabluri este semnificativă şi impune folosirea regeneratoarelor (amplificatoarelor) de semnal la intervale de câŃiva km. Fibrele optice sunt ghiduri electromagnetice în gama optică care se bazează pe fenomenele de reflexie internă şi refracŃie optică pentru a transmite la distanŃe foarte mari semnale optice modulate. Spectrul optic utilizat în prezent pentru comunicaŃii optice este situat în zona lungimilor de undă de 1300 şi 1550 nm (sute THz), unde banda de trecere a fibrei optice este enormă, zeci de THz. Fibrele optice sunt construite din sticlă de siliciu de înaltă puritate, au diametrul foarte mic, cca. 200 micrometri, greutate foarte redusă şi parametrii de transmisie exelenŃi, neatinşi de nici un alt mediu de transmisie. Atenuarea foarte redusă, de ordinul sub 1 dB/km, banda de trecere foarte largă şi zgomotele propri neglijabile, fac din fibrele optice canale de comunicaŃii ideale. Tehnologia de producere a fibrelor optice, a surselor de radiaŃie optică (diode laser sau LED-uri), a fotodetectoarelor şi a echipamentelor de comunicaŃii optice este bine elaborată şi competitivă ca preŃ. În prezent sunt în stadiul de elaborare reŃele optice cu multiplexare în lungime de undă, WDM (wavelength division multiplxing) care permit ca pe una şi acceaşi fibră să poată fi transmise simultan mai multe lungimi de undă, fiecare reprezentând un canal independent de comunicaŃie. CombinaŃia dintre domeniile optic şi electric ca medii de transmitere şi prelucare a informaŃiei, realizarea reŃelelor hibride multistrat au creat un câmp vast de experimentare şi extindere a nevoilor de transmitere în continuă creştere a informaŃiilor. Medii de transmisie neghidate ComunicaŃiile neghidate folosesc propagarea semnalelor electromagnetice în spaŃiul liber (neghidat). Spectrul electromagnetic folosit în comunicaŃii neghidate este foarte larg, de la cca. 104 Hz până la 1016 Hz. El este împărŃit în trei mari domenii (radio, microunde şi optic). Primele două 25

sunt subîmpărŃite în domenii de frecvenŃă: LF, MF, HF, VHF, UHF, SHF, EHF, THF, iar ultimul în trei ferestre spectrale: 800nm, 1300nm şi 1550nm. Un canal radio sau pe microunde (satelit, radioreleu) are o fercvenŃă centrală, f0, (purtătoare) şi o bandă de trecere în jurul acesteia, ∆f, în care se poate face transmisia semanlelor informaŃionale. Cu cât frecvenŃa purtătoare este mai mare, cu atât banda canalului este mai mare. De exemplu, o lărgime relativă a canalului de 1% înseamnă ∆f =10kHz la f0 =1MHz şi ∆f =300MHz la f0=30GHz. Există şi canale radio cu spectru mult mai larg, unde nu se poate vorbi de o singură frecvenŃă purtătoare. Acestea sunt sistemele radio cu spectru împrăştiat sau cu salt de frecvenŃă. Ele sunt foarte utilizate în sistemele de comunicaŃii cu acces multiplu în cod (CDMA).

Caracteristicile canalului radio Undele radio sunt uşor de generat, se propagă pe distanŃe foarte mari, sunt puŃin atenuate de corpurile nemetalice, difuzează practic în tot spaŃiul de propagare. Pot fi direcŃionate într-o anumită măsură cu antene directive. Undele medii şi scurte (MF şi HF) se propagă şi prin refexie pe ionosferă acoperind distanŃe foarte mari (mii de km). Un fenomen specific undelor medii şi scurte este fadingul cauzat de propagarea pe căi multiple. El se manifestă prin fluctuaŃia semnalului în punctul de recepŃie cauzată de de interferenŃa dintre unda directă şi cea reflectată. Microundele se propagă practic în linie dreaptă, la limita vizibilităŃii directe. Pot fi uşor direcŃionate cu antene directive, sunt puternic influenŃate de condiŃiile atmosferice (praf, ploaie, zăpadă), sunt oprite de obstacole naturale. Spectrul electomagnetic din domeniul radio şi microunde este foarte aglomerat şi trebuie riguros administrat. Există reglemntări naŃionale şi internaŃionale în privinŃa utilizării sale, spre deosebire de comunicaŃiile optice care nu necesită, cel puŃin până în prezent, licenŃe de frecvenŃe de emisie. De aceea pentru transmisiile în spaŃiul deschis pe distanŃe mici încep să se folosească tot mai mult purtătoarele optice (FSO - Free Space Optics). SateliŃii de comunicaŃii sunt echipamente de recepŃie – transmisie automată (transponder) care recepŃionează o porŃiune de spectru electromagnetic purtător de informaŃie, eventual îl amplifică şi îl retransmit (difuzează) spre pământ pe o altă frecvenŃă purtătoare (pentru a evita interferenŃele).

26

Fig. 2.2 Spectrul electromagnetic

2.2.3 Transmisii de date pe reŃeaua telefonică ReŃeaua telefonică este în prezent, alături de Internet, ce mai mare reŃea de comunicaŃii cu extindere mondială şi poate fi utilizată pentru transmisii de date, inclusiv între calculatoare. ReŃeaua telefonică are trei componente majore: - bucla locală sau reŃeaua de acces şi transport local; - oficiile (centralele) de comutare pe diferite niveluri; - trunchiurile (linkurile) care interconectează centrele de comutare. Bucla locală este, în majoritate, analogică şi, de regulă, pe fire torsadate. Are banda de trecere limitată la 300÷3400 Hz (limitarea este făcută intenŃionat în centrala de acces) şi atenuare mare. Un oficiu local este un comutator (centrală telefonică) la care sunt conectaŃi abonaŃii dintr-o arie. Poate avea până la cca 10 000 de abonaŃi. Dacă se doreşte conectarea unui calculator în locul aparatului telefonic trebuie folosit un modem. Rolul său este de a adapta semnalul numeric al calculatorului la caracteristicile liniei analogice din bucla locală. Modemurile pot realiza diferite tipuri de modulaŃie: în amplitudine (amplitude shift keying - ASK), în frecvenŃă (frequency shift keying - FSK), în fază (phase shift keying - PSK), în fază în cuadratură (QPSK), în amplitudine şi în fază simultan (QAM-16 sau QAM-64) etc. Diversitatea de tipuri de modulaŃii permite obŃinerea unor rate de modulaŃie (bauds) şi rate ale biŃilor (bps) de la 200 la 19600 şi chiar mai mult în banda canalului telefonic standard. Trunchiurile care interconectează centrele de comutaŃie transportă fluxuri numerice structurate după două standarde de bază: - PDH (Plesiochronous Digital Hierarchy) cu viteze de la 2Mbps (multiplexul primar E1) până la 140 Mbps (multiplexul de ordinul 4, E4); - SDH (Synchronous Digital Hierarchy) cu viteze de la 155 Mbps (STM-1) până la 10Gbps (STM-64).

27

Ierarhia plesiocronă este în prezent în curs de înlocuire cu ierarhia sincronă SDH sau SONET (standardul american). Modemurile sunt echipamente de emisie - recepŃie (modulator-demodulator) care modulază numeric un semnal analogic. Semnalele analogice sunt semnale continue în timp şi nivel. Semnalele discrete sunt discontinue în timp, nivel sau în ambele domenii. Trecerea de la un semnale continuu la unul discret se face prin eşantionare în timp şi cuantizare în nivel (amplitudine). Fiecare nivel de amplitudine poate fi reprezentat în cod binar, rezultând semnalul numeric binar. Rata de eşantionare reprezintă numărul de de eşantioane de semnal trimise în linie în unitatea de timp (secundă). Se măsoară în bauds (Bd). Rata semnalului binar sau rata de transmisie, RT, reprezintă numărul de simboluri binare (1 şi 0) trimise în linie în unitatea de timp. Se măsoară în biŃi pe secundă (bps). Rata de modulaŃie, RM, reprezintă numărul de schimbări pe secundă a unei valori semnificative a semnalului. Se măsoară în bauds (Bd). O mărime semnificativă poate fi, de exemplu, amplitudinea semnalului. Ea poate lua două valori, 1 şi 0, în cazul semanlelor binare sau, în general, N valori. Alte mărimi semnificative pot fi frecvenŃa semnalului, faza sa etc. Rata de transmisie şi rata de modulaŃie sunt legate prin relaŃia:

(2.4)

RT (bps ) = RM ( Bd ) × log 2 N

unde N este numărul de valori semnificative ale parametrului semnalului modulat Viteza maximă a informaŃiei pe bucla de abonat din sistemul telefonic, dacă se folosesc modemuri adecvate, este aproximativ 56 kbps, limitată din cauza atenuării şi a zgomotelor din linie. Necesitatea introducerii serviciilor de bandă largă la abonat a impus găsirea altor soluŃii de creştere a vitezei în bucla de abonat. Au apărut aşa-numitele soluŃii DSL (Digital Subscriber Line), cu 2 variante: ADSL (Asimetric DSL) şi HDSL (High DSL). ADSL-urile trebuie să asigure fluxuri de date în ambele sensuri, de la abonat la comutator şi invers. ADSL-ul este caracterizat de viteză mică de la abonat la centrala telefonică (până la 1Mbps) şi viteză mare (până la 8 Mbps) invers. Acest lucru este posibil deoarece este înlăturată limitarea de frecvenŃă 300-3400 Hz din centrală. ADSL-urile trebuie să funcŃioneze pe liniile existente fără a influenŃa legătura telefonică sau faxul existente. Practic furnizorii ADSL oferă 64kbps pe fluxul ascendent şi 256kbps pe fluxul descendent. Partajarea spectrului de frecvenŃă disponibil pe linia de abonat (aprox. 1.1MHz pe distanŃa de 5km) se face satfel: - partea inferioară, aproximativ 4kHz pentru telefonie vocală - partea centrală până spre 100kHz pentru fluxul ascendent - partea superioară 100kHz÷1100kHz pentru fluxul descendent. O alternativă a ADSL este DTM (Discrete Multitone), ton multiplu discret, în care spectrul buclei de abonat de aprox. 1,1MHz este divizat în 256 de canale independente de 4,312 kHz fiecare. Canalul 0 este folosit pentru serviciul telefonic tradiŃional (POTS – Plane Old Telephone Service), canalele 1 ÷5 nefolosite pentru evitarea interferenŃelor iar din restul de 250, două sunt pentru controlul fluxurilor ascendent şi descendent, celelalte 248 fiind la dispoziŃia utilizatorului.

28

256 canale de cca 4 kHz

f 0 1.... 5 6

Voce liber

7

256

flux ascendent

1100kHz

flux descendent

Fig. 2.3 a) Varianta ADSL cu DTM Comutator telefonic Coder vocal PCM Separator de fercvenŃă

Tf Linie tf. analogică

Separator fercvenŃă

NID

(buclă locală)

DSLAM Modem ADSL

Spre ISP

Ethernet/ USB

LocuinŃă client

Oficiu telefonic final

NID -Network Interface Device ISP- Internet Service Provider DSLAM- Digital Subcscriber Line Access Multiplexer

Fig.2.3 b) ConfiguraŃie tipică de echipament ADSL

2.3 Protocoale de nivel fizic în reŃele de calculatoare 2.3.1. ReŃeaua Ethernet Standardul IEEE 802.3, recunoscut şi ISO 8802.3, cuprinde o ierarhie formată din următoarele protocoale: - un protocol pentru nivelul fizic (de fapt un evantai de protocoale posibile a se folosi pentru nivelul fizic); - un protocol pentru subnivelul MAC, bazat pe algoritmul de acces la mediu CSMA/CD şi acceptând ca protocol al subnivelului LLC superior, standardul IEEE 802.2. Subnivelele MAC şi LLC aparŃin nivelului 2, nivelul legătură de date. Standardul IEEE 802.3 s-a bazat initial, la nivel fizic, pe o arhitectura de tip magistrală cu cablu coaxial şi a evoluat către topologia de stea, bazată pe cablu torsadat UTP şi fibră optică. Vitezele de transmisie prevăzute de standard pentru diversele variante de medii sunt de 1Mbps, pentru varianta 1Base5 şi 10Mbps pentru versiunile: 29

10Base5, 10Base2, 10Broad36, toate bazate pe cablu coaxial; 10BaseT pentru cablul cu perechi de fire răsucite UTP; FOIRL, 10BaseFP, 10BaseFB, 10BaseFL pentru fibra optică. ReŃelele care lucrează la viteze peste 10Mbps sunt considerate reŃele de mare viteză şi sunt prezentate sub denumirea de LAN de mare viteza HSLAN (High Speed LAN). Standardele 10Base5, 10Base2, 10Broad36 bazate pe cablu coaxial sunt depăşite în prezent. -

Fig. 2.5 Protocoalele de nivel fizic şi legătură de date în reŃele Ethernet

Standardul 10BaseT Standardul 10BaseT constituie o prima abordare structurată a problemelor legate de dezvoltarea reŃelelor, în sensul ca staŃiile ataşate sunt legate toate la un repertor multiport (numit şi hub), sunt conectate împreună, nu sunt inserate fiecare în diverse locuri ale mediului. Standardul specifică caracteristicile unităŃii de ataşare la mediu şi caracteristicile mediului de transmisie, legate de transmisia la 10MHz, în banda de baza şi pe un segment de cablu torsadat (twisted pair, de unde şi indicativul 'T' din al treilea câmp al numelui standardului). Conform acestui standard, singura modalitate de conectare a două staŃii este printr-o legătură punct-la-punct, de unde necesitatea utilizării repetoarelor multiport, pentru conectarea a mai mult de două staŃii, formandu-se astfel o topologie stelară. La nivel MAC se implementează identic protocolul 802.3. Principalele funcŃii ale unui transceiver 100BaseT sunt cele obişnuite pentru un transceiver 802.3, cu particularitatile proprii mediului de transmisie, si anume: -transmisia datelor primite de la interfaŃa 802.3, date codificate Manchester, către mediu, respectiv către perechea de linii de transmisie date TD (Data Transmitting); în lipsa datelor de transmis, se transmite pe linie un semnal idle TP_IDL, care este de fapt o secvenŃă specifică de impulsuri; -recepŃia datelor de pe perechea de linii RD (Data Receiving) şi transmiterea către interfată; -detectarea semnalului de coliziune în mediu (pe liniile RD) si elaborarea semnalului corespunzator către interfaŃă; -generarea de semnal de test pentru circuitele de detectare a coliziunii (semnal SQET); 30

-funcŃia de buclare (loop-back), prin care datele transmise catre mediu sunt transmise în ecou înapoi către interfaŃă; -funcŃia de test integritate a legăturilor, bazată pe faptul ca dacă o perioadă de timp (50-150ms) nu se primeşte semnal de date sau semnal TP_IDL, se considera cădere de linie. Un segment 10BaseT este constituit dintr-un cablu torsadat format din cel puŃin două perechi de fire răsucite, cu următoarele caracteristici: -impedanŃa de 100 + 15 ohmi, pentru frecvenŃe de până la 16MHz; -lungimea de maxim 100m (în timp aceasta a fost mărită datorită folosirii cablurilor UTP de categoria 5, pentru care diafonia şi atenuarea au scăzut mult; se poate lucra aici până la 165m); -viteza de propagare a semnalului electric este de cel putin 0,585c (c fiind viteza luminii); -atenuarea este de maxim 11,5dB. Reteaua 10BaseT prezintă avantajele legate de raportul cost/performanŃă, de uşurinŃa de instalare şi gestionare a reŃelei, de modernizare, fiind modelul ideal pentru reŃelele dedicate grupurilor de lucru.

Standardul pentru fibra optică 10BaseF Setul de standarde 10BaseF reglementează folosirea cablu1ui cu fibra optică pentru un LAN 802.3. Este compus din următoarele standarde: -10BaseFP, bazat pe steaua pasivă; -10BaseFB, bazat pe transmisia sincronă pe fibra optică; -10BaseFL, o îmbunataŃire a standardului FOIRL.

Standardul 10BaseFB O alta posibilitate de folosire a fibrei optice este dată de standardul 10BaseFB, care descrie condiŃiile necesare folosirii cablului de fibră optică ca şi coloană vertebrală (backbone) între două repetoare. Câmpul FB din nume semnifică exact folosirea fibrei optice ca backbone. Transmisia este de tip sincron, lucru care face eficace folosirea de echipamente transceiver tolerante la erori (faulttolerant). Aceste echipamente sunt dotate cu două porturi (interfeŃe) pentru accesul la mediu, una principală şi una de restaurare, care intră în funcŃiune la defectarea primei.

Standardul 10BaseFL Standardul 10BaseFL se referă la problemele folosirii optice ca legatură (Link) între repetoare sau staŃii ale unui LAN 802.3. Legăturile pot fi de tip punct-la-punct sau stelare (dacă sunt folosite repetoare multiport). Un segment 10BaseFL constă într-o conexiune punct-la-punct prin fibra optică între două unităŃi MAU (unităŃi legate prin cabluri la repetoare sau staŃii). El poate avea o lungime de până la 2000m. Transceiver-ul este compatibil cu MAU FOIRL şi are aceleasi caracteristici optice precum MAU 10BaseFB.

31

2.3.5 ReŃeaua Fast Ethernet 100BaseX ReŃea Ethernet la 10Mbps nu mai poate asigura nevoile de viteză crescută datorită noilor aplicaŃii, îndeosebi aplicaŃii multimedia, care solicită o bandă de frecvenŃe superioară, deci operarea la viteză ridicată. S-au căutat soluŃii pentru realizarea unei noi reŃele, tot de tip Ethernet, dar de viteza superioară. De asemenea organizaŃiile de standardizare au creat grupuri speciale de lucru pentru reproiectarea unei reŃele Ethernet rapide. Astfel a fost creat grupul de lucru IEEE pentru elaborarea standardului 802.13 (pentru reŃea 100BaseX), precum şi o asociaŃie FEA (Fast Ethernet Alliance) pentru promovarea produselor şi standardizarea în domeniul reŃelei Ethernet rapide. Mai populară decât numele 100BaseX este denumirea Fast Ethernet, larg cunoscută printre utilizatori. Fast Ethernet este definită pentru trei implementări fizice diferite: - reŃea 100BaseTX utilizează cabluri torsadate UTP de categoria 5, câte două perechi de fire pentru fiecare direcŃie de transmisie; ea foloşeste aceleaşi perechi de fire şi configuraŃii de pini, aceeaşi topologie ca reŃeaua 10BaseT. În plus, ea lucrează full duplex la 100Mbps, şi pentru a asigura compatibilitatea la nivelul fizic cu standardul FDDI, utilizează codarea 4B/5B. - reŃea 100BaseFX utilizeaza fibra optică multimodală; constituie dezvoltarea retelei de tip 10BaseFL, folosită pentru legături punct-la-punct, pe o lungime de până la 2km. ReŃeaua 100BaseFX are aceeşi utilitate, asigură aceeaşi distanŃă de legare între două repetoare, dar la viteza de 100Mbps, în mod full duplex. - reŃea 100BaseT4 pentru posibilitatea utilizării cablurilor torsadate UTP cu patru perechi de fire, categoria 3; este necesar însă ca toate cele patru perechi să fie conectate între nod şi hub (la 10BaseT exista posibilitatea utilizării a numai două perechi). În aceasta implementare, datele transmise/recepŃionate de interfaŃa vor fi multiplexate/demultiplexate pe trei perechi de fire ale cablului, a patra fiind folosită pentru controlul coliziunii. Pentru aceasta se utilizează o tehnică specială de codare 8B/6T, folosind semnale ternare. Având la dispoziŃie trei perechi de fire pentru transmisie şi folosind semnale ternare, se pot codifica până la 27 de simboluri, deci pe cele trei fire se pot transmite în cursul unei perioade de ceas câte 4 biŃi. Cum viteza de sernnalizare folosită este de 25MHz (deci cu puŃin superioară celei de 20MHz, folosită pentru codarea Manchester utilizată de reŃeaua 10BaseT), viteză care este suportată de cablurile UTP categoria 3, per global se va obŃine o viteză de transmisie de 100Mbps.

2.3.6 ReŃeaua Gigabit Ethernet Dezvoltarea reŃelelor Ethernet a continuat în ultimii ani cu propunerea de standard şi realizarea reŃelei Ethernet la 1000Mbps. ForŃe reunite ale IEEE, prin comitetul de lucru 802.3z sau 802.3ab şi colective din cadrul organizaŃiei Fast Ethernet Alliance au pus în discuŃie deja o variantă de standard pentru reŃeaua 1000BaseT, bazată pe cablul torsadat, sau reŃeaua 1000BaseLX, bazată pe fibră optică. Deoarece toate aceste reŃele poartă numele generic Gigabit Ethernet, se va folosi şi această denumire pe parcurs. Gigabit Ethernet defineşte acelaşi format de cadru, foloseşte metoda de acces CSMA/CD, are aceleaşi mecanisme de control şi management ca reŃeaua tradiŃionala şi operează de 100 ori mai repede. Ca medii fizice se utilizează cu precădere a cablului torsadat de categoria 5, de categoria 6 (suporta transmisie la 200MHz) şi categoria 7 (poate transporta semnal la 600MHz) precum şi fibra 32

optică. ReŃeaua, numită 1000BaseT prevede o lungime a cablurilor între staŃii şi concentrator de peste 100m, supunându-se normelor EIA/TIA 568.

2.4 ReŃele locale fără fir - WLAN ReŃelele fără fir, numite şi reŃele WLAN (Wireless LAN), au o dezvoltare importantă, datorată progreselor în comunicaŃiile digitale, comunicaŃiile mobile şi tehnologia semiconductoarelor. Deşi încă performanŃele WLAN sunt inferioare reŃelelor cablate, ele constituie un complement la acestea. Ele au o dezvoltare şi o utilitate similare cu cea avută de echipamentele de calcul mobile, precum calculatoarele notebook sau laptop. Ele prezintă diverse avantaje faŃă de reŃelele cablate şi anume: - prezintă flexibilitate în poziŃionarea staŃiilor; - oferă usurinŃă în instalarea, reconfigurarea şi întreŃinerea staŃiilor; - permit folosirea de staŃii mobile. Necesitatea de a dezvolta un model de operare care să asigure compatibilitatea între diverşii producatori de echipamente WLAN, a făcut ca organizaŃiile de standardizare IEEE şi ETSI (European Telecommunications Standards Institute), să organizeze un grup de lucru pentru elaborarea unui standard pentru WLAN, folosindu-se de asemenea experienŃa acumulată în cadrul forumului WLI Forum (Wireless LAN Interoperability Forum). Astfel a apărut standardul 802.11, standard pentru reŃelele WLAN, comparat ca importanŃă cu standardul 802.3 pentru reŃelele LAN obişnuite. După lungimea de undă folosită, reŃelele WLAN se pot considera a fi: - bazate pe raze infraroşii; - bazate pe unde radio; - bazate pe microunde. Standardul 802.11 se ocupă în principal de două nivele, dezvoltând protocoale specifice pentru: - nivelul fizic, unde menŃionează posibilitatea alegerii a trei tehnologii de nivel fizic, unua bazată pe radiaŃie optică în infrarroşu şi alte două pe unde radio în banda ISM. Posibilitatea folosirii mai multor nivele fizice este avantajoasă pentru că dă oportunitatea utilizatorilor de a exploata avantajele fiecăreia, dar are dezavantajul că necesită specificarea adiŃională a tipului de mediu folosit şi a vitezei de operare a datelor (necesar a fi cunoscut la nivelul de operare al WLAN, pentru asigurarea interoperabilităŃii). - accesului la mediu, propunând protocolul accesului multiplu cu detectarea purtătoarei şi evitarea coliziunii CSMA/CA, găsit cel mai potrivit pentru specificul transmisiilor cadrelor (transmisie asincrona şi cu timp limitat pentru ajungerea cadrelor la destinaŃie).

WLAN bazat pe raze infraroşii Pentru o reŃea WLAN având nivelul fizic bazat pe folosirea razelor infraroşii, fiecare staŃie legată în reŃea posedă un echipament de conectare (transceiver) alcătuit dintr-un LED (Light Emitting Diode) sau DL (diodă laser) ce emite în infraroşu şi o fotodiodă funcŃionând pe aceeaşi lungime de undă. Se pot folosi trei moduri de conectare a staŃiilor:

33

-

conectarea punct-la-punct, ce implică alinierea transceiverelor pentru a se putea “vedea” reciproc; acest mod de conectare este de folos în reŃele de tip inel, Token Ring de exemplu, putându-se prevedea o distanŃă între staŃii de până la 10m; în acest mod se pot realiza LAN în cadrul unei săli sau clădiri; - conectarea folosind propagarea prin semi-difuzie; - conectarea folosind propagarea prin difuzie totală.

Ultimele două moduri folosesc pentru propagarea fascicolului luminos suprafeŃe pentru reflectarea razelor infraroşii, fie suprafeŃe pasive (precum tavanul sau pereŃii încăperii), cazul metodei cu difuzie totală, fie suprafeŃe active (numite sateliŃi), cu rol de amplificare şi direcŃionare a semnalului, cazul semi-difuziei. Aceste două ultime metode sunt folosite la implementarea WLAN cu difuzie (broadcast), precum reŃele de tip Ethernet. Realizările practice acoperă viteze de transmisie de până la 16Mbps (cazul reŃelelor de tip Token Ring), reŃelele ocupând un spaŃiu limitat, de obicei o singură încăpere.

WLAN bazat pe unde radio în banda ISM În spectrul electromagnetic, anumite benzi de frecvenŃe sunt alocate, prin reglementări internaŃionale, unor aplicaŃii civile, în domeniul industrial, ştiinŃific şi medical, de unde vine şi denumirea de banda ISM (benzile sunt alocate de către Federal Communication Comitee). Sunt alocate trei domenii ISM: -

ISM# 1, cu banda de frecvenŃe 902 - 928MHz;

-

ISM#2, cu banda 2400 - 2483MHz;

-

ISM#3, cu banda 5725 - 5850MHz.

In ultimii ani, operatorii WLAN au folosit intens aceste benzi, îndeosebi ultimele două (pentru benzile ISM nu este necesara licenŃa, singura restricŃie este să nu se emită la o putere superioară de 1 W), ajungându-se la un nivel de interferenŃă ce coboară calitatea comunicaŃiei. S-a făcut necesară utilizarea unei metode de modulare noi, folosită până atunci doar pentru transmisiile militare, metoda numita modularea prin lărgirea spectrului (spread spectrum modulation). În esenŃă ea constă în răspândirea (distribuirea) energiei unui semnal de banda limitată, în cadrul unei benzi mult mai largi, densitatea spectrală a energiei scăzând. Se obŃine astfel un semnal cu o energie inferioară celui a zgomotului de fond ambiental, deci semnalul devine imperceptibil, iar interferenŃele sunt minime. Standardul 802.11 defineşte la nivel fizic două tehnici pentru obŃinerea unui semnal de bandă limitată cu spectru lărgit: - semnal de spectru lărgit cu secvenŃiere directă DSSS (Direct Sequence Spread Spectrum) Tehnica presupune folosirea pentru transmiterea fluxului de biŃi, a unei purtătoare de frecvenŃă variabilă, frecvenŃă dată de o funcŃie de distribuŃie. Această funcŃie este cunoscută atât de emiŃator cât şi de receptor. Standardul defineşte rate de biŃi de 1 sau 2 Mbps, folosindu-se canale de transmisie de 26MHz, în cadrul benzii de 2,4-2,483GHz. - semnal de spectru lărgit cu salturi de frecvenŃă FHSS (Frequency Hopping Spread Spectrum). Tehnica presupune că atât emiŃătorul cât şi receptorul să lucreze în rafală, trecând de la o frecvenŃă la alta în mod sincron, după un şablon de frecvenŃe cunoscut. Standardul operează de asemenea la 2,4GHz, folosind 79 de canale de 1MHz fiecare. Fiecare sub-banda foloseşte minim 2,5 salturi/sec. 34

La nivelul protocoalelor pentru accesul la mediu (protocoale MAC), standardul propune metoda accesului multiplu prin detectarea purtătoarei şi evitarea coliziunii (CSMA/CA). Fiind un protocol bazat pe rezervare, nu pe concurenŃă, alocându-se un punct central de control, metoda devine eficientă pentru aplicaŃiile WLAN, asigurând o utilizare eficientă a spectrului.

2.7 Accesul la reŃelele publice 2.7.1 Nivelul fizic al accesului ReŃelele de calculatoare de arie medie sau largă utilizează în multe cazuri reŃele publice sau private de transport a datelor. Pentru aceasta ele trebuie să acceseze şi să folosească infrastructura de comunicaŃii. ReŃelele publice stabilesc legături între două elemente ale reŃelei prin intermediul unor circuite comutate sau închiriate, realizate prin funcŃii specifice de către centralele (comutatoarele) acesteia. Cel dintâi şi cel mai simplu serviciu pentru transmisiile de date a fost obŃinut prin utilizarea unui canal telefonic obişnuit, accesat prin intermediul unui modem. Prin introducerea centralelor telefonice digitale a început procesul de înlocuire a liniilor telefonice analogice prin trunchiuri digitale de mare viteză, apărând posibilitatea punerii la dispoziŃia constructorilor de reŃele a canalelor directe digitale, făcându-se posibila dezvoltarea unor reŃele de mare întindere cu o viteză ridicată şi rată scazută de erori; în acest mod, doar linia de legare a utilizatorului către centrală (bucla locală) a rămas cea clasică. Prin apariŃia reŃelelor publice comutate digitale ISDN (Integrated Services Digital Network), şi această ultimă legătură analogică (de la utilizator la centrală) este înlocuită, apărând posibilitatea integrarii pe o linie telefonică a unor servicii diverse, precum: telefonie, transmisie de date, fax, video-conferinŃe, telealarme, etc.

2.7.2 InterfaŃa serială Toate echipamentele (terminale, calculatoare, routere) care se conectează la linia de transmisie telefonică, fie ea analogică, fie digitală, folosesc pentru realizarea conectării, interfaŃa serială. Standardele ITU-T au introdus notaŃiile DTE (Data Terminal Equipment - Echipament Terminal de Date) pentru echipamentele care se conectează (cele enumerate mai sus), şi DCE (Data Circuit-Terminating Equipment - Echipament Terminator al Circuitului de Date) pentru aparatura de comunicaŃie folosită, cum ar fi modemul. Conectarea unui DTE cu un DCE constituie o parte a conŃinutului nivelului fizic. Exista numeroase standarde care definesc protocoale pentru acest tip de nivel fizic, precum RS-232, RS-449, V.24, V.35, primele două fiind cele mai răspândite şi fiind prezentate sintetic în continuare.

2.7.3 Standarde de transmisie în telefonia digitală Spre deosebire de comutarea circuitelor, care a stat la baza transmisiei prin intermediul liniilor telefonice comutate, transmisia bazată pe comutarea pachetelor asigură o mai buna utilizare a canalelor de transmisie. Această nouă formă de comutare este realizabilă doar pe baza transmisiei digitale (numerice). Ea a dus la înlocuirea treptată a canalelor directe analogice cu cele digitale, legăturile între centralele telefonice fiind realizate prin trunchiuri digitale de înaltă viteză, folosind 35

tehnica de transmisie prin diviziune în timp TDM (Time Division Multiplexing). Se prezintă în continuare principalele caracteristici aferente nivelului fizic pentru cele mai importante tehnologii digitale (transmisiile cu cadre, transmisiile pe fibră optică, reŃele ISDN şi ATM).

Standardul PDH. PurtătoareleT1 si E1 Transmisia normală pe un canal telefonic digital necesită un flux de date de 64kbps, valoare obtinuta pe baza teoremei lui Nyquist, luând în considerare reconstruirea unui semnal analogic cu banda de 4KHz (bandă în care se încadreaza semnalul audio) şi reprezentarea esantioanelor pe 8 biti. Canalele telefonice digitale se vor transmite pe trunchiurile de mare viteză, prin folosirea tehnicii de multiplexare TDM, construindu-se cadre care transportă un număr de canale vocale. În SUA si Japonia s-a dezvoltat sistemul Tl, cadrul transportator fiind proiectat pentru multiplexarea a 24 de canale vocale la 64kbps (64x8=192 biŃi plus un bit pentru sincronizare, adică 193 biŃi transportaŃi la fiecare 125microsecunde), obŃinând un canal de transport de 1.544Mbps, dintre care 1.536Mbps sunt folosiŃi pentru transmisia datelor şi 8kbps pentru informaŃia de sincronizare. InformaŃia de sincronizare (semnalizare) s-a considerat ca este prea cuprinzatoare, şi atunci CCITT a statuat ca informaŃia analogică de pe fiecare canal sa fie codificata utilizand doar 7 biti, astfel ca fiecare canal din cadrul T1 este la 56kbps. Bitul suplimentar oferit acum de fiecare canal poate fi folosit pentru semnalizare.

Tabelul Multiplexul PDH Nivel de America de Nord multplexare Nivel 0 64 kbps (1 canal) T0 Nivel 1

1,544 Mbps (23+1canale)

Nivel 3,152 Mbps intermediar Nivel 2 6,312Mbps (96 canale)

Japonia 64 kbps (1 canal)

Europa T0

T1

64 kbps (1 canal)

2.048 Mbps (30+2 canale), E1 -

T2

E0

6,312 Mbps(96 canale)

T2

8.448 Mbps

E2

Nivel 3

44,736 Mbps (672 canale) T3

32,064 Mbps (480 canale) T3

34,368 Mbps (512 canale), E3

Nivel 4

274,176 Mbps(4032 canale) T4

97,728 Mbps (1440 canale) T4

139,264Mbps (2048 canale) E4

In Europa se foloseste un alt cadru transportator, numit E1, care se bazează pe transmiterea multiplexată a 32 de canale de 64kbps, obŃinând cadrul purtător la 2.048Mbps. Dintre cele 32 de canale, 30 sunt folosite pentru informaŃie şi două pentru semnalizare, sincronizare şi control - sloturile de timp 0 şi 16.

Standardul SONET/SDH. Purtătoarele STS-n şi STM - n Standardul de multiplexare şi de transmisie de semnale telefonice numerice, PDH are limitări şi neajunsuri majore referitoare, printre altele, la viteza relativ mică a datelor şi mai ales la posibilităŃile reduse de control şi management ale reŃelei. Ca urmare s-au elaborat alte standarde bazate pe un mod de transfer sincron al datelor, cu alte viteze şi folosind tehnologii noi şi performante de transmisie. În 1986 s-a elaborat standardul SONET (Synchronous Optical NETwork) în Statele Unite, folosind ca mediu fizic de transmisie fibra optică. Ulterior, în 1989 a fost dezvoltat în Europa standardul SDH (Synchronous Digital Hierarchy), având la bază modelul SONET. Un sistem SONET foloseste modul de transmisie sincron (STM) şi constă din comutatoare, multiplexoare şi repetoare, legate prin fibră optică, arhitectura SONET fiind de fapt o secvenŃă de 36

secŃiuni ce interconectează echipamente vecine. Cadrul de baza SONET este un bloc de 810 octeŃi, transmişi la fiecare 125 microsecunde; astfel se obŃine canalul de bază SONET, numit STS- 1 (Synchronous Transport Signal-I), cu o rată de transport de 51.84Mbps. Nivelele de multiplexare superioare SONET sunt multipli ai nivelului de bază. Standardul specifică transmisiile pentru o legatura SONET la 51.5Mbps, la 622Mbps sau la 10Gbps, etc., prin definirea ierarhiei de multiplexare de STS-l la STS-192.

Modelul statificat SONET/SDH PSTN/ISDN

PDH ATM IP

ATM

AplicaŃie

IP

VC-12 layer

Prezentare

VC-4 layer

Transport

Multipexion layer

ReŃea

Regeneration layer

Legătură de date

Physical layer

Fizic

Multiplexor SDH

SDH

Reg. SDH

SecŃ. reg.

Crossconnect SDH

SDH

SDH

Multiplexor SDH

PDH ATM IP

SecŃ. reg.

SecŃ. mux.

SecŃ. mux. Cale

Fig. 2.15 Modelul stratificat SONET/SDH Standardul SDFH are un cadru de date de bază de 3 ori mai mare decât SONET. El se numeşte STM-1 (Synchronous Transport Module -1, este obŃinut din multiplexarea a trei cadre de bază STS-1 şi are rata de bază 155,52 Mbps. Cele două standarde sunt perfect compatibile pe anumite nivele de multiplexare. OC 1 SONET 51 Mb/s, OC 3 SONET 155 Mb/s OC 48 SONET 622 Mb/s OC 192 SONET 2,4 Gb/s. OC 768 SONET 9,953280Gb/s

STM-1 155,520Mb/s STM-4 622,080Mb/s STM-16 2488,320Mb/s STM-64 9,953280Gb/s STM-256 39,17312Gb/s

37

ReŃele numerice cu servicii integrate ISDN La mijlocul anilor '80 a demarat proiectul de construire a unui nou sistem telefonic cu circuite comutate, complet digital, numit ISDN (Integrated Services Digital Network), care să permită transmisia integrata de servicii vocale şi non-vocale. ReŃeaua ISDN este definită ca o reŃea ce permite o conectivitate digitală capat la capat şi oferă o gamă largă de servicii, incluzând voce sau video, servicii la care utilizatorii au acces printr-un set limitat de interfeŃe standard. Prima dintre aceste interfeŃe standard definită şi denumită acces de bază (base access), a fost concepută pentru utilizatorul final şi conŃine două canale de date B (de bază) de 64kbps fiecare, şi un canal D (16kbps) pentru semnalizări. S-a dezvoltat apoi alt tip de interfaŃă, numit acces primar (primary rate access), conceput pentru deŃinătorii de centrale telefonice digitale şi prevăzând o rată mai generoasă de date prin alocarea de canale H, de mare viteza (megabiŃi pe secundă) Tabelele următoare prezintă tipuri de canale ISDN şi structuri de interfeŃe ISDN. Tabelul 2. Tipuri de canale şi interfete ISDN Canal B H0 H11 H12 D16 D64

Rata de bit 64 kbps 384 kbps 1536 kbps 1920 kbps 16 kbps 64 kbps

InterfaŃa Basic access Primary rate access Primary rate access Primary rate access Basic access Primary rate access

InterfaŃa Basic access

Rata de bit 192 kbps 1544 kbps

Primary rate access

2048 kbps

Structura interfeŃei 2B + D16 23B + D64 3H0 + D64 H11 30B + D64 5H0 + D64 H12 + D64

Deoarece Narrow-ISDN (ISDN de bandă îngustă, care se bazează pe canale de 64kbps), nu poate satisface cerinŃele actuale, prin folosirea canalelor de mare viteza H se ating vitezele de ordinul Mbps şi zecilor de Mbps, şi deci a aparut firesc ISDN în bandă largă, numit B-ISDN (BroadbandISDN). El se defineşte ca acel sistem care prevede canale cu viteze superioare ratei primare, prevăzând un transport al pachetelor cu dimensiune fixă (celule), de la sursă la destinaŃie, cu o viteză de 155Mbps. Recomandarile ITU definesc sintetic posibilităŃile B-ISDN astfel: "B-ISDN prevede conexiuni comutate, permanente sau semi-permanente, punct la punct sau punct-multipunct şi asigură servicii rezervate sau permanente. Conexiunile B-ISDN prevăd servicii cu comutare de pachete sau de circuite, de tip mono sau multi media, în configuraŃii uni sau bidirecŃionale, orientate sau nu pe conexiune."

38

Întrebări de control 1. DefiniŃi şi caracterizaŃi un canal de transmitere a informaŃiei. Cum influenŃează canalul de comunicaŃie propagarea semnalelor informaŃionale? 2. Care sunt componentele fizice ale unei reŃele şi descrieŃi rolul acestora? 3. Echipamentele de emisie-recepŃie recunosc şiruri de biŃi, caractere de câte 8 biŃi sau biŃi individuali? 4. Ce este un modem, ce rol are într-o reŃea? 5. Ce se înŃelege prin modularea semnalelor şi ce tipuri de modulaŃii se folosesc în transmisiile de date? 6. Care sunt cauzele erorilor de transmisie pe canalele de comunicaŃie şi cum pot fi ele reduse? 7. Cum este definită rata erorii pe bit (BER) şi ce valori uzuale oferă canalele de comunicaŃii? 8. Care sunt parametrii unui semnal purtător care pot fi modulaŃi de către semnalul informaŃional? 9. Ce este o modulaŃie analogică? Dar una numerică? 10. Cum se obŃine un semnal numeric dintr-un semnal analogic? 11. Care este teorema eşanŃionării şi ce importanŃă are în prelucrarea semnalelor informaŃionale? 12. Care sunt caracteristicile standardului 802.3 (Ethernet) la nivel fizic? 13. Idem pentru Standardul 802.11 (LAN fără fir) 14. Idem pentru Standardul 802.15 (Bluetooth) 15. DescrieŃi posibilităŃile şi tehnicile de acces fizic la reŃelele publice: interfeŃe, modemuri, tipuri de modulaŃii analogice şi numerice.

Probleme propuse 1.

2. 3. 4. 5.

6.

Un semnal analogic de 4kHz este esantionat cu o rată minimă dată de teorema lui Shannon. Care este rata eşantioanelor în linia de transmisie? Dacă fiecare eşantion se cuantizează pe 7 biŃi, care este rata de transmisie în bps? Canalele de televiziune au 6MHz. Care este rata minimă de transmisie dacă se folosesc semnale digitale pe 4 nivele şi canale fără zgomot? Dacă un semnal binar este transmis pe un canal de 3kHz având un raport semnal zgomot de 20 dB, care este capacitatea (rata maximă) de transfer a datelor realizabilă? Ce raport semnal zgomot este necesar pentru a transmite o purtătoare T1 pe o linie de 50kHz? Este posibilă o astfel de transmisie? Ce bandă de frecvenŃă ocupă o sursă de radiaŃie optică ce emite o lărgime spectrală ∆λ=2nm centrată pe λ0=1500nm. Cum este această valoare comparativ cu lărgimea spectrală a surselor informaŃionale cunoscute? Un canal pe fibră optică este folosit pentru a transmite imagini de pe un ecran de calculator având rezoluŃia 1024x768 pixeli, fiecare pixel fiind codat pe 3 octeŃi. Rata de afişare a imaginilor este 60 cadre pe secundă. Care este lărgimea de bandă necesară a fibrei şi ce spectru optic va ocupa acest semnal la λ0=1300nm? 39

7. O rază laser de 1 mm lăŃime este transmisă la un receptor aflat la 100m distanŃă. Dacă diametrul lentilei de recepŃie este 1 dm, care trebuie să fie divergenŃa unghiulară a spotului emis pentru a acoperi toată suprafaŃa receptorului? 8. O conductă de petrol poare fi asimilată unul canal simplex, semiduplex sau duplex? 9. O diagramă de modulaŃie în fază are faze în punctele (1,1), (1,-1), (-1,1) şi (-1,-1). CâŃi bps poate atinge un modem cu rata de modulaŃie de 1200Bd? 10. O modulaŃie combinată în amplitudine şi fază (QAM) cu 4 faze şi două nivele de amplitudine are rata de modulaŃie 2400 Bauds. Care este rata de transmitere a informaŃiei pe un astfel de canal? 11. Ce tip de modulaŃie corespunde unei diagrame-constelaŃie în care toate punctele sunt pe un cerc cu centrul în origine? Dar în cazul unei diagrame în care punctele sunt dispuse pe două cercuri concentrice de raze diferite? 19. O diagramă-constelaŃie în care toate punctele au coordonatele (0,1), (0,-1), (0,2) şi (0,-2) coespunde unei modulaŃii de fază, de amplitudina sau combinată de fază şi amplitudine? 20. Zece semnale analogice fiecare cu banda de 4kHz sunt multiplexate prin tehnica FDM. Dacă între canale se păstrează un spaŃiu de gardă de 400Hz, care va fi banda ocupată de semnalul multiplexat? 22. PrecizaŃi de unde provine rata de 64kbps corespunzătoare semnalului telefonic numeric codat în impulsuri binare (semnal PCM). 23. În cât timp se transmite un pachet de 64 KocteŃi pe o linie E3 de 34 Mbps? 24. Se consideră trei reŃele cu comutare de pachete, fiecare având n noduri (particularizare n=6). Prima are o topologie stea cu un nod central pe funcŃie de comutator, a doua are topologia de inel bidirecŃional iar a treia are o topologie total interconectată (fiecare cu fiecare). DesenaŃi aceste topologii. Câte linkuri bilaterale sunt necesare pentru implementarea fiecărei topologii? CalculaŃi numărul minim, mediu şi maxim de salturi din reŃea prin care se poate atinge oricare punct din fiecare tip de reŃea.

Temă de casă 1. DescrieŃi standardele şi protocoalele de nivel fizic utilizate pe WAN (cel puŃin unul dintre ele): • EIA/TIA -232, • EIA/TIA -449, • V.24, • V.35, • X.21, • G.703, • ISDN, • T1, T3, E1, E3, E4 (Standardul PDH) • xDSL • STM-1, STM-4, STM-16, STM-64 (Standardul SDH) • OC-1, OC-3, OC-12 OC-48 etc ( Standardul SONET)

40

2. FaceŃi o comparaŃie a mediilor fizice de transmitere a datelor (cabluri filare, cabluri coaxiale, fibre optice, canale radio, canale pe satelit, purtătoare optică în atmosferă) din punct de vedere al capacităŃii de transmisie, benzii de trecere, distorsiunilor, atenuării, zgomotului propriu. 3. DescrieŃi infrastructura telefoniei digitale ca suport pentru transmisii de date între calculatoare.

4. DescrieŃi nivelul fizic la reŃeaua Ethernet. DescrieŃi standardele 10Base 2, 10 Base 5, 10 Base T, 10 Base F etc. la nivel fizic 5. DescrieŃi nivelul fizic la reŃeaua FDDI. Standardul ISO 9314. 6. DescrieŃi posibilităŃile şi tehnicile de acces fizic la reŃelele publice: interfeŃe, modemuri, tipuri de modulaŃii analogice şi numerice. 7. EnumeraŃi principalele medii fizice de transmitere a informaŃiilor şi descrieŃi particularităŃile propagării semnalelor informaŃionale prin acestea 8. DescrieŃi la nivel fizic arhitectura reŃelelor locale fără fir. 9. DescrieŃi principalele fluxuri de date standardizate folosite în reŃelele de transport (PDH, SDH, ATM, ISDN) 10 DescrieŃi caracteristicile tehnice ale câtorva echipamente de nivel fizic: plăci de reŃea, regeneratoare, huburi, modemuri etc. folosind informaŃii din Internet. 11 DescrieŃi câteva tipuri de modemuri DSL folosite pe liniile de abonat.

41

Tema 2. NIVELUL FIZIC Tema are ca scop prezentarea detaliată a rolului nivelulu fizic şi descrierea unor standarde şi protocoale de nivel fizic utilizate în diverse reŃele de comunicaŃii şi calculatoare, în special cele folosite în Internet. După parcurgerea şi însuşirea acestei teme, studentul va cunoaşte: • Care sunt rolul şi importanŃa nivelului fizic într-o reŃea de comunicaŃii şi calculatoare • Ce este un canal de comunicaŃie şi care sunt parametrii săi mai importanŃi din punct de vedere al transmiterii fizice a datelor • Cum se utilizează semnalelor electrice modulate pentru transmiterea informaŃiei • Care sunt principalele medii fizice şi ce caracteristici au • Protocoalele de nivel fizic din Internet şi în unele reŃele locale (Ethernet, FDDI, DQDB) • Protocoale de nivel fizic în reŃele fără fir • Standardele de nivel fizic folosite în reŃeaua telefonică StudenŃii vor întocmi o temă de casă care constă descrierea detaliată a unui standard de nivel fizic utilizat curent în reŃelele de comunicaŃii. Timpul minim pe care trebuie să-l acordaŃi învăŃării acestui modul este de 8 ore.

Nivelul fizic se ocupă de transmiterea datelor pe canalele (mediile) fizice specificând cerinŃe privind emisia şi recepŃia semnalelor informaŃionale, tipuri şi nivele de semnale, tipuri de modulaŃie, coduri de linie, dispozitive de conectare (conectoare, mufe), caracteristici ale mediului de comunicaŃie, modul de acces la mediu. Nivelul fizic se bazează aproape exclusiv pe echipamente hard şi conŃine o serie de standarde referitoare la aceste echipamente şi la tehnicile de transmitere-recepŃie a datelor şi informaŃiilor. Echipamentele aferente nivelului fizic sunt: - plăcile de reŃea, NIC- network inteface card - HUB-urile pasive - HUB-urile simple active, - terminaŃiile de reŃea, modemurile - dispozitivele de cuplare - cablurile şi conectoarele - repetoarele - multiplexoarele - transmiŃătoarele şi receptoarele de semnale electrice modulate (transceiverele).

2.1 Transmiterea informaŃiei Transmiterea informaŃiei la nivel fizic se face prin semnale electromagnetice (electrice, radio, microunde, optice). Semnalele purtătoare de informaŃie pot fi analogice sau numerice, în banda de bază sau translatate într-un alt domeniu de frecvenŃe (radio, microunde, optic).

1

Pentru a putea fi trimisă şi recepŃionată la distanŃă, informaŃia necesită un suport energetic (energia electrică, electromagnetică, acustică, mecanică etc.). Transpunerea datelor primare pe o purtătoare electromagnetică poartă numele de modulare a semnalului. InformaŃia se poate transmite în două forme: prin semnale analogice sau prin semnale digitale. Celor două tipuri de semnale le corespund două tipuri de transmisii: - prin semnale analogice (are o variaŃie continuă în timp şi nivel) - prin semnale digitale (numerice); are variaŃie discretă în timp şi nivel.

Fig. 2.1. Forme de semnale analogic şi digital a) Semnale digitale Deoarece toate calculatoarele sunt digitale, marea majoritate a reŃelelor de calculatoare utilizeză datele digitale pentru transferul informaŃiilor, existând mai multe metode de codificare a datelor într-un semnal. Aceste metode se numesc scheme de codificare şi pot fi grupate în două mari categorii: - codificare pe baza stării curente (pe baza atingerii unui nivel de tensiune) - codificare pe baza tranziŃiei între stări (pe baza unei tranziŃii de la un nivel de tensiune la altul). La codificarea pe baza stării curente, datele sunt codificate pe baza prezenŃei sau absenŃei unui anumit semnal sau a unei stări (de ex. +5V reprezintă 0 binar, iar – 5V valoarea 1 binar). Semnalul este continuu monitorizat de echipamentele de reŃea, care îi determină starea curentă ce indică valorile datelor codificate corespunzător acestei stări. Codificarea pe baza tranziŃiei între stări utilizează tranziŃiile de semnal pentru reprezentarea datelor. De exemplu o tranziŃie de la o tensiune mare la una mică poate reprezenta bitul 1, iar o tranziŃie de la nivel mic la un nivel mare poate reprezenta bitul 0. Astfel de codificări sunt codificarea Manchester şi codificarea Manchester diferenŃială.

b) Semnale analogice Semnalele electromagnetice analogice sunt constituite din unde electromagnetice. Teoria semnalelor artată că un semnal electromagnetic oarecare poate fi descompus într-o serie de semnale armonice, reprezentând unde electromagnetice plane (analiză Fourier). Un semnal armonic are o variaŃie periodică în timp şi spaŃiu de forma: E ( z , t ) = E 0 sin(ωt − kz + ϕ 0 )

(2.1)

2

unde E 0 este amplitudinea componentei electrice a câmpului electromagnetic, ω = frecvenŃa unghiulară, T este perioada semnalului, k =



λ

2π este T

este constanta de propagare în spaŃiu, λ

este lungimea de undă asociată undei electromagnetice iar ϕ0 este faza iniŃială a undei. Caracteristicile unui semnal analogic sunt: - amplitudinea, care măsoară înălŃimea semnalului, exprimată în volŃi - frecvenŃa, inversul intervalului de timp în care o undă face un ciclu complet, exprimată în herŃi - faza iniŃială, starea relativă a undei la momentul iniŃial în raport cu o undă de referinŃă, exprimată în radiani. - lungimea de undă, reprezintă distanŃa de propagare în spaŃiu a undei pe durata unui ciclu, exprimată în metri. Mărimea Φ = ωt − kz reprezintă faza undei si caracterizează variaŃia periodică în timp şi spaŃiu a acesteia. Toate aceste caracteristici pot fi utilizate pentru codificarea datelor transmise prin semnale analogice, pentru aceasta existând trei tehnici principale de modulare: - modularea amplitudinii (ASK – Amplitude Shift Keying), valoarea maximă a amplitudinii reprezintă valoarea 1, iar cea minimă 0 - modularea frecvenŃei (FSK – Frequency Shift Keying), o frecvenŃă reprezintă bitul 1 şi alta reprezintă bitul 0 - modularea fazei (PSK – Phase Shift Keying), când o fază iniŃială reprezintă bitul 1 şi altă valoare reprezintă bitul 0.

Transmisii în banda de bază şi pe purtătoare Un semnal informaŃional produs de o sursă de informaŃie are un anumit spectru de frecvenŃe, numit spectru de bază sau banda de bază a acestuia. Un asemenea semnal poate fi transmis ca atare pe canalul de comunicaŃie (transmisie în banda de bază) sau poate fi transpus pe o purtătoare din alt domeniu de frecvenŃă (radio, microunde, optic). În acest caz are loc o translatare a spectrului semnalului informaŃional în altă bandă şi se vorbeşte de transmisie pe purtătoare. Translatarea pe purtătoare măreşte spectrul ocupat de semnalul informaŃional faŃă de banda de bază. De exemplu, în cazul translatării prin modulaŃie de amplitudine, spectrul purtătoarei modulate este cel puŃin dublul spectrului informaŃional din banda de bază. Canalul de transmisie deschis într-un mediul fizic trebuie să asigure o bandă de frecvenŃe cel puŃin egală cu spectrul semnalului informaŃional, fie că este în banda de bază, fie că este translatat pe o purtătoare.

2.2. Canalul de transmisie 2.2.1 Canalul de transmisie şi caracteristicile sale Canalul de transmisie reprezintă suportul creat într-un mediu fizic prin care are loc propagarea semnalelor informaŃionale. Acest mediu poate fi sub formă de ghid de undă (cabluri, 3

fibre optice) sau mediu deschis, neghidat (incintele unor clădiri, spaŃiu atmosferic, spaŃiu extraatmosferic etc.). Un canal de transmisie este caracterizat de următorii parametrii mai importanŃi: 1. Banda de frecvenŃă (banda de trecere), ∆f, care reprezintă spectrul de frecvenŃă în care nivelul semnalului nu scade sub o anumită valoare (de regulă 3dB din valoarea maximă). În unele cazuri banda se poate defini şi în funcŃie de alŃi parametrii (distorsiuni, eficienŃa modulaŃiei etc.). 2.

Zgomotul propriu reprezentând puterea electrică a tuturor perturbaŃiilor existente în canal. Ele se manifestă ca nişte semnale aleatoare perturbatoare, care afectează calitatea semnalelor informaŃionale. Semnalele utile, purtătoare de informaŃie trebuie să aibă o putere mult mai mare decât zgomotele, adică să se asigure un raport semnal – zgomot (RSZ) suficient de mare. Altfel, informaŃia utilă conŃinută de semnal este acopertită de zgomot şi nu poate fi extrasă la recepŃie. În multe sisteme de comunicaŃii analogice sau numerice se cere un RSZ>20 dB. Deoarece semnalele utile se atenuează prin propagare de-a lungul canalului iar zgomotele se acumulează, periodic este necesară refacerea (amplificarea) semnalului informaŃional şi eventual reducerea nivelului zgomotelor.

3.

Viteza maximă de transfer a datelor cu N nivele discrete de tensiune (amplitudine), pe un canal cu banda de trecere ∆f, este dată de relaŃia lui Nyquist: Vmax = 2∆f log 2 N

4.

(2.2)

Capacitatea de transmisie a unui canal de comunicaŃii depinde de banda de trecere şi de raportul semnal – zgomot şi este dată de ecuaŃia lui Shannon:

C = ∆f log 2 (1 + RSZ ) [bps]

(2.3)

5.

Întârzierea de propagare este dată de viteza finită de propagare a câmpului electromagnetic prin canalul de comunicaŃie.

6.

Dispersia în timp a componentelor spectrale este dată de vitezele diferite de propagare ale acestor componente care vor ajunge la recepŃie cu întârzieri variabile. Acest efect produce distorsiunile fază – frevenŃă care determină alterarea informaŃiei utile înglobată în semnale.

7.

Atenuarea semnalelor care determină scăderea puterii semnalului la recepŃie şi micşorarea raportului semnal – zgomot. Atenuarea semnalului este produsă de fenomene de absorbŃie, difuzie, dispersie etc. existente în orice canal de comunicaŃie.

4

2.2.2 Medii de transmisie Cabluri de transmisie Cablul bifilar torsadat este cel mai simplu, ieftin şi răspândit mediu de propagare, dar şi cu performanŃele cele mai modeste. Sunt mai multe categorii de cabluri bifilare: categoriile 3, 5, 6, 7 etc. Sunt constituite din perechi de fire de cupru izolate şi răsucite (torsadate), grupate, de regulă, în cabluri multifilare. Răsucirea determină reducerea influenŃelor reciproce dintre perechile de fire aflate în acelaşi cablu (diafonia) şi măreşte banda de trecere a canalului bifilar. Cu cât pasul de răsucire este mai mic, cu atât performanŃele cablului sunt mai bune. Banda de trecere a cablului bifilar depinde de lungimea sa şi este uzual de sute kHz, putând ajunge până la 100 MHz pe distanŃe scurte. Atenuarea acestor cabluri creşte semnificativ cu frecvenŃa. Un cablu bifilar larg folosit în LAN-uri este cel torsadat neecranat, cu 8 perechi de fire, cunoscut su denumirea UTP (Unshilted Twisted Pair). Cablul coaxial este un ghid de undă format dintr-un conductor central şi un înveliş metalic separate printr-un dielectric. Câmpul electromagnetic se propagă ghidat prin dielectricul dintre cele două conductoare. RadiaŃia externă a câmpului este foarte redusă şi, ca urmare, atenuarea şi influenŃele cu alte cabluri din apropiere sunt foarte mici. Cablurile coaxiale sunt de mai multe feluri, cu proprietăŃi şi aplicaŃii diverse. Se pot menŃiona: - cablurile uşoare cu diametru mic, bandă mare (sute MHz), impedanŃă caracteristică 50Ω sau 75 Ω; - cablurile grele cu diametru mare, bandă foarte mare (GHz), impedanŃă caracteristică 50 Ω. Cablurile coaxiale sunt folosite pentru transmisii de date de mare viteză şi pe distanŃe mari, zeci de km. Totuşi este de menŃionat că la frecvenŃe (viteze de transmitere) foarte mari, atenuarea acestor cabluri este semnificativă şi impune folosirea regeneratoarelor (amplificatoarelor) de semnal la intervale de câŃiva km. Fibrele optice sunt ghiduri electromagnetice în gama optică care se bazează pe fenomenele de reflexie internă şi refracŃie optică pentru a transmite la distanŃe foarte mari semnale optice modulate. Spectrul optic utilizat în prezent pentru comunicaŃii optice este situat în zona lungimilor de undă de 1300 şi 1550 nm (sute THz), unde banda de trecere a fibrei optice este enormă, zeci de THz. Fibrele optice sunt construite din sticlă de siliciu de înaltă puritate, au diametrul foarte mic, cca. 200 micrometri, greutate foarte redusă şi parametrii de transmisie exelenŃi, neatinşi de nici un alt mediu de transmisie. Atenuarea foarte redusă, de ordinul sub 1 dB/km, banda de trecere foarte largă şi zgomotele propri neglijabile, fac din fibrele optice canale de comunicaŃii ideale. Tehnologia de producere a fibrelor optice, a surselor de radiaŃie optică (diode laser sau LED-uri), a fotodetectoarelor şi a echipamentelor de comunicaŃii optice este bine elaborată şi competitivă ca preŃ. În prezent sunt în stadiul de elaborare reŃele optice cu multiplexare în lungime de undă, WDM (wavelength division multiplxing) care permit ca pe una şi acceaşi fibră să poată fi transmise simultan mai multe lungimi de undă, fiecare reprezentând un canal independent de comunicaŃie. CombinaŃia dintre domeniile optic şi electric ca medii de transmitere şi prelucare a informaŃiei, realizarea reŃelelor hibride multistrat au creat un câmp vast de experimentare şi extindere a nevoilor de transmitere în continuă creştere a informaŃiilor. Medii de transmisie neghidate

5

ComunicaŃiile neghidate folosesc propagarea semnalelor electromagnetice în spaŃiul liber (neghidat). Spectrul electromagnetic folosit în comunicaŃii neghidate este foarte larg, de la cca. 104 Hz până la 1016 Hz. El este împărŃit în trei mari domenii (radio, microunde şi optic). Primele două sunt subîmpărŃite în domenii de frecvenŃă: LF, MF, HF, VHF, UHF, SHF, EHF, THF, iar ultimul în trei ferestre spectrale: 800nm, 1300nm şi 1550nm. Un canal radio sau pe microunde (satelit, radioreleu) are o fercvenŃă centrală, f0, (purtătoare) şi o bandă de trecere în jurul acesteia, ∆f, în care se poate face transmisia semanlelor informaŃionale. Cu cât frecvenŃa purtătoare este mai mare, cu atât banda canalului este mai mare. De exemplu, o lărgime relativă a canalului de 1% înseamnă ∆f =10kHz la f0 =1MHz şi ∆f =300MHz la f0=30GHz. Există şi canale radio cu spectru mult mai larg, unde nu se poate vorbi de o singură frecvenŃă purtătoare. Acestea sunt sistemele radio cu spectru împrăştiat sau cu salt de frecvenŃă. Ele sunt foarte utilizate în sistemele de comunicaŃii cu acces multiplu în cod (CDMA).

Caracteristicile canalului radio Undele radio sunt uşor de generat, se propagă pe distanŃe foarte mari, sunt puŃin atenuate de corpurile nemetalice, difuzează practic în tot spaŃiul de propagare. Pot fi direcŃionate într-o anumită măsură cu antene directive. Undele medii şi scurte (MF şi HF) se propagă şi prin refexie pe ionosferă acoperind distanŃe foarte mari (mii de km). Microundele se propagă practic în linie dreaptă, la limita vizibilităŃii directe. Pot fi uşor direcŃionate cu antene directive, sunt puternic influenŃate de condiŃiile atmosferice (praf, ploaie, zăpadă), sunt oprite de obstacole naturale. Spectrul electomagnetic din domeniul radio şi microunde este foarte aglomerat şi trebuie riguros administrat. Există reglemntări naŃionale şi internaŃionale în privinŃa utilizării sale, spre deosebire de comunicaŃiile optice care nu necesită, cel puŃin până în prezent, licenŃe de frecvenŃe de emisie. De aceea pentru transmisiile în spaŃiul deschis pe distanŃe mici încep să se folosească tot mai mult purtătoarele optice (FSO - Free Space Optics).

Fig. 2.2 Spectrul electromagnetic

6

SateliŃii de comunicaŃii sunt echipamente de recepŃie – transmisie automată (transponder) care recepŃionează o porŃiune de spectru electromagnetic purtător de informaŃie, eventual îl amplifică şi îl retransmit (difuzează) spre pământ pe o altă frecvenŃă purtătoare (pentru a evita interferenŃele).

2.2.3 Transmisii de date pe reŃeaua telefonică ReŃeaua telefonică este în prezent, alături de Internet, cea mai mare reŃea de comunicaŃii cu extindere mondială şi poate fi utilizată pentru transmisii de date, inclusiv între calculatoare. ReŃeaua telefonică are trei componente majore: - bucla locală sau reŃeaua de acces şi transport local; - oficiile (centralele) de comutare pe diferite niveluri; - trunchiurile (linkurile) care interconectează centrele de comutare. Bucla locală este, în majoritate, analogică şi, de regulă, pe fire torsadate. Are banda de trecere limitată la 300÷3400 Hz (limitarea este făcută intenŃionat în centrala de acces) şi atenuare mare. Un oficiu local este un comutator (centrală telefonică) la care sunt conectaŃi abonaŃii dintr-o arie. Poate avea până la cca 10 000 de abonaŃi. Dacă se doreşte conectarea unui calculator în locul aparatului telefonic trebuie folosit un modem. Rolul său este de a adapta semnalul numeric al calculatorului la caracteristicile liniei analogice din bucla locală. Modemurile pot realiza diferite tipuri de modulaŃie: în amplitudine (amplitude shift keying - ASK), în frecvenŃă (frequency shift keying - FSK), în fază (phase shift keying - PSK), în fază în cuadratură (QPSK), în amplitudine şi în fază simultan (QAM-16 sau QAM-64) etc. Diversitatea de tipuri de modulaŃii permite obŃinerea unor rate de modulaŃie (bauds) şi rate ale biŃilor (bps) de la 200 la 19600 şi chiar mai mult în banda canalului telefonic standard. Trunchiurile care interconectează centrele de comutaŃie transportă fluxuri numerice structurate după două standarde de bază: - PDH (Plesiochronous Digital Hierarchy) cu viteze de la 2Mbps (multiplexul primar E1) până la 140 Mbps (multiplexul de ordinul 4, E4); - SDH (Synchronous Digital Hierarchy) cu viteze de la 155 Mbps (STM-1) până la 40Gbps (STM-256). Ierarhia plesiocronă este în prezent în curs de înlocuire cu ierarhia sincronă SDH sau SONET (standardul american).

Modemurile sunt echipamente de emisie - recepŃie (modulator-demodulator) care modulază numeric un semnal analogic. Rata semnalului binar sau rata de transmisie, RT, reprezintă numărul de simboluri binare (1 şi 0) trimise în linie în unitatea de timp. Se măsoară în biŃi pe secundă (bps). Rata de modulaŃie, RM, reprezintă numărul de schimbări pe secundă a unei valori semnificative a semnalului. Se măsoară în bauds (Bd). O mărime semnificativă poate fi, de exemplu, amplitudinea semnalului. Ea poate lua două valori, 1 şi 0, în cazul semanlelor binare sau, în general, N valori. Alte mărimi semnificative pot fi frecvenŃa semnalului, faza sa etc. Rata de transmisie şi rata de modulaŃie sunt legate prin relaŃia:

(2.4)

RT (bps ) = RM ( Bd ) × log 2 N

unde N este numărul de valori semnificative ale parametrului semnalului modulat. 7

Viteza maximă a informaŃiei pe bucla de abonat din sistemul telefonic, dacă se folosesc modemuri adecvate, este aproximativ 56 kbps, limitată din cauza atenuării şi a zgomotelor din linie. Necesitatea introducerii serviciilor de bandă largă la abonat a impus găsirea altor soluŃii de creştere a vitezei în bucla de abonat. Au apărut aşa-numitele soluŃii DSL (Digital Subscriber Line), cu 2 variante: ADSL (Asimetric DSL) şi HDSL (High DSL). ADSL-urile trebuie să asigure fluxuri de date în ambele sensuri, de la abonat la comutator şi invers. ADSL-ul este caracterizat de viteză mică de la abonat la centrala telefonică (până la 1Mbps) şi viteză mare (până la 8 Mbps) invers.. O alternativă a ADSL este DTM (Discrete Multitone), ton multiplu discret, în care spectrul buclei de abonat de aprox. 1,1MHz este divizat în 256 de canale independente de 4,312 kHz fiecare. Canalul 0 este folosit pentru serviciul telefonic tradiŃional (POTS – Plane Old Telephone Service), canalele 1 ÷5 nefolosite pentru evitarea interferenŃelor, iar din restul de 250, două sunt pentru controlul fluxurilor ascendent şi descendent, celelalte 248 fiind la dispoziŃia utilizatorului.

256 canale de cca 4 kHz

f 0 1.... 5 6

Voce liber

7

256

flux ascendent

1100kHz

flux descendent

Fig. 2.3 a) Varianta ADSL cu DTM Comutator telefonic Coder vocal PCM Separator de fercvenŃă

Tf Linie tf. analogică

Separator fercvenŃă

NID

(buclă locală)

DSLAM Modem ADSL

Spre ISP

Ethernet/ USB

LocuinŃă client

Oficiu telefonic final

NID -Network Interface Device ISP- Internet Service Provider DSLAM- Digital Subcscriber Line Access Multiplexer

Fig.2.3 b) ConfiguraŃie tipică de echipament ADSL

8

2.3 Protocoale de nivel fizic în reŃele de calculatoare 2.3.1. ReŃeaua Ethernet Standardul IEEE 802.3, recunoscut şi ISO 8802.3, cuprinde o ierarhie formată din următoarele protocoale: - un protocol pentru nivelul fizic (de fapt un evantai de protocoale posibile a se folosi pentru nivelul fizic); - un protocol pentru subnivelul MAC, bazat pe algoritmul de acces la mediu CSMA/CD şi acceptând ca protocol al subnivelului LLC superior, standardul IEEE 802.2. Subnivelele MAC şi LLC aparŃin nivelului 2, nivelul legătură de date. Standardul IEEE 802.3 s-a bazat initial, la nivel fizic, pe o arhitectura de tip magistrală cu cablu coaxial şi a evoluat către topologia de stea, bazată pe cablu torsadat UTP şi fibră optică. Vitezele de transmisie prevăzute de standard pentru diversele variante de medii sunt de 1Mbps, pentru varianta 1Base5 şi 10Mbps pentru versiunile: - 10Base5, 10Base2, 10Broad36, toate bazate pe cablu coaxial; - 10BaseT pentru cablul cu perechi de fire răsucite UTP; - FOIRL, 10BaseFP, 10BaseFB, 10BaseFL pentru fibra optică. ReŃelele care lucrează la viteze peste 10Mbps sunt considerate reŃele de mare viteză şi sunt prezentate sub denumirea de LAN de mare viteza HSLAN (High Speed LAN). Standardele 10Base5, 10Base2, 10Broad36 bazate pe cablu coaxial sunt depăşite în prezent.

Fig. 2.5 Protocoalele de nivel fizic şi legătură de date în reŃele Ethernet

9

Standardul 10BaseT Standardul 10BaseT constituie o prima abordare structurată a problemelor legate de dezvoltarea reŃelelor, în sensul ca staŃiile ataşate sunt legate toate la un repertor multiport (numit şi hub), sunt conectate împreună, nu sunt inserate fiecare în diverse locuri ale mediului. Standardul specifică caracteristicile unităŃii de ataşare la mediu şi caracteristicile mediului de transmisie, legate de transmisia la 10MHz, în banda de baza şi pe un segment de cablu torsadat (twisted pair). Conform acestui standard, singura modalitate de conectare a două staŃii este printr-o legătură punct-la-punct, de unde necesitatea utilizării repetoarelor multiport, pentru conectarea a mai mult de două staŃii, formandu-se astfel o topologie stelară. La nivel MAC se implementează identic protocolul 802.3. Principalele funcŃii ale unui transceiver 100BaseT sunt cele obişnuite pentru un transceiver 802.3, cu particularitatile proprii mediului de transmisie, si anume: -transmisia datelor primite de la interfaŃa 802.3, date codificate Manchester, către mediu, respectiv către perechea de linii de transmisie date TD (Data Transmitting); în lipsa datelor de transmis, se transmite pe linie un semnal idle TP_IDL, care este de fapt o secvenŃă specifică de impulsuri; -recepŃia datelor de pe perechea de linii RD (Data Receiving) şi transmiterea către interfată; -detectarea semnalului de coliziune în mediu (pe liniile RD) si elaborarea semnalului corespunzator către interfaŃă; -generarea de semnal de test pentru circuitele de detectare a coliziunii (semnal SQET); -funcŃia de buclare (loop-back), prin care datele transmise catre mediu sunt transmise în ecou înapoi către interfaŃă; -funcŃia test de integritate a legăturilor, bazată pe faptul că dacă o perioadă de timp (50-150ms) nu se primeşte semnal de date sau semnal TP_IDL, se considera cădere de linie. Un segment 10BaseT este constituit dintr-un cablu torsadat format din cel puŃin două perechi de fire răsucite, cu următoarele caracteristici: -impedanŃa de 100 + 15 ohmi, pentru frecvenŃe de până la 16MHz; -lungimea de maxim 100m (în timp aceasta a fost mărită datorită folosirii cablurilor UTP de categoria 5, pentru care diafonia şi atenuarea au scăzut mult; se poate lucra aici până la 165m); -viteza de propagare a semnalului electric este de cel putin 0,585c (c fiind viteza luminii); -atenuarea este de maxim 11,5dB. Reteaua 10BaseT prezintă avantajele legate de raportul cost/performanŃă, de uşurinŃa de instalare şi gestionare a reŃelei, de modernizare, fiind modelul ideal pentru reŃelele dedicate grupurilor de lucru.

Standardul pentru fibra optică 10BaseF Setul de standarde 10BaseF reglementează folosirea cablu1ui cu fibra optică pentru un LAN 802.3. Este compus din următoarele standarde: -10BaseFP, bazat pe steaua pasivă; -10BaseFB, bazat pe transmisia sincronă pe fibra optică; -10BaseFL, o îmbunataŃire a standardului FOIRL.

Standardul 10BaseFB O alta posibilitate de folosire a fibrei optice este dată de standardul 10BaseFB, care descrie condiŃiile necesare folosirii cablului de fibră optică ca şi coloană vertebrală (backbone) între două 10

repetoare. Câmpul FB din nume semnifică exact folosirea fibrei optice ca backbone. Transmisia este de tip sincron, lucru care face eficace folosirea de echipamente transceiver tolerante la erori (faulttolerant). Aceste echipamente sunt dotate cu două porturi (interfeŃe) pentru accesul la mediu, una principală şi una de restaurare, care intră în funcŃiune la defectarea primei.

Standardul 10BaseFL Standardul 10BaseFL se referă la problemele folosirii optice ca legatură (Link) între repetoare sau staŃii ale unui LAN 802.3. Legăturile pot fi de tip punct-la-punct sau stelare (dacă sunt folosite repetoare multiport). Un segment 10BaseFL constă într-o conexiune punct-la-punct prin fibra optică între două unităŃi MAU (unităŃi legate prin cabluri la repetoare sau staŃii). El poate avea o lungime de până la 2000m. Transceiver-ul este compatibil cu MAU FOIRL şi are aceleasi caracteristici optice precum MAU 10BaseFB.

2.3.5 ReŃeaua Fast Ethernet 100BaseX ReŃea Ethernet la 10Mbps nu mai poate asigura nevoile de viteză crescută datorită noilor aplicaŃii, îndeosebi aplicaŃii multimedia, care solicită o bandă de frecvenŃe superioară, deci operarea la viteză ridicată. S-au căutat soluŃii pentru realizarea unei noi reŃele, tot de tip Ethernet, dar de viteza superioară. De asemenea organizaŃiile de standardizare au creat grupuri speciale de lucru pentru reproiectarea unei reŃele Ethernet rapide. Astfel a fost creat grupul de lucru IEEE pentru elaborarea standardului 802.13 (pentru reŃea 100BaseX), precum şi o asociaŃie FEA (Fast Ethernet Alliance) pentru promovarea produselor şi standardizarea în domeniul reŃelei Ethernet rapide. Mai populară decât numele 100BaseX este denumirea Fast Ethernet, larg cunoscută printre utilizatori. Fast Ethernet este definită pentru trei implementări fizice diferite: - reŃea 100BaseTX utilizează cabluri torsadate UTP de categoria 5, câte două perechi de fire pentru fiecare direcŃie de transmisie; ea foloşeste aceleaşi perechi de fire şi configuraŃii de pini, aceeaşi topologie ca reŃeaua 10BaseT. În plus, ea lucrează full duplex la 100Mbps, şi pentru a asigura compatibilitatea la nivelul fizic cu standardul FDDI, utilizează codarea 4B/5B. - reŃea 100BaseFX utilizează fibra optică multimodală; constituie dezvoltarea retelei de tip 10BaseFL, folosită pentru legături punct-la-punct, pe o lungime de până la 2km. ReŃeaua 100BaseFX are aceeşi utilitate, asigură aceeaşi distanŃă de legare între două repetoare, dar la viteza de 100Mbps, în mod full duplex. - reŃea 100BaseT4 pentru posibilitatea utilizării cablurilor torsadate UTP cu patru perechi de fire, categoria 3; este necesar însă ca toate cele patru perechi să fie conectate între nod şi hub (la 10BaseT exista posibilitatea utilizării a numai două perechi). În aceasta implementare, datele transmise/recepŃionate de interfaŃa vor fi multiplexate/demultiplexate pe trei perechi de fire ale cablului, a patra fiind folosită pentru controlul coliziunii. Pentru aceasta se utilizează o tehnică specială de codare 8B/6T, folosind semnale ternare. Având la dispoziŃie trei perechi de fire pentru transmisie şi folosind semnale ternare, se pot codifica până la 27 de simboluri, deci pe cele trei fire se pot transmite în cursul unei perioade de ceas câte 4 biŃi. Cum viteza de semnalizare folosită este de 25MHz (deci cu puŃin superioară celei de 20MHz, folosită pentru codarea Manchester utilizată de 11

reŃeaua 10BaseT), viteză care este suportată de cablurile UTP categoria 3, per global se va obŃine o viteză de transmisie de 100Mbps.

2.3.6 ReŃeaua Gigabit Ethernet Dezvoltarea reŃelelor Ethernet a continuat în ultimii ani cu propunerea de standard şi realizarea reŃelei Ethernet la 1000Mbps. ForŃe reunite ale IEEE, prin comitetul de lucru 802.3z sau 802.3ab şi colective din cadrul organizaŃiei Fast Ethernet Alliance au pus în discuŃie deja o variantă de standard pentru reŃeaua 1000BaseT, bazată pe cablul torsadat, sau reŃeaua 1000BaseLX, bazată pe fibră optică. Deoarece toate aceste reŃele poartă numele generic Gigabit Ethernet, se va folosi şi această denumire pe parcurs. Gigabit Ethernet defineşte acelaşi format de cadru, foloseşte metoda de acces CSMA/CD, are aceleaşi mecanisme de control şi management ca reŃeaua tradiŃionala şi operează de 100 ori mai repede. Ca medii fizice se utilizează cu precădere a cablului torsadat de categoria 5, de categoria 6 (suporta transmisie la 200MHz) şi categoria 7 (poate transporta semnal la 600MHz) precum şi fibra optică. ReŃeaua, numită 1000BaseT prevede o lungime a cablurilor între staŃii şi concentrator de peste 100m, supunându-se normelor EIA/TIA 568.

2.4 ReŃele locale fără fir - WLAN ReŃelele fără fir, numite şi reŃele WLAN (Wireless LAN), au o dezvoltare importantă, datorată progreselor în comunicaŃiile digitale, comunicaŃiile mobile şi tehnologia semiconductoarelor. Deşi încă performanŃele WLAN sunt inferioare reŃelelor cablate, ele constituie un complement la acestea. Ele au o dezvoltare şi o utilitate similare cu cea avută de echipamentele de calcul mobile, precum calculatoarele notebook sau laptop. Ele prezintă diverse avantaje faŃă de reŃelele cablate şi anume: - prezintă flexibilitate în poziŃionarea staŃiilor; - oferă usurinŃă în instalarea, reconfigurarea şi întreŃinerea staŃiilor; - permit folosirea de staŃii mobile. Necesitatea de a dezvolta un model de operare care să asigure compatibilitatea între diverşii producatori de echipamente WLAN, a făcut ca organizaŃiile de standardizare IEEE şi ETSI (European Telecommunications Standards Institute), să organizeze un grup de lucru pentru elaborarea unui standard pentru WLAN, folosindu-se de asemenea experienŃa acumulată în cadrul forumului WLI Forum (Wireless LAN Interoperability Forum). Astfel a apărut standardul 802.11, standard pentru reŃelele WLAN, comparat ca importanŃă cu standardul 802.3 pentru reŃelele LAN obişnuite. După lungimea de undă folosită, reŃelele WLAN se pot considera a fi: - bazate pe raze infraroşii; - bazate pe unde radio; - bazate pe microunde. Standardul 802.11 se ocupă în principal de două nivele, dezvoltând protocoale specifice pentru:

12

- nivelul fizic, unde menŃionează posibilitatea alegerii a trei tehnologii de nivel fizic, una bazată pe radiaŃie optică în infrarroşu şi alte două pe unde radio în banda ISM. Posibilitatea folosirii mai multor nivele fizice este avantajoasă pentru că dă oportunitatea utilizatorilor de a exploata avantajele fiecăreia, dar are dezavantajul că necesită specificarea adiŃională a tipului de mediu folosit şi a vitezei de operare a datelor (necesar a fi cunoscut la nivelul de operare al WLAN, pentru asigurarea interoperabilităŃii). - accesului la mediu, propunând protocolul accesului multiplu cu detectarea purtătoarei şi evitarea coliziunii CSMA/CA, găsit cel mai potrivit pentru specificul transmisiilor cadrelor (transmisie asincrona şi cu timp limitat pentru ajungerea cadrelor la destinaŃie).

WLAN bazat pe raze infraroşii Pentru o reŃea WLAN având nivelul fizic bazat pe folosirea razelor infraroşii, fiecare staŃie legată în reŃea posedă un echipament de conectare (transceiver) alcătuit dintr-un LED (Light Emitting Diode) sau DL (diodă laser) ce emite în infraroşu şi o fotodiodă funcŃionând pe aceeaşi lungime de undă. Se pot folosi trei moduri de conectare a staŃiilor: -

conectarea punct-la-punct, ce implică alinierea transceiverelor pentru a se putea “vedea” reciproc; acest mod de conectare este de folos în reŃele de tip inel, Token Ring de exemplu, putându-se prevedea o distanŃă între staŃii de până la 10m; în acest mod se pot realiza LAN în cadrul unei săli sau clădiri; - conectarea folosind propagarea prin semi-difuzie; - conectarea folosind propagarea prin difuzie totală.

Ultimele două moduri folosesc pentru propagarea fascicolului luminos suprafeŃe pentru reflectarea razelor infraroşii, fie suprafeŃe pasive (precum tavanul sau pereŃii încăperii), cazul metodei cu difuzie totală, fie suprafeŃe active (numite sateliŃi), cu rol de amplificare şi direcŃionare a semnalului, cazul semi-difuziei. Aceste două ultime metode sunt folosite la implementarea WLAN cu difuzie (broadcast), precum reŃele de tip Ethernet. Realizările practice acoperă viteze de transmisie de până la 16Mbps (cazul reŃelelor de tip Token Ring), reŃelele ocupând un spaŃiu limitat, de obicei o singură încăpere.

WLAN bazat pe unde radio în banda ISM În spectrul electromagnetic, anumite benzi de frecvenŃe sunt alocate, prin reglementări internaŃionale, unor aplicaŃii civile, în domeniul industrial, ştiinŃific şi medical, de unde vine şi denumirea de banda ISM (benzile sunt alocate de către Federal Communication Comitee). Sunt alocate trei domenii ISM: -

ISM# 1, cu banda de frecvenŃe 902 - 928MHz;

-

ISM#2, cu banda 2400 - 2483MHz;

-

ISM#3, cu banda 5725 - 5850MHz.

In ultimii ani, operatorii WLAN au folosit intens aceste benzi, îndeosebi ultimele două (pentru benzile ISM nu este necesara licenŃa, singura restricŃie este să nu se emită la o putere superioară de 1 W), ajungându-se la un nivel de interferenŃă ce coboară calitatea comunicaŃiei. S-a făcut necesară utilizarea unei metode de modulare noi, folosită până atunci doar pentru transmisiile militare, metoda numita modularea prin lărgirea spectrului (spread spectrum modulation). În esenŃă 13

ea constă în răspândirea (distribuirea) energiei unui semnal de banda limitată, în cadrul unei benzi mult mai largi, densitatea spectrală a energiei scăzând. Se obŃine astfel un semnal cu o energie inferioară celui a zgomotului de fond ambiental, deci semnalul devine imperceptibil, iar interferenŃele sunt minime. Standardul 802.11 defineşte la nivel fizic două tehnici pentru obŃinerea unui semnal de bandă limitată cu spectru lărgit: - semnal de spectru lărgit cu secvenŃiere directă DSSS (Direct Sequence Spread Spectrum) Tehnica presupune folosirea pentru transmiterea fluxului de biŃi, a unei purtătoare de frecvenŃă variabilă, frecvenŃă dată de o funcŃie de distribuŃie. Această funcŃie este cunoscută atât de emiŃator cât şi de receptor. Standardul defineşte rate de biŃi de 1 sau 2 Mbps, folosindu-se canale de transmisie de 26MHz, în cadrul benzii de 2,4-2,483GHz. - semnal de spectru lărgit cu salturi de frecvenŃă FHSS (Frequency Hopping Spread Spectrum). Tehnica presupune că atât emiŃătorul cât şi receptorul să lucreze în rafală, trecând de la o frecvenŃă la alta în mod sincron, după un şablon de frecvenŃe cunoscut. Standardul operează de asemenea la 2,4GHz, folosind 79 de canale de 1MHz fiecare. Fiecare sub-banda foloseşte minim 2,5 salturi/sec. La nivelul protocoalelor pentru accesul la mediu (protocoale MAC), standardul propune metoda accesului multiplu prin detectarea purtătoarei şi evitarea coliziunii (CSMA/CA). Fiind un protocol bazat pe rezervare, nu pe concurenŃă, alocându-se un punct central de control, metoda devine eficientă pentru aplicaŃiile WLAN, asigurând o utilizare eficientă a spectrului.

2.7 Accesul la reŃelele publice 2.7.1 Nivelul fizic al accesului ReŃelele de calculatoare de arie medie sau largă utilizează în multe cazuri reŃele publice sau private de transport a datelor. Pentru aceasta ele trebuie să acceseze şi să folosească infrastructura de comunicaŃii. ReŃelele publice stabilesc legături între două elemente ale reŃelei prin intermediul unor circuite comutate sau închiriate, realizate prin funcŃii specifice de către centralele (comutatoarele) acesteia. Cel dintâi şi cel mai simplu serviciu pentru transmisiile de date a fost obŃinut prin utilizarea unui canal telefonic obişnuit, accesat prin intermediul unui modem. Prin introducerea centralelor telefonice digitale a început procesul de înlocuire a liniilor telefonice analogice prin trunchiuri digitale de mare viteză, apărând posibilitatea punerii la dispoziŃia constructorilor de reŃele a canalelor directe digitale, făcându-se posibila dezvoltarea unor reŃele de mare întindere cu o viteză ridicată şi rată scazută de erori; în acest mod, doar linia de legare a utilizatorului către centrală (bucla locală) a rămas cea clasică. Prin apariŃia reŃelelor publice comutate digitale ISDN (Integrated Services Digital Network), şi această ultimă legătură analogică (de la utilizator la centrală) este înlocuită, apărând posibilitatea integrarii pe o linie telefonică a unor servicii diverse, precum: telefonie, transmisie de date, fax, video-conferinŃe, telealarme, etc.

2.7.2 InterfaŃa serială

14

Toate echipamentele (terminale, calculatoare, routere) care se conectează la linia de transmisie telefonică, fie ea analogică, fie digitală, folosesc pentru realizarea conectării, interfaŃa serială. Standardele ITU-T au introdus notaŃiile DTE (Data Terminal Equipment - Echipament Terminal de Date) pentru echipamentele care se conectează (cele enumerate mai sus), şi DCE (Data Circuit-Terminating Equipment - Echipament Terminator al Circuitului de Date) pentru aparatura de comunicaŃie folosită, cum ar fi modemul. Conectarea unui DTE cu un DCE constituie o parte a conŃinutului nivelului fizic. Exista numeroase standarde care definesc protocoale pentru acest tip de nivel fizic, precum RS-232, RS-449, V.24, V.35, primele două fiind cele mai răspândite şi fiind prezentate sintetic în continuare.

2.7.3 Standarde de transmisie în telefonia digitală Spre deosebire de comutarea circuitelor, care a stat la baza transmisiei prin intermediul liniilor telefonice comutate, transmisia bazată pe comutarea pachetelor asigură o mai buna utilizare a canalelor de transmisie. Această nouă formă de comutare este realizabilă doar pe baza transmisiei digitale (numerice). Ea a dus la înlocuirea treptată a canalelor directe analogice cu cele digitale, legăturile între centralele telefonice fiind realizate prin trunchiuri digitale de înaltă viteză, folosind tehnica de transmisie prin diviziune în timp TDM (Time Division Multiplexing). Se prezintă în continuare principalele caracteristici aferente nivelului fizic pentru cele mai importante tehnologii digitale (transmisiile cu cadre, transmisiile pe fibră optică, reŃele ISDN şi ATM).

Standardul PDH. PurtătoareleT1 si E1 Transmisia normală pe un canal telefonic digital necesită un flux de date de 64kbps, valoare obtinuta pe baza teoremei lui Nyquist, luând în considerare reconstruirea unui semnal analogic cu banda de 4KHz (bandă în care se încadreaza semnalul audio) şi reprezentarea esantioanelor pe 8 biti. Canalele telefonice digitale se vor transmite pe trunchiurile de mare viteză, prin folosirea tehnicii de multiplexare TDM, construindu-se cadre care transportă un număr de canale vocale. În SUA si Japonia s-a dezvoltat sistemul Tl, cadrul transportator fiind proiectat pentru multiplexarea a 24 de canale vocale la 64kbps (64x8=192 biŃi plus un bit pentru sincronizare, adică 193 biŃi transportaŃi la fiecare 125microsecunde), obŃinând un canal de transport de 1.544Mbps, dintre care 1.536Mbps sunt folosiŃi pentru transmisia datelor şi 8kbps pentru informaŃia de sincronizare.

Tabelul Multiplexul PDH Nivel de America de Nord multplexare Nivel 0 64 kbps (1 canal) T0 Nivel 1

1,544 Mbps (23+1canale)

Nivel 3,152 Mbps intermediar Nivel 2 6,312Mbps (96 canale)

Japonia 64 kbps (1 canal)

Europa T0

T1

64 kbps (1 canal)

2.048 Mbps (30+2 canale), E1 -

T2

E0

6,312 Mbps(96 canale)

T2

8.448 Mbps

E2

Nivel 3

44,736 Mbps (672 canale) T3

32,064 Mbps (480 canale) T3

34,368 Mbps (512 canale), E3

Nivel 4

274,176 Mbps(4032 canale) T4

97,728 Mbps (1440 canale) T4

139,264Mbps (2048 canale) E4

15

In Europa se foloseste un alt cadru transportator, numit E1, care se bazează pe transmiterea multiplexată a 32 de canale de 64kbps, obŃinând cadrul purtător la 2.048Mbps. Dintre cele 32 de canale, 30 sunt folosite pentru informaŃie şi două pentru semnalizare, sincronizare şi control (sloturile de timp 0 şi 16).

Standardul SONET/SDH. Purtătoarele STS-n şi STM - n Standardul de multiplexare şi de transmisie de semnale telefonice numerice, PDH are limitări şi neajunsuri majore referitoare, printre altele, la viteza relativ mică a datelor şi mai ales la posibilităŃile reduse de control şi management ale reŃelei. Ca urmare s-au elaborat alte standarde bazate pe un mod de transfer sincron al datelor, cu alte viteze şi folosind tehnologii noi şi performante de transmisie. În 1986 s-a elaborat standardul SONET (Synchronous Optical NETwork) în Statele Unite, folosind ca mediu fizic de transmisie fibra optică. Ulterior, în 1989 a fost dezvoltat în Europa standardul SDH (Synchronous Digital Hierarchy), având la bază modelul SONET. Un sistem SONET foloseste modul de transmisie sincron (STM) şi constă din comutatoare, multiplexoare şi repetoare, legate prin fibră optică, arhitectura SONET fiind de fapt o secvenŃă de secŃiuni ce interconectează echipamente vecine. Cadrul de baza SONET este un bloc de 810 octeŃi, transmişi la fiecare 125 microsecunde; astfel se obŃine canalul de bază SONET, numit STS- 1 (Synchronous Transport Signal-I), cu o rată de transport de 51.84Mbps. Nivelele de multiplexare superioare SONET sunt multipli ai nivelului de bază. Standardul specifică transmisiile pentru o legatura SONET la 51.5Mbps, la 622Mbps sau la 10Gbps, etc., prin definirea ierarhiei de multiplexare de STS-l la STS-192.

Modelul statificat SONET/SDH PSTN/ISDN

PDH ATM IP

ATM

AplicaŃie

IP

VC-12 layer

Prezentare

VC-4 layer

Transport

Multipexion layer

ReŃea

Regeneration layer

Legătură de date

Physical layer

Fizic

Multiplexor SDH

SDH

SecŃ. reg.

Reg. SDH

Crossconnect SDH

SDH

SDH

Multiplexor SDH

SecŃ. reg.

SecŃ. mux.

SecŃ. mux. Cale

Fig. 2.15 Modelul stratificat SONET/SDH 16

PDH ATM IP

Standardul SDFH are un cadru de date de bază de 3 ori mai mare decât SONET. El se numeşte STM-1 (Synchronous Transport Module -1), este obŃinut din multiplexarea a trei cadre de bază STS-1 şi are rata de bază 155,52 Mbps. Cele două standarde sunt perfect compatibile pe anumite nivele de multiplexare. STM-1 155,520Mb/s STM-4 622,080Mb/s STM-16 2488,320Mb/s STM-64 9,953280Gb/s STM-256 39,17312Gb/s

OC 1 SONET 51 Mb/s, OC 3 SONET 155 Mb/s OC 48 SONET 622 Mb/s OC 192 SONET 2,4 Gb/s. OC 768 SONET 9,953280Gb/s

ReŃele numerice cu servicii integrate ISDN La mijlocul anilor '80 a demarat proiectul de construire a unui nou sistem telefonic cu circuite comutate, complet digital, numit ISDN (Integrated Services Digital Network), care să permită transmisia integrata de servicii vocale şi non-vocale. ReŃeaua ISDN este definită ca o reŃea ce permite o conectivitate digitală capăt la capăt şi oferă o gamă largă de servicii, incluzând voce sau video, servicii la care utilizatorii au acces printr-un set limitat de interfeŃe standard. Prima dintre aceste interfeŃe standard definită şi denumită acces de bază (base access), a fost concepută pentru utilizatorul final şi conŃine două canale de date B (de bază) de 64kbps fiecare, şi un canal D (16kbps) pentru semnalizări. S-a dezvoltat apoi alt tip de interfaŃă, numit acces primar (primary rate access), conceput pentru deŃinătorii de centrale telefonice digitale şi prevăzând o rată mai generoasă de date prin alocarea de canale H, de mare viteza (megabiŃi pe secundă) Tabelele următoare prezintă tipuri de canale ISDN şi structuri de interfeŃe ISDN. Tabelul 2. Tipuri de canale şi interfete ISDN Canal B H0 H11 H12 D16 D64

Rata de bit 64 kbps 384 kbps 1536 kbps 1920 kbps 16 kbps 64 kbps

InterfaŃa Basic access Primary rate access Primary rate access Primary rate access Basic access Primary rate access

InterfaŃa Basic access

Rata de bit 192 kbps 1544 kbps

Primary rate access

2048 kbps

Structura interfeŃei 2B + D16 23B + D64 3H0 + D64 H11 30B + D64 5H0 + D64 H12 + D64

Deoarece Narrow-ISDN (ISDN de bandă îngustă, care se bazează pe canale de 64kbps), nu poate satisface cerinŃele actuale, prin folosirea canalelor de mare viteza H se ating vitezele de ordinul Mbps şi zecilor de Mbps, şi deci a aparut firesc ISDN în bandă largă, numit B-ISDN (BroadbandISDN). El se defineşte ca acel sistem care prevede canale cu viteze superioare ratei primare, prevăzând un transport al pachetelor cu dimensiune fixă (celule), de la sursă la destinaŃie, cu o viteză de 155Mbps. Recomandarile ITU definesc sintetic posibilităŃile B-ISDN astfel: "B-ISDN prevede conexiuni comutate, permanente sau semi-permanente, punct la punct sau punct-multipunct şi asigură servicii rezervate sau permanente. Conexiunile B-ISDN prevăd servicii cu comutare de pachete sau de circuite, de tip mono sau multi media, în configuraŃii uni sau bidirecŃionale, orientate sau nu pe conexiune."

17

Întrebări de control 1. DefiniŃi şi caracterizaŃi un canal de transmitere a informaŃiei. Cum influenŃează canalul de comunicaŃie propagarea semnalelor informaŃionale? 2. Care sunt componentele fizice ale unei reŃele şi descrieŃi rolul acestora? 3. Echipamentele de emisie-recepŃie recunosc şiruri de biŃi, caractere de câte 8 biŃi sau biŃi individuali? 4. Ce este un modem, ce rol are într-o reŃea? 5. Ce se înŃelege prin modularea semnalelor şi ce tipuri de modulaŃii se folosesc în transmisiile de date? 6. Care sunt cauzele erorilor de transmisie pe canalele de comunicaŃie şi cum pot fi ele reduse? 7. Cum este definită rata erorii pe bit (BER) şi ce valori uzuale oferă canalele de comunicaŃii? 8. Care sunt parametrii unui semnal purtător care pot fi modulaŃi de către semnalul informaŃional? 9. Ce este o modulaŃie analogică? Dar una numerică? 10. Cum se obŃine un semnal numeric dintr-un semnal analogic? Dar invers? 11. Care este teorema eşanŃionării şi ce importanŃă are în prelucrarea semnalelor informaŃionale? 12. Care sunt caracteristicile standardului 802.3 (Ethernet) la nivel fizic? 13. Idem pentru Standardul 802.11 (LAN fără fir) 14. Idem pentru Standardul 802.15 (Bluetooth) 15. DescrieŃi posibilităŃile şi tehnicile de acces fizic la reŃelele publice: interfeŃe, modemuri, tipuri de modulaŃii analogice şi numerice.

Probleme rezolvate 1. Un semnal analogic de 4kHz este eşantionat cu o rată minimă dată de teorema lui Shannon. Care este rata eşantioanelor în linia de transmisie? Dacă fiecare eşantion se cuantizează pe 7 biŃi, care este rata de transmisie în bps? R. Rata de eşantionare conform teoremei lui Shannon este: R = 2 f max = 8kHz Fiecare eşantion avînd 7 biŃi, rata de transmisie va fi: B = 7 × 8 = 56kbps 2. O modulaŃie combinată în amplitudine şi fază (QAM) cu 4 faze şi două nivele de amplitudine are rata de modulaŃie 1200 Bauds. Care este rata de transmitere a informaŃiei pe un astfel de canal? R. O diagramă de modulaŃie QAM cu 4 faze şi două niveluri de amplitudine arată astfel: 101 001 110

010

000

100

011 111

Cele 8 stări posibile ale semnalului modulat se pot reprezenta cu câte 3 biŃi. Ca urmare rata biŃilor în linie va fi:

18

B = 3 × 1200 = 36kbps 3. În cât timp se transmite un pachet de 64 kocteŃi pe o linie E3 de 34 Mbps? R.. Durata unui bit pe o linie de 34 Mbps este: 1 = 29,4ns 34 × 10 6 Durata transmisiei pachetului de 64 kocteŃi va fi: Tb =

T = 29,4ns × 64000 = 1.882ms 4. Care este frecvenŃa corespunzătoare unei purtătoare optice de 1550nm? Presupunând că această purtătoare este folosită pentru transmiterea unui semnal informaŃional cu banda de 100 MHz, să se determine ce lărgime spectrală optică îi corespunde. R. FrecvenŃa optică se determină cu relaŃia: 299792 × 10 3 f = = = 1,934 × 1014 Hz = 193,4THz −9 λ 1550 × 10 c

Pentru a afla spectrul de frecvenŃe optice, se diferenŃiază df = − ∆λ =

c

λ2

λ2 c

ecuaŃia f =

c

λ

şi se obŃine:

dλ . Trecând la variaŃii finite şi luând valoarea absolută a expresiei , rezultă:

∆f =

1.55 × 10 −12 × 100 × 10 6 = 0,517 × 10 −12 m = 0,517 pm 3 299792 × 10

Probleme propuse 1. Canalele de televiziune au 6MHz. Care este rata minimă de transmisie dacă se folosesc semnale digitale pe 4 nivele şi canale fără zgomot? 2. Dacă un semnal binar este transmis pe un canal de 3kHz având un raport semnal zgomot de 20 dB, care este capacitatea (rata maximă) de transfer a datelor realizabilă? 3. Ce raport semnal zgomot este necesar pentru a transmite o purtătoare T1 pe o linie de 50kHz? Este posibilă o astfel de transmisie? 4. Ce bandă de frecvenŃă ocupă o sursă de radiaŃie optică ce emite o lărgime spectrală ∆λ=2nm centrată pe λ0=1500nm. Cum este această valoare comparativ cu lărgimea spectrală a surselor informaŃionale cunoscute? 5. Un canal pe fibră optică este folosit pentru a transmite imagini de pe un ecran de calculator având rezoluŃia 1024x768 pixeli, fiecare pixel fiind codat pe 3 octeŃi. Rata de afişare a imaginilor este 60 cadre pe secundă. Care este lărgimea de bandă necesară a fibrei şi ce spectru optic va ocupa acest semnal la λ0=1300nm? 6. O rază laser de 1 mm lăŃime este transmisă la un receptor aflat la 100m distanŃă. Dacă diametrul lentilei de recepŃie este 1 dm, care trebuie să fie divergenŃa unghiulară a spotului emis pentru a acoperi toată suprafaŃa receptorului? 7. O diagramă de modulaŃie în fază are faze în punctele (1,1), (1,-1), (-1,1) şi (-1,-1). CâŃi bps poate atinge un modem cu rata de modulaŃie de 1200Bd?

19

8. Ce tip de modulaŃie corespunde unei diagrame-constelaŃie în care toate punctele sunt pe un cerc cu centrul în origine? Dar în cazul unei diagrame în care punctele sunt dispuse pe două cercuri concentrice de raze diferite? 9. O diagramă-constelaŃie în care toate punctele au coordonatele (0,1), (0,-1), (0,2) şi (0,-2) coespunde unei modulaŃii de fază, de amplitudina sau combinată de fază şi amplitudine? 10. Zece semnale analogice fiecare cu banda de 4kHz sunt multiplexate prin tehnica FDM. Dacă între canale se păstrează un spaŃiu de gardă de 400Hz, care va fi banda ocupată de semnalul multiplexat? 11. PrecizaŃi de unde provine rata de 64kbps corespunzătoare semnalului telefonic numeric codat în impulsuri binare (semnal PCM). 12. Se consideră trei reŃele cu comutare de pachete, fiecare având n noduri (particularizare n=6). Prima are o topologie stea cu un nod central pe funcŃie de comutator, a doua are topologia de inel bidirecŃional iar a treia are o topologie total interconectată (fiecare cu fiecare). DesenaŃi aceste topologii. Câte linkuri bilaterale sunt necesare pentru implementarea fiecărei topologii? CalculaŃi numărul minim, mediu şi maxim de salturi din reŃea prin care se poate atinge oricare punct din fiecare tip de reŃea.

Temă de casă 1. DescrieŃi standardele şi protocoalele de nivel fizic utilizate pe WAN (cel puŃin unul dintre ele): • EIA/TIA -232, • EIA/TIA -449, • V.24, V.35, • X.21, • G.703, • ISDN, • T1, T3, E1, E3, E4 (Standardul PDH) • xDSL • STM-1, STM-4, STM-16, STM-64 (Standardul SDH) • OC-1, OC-3, OC-12 OC-48 etc ( Standardul SONET) 2. FaceŃi o comparaŃie a mediilor fizice de transmitere a datelor (cabluri filare, cabluri coaxiale, fibre optice, canale radio, canale pe satelit, purtătoare optică în atmosferă) din punct de vedere al capacităŃii de transmisie, benzii de trecere, distorsiunilor, atenuării, zgomotului propriu. 3. DescrieŃi infrastructura telefoniei digitale ca suport pentru transmisii de date între calculatoare. 4. DescrieŃi nivelul fizic la reŃeaua FDDI. Standardul ISO 9314. 5. DescrieŃi posibilităŃile şi tehnicile de acces fizic la reŃelele publice: interfeŃe, modemuri, tipuri de modulaŃii analogice şi numerice. 6. EnumeraŃi principalele medii fizice de transmitere a informaŃiilor şi descrieŃi particularităŃile propagării semnalelor informaŃionale prin acestea 7. DescrieŃi principalele fluxuri de date standardizate folosite în reŃelele de transport (PDH, SDH, ATM, ISDN) 8. DescrieŃi caracteristicile tehnice ale câtorva echipamente de nivel fizic: plăci de reŃea, regeneratoare, huburi, modemuri etc. folosind informaŃii din Internet. 9. DescrieŃi câteva tipuri de modemuri DSL folosite pe liniile de abonat. 20

Tema 3. NIVELUL LEGĂTURĂ DE DATE Tema prezentă rolul şi funcŃiile nivelului legătură de date într-o arhitectură de reŃea şi descrie unele protocoale specifice acestui nivel. Sunt evidenŃiate necesitatea şi importanŃa formatării fluxurilor de biŃi în cadre bine definite, recunoscute şi prelucrate de echipamentele din nodurile de reŃea, pe baza unor protocoale de nivel doi, pentru a asigura servicii nivelului superior. După parcurgerea şi însuşirea acestei teme, studentul va cunoaşte: • Care sunt rolul şi importanŃa nivelului legătură de date într-o reŃea de comunicaŃii şi calculatoare • Divizarea ascestui nivel în două subnivele (subnivelul de control al accesului la mediul de comunicaŃie şi subnivelul de control a legăturii logice) specifice reŃelelor cu medii de comunicaŃie partajate de mai mulŃi utilizatori • Care sunt cele mai cunoscute tehnici de detecŃie şi corecŃie a erorilor • Care sunt cele mai cunoscute tehnici şi protocoale de control al fluxului • Descrierea şi funcŃionarea unor protocoale de nivel doi larg utilizate în reŃele (LAPB, HDLC, PPP, Ethernet, CSMA-CD, POP 3) • Protocoale de nivel 2 în reŃele fără fir (protocoalele IEEE 802.11, 802.15, 802.16) • Segmentarea unei reŃele prin folosirea punŃilor şi a comutatoarelor • Proiectarea şi realizarea unei reŃele locale la nivel 2 pe bază de switch-uri şi hub-uri • Realizarea de LAN-uri virtuale(VLAN) şi reŃele virtuale private (VPN) bazate pe diverse tehnici (tunelare, MPLS) Lucrările de laborator vor viza studiul echipamentelor de reŃea de nivel 2 (plăci şi carduri de reŃea, switch-uri şi punŃi), proiectarea şi simularea funcŃionării de reŃele locale bazate pe comutatoare şi realizarea de LAN-uri private (VPN). Timpul minim necesar studierii temei este 10 ore.

42

Introducere Nivelul legătură de date este situat deasupra nivelului fizic şi asigură servicii pentru nivelul reŃea. Rolul său de bază este transmiterea corectă a blocurilor de date între două noduri vecine din reŃea. FuncŃiile specifice pe care trebuie să le realizeze sunt: - furnizarea unei interfeŃe bine definite cu nivelul reŃea; - tratarea erorilor de transmisie apărut în mediul fizic; - reglarea fluxului de date pentru a nu bloca receptorul; - controlul accesului la mediul fizic. Pentru aceasta, pachetele de date care vin de la nivelul reŃea sunt încapsulate în cadre în vederea transmiterii pe mediul fizic. Generic, un cadru de nivel LD are un antet (început de cadru), câmpul de informaŃie utilă şi o încheiere (sfârşit de cadru). Nivelul LD este în mod obişnuit împărŃit în două subnivele: subnivelul de control al legăturii logice (LLC – Logical Link Control) şi subnivelul de control al accesului la mediu (MAC- Medium Access Control). Primul se ocupă de formarea cadrelor, controlul erorilor, servicii de confirmare dacă este cazul, interfaŃa cu nivelul superior etc. indiferent cum este partajat mediul de transmisie. El crează o interfaŃă uniformă între nivelele superioare şi subnivelul MAC. Al doilea subnivel are două roluri majore: stabilirea şi respectarea regulilor de acces la mediu comun de transmisie a mai multor utilizatori şi adaptarea la mediul fizic, astfel încât, să ascundă diferenŃele legate de diferite medii de transmitere, forme de semnal, coduri de linie etc. Nod sursă

Nod destinaŃie

Pachet Antet

Date utilizator

Pachet

Cadru Sfârşit

Antet

Date utilizator

Sfârşit

Fig. 3.1 Împachetarea PDU-urilor în cadre

3.1 Protocoale de nivel LD Formatul cadrelor diferă de la un protocol la altul, dar o formă generală este cea din fig. 3.2. Start

Adresă Control

Date utilizator

Verificare

Stop

Fig. 3.2 Formatul general al unui cadru LD Câmpurile Start şi Stop au structură fixă şi reprezintă delimitatori de cadru. Câmpul Adresă conŃine adresele de nivel fizic (numite în Internet adrese MAC) ale sursei şi ale destinaŃiei. Câmpul Control are rolul de a permite controlul transmisiei în funcŃie de timpul de recepŃie, inclusiv prelucrare şi retransmisie în caz de erori. Blocul de verificare este destinat monitorizării erorilor de transmisie. Cea mai simplă metodă de control a erorilor este bitul de paritate. O altă metodă mai elaborată este suma de control. Ea se efectuează la emisie, se înscrie în câmpul de control şi se 43

verifică la recepŃie. Dacă valorile sunt diferite, rezultă că în timpul transmisiei au apărut erori şi se iau decizii în consecinŃă. Verificarea erorilor se poate face pentru tot blocul de date (tot cadrul) sau numai pentru antet. Controlul recepŃiei cadrelor se face în mod uzual prin proceduri de confirmare pozitivă (positive acknowledgment, abreviat ack) sau confirmare negativă (negative acknowledgment, nak) trimise pe o cale de reacŃie de la receptor la transmiŃător. Fiecare confirmare pozitivă arată un cadru recepŃionat corect, fiecare confirmare negativă arată o eroare şi presupune retransmiterea cadrului. Dacă după un timp prestabilit nu soseşte nici ack nici nak, cadrul este retransmis automat. Există trei moduri de realizare a funcŃiilor ack/nak: 1) Protocolul stop and wait Se transmite un cadru şi se aşteaptă ack sau nak. Dacă nu apare nici o confirmare, cadrul se retransmite. 2) Transmisia go back to N Cadrele se transmit continuu dacă există, fără a aştepta confirmarea. Când apare primul nak sau după un timp prestabilit se retransmit cadrul în cauză şi toate de după el. 3) Protocolul repetării selective Se retransmite numai cadrul nevalidat. În ceea ce priveşte controlul fluxului există două abordări des utilizate. Prima se bazează pe reacŃie, atunci când transmiŃătorul emite în ritmul său prestablit până când receptorul se saturează şi semnalizează pe calea inversă să oprească sau să reducă rata emisiei. A doua metodă bazată pe controlul ratei de reansmisie presupune o adaptare permanentă a ratei de transmisie la starea receptorului ( a posibilităŃii lui de a recepŃiona fluxul de date). Pentru monitorizarea şi (sau) detecŃia şi corecŃia erorilor, există mai multe posibilităŃi. Cea mai simplă este bitul de paritate. Acesta este un bit plasat într-un câmp special în antet şi care este 0 sau 1, ales astfel încât suma tuturor biŃilor din cadru (sau numai din unele câmpuri din cadru) să aibă o valoare prestabilită, pară sau impară. Această sumă se verifică la recepŃie şi dacă nu se confirmă valoarea aşteptată, rezultă că există erori de transmisie. Metoda este foarte simplă şi uşor de aplicat. Marele neajuns este că nu poate sesiza decât existenŃa unui număr impar de biŃi eronaŃi şi nu poate preciza câŃi anume. O metodă mai sofisticată de detecŃie şi /sau corecŃie a erorilor constă în folosirea codurilor detectoare / corectoare de erori. O noŃiune de bază în teoria acestor coduri este distanŃa Hamming. Aceeasta reprezintă numărul de poziŃii prin care diferă între ele oricare două cuvinte de cod. Pentru a detecta d erori, distanŃa Hamming trebuie să fie d+1 iar pentru a corecta d erori, distanŃa trebuie să fie 2d+1. Prima afirmaŃie este adevărată deoarece prin schimbarea a d biŃi nu există posibilitatea de a da peste un alt cuvânt de cod valabil. Codurile detectoare/corectoare de erori sunt coduri redundante. Ele au k biŃi informaŃionali şi r biŃi redundanŃi. Cele mai folosite coduri detectoare de erori sunt codurile polinomiale, iar metoda de detecŃie se numeşte verificarea ciclică a redundanŃei (CRC – Cyclic Redundancy Check). Aceste coduri au la bază un polinom generator G(x) asupra căruia cad de acord şi transmiŃătorul şi receptorul. Mesajul de transmis M(x) este împărŃit la G(x) iar restul obŃinut se adaugă la M(x) ca informaŃie redundantă. La recepŃie face din nou împărŃirea mesajului recepŃionat la G(x). Dacă restul împărŃirii este 0, rezultă că transmisia s-a făcut fără erori. Dacă restul împărŃirii este diferit de zero, înseamnă că au fost erori de transmisie şi se trece la corecŃia lor. Metodele de corecŃie sunt mai complicate şi pot fi studiate din literatura de specialitate. Exemple de protocoale LD La nivel legătură de date sunt standardizate mai multe protocoale elaborate de diferite organisme de standardizare: 44

ISI : HDLC, ISO 3309, ISO 4305 CCITT : LAPB, LAPD IBM : SDLC, BSC DEC : DDCMP ANSI : ADCCP (Avanced Data Communication Control Protocol) Internet : PPP

Protocolul HDLC (High-level Data Link Control) HDLC este un protocol clasic orientat pe bit, larg folosit de decenii în multe aplicaŃii. El derivă din mai vechiul standard SDLC (Synchronous Data Link Control) folosit de IBM la interconectaerea calculatoarelor mari. A devenit standard ANSI (ADCCP), apoi standard ISO. CCITT a aoptat şi modificat HDLC rezultând LAP (Link Access Procedure) care a făcut parte din standardul X.25. LAP a fost ulterior adaptat cu o versiune mai nouă a HDLC rezultând LAPB (Link Access Procedure, Balanced). Toate aceste protocoale sunt bazate pe aceleaşi principii, sunt orientate pe bit şi folosesc o structură de cadru de tipul celei din figura 3.3. Câmpul Adresă este important pentru liniile terminale multiple unde este folosit pentru a identifica unul dintre terminale. Pe liniile punct la punct este folosit pentru a deosebi comenzile de răspunsuri. 8

8

>0

16

8

Date utilizator

Sumă de control

01111110

8

01111110 Adresă Control

Fig. 3.3 Formatul unui cadru HDLC Câmpul Control este folosit pentru numere de secvenŃă, confirmări şi alte scopuri. Câmpul Date conŃine datele provenite de la nivelul superior; poate avea lungime arbitrară. Câmpul Sumă de control este pentru CRC. Cadrul este delimitat de flag-uri (start, stop) cu structură fixă. Există trei tipuri de cadre în protocolul HDLC folosite pentru scopuri diferite: I (informaŃional pentru cadre ce conŃin informaŃie de la utilizatori), S (supraveghere, pentru controlul erorilor) şi U (unnumbered pentru stabilirea legăturii). ConŃinutul câmpului Control este specific fiecăruia dintre aceste tipuri. Tipul de cadru se identifică prin primul bit (0 la tipul I) sau primii doi biŃi (10 la tipul S, respectiv 11 la tipul U). P/F

Cadrul I

0

Cadrul S

1 0

Cadrul U

1 1 M M P/F M M M

N(S)

N(R)

S S P/F

Fig. 3.4. Câmpul de control la cele trei tipuri de cadre Cei doi biŃi S din poziŃiile 3 şi 4 arată patru cadre S posibile, dar sunt folosite doar trei, după cum urmează. 45

Nume SS Gata de recepŃie (RR) 00 Nu este gata de rec (RNR) 10 Reject (REJ)

01

FuncŃia N(R) validează toate cadrele recepŃionate până la N(R)-1 inclusiv Controlează transmiterea prin blocare temporară. Validează recepŃia până la N(R)-1 Rejectează toate cadrele de la N(R), dar le validează până a N(R)-1

Corespunzător fiecăreia din cele trei moduri, există clase de proceduri cu opŃiuni şi funcŃii diferite. Câmpul N(S) din cadrul I arată ordinea cadrului. Fiecare cadru succesiv creşte secvenŃa N(S) cu 1. Având trei poziŃii, înseamnă că se pot transmite 8 cadre succesive după care transmisia se opreşte aşteptând confirmarea. Cei 5 biŃi M din cadrul U arată 32 de cadre de stabilirea legăturii posibile de transmis. În protocolul HDLC sunt definite 4 moduri de operare: 1. Modul cu răspuns normal (NRM) folosit în mediul cu control centralizat. Este potrivit în lucrul multipunct, în care o staŃie primară comunică cu mai multe staŃii secundare. StaŃiile secundare pot iniŃia o comunicare numai cu permisiunea staŃiei centrale care a iniŃiat comunicarea. 2. Modul cu răspuns asincron (ARM) este similar NRM cu excepŃia faptului că staŃia secundară nu necesită permisiunea staŃiei primare pentru a iniŃia o comunicare. 3. Modul asincron echilibrat (ABM) este pentru transmisia punct la punct între parteneri egali. Este folosită în X.25. Câmpul P/F de un bit (Poll/Final – Test/Final) este folosit când un calculator sau un concentrator interoghează un grup de terminale. Când este setat pe P, calculatorul invită terminalul să transmită date. Toate cadrele transmise de terminal au câmpul setat pe P, cu excepŃia cadrului final (când nu mai are date de transmis) care are valoarea setată pe F. Prin urmare, HDLC poate implementa un mecanism de comandă folosind bitul P/F şi câmpul de adresă.

3.2 Nivelul LD în Internet Internetul este o colecŃie de calculatoare interconectate prin rutere şi linii de comunicaŃii. O variantă des folosită de utilizatorii casnici este aceea a legăturilor comutate bazate pe modemuri. Calculatorul personal de la domiciliu apelează ruterul unui furnizor de servicii Internet (ISP). În această situaŃie este nevoie de un protocol la nivel legătură de date punct la punct pentru formarea cadrelor, controlul erorilor şi alte funcŃii ale legăturii de date. Cel mai folosit protocol este PPP. Protocolul punct la punct (PPP) Este definit de RFC 1661 şi dezvoltat în alte RFC (1662, 1663). PPP face detecŃia erorilor, suportă mai multe protocoale, permite negocierea adreselor IP în momentul conectării, autentificarea şi alte funcŃii. PPP furnizează trei lucruri: 1. o metodă de împărŃire în cadre, format care permite detecŃia erorilor; 2. un protocol al legăturii pentru a obŃine liniile, a le testa şi a negocia opŃiunile, iar la terminarea transmisiei eliberarea lor. Acest protocol se numeşte LCP (Link Control Procedure). El suportă comunicaŃii sincrone şi asincrone; 3. un mod de a negocia opŃiunile nivelului reŃea printr-un protocol de control al reŃelei (NCP – Network Control Protocol). 46

Un scenariu tipic de folosire a PPP este următorul. Un calculator apelează de la domiciliu un furnizor de servicii Internet, conecându-se la ruterul acestuia printr-un modem. După stabilirea legăturii telefonice, calculatorul trimite o serie de pachete LCP în câmpul de informaŃie al unuia sau mai multor cadre PPP. Aceste pachete şi răspunsurile lor selectează parametrii PPP care vor fi utilizaŃi. După ce s-au pus de acord asupra acestor parametrii, se transmit mai multe pachete NCP pentru a configura nivelul reŃea. Formatul cadrului PPP este asemănător cu cel al cadrului HDLC, doar că primul este orientat pe caracter şi nu pe bit. Toate cadrele PPP trebuie să aibă un număr întreg de octeŃi. Cadrele PPP pot fi transmise pe linii comutate, linii închiriate, linii SDH/SONET, etc. OcteŃi

1

1

1

1 sau 2

01111110 Adresă Control Protocol

Variabil

2 sau 4

1

InformaŃie utilizator

Sumă de control

01111110

Fig. 3.5 Formatul cadrului PPP pentru operare nenumerotat Indicatoarele de început şi de sfârşit au acelaşi format ca la HDLC. Adresa este setată iniŃial la 11111111 determinând toate staŃiile să accepte cadrul. Controlul are valoarea implicită 00000011 indicând cadru nenumerotat. Câmpul Protocol indică ce tip de pachet este în câmpul de informaŃie utilă: LCP, NCP, IP, IPX, Apple Talk şi altele. Protocoalele care încep cu 0 sunt de nivel reŃea (IP, IPX, XNS, OSI CLNP). Cele care încep cu 1 sunt folosite pentru a negocia alte protocoale. Câmpul InformaŃie utilizator are lungimea implicită 1500 octeŃi, dar poate fi negociat folosind LCP. Prin urmare, PPP este un mecanism de încadrare multiprotocol potrivit pentru linii cu modem, linii seriale orientate pe bit (HDLC, SDH) etc. PPP nu este un simplu protocol de transfer de date între două noduri din reŃea. El permite deschiderea legăturii sau refuzul acesteia, negocierea unor opŃiuni, recunoaşterea reciprocă a gazdelor corespondente etc. Prin urmare, o linie de legătură dintre două noduri vecine trece prin mai multe stări care pot fi evidenŃiate pe diagrama de faze din fig. 3.6.

Purtătoare detectată Închisă Purtătoare eliberată Terminată

Negocie Stabilită

Eşuat

Gata

Autentificare

Eşuat Deschisă

Autentificare reuşită ReŃea

Configurare NCP

Fig. 3.6 Diagrama de faze la stabilirea şi eliberarea unei linii În repaus linia este închisă. Protocolul se iniŃializează cu această stare, semnificând că nu există purtătoare la nivel fizic şi nici o conexiune fizică. După stabilirea legăturii, linia trece în starea Stabilită şi începe negocierea opŃională LCP, care dacă reuşeşte conduce la Autentificarea reciprocă a corespondenŃilor. Apoi se intră în faza ReŃea când este apelat protocolul NCP pentru a configura 47

nivelul reŃea. Dacă configurarea reuşeşte, se trece în starea Deschisă şi poate începe transferul datelor. La terminarea transferului datelor, linia trece în starea Terminată când nu se mai transmit date, dar există încă legătură fizică (purtătoare). De aici se trece în faza Închisă când este întreruptă şi purtătoarea.

3.3 Subnivelul controlul accesului la mediu (MAC) Problema controlului accesului la mediu se pune atunci când un număr oarecare de utilizatori trebuie să folosească în comun (să partajeze) acelaşi mediu de transmisie. Mediul de transmisie poate fi considerat în acest caz ca un canal de difuzare sau un canal multiacces sau un canal cu acces aleator. Protocolul care rezolvă problema accesului simultan a utilizatorilor la acelaşi mediu fizic de transmisie aparŃine unui subnivel al legăturii de date, subnivelul MAC. El este foarte important în LAN-uri. O posibilă rezolvare, dar greu de acceptat din diverse motive, este alocarea statică prin diviziune în timp (TDM) sau în frecvenŃă (FDM) sau în cod (CDM). Fiecărui utilizator i se alocă un spaŃiu de timp sau de frecvenŃă sau un cod, pe care le poate folosi când are nevoie. Alocarea este ineficientă în cazul în care un număr foarte mare de utilizatori folosesc puŃin şi aleator mediul de transmisie. Alocarea dinamică permite accesul abonaŃilor la mediu după anumite reguli care pot asigura utilizarea eficientă a acestuia. Alocarea dinamică are la bază câteva ipoteze: 1. Există N staŃii (terminale) independente care generează cadre de transmis. Rata generării cadrelor, λ, este constantă iar probabilitatea de a genera un cadru într-un interval de timp ∆t este proporŃională cu acest interval. Odată ce a fost generat un cadru, staŃia nu mai generează altul până nu s-a transmis acesta. 2. Canalul unic este accesibil tuturor staŃiilor pentru a transmite sau recepŃiona din linie. 3. Când două sau mai multe cadre se suprapun chiar şi parŃial în canal, apare o coliziune şi transmisia trebuie să înceteze deoarece semnalele electrice interferează. 4. Timpul apariŃiei cadrelor este o varibilă continuă. Nu există un ceas care să împartă timpul în momente discrete. Într-o altă variantă, se poate lua în considerare şi ipoteza unui timp discret. 5. DetecŃia purtătoarei este metoda curentă prin care se poate afla dacă un canal este ocupat sau liber. Se poate analiza şi ipoteza că staŃiile nu pot detecta purtătoarea. Procedurile de acces la mediu pot fi împărŃite în proceduri cu timp continuu şi proceduri cu timp discret. Ideea de bază la procedura în timp continuu este că utilizatorii sunt lăsaŃi să transmită în voie cadrele după necesităŃi. Când apar coliziuni pachetele vor fi distruse şi cadrele retransmise, deoarece transmiŃătorul este anunŃat despre acest lucru. În cazul procedurii cu timp discret, reluarea unei noi tentative de transmisie se face după un interval de timp t. Dacă se detectează iarăşi coliziune se aşteaptă 2t până la o nouă tentativă de transmisie, apoi 4t şi aşa mai departe.

3.3.2 Protocoale MAC cu detecŃie de purtătoare În scopul reducerii riscului coliziunilor, înainte de a transmite, o staŃei ascultă mediul de transmisie pentru a vedea dacă este liber şi apoi transmite. Şi în acest caz există mai multe reguli. 48

a) CSMA cu detecŃia coliziunii (CSMA/CD). Când două staŃii găsesc canalul liber şi încep emisia simultan, vor detecta imediat şi coliziunea şi opresc imediat transmisia cadrelor care oricum se pierd. Astfel se gâştigă oarece timp în care canalul este ocupat. Protocolul CSMA/CD este larg folosit în LAN-urile Ethernet. b) Accesul multiplu cu evitarea coliziunii CSMA/CA) este folosit în LAN-urile wireless (standardul 802.11). Evitarea coliziunii se face în acest caz prin trimiterea unui cadru scurt care să oprească toate transmisiile care ar putea exista la un moment dat.

3.3.3 Protocoale MAC cu jeton O altă posibilitate de a evita coliziunile constă în folosirea unui jeton (un cadru special de control) care circulă pe mediul fizic. O staŃie care doreşte să transmită date captează jetonul şi astfel nici o ală staŃie nu mai poate transmite. După ce a terminat transmisia, staŃia care deŃinea jetonul îl eliberează pentru a putea fi folosit de o altă staŃie. În funcŃie de topologia reŃelei, există protocoale cu jeton pe magistrală (IEEE 802.4) sau pe inel (IEEE 802.5). Seria de standarde IEEE 802 cuprinde: 802.1 – Principiile generale şi arhitectura LAN-urilor 802.2 - LLC (Logical Link Control) 802.3 – Ehternet (CSMA-CD) 802.3u – Ethernet rapid 802.4 – Token bus 802.5 – Token ring 802.6 – DQDB (Dual Queue Dual Bus), standard de MAN 802.9 – LAN-uri izocrone pentru aplicaŃii în timp real 802.10 – LAN-uri virtuale şi securitate 802.11 – LAN-uri fără fir 802.14 – Modemuri de cabluri 802.15 – ReŃele personale (Bluetooth) 802.16 – WAN de bandă largă fără fir

3.3.4. Standardul 802.3 Ethernet În general un LAN conŃine un număr oarecare de calculatoare (utilizatori) conectaŃi împreună la un mediu de transmisie comun, pe care îl folosesc în mod partajat. Datele trimise pe mediul de comunicaŃie sunt distribuite la toŃi utilizatorii, dar recepŃia se face doar de către cel căruia îi sunt adresate prin specificaŃia de adresă. La un moment dat pe un mediu comun de transmisie nu pot exita date decât de la un singur transmiŃător, altfel semnalele se amestecă şi se perturbă între ele. Pentru a evita coliziunile, standardul Ethernet foloseşte tehnica CSMA CD (Carrier Sense Multiple Access 49

with Collision Detection). Când o staŃie doreşte să transmită date, ascultă mediul. Dacă este ocupat aşteaptă un timp aleator, după care încearcă o nouă transmisie. Dacă este liber transmite imediat. Structura cadrului Ethernet Din punct de vedere al cadrului Ethernet, protocolul oferă trei tipuri de informaŃii: identificarea entităŃilor sursă şi destinaŃie de nivel fizic ce comunică între ele, precizarea protocolului de nivel superior şi o sumă de control pentru verificarea integrităŃii datelor. Structura cadrului Ethernet este aproape identică, indiferent de varianta de Ethernet folosită, şi conŃine următoarele câmpuri: •

Preambul



Început de cadru 1 octet



Adresa destinaŃie - 6 octeŃi



Adresa sursă - 6 octeŃi



Lungime/Tip (Type field) - 2 octeŃi



Date - 46 ÷ 1500 octeŃi



FCS - 4 octeŃi

Preambul (7 octeŃi) pentru sincronizarea ceasului receptorului este de forma 1010 Început de cadru (un octet) de forma 10101011 Adresa sursă şi Adresa destinaŃie sunt adresele fizice ale echipamentelor. Câmpul Lungime/Tip are doi octeŃi şi arată lungimea câmpului de date. El poate fi interpretat în două feluri: dacă valoarea acestuia este mai mică de 1536 (0x600 în hexazecimal) atunci el reprezintă lungimea. Dacă este mai mare de 1536, el reprezintă protocolul de nivel superior folosit. Câmpul de date trebuie să fie mai mare de 46 de octeŃi. Dacă cumva datele sunt de lungime mai mică, atunci i se adaugă o "umplutură" numită padding pentru a ajunge la dimensiunea de 46 octeŃi. Acest câmp nu are voie să depăşească valoarea MTU - Maximum Transmission Unit - care pentru Ethernet este 1500 octeŃi, ceea ce înseamnă că un cadru Ethernet nu are voie să fie mai mic de 64 şi mai mare de 1518 octeŃi . Câmpul de control FCS este adăugat în cadru pentru a determina dacă nu cumva au apărut eroari în timpul transmisiei. Câmpul de completare (pad) de 0...46 octeŃi este folosit atunci când câmpul de date are mai puŃin de 64 octeŃi şi pot apărea probleme de detecŃie a coliziunilor. ExplicaŃia este următoarea: o staŃie găseşte linia liberă şi începe să emită. Înainte ca şirul de biŃi să ajungă le cea mai îndepărtată staŃie, aceasta găsind linia liberă, emite şi ea şi, ca urmare, apare o coliziune. Pentru a detecta o coliziune, durata unei transmisii trebuie să dureze mai mult decât o valoare minimă care depinde de distanŃa dintre staŃiile cele mai îndepărtate. Pentru un LAN de 10 Mbps, cu lungimea cablului de 2500 m şi 4 repetoare, cadrul minim trebuie să dureze 51,2 µs. Aceasta cuprinde minimum 64 octeŃi, deci pentru date minimum 46 octeŃi. OcteŃi 7

1

6

6

2

0 la 1500

Preambul Început cadru Adr. sur. Adr. des. Lungime/Tip

Fig. 3.8 Formatul de cadru Ethernet

Date

Lungime/Tip

50

0 la 4 6 Pad

4 FCS

3.3.5 Ethernet comutat Pe măsură ce se adaugă noi staŃii şi taficul creşte, se poate ajunge la saturarea LAN-ului. O soluŃie ar putea fi mărirea vitezei de la 10 la 100 Mbps dar aceasta înseamnă schimbarea plăcilor de reŃea. O soluŃie mai bună şi radical diferită este Ethernetul comutat. Acesta conŃine un nod central de tipul comutator (switch), capabil să selecteze cadrele după adresă şi să le trimită direct spre destinaŃie, fără a mai inunda toată reŃeaua şi a pune în funcŃiune mecanismul CSMA – CD. În acest fel probabilitatea de coliziune scade foarte mult. Comutarea la nivel 2 se face pa bază de adrese fizice de către echipamente de reŃea de nivel 2, numite generic comutatoare (switch-uri). După cum se stie, Ethernetul ca standard de LAN se bazează pe un mediu partajat de mai multe staŃii. Ca urmare, la un moment dat doar o singură staŃie poate trimite date pe mediul de comunicaŃie, altfel apărând coliziunile. Un domeniu de coliziune este acea secŃiune de reŃea în care se va propaga o coliziune. Repetoarele formează domenii de coliziune, pe când comutatoarele şi ruterele le separă. Un domeniu de coliziune formează un segment de reŃea. Un domeniu de difuzare reprezintă acea porŃiune de reŃea în care se propagă un pachet de difuzare. Ruterele limitează domeniile de difuzare, pe când comutatoarele şi huburile le extind. O reŃea este echivalentă cu un domeniu de difuzare. Comutatorul recunoaşte cadre individuale pe baza delimitatorilor de cadru, citeşte antetul şi prelucrează informaŃia din antet putând lua decizii de comutare a cadrelor de pe un segment de reŃea pe alt segment. Principalele funcŃii ale unui comutator sunt: - învăŃarea adreselor fizice (crearea şi completarea tabelei de comutare, munită uneori şi tabelă MAC) şi - direcŃionarea cadrelor de pe o interfaŃă de intrare spre una de ieşire. O tabelă de comutare conŃine în principal două câmpuri: adresa MAC destinaŃie şi interfaŃa de ieşire prin care se poate ajunge la acea destinaŃie. Ea se păstrează în memoria RAM a comutatorului şi se pierde la închiderea acestuia. Host A1 A2 A3

Adresa MAC destinaŃie 00.00.53.40.9.01.12 00.00.44.20.58.22.91 00.48.33.60.90.04.4A

InterfaŃă E0 E0 E1

Pentru a înŃelege cum se construieşte tabela de comutare, cum învaŃă comutatoarele să-şi construiască tabela MAC, să analizăm figura de mai jos.

51

A2

A1

A3 B1

E0

S1

C1

B2

E1 S3

S2

Fig.3.9 Segmentarea unui LAN folosind comutatoare Să presupunem că se porneşte comutatorul S1 şi că staŃia A1 vrea să comunice cu staŃia B1. Ea ascultă mediul şi când este liber emite un cadru cu adresa destinaŃie a lui B1 şi îl trimite comutatorului S1 la care este conectat. S1 caută în tabela sa de comutare şi deoarece nu găseşte această înregistrare, trimite cadrul pe toate interfeŃele sale, mai puŃin de unde a venit (face inundare). În acelaşi timp verifică dacă adresa sursă de unde a venit cadrul se găseşte în tabelă. Dacă nu o găseşte (şi aceasta este situaŃia deoarece S1 abia a fost deschis), o înregistraeză împreună cu interfaŃa E0 de pe care a venit cadrul, “stiind” de acum că segmentul A al reŃelei poate fi atins prin acea interfŃă. Cadrul ajunge în comutatorul S2 unde este consultată tabela de comutare a acestuia. Dacă în tabelă se găseşte înregistrarea cu adresa şi interfaŃa lui B1, atunci cadrul este trimis acolo. Dacă nu, se repetă procedura inundării şi de către S2 şi cadrul va ajunge oricum la destinaŃie. Pentru ca şi înregistrarea lui B1 să apară în tabela lui S2, este necesar ca B1 să emită un cadru spre oricare destinaŃie. Deoarece la nivel LD ne se foloseşte o schemă de comutare ierarhică cum este cazul la nivel reŃea, tabelele de comutare trebuie să conŃină înregistrări despre toate gazdele din reŃea, nu numai ale celor din segmentul dat. Asta face ca dimensiunile tabelelor să fie mari. Dacă tabelele de comutare sunt mari şi neordonate, căutarea în acestea poate deveni o problemă grea, consumatoare de timp. De aceea înregistrările din tabelă pot fi însoŃite de un contor de timp care se resetează la fiecare folosire a înregistrării. Rolul său este de a şterge acele înregistrări care nu sunt folosite un anumit interval de timp, simplificând astfel dimensiunea tabelelor. Care este rolul comutatorului în segmentarea unei reŃele? Urmărind fig. 3.9 să presupunem că A1 vrea să comunice cu A2. El trimite un pachet pe hub care se va distribui tuturor echipamentelor conectate la acesta, inclusiv la comutatorul S1. A2 va recepŃiona pachetul care îi este destinat, iar toate celelalte calculatoare de pe segmentul A îl vor ignora. Comutatorul S1 văzând că el este destinat segmentului A, nu îl va trimite spre alte segmente, deci el va rămâne localizat în segmentul A. Dacă în locul lui S1 ar fi fost un hub, acesta ar fi difuzat pachetul şi spre alte segmente întrucât hub-ul nu face selecŃie pe bază de adrese MAC. Cum funcŃionează comutatorul S2 pentru segmentul B? Dacă B1 vrea să comunice cu B2, el trimite un pachet cu adresa destinaŃie la comutatorul S2. Acesta analizează antetul pachetului, citeşte adresa destinaŃie şi pe baza tabelului de comutare trimite pachetul direct spre B2. În acelaşi timp un alt calculator din segmentul B poate trimite pachete spre alte destinaŃii fără a fi influenŃat de comunicaŃia dintre B1 şi B2. Comutatorul izolează comunicaŃia unicast între staŃii aflate în acelaşi segment la nivelul segmentului. ConsecinŃele acestu fapt sunt deosebit de importante. În primul rând comutatorul limitează domeniile

52

de coliziune. Totodată, el oferă mai mai multă bandă disponibilă deoarece comunicaŃia din interiorul unui segment nu consumă din banda disponibilă întregii reŃele. O altă consecinŃă o reprezintă minimizarea riscurilor de securitate legate de atacurile din interiorul reŃelei locale. Unul din cele mai populare atacuri este ascultarea liniei (sniffing attack) prin care se forŃează nivelul legătură de date de pe una din staŃiile conectate la mediul distribuit să trimită spre nivelele superioare toate cadrele, inclusiv cele care nu sunt desztinate acestei staŃii. În felul acesta se păoate monitoriza tot traficul ce traversează un segment de reŃea. Folosireea comutatoarelor poate izola de restul reŃelei acele staŃii susceptibile de ascultare.

3.4. LAN- uri fără fir Stiva de protocoale 802.11 Nivelul fizic este aproape acelaşi ca la nivelul fizic OSI, dar la nivelul LD sunt diferenŃiate clar subnivelele MAC şi LLC în scopul ascunderii faŃă de nivelul reŃea a diferenŃelor dintre variantele 802.x. Elaborat în 1997, standardul 802.11 specifică la nivelul fizic trei tehnici de transmisie: - infraroşu (IR); - radio pe 2,4 GHz folosind tehnica saltului de frecvenŃă FHSS sau DSSS, cu o rată de transmisie a datelor de 1÷2Mbps; - radio de bandă largă tot în banda 2,4 GHz tot cu salt de frecvenŃă în bandă largă (OFDM sau HR-DSSS) asigurând viteze de transmitere a datelor de 11 Mbps sau 54 Mbps. Tehnica IR foloseşte lungimile de undă din fereastra I-a (850 nm) sau fereastra a II-a (1300nm) a sticlei de cuarŃ cu propagare în spaŃiul liber (FSO - Free Space Optics) cu difuzare prin reflexii multiple pe obiectele din mediu. Tehnicile radio folosesc saltul de frecvenŃă sub diferite moduri. FHSS (Frequency Hopping Spread Spectrum – spectru împrăştiat cu salt de frecvenŃă) foloseşte 79 de canale a câte 1 MHz plasate în partea inferioară a benzii de 2,4 GHz în care emiŃătorul sare aleator de pe un canal pe altul. Salturile de frecvenŃă sunt comandate de un generator de numere pseudoaleatoare, cu o rată mai mare de aproximativ 2,4 salturi pe secundă (emiŃătorul stă mai puŃin de 400 ms pe o frecvenŃă). Acelaşi tip de generator trebuie să comande şi salturile de frecvenŃă de la recepŃie. În plus tehnicile cu salt de frecvenŃă necesită o sincronizare foarte bună între emiŃător şi receptor. Metoda DSSS (Direct Sequence Spread Spectrum – spectru împrăştat cu secvenŃă directă) este asemănătoare cu CDMA (Code Division Multiple Access – acces multiplu cu diviziune în cod). Fiecare bit este transmis ca o o secvenŃă de 11 fragmente generate pe baza unui cod aleator. Metoda OFDM (Orthogonal Frequencies Division Multiplexing – multiplexare cu diviziune în frecvenŃe ortogonale) foloseşte un set de 52 de frecvenŃe ortogonele (48 pentru date şi 4 pentru sincronizare) şi permite rate de până la 54 Mbps. Este tot o formă de împrăştiere a spectrului pe frecvenŃe ortogonale, adică frecvenŃe care nu se suprapun ca valoare în nici un moment al transmisiei. FrecvenŃele sunt modulate diferit în funcŃie de rata transmisiei: PSK la viteze mici sau QAM la viteze mari. 53

HR-DSSS (High Rate – DSSS - secvenŃă directă de mare viteză) este o altă tehnică de spectru larg care foloseşte 11 milioane de fragmente pe secundă pentru a obŃine rate de 11 Mbps în banda 2,4 GHz. ReŃea LLC

LD

MAC Fizic

802.11 IR

802.11 FHSS

802.11 DSSS

802.11 802.11b OFDM HR-DSSS

802.11g OFDM

Fig. 3.11 Partea fizică a stivei 802.11

OcteŃi

2

2

Control Durată BiŃi

2 Vers.

2 Tip

6

6

6

2

6

0 la 2312

4

Adr. 1

Adr. 2

Adr. 3

Secv.

Adr. 4

Date

Sumă ctrl.

4

1

Subtip

1

1

1

1

Către DS De la DS MF Reîn Consum

1

1

1

Mai mult W O

Fig. 3.12 Cadrul 802.11

Formatul cadrului 802.11 este prezentat în fig. 3.12

Vers. – arată versiunea de protocol Subtip – subtipul de cadru. RTS- Request for Transmission, CTS- Confirm For Transmission Către DS, De la DS – arată sensul de transmitere (către distribuŃie, de la distribuŃie) MF – More Fragments arată că vor urma mai multe fragmente Reîn (cercare) – arată o retransmisie a cadrului anterior W (wired equivalent privacy) se referă la confidenŃialitate. 3.4.2. Servicii asigurate de standardul 802.11 Fiecărei staŃii locale fără fir trebuie să i se asigure 9 servicii, 5 legate de distribuŃie şi 4 pentru staŃii. Serviciile legate de distribuŃie se referă la gestiunea apartenenŃei la celulă şi interacŃiunea cu staŃiile din sfera celulei. Ele sunt: 1 Asocierea – conectarea staŃiei mobile la bază. Când o staŃie mobilă intră în raza de acŃiune a unei staŃii de bază ea îşi anunŃă identitatea şi capacităŃile (viteze suportate, cereri de servicii PCF(Point Coordination Functions)etc. Cererea de asociere poate fi acceptată sau nu. 2 Dezasocierea – se poate iniŃia de staŃia mobilă sau de staŃia de bază. OperaŃia trebuie făcută înainte de închiderea staŃiei sau de ieşirea ei din raza de acŃiune. 3 Reasocierea 4 DistribuŃia 5 Integrarea – adaptarea cadrului la formatul cadrului intern ai 802.11 Serviciile în interiorul celulei sunt: 54

1 Autentificarea – numai staŃiile autorizate şi autentificate se pot conecta în celulă la LAN. 2 Deautentificarea – când o staŃie doreşte să părăsească reŃeaua ea este scoasă din evidenŃă Reinserarea se poate face numai prin autentificare. 3 ConfidenŃialitatea – este asigurată prin serviciul de criptare. Algoritmul de criptare folosit este RC4 (inventat de R. Rivest). 4. Livrarea datelor – este funcŃia principală a standardului. Ca şi la Ethernet, livrarea nu este sigură 100%, nivelurile superioare având sarcina de a rezolva problemele.

3.4.3 ReŃele fără fir de bandă largă (IEEE 802.16) În acest sens a fost elaborat standardul 802.16 început în 1999 şi finalizat în 2002, numit wireless MAN sau wireless local loop. El se deosebeşte esenŃial de 802.11 şi rezolvă probleme diferite. Standardul 802.16 asigură legături MAN între locaŃii fixe (clădiri), pe când 802.11 asigură conectarea abonaŃilor mobili în LAN. Banda de trecere a acestei reŃele este mult mai mare deoarece şi traficul dintre clădiri sau alte locaŃii fixe este mare. Subnivelul de convergenŃă servicii

QPSK – 2 biŃi/Baud ⇒25 Mbps QAM -16 – 4 biŃi/Baud ⇒100 Mbps QAM-64 - 6 biŃi/Baud ⇒150 Mbps

Subnivelul MAC

LD

Subnivelul securitate Subnivelul de convergenŃa transmisiei Fizic

QPSK

QAM-16

QAM 64

Subnivel dependent de mediu

Fig. 3.13 Structura protocoalelor 802.16 Se foloseşte banda de frecvenŃe de peste 10 GHz care este mai puŃin aglomerată şi poate ajunge până la 66 GHz. Aici particularităŃile propagării undelor milimetrice fac posibile legături punct la punct mai uşoare decât difuzarea. 802.11 este o intereŃea mobilă, pe când 802.16 este o reŃea staŃionară, ca o reŃea TV pe cablu. Nivelul fizic foloseşte unde milimetrice în banda 10 ÷66 GHz cu propagare rectilinie, aproape ca lumina, cu posibilitatea montării mai multor antene directive pe acelaşi catarg. Nivelul fizic este împărŃit în două subnivele: subnivelul dependent de mediul fizic şi subnivelul de convergenŃă a transmisiei. Subnivelul convergenŃa transmisiei are rolul de a ascunde diferitele tehnologii de transmisie folosite pe mediul fizic. Nivelul LD are 3 subnivele. Primul de jos rezolvă probleme de securitate: criptare, gestiune chei etc. Acest lucru este necesar deoarece standardul 802.16 foloseşte transmisia în mediu deschis şi posibilitatea intercepŃiei nedorite a comunicaŃiei este mare. Următorul rezolvă problema accesului la mediu. Modelul presupune că staŃia de bază controlează sistemul pentru accesul abonaŃilor. Subnivelul convergenŃă servicii asigură legătura cu celelalte protocoale 802 (interfaŃarea cu nivelul reŃea). El poate lucra direct cu PPP, IP, Ethernet, ATM, cu protocoale orientate pe conexiune sau neorientate pe conexiune. Pentru a rezolva problema legăturilor bilaterale (duplex) şi de regulă nesimetrice(recepŃia mai mare decât emisia), se folosesc două tehnici: FDD (Frequency Division Duplexing) şi TDD (Time Division Duplexing. Toate serviciile standardului 802.16 sunt orientate pe conexiune. Fiecare conexiune este stabilită la configurare şi asigură următoarele servicii: - serviciu cu viteză constantă la transmisie; 55

- serviciu pentru aplicaŃii de transfer de date în timp real; - servicii care nu necesită transfer în timp real; - servicii de tipul cea mai bună încercare ( best effort). Arhitectura este diferită de 802.11 şi de Ethernet care nu prezintă conexiuni la nivel MAC. Serviciul cu viteză constantă este folosit când se face transfer de voce necomprimată, la fel ca pe canalele E1/T1. Acest serviciu are nevoie de a transmite o cantitate predeterminată de date într-un timp stabilit apriori. Fiecărei conexiuni de acest fel i se alocă un număr predeterminat de intervale de timp (alocare fixă de bandă). Serviciul cu aplicaŃii în timp real este destinat aplicaŃiilor media compresate în care banda alocată poate varia. Alocarea se face dinamic, funcŃie de nevoile de moment ale transmiŃătorului. 3.4.4 Bluetooth (IEEE 802.15) Unitatea de bază a unei asemenea reŃele este o picoreŃea formată dintr-un nod master şi până la 7 staŃii slave, toate situate într-o regiune cu diametru până la 10 m. O colecŃie interconectată de asemenea piconeturi este denumită scatternet (reŃea dispersată). Un piconet este un sistem TDM centralizat în care sclavii fac doar ceea ce spune stăpânul. S

Punte

S

S S

S

M

M

S S

S

Fig. 3.12 Structură de reŃea Bluetooth Stiva de protocoale Bluetooth nu respectă nici modelul OSI, nici TCP/IP, nici 802 sau altele. Este o suită ad-hoc de protocoale ierarhizată aproximativ pe 4 nivele. Nivel aplicaŃie

AplicaŃii / profiluri Altele Altele RF com Telefonie Descop. serv. Audio

Nivel de mijloc Control

Protocol adaptiv pentru LLC

Nivel LD

Banda de bază Nivel fizic

Nivel fizic radio

a) BiŃi

72 Cod de acces

BiŃi

54 Antet

1 1 1 1 8 Adr. Tip F A S Sumă ctrl.

0 la 2744 Date utilizator

b)

Fig.3.15 Standardul Bluetooth a) arhitectura b) formatul de cadru 56

Nivelul radio funcŃionează în banda 2,4 GHz. Banda este divizată în 79 de canale de câte 1 MHz fiecare, cu o acoperire de 10 m. Modularea cu un bit pe hertz asigură o rată de transfer de 1Mbps. Se foloseşte tehnica FHSS cu 1600 de salturi/s. Rolul nivelului radio este de a transmite biŃi de la stăpân la sclav şi invers. Nivelul bandă de bază rezolvă unele probleme lgate de controlul accesului la mediu. Stăpânul dintr-un piconet defineşte o serie de cuante de timp de 625 µs. În cuantele pare transmite stăpânul, în cele impare sclavii. Stăpânul are la dispoziŃie jumătate din timp, iar sclavii împart cealaltă jumătate. Nivelul L2CAP (Logical Link Control Adaptation Protocol) are trei funcŃii majore. Prima este de a accepta la transmisie pachete până la 64 kB de la nivelurile superioare şi a le sparge în cadre, iar la recepŃie să facă operaŃiunea inversă. A doua funcŃie este de a multiplexa şi demultiplexa pachete provenite de la diferite surse. A treia funcŃie este de a garanta calitatea serviciilor. Nivelul aplicaŃie/profiluri defineşte 13 aplicaŃii Bluetooth tipice: 1. Acces generic - proceduri pentru înterŃinerea legăturii 2. Descoperire servicii – protocol pentru descoperirea serviciilor oferite 3. Port serial – înlocuitor de cablu pentru legătură pe port serial; 4. Interschimbare obiecte – defineşte relaŃia client / server pentru schimbare de obiecte 5. Acces la reŃeaua locală – protocol între calculator portabil şi reŃeaua locală fixă 6. ReŃea pe linie telefonică – Apelarea unui notebook de la telefon 7. Fax – permite unui fax mobil să comunice cu un telefon mobil 8. Telefon fără fir – 9. Em / Rec portabil – radiotelefon portabil 10. Căşti de telefonie cu transmiŃător 11. Transfer de fişiere 12. Sincronizare – permite unui PDA să se sincronizeze cu un calculator.

3.5 PunŃi între LAN-uri 3.5.1. Locul şi rolul punŃilor În prezent multe organizaŃii au mai multe LAN-uri, unele chiar diferite, pe care doresc şi trebuie să le interconecteze. Acest lucru se poate face prin dispozitive numite punŃi (bridges) care operează la nivel legătură de date. PunŃile examinează adresele la nivel LD pentru a face rutarea (adresa de cadru). PunŃile nu examinaeză câmpurile de informaŃie utilă din cadru, informaŃie care poate conŃine pachete IP, ATM, IPX, OSI etc. Spre deosebire de punŃi, ruterele examinează adresele din pachete şi fac rutarea pe baza lor. Necesitatea interconectării LAN-urilor apare din mai multe motive. 1. O organizaŃie mare, cu mai multe departamente, va avea LAN în fiecare departament, dar va trebui să comunice şi interdepartamental. 2. Localizarea fizică la distanŃă a departamentelor şi în consecinŃă a LAN-urilor nu permite utilizarea unei singure reŃele dacă distanŃele sunt prea mari (de exemplu peste 2,5 km la Ethernet) sau dacă sunt prea mulŃi utilizatori. 3. Separarea logică şi chiar fizică pe categorii a utilizatorilor, de exemplu într-o universitate, separarea studenŃilor de cadre universitare şi de cerectători ştiinŃifici.. 57

4. Fiabilitatea unui LAN poate fi serios afectată dacă un nod se defectează şi trimite un şir de date eronate Plasarea unei punŃi într-un loc bine ales poate proteja utilizatorii de defectele unui nod.

Gazdă B

Gazdă A ReŃea

Pachet

Punte LAN

LD

Pachet

Pachet

MAC Fizic

802. 11 802. 11

802. 11 802. 11

Pachet Pachet 802. 11

802. 3 802. 3

Pachet Pachet

Pachet

Pachet Pachet Pachet 802. 3

Pachet

Cadru 802.11 (LAN fără fir)

802. 3 802. 11

Pachet Pachet

Pachet

Cadru Ethernet

Fig. 3.16 FuncŃionarea unei punŃi de la 802.11 la 802.3 5. RestricŃionarea accesului unor categorii de utilizatori poate fi iarăşi un motiv de funcŃionare sigură şi de securitate a reŃelei şi a protecŃiei datelor 6. În mod normal un LAN are un mod transparent de lucru, în care toŃi abonaŃii pot primi toate datele, nu numai cele adresate lor. PunŃile pot separa părŃi din reŃea, astfel încât, să nu ajungă informaŃiile sensibile la îndemâna cui nu trebuie. Problemele generale ale interconectării LAN-urilor sunt: - formatul diferit al cadrelor; - lungimea diferită a datelor utilizator; - viteze diferite pentru date; - nivele diferite de prioritate. Un exemplu de punte între un LAN fără fir (802.11) şi un LAN Ethernet este în fig. 3.16. Puntea desface antetul specific unui LAN şi îl adaugă pe cel al celuilalt LAN unde va trimite pachetele. Acest proces se face la nivelul MAC. Dacă o punte conectează k LAN-uri, atunci ea va avea k subnivele MAC, câte unul pentru fiecare tip de LAN. Problema cea mai dificilă la interconectarea a două LAN-uri este lungimea diferită a cadrului, când un cadru mai lung nu poate fi transferat într-o reŃea care are cadre mai scurte. La acest nivel problema împărŃirii cadrului în părŃi mai scurte nu se pune. Toate protocoalele de nivel LD presupun recepŃia totală a cadrului sau respingerea sa. Nu există posibilitatea spargerii şi reasamblării de cadre. Teoretic, o asemenea posibilitate ar putea exista şi au fost făcute unele încercări şi propuneri, dar în final nu au fost acceptate. Prin urmare, cadrele prea lungi trebuie eliminate pentru a accepta transparenŃa. Un alt punct sensibil este securitatea transmisiei. Standardele 802.11 şi 802.16 suportă criptarea la nivel LD, dar altele nu (de exemplu Ethernet). Asta înseamnă că serviciile de securitate disponibile 58

în reŃelele fără fir sunt pierdute la trecerea prin reŃele Ethernet. O soluŃie acceptabilă este criptarea la nivele superioare. Calitatea serviciilor este şi ea diferită în funcŃie de tipul de LAN. Ultimele standarde de LAN asigură un anumit nivel al calităŃii serviciilor (de exemplu rată de transfer constantă la 802.16), ceea ce Ethernetul nu poate asigura. E F LAN 3 A

B

LAN 1

C

D

LAN 2

LAN 4

Fig. 3.17 ConfiguraŃie de 4 LAN-uri şi 2 punŃi Ratele de transfer diferite din LAN-uri necesită memorii tampon mari şi chiar în aceste condiŃii pot apărea congestii. Aşadar, punŃile dintre LAN-uri au de rezolvat suficient de multe şi de complicate probleme. Ideal ar fi ca să se poată cumpăra punŃi proiectate după standarde IEEE şi ele să funcŃioneze perfect, fără modificări şi adaptări soft sau hard.Totuşi în prezent s-a reuşit ca în mare măsură punŃile să funcŃioneze transparent. O punte transparentă, care funcŃionează în mod transparent, admite orice cadru transmis de pe oricare din LAN-rile la care este conectată. În configuraŃia din fig. 3.17 puntea B1 este conectată între LAN 1 şi LAN 2, iar B2 este între LAN 2, LAN 3 şi LAN 4. Un cadru din LAN 1 destinat lui A (din acelaşi LAN) şi care ajunge şi în puntea B1 este eliminat imediat. Un cadru din LAN 1 pentru a ajunge în C sau F trebuie transmis de B1. Deci primul lucru pe care îl face o punte este să decidă dacă un cadru trebuie transmis sau eliminat. Dacă trebuie transmis atunci este examinată tabela de adrese de dispersie menŃinută în interiorul punŃii. De exemplu tabelul lui B2 ar include pe A ca aparŃinând lui LAN 2 deoarece să trimită acest pachet prin LAN 2. La prima conectare a punŃilor tabelele sunt vide. Nici una dintre punŃi nu ştie unde se află destinaŃiile. În această fază se foloseşte algoritmul de inundare. Orice cadru care vine pentru o destinaŃie necunoscută este trimis către toate LAN-urile la care este conectată puntea. În timp, punŃile învaŃă unde se găsesc destinaŃiile şi încep să fie completate tabelele de dispersie. Algoritmul de completare se numeşte învăŃare regresivă (backward learning). Ideea este simplă. Dacă o punte vede un cadru venind de la C, atunci el ştie că tot pe unde a venit va fi trimis şi cel destinat lui C. Prin urmare, toate cadrele destinate lui C (fig 3.17) vor fi trimise prin ieşirea LAN 2 a punŃii. În felul acesta se completează tabelul de dispersie pe măsură ce sosesc pachete în reŃea. Topologia se poate schimba şi calculatoarele şi punŃile pot fi sau în funcŃiune sau nu. Pentru a trata topologiile dinamice, ori de câte ori se crează o intrare în tabelă, se notează şi timpul de sosire a cadrului. Astfel timpul asociat fiecărei intrări arată ultimul moment în care a fost primit cadrul de la calculator. Periodic, un proces din punte scanează tabela de dispersie şi curăŃă toate înregistrările mai vechi de câteva minute. În felul acesta, dacă un calculator este scos din locul său din LAN şi reinstalat în altă parte, în câteva minute el se va găsi în tabela de dispersie. De asemenea, este de reŃimut că la un calculator nou instalat în reŃea se va putea ajunge numai prin inundare, inainte ca el să fi expediat primul cadru. Procedura de dirijare prin punŃi este următoarea: 1. Dacă LAN-ul sursă este acelaşi cu LAN-ul destinaŃie, elimină cadrul. 2. Dacă LAN-ul sursă diferă de cel destinaŃie, trimite cadrul pe portul rezultat din tabela de dispersie. 59

3. Dacă LAN-ul destinaŃie este necunoscut, foloseşte inundarea. Căutarea şi actualizarea în tabelele de dispersie se fac astăzi cu circuite VLSI specializate în câteva microsecunde.

3.6 LAN-uri virtuale Din diverse motive (administrative, topologice, fizice etc.) administratorii de reŃele doresc să grupeze utilizatorii în LAN-uri şi să controleze accesul dintr-un LAN în altul. Pe de altă parte, o placă de reŃea defectă poate să înceapă să inunde reŃeaua cu cadre de difuzare şi să producă astfel congestie şi blocare. A B

C

1

A

4

3

B G

G,W G B1

B2

C W

W

G

W

S1

G,W

S2

W

G,W 2

G

G

W G

b)

a)

Fig. 3.20 a) Patru LAN-uri interconectate prin 2 punŃi b) Aceeaşi reŃea organizată ca 2 VLAN-uri Ca răspuns la problemele de mai sus şi la nevoia de flexibilitate sporită cerută de utilizartori prin care să se reconfigureze soft o reŃea realizată pe o cablare fixă, au apărut reŃelele locale virtuale, VLAN. Ele au la bază comutatoare dedicate. În fig. 3.20 se prezintă 4 reŃele fizice organizate în 2 VLAN-uri folosind punŃi sau comutatoare. Se obişnuieşte a se nota VLAN-urile prin identificatori de VLAN diferiŃi (sau culori diferite, în cazul prezentat G (gri) şi W (alb)). Pentru a asigura funcŃionarea corectă a VLAN-urilor, trebuie create tabele de configuare în punŃi sau comutatoare. Aceste tabele stabilesc care VLAN este accesibil din fiecare dintre porturi (linii). Problema care se pune este cum ştiu punŃile sau comutatoarele care este culoarea unui cadru? Există trei metode, toate folosind un indicator (identificator) de VLAN: 1. fiecărui port îi este asociată o culoare (identificator) de VLAN 2. fiecărei adrese MAC îi este asociată o culoare VLAN 3. fiecare protocol de nivel 3 (sau adrese IP) îi este asociată o culoare de VLAN.

60

Pentru utilizarea identificatorului de VLAN a fost creat un standard nou, 802.1Q şi un nou format de cadru. Acesta conŃine două câmpuri în plus faŃă de 802.3: identificator de protocol VLAN şi marcator. Plăcile Ethernet care suportă VLAN construiesc direct cadre 802.1Q.

3.6.1 ReŃele virtuale private O reŃea virtuală privată (VPN) este o reŃea a unei societăŃi implementată pe o infrastructură comună, folosind aceleaşi politici de securitate, management şi performanŃă care se aplică de obicei într-o reŃea privată. Tehnologiile VPN oferă o cale de a folosi infrastructurile reŃelelor publice cum ar fi Internetul pentru a asigura acces securizat şi privat la aplicaŃii şi resurse ale companiei pentru angajaŃii din birourile aflate la distanŃă sau pentru cei care lucrează de acasă, pentru partenerii de afaceri şi chiar pentru clienŃi. Un VPN poate fi realizat pe diverse reŃele de transport deja existente: Internetul public, reŃeaua furnizorului de servicii IP, reŃele Frame Relay şi ATM. Astăzi, tot mai multe VPN-uri sunt bazate pe reŃele IP. Tehnologia VPN foloseşte o combinaŃie de tunneling, criptare, autentificare şi mecanisme şi servicii de control al accesului, pentru a transporta traficul intern pe o reŃea IP administrată, sau pe o reŃea a unui furnizor de servicii de transport de date. Cum funcŃionează VPN ? Pentru a utiliza Internetul ca o reŃea privată virtuală, de tip Wide Area Network (WAN), trebuie depăşite două obstacole principale. Primul apare din cauza diversităŃii de protocoale prin care comunică reŃelele, cum ar fi IPX sau NetBEUI, în timp ce Internetul poate înŃelege numai traficul de tip IP. Astfel, VPN-urile trebuie să găsească un mijloc prin care să transmită protocoale non-IP de la o reŃea la alta. Al doilea obstacol este datorat faptului că Internetul nu asigură confidenŃialitatea datelor. În consecinŃă, oricine poate „vedea" traficul poate să şi citească datele conŃinute în pachete. Aceasta este cu adevărat o problemă în cazul firmelor care vor să comunice informaŃii confidenŃiale şi, în acelaşi timp, să folosească Internetul. SoluŃia pentru aceste probleme a fost denumită tunelare (tunneling) şi a permis apariŃia VPN. În loc de pachete lansate într-un mediu care nu oferă protecŃie, datele sunt mai întâi criptate, apoi încapsulate în pachete de tip IP şi trimise printr-un „tunel" virtual prin Internet. Acum, indiferent de protocolul în care au fost transmise, datele pot călători prin Internet. La destinaŃie, terminatorul de tunel primeşte pachetul, înlătură informaŃia de IP şi decriptează datele în concordanŃă cu schema stabilită iniŃial. După decriptare, datele sunt transmise la server sau router, care le plasează în reŃeaua locală. VPN-ul oferă în plus o multitudine de posibilităŃi de conectare: - conectarea utilizatorilor mobili; - realizarea de intranet între diferite locaŃii aflate la distanŃă; - realizarea unor legături extranet cu partenerii de afaceri.

SoluŃii VPN La ora actulă există trei posibilităŃi de realiza un VPN: • Remote Access VPN – permite conectarea individuală ( utilizatori mobili ) sau a unor birouri la sediul central al unei firme, aceasta realizându-se în cele mai sigure condiŃii; 61





Intranet VPN – permite conectarea diferitelor sedii ale unei firme folosind legături dedicate. DiferenŃa fată de Access VPN constă în faptul că se folosesc legături dedicate cu rata de transfer garantată, fapt care permite asigurarea unei foarte bune calităŃi a transmisiei pe lângă securitate şi bandă mai largă; Extranet VPN – este folosit pentru a lega diferiŃi clienŃi sau parteneri de afaceri la sediul central al unei firme folosind linii dedicate, conexiuni partajate, securitate maximă.

Remote Access VPN (Acces de la distanŃă) Există două tipuri de conexiuni VPN de acest fel: 1. Conexiune iniŃiată de client - clienŃii care vor să se conecteze la site-ul firmei trebuie să aibă instalat un client de VPN, acesta asigurându-le criptarea datelor între computerul lor şi sediul ISPului. Mai departe, conexiunea cu sediul firmei se face de asemenea în mod criptat, deci întregul transfer al informaŃiei se face în mod criptat. Trebuie precizat că în cazul acestui tip de VPN sunt folosiŃi o multitudine de clienŃi de VPN. Următoarea imagine schematizează acest tip de Access VPN:

Figura 3.21 Acces de la distanŃă iniŃiat de client 2. Access VPN iniŃiat de serverul de acces - este ceva mai simplă pentru că nu implică folosirea unui client de VPN. Tunelul criptat se realizează între server-ul de acces al ISP-ului şi sediul firmei la care se vrea logarea. Între client şi server-ul de acces securitatea se bazează pe siguranŃa liniilor telefonice.

Figura 3.22

Acces de la distanŃă iniŃiat de server-ul de acces 62

Intranet VPN Permite realizarea unei reŃele interne complet sigură pentru o firmă care are mai multe locaŃii ce trebuie interconectate. Arhitectura aceasta utilizează două routere la cele două capete ale conexiunii, între acestea realizându-se un tunel criptat. În acest caz nu mai este necesară folosirea unui client de VPN ci folosirea IPSec. IPSec (IP Security Protocol) este un protocol standardizat de nivel 3 care asigură autentificarea, confidenŃialitatea şi integritatea transferului de date între o pereche de echipamente care comunică. Foloseşte ceea ce se numeşte Internet Key Exchange (IKE), care necesită introducerea la ambele capete ale conexiunii a unor chei de autentificare care permit logarea reciprocă. Schematic conexiunea arată ca în fig. 3.23.

Figura 3.23

Intranet VPN

Extranet VPN Acest tip de VPN seamănă cu precedentul cu deosebirea că extinde limitele intranetului permiŃând legarea la sediul corporaŃiei a unor parteneri de afaceri, clienŃi etc.; acest tip permite accesul unor utilizatori care nu fac parte din structura firmei. Pentru a permite acest lucru se folosesc certificate digitale care permit ulterior realizarea unor tunele criptate. Certificatele digitale sunt furnizate de o autoritate care are ca activitate acest lucru.

Figura 3.24

Extranet VPN

63

3.6.2 ReŃele VPN bazate pe MPLS Conceptul MPLS (MultiProtocol Label Switching) MPLS defineşte un nou mod de comutare de nivel 2 (legătură de date) şi nivel 3 (reŃea) denumita comutarea cu etichete (mecanism de încapsulare de “nivel 2.5”). MPLS aduce în reŃelele IP neorientate pe conexiune mecanismul de comutare orientat pe conexiune care să constituie baza pentru garantarea serviciilor. Etichetele MPLS sunt identificatori de pachete sau fluxuri care spun unui echipament de reŃea (ruter, switch) unde şi cum să trimită pachetul. Eticheta MPLS este identificator de dimensiune fixă (20 biŃi), are semnificaŃie locală (la nivelul unui nod de retea) . Un pachet poate fi marcat cu mai multe etichete (stiva etichetelor – stiva de tip last-in first out). Deoarece în cazul reŃelelor de tip Ethernet nu există un câmp liber unde să poată fi introdus antetul MPLS, s-a găsit soluŃia introducerii antetului MPLS între headerul de nivel legătură de date şi headerul de nivel reŃea. Terminologie MPLS –VPN 1. 2. 3. 4. 5. 6. 7. 8.

9. 10.

ReŃea provider (P network): backbone sub controlul unui Service Provider, domeniu de reŃea MPLS. ReŃea utilizator (C network): reŃeaua utilizatorului. Ruter CE (Customer Edge Router): ruter din reŃeaua utilizatorului care are interfaŃă spre ruter PE şi stabileşte adiancenŃa cu ruterele PE la care este conectat. Ruter PE (Provider Edge Router): ruter din reŃeaua providerului care are interfaŃă spre un ruter CE. Legătura CE-PE : link între ruterele PE si CE ce poate fi construit pe orice tehnologie (ATM, Frame Relay, Ethernet, PPP, tunele GRE). Site: colectie de (sub)reŃele din reŃeaua utilizator aflate în aceeaşi locaŃie. Un site este legat la backbone prin unul sau mai multe linkuri CE-PE. Ruter P: ruter din interiorul reŃelei providerului care nu menŃine informaŃii de rutare legate de VPN. El nu are legătură directă cu un ruter CE, ci sunt noduri tranzit din reŃeaua MPLS. VRF (VPN Routing and Forwarding Instance) Un VRF constă în următoarele: o tabelă de rutare IP, o tabelă derivată de forwardare, un set de interfeŃe care vor utiliza tabela de forwardare, un set de reguli şi protocoale care vor determina ce anume înregistrări vor fi inserate în tabela de forwardare. În general, un VRF conŃine informaŃia de rutare care defineşte o locaŃie VPN a unui client, care este ataşată unui router PE. Nod ingress : nod de intrare într-o reŃea care foloseşte MPLS Nod egress : nod de ieşire dintr-o reŃea care foloseşte MPLS

In contextul MPLS VPN, prin VPN nu se mai inŃelege doar modalitatea de a lega un site la alt site printr-un circuit virtual permanent. Aici, prin VPN definesc o colecŃie de site-uri care împart aceeaşi informaŃie de rutare. O reŃea MPLS este alcătuită din noduri capabile de comutare pachete pe baza etichetelor asignate. Nodurile care folosesc MPLS sunt: ingress (de intrare) – pe unde intră traficul în reŃea, tranzit – în interiorul reŃelei (max 253), egress (de ieşire) – pe unde iese traficul din reŃea. Nodurile ingress şi egress pot fi rutere sau switchuri. Nodurile ingress analizează pachetele IP, stabilesc clasa de echivalenŃă şi asignează o etichetă. Nodurile egress şterg eticheta, în cazul în care 64

nu a fost ştearsă de penultimul ruter din cale şi rutează pachetul spre destinaŃie pe baza informaŃiei oferite de adresa IP destinaŃie din headerul IP. Nodurile tranzit sunt rutere sau switchuri care efectuează comutare de pachete pe bază de etichete MPLS (operaŃii de interschimbare a etichetei şi transmit pachetul următorului nod din cale). Eticheta MPLS şi cu antetul acesteia sunt ilustrate mai sus, în figura 3.25. Ea este formată din următoarele câmpuri: BiŃi

20

3

1

8

Etichetă

Exp

S

TTL

Fig. 3.25 Eticheta MPLS şi formatul acesteia    

Eticheta propriu-zisă, care are dimensiunea de 20 biŃi. Câmpul EXP (Experimental) se foloseşte pentru a indica Clasa de Servicii (CoS) şi are dimensiunea de 3 biŃi. Aceasta înseamnă că se pot folosi simultan maxim 23 = 8 clase de servicii. Câmpul S (baza stivei de etichete) are dimensiunea de 1 bit şi este folosit pentru a indica dacă eticheta curentă este ultima, prin eliminare rezultând un pachet nativ IP, sau dimpotrivă, sub eticheta curentă se mai găsesc alte etichete. Câmpul TTL (Time to Live, Timp de ViaŃă) are dimensiunea de 8 biŃi şi se foloseşte pentru evitarea apariŃiei buclelor.

Denumirea de ComutaŃie de Etichete Multiprotocol provine din faptul că această tehnologie poate fi folosită în conjuncŃie cu mai multe protocoale, precum ATM, SONET, SDH, etc. Pentru a putea funcŃiona la fel cu fiecare din aceste protocoale, a fost necesar să se stabilească în ce mod va fi încapsulată eticheta MPLS în cadrele cu o structură deja stabilită. Protocolul MPLS se bazează pe următoarele opperaŃii: 1. se utilizează un protocol de rutare (OSPF, EIGRP, IS-IS) pentru determinarea topologiei domeniului de reŃea 2. se utilizează un protocol de semnalizare (RSVP - Resource Reservation Protocol, LDPLabel Distribution Protocol) pentru asignarea şi distribuŃia etichetelor 3. un pachet care soseste la nodul de intrare, este analizat şi i se ataşează o etichetă. Fiecare nod de tranzit recepŃionează un pachet şi efectuează o căutare în tabela de comutare şi o operatie de interschimbare a etichetelor. Ultimul nod din calea MPLS şterge eticheta, cumutarea fiind realizată în continuare pe bază de adrese MAC sau de reŃea. Tipuri şi modele de reŃele ReŃelele VPN pot fi construite la nivel 2 (legatură de date) – model overlay, la nivel 3 (nivel reŃea) – model peer. Tipuri de reŃele VPN: - tradiŃionale: Frame Relay, ATM (nivel 2) - utilizator: L2TP si PPTP (nivel 2), IPSec (nivel 3) - provider: bazate pe MPLS (nivel 2), BGP/MPLS VPN (nivel 3)

65

Modelul overlay (VPN de nivel 2) O modalitate de realizare VPN este prin utilizarea unui protocol de nivel legatură de date orientat pe conexiune (ATM, Frame Relay) cu care construiesc trunchiuri private peste o infrastructură publică. Fiecare site este conectat la reŃeaua providerului prin unul sau mai multe circuite virtuale. AdiacenŃa între ruterele diverselor site-uri se stabileşte pe bază de protocoale de rutare. Topologia de rutare este invizibilă pentru provider deoarece reŃeaua comută trafic de nivel 2 prin circuitele virtuale. În cazul modelului peer (VPN de nivel 3) providerul şi utilizatorul folosesc aceleaşi protocoale de reŃea. Ruterele utilizatorului menŃin adiacenŃa de rutare cu ruterele de graniŃă ale reŃelei providerului. Ruterele utilizatorului au astfel un singur vecin direct de rutare. Se utilizeaza protocoale OSPF (Open Shortest Path First), IS-IS ( sau BGP (Border Gateway Protocol) pentru schimbul informaŃiei de rutare între ele. Dezavantajul acestui model este că nu permite utilizarea adreselor private. După cum se află ilustrat în figura 3.26 transportul pachetelor prin reŃeaua MPLS se realizează în felul următor: 

  

În prealabil transmiterii pachetelor, este necesară convergenŃa protocoalelor de rutare. În reŃeaua MPLS funcŃionează două protocoale de rutare, un protocol de porŃi interioare IGP (ex. OSFP sau IS-IS), şi protocolul de distribuŃie a etichetelor (LDP). Routerele MPLS, atât cele de Core, cât şi cele de Edge schimbă informaŃie de rutare prin intermediul protocolului IGP implementat. Protocolul de distribuŃie a etichetelor (LDP) realizează apoi o asociere între destinaŃii şi etichetele aferente acestora. Atunci când routerul Edge de la intrarea în reŃeaua MPLS primeşte un pachet IP, acesta analizează antetul de nivel reŃea al acestuia, îl include într-o anumită clasă de echivalenŃă şi, implicit, îi asociază o etichetă. Routerele Core MPLS comută pachetul prin reŃea prin schimbarea etichetei până ce acesta ajunge la routerul Edge de la ieşirea din reŃeaua MPLS. Routerul Edge de la ieşire extrage apoi eticheta şi transmite pachetul IP către client. 1. Protocoalele de rutare existente (ex. OSPF, IS-IS) stabilesc accesibilitatea reŃelelor destinaŃie.

2. Protocolul de DistribuŃie a Etichetelor (LDP) stabileşte maparea între etichete şi destinaŃii.

3. Routerul Edge de la intrare primeşte pachetul, realizează servicii de nivel 3, şi “etichetează” pachetele.

5. Routerul Egress extrage eticheta şi livrează pachetul IP standard către routerul clientului.

4. Routerele Core comută pachetele pe baza etichetelor.

Figura 3.26– FuncŃionarea MPLS 66

În cazul ATM, eticheta înlocuieşte perechea VPI-VCI. În cazul în care se foloseşte PPP (SONET sau SDH) eticheta se interpune între antetul PPP şi antetul nivelului reŃea. În mod similar la antetul LAN MAC, eticheta se interpune între antetul MAC şi antetul nivelului reŃea. Alocarea etichetelor pentru diferite clase de echivalenŃă este o chestiune care Ńine de fiecare router MPLS în parte. De aceea, fiecare router menŃinând propria sa mapare între etichete şi clase de echivalenŃă, este evident că etichetele au o semnificaŃie locală. Odată mapate etichetele cu clasele de echivalenŃă, aceste informaŃii sunt schimbate între routerele „vecine”. În mod normal, routerele „vecine” sunt routere adiacente, dar este posibil ca pentru unele aplicaŃii, cum ar fi VPN sau Ingineria Traficului, să existe routere „vecine” din punctul de vedere al distribuŃiei de etichete, dar care să nu fie şi adiacente. DistribuŃia de etichete între routerele MPLS se realizează conform unui protocol. Cel mai cunoscut şi cel mai frecvent utilizat protocol este LDP, dar există şi alte protocoale de distribuŃie a etichetelor, precum Cisco TDP, CR-LDP sau PIM (utilizat pentru transmisiuni multicast). În funcŃie de specificul aplicaŃiei se poate opta pentru un anumit protocol de distribuŃie a etichetelor. Pentru a putea explica modalităŃile de distribuŃie a etichetelor într-o reŃea MPLS trebuie să definim conceptele de „Router Amonte” şi „Router Aval” (Upstream Router, respectiv Downstream Router) relativ la o anumită destinaŃie. 171.68.10/24 171.68.40/24

C

B

A

Figura 3.27 – Router Amonte şi Router Aval În figura 3.27 ruterul C este vecinul din aval al luiB relativ la destinaŃia 171.68.10/24. Ruterul B, la rândul lui, este vecinul din aval al luiA pentru destinaŃia 171.68.10/24. Routerele află cine sunt routerele lor vecine din aval prin intermediul protocolului de rutare IP. Mai precis, adresa următorului nod, obŃinută prin intermediul protocolului de rutare IP, este routerul vecin din aval. Revenind la distribuŃia etichetelor aceasta poate fi realizată de către routerul amonte sau de către cel aval. În cazul în care routerul aval este cel care realizează distribuŃia de etichete, el o poate face fie la solicitarea routerului din amonte, fie fără solicitarea acestuia. Cele mai multe implementări folosesc distribuŃia etichetelor din aval, cea din amonte fiind foarte puŃin utilizată. În figura 3.28 este ilustrată distribuŃia aval fără solicitarea routerului amonte (Unsolicited Downstream). Pentru destinaŃia 171.68.10/24 foloseşte eticheta 5

Pentru destinaŃia 171.68.10/24 foloseşte eticheta 7

171.68.40/24

171.68.10/24

A

C

B

Figura 3.28 – DistribuŃia Aval fără solicitare (Unsolicited Downstream distribution) DistribuŃia fără solicitare funcŃionează după cum urmează:

67

 

Routerele MPLS asociază câte o etichetă fiecărei clase de echivalenŃă. Apoi, routerele MPLS distribuie etichetele către vecinii lor din amonte.

DistribuŃia Aval la cerere funcŃionează ca în Figura 3.29. Ruterele de etichete asociază câte o etichetă fiecărei clase de echivalenŃă. Routerele din amonte emit o cerere de etichete către ruterele corespondente din aval. Apoi, ruterele din aval distribuie etichetele conform cererii. DistribuŃia Aval a etichetelor la cerere este folosită de către ruterele de etichete de tip ATM şi la implementarea unei politici de ingineria traficului prin RSVP. Se ştie că un comutator ATM transportă celule, nu pachete. În cazul ATM, eticheta este încapsulată în câmpul VPI-VCI. Pentru a distinge pachetele este necesar un proces de segmentare şi reasamblare. Mai precis, celulele care au aceeaşi etichetă, dar care provin din pachete diferite trebuie să fie reasamblate corect. Alocarea etichetei se face în funcŃie de adresa IP destinaŃie, de interfeŃele de intrare şi, dacă e cazul, în funcŃie de politica de inginerie a traficului implementată.

Pentru destinaŃia 171.68.10/24 foloseşte eticheta 5

Pentru destinaŃia 171.68.10/24 foloseşte eticheta 7

171.68.10/24 171.68.40/24

A

B

C Am nevoie de etichetă pentru destinaŃia 171.68.10/24

Am nevoie de etichetă pentru destinaŃia 171.68.10/24

Figura 3.29 – DistribuŃia Aval a etichetelor la cerere Există două politici de distribuire a etichetelor ce pot fi implementate într-o reŃea MPLS: cu control ordonat al distribuŃiei sau cu control independent al distribuŃiei. Dacă se implementează politica de control ordonat al distribuŃiei, atunci un router asociază şi distribuie o etichetă pentru o anumită clasă de echivalenŃă numai dacă acesta este routerul de ieşire pentru respectiva clasă de echivalenŃă sau dacă a primit deja o asociere de la nodul său următor. Dacă, dimpotrivă, politica de control al distribuŃiei este cea independentă, atunci fiecare router asociază etichetele cu clasele de echivalenŃă în mod independent. Dezavantajul implementării unei politici independente de distribuire a etichetelor este acela că un router poate să transmită un pachet nodului următor, iar acesta să nu aibă etichetă pentru respectiva clasă de echivalenŃă din care pachetul face parte. Acest lucru poate duce la pierderi de pachete şi la întârzierea convergenŃei protocolului de distribuŃie a etichetelor. Într-o reŃea cu comutaŃie de etichete un ruter poate să păstreze toate etichetele de la toŃi vecinii săi (mod de memorare liberal) sau poate să păstreze doar etichetele primite de la vecinii care sunt noduri următoare relativ la destinaŃii (mod de memorare conservator). Modul de memorare liberal are avantajul că duce la un timp de convergenŃă mai bun al protocolului de distribuire a etichetelor, dar necesită mai multă memorie şi spaŃiu pentru etichete, chestiune care poate deveni problematică în cazul ruterelor de etichete de tip ATM, întrucât la acestea, o etichetă reprezintă un circuit virtual. Modul de memorare, pe de altă parte, face ca ruterele să ignore toate etichetele care nu provin de la nodul următor relativ la o anumită destinaŃie, ceea ce duce la utilizarea mai eficientă a memoriei şi a spaŃiului pentru etichete. Un aspect foarte important legat de etichete este acela că un anumit pachet poate conŃine mai mult decât o singură etichetă. În cazul în care un pachet conŃine mai multe etichete, acestea sunt organizate sub formă de stivă. Foarte important de reŃinut este faptul că ruterele MPLS comută 68

pachetele numai pe baza etichetei de deasupra din stiva de etichete. Modul în care se realizează comutaŃia de etichete pe baza stivei se poate vedea ilustrat în figura 3.30.

Figura 3.30 – ComutaŃia de etichete pe baza stivei de etichete

Concluzii Nivelul Legătură de date organizează fluxurile de biŃi în blocuri de date numite cadre, recunoscute de echipamentele de reŃea de nivel 2, care le prelucrează astfel încât pe un link ale reŃelei să se asigure o transmitere corectă, fără erori. Principalele sarcini ale nivelului legătură de date sunt: detecŃia şi corecŃia erorilor de transmisie, controlul fluxului, controlul accesului la mediu şi comutarea datelor la nivel fizic. Echipamentele de nivel legătură de date se găsesc la fiecare capăt al unui link şi ele rulează protocoale de nivel 2. Controlul erorilor se poate face prin tehnica bitului de paritate, tehnica CRC sau folosirea unor coduri de linie speciale, detectoare –corectoare de erori. Mecanismul cu fereastră glisantă este foarte folosit pentru a integra controlul fluxului cu controlul erorilor într-un mod convenabil. Multe reŃele folosesc la nivel legătură de date unul dintre protocoalele orientate pe biŃi: SDLC, HDLC, LAPB iar Internetul foloseşte PPP ca principal protocol pe liniile punct la punct. Multe reŃele folosesc un singur canal pentru toate comunicaŃiile, necesitând astfel diverse scheme şi algoritmi de alocare a canalului. Cele mai simple scheme sunt cele bazate pe diviziunea în frecvenŃă (FDM) şi pe diviziunea în timp (TDM). Acestea sunt alocări statice şi au eficienŃă bună dacă traficul este cunoscut şi invariabil în timp. Dacă numărul staŃiilor este variabil, iar traficul în rafală, sunt mai utile protocoalele de alocare dinamică: CSMA/CD, CSMA/CA, CDMA, tehnicile cu salt de frecvenŃă (FHSS, DSSS). Ethernetul este forma cea mai răspândită pentru reŃelele locale. LAN-urile diferite sunt interconectate prin punŃi şi comutatoare. O nouă dezvoltare în domeniul interconectării reŃelelor locale este VLAN, care separă topologia logică a LAN-urilor de cea fizică. Ea prmite realizarea unor reŃele virtuale de tip LAN peste Internet.

69

Întrebări de control 1. Care sunt locul şi rolul nivelului LD şi ce servicii oferă nivelului superior (reŃea)? 2. Care sunt considerentele împărŃirii nivelului LD în subnivele? Ce importanŃă practică are acest lucru? 3. ExplicaŃi conŃinutul următoarelor noŃiuni: acces multiplu, detecŃie de purtătoare, coliziune, mediu partajat. 4. Care este lungimea tipică a unui cadru Ethenet? Care sunt considerentele avute în vedere la stabilirea lungimii unui cadru? 5. Care este structura generică a unui cadru LD şi care este rolul câmpurilor? 6. Care sunt deosebirile dintre controlul fluxului şi controlul erorilor? 7. Ce este distanŃa Hamming şi ce rol are în detecŃia/corecŃia erorilor? 8. Care sunt principalele cauze ale erorilor de transmisie şi cum se pot reduce? 9. Care sunt principalele tehnici de control al accesului la mediu? EnumeraŃi avantajele şi dezavantajele lor. 10. Un octet cu valoarea hexa 4C trebuie codificat astfel ca să permita detecŃia erorilor pe baza bitului de paritate folosind regula parităŃii pare. Care va fi forma binară a cuvântului de cod? 11. DescrieŃi locul şi rolul punŃilor în LAN-uri.Cum se pot realiza LAN-uri virtuale. DescrieŃi asemănările şi deosebirile dintre comutatoare, punŃi, repetoare, hub-uri, rutere, porŃi. 12. Care sunt principalele moduri de realizare a VPN? 13. Ce este o reŃea virtuală privată şi cum se poate realiza? 14. Ce este un tunel VPN şi cum se poate realiza? 15. De ce specificaŃiile 1000Base-SX precizează că frecvenŃa ceasului în linie trebuie să fie 1250 MHz, deşi gigabitEthernetul are rata 1000 Mbps? 16. Care este structura unui cadru Ethenet şi care este semnificaŃia câmpurilor sale? 17. Care este principiu detecŃiei erorilor prin tehnica CRC? 18. De ce se folosesc în reŃelele vireless tehnici de transmisie bazate pe salt de frecvenŃă? 19. Ce sunt tabelele de comutare din switch-uri şi cum se completează ele? 20. Ce sunt adresele fizice din reŃelele locale şi care este rolul lor? 21. Care este lungimea minimă a unui cadru Ethernet şi de unde rezultă aceasă valoare?

Teme de casă 1. DescrieŃi protocolul PPP şi aplicaŃiile sale 2. DescrieŃi protocolul LAPB şi aplicaŃiile sale 3. DescrieŃi nivelul LD în reŃele locale de tip Ethenet 4. DescrieŃi nivelul LD în reŃele Frame Relay. 5. DescrieŃi nivelul LD în reŃele X.25 6. DescrieŃi nivelul LD în reŃele SDH 7. FaceŃi un studuiu comparativ la nivel LD între reŃelele Ethenet, Frame Relay, SDH, FDDI 8. DescrieŃi şi exemplificaŃi tehnica controlul erorilor prin bitul de paritate. 9. DescrieŃi şi exemplificaŃi tehnica controlul erorilor prin CRC 10. DescrieŃi rolul şi modul de funcŃionare al unui comutator de nivel LD. 11. DescrieŃi rolul şi modul de funcŃionare al unui card de reŃea de tip Ethernet. 70

12. DescrieŃi modul de comutare al cadrelor într-un LAN comutat 13. DescrieŃi locul şi rolul punŃilor în LAN-uri.Cum se pot realiza LAN-uri virtuale. DescrieŃi asemănările şi deosebirile dintre comutatoare, punŃi, repetoare, hub-uri, rutere, porŃi. 14. ComparaŃi din punct de vedere arhitectural, funcŃional şi aplicativ următoarele reŃele wireless: 802.11(WLAN), 802.15(Blutooth) şi 802.16(WMAN) 15. DescrieŃi tehnicile de codare Manchester şi Manchester diferenŃial. 16. ScrieŃi un algoritm şi un program soft de implementare a unui protocol simplu de transfer de date de tipul Stop-and-Wait. 17. DescrieŃi un protocol de control al fluxului de tipul Go Back to n 18. DescrieŃi realizarea de reŃele virtuale prin tehnica MPLS 19. Folosind simulatorul Packet Tracer să se configureze reŃele VLAN pe bază de switch-uri. 20. Folosind simulatorul Packet Tracer să se configureze reŃele VPN pe bază de rutere.

Probleme rezolvate 1. Care este restul împărŃirii polinomului x7+x5+1 la polinomul genertator x3+1? R. R=x2+x+1 2. Folosind polinomul generator din problema precedentă G(x)=x3+1, să se determine secvenŃa de cod rezultată pentru transmiterea prin metoda CRC a octetului 10011101. Dacă un bit din cuvântul recepŃionat este eronat faŃă de cuvântul transmis, arătaŃi că metoda CRC permite detectarea existenŃei unei erori. R.

Polinomul mesaj M(x)=x7+x4+x3+x2+1 trebuie împăŃit la G(x)=x3+1. Restul acestei împărŃiri este R(x)=x2. CoeficienŃii acestui polinom sunt 100 şi ei trebuie aduăgaŃi octetului mesaj. Prin urmare, cuvântul de cod ce se va trimite pe linie va fi 10011101100. Presupunând că bitul 4 de la coadă este eronat, adică s-a recepŃionat 10011100100, făcând împărŃirea M’(x)=x10+x7+x6+x5+x2 la G(x) se obŃine R(x)=x+1≠0, ceea ce arată existenŃa unei erori de transmisie.

3. Un canal are o rată a transmisiei de 4kbps şi o întârziere de propagare de 20ms. DeterminaŃi pentru ce mărime a lungimii cadrelor metoda de confirmare pas cu pas (stop and wait) are o eficienŃă de cel puŃin 50%? R. EficienŃa va fi 50% atunci când timpul de transmitere dus-întors a cadrului va atinge durata sa. La o rată de 4kbps, pe o durată de 2x20 ms se transmit 160 de biŃi. Prin urmare, eficienŃa transmisiei depăşeşte 50% dacă lungimea cadrelor este mai mare de 160 de biŃi. 4. Un octet cu valoarea binară 10100011 trebule codat utilizând un cod Hamming cu paritate pară. Care va fi secvenŃa de biŃi în urma codificării? R. 101000110 5. Să se determine rata biŃilor şi rata de modulaŃie pe o linie de abonat cu interfaŃă ISDN de tip BRI presupunând că se foloseşte un cod de linie 2B1Q (too binary, one quaternary) iar formatul de cadru este cel din figura următoare: 71

START (18 biŃi)

Date utilizator (216 biŃi)

STOP (6 biŃi)

R. Fiecare cadru de 240 de biŃi conŃine 12x8=96 biŃi pe canalul B. Deoarece el este 64 × 240 echivalent cu o rată de 64kbps, rezultă că rata de biŃi este = 160kbps. Fiind vorba 96 de o modulaŃie biimpuls (2 biŃi de date se transmit ca un semnal în linie), rata de modulaŃie va fi 80 bauds. 6. Un mesaj este divizat în 10 cadre pentru a fi trimis la destinaŃie. Fiecare cadru are probabilitatea de 80% să ajungă fără erori la destinaŃie. Dacă nu există niciun control al erorilor la nivel legătură de date, de câte ori va trebui transmis mesajul în medie pentru a ajunge întreg la destinaŃie?

R. Pentru ca întreg mesajul să fie transmis corect, trebuie ca fiecare cadru să ajungă fără erori la destinaŃie. Probabilitatea acestui eveniment este: p = 0.810 = 0.107 Numărul mediu de transmisii ale mesajului este: ∞



M = ∑ ip (1 − p ) i −1 = p ∑ i (1 − p ) i −1 i =1

i =1

Pentru a calcula această sumă, notăm 1 − p = α , unde 0 < α < 1 şi pornim de la seria geometrică infinită: ∞ 1 S = ∑α i = 1−α i =1 pe care o derivăm în raport cu α : ∞ 1 S ' = ∑ iα i −1 = (1 − α )2 i =1 1 Revenind la notaŃia p = 1 − α se obŃine M = = 9,3 transmisii. p 7. Se consideră un canal de transmisie de 100Mbps la care sosesc aleator cadre a căror lungime (numărul de biŃi) are distribuŃie exponenŃială cu media 10 000 biŃi/cadru. Dacă în momentul sosirii unui cadru canalul este ocupat, el se aşează într-o coadă pentru a fi transmis. Care este întârzierea medie a unui cadru dacă rata de sosire este λ = 900 cadre/s? Pentru ce rată a sosirilor timpul mediu de aşteptare creşte nelimitat?

R. Se aplică teoria aşteptării modelată cu lanŃuri Markov, în care timpul mediu de aşteptare în coadă este: 1 1 unde µ = 10 −4 şi C = 10 8 Rezultă T = T= = 0.11ms 6 µC − λ 100 × 10 × 10 − 4 − 900 Dacă λ = µC = 10 −4 × 10 8 = 10000cadre / s atunci T → ∞ Obs. Dacă rata sosirilor scade de 10 ori, de la 900 la 90cadre/s, timpul de aşteptare u se reduce proporŃional, ci scade nesemnificativ.

8. Un grup de N staŃii folosesc în mod partajat un canal de 56kbps. Dacă se detectează o coliziune transmisia încetează şi se reia după un timp aleator. Fiecare staŃie emite în medie un

72

cadru de 1000 de biŃi la fiecare 100 secunde, chiar dacă precedentul cadru nu a fost încă transmis. Care este valoarea maximă a lui N?

R. Fiind în situaŃia unui canal cu acces aleator pur, eficienŃa maximă este 0,184. Banda disponibilă a canalului va fi: B = 0,184 × 56000 = 10300bps . Fiecare staŃie trimite un cadru (1000biŃi) la 100 secunde, adică 10bps. Rezultă că numărul maxim de staŃii care pot emite simultan este 10300/10=1030. 9. Presupunând că un LAN 802.11b cu rata de transmisie 11Mbps transmite cadre de 64 octeŃi cap la cap printr-un canal radio cu rata erorilor de 10-7. Cîte cadre pe secundă vor fi distruse în medie?

R. Un cadru conŃine 512biŃi. La o rată a erorii pe bit p=10-7, probabilitatea ca toŃi cei 512 512 biŃi să fie corect recepŃionaŃi este (1 − p ) = 0,9999488 . Prin urmare, proporŃia de pierdere este aproximativ 1-0.9999488≅5x10-5. 11 × 10 6 = 21454 Numărul de cadre pe secundă este : 512 Numărul de cadre distruse pe secundă este 21 454×5×10-5×≅1cadru/s 10. PrecizaŃi două reŃele care să aibă cadre împachetate cap la cap. De ce este utilă această caracteristică?

R. Gigabit Ethenet şi IEEE 802.16 au această caracteristică. Utilitatea constă în utilizarea mai eficientă a benzii (un singur preambul) şi se dovedeşte mai ales la reŃelele cu lungimea cadrului mică.

Probleme propuse 1. Pentru recunoaşterea datelor la nivel LD se folosesc delimitatori de cadru de tipul START (00101010) şi STOP (10101010). Dacă se doreste transmiterea a două caractere A(11100101) şi B(11100111) folosind tehnicile de încadrare caracter cu caracter sau şir de caractere, arătaŃi secvenŃa de biŃi din linie. 2. SecvenŃa de biŃi 11011101 este transmisă prin metoda CRC folosind polinomul generator x3+1. PrecizaŃi secvenŃa de biŃi transmisă. Presupunînd ca al treilea bit de la stânga este eronat în timpul transmisiei, demonstraŃi că eroarea este detectată de receptor. 3. Pe un canal de comunicaŃie se transmit consecutiv pachete de lungime 1500 octeŃi, cu o rată de 500 paclete pe secundă. Dacă antetul şi coada fecărui pachet au 24 de octeŃi, care trebuie să fie capacitatea minimă a canalului care să poată prelua acest flux? Care este fracŃiunea din fluxul de date efectiv folosită de utilizator?

73

4. Pe un cablu optic lung de 100km se transmit cadre STM-1care incapsulează celule ATM de lungime 53 octeŃi. Dacă viteza de propagare a semnalului optic este 0.7 din viteza luminii în vid, câŃi biŃi şi câte celule se găsesc la un moment dat pe cablu? 5. SchiŃaŃi codificarea Manchester pentru şirul de biŃi 0001110101. 6. Un WLAN 802.11b transmite cadre de 64 octeŃi cu o rată de 11Mbps pe un canal cap la cap cu rata erorii de 10-7. Câte cadre vor fi distruse în medie pe secundă? 7. CalculaŃi supraîncarcarea produsă de transmiterea unui pachet IP peste următoarele protocoale de nivel LD: PPP, LAPB, Ethernet(10 Base T). 8. Un mesaj de la un nivel mai înalt este spart în 10 cadre, fiecare dintre ele având probabilitatea de 90% de a ajunge nealterat la destinaŃie. Dacă nu se face nici un control al erorilor de către protocolul de nivel LD, de câte ori trebuie transmis mesajul în medie pentru a fi recepŃionat corect integral? R:RecepŃia mesajului este corectă dacă fiecare cadru este recepŃionat corect Prc=(0.9)10=0.3486 Deci apare un caz favorabil dintr-o medie de 3.486 9. Un cod Hamming de 12 biŃi a cărui valoare în hexa este 0xE4F soseşte la receptor. Care este valoarea hexa originală? Se presupune că maxim un bit este eronat. 10. Un mod de a detecta erorile este de a transmite datele sub formă de blocuri de n rânduri şi k coloane de biŃi şi adăugarea câte unui bit de paritate pe fiecare rând si fiecare coloană. În colŃul din dreapat ajos este bitul care verifică linia şi coloana sa. Va detecta această tehnică toate erorile singulare? Dar duble? Dar triple? 11. Un număr mare de staŃii de emisie generează 50 cereri/s. Canalul de transmisie este cu acces aleator cuantifiat la 40ms. Care este sansa de succes a primei încercări? Care este probabilitatea de a avea exact n eşecuri urmate de un succes? 12. 13. ?

74

Tema 4. NIVELUL REłEA LecŃia 4.1 Nivelul reŃea LecŃia prezentă rolul şi funcŃiile nivelului reŃea în modelele arhitecturale OSI şi Internet. Sunt dezvoltate aspectele referitoare la rutarea pachetelor şi fluxurilor de date, sunt descrişi şi exemplificaŃi mai mulŃi algoritmi şi protocoale de rutare împreună cu utilizările acestora. După parcurgerea şi însuşirea acestei lecŃii, studentul va cunoaşte: • Locul, rolul şi importanŃa nivelului reŃea şi legătura cu nivelele adiacente • Definirea şi caracteristicile algoritmilor de rutare şi aplicabilitatea lor • Algoritmi de rutare pe bază de flux • Algoritmi de rutare bazaŃi pe vectori distanŃă • Algoritmi de rutare bazaŃi starea legăturilor • Dirijarea ierarhică şi dirijarea multiplă • Principalele protocoale de rutare folosite în Internet (RIP, OSPF, IGRP, BGP, EGP, ISIS, etc.) Temă de casă: Fiecare student va primi o temă de casă care va consta în descrierea şi aplicarea practică a unui algoritm de rutare. Lucrările de laborator exemplifică practic aplicarea acestor algoritmi pentru rutarea traficului în diverse reŃele locale şi de arie largă. Cu ajutorul programelor de simulare RouteSim Network Visualizer şi PacketTracer se realizează diferite scenarii şi aplicaŃii de rutare. Se vor folosi şi echipamente fizice de nivel reŃea (rutere, switch-uri) pentru a pentru a proiecta şi realiza reŃele fizice. Timp de studiu 8 ore

Nivelul reŃea are ca sarcină principală transferul datelor de la sursă la destinaŃie. Transferul se poate face prin unul sau mai multe salturi, spre deosebire de nivelul legătură de date, unde transferul se face doar între două noduri vecine. Transferul datelor la nivel reŃea se poate face în modul orientat pe conexiune sau neorientat pe conexiune. Şi într-un caz şi în altul, reŃeaua trebuie să poată face dirijarea pachetelor în noduri, adică să facă rutarea. Nodurile de reŃea care fac dirijare se numesc rutere. Ele trebuie să fie echipamente “inteligente”, capabile să ia decizii de rutare optime, să aleagă calea cea mai potrivită de urmat dintre multe variante posibile. Rutarea este operaŃia de transportare a informaŃiilor într-o reŃea, sau între mai multe reŃele, de la o sursă la o destinaŃie. În acest transport se întâlneşte, de obicei, cel puŃin un nod intermediar. Rutarea implică două activităŃi de bază: • determinrea căilor optime de rutare şi • transportarea fluxurilor de informaŃii (sau pachetelor) prin reŃea. Pentru aceasta, echipamentele de nivel reŃea trebuie să folosească trei categorii de protocoale: 72

1. protocoale de rutare care descoperă topologia reŃelei şi stabilesc rute între oricare perechi sursă destinaŃie între care are loc transfer de date; 2. protocoale rutabile care sunt capabile să dirijeze pachetele de date dintr-un nod în altul pe baza rutelor stabilite de protocoalele de rutare; 3. protocoale de control care menŃin controlul transferului de date şi informează entităŃile corespondente despre evenimentele care pot apărea în reŃea pe durata transferului. Protocoalele de rutare folosesc diferite metrici pentru a evalua ce drum este optim pentru transportul unui pachet. O metrică este o măsură standard, ca de exemplu lăŃimea de bandă a canalului de comunicaŃie, distanŃa dintre sursă şi destinaŃie etc. Pentru determinarea drumului, ruterele folosesc protocoalele de rutare, prin care iniŃializează şi administrează tabele de rutare, în care se află informaŃii despre rute. Pentru aceasta, ruterele trebuie să cunoască topologia reŃelei, să aibă mereu informaŃii despre starea rutelor, să poată folosi diferite criterii de performanŃă pentru a compara rutele, să poată utiliza algoritmi de rutare în timp real.

4.1. Servicii asigurate nivelului transport Serviciul reŃea trebuie să asigure transportul TPDU-urilor de la un capăt la altul al reŃelei de transport indiferent de tehnologia reŃelei, de algoritmii de dirijare, de modul de rutare (pachete sau circuite), de lungimea rutei, de topologia reŃelei etc. Adresele folosite de reŃea trebuie să apară uniforme la nivelul transport, chiar în cadrul reŃelelor LAN şi WAN. Serviciul de transport poate să fie neorientat pe conexiune sau orientat pe conexiune. În primul caz se trimit pachetele folosind două primitive de bază, send packet şi receive packet, fără operaŃii de verificare a ordinei sosirii pachetelor, pentru că oricum o va face calculatorul gazdă. În cel de al doile caz se stabileşte mai întâi o conexiune la nivel transport între sursă şi destinaŃie, după care se pot negocia unii parametrii ai conexiunii (calitatea serviciilor, banda de transfer etc.) şi apoi are loc transferul datelor. Ambele tipuri de servicii sunt folosite în reŃele. ReŃelele IP au serviciile de nivel reŃea neorientate pe conexiune, iar ATM are nivelul reŃea orientat pe conexiune. În cazul serviciului neorientat pe conexiune, nivelul transport al gazdei transmiŃătoare trimite blocul de date (TPDU) la primul ruter la care este conectat la intrarea în reŃea. Acesta îi adaugă antetul de reŃea care conŃine printre altele adresa de reŃea pe baza căreia, folosind o tabelă de rutare, îl trimite pe un port de ieşire al ruterului, spre un alt nod al reŃelei. Acesta primind pachetul îl memorează, analizeză adresa de reŃea şi folosind tabela de rutare proprie îl trimite printr-un port de ieşire spre următorul ruter. Pentru aceasta, fiecare nod memorează şi retransmite (Store-andforrward) pachetele după o prelucrare specifică. Ruterele fiind şi capete ale nivelului legătură de date, pachetele suferă procesări specifice acestui nivel (existenŃa erorilor, suma de control, etc.) înainte de a fi livrate nivelului reŃea. Prin urmare, procesările din nodurile de reŃea sunt destul de complexe şi necesită uneori timp apreciabil. Acesta este unul dintre dezavantajele majore ale modului de transfer neorientat pe conexiune. Totuşi, sarcina principală a ruterului este de a dirija pachetele folosind tabele de rutare. Un tabel de rutare al unui nod conŃine, sub formă de perechi, lista tuturor destinaŃiilor care pot fi atinse din nodul dat şi portul de ieşire corespunzător. Tabelele de rutare se pot schimba în timp în funcŃie de starea reŃelei, de algoritmul de dirijare folosit etc. 73

1

B H1

2 1

D

A

2 1

E

2

F

H2

C Tabel de rutare A iniŃial

A B C D E F

B C B C B

DesinaŃie Rută

Tabel de rutare A ulterior

A B C D E F

B C C C C

Tabel de rutare C

A A B A C D D E E DesinaŃie Rută

DesinaŃie Rută

Tabel de rutare D

A B C D E F

B B C E E

DesinaŃie Rută

Fig. 4.1 Dirijarea pachetelor într-o reŃea neorientată pe conexiune Pentru a înŃelege mecanismul rutăii pe bază de tabele se poate analiza reŃeaua din fig. 4.1. Gazda H1 emite pachete pentru destinaŃia H2. Gazda H1 este conectată direct la ruterul A din reŃeaua de transport, iar gazda H2 face parte dintr-un LAN care este conectat la reŃeaua de transport prin ruterul E. Pachetele gazdei H1 sunt livrate ruterului A care urmează să le livreze următorului nod din reŃea. Pachetul 1 va fi dirijat de la A spre ieşirea B conform tabelului de rutare iniŃial care arată că destinaŃia F se poate atinge din A prin ieşirea B. Ruterul B nu are decât o ieşire, spre D şi pachetul va fi livrat lui D. Ruterul D vede că pchetul 1 este destinat lui F, se uită în tabela de rutare şi vede că F poate fi atins din D pe ieşirea E. Prin urmare, îl trimite lui E şi aşa mai departe. Pentru al doilea pachet, ruta prin reŃea poate fi alta, de exemplu A,C,E,F. Aceast rută este calculată de algoritmul de rutare care, la momentul transmiterii pachetului 2, o găseşte ca fiind mai bună decât ruta anterioară. Algoritmul va schimba tabelele de rutare din noduri, precizând că ieşirea din A spre F este prin C. Tehnica rutării independente a pachetelor are şi avantaje prin faptul că elimină fazele stabilirii şi desfacerii conexiunii şi poate asigura o încărcare uniformă a rutelor fără a le supraîncărca pe unele şi subîncărca pe altele.

4.2 Algoritmi de rutare Pentru stabilirea rutelor urmate de pachete în reŃea, fie că este vorba de comutare de pachete, fie că este vorba de stabilire de circuite virtuale, se folosesc algoritmi de rutare. Ei sunt acea parte a softului de reŃea care trebuie să aleagă o rută (cale) optimă între un nod sursă şi unul destinaŃie. Uneori este util să se facă distincŃie între două procese care au loc în ruter. Unul este procesul de dirijare care înseamnă stabilirea căii prin reŃea când are loc completarea sau actualizarea tabelei de dirijare şi altul este cel de retransmitere (forwarding) a pachetelor sosite în ruter. Stabilirea unei rute optime prin reŃea nu este un proces simplu. De multe ori trebuie să se aleagă sau să se facă un compromis între optimalitate şi încărcarea rutelor. Calea cea mai scurtă dintre două noduri de reŃea 74

poate fi şi prea încărcată, depăşind chiar capacitatea de transfer de date. Atunci trebuie aleasă o cale mai lungă, dar mai puŃin încărcată. Principiul optimalităŃii spune că dacă ruterul J este pe calea optimă de la ruterul I către ruterul K, atunci calea optimă de la J la K este pe aceeaşi rută. O consecinŃă directă a principiului optimalităŃii este că mulŃimea rutelor de la un nod sursă către toate nodurile destinaŃie formează un arbore de scufundare (sink tree) cu rădăcina în sursă. Arborele de scufundare poate să nu fie unic. El nu conŃine bucle şi, ca urmare, un pachet poate fi livrat din sursă în oricare alt nod printr-un număr limitat de salturi. Scopul algoritmilor de rutare este de a descoperi şi folosi arbori de scufundare pentru toate nodurile. Algoritmii de dirijare pot fi adaptivi şi neadaptivi. Algoritmii neadaptivi (statici) nu îşi bazează deciziile pe măsurători sau estimări ale traficului sau ale topologiei curente ale reŃelei. Ei sunt algoritmi statici deoarece se aplică o singură dată la iniŃializarea reŃelei şi nu Ńin seama de modificările apărute în timp în reŃea. Chiar dacă au respectat cerinŃa optimalităŃii la momentul aplicării, în timp ei nu mai respectă această cerinŃă. Algoritmii adaptivi (dinamici) îşi modifică deciziile de rutare în funcŃie de schimbările care apar în reŃea. Prin aceasta ei sunt mereu adaptaŃi la starea curentă a reŃelei. A

A

E

E D

B

C

F

C

G

a)

D

B

F

H

G

b)

H

Fig. 4.3 a) O subreŃea b) Un arbore de scufundare pentru nodul A Inundarea (flooding) este acel algoritm care trimite un pachet sosit pe o intrare pe fiecare ieşire (mai puŃin cea pe care a venit). În felul acesta, se produce o multiplicare exponenŃială a numărului de pachete şi se poate ajunge repede la blocarea reŃelei dacă nu se iau măsuri speciale de prevenire a acestei situaŃii. Evitarea multiplicării infinite a pachetelor se poate face ataşând un contor în antetul fiecărui pachet iniŃializat cu o anumită valoare şi care se decrementează la fiecare multiplicare (salt prin reŃea). Când contorul ajunge la zero, pachetul este eliminat.

4.2.1 DefiniŃii şi caracteristici ale algoritmilor DefiniŃia 1: Numim algoritm o prescripŃie care determină un anumit proces de calcul şi care este precisă, perfect inteligibilă şi nu admite nici un fel de interpretări din partea celui care o duce la îndeplinire. ÎnŃelesul modern de algoritm este destul de apropiat de cel de reŃetă, proces, metodă, procedură, rutină. DefiniŃia 2: Algoritmul reprezintă un set de reguli care dau o secvenŃă de operaŃii pentru soluŃionarea unui tip specific de probleme.

75

Caracteristicile unui algoritm:  generalitate = algoritmul nu trebuie să rezolve numai o problemă, ci toate problemele din clasa respectivă;  finititudine = numărul de transformări intermediare aplicate asupra informaŃiei iniŃiale pentru a obŃine informaŃia finală este finit;  unicitate = toate transformările intermediare aplicate asupra informaŃiei iniŃiale sunt unic determinate de regulile algoritmului; acesta trebuie să precizeze ordinea strictă a transformărilor; de asemenea, regulile precizează în ce caz se obŃine informaŃia finală, după care activitatea algoritmului se întrerupe;  claritate = fiecare pas al unui algoritm trebuie definit în mod precis; procedurile şi etapele de calcul trebuie specificate în mod riguros şi fără ambiguităŃi;  eficacitate = orice algoritm trebuie să ne conducă la rezultatul scontat în timp optim; toate operaŃiile ce urmează a fi executate în algoritm trebuie să fie suficient de fundamentate încât, în principiu, să poată fi făcute exact şi într-un interval finit de timp;  intrarea = un algoritm are una sau mai multe intrări constituite din cantităŃile iniŃiale care îi sunt date înainte ca algoritmul să înceapă; aceste intrări sunt luate dintr-un set specific de obiecte;  ieşirea = un algoritm are una sau mai multe ieşiri, adică acele cantităŃi ce sunt într-o relaŃie specifică cu intrările. Algoritmii de rutare utilizează diverse metrici pentru determinarea rutei optime. Algoritmi sofisticaŃi de rutare pot să facă selecŃia rutelor pe baza mai multor metrici, combinându-le într-o singură metrică hibridă. Tipuri de metrici: • • • • • •

Lungimea drumului (length path) este cea mai folosită metrică; de obicei este suma costurilor legăturilor drumului. SiguranŃă (reliability) - rata de erori, cât de repede se restabileşte o legătură căzută. Întârziere (delay) - cât durează să ajungă un pachet de la o sursă la o destinaŃie. Depinde de lăŃimea de bandă, congestie, distanŃa fizică parcursă. LăŃimea de bandă (bandwidth) - cât trafic poate să suporte o legătură. Încărcare (load) - se referă la gradul în care o resursă a reŃelei este folosită, de exemplu un router. Costul comunicaŃiei (communication cost) - este important mai ales în companii care pot folosi liniile proprii (cost scăzut) faŃă de folosirea altor linii (probabil un cost mai mare).

4.2.2 Algoritm de rutare pe bază de flux În condiŃiile în care fluxurile de date dintr-o reŃea sunt relativ constante şi cunoscute în timp şi spaŃiu, se poate calcula întârzierea medie din reŃea pe baza teoriei cozilor. Minimizarea întârzierii medii a pachetelor în reŃea poate fi un criteriu de optimizare pe baza căruia se iau deciziile de rutare. Pentru aplicarea algoritmului dirijării pe bază de flux trebuie cunoscute: -

topologia reŃelei; matricea traficului (Tij) capacităŃile liniilor (Ci)

Matricea traficului (fig 4.4) arată numărul mediu de pchete care circulă între sursa i şi destinaŃia j pe ruta menŃionată în fiecare căsuŃă din matrice. Ea poate fi simetrică ca în figură (simetrie faŃă de diagonala principală) sau, într-un caz mai general, nesimetrică. De exemplu de la nodul sursă D 76

pleacă spre nodul destinaŃie B în medie 3 pachete pe secundă pe ruta DFB şi invers, de la D spre B tot 3 pchete pe secundă pe ruta BFD.

A B C D E F

A 9 BA 4 CBA 1 DFBA 7 EA 4 FEA

B 9 AB 8 CB 3 DFB 2 EFB 4 FB

C 4 ABC 8 BC 3 DC 3 EC 2 FCE

D 1 ABFD 3 BFD 3 CD 3 ECD 4 FD

E 7 AE 2 BFE 3 CE 3 DCE 5 FE

F 4 AEF 4 BF 2 CEF 4 DF 5 EF -

B

C

20

20

20 A 20

D

20

20

10 E

50

F

b)

a) Fig. 4.4 Dirijarea pe bază de flux a) matricea traficului b) topologia reŃelei

Având matricea traficului, se poate calcula încărcarea (sau traficul) λi pe fiecare link prin însumarea traficului dat de fiecare rută pe linkul respectiv. De exemplu, traficul pe linkul CD este de 6 pachete/s dat astfel: 3 unităŃi trafic direct între C şi D şi 3 unităŃi trafic între E şi D pe ruta ECD. Traficul total în fiecare linie orientată de la stânga la dreapta este prezentat în Tabelul 4.2.

i 1 2 3 4 5 6 7 8

Tabelul 4.2 linia λi [pachete/s] AB 14 (AB+ABC+ABEF) BC 12 (BC+ABC) CD 6 (CD+ECD) AE 11 (AE+AEF) EF 13 (EF+AEF+EFB+CEF) FD 8 (FD+ABFD+BFD) BF 10 (ABFD+BFD+BFE+BF) EC 8 (EC+ECD+FEC)

Ci [kbps] 20 20 10 20 50 10 20 20

µCi[pachete/s] 25 25 12,5 25 62,5 12,5 25 25

Ti [ms] 91 77 154 71 20 222 67 b) 59

Pi 0,171 0,146 0,073 0,134 0,159 0,098 0,122 0,098

Σλi =82

b) Fig. 4.4 Dirijarea pe bază de flux a) matricea traficului b) topologia reŃelei

Considerând lungimea medie a unui pachet de 800 biŃi (µ=1/800), rata medie a pachetelor pe linie este µCi [pachete/s]. Întârzierea medie pe fiecare link se calculează astfel: 1 [ms] µC i − λ i Ponderea unei linii în traficul total din reŃea este: Ti =

(4.1)

77

Pi =

λi ∑λi

(4.2)

Întârzierea medie a pachetelor în reŃea este suma ponderată a întârzierilor pe fiecare link: ∆T = ∑ Ti Pi = 86ms (4.3) Luând în calcul o altă dirijare posibilă se obŃine o altă întâziere medie ∆T. Calculând toate întârzierile posibile corespunzătoare diferitelor rutări posibile se va lua în considerare întărzierea minimă care va da şi schema de rutare optimă din punct de vedere al întârzierii minime. Acest algoritm are două dezavantaje majore: necesită calculul întârzierilor pe toate rutele posibile, ceea ce implică un volum mare de calcule şi este un algoritm static, care nu Ńinre seama de schimbările posibile din reŃea.

4.2.3 Dirijarea cu vectori distanŃă ReŃele moderne de calculatoare folosesc algoritmi dinamici de dirijare. Cei mai cunoscuŃi sunt cei bazaŃi pe vectori distanŃă şi cei bazaŃi pe starea legăturilor (LSA-Link State Algorithm). Algoritmul bazat pe vectori distanŃă presupune că fiecare ruter menŃine o tabelă (un vector) care păstrează cea mai bună distanŃă cunoscută spre fiecare destinaŃie şi linia (ieşirea) care trebuie urmată pentru a ajunge acolo. Aceste tabele sunt actualizate prin schimbul de informaŃii între ruterele vecine. Algoritmul mai este cunoscut şi sub numele de algoritmul lui Ford – Fulkerson sau algoritmul lui Bellman – Ford. Fiecare înregistrare din tabelă este o pereche de date: - ieşirea preferată spre destinaŃia specificată - estimarea timpului (distanŃei) de ajungere la acea destinaŃie. Ca metrică se pot folosi numărul de salturi, întârzierea, lungimea cozii etc. Pentru metrica salturilor distanŃa până la vecini este doar de un salt. Pentru metrica lungimea cozilor, ruterul examinează lungimea cozii pachetelor aflate în aşteptare pentru servire în ruterul vecin etc. Să examinăm cazul în care algoritmul foloseşte metrica întârzierilor. Atunci ruterul cunoaşte întârzierea spre fiecare din vecinii săi. De asemenea, el recepŃionează o listă similară de la vecini. Dacă un ruter A ştie că până la vecinul B distanŃa este m iar vecinul i-a trimis estimarea sa până la ruterul Xi ca fiind ti, atunci ruterul A stie că poate ajunge la Xi în m+ti secunde ieşind prin B. Făcând aceste calcule pentru fiecare vecin, ruterul A poate afla cea mai scurtă cale spre ruterul Xi. Modul de aplicare al algoritmului se poate explica pe fig. 4.5 Se cunoaşte topologia reŃelei şi nodul E are tabela de estimare a distanŃelor nodurilor vecine faŃă de oricare din celelalte noduri din reŃea. La anumite intervale de timp nodurile recalculează distanŃele faŃă de nodurile vecine. De exemplu nodul E recalculează întârzierile faŃă de nodurile vecine şi găseşte valorile: tEC=8, tED=6, tEG=15 diferite de valorile anterioare de 10, 7 şi respectiv 13. B A D

C

E F

G

C A B C D E F G

10 14 8 10 12 11

D

G

8 15 8 7 10 13

20 12 16 12 13 8 -

Fig. 4.5 Model pentru algoritm bazat pe vectori distanŃă 78

Dest A B C D E F G

ti 14 21 8 6 16 15

linia D D C D D G

Cu aceste noi valori şi cu tabela distanŃelor vecinilor faŃă de noduri (tabela b)), el îşi actualizează tabela proprie a distanŃelor faŃă de nodurile din reŃea (tabela c)), pe care o comunică ulterior nodurilor vecine. Tabela c) este este rezultatul unor calcule succesive. Astfel, de la nodul E se poate ajunge în A prin C, D sau G. Pentru fiecare variantă se calculează întârzierile:

t EA = t EC + t CA = 8 + 10 = 18 t EA = t ED + t DA = 6 + 8 = 14

(4.4)

t EA = t EG + t GA = 15 + 20 = 35 În noul tabel de rutare al lui E pentru destinaŃia A se va trece valoarea minimă 14, cu linia de ieşire D. Calcule asemănătoare se fac pentru toate destinaŃiile care pot fi atinse din E. Algoritmul rutării pe bază de vectori distanŃă are o limitare serioasă: deşi converge spre rezultatul corect, o face foarte lent. Lungimea mare a tabelelor de rutare, ca şi numărul mare de calcule cerute, face ca acest algoritm să fie aplicabil în timp real doar pentru reŃele mici şi care nu reclamă actualizări dese ale tabelelor de rutare.

4.2.4 Algoritmul de rutare folosind starea legăturilor Un algoritm adaptiv des utilizat în reŃelele actuale este cel bazat pe starea legăturilor. Aplicarea acestuia presupune ca ruterele să facă următoarele acŃiuni:

1. Să descopere vecinii săi din reŃea şi să afle adresele de reŃea ale acestora; 2. Să măsoare costurile până la fiecare dintre vecinii săi; 3. Să anunŃe toŃi vecinii că s-a instalat în reŃea şi are date despre ei; 4. Să trimită pachete de înştiinŃare către toate ruterele din reŃea; 5. Să calculeze cea mai scurtă cale spre fiecare ruter Ca urmare, topologia reŃelei şi întârzierile din reŃea sunt distribuite şi cunoscute de fiecare ruter. Determinarea vecinilor Când un ruter se instalează în reŃea primul lucru pe care trebuie să-l facă este să afle care sunt vecinii săi. Pentru aceasta, el trimite un pachet special de salut HELLO pe fiecare linie pe care este conectat la un alt ruter. Ruterul apelat trebuie să-i răspundă anunŃându-şi identitatea sa.

Măsurarea costului liniei Pentru a afla costul, distanŃa sau întârzierea ruterului faŃă de vecinii săi, acesta trimite un pachet de sondare de tip ECHO pe linie, cerând ruterului să trimită imediat răspunsul înapoi. Marcarea timpului dus-întors constituie o bună estimare a întârzierii pe linia respectivă. Pentru o estimare mai bună se repetă operaŃia de sondare şi se face o medie aritmetică a rezultatelor obŃinute.

Construirea pachetelor cu starea legăturii După ce ruterul s-a conectat în reŃea, a anunŃat vecinii şi a calculat distanŃele faŃă de ei, urmează să construiască un pachet care să conŃină starea legăturilor. Un exemplu este prezentat în fig. 4.6.

73

B

5

A 4

4

D 3

F

9 4

C

9 7

7 E

A Secv. Vârstă B 5 D 4

B Secv. Vârstă A 5 F 9

C Secv. Vârstă D 3 E 4

G

a) topologia reŃelei

D Secv. Vârstă A 4 C 3 E 9 F 7

E Secv. Vârstă C 4 D 9 G 7

F Secv. Vârstă B 9 D 7 G 7

G Secv. Vârstă E 7 F 7

b) pachete cu starea legăturilor

Fig. 4.6 Algoritm de rutare bazat pe starea legăturilor

Distribuirea pachetelor cu starea legăturilor Partea cea mai delicată a algoritmului este distribuirea sigură a pachetelor cu starea legăturilor. Pentru ca pachetele expediate să ajungă la toate ruterele se foloseşte algoritmul inundării. Pentru a controla mecanismul inundării, fiecare pachet creat are un număr de secvenŃă care este incrementat la fiecare nou pachet transmis. Ruterele păstrează evidenŃa tuturor perechilor ruter_sursă, număr_secvenŃă pe care le-a văzut deja. La sosirea unui nou pachet cu starea legăturilor, el este căutat în lista cu pachete deja văzute. Dacă pachetul este nou, el este trimis pe toate ieşirile, mai puŃin pe portul pe care a venit. Dacă este duplicat, el este şters. Dacă pachetul sosit are număr de secvenŃă mai mic decât cel mai mare număr de secvenŃă detectat, el este rejectat ca fiind învechit.

Calcularea noilor rute După ce un ruter a recepŃionat un set complet de pachete cu starea legăturilor, el poate construi graful întregii subreŃele, deoarece fiecare legătură este reprezentată. Se poate folosi algoritmul lui Dijkstra pentru a găsi calea cea mai scurtă către toate destinaŃiile posibile. Rezultatele acestui algoritm sunt trecute în tabelul de dirijare care vor conŃine distanŃa până la fiecare destinaŃie şi primul ruter prin care se poate atinge acea destinaŃie. Memoria necesară stocării tabelelor de ruare pentru a reŃea cu n noduri şi m vecini este proporŃională cu produsul n×m. Pentru reŃele foarte mari dimensiunea memoriei ca şi timpul de calcul al rutelor pot constitui probleme serioase. Totuşi dirijarea pe baza stării legăturilor este larg folosită în reŃelele actuale.

OSPF (Open Shortest Path First) şi IS-IS (Intermediate System to Intermediate System) sunt doar doi algoritmi bazaŃi pe starea legărturilor. IS-IS este folosit în coloanele vertebrale ale Internetului (Internet backbone). El a fost creat de DECNET şi apoi adoptat de ISO pentru a fi folosit cu protocolul de nivel reŃea neorientat pe conexiune. 4.2.5 Dirijarea ierarhică Pe măsură ce reŃelele cresc în dimensiune, tabelele de rutare devin tot mai mari, memoria necesară stocării tabelelor creşte, iar timpul de calcul devine prohibitiv. O soluŃie pentru asemenea reŃele mari este dirijarea ierarhică. În acest caz, reŃeaua este împărŃită pe regiuni (sau zone), un ruter trebuind să aibă informaŃii de rutare doar pentru reŃeaua din regiunea sa. Recunoaşterea 74

regiunilor trebuie să se poată face pe bază de adresă. În câmpul de adresă trebuie să existe spaŃiu rezervat pentru regiune şi spaŃiu rezervat pentru ruterele locale. Pentru expedierea pachetelor pe regiuni, ruterul examinează mai întâi spaŃiul de adresă de regiune pentru a vedea unde expediază pachetul. Dacă adresa de regiune indică regiunea în care este ruterul, acesta va examina doar adresa locală pentru a identifica ruterul destinaŃie. Rutarea ierarhică se poate face pe mai multe nivele. Reducerea tabelelor de dirijare în reŃelele ierarhice este considerabilă. De exemplu, dacă o reŃea are 720 de rutere, în cazul că nu este organizată ierarhic, tabelul de rutare va avea 720 de înregistrări. Dacă este organizată ierarhic pe două nivele cu 24 de regiuni şi 30 de rutere în fiecare, atunci tabela de rutare a unui ruter dat va avea 23 de înregistrări pentru celealte regiuni şi 30 de înregistrări pentru ruterele locale din regiunea sa, deci în total 23 plus 30, adică 53 de înregistrări. Dacă se alege o organizare ierarhică pe 3 nivele, cu 8 zone, fiecare zonă cu 9 regiuni şi fiecare regiune cu 10 rutere, atunci tabela de rutare va avea doar 10 înregistrări pentru ruterele locale, 8 pentru regiuni şi 7 pentru zone, în total 25 de înregistrări. PreŃul plătit pentru dirijarea ierarhică este lungimea mai mare a rutelor deoarece ele sunt forŃate să treacă prin rutere de regiune sau de zonă, chiar dacă o cale directă ar fi mai scurtă. 4.2.6 Dirijarea prin difuzare In unele reŃele de calculatoare este nevoie ca un mesaj să fie difuzat simultan mai multor calculatoare sau tuturor dintr-o reŃea. Trimiterea simultană a unui pachet către toate destinaŃiile se numeşte difuzare (broadcast). Realizarea difuzării se poate face în diferite moduri. O primă modalitate este de a trimite câte un pachet la fiecare destinaŃie. Metoda este mare consumatoare de bandă şi cere ca sursa să aibă lista completă a tuturor destinaŃiilor. O altă variantă este inundarea. Neajunsul metodei constă în multiplicarea peste nevoi a pachetelor, ceea ce atrage după sine şi consum mare de bandă. O variantă mai bună este dirijarea multidestinaŃie. Prin această metodă fiecare pachet conŃine fie o listă a destinaŃiilor, fie o hartă de biŃi care indică destinaŃiile dorite. Atunci când un pachet ajunge la un ruter, acesta verifică toate destinaŃiile la care trebuie trimis pentru a determina setul de ieşiri pe care trebuie dirijat. Apoi ruterul generează o copie a pachetului pentru fiecare linie de ieşire şi include în fiecare pachet doar acele destinaŃii care folosesc linia respectivă. Efectul este partiŃionarea mulŃimii destinaŃiilor între liniile de ieşire. Un al patrulea mod de difuzare este cel care foloseşte arborele de acoperire (spanning tree). Un arbore de acoperire este un subgraf al reŃelei care conŃine toate ruterele (şi evident, nu are bucle). Dacă un ruter cunoaşte care dintre liniile sale de ieşire participă la arborele de acoperire, el poate copia şi trimite un pachet de difuzare recepŃionat doar pe liniile de ieşire care fac parte din arborele de acoperire. Este metoda cea mai eficientă din punct de vedere al consumului de bandă. Dificultatea este în găsirea arborelui de acoperire pentru nodurile spre care trebuie să se facă difuzarea.

4.2.7 Dirijarea cu trimitere multiplă (multicast) Trimiterea simultană unui mesaj către un grup de utilizatori dintr-o reŃea se numeşte dirijare multicast. Ea se deosebeşte de difuzare (broadcast) prin faptul că mesajul trebuie să ajungă numai la unii utilizatori şi nu la toŃi. Dacă grupul de utilizatori Ńintă este mic, trimiterea se poate face cap la 75

cap, în mod individual. Dacă grupul este foarte mare, cuprinzând aproape toŃii abonaŃii din reŃea se poate folosi difuzarea. Într- situaŃie de mijloc, nici una dintre metodele de mai sus nu este eficientă. Dirijarea multicast într-un grup necesită administrarea grupului. De exemplu în reŃeaua din fig. 4.7 avem 2 grupuri, 1 şi 2. Rutere din reŃea aparŃin unuia sau ambelor grupuri. Pentru a realiza dirijarea multicast, fiecare ruter calculează arborele de acoperire prin care ajunge la toate ruterele din subreŃea. Atunci când un proces trimite un pachet multicast către un grup, primul ruter îşi examinează arborele de acoperire şi retează toate ramurile care nu conduc către calculatoare gazdă membre ale grupului. Arborii de acoperire retezaŃi corespunzători celor două grupuri sunt prezentaŃi în fig. 4.7. 1,2

1,2

2

2

1,2

1,2 2

2

1

1,2

2

1

1,2

a)

2

1

1 b)

1 2 2

1 2 2

1

1

2

1

c)

d) Fig. 4.7 Dirijarea multicast a) topologia reŃelei b) un arbore de acoperire al reŃelei c) arborele de acoperire pentru grupul 1 d) arborele de acoperire pentru grupul 2 2

4.3 Alte Protocoale de rutare Cele mai cunoscute protocoale de rutare sunt: •

Routing Information Protocol (RIP)



Interior Gateway Routing Protocol (IGRP)



Enhanced Interior Gateway Routing Protocol (Enhanced IGRP)



Open Shortest Path First (OSPF)



Intermediate System to Intermediate System (IS-IS)



Border Gateway Protocol (BGP)



Exterior Gateway Protocol (EGP)



Simple Multicast Routing Protocol (SMRP)



Novell RIP / Service Advertisement Protocol (SAP)

76

4.3.1 Routing Information Protocol (RIP) Protocolul RIP este unul dintre cele mai vechi şi mai durabile protocoale. Sunt o mare varietate de protocoale asemănătoare sau bazate pe RIP. Protocolul foloseşte vectori de distanŃă pentru a calcula rutele şi a alege ruta optimă. Algoritmii folosiŃi în implementare au fost descoperiŃi prin cercetare academică ce datează din 1957. Standardul versiunii iniŃiale RIP este definit în două documente: RFC 1058 (în 1988). Odată cu creşterea numărului de reŃele bazate pe adrese IP şi creşterea mărimii lor, Internet Engineering Task Force (IETF) a observat că RIP trebuie înnoit. IETF a publicat RFC 1388 în 1993, iar în 1994 a publicat RFC 1723, care descriu protocolul RIP 2 (a doua versiune de RIP). Aceste două documente RFC descriu extensii ale protocolului, dar nu scot din uzanŃă versiunea anterioară RIP. RIP 2 a mărit cantitatea de informaŃii transportată de mesajele RIP, şi a permis folosirea unei metode simple de autentificare pentru securizarea operaŃiei de update a tabelelor de rutare. RIP 2 suportă şi măşti de reŃea de lungime variabilă, o caracteristică foarte importantă pe care RIP nu o suporta.

Mesajele update RIP trimite mesaje update la intervale regulate şi în momentul în care topologia reŃelei se schimbă. Când un ruter primeşte un mesaj update care include schimbări pentru o rută, îşi schimbă propria tabelă de rutare pentru a reflecta schimbările din reŃea. Routerele RIP menŃin numai ruta cea mai bună (cu metrica lungimii minimă) către o destinaŃie. Apoi ruterul trimite mesaje update pentru a informa alte rutere din reŃea de schimbări. Aceste mesaje se trimit independent de mesajele regulate trimise la un interval de timp.

Metrica RIP RIP foloseşte o singură metrică (numărul de salturi) pentru a măsura distanŃa dintre sursă şi destinaŃie. Fiecare hop are asociată o valoare (în mod uzual 1). Când un ruter primeşte un update adaugă 1 la metricile destinaŃiilor cu rute schimbate. Adresa IP a expeditorului este folosită ca următorul salt pentru acele rute.

Stabilitatea RIP RIP previne buclele de rutare (routing loops) prin implementarea unei limite a numărului maxim de hopuri permise într-o rută. Acest maxim este 15. Dacă un ruter primeşte un mesaj update care conŃine o rută cu o metrică 15, destinaŃia este considerată neaccesibilă (unreachable). DeficienŃa acestei trăsături este limita maximă a diametrului unei reŃele RIP. RIP mai implementează mecanisme de stabilitate care sunt comnune multor protocoale de routare: despicarea orizontului (split horizon) şi menŃinerea (holddown). Acestea asigură stabilitate chiar dacă sunt posibile schimbări rapide în topologia reŃelei.

RIP Timers RIP foloseşte timere (cronometre) pentru a-şi regla parametrii. Acestea includ routing-update timer, route-timeout timer, route-flush timer.

77

Routing-update timer măsoară intervalul de timp scurs între update-uri. De obicei este 30 secunde. Fiecare intrare dintr-o tabelă de rutare are un route-timeout timer asociat. Când acesta expiră, ruta este marcată ca invalidă, dar rămâne în tabelă până când expiră şi route-flush timer. Formatul pachetelor RIP 1

1-byte 1-byte 2-bytes 2-bytes 2-bytes 4-bytes 4-bytes 4-bytes 4-bytes comandă versiune zero AFI zero adresă IP zero zero metrică Pachetul IP RIP poate avea mai multe intrări, care vor conŃine câmpurile din tabelul de mai sus.

comandă

- indică dacă pachetul este o cerere (request) sau un răspuns (response), request se trimite pentru a primi înapoi de la router un update, iar response se primeşte nesolicitat regulat sau ca răspuns la un request; - versiunea RIP; - nu este folosit, are valoarea 0; - specifică familia de protocoale folosită ; pentru IP valoarea este 2;

versiune zero Address-family identifier (AFI) adresă IP - adresa IP pentru intrare; metrică - numărul de hopuri sau infinit pentru unreachable (adică valoarea 16);

Formatul pachetelor RIP 2 21-byte 1-byte 2-bytes bytes comandă versiune nefolosit AFI

2-bytes 4-bytes 4-bytes etichetă adresă mască rută IP reŃea

4-bytes 4-bytes următorul metrică hop

comandă

- indică dacă pachetul este o cerere (request) sau un răspuns (response), request se trimite pentru a primi înapoi de la router un update, iar response se primeşte nesolicitat regulat sau ca răspuns la un request; versiune - versiunea RIP; nefolosit - are valoarea 0; Address-family - specifică familia de protocoale folosită cu o singură excepŃie: Dacă valoarea identifier (AFI) câmpului AFI pentru prima intrare din pachetul IP RIP este 0xFFFF, restul intrării conŃine informaŃii de autentificare (adică o parolă); etichetă rută - furnizează o metodă de a distinge între rute interne şi externe; adresă IP - adresa IP pentru intrare; mască reŃea - conŃine masca de reŃea pentru intrare sau 0 dacă nu a fost specificată o mască; metrică - numărul de hopuri sau infinit pentru unreachable (adică valoarea 16);

RIPv2 RIP v2 este o variantă perfecŃionată a RIP v1 caracterizată de următoarele: - este un protocol bazat pe vectori distanŃă folosind ca metrică numărul de salturi; 78

-

foloseşte un timer pentru a evita transmiterea în buclă a pachetelor. Valoarea implicită este 180 secunde; foloseşte despicarea orizontului pentru evitarea rutării în buclă; numărul maxim (infinit) de salturi este 16.

RIP v2 conŃine un prefix de rutare care permite transmiterea (evidenŃierea) unei măşti de subreŃea odată cu actualizarea rutelor. Ca urmare, RIP v2 suportă rutarea fără clase în care diferitele subreŃele din aceeaşi reŃea pot folosi măşti diferite, ca în VLSM (Variable Length Subnet Mask). RIP v2 furnizează autentificare în timpul actualizării tabelelor. Pentru aceasta, se poate folosi un set de chei de autentificare pe interfaŃă. Cheile se pot alege şi pot fi de tipul text clar (modul implicit) ori criptate cu Message-Digest 5 (MD5). MD5 poate fi folosit pentru a autentifica o sursă care transmite actualizarea tabelei de rutare. RIP v2 difuzează actualizarea tabelelor de rutare folosind o adresă de clasă D, 244.0.0.9, ceea ce asigură o eficienŃă mare procesului de actualizare.

ComparaŃie RIP v1 cu RIP v2 RIP v1 Suportă numai protocoale cu clasă de rutare Nu dă informaŃii despre subreŃea în procesul actualizării Nu suportă rutare cu prefix. Toate gazdele dintro reŃea trebuie să aibă acceaşi mască Nu asigură autentificarea în procesul de actualizare Face difuzarea pe 255.255.255.2555

RIP v2 Suportă protocoale fără clasă Dă informaŃii despre subreŃea în procesul actualizării Suoportă rutarea cu prefix. SubreŃelele dintr-o reŃea pot avea măşti diferite (VLSM) Permite autentificarea Actualizarea rutării se face prin adresă multicast clasă D, 224.0.0.9, ceea ce este mai eficient

4.3.2 Configurarea RIP v2 RIP v2 este un protocol de rutare dinamic, care se configurează tastând RIP Version 2 şi specificând adresele IP de reŃea, fără a specifica valoarea măştilor de subreŃea. Figura următoare ilustrează configurarea unui ruter care interconectează trei reŃele. ReŃea 174.24.0.0 RIP IGRP ReŃea 160.89.0.0 RIP ReŃea 10.0.0.0

Fig.4.8 ReŃele interconectate şi protocoalele de rutare folosite Pentru a valida un protocol de rutare dinamic, trebuie îndeplinite următoarele sarcini : - selectarea unui protocol de rutare, cum ar fi RIP v2 ; - asignarea numărului de reŃea IP fără specificarea subreŃelelor ; - asignarea adreselor de reŃea sau de subreŃea şi a măştilor de subreŃea pe interfeŃe 79

RIP v2 foloseşte tehnica multicast pentru a comunica cu alte rutere. Metrica folosită ajută la găsirea căii celei mai scurte. Comanda router startează procesul de rutare. Comanda network determină implementarea următoarelor funcŃii: - actualizările de rutare/difuzate pe interfeŃele de ieşire - procesarea actualizărilor intrate pe interfaŃă - subreŃeaua care este direct conectată la interfaŃă este anunŃată.

Fa 0/0

A S0/0

172.16.1.1

10.1.1.1

router rip version 2 network 172.16.0.0 network 10.0.0.0

S 0/0 10.1.1.2

B

S0/1 10.2.2.2

router rip version 2 network 10.0.0.0

S 0/1 10.2.2.3

C

Fa0/0 192.168.1.1

192.168.1.0

172.16.1.0

Exemplu de configurare rutere

router rip version 2 network 10.0.0.0 network 192.168.1.0

Fig. 4.9 Comenzi pentru configurarea ruterelor din reŃea

4.3.3 Interior Gateway Routing Protocol (IGRP) IGRP este un protocol de rutare dezvolatat la mijlocul anilor 1980 de Cisco Systems. Scopul principal a fost crearea unui protocol robust pentru rutarea în sisteme autonome. Protocoalele de acest fel se numesc Interior Gateway Routing Protocols. Înainte de apariŃia IGRP, cel mai utilizat protocol era RIP. Deşi RIP era eficient pentru rutarea în reŃele mici, relativ omogene, limitele sale deveneau evidente odată cu mărirea dimensiunii reŃelelor. În particular, limita maximă de 15 salturi ale RIP-ului restricŃiona mărimea reŃelelor; metrica unică (numărarea salturilor) nu asigura destulă flexibilitate în medii complexe. IGRP foloseşte vectorii distanŃă. Ruterele trimit la intervale regulate mesaje update la toŃi vecinii lor. Mesajele circulând prin toată reŃeaua din vecin în vecin, se vor descoperi noi destinaŃii adăugate reŃelei sau se vor identifica destinaŃiile ce nu pot fi atinse şi se vor calcula vectorii distanŃă către toate destinaŃiile cunoscute.

Metrica IGRP IGRP foloseşte o metrică compozită calculată prin luarea în considerare a valorilor metricilor întârziere, lărgime de bandă, fiabilitate şi încărcare. Administratorii de reŃea pot modifica valorile pentru fiecare metrică. Toate aceste metrici sunt ponderate de o serie de constante definite de administrator care pot influenŃa alegerea unei rute. Acestea permit administratorului să regleze selecŃia automată a rutelor în IGRP.

80

Protocolul suportă şi rutare multipath. Pe două linii cu lăŃimea de bandă egală se pot transporta fluxuri de trafic interschimbând liniile când o linie cade. Rutele multipath pot avea metrici diferite şi totuşi să fie rute multipath valide. De exemplu, dacă o rută este de 3 ori mai bună decât alta, ruta mai bună va fi folosită de 3 ori mai mult. Numai rute cu metrici într-un anumit interval din jurul rutei optime sunt folosite ca multipath. Acest interval poate fi specificat de administrator.

Stabilitatea IGRP IGRP are mecanisme folosite pentru a-i mări stabilitatea. Printre acestea sunt menŃinerea rutelor căzute (holddowns), despicarea orizontului şi actualizarea inversă.

Holddowns sunt folosite pentru a preveni mesajele update regulate să reinstaleze o rută care a căzut. Când un ruter pică, ruterele vecine detectează acest lucru prin lipsa mesajelor update regulate. Aceste rutere calculează noile rute şi îşi informează vecinii despre acest lucru. Toate aceste mesaje update se răspândesc în reŃea, dar durează până ajung la toate ruterele. Deci este posibil ca un ruter care nu a fost încă informat de noile schimbări, să trimită mesaje update în care să specifice tocmai ruterul căzut. Holddowns specifică ruterelor să menŃină orice schimbare care ar putea afecta rutele o perioadă de timp. Perioada holddown este calculată, de obicei, să fie mai mare decât perioada de timp necesară propagării mesajelor update în toată reŃeaua. Despicarea orizontului porneşte de la premisa că nu este niciodată necesar să trimiŃi informaŃii despre o rută înapoi în direcŃia din care a venit. Despicarea orizontului previne apariŃia buclelor de rutare. Mărimile valorilor metricilor de rutare, de obicei, indică existenŃa buclelor. Atunci se trimit actualizări inverse pentru a îndepărta ruta şi a o plasa în holddown. Timere IGRP foloseşte timp de actualizare (update-timer), timp de invalidare (invalid-timer), interval de menŃinere (hold-time period) şi timp de eliminare (flush timer). Update timer specifică cât de des se trimit mesajele update (de obicei are valoarea 90 secunde). Invalid timer conŃine cât se aşteaptă, în absenŃa mesajelor update până să declare ruta invalidă (aproximativ de trei ori updatetimer). Variabila hold-time specifică perioada menŃinere (valoarea standard este de trei ori updatetimer plus 10 secunde). Flush timer indică cât timp să treacă până când o rută ar trebui să fie eliminată din tabela de rutare (standard este de 7 ori update-timer). IGRP are funcŃionalitatea similară cu RIP. Are aceleaşi calităŃi ca RIP şi în plus nu are limită maximul de 16 hopuri, are metrica mai complexă, se poate folosi în reŃele mai mari decât RIP. IGRP nu are suport pentru măşti de reŃea de lungime variabilă.

4.3.4 Enhanced Interior Gateway Routing Protocol (EIGRP) Protocolul Enhanced IGRP reprezintă o evoluŃie faŃă de predecesorul său IGRP. ApariŃia lui a fost necesară datorită evoluŃiei şi heterogenităŃii reŃelelor. EIGRP integrează atributele protocoalelor link-state în protocoalele distance-vector. În plus, EIGRP înglobează încă câteva protocoale importante, care măresc considerabil eficienŃa sa operaŃională. Unul dintre aceste protocoale este Diffusing update algorithm (DUAL), dezvoltat de către Dr. J.J. Garcia-LunaAceves. DUAL oferă posibilitatea ca un ruter EIGRP să poată să determine dacă o rută primită de la un vecin este în circuit (looped) sau nu (loop-free) şi permite ruterului să găsească rute alternative fără a aştepta mesaje update de la alte rutere. 81

Pachete EIGRP EIGRP foloseşte pachete hello, acknowledgment, update, query şi reply. Pachetele hello sunt pachete multicast pentru neighbor discovery/recovery şi nu necesită confirmare. Un pachet acknowledgment este un pachet hello care nu conŃine date. Pachetele care nu necesită confirmare conŃin un număr nenul şi sunt trimise folosind o adresă unicast. Pachetele update sunt folosite pentru a publica accesibilitatea destinaŃiilor. Când un nou vecin este descoperit, se trimit pachete unicast către acel vecin pentru a putea să-şi construiască o tabelă topologică. În alte cazuri (de exemplu schimbarea costului unei legături), mesajele update sunt transmise multicast. Pachetele update sunt trimise totdeauna sigur (cu confirmare). Pachetele query şi reply sunt trimise când o destinaŃie nu are feasible successors. Pachetele query sunt totdeauna multicast. Pachetele reply sunt trimise ca răspuns la pachetele query pentru a-l înştiinŃa pe cel care a expediat pachetul query să nu recalculeze ruta pentru că există succesori realizabili. Pachetele reply sunt unicast. Atât pachetele query, cât şi reply sunt transmise sigur. Protocolul EIGRP dezvoltat de Cisco este robust, îmbină atributele protocoalelor vector distanŃă cu atributele protocoalelor bazate pe starea liniei, rezultând un protocol hibrid, este uşor de configurat, eficient, sigur şi rapid convergent.

4.3.5 Open Shortest Path First (OSPF) OSPF este un protocol de rutare dezvoltat pentru reŃele Internet Protocol (IP) de grupul Interior Gateway Protocol (IGP) working group, care face parte din Internet Engineering Task Force (IETF). Grupul s-a format în 1988 pentru a dezvolta un IGP folosit în Internet bazat pe algoritmul Shortest Path First (SPF). OSPF a fost creat din aceleaşi motive ca şi IGRP, în anii 1980, când protocolul RIP începea să fie incapabil să servească reŃele din ce în ce mai largi şi mai eterogene. OSPF are două caracteristici primare. Protocolul este deschis, adică specificaŃiile sunt în domeniul public. SpecificaŃiile OSPF sunt publicate în Request For Comments (RFC) 1247. A doua caracteristică este că OSPF este bazat pe algoritmul SPF (algoritmul lui Dijkstra). OSPF este un protocol de rutare bazat pe starea legăturilor, deci publică starea rutelor către toate ruterele din aceiaşi arie ierarhică. După ce au acumulat informaŃii despre aceste stări, ruterele OSPF folosesc algoritmul lui Dijkstra pentru a calcula cea mai scurtă cale către fiecare nod.

Ierarhia de rutare Spre deosebire de RIP, OSPF poate opera într-o ierarhie. Cea mai mare entitate în ierarhie este sistemul autonom, care este o colecŃie de reŃele sub o administrare cu aceleaşi reguli peste tot. OSPF este un protocol de rutare intradomeniu, dar este capabil să primească şi să trimită rute la alt sistem autonom. Un sistem autonom poate fi divizat într-un număr de arii, care sunt grupuri de reŃele contigue. Routere cu interfeŃe multiple pot participa în arii multiple. Aceste routere se numesc Area Border Routers, ele menŃin date separate despre topologia fiecărei arii. Topologia unei arii este invizibilă entităŃilor din afara ariei. łinând topologiile separate, OSPF are un trafic mai mic decât dacă sistemul autonom nu ar fi partiŃionat. PartiŃionarea în arii generează două tipuri diferite de rutare, după cum sursa şi destinaŃia sunt în aceiaşi arie sau sunt în arii diferite. Routarea intra-arie se face în aceeaşi arie, iar rutarea inter-arie se face în arii diferite. Routerele responsabile de rutarea informaŃiilor între arii formează o 82

coloană vertebrală a sistemului autonom OSPF (OSPF backbone). OSPF backbone este formată din toate Area Border Routers, reŃele care nu sunt conŃinute în totalitate în nici o arie, şi rutele ataşate lor. Backbone este ea însăşi o arie OSPF, deci toate ruterele backbone folosesc aceleaşi proceduri şi algoritmi pentru gestionarea informaŃiilor de rutare ca şi orice alt ruter dintr-o arie oarecare. Topologia backbone este invizibilă pentru toate ruterele intra-arie, după cum sunt şi topologiile ariilor individuale, invizibile pentru backbone. Ariile pot fi definite astfel încât backbone să nu fie contiguă. În acest caz, conectivitatea backbone trebuie refăcută prin legături virtuale. Legăturile virtuale sunt configurate între orice rutere backbone care împart o legătură cu o arie şi funcŃionează ca şi cum ar fi legături directe. Figura 4.10 prezintă un sistem autonom compus din câteva arii şi backbone-uri. Ruterele 4, 5, 6, 10, 11 şi 12 constituie backbone. Dacă hostul H1 din aria 3 doreşte să trimită un pachet către hostul H2 din aria 2, pachetul este trimis routerului 13, care îl direcŃionează către ruterul 12, apoi către 11. Apoi ruterul 11 trimite pachetul prin backbone la Area Border Router 10, care trimite pachetul prin cele 2 rutere intra-arie 9 şi 7 pentru a ajunge la hostul H2.

Algoritmul SPF Algoritmul de rutare SPF este fundamentul operaŃiilor OSPF. Când un ruter SPF este pornit, se iniŃializează structurile de date ale protocolului de rutare şi se aşteaptă confirmarea din partea protocoalelor de pe nivelele de mai de jos, că interfeŃele sale funcŃionează. După ce un ruter se asigură că interfeŃele sale funcŃionează, foloseşte protocolul OSPF hello pentru a-şi descoperi vecinii. Pachetele hello mai sunt folosite şi ca pachete keepalive (se determină dacă mai este funcŃională legătura). În reŃele multiacces (multiaccess networks - care suportă mai mult de două rutere), protocolul hello alege un ruter pentru transmisie (designated router, DR) şi un ruter pentru transmisii în cazul excepŃiilor (backup designated router, BDR). Un designated router este responsabil cu generarea mesajelor update pentru întreaga reŃea multiacces. Designated routers permit reducerea traficului în reŃea şi reducerea mărimii bazelor de date despre topologie. Când bazele de date link-state ale două rutere vecine sunt sincronizate, se spune că ruterele sunt adiacente (adjacent). În reŃelele multiacces ruterul desemnat determină care rutere ar trebui să devină adiacente. AdiacenŃa controlează distribuŃia de pachete ale protocolului de rutare, fiind trimise şi primite pachete doar pe baza adiacenŃei. Fiecare ruter trimite periodic mesaje update, pentru a furniza informaŃii despre adiacenŃele unui ruter oarecare, sau pentru a-i informa pe ceilalŃi când starea unui ruter se schimbă. Comparând adiacenŃele stabilite cu starea legăturilor, ruterele căzute pot fi detectate rapid şi topologia reŃelei poate fi schimbată să reflecte acest lucru. Din bazele de date despre topologie generate de mesajele update, fiecare ruter calculează un arbore cu rutele cele mai scurte (shortest-path tree) în care el însuşi este rădăcină. Apoi, arborele shortest-path devine tabelă de rutare.

83

Fig. 4.10 Sistem autonom cu mai multe arii

Formatul pachetelor Toate pachetele OSPF încep cu un header de 24 bytes, cum e ilustrat mai jos. 1-byte versiune versiune

tip

1-byte tip

2-bytes lungimea pachetului

4-bytes ID-ul ruterului

4-bytes ID-ul ariei

2-bytes checksum

2-bytes tipul autentificării

8-bytes autentificare

n-bytes date

- versiunea OSPF folosită; • •







hello Stabileşte şi menŃine legătura cu vecinii. Database description Descrie conŃinutul bazelor de date despre topologie. Aceste mesaje sunt schimbate când este iniŃializată o adiacenŃă. link-state request Cererile părŃilor de baze de date despre topologie de la rutere vecine. Aceste mesaje sunt schimbate după ce un ruter descoperă (examinând pachetele de descriere a bazei de date) ca anumite părŃi din baza de date despre topologie sunt prea vechi. link-state update Răspunsurile la o cerere link-state request. Aceste mesaje sunt folosite pentru trimiterea regulată de pachete update. link-state acknowledgment Confirmă pachetele link-state update.

84

lungimea pachetului id-ul routerului id-ul ariei checksum tipul autentificării autentificarea date

- specifică lungimea pachetului în bytes, fiind inclus şi header-ul OSPF; - identifică sursa pachetului; - identifică aria căreia îi aparŃine pachetul; toate pachetele OSPF sunt asociate cu o arie unică; - verifică dacă conŃinutul întregului pachet a suferit erori în tranzit; - conŃine tipul autentificării; toate transmisiunile în protocolul OSPF sunt autentificate; tipul autentificarii este configurabil în funcŃie de arie; - conŃine informaŃii despre autentificare;

Rezumat Nivelul reŃea rezolvă problema transferului datelor de la sursă la destinaŃie prin dirijarea lor prin noduri sau reŃele diferite, pe rute optime. Descoperirea rutelor optime se face pe bază de protocoale şi algoritmi de rutare. Nodurile de reŃea care rulează protocoalele de rutare se numesc rutere. Dirijarea datelor de la un ruter la altul se face pe baza tabelelor de rutare. Tabelele de rutare se pot stabili static sau dinamic. Ruterele trimit periodic sau la apariŃia unor evenimente în reŃea pachete de sondare pe baza cărora descoperă topologia curentă a reŃelei, calculează rute optime spre fiecare destinaŃie cunoscută din reŃea şi completează tabelele de rutare. Dirijarea propriu-zisă a datelor prin nodurile reŃelei se face pe baza unor protocoale de dirijare, numite protocoale rutabile, cum ar fi IP. Modelarea matematică a reŃelelor din punct de vedere al rutării traficului se bazează pe teoria grafurilor şi a algoritmilor în grafuri (drumuri minime, fluxuri maxim, arbori de acoperire, inundare etc.). Protocoalele şi algoritmii de rutare sunt implementaŃi sub forma unor programe soft conŃinute de sistemele de operare de reŃea instalate în rutere. Complexitatea dirijării datelor în reŃelele mari şi foarte mari a condus la apariŃia metodei de dirijare ierarhică. ReŃelele mari sunt structurate ierarhic pe mai multe niveluri şi zone (arii), astfel că ruterele de pe un anumit nivel sau arie rezolvă problema rutării doar pe nivelul sau în aria sa. Rutarea între arii se face de către rutere speciale de graniŃă care au informaŃii de rutare din ambele zone. De asemenea, reŃelele mari şi eterogene cuprind mai multe sisteme autonome care reprezintă domenii de rutare independente. Între sistemele autonome se stabilesc reguli de rutare definite de nivelul superior.

Întrebări de control 1. 2. 3. 4. 5. 6. 7. 8.

Care sunt asemănările şi deosebirile dintre rutarea de pachete şi rutarea de circuite? Ce este un tabel de rutare? DaŃi exemplu pe o topologie de reŃea. Care sunt principalele deosebiri dintre comutarea de nivel 3 (nivel reŃea) şi comutarea de nivel 2 (legătură de date)? Cum se modelează reŃelele pa baza teoriei grafurilor? Ce este un graf orientat? Dar un graf conex? Ce este un drum hamiltonian într-un graf? Care sunt caracteristicile unui algoritm de rutare? Care este principiul dirijării pachetelor pe baza stării legăturilor? 85

9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

Care este principiul dirijării pachetelor pe baza vectorilor distanŃă? Ce algoritmi se pot folosi pentru a calcula distanŃa minimă dintre noduri din reŃea? Ce este un arbore de acoperire şi care este utilitatea sa în reŃele? Ce se înŃelege prin “despicarea orizontului” şi care este utilitatea sa? ExplicaŃi noŃiunile: unicast, broadcast şi multicast. Ce este un sistem autonom? DaŃi exemple. Care este metrica RIP? Care sunt principalele protocoale de rutare folosite în reŃelele de calculatoare? Care este metrica algoritmului SPF? DaŃi exemple argumentate de aplicaŃii pentru care este adecvat serviciul orientat pe conexiune şi exemple pentru care este mai adecvat serviciul neorientat pe conexiune. 19. DaŃi exemple de parametrii ai protocolului care pot fi negociaŃi în timpul stabilirii conexiunii. 20. Ce servicii asigură nivelul reŃea nivelului transport? 21. DescrieŃi un circuit virtual (VC). DaŃi exemple de reŃele cu VC. Pe VC se transmit pachete sau fluxuri de date?

Probleme rezolvate 1.

Pentru reŃeaua din fig. 1 se foloseşte algoritmul de inundare pentru a trimite pachete din A în D. Care este numărul maxim de salturi la care trebuie setat contorul de salt pentru a nu inunda inutil reŃeaua? EnumeraŃi toate rutele pe care le va parcurge un pachet emis de A cu numărul maxim de salturi egal cu 3. Câte noduri consumă inutil timp de procesare? B Fig. 1

A

C E

H

A G

R.

2.

D

F

Numărul minim de salturi necesar pentru a ajunge din A în D prin inundare este 3, deci contorul poate fi setat la acestă valoare. Sunt posibile numai două rute cu 3 salturi: ABCD şi AGHD. Dacă contorul a fost stabilit la 3, după 3 salturi prin tehnica inundării, toate cele 8 noduri vor primi pachete pe care le vor prelucra. Prin urmare, 4 noduri vor prelucra inutil pachetele.

Se consideră reŃeaua din figura 2 care foloseşte dirijarea după Algoritmul vectorilor distanŃă. La ruterul C tocmai a su sosit următorii vectori: de la B (5,0,8,12,6,2); de la D (16,12,6,0,9,10) şi de la E (7,6,3,9,0,4). Întârzierile măsurate către B, D şi E sunt 6, 3 şi respectiv 5. Care este noua tabelă de dirijare a lui C? PrecizaŃi atât linia de ieşire folosită cât şi întârzierea presupusă.

86

B

2

C

4

3

A

D

A

6

5

7 E

8

A Secv Vârstă B 4 E 5

B Secv Vârstă A 4 C 2 F 6

C Secv Vârstă B 2 D 3 E 1

D Secv Vârstă C 3 F 7

E Secv Vârstă A 5 C 1 F 8

F Secv Vârstă B 6 D 7 E 8

F

Fig. 2 R. Pe calea B se obŃine (11, 6, 14, 18, 12, 8). Pe calea D se obŃine (19, 15, 9, 3, 9, 10). Pe calea E se obŃine (12, 11, 8, 14, 5, 9)

3.

DestinaŃie A B C D E F

Ieşire B B D E B

DistanŃă 11 6 0 3 5 8

O reŃea are 30 de rutere conectate după o topologie care asigură fiecărui ruter trei linii către alte rutere. Metrica de calcul a rutelor este întârzierea medie a pachetelor. Dacă această întârziere se exprmă prin cuvinte de un octet, iar ruterele schimbă pachete cu întârzierea la fiecare secundă, care este banda consumată de algoritmul de dirijare? r.

4.

Tabela de rutare a lui C este:

Tabelul de rutare al unui ruter conŃine 30×8=240 biŃi. Dacă el este trimis pe linii duplex la fiecare secundă spre ruterele vecine, rata biŃilor în linie va fi 240bps.

Se presupune că se doreşte realizarea unei reŃele mari cu 4800 de rutere. Care va fi dimensiunea tabelei de rutare în ipoteza folosirii unei scheme de rutare plată? Dacă se optează pentru o dirijare ierarhică pe trei niveluri (regiuni, zone şi grupuri), care ar trebui să fie dimensiunile acestora pentru a avea dimensiuni minime ale tabelelor de rutare?

r.

În carul dirijării plate, numărul de înregistrări din tabela de rutere este egal cu numărul de rutere, adică 4800. În cazul dirijării ierarhice pe trei niveluri, numărul de rutere x,y,z de pe fiecare nivel trebuie să satisfacă următoarele cerinŃe:  xyz = 4800  min( x + y + z ) Se obŃine x = y = z = 3 4800 ≅ 16,8 Luând prin încercări: 16×17×18=4896, 16x17×17=4624, 16×16×18=4608, 16×16×19=4864 etc. se pot găsi cele trei numere ăn jurul valorii de 17 care satisfac cerina dată.

5.

Pentru uniformizarea traficului într-o reŃea de 6Mbps se foloseşte algoritmul găleŃii găurite. IniŃial bufferul este umplut la valoarea maximă de 8Mb. Rata de intrate în buffer este 1Mbps. Să se determine cât bufferul poate transmite cu viteza reŃelei?

87

r. Rata efectivă de golire este 6-1=5Mbps. Cei 8 Mb vor fi goliŃi în 8/5=1,6 secunde 6.

Să se determine un arbore de scufundare pentru reŃeaua din figura următoare. Este acest arbore de valoare minimă? H H A A M M J J G G B B F F K K C C N N D

E

a) Graful reŃelei

L

D

E

L

b) Arborele de scufundare pentru nodul H

R. Lungimea arborelui este 12. Nu este arborele minim. 7.

O reŃea ATM foloseşte modelul găleŃii cu jeton pentru uniformizarea traficului. La fiecare 5µs din găleată se extrage câte o celulă ATM de 48 octeŃi. Care este viteza datelor utilizator în linie? Care este rata reală de transmisie dacă celula are un antet de 5 octeŃi? r. Rata de extragere a celulelor este 200000celule/s. Rata biŃilor utilizator este: 200000×48×8=76.8Mbps Rata reală în linie este: 200000×53×8=84.8Mbps 8. ExplicaŃi care dintre următoarele afirmaŃii este adevărată: a ) Rutarea este procesul de transfer al datelor prin două sau mai multe reŃele, de la o sursă către o destinaŃie b ) Rutarea este procesul de transfer al datelor într-un segment de reŃea de la o sursă la o destinaŃie c) Rutarea este procesul de actualizare a tabelei de rutare R. Rutarea se referă la procesul de transfer al datelor dintr-o reŃea în alta, fiecare reŃea fiind controlată de un ruter. Ruterul se află la graniŃa dintre cel puŃin două reŃele. El are câte o interfaŃă pentru fiecare reŃea. Completarea tabelelor de rutare este un proces premergător acŃiunii de rutare şi nu se confundă cu rutarea.

9 ConcepeŃi o schemă simplificată a Internetului din punct de vedere al rutării. R.

73

Sistem autonom

AG

AG

Arii

3

3

Sistem autonom

2

Backbone SA

4

Sistem autonom

1

1

Backbone SA

AG

1 AG

AG

3

Backbone Internet

4

2

3

4

Arii

3

Arii

2 AG 1

Sistem autonom

3

Backbone SA

4

1 2

2 3

Backbone SA

3

Arii AG

AG 1

1

1

AG - Access Gateway SA - Sistem autonom 1 - Ruter intern 2 – Ruter de backbone 3 – Ruter de arie 4 – Ruter de sistem autonom

1

Fig. Structura simplificată a rutării în Internet

Probleme propuse 1. O companie are trei sedii situate în locaŃii distante. În fiecare sediu are nevoie de câte o reŃea cu 30, 36 şi 55 de calculatoare. Să se conceapă o schemă de divizare a adresei IP 194.12.20.0 pentru a acoperi necesarul de adrese pentru toată reŃeaua. Se va folosi tehnica VLSM. 2. Procesorul dintr-un ruter poate prelucra 2 milioane de pachete pe secundă. Traficul la intrare este de 1,5 milioane pachete pe secundă. Dacă o rută de la sursă la destinaŃie trece prin 10 rutere, cât trimp se consumă în aşteptare pentru servirea de către procesoare?

3. CalculaŃi câte adrese de reŃea clasa B se pot forma dintr-o adresă dată dacă lungimea măştii de reŃea se modifică de la 16 la 20 de biti.

74

4. O reŃea din Internet are masca de subreŃea 255.255.224.0 Care este numărul maxim de gazde din subreŃea?

5. Un ruter a primit următoarele noi adrese IP: 58.10.96.9/21, 58.10.112.0/21 şi 58.10.104.0/21. Dacă toate folosesc aceeaşi linie de ieşire, explicaŃi dacă ele pot fi compuse şi dacă da, cum vor arăta? Dacă nu, explicaŃi de ce? 6. Administratorul unei reŃele de campus are atribuită o adresă clasă B 150.10.0.0. Presupunând că LAN-ul cuprinde 100 de subreŃele, fiecare conectată la un switch Fast Ethenet şi prin el la un ruter, determinaŃi o valoare adecvată a măştii de subreŃea dacă în subreŃele se află până la 70 de calculatoare. 7. Pentru reŃeaua din figura de mai jos să se stabilească adresa şi masca de reŃea care să permită agregarea rutelor.

194.?.?.?/?

156.?.?.?/?

156.?.?.?/?

156.20.0.0/24 156.20.1.0/24 156.20.2.0/24 156.20.3.0/24

156.?.?.?/?

194.?.?.?/? 194.?.?.?/?

194.16.0.0/24 194.16.1.0/24 194.16.2.0/24 ... 194.16.7.0/24

156.20.4.0/24 156.20.5.0/24 156.20.6.0/24 156.20.7.0/24

194.16.8.0/24 194.16.9.0/24 194.16.2.0/24 ... 194.16.15.0/2

8. Se consideră reŃeaua din figură în care staŃiile A şi B conectate în reŃeaua internă 192.168.3.0/24 comunică simultan cu serverul web. Ruterul face şi NAT (translaŃia de adrese) într-o gamă 201.200.200.17÷201.200.200.32 stabilită de ISP. CompletaŃi datele în tabelul NAT, selectând corect valorile specificate în coloana alăturată.

75

201.200.200.17÷ 201.200.200.32

a) 192.168.3.1 b) 192.168.3.2

Internet

c) 192.168.3.0 d) 192.168.3.254 e) 181.180.180.15

192.168.3.0/24

f) 201.200.200.18 g) 201.200.200.17

181.180.180.15 192.168.3.2

192.168.3.1 Adr. locală internă

Adr. globală internă Adr. globală externă x (f) x (g)

192.168.3.1 x (c)

x (e) x (e)

9. Se consideră reŃeaua din figură în care staŃiile A şi B conectate în reŃeaua internă 192.168.3.0/24 comunică simultan cu serverul web. Ruterul face şi NAT (translaŃia de adrese) într-o gamă 201.200.200.17÷201.200.200.32 stabilită de ISP. CompletaŃi datele în tabelul NAT, selectând corect adresele IP şi porturile specificate în coloana alăturată. 201.200.200.17÷ 201.200.200.32

a) 192.168.3.1: 80 b) 192.168.3.2: 1125

Internet

c) 181.180.180.15: 80 d) 181.180.180.15: 1125 192.168.3.0/24

e) 181.180.180.15: 1126 f) 201.200.200.5:80 g) 201.200.200.5:1125 h) 201.200.200.5:1126

181.180.180.15 192.168.3.1 Adr. locală internă 192.168.3.1:1125 x (b)

192.168.3.2

Adr. globală internă Adr. globală externă x (g) x (h)

x (c) x (c)

Teme de casă 1. DescrieŃi algoritmul lui Dijkstra. ScrieŃi un program care să implementeze acest algoritm. 2. DescrieŃi algoritmul lui Bellman - Ford. ScrieŃi un program care să implementeze acest algoritm. 3. DescrieŃi algoritmul lui Ford - Fulkerson. ScrieŃi un program care să implementeze acest algoritm. 4. DescrieŃi modelarea unei reŃele folosind teoria grafurilor 76

5. 6. 7. 8.

DescrieŃi modelarea traficului în reŃele de calculatoare DescrieŃi un produs soft de modelare şi simulare a reŃelelor de comunicaŃii şi calculatoare DescrieŃi locul şi rolul nivelului reŃea. Ce servicii oferă nivelului superior? Algoritmi de rutare: noŃiunea de algoritm, caracteristicile algoritmilor, descrierea algoritmilor. 9. Protocoale de control în Internet: ICMP, ARP, RARP, BOOTP 10. IPv6: necesitate, comparaŃie cu IPv4, formatul de adresă, descriere antet 11. Interoperabilitatea IP4 cu IP6 12. Comutarea etichetelor şi MPLS 13. Nivelul reŃea în ATM: caracterizare ATM, formatul celulei ATM, descriere antet 14. DescrieŃi arhitectura TCP/IP a unei reŃele. Rolul nivelelor. Exemple de protocoale pe nivele. 15. Protocolul IP: rol, descriere antet, clase de adrese. 16. SubreŃele IP: divizarea unei reŃele în subreŃele, modul de adresare în reŃea, rolul măştii de adresă 17. Repetoare, noduri, punŃi, comutatoare, rutere, porŃi. LAN-uri virtuale. 18. DescrieŃi particularităŃile nivelului reŃea. Cum funcŃionează protocolul IP reŃea în Internet. DescrieŃi câmpurile antetului pachetelor Ipv4.

77

LecŃia 4.2 Nivelul reŃea în Internet. Adresarea în Internet. Rutarea fără clase LecŃia prezentă nivelul reŃea în Internet. Sunt descrise protocolul IPv4, sistemul de adresare în Internet bazat pe clase de adrese, avantajele şi limitările actuale ale acestuia, soluŃiile folosite în prezent pentru depăşirea acestor limite (IPv6, rutarea interdomenii fără clase, tehnica VLSM). După parcurgerea şi însuşirea acestei lecŃii, studentul va cunoaşte: • Protocolul IP şi utilizarea sa în Internet • Protocoalele de control în Internet (ICMP, • Sistemul de adrese IPv4 şi IPv6 • Clasele de adrese şi rutarea • Rutarea fără clase şi tehnica VLSM • Divizarea unei reŃele în subreŃele si alocarea optimă a adreselor Lucrările de laborator exemplifică practic aplicarea acestor algoritmi pentru rutarea traficului în diverse reŃele locale şi de arie largă. Cu ajutorul programelor de simulare RouteSim Network Visualizer şi PacketTracer se realizează diferite scenarii şi aplicaŃii de rutare. De asemenea în cadrul orelor de laborator se modelează şi simulează divizarea unei reŃele în subreŃele folosind tehnica VLSM şi rutarea fără clase. Timp minim de studiu 6 ore.

4.7 Nivelul reŃea în Internet şi protocolul său (IP) La nivel reŃea, Internetul poate fi văzut ca o colecŃie de subreŃele sau sisteme autonome, interconectate ierarhic, acoperind practic tot globul pământesc. La baza Internetului ca structură organizatorică şi topologică stau calculatoare independente şi reŃelele locale de calculatoare (LANuri). Ele sunt interconectate prin reŃele de arie medie (MAN-uri) sau reŃele regionale care la rândul lor sunt interconectate prin reŃele de transport de mare viteză, numite coloane vertebrale (backboneuri). Acestea pot avea acoperire regională, naŃională sau chiar continentală. Backbone-urile sunt interconectate la rândul lor prin linii magistrale de mare capacitate şi de mare distanŃă, care transportă fluxuri agregate de sute Mbps sau Gbps pe canale optice, radioreleu sau satelitare. Fluxurile magistrale conŃin şi alte tipuri de date decât cele provenite de la reŃelele d calculatoare (canale telefonice numerice, canale radio, canale TV etc.) O structură foarte generală de astfel de reŃea cu acoperire intercontinentală se poate vedea în fig.4.17. Liantul care Ńine Internetul la un loc şi asigură funcŃionarea sa unitară este protocolul de nivel reŃea IP (Internet Protocol).

78

Backbone SUA

Backbone Europa Linii transatlantice

Tunel

ReŃea regională Ruter IP ReŃea regională LAN IP A

LAN IP B

LAN Token Ring

Fig. 4.17 Internetul ca o colecŃie de reŃele interconectate ComunicaŃia în Internet funcŃionează astfel. Nivelul transport preia blocuri de date de la nivelul aplicaŃie şi le sparge în datagrame (pachete). Teoretic o datagramă poate avea până la 64 KocteŃi, dar practic are în jur de 1500. Fiecare datagramă este trimisă pe interfaŃă nivelului reŃea care îi ataşează antetul de reŃea IP şi o livrează primului ruter care o transmite în Internet. Rutele fiecărei datagrame sunt independente, dar toate trebuie să ajungă la destinaŃiile respective. La destinaŃie datagramele sunt livrate nivelului transport care le aşează în ordine şi reface blocul de date original.

4.7.1 Protocolul IP Un pachet IP are un antet şi o parte de date utilizator. La rândul său, antetul are o parte fixă de 20 de octeŃi şi o parte opŃională de lungime variabilă. Pachetul este transmis începând cu cel mai semnificativ bit. BiŃi 1 2 3 4

1 Versiune

8 9

IHL

Lungime totală

Identificare Timp de viaŃă

32

Protocol

Deplasare fragment Suma de control

Adresa sursă

5

Adresa destinaŃie OpŃiuni (0 sau mai mulŃi octeŃi)

Fig. 4.18 Antetul IPv4 SemnificaŃia câmpurilor din antetul pachetului IP este următoarea: 79

Parte variabilă

4

Parte fixă

3

Tip serviciu

24

MF DF

2

16

Versiune -arată cărei versiuni de protocol IP iî aparŃine pachetul. Aceasta face posibilă operarea simultană a mai multor versiuni, lucru necesar în perioadele de tranziŃie de la o versiune la alta. Unele maşini pot folosi o versiune mai veche, altele una mai nouă. IHL – arată lungimea antetului deoarece acesta are o parte opŃională de lungime variabilă. Tip serviciu – de lungime 6 biŃi, permite gazdei să comunice reŃelei ce tip de serviciu doreşte. Sunt posibile diferite combinaŃii de fiabilitate şi de viteză. Pentru aplicaŃii de transfer de voce este mai important transferul în timp real decât erorile de transmisie, pe când un transfer de fişiere este mai importantă transmisia corectă decît transmisia în timp real. La început câmpul a fost gândit astfel. Primii 3 biŃi erau pentru prioritate (de la 0 la 7), iar ceilalŃi trei pentru întârziere, productivitate şi fiabilitate. Se putea opta pentru transmisii mai puŃin fiabile dar cu întârziere mică, sau o linie cu capacitate (productivitate) mare etc. În timp IETF s-a orientat pentru a folosi cei 6 biŃi la a indica clasele de servicii căruia aparŃine pachetul. Ultimii doi biŃi din cel de-al doilea octet nu sunt folosiŃi. Lungimea totală – precizează lungimea totală a pachetului (antet plus câmpul de date). Având doi octeŃi pentru acest câmp, un pachet poate avea mximum 216=65 535 octeŃi. Identificare – este folosit pentru a indica gazdei cărei datagrame aparŃine un pachet sosit. Toate pachetele unei datagrame trebuie să aibă aceeaşi valoare de identificare. DF – înseamnă a nu fragmenta pachetele (don’t fragment) pentru că destinatarul nu poate să le reasambleze. Acestă opŃiune trebuie folosită cu atenŃie, deoarece pot apărea probleme atunci când pachetul traversează o reŃea care nu acceptă pachete lungi. MF – (more fragments) permite fragmentarea unei datagrame în mai multe fragmente. Toate fragmentele unei datagrame trebuie să aibă acest bit setat pe 1, cu exepŃia ultimului, care trebuie setat pe zero indicând astfel sfârşitul datagramei. Deplasamentul fragmentului – arată locul (ordinea) fragmentului în compunerea datagramei. Toate fragmentele unei datagrame, cu excepŃia ultimului, trebuie să fie multiplu de 8 octeŃi, lungimea minimă a unui fragment. Timpul de viaŃă – este un contor pentru a limita durata de viaŃă a pachetelor. Maximul de viaŃă este 255 de secunde. El trebuie decrementat la fiecare salt dintr-o reŃea în alta şi deasemenea se decrementează şi în timpul aşteptărilor în cozi. Când ajunge la zero, pachetul este distrus şi se trimite gazdei sursă un pachet de avertisment. Protocol – spune cărui proces de nivel transport trebuie predat pachetul (protocolului TCP, UDP sau altora). Numerotarea protocoalelor este globală la nivelul Internetului şi se găseşte într-o bază de date on line, la adresa www.iana.org. Suma de control a antetului – verifică numai antetul. Verificarea se face la fiecare salt pentru că cel puŃin un bit se schimbă (bitul din câmpul timp de viaŃă legat de salturi). Adresa sursei şi Adresa destinaŃiei – indică numărul de gazdă şi numărul de reŃea din care face parte gazda. Câmpul OpŃiuni – are lungime variabilă (maximum 3 cuvinte de 32 biŃi). El a fost introdus pentru a specifica diferite opŃiuni de tipul celor descrise mai jos sau pentru folosiri ulterioare. Câteva dintre opŃiunile posibile sunt următoarele. 1. Securitate – menŃionează gradul de confidenŃialitate al informaŃiei. 2. Dirijare statică de la sursă – dă calea completă de la sursă la destinaŃie ca o succesiune de adrese IP complete. Datagrama trebuie să urmeze această cale. Este deosebit de utilă

80

administratorilor de reŃea pentru a trimite pachete de urgenŃă în caz de perdere a tabelelor de rutare sau pentru a realiza măsurători de timp. 3. Dirijarea aproximativă de la sursă – cere ca pachetul să traverseze o listă specificată de rutere şi în ordinea specificată, dar pot fi incluse în rută şi alte rutere nespecificate. Este utilă când se doreşte ca pachetele să treacă obligatoru prin unele rutere. 4. Înregistrează calea – obligă ruterele de pe cale să treacă în câmpul OpŃiuni adresele IP. Este utilă în detectarea penelor în algoritmii de dirijare. Dacă pachetele trec mereu print-un ruter care, în mod normal nu ar tebui să fie în cale, indică o problemă de dirijare.

4.7.2 Adresele IPv4 Fiecare gazdă şi ruter din Internet au o adresă IP formată din două părŃi: adresa de reŃea şi adresa de gazdă. Toate adresele sunt de 32 de biŃi. Este important de precizat că o adresă IP nu se referă de fapt la o gazdă, ci la o interfaŃă de reŃea. O gazdă care este conectată în două reŃele are două adrese IP. Un exemplu şi mai elocvent este cel al ruterelor care interconectează două reŃele: el are o adresă pentru o reŃea pe o interfaŃă şi altă adresă de reŃea pe altă interfaŃă. TradiŃional, adresele IP sunt împărŃite pe 5 categorii numite clase de adrese. În prezent acest mod de alocare nu mai este folosit, dar ajută la înŃelegerea modului de organizare a reŃelelor de calculatoare. BiŃi

1 2 3 4

A 0

8 9

ReŃea (27=128)

B 10

24

32

De la 1.0.0.0 la 127.255.255.255

Gazdă (224 ≅16 milioane)

ReŃea (214=16 384)

Gazdă (216=164 568)

ReŃea (221=2 113 568)

C 110 D 1110 E

16

1111

Gazdă (256)

De la 128.0.0.0 la 191.255.255.255 De la 192.0.0.0 la 223.255.255.255

Adresă de trimitere multiplă

De la 224.0.0.0 la 239.255.255.255

Rezervat penru aplicaŃii viitoare

De la 240.0.0.0 la 255.255.255.255

Fig. 4.19 Formatul adreselor IPv4 Formatul diferitelor adrese permite organizarea de reŃele cu diverse configuraŃii. 1

8

16 ToŃi 0

ToŃi 0

24

32 Această gazdă

Identificator gazdă

Gazdă în reŃeaua curentă Difuzare în reŃeaua curentă

ToŃi 1

Id. reŃea

ToŃi 1

Difuz. în reŃeaua Id. reŃea

127

Orice

Buclă locală

Fig. 4.20 Adrese IP speciale

Adresele care încep cu 111 au fost rezervate pentru utilizări viitoare. Există şi unele adrese speciale care permit trimiterea multiplă (multicast).

81

Adresele se scriu în mod curent în notaŃia zecimală cu punct. Fiecare din cei 4 octeŃi poate fi scris în zecimal ca un număr între 0 şi 255. Adresele numai cu 1 în câmpul gazdă permit difuzarea în propria reŃea ca într-un LAN. Adresele cu număr dat de reŃea şi numai cu 1 în câmpul gazdă permit maşinilor să trimită pachete de difuzare în LAN-uri la distanŃă, aflate oriunde în Internet. Adresele de forma 127.x.y.z sunt folosite pentru testări în bucla locală. Pentru a evita conflictele care pot apărea la atribuirea numerelor de reŃea, acestea sunt administrate de CorporaŃia Internet pentru numere şi nume atribuite (ICANN – Internet Corporation for Assigned Names and Numbers). La rândul său, ICANN a delegat diverse autorităŃi regionale să administreze părŃi din spaŃiul de adrese de reŃea, iar acestea au împărŃit adrese furnizorilor de servicii Internet (ISP) şi altor companii.

4.7.3 SubreŃele Toate gazdele dintr-o reŃea IP trebuie să aibă acelaşi număr (adresă) de reŃea. Această particularitate a adresării IP poate crea probleme când reŃeaua creşte. De exemplu o reŃea LAN din clasa C poate avea cel mult 254 de maşini, iar cu timpul poate este nevoie de a introduce mai multe maşini în reŃea, ceeace nu este posibil. SoluŃia problemei este divizarea unei reŃele în mai multe părŃi de uz intern, numite subreŃele, dar care pentru lumea externă să fie văzute ca o singură reŃea. Fiecare subreŃea va fi accesată printrun ruter iar, la rândul lor, subreŃelele vor fi accesate printr-un ruter principal. Tot prin acesta se va accesa şi reŃeau din şi spre exterior (intrările şi ieşirile din reŃea). Pentru a înŃelege cum funcŃionează o reŃea divizată în mai multe subreŃele, se poate porni de la un exemplu de reŃea de clasă B care are adresa de reŃea de 16 biŃi şi adresa de gazdă tot de 16 biŃi. Pe acesta din urmă îl împarte în 2 părŃi: 6 biŃi pentru subreŃea şi 10 biŃi pentru gazdă. Această divizare permite realizarea a 64 de subreŃele, cu câte 1022 de gazde fiecare (adresele 0 şi 1 fiind rezervate). În afara reŃelei divizarea nu este vizibilă deoarece reŃeaua este anunŃată ca fiind de clasă B. La ISP Ruter princ.

SubreŃea 1

SubreŃea n Ruter

SubreŃea

SubreŃea 2

Fig. 4.21 ReŃea IP cu subreŃele 1

89

11

16

ReŃea

22 SubreŃea

32 BiŃi Gazdă

11 11111111111111 111111 0000000000 255

255

252

Adresă IP Mască de subreŃea

0

Fig. 4.22 Format de adresă şi mască de subreŃea pentru o reŃea IP cu 64 de subreŃele 82

În cazul împărŃirii în subreŃele, tabelele de dirijare sunt schimbate, adăugînd înregistrări de forma (reŃea, subreŃea, gazdă). Astfel un ruter din subreŃeaua n ştie cum să ajungă la toate celelalte subreŃele si de asemenea la toate gazdele din subreŃeaua sa. El nu trebuie să ştie detalii despre gazdele din alte subreŃele. Delimitarea dintre reŃea şi subreŃea se face cu ajutorul măştilor de subreŃea. O mască conŃine toŃi biŃii spaŃiului de reŃea şi subreŃea setaŃi pe 1 şi toŃi biŃii de gazdă setaŃi pe 0. Pentru a găsi subreŃeaua, ruterul nu trebuie decât să facă un ŞI LOGIC dintre adresa pachetului şi masca subreŃelei. ÎmpărŃirea pe subreŃele crează o dirijare ierarhică pe trei nivele, reŃea, subreŃea şi gazdă şi reduce spaŃiul tabelelor de dirijare. În continuare se exemplifică împărŃirea pe subreŃele şi folosirea măştii pentru reŃeaua din fig.4.21 cu adrese de clasă B, cu 6 biŃi pentru subreŃea şi 10 pentru gazde. Se consideră o reŃea a unei companii având o reŃea clasă B adresa de reŃea 130.50.0.0. Ea îşi propune să organizeze până la 64 de subreŃele pentru a separa diferite compartimente structurale şi funcŃionale. Pentru aceasta împarte spaŃiul de 16 biŃi destinat gazdelor de clasă B în 6 biŃi pentru subreŃea şi 10 biŃi pentru gazde. Adresele de subreŃea pot fi de tipul de mai jos, fiind atribuite ruterelor de subreŃea. SubreŃea 1

130.50.4.0

= 10000010 00110010 000001 | 00 00000000

SubreŃea 2

130.50.8.0

= 10000010 00110010 000010 | 00 00000000

SubreŃea 3

130.50.12.0 = 10000010 00110010 000011 | 00 00000000 ReŃea

SubreŃea

Gazdă

Masca de subreŃea va avea primii 22 de biŃi de valoarea 1 şi ultimii 10 de valoarea 0, adică formatul este 255.255.252.0. Dacă ruterul principal primeşte un pachet cu adresa 130.50.15.6 , el va face ŞI logic cu masca de subreŃea pentru a vedea cărui ruter să-l trimită. 130.50.15.6.

= 10000010 00110010 000011|11 00000110

255.255.252.0 = 11111111 11111111 111111|00 00000000 ŞI LOGOC

= 10000010 00110010 000011|00 00000000 =130.50.12.0 = SubreŃeaua 3

Rezultă adresa subreŃelei 3. Din tabela de dirijare ruterul principal vede la ce port este conectat ruterul 3 şi trimite pachetul acolo.

4.7.4 Unele probleme de rutare IP şi soluŃii propuse ÎmpărŃirea spaŃiulu de adrese IP de 32 de biŃi în cele 3 clase uzuale (A,B,C) nu s-a dovedit a fi foarte inspirată. Cea mai utilizată clasă este B (16 384 de reŃele cu câte 64 536 de gazde) a dus la epuizarea rapidă a spaŃiului de adrese. O soluŃie de compromis care a dat un mic spaŃiu de manevră este dirijarea fără clasă între domenii (CIDR – Classless InterDomain Routing). Ideea de bază în CIDR este de a aloca adrese IP în blocuri de dimensiune variabilă, fără a Ńine cont de clase. RenunŃarea la clase face însă rutarea mai complicată. Un exemplu de astfel de dirijare este prezentat în [Tan]. 83

Epuizarea adreselor IPv4 a necesitat gândirea unei soluŃii de moment, până la introducerea IPv6. Această soluŃie este translatarea adreselor de reŃea (NAT–Network Address Translation). Ideea de bază a NAT este de a aloca fiecărei companii o singură adresă IP (sau cel mult câteva) pentru traficul Internet. În interiorul companiei fiecare user primeşte o adresă IP unică folosită pentru traficul intern. Când un pachet părăseşte compania şi se duce la ISP, are loc o translatare de adresă, adică o transformă în adresa reală a companiei. Translatarea o face un bloc special (unitate NAT), separată de Internet printr-un firewall. FuncŃionarea NAT se bazează pe nivelul transport (protocolul TCP sau UDP) şi pe porturile lui.

4.7.5 Protocoale de control în Internet Pe lângă IP care este protocol de transfer de date, Internetul are protocoale de control de nivel reŃea (ICMP, ARP, RARP, BOOT etc.).

Protocolul mesajelor de control în Internet (ICMP) Când se întâmplă ceva deosebit, evenimentul este raportat prin ICMP (Internet Control Massages Protocol). Sunt definite mai multe tipuri de masaje ICMP. Fiecare tip este încapsulat întrun pachet IP. 1. DestinaŃie necunoscută (destination unreachable) este folosit atunci când o reŃea sau un ruter nu pot localiza destinaŃia. 2. Timp depăşit (time exceeded) este trimis atunci când un pachet este eliminat datorită depăşirii contorului de timp (contorul ajunge la 0). 3. Problemă de parametru (parameter problem) indică detectarea unei valori nepermise întrun câmp din antet. 4. Oprire sursă (source quench) folosit pentru reglarea traficului (reducerea ratei de transmitere). 5. Redirectare (redirect) folosit când un ruter observă că un pachet pare a fi dirijat greşit. 6. Cerere ecou (echo request) şi răspuns ecou (echo replay) folosite pentru a vedea dacă o anumită destinaŃie este accesibilă şi activă. 7. Cerere amprentă de timp / Răspuns amprentă de timp folosită pentru măsurarea întârzierilor.

Protocolul de rezoluŃie a adreselor (ARP) Fiecare maşină din Internet are una (sau mai multe) adrese IP, dar ele sunt recunoscute doar la nivel reŃea. De fapt ele sunt mai curând nişte puncte de acces (interfeŃe) de reŃea. Ruter 1 192.31.60.4 192.31.65.5 192.31.65.1 2 192.31.65.7 1

Ruter 2 192.31.60.7 192.31.63.3 F1

E1 E2 E3 ReŃea Ethernet 1 192.31.65.0

192.31.63.8 3

F2

4

F3

Inel FDDI 192.31.60.0

E4 E5 E6 ReŃea Ethernet 2 192.31.63.0

Fig.4.23 Trei reŃele clasă C interconectate: două reŃele Ethernet şi un inel FDDI 84

La nivel legătură de date şi mai jos sunt alte adrese (MAC, fizice) specifice tipului de LAN la care sunt conectate calculatoarele. De exemplu, orice placă Ethenet are o adresă LAN de 48 de biŃi implementată hard de către fabricant. Ruterele care interconectează reŃelele au fiecare câte două adrese IP care se deosebesc prin numărul de identificare de reŃea. De exemplu Ruterul 1 care accesează reŃeaua Ethernet 1 are acelaşi număr de reŃea ca şi aceasta, 192.31.65., iar numărul de gazdă 1. Pentru reŃeaua FDDI are identificatorul de reŃea identic cu cel al FDDI şi anume 192.31.60, iar numărul de gazdă 4. La fel şi Ruterul 2 are două identificatoare de reŃea, 192.31.60 şi 192.31.63 corespunzătoare celor două reŃele pe care le interconectează. Numerele de gazdă ale Ruterului 2 sunt 7 pentru FDDI şi 3 pentru Ethernet 2. Fiecare maşină (gazdă sau ruter) din reŃea are o adresă Ethenet de 48 de biŃi a plăcii de reŃea şi nu ştie nimic de adresa IP. Un utilizator de pe gazda 1 vrea să trimită un pachet gazdei 2, al cărui nume îl cunoaşte. Pentru a afla adresa IP a gazdei 2 el se adresează Serviciului numerelor de domeniu (DNS) precizându-i numele gazdei 2 şi acesta îi întoarce adresa IP dorită (192.31.65.5). Programele de la nivelurile superioare ale gazdei 1 construiesc un pachet cu adresa 192.31.65.5 în câmpul destinatar şi îl trimit programelor IP pentru a fi transmis. Programele IP se uită la adresă şi văd că destinatarul este în propria reŃea, dar nu ştiu adresa fizică a maşinii cu această adresă IP. O soluŃie bună este de a construi un pachet de difuzare în Ethernet 1 prin care să întrebe cine are adresa 192.31.65.5. Proprietarul acestei adrese va întoarce un pachet cu adresa fizică aşteptată. Protocolul cu întrebare şi răspuns de aflare a adrese fizice când se cunoaşte adresa IP, este ARP. Problema rezoluŃiei de adresă se pune şi invers. Cunoscând o adresă fizică se poate afla adresa IP cu ajutorul protocolului de rezoluŃie inversă a adresei (RARP – Reverse Address Resolution Protocol).

4.8 Versiuni de IP Versiunea curentă de IP este IPv4, dar devine tot mai clar că zilele sale sunt numărate. Obiectivele majore urmărite prin introducerea noii versiuni IP sunt: 1. 2. 3. 4. 5. 6. 7. 8. 9.

să suporte miliarde de gazde; să reducă dimensiunile tabelelor de dirijare; să simplifice protocolul pentru a permite ruterelor să proceseze mai repede pachetele; să asigure securitate (autentificare şi confidenŃialitate) mai bună decât în prezent; să permită servicii diferenŃiate cu grad specific de QoS; să permită transmiterea multiplă în reŃele distante; să asigure mobilitate sporită a gazdelor fără schimbarea adresei; să permită operarea cu diferite tipuri de protocoale existente sau viitoare; să poată conlucra încă mulŃi ani cu actualul IPv4.

După discuŃii şi propuneri diverse s-a ajuns la Protocolul simplu îmbunătăŃit pentru Internet (Simple Internet Protocol Plus – SIPP) cunoscut pe scurt ca IPv6. MenŃine caracteristicile bune ale IPv4 , adaugă altele noi şi este compatibil cu IPv4, TCP, UDP, ICMP, IGMP, OSPF, BGP şi DNS. Este descris în RFC 2460 – 2466.

85

1

8 Vers.

16

Tip de trafic Lungime informaŃie utilă

24

32

Eticheta fluxului Următorul antet Limita de salturi Ardesă sursă (16 octeŃi)

Ardesă destinaŃie (16 octeŃi)

Fig. 4.24 Antetul fix IPv6 Deosebiri faŃă de vechea versiune: - lungimea ardeselor sursă şi destinaŃie mult mai mare, de 16 octeŃi faŃă de 4; - simplificarea antetului care conŃine numai 7 câmpuri faŃă de 13, ceea ce permite rurterelor o procesare mult mai rapidă; - suportă mai bine opŃiuni noi; - securitate bună, permite autentificarea şi confidenŃialitatea; - acordă atenŃie sporită tipului de serviciu. Câmpul Versiune este întotdeauna 6 pentru IPv6 şi 4 pentru IPv4. Este necesar cât timp coexistă cele două versiuni pentru ca procesoarele să ştie cum să prelucreze datele din pachete. Tip de trafic este folosit pentru a distinge pachetele care au sau nu nevoie de a fi transmise în timp real. Este util în aplicaŃii multimedia. Eticheta fluxului este încă experimental dar a fost gândit pentru a permite unei surse şi unei destinaŃii să stabillescă o pseudoconexiune cu proprietăŃi particulare. De exemplu, rezervarea capacităŃii de transmitere pentru un anumit şir de pachete ale unui proces aplicaŃie între sursă şi destinaŃie. Fiecare flux este desemnat prin cele două adrese terminale şi prin Eticheta fluxului. Asta înseamnă că între o pereche sursă destinaŃie pot fi simultan mai multe fluxuri active. Mai mult chiar, două sau mai multe fluxuri provenind de la surse diferite dar cu aceeaşi destinaŃie, pot fi separate individual pe baza etichetei. În plus, ruterele de pe calea fluxului pot face comutare pe bază de etichete (MPLS – MultiProtocol Label Switching). Lungimea informaŃiei utile spune câŃi octeŃi urmează după antetul de 40 de octeŃi. Dacă la IPv4 antetul are o zonă de lungime variabilă (câmpul OpŃiuni) şi trebuie precizată lungimea totală, la IPv6 antetul fiind fix trebuie specificată doar lungimea informaŃiei utile. Antetul următor precizează cărui tip de protocol (TCP, UDP etc.) i se va trimite pachetul. Limita de salturi arată cât timp poate trăi un pachet , fiind identic cu Timp de viaŃă din IPv4. Adresă sursă şi Adresa destinaŃie conŃin adresele respective, fiecare de câte 16 octeŃi. Mărimea aleasă este considerată un compromis acceptabil între o adresă prea scurtă (4 octeŃi la IPv4) şi una prea lungă. Numărul total de adrese IPv6 este 2128≅3 ×1038, număr foarte mare. Pentru scrierea lor a fost inventată o nouă notaŃie: 8 grupuri de câte 4 cifre hexazecimale separate prin două puncte, că în exemplul următor: 8000:000:000:000:0123:4567:89AB:CDEF adică în total 16 octeŃi. Unul sau mai multe grupuri de 16 zerouri în binar (4 zerouri în hexazecimal) pot fi înlocuite prin semnul „:”. În plus, un zero de la începutul unui grup de 4 cifre hexa poate fi 86

omis, întrucât lipsa sa presupune valoarea implicită 0. Asta înseamnă că adresa de mai sus se pate scrie şi sub forma: 8000::123:4567:89AB:CDEF O adresă IPv4 poate fi scrisă în IPv6 ca o pereche de semne :: şi vechea adresă în format zecimal cu punct:

::192.31.28.4 Câmpurile de fragmentare MF şi DF au fost eliminate deoarece IPv6 are o abordare diferită a fragmentării. Toate gazdele şi ruterele trebuie să determine dinamic mărimea datagramei care va fi folosită, ceea ce face de la început fragmentarea mai puŃin probabilă. Apoi lungimea minimă a pachetului a fost mărită de la 576 la 1280 de octeŃi pentru a permite blocuri de date de 1024 octeŃi. Când o gazdă trimite un pachet prea mare, ruterul care este incapabil să-l transmită dă un mesaj de avertizare gzdei să nu mai trimită lâpachete aşa lungi spre acea destinaŃie. Câmpul sumă de control a fost eliminat deoarece calculul acestuia reduce mult performanŃele. Oricum nivelurile legătură de date şi transport fac asemenea verificări.

4.4 Rutarea fără clase Strategia de adresare specifică IPv4 este în prezent depăşită şi nu mai permite dezvoltarea reŃelelor la nivelul cererilor prezente şi viitoare. Până la generalizarea noii versiuni de protocol de reŃea, IPv6, s-au propus diverse soluŃii de depăşire a actualului impas. O astfel de soluŃie care să acopere golul dintre cele două versiuni este rutarea fără clase, pe bază de adrese de lumgime variabilă (VLSM – Subnet MaskVariable-Length). Folosind VLS, un administrator de reŃea poate folosi măşti de lungime variabilă pentru gazde aflate în cadrul aceluiaşi sistem autonom. Tehnica VLSM permite subdivizarea succesivă a unei reŃele ân subreŃele, desigur, cu respectarea unor reguli şi cerinŃe date. Una din aceste cerinŃe de bază este că numai o adresă de (sub)reŃea neutilizată se poate diviza. Dacă măcar o adresă dintr-o (sub)reŃea este folosită, atunci (sub)reŃeaua nu se mai poate diviza în continuare. O altă cerinŃă este că VLSM se poate folosi numai împreună cu protocoate care suportă această tehnică. Ruterele CISCO suportă VLSM împreună cu OSPF, IS-IS (Intermediate System- Intermediate System), EIGRP, RIPv2, rutarea statică etc. VLSM este un artificiu care prmite unui singur sistem autonom să aibă reŃele cu diferite măşti de subreŃea. VLSM ajută să se administreze optim adresele IP, în special când este vorba de LAN-uri interconectate prin linii punct la punct. Cu o mască de reŃea de lungime potrivită se asigură conexiunile din interiorul LAN-uli, iar cu alta se asigră conexiunile punct la punct. Fără VLSM, legăturile WAN trebuiesă aubă acceaşi mască de subreŃea ca şi segmentele LAN. De exemplu, dacă un client doreşte să realizeze câteva reŃele locale cu un număr de ordinul zecilor de gazde (să zicem între 10 şi 60), reŃele interconectate între ele, ar putea folosi câte o adresă de clasă C în fiecare reŃea, adresă care admite până la 254 de gazde. DiferenŃa de adrese până la 254 de din fiecare reŃea ar fi irosită, deoarece adresa de reŃea trebuie să fie diferită de la o reŃea la alta. În plus, pentru interconectarea reŃelelor locale, sunt necesare alte adrese de reŃea, câte o pereche pentru fiecare legătură punct la punct, ceea ce înseamnă irosirea a câte 252 de adrese de gazdă. O soluŃie mai bună este împrumutarea în spaŃiul de reŃea de 24 de biŃi a unui număr oarecare de biŃi din cei 8 ai spaŃiului de gazdă. În cazul exemplului dat, unde numărul maxim de gazde este 60, se pot împrumuta 2 biŃi. Aceasta înseamnă că se poate folosi o singură adresă clasă C, care se subdivide în 22=4 subreŃele, fiecare cu maximum 62 de gazde.

87

27 194.160.16.0/24 194.160.20.0/24 194.160.19.0/24

D C

A 194.160.15.0/24

194.160.17.0/24

194.160.21.0/24

12

61 B 194.160.18.0/24

13

Fig. 4.11 ConfiguraŃie de 4 reŃele clasă C interconectate În această ipoteză, cele 4 adrese de reŃea vor fi: 194.160.15.0/26 194.160.15.64/26 194.160.15.128/26 194.160.15.192/26 Mai mult chiar, dacă una sau mai multe subreŃele au mai puŃin de 30 gazde, se pot subdiviza la rândul lor în sub-subreŃele, prin folosirea unor măşti de lungime mai mare. Adresa de reŃea locală deservită de ruterul A va fi 194.160.15.0/26. Gazdele din această reŃea vor avea adresele 194.160.15.1 ... 194.160.15.62, rămânând liberă adresa 194.160.15.63. Pentru reŃeaua ruterului D cu 27 de gazde, se poate folosi o mască de 27 biŃi. Adresa de reŃea va fi 194.160.15.64/27, iar adresele de gazdă: 194.160.15.65, 194.160.15.66 ..... 194.160.15.92. Rămân libere adresele de gazdă 194.160.15.93 ... 194.160.15.95. Pentru reŃelele ruterelor B şi C se pot folosi măşti de reŃea de 28 biŃi (24-2=14 gazde). Adresa de reŃelei B va fi 194.160.15.96/28 cu adresele de gazdă 194.160.15.97 .... 194.160.15.109, ramânând liberă adresa 194.160.15.110 . Adresa de reŃelei C va fi 194.160.15.112/28 cu adresele de gazdă 194.160.15.113 .... 194.160.15.125, ramânând liberă adresele 194.160.15.126 şi 194.160.15.127. Până aici au fost alocate optim adresele celor 4 LAN-uri , inclusiv a gazdelor din fiecare. Mai trebuie alocate adresele celor 3 legături la distanŃă de tip punct la punct. Deoarece fiecare link este echivalent cu o reŃea cu câte două adrese de gazdă (capetele legăturii), se poate folosi următoarea reŃea liberă, si anume 194.160.15.128/28, care însă poate fi subdivizată în 4 subreŃele, utilizând o mască de 30 de biŃi. Prima subreŃea va fi 194.160.15.128/30 având adresela capetelor conexiunii punct la punct 194.160.15.129 şi 194.160.15.130. A doua subreŃea va fi 194.160.15.132/30 având adresela capetelor conexiunii punct la punct 194.160.15.133 şi 194.160.15.134. A treia subreŃea va fi 194.160.15.136/30 având adresela capetelor conexiunii punct la punct 194.160.15.137 şi 194.160.15.138. Schema de divizare a adreselor de reŃea şi subreŃea este următoarea: Ruter A : 194.160.15.0/26 Ruter D : 194.160.15.64/27 Ruter B : 194.160.15.96/28 Ruter C : 194.160.15.112/28 88

194.160.15.64/27

194.160.15.136/30

194.160.15.128/30

194.160.15.13 8

27

194.160.15.13 7

194.160.15.9 2

194.160.15.6 5

194.160.15.13 0

D 194.160.15.134

A

C

194.160.15.132/30

194.160.15.0/26

194.160.15.112/28 194.160.15.11 3

B 13

194.160.15.10 9

194.160.15.96/28 194.160.15.9 7

61

194.160.15.62

194.160.15.1

194.160.15.135

12

194.160.15.12 5

194.160.15.12 9

Link A-D: 194.160.15.128/30 Link B-D: 194.160.15.132/30 Link C-D: 194.160.15.136/30

Fig. 4.12 Schema de alocare a adreselor folosind VLSM

ExerciŃiu Stiind că VLSM ajută la setarea măştilor de subreŃea ca să fie potrivite cu nevoile de segment sau de link punct la punct, să se stabilească un set de adrese IP care să asigure optim configurarea următoarei reŃele, folosind o adresă de clasă B 172.20.0.0/16. Să se stabilească şi schema de divizare a adreselor. Adr. reŃea: 172.20.0.0/16 250gazde

250 gazde

Fig. 4.13 ReŃea clasă B propusă pentru confgurare de adrese

SoluŃie Exemplu de mai sus conŃine două LAN-uri cu câte 250 de gazde. Dacă ruterele folosesc un protocol de rutare fără clase, atunci linkul WAN trebuie să fie o subreŃea a aceleiaşi clase B, presupunând că administratorul nu foloseşte un IP unnumbered. Protocoalele de rutare fără clasă (RIPv1, IGRP, EGP) nu pot suporta VLSM. Fără VLSM, link-ul WAN ar trebui să aibă acceaşi mască de subreŃea ca şi segmentele LAN. O mască de 24 de biŃi ar suporta 250 de gazde. Linkul WAN necesită doar 2 adrese, câte una pentru fiecare ruter. Asta înseamnă că ar fi irosite 252 de adrese. Dacă se foloseşte VLSM în acest exemplu, pe segmentele LAN se vor folosi în continuare măşti de 24 de biŃi, dar pe link o mască de 30 de biŃi, dintr-o subreŃea neutilizată deja. Astfel, o soluŃie ar putea fi următoarea. Adr. reŃea: 172.20.2.0/30 172.20.4.0/24

172.20.3.0/24 172.20.2.2

172.20.2.3

Fig. 4.14 Alocarea adreselor pentru reŃeaua din fig. 4.13

89

Întrebări de control 1. Care dintre următoarele entităŃi nu poate fi un câmp în tabela de rutare: a) adresa destimaŃie b) masca de reŃea c) gateway d) protocol 2. Un ruter dirijează pachetele pe baza: b) adresei destinaŃie c) adresei de reŃea d) adresei fizice e) tabelei de rutare 3. Tabela de rutare a unui ruter static se configurează: a) automat la fiecare pornire a acestuia b) manual la instalarea în reŃea c) manual la fiecare pornire a sa d) manual la fiecare modificale a topologiei de reŃea 4. Ce comandă CISCO IOS afişează fişierul de configurare memorat în NVRAM? a) router# show flash b) router# show nvram c) router# show running-config d) router# show startup-config 5. Ce port este folosit pentru configurarea iniŃială a unui ruter a) auxiliary b) consloe c) serial d) fastEthernet 6. Ce comandă CISCO afişează tabela de rutare? ping a) b) show ip route show interface c) show table-config d) 7. Care sunt dejavantaje ale rutării dinamice? a) administrare greoaie b) necesită reconfigurare la fiecare schimbare de topologie de reŃea sau de rutere c) nu poate ocoli defecŃiunile apărute în reŃea d) încarcă suplimentar traficul din reŃea 8. Ce rutere schimbă reciproc informaŃii atunci când se foloseşte un protocol de rutare de tip vector distanŃă? toate ruterele din reŃea a) b) numai ruterele vecine numai ruterele nou intrate în reŃea c) toate ruterele desemnate ca atare d) 9. Prin ce identifică un ruter reŃeaua de destinaŃie a unui pachet? a) prin adresa MAC b) prin adresa portului de destinaŃie c) prin adresa de reŃea d) prin adresa TCP 90

10. Care este rolul unei adrese de broadcast? de a transmite un pachet către o singură reŃea destinaŃie a) b) de a trimite un pachet către o listă de destinaŃie de a trimite un mesaj către toate ruterele dintr-o reŃea c) d) de a trimite un mesaj către toate gazdele dintr-o reŃea/subreŃea 11. Care este reŃeaua destinaŃie a unui pachet cu adresa IP 172.16.13.229 şi masca de reŃea 255.255.248.0? a) 172.16.1.0 172.16.4.0 b) 172.16.8.0 c) d) 172.16.16.0 12. Dacă gazdă nu recunoaşte o adresă de nivel 3 din cadrul acelei reŃele, cum o poate afla? trimite un pachet ARP a) b) trimite un pachet RARP trimite un mesaj de avertizare administratorului reŃelei c) d) trimite un mesaj broadcast spre serverul de nume (DNS) 13. Care dintre următoarele este o adresă de broadcast de nivel reŃea? 111.111.111.111. a) AAA.AAA.AAA.AAA b) c) 255.255.255.255.255 FFFF.FFFF.FFFF d) 14. Ce verifică suma de control din antetul unui pachet IP: doar câmpurile din antet sau întreg pachetul?. DaŃi şi o explicaŃie a soluŃiei alese. 15. Care sunt formatele de adresă Ipv4? Cum se pot realiza reŃele şi subreŃele IP? Care este rolul măştii de reŃea? DaŃi exemple. 16. Ce se înŃelege prin congestie în reŃele şi cum poate apărea. Care sunt mecanismele de control ale acesteia? 17. Ce semnificaŃie au adresele următoare: 173.56.0.0 şi 173. 56.255.255? Din ce clasă fac parte adresele 12.10.254.17, 168.128.13.29, 175.175.175.175? 18. Între ce limite se află primul octet al unei adrese clasă D (multicast)? 19. Ce rol au protocoale de control în Internet? DescrieŃi câteva protocoale (ARP, ICMP, RARP etc.) 20. Ce versiuni de protocoale Internet cunoaşteŃi? DescrieŃi IPv6: caracteristici, forma antetului, deosebiri faŃă de IPv4. 21. Ce este un sistem autonom? Cum se face conectarea între sistemele autonome? 22. Ce este o zonă (arie) OSPF? Cum se face conectarea zonelor între ele? 23. Ce tipuri de pachete foloseşte protocolul OSPF?

91

Probleme propuse 1. Se consideră următoarea reŃea, căreia i se alocă o adresă de clasă B 172.16.32.20/20. 54 gazde 56 gazde 60 gazde 56 gazde Fig. 4.15

Patru LAN/-uri interconectate la distanŃă

Să se stabilească o schemă de divizare optimă a adresei de reŃea folosind VLSM, să se repartizeze aceste adrese pe fiecare subreŃea şi să se scrie valoarea acestora şi în format binar. 2.

Un număr de adrese IP consecutive sunt disponibile începând cu 198.16.0.0. Patru organizaŃii A,B,C, şi D solicită cîte 4000, 2000, 4000 şi 8000 adrese în această ordine. Pentru fiecare dintre ele precizaŃi prima şi ultima adresă IP atribuită precum şi masca în forma w.z.x.z/s

3.

Presupunem că la fiecare microsecundă se alocă câte un bloc de un milion de adrese Ipv6. În cât timp se vor epuiza adresele Ipv6?

O companie a achiziŃionat adresa clasă B 172.16.0.0. Ea intenŃionează să creeze scheme de subnetare care să asigure adrese pentru - 36 de reŃele cu cel puŃin 100 de gazde - 24 de reŃele cu cel puŃin 255 de gazde - 10 de reŃele cu cel puŃin 50 de gazde StabiliŃi o schemă de divizare a adrese date precizând numărul de biŃi împrumutaŃi la subreŃea, adresa de subreŃea şi masca. 4.

5. Un ruter are următoarea tabelă de rutare: Adresa/ mască următorul salt 135.46.56.0/22 inrterfaŃa 0 135.46.60.0/22 inrterfaŃa 1 135.53.40.0/23 Ruter 1 Implicit Ruter 2 PrecizaŃi ce face ruterul atunci când primeşte pachete cu următoarele adrese: 135.46.63.10 135.46.52.2 192.53.40.7 192.53.56.7 6. ScrieŃi o funcŃie pentru retransmiterea pachetelor într-un ruter IP. Procedura are ca parametru o adresă IP. De asemenea are acces la o tabelă globală care conŃine un vector de 92

tripleŃi: adresa IP, masca de subreŃea şi linia de ieşire. FuncŃia caută adresa IP în tabelă şi întoarce linia de ieşire. 7. ArătaŃi prin exemple cum poate fi reprezentată o adresă IPv6: - în format hexazecimal - în formă concisă când are mai multe grupuri de 0-uri - când conŃine o adresă Ipv4 încorporată 8.

DeduceŃi reprezentarea hexazecimală a următoarelor adrese multicast link locale: - un grup de 67 adrese multicast atribuite permanent - un grup de 317 adrese multicast tranzitorii R. Formatul de adresă multicast este următorul: 8 11111111

4

4

000T

Scop

104

8

Grup de adrese

Primii 8 biŃi de 1 arată o adresă multicast T= 0 atribuit permanent T= 1 tranzitoriu Scop = 1 (hex) în nod = 2 link local = 5 site local = 8 organizaŃional local

Primii 16 biŃi sunt: FF02 pentru legături locale atribuite permanent FF12 pentru legături locale atribuite temporar Adresa grupului multicast se află în ultimii 112 biŃi. Prin urmare: - grupul de adrese multicast permanent atribuite unui link local este: FF02 :: 0043 - grupul de adrese multicast temporar atribuite unui link local este: FF02 :: 013D deoarece 67 în hexa este 0043, iar 317 este 013D

9. PrecizaŃi care este adresa de reŃea (net ID) pentru următoarele adrese IP, persupunând adresarea bazată pe clase. a) 13.0.0.15, b) 132.128.0.148, c) 220.0.0.0, d) 128.0.0.0, e) 224.0.0.1 10. Se consideră următoarea adresă Ipv6: 2023:0000:0000:09C1:4322:AA43:0000:34Fa/64 să se identifice (scrie) adresa de subreŃea şi adresa de interfaŃă a) să se scrie într-o formă restrînsă dar corectă această adresă b) 10.

Să se scrie adresa IPv4 193.15.64.1 în format IPv6

93

Proiect Să se proiecteze o reŃea de campus care să îndeplinească următoarele cerinŃe: a) va conŃine trei subreŃele cu câte 12, 16 şi 20 de calculatoare interconectate b) arhitectura de reŃea va fi de tipul client server c) va asigura servicii de partajere fişiere, poştă electronică, navigare pe Internet, tipărire d) servicii de securitate minimă ca autentificare clienŃi, firewall, Proiectul va conŃine: • stabilirea necesarului de echipamente • proiectarea structurată a reŃelei • stabilirea schemei de adresare • necesarul de software de reŃea şi de client

Temă de casă DescrieŃi funcŃia de asigurare a calităŃii serviciilor realizată de protocolul IPv6. Recomandare: se poate folosi RFC 2474

94

Tema 5. NIVELUL TRANSPORT Tema descrie funcŃiile pe care nivelul transport le îndeplineşte într-o reŃea de calculatoare. Sunt evidenŃiate calitatea serviciilor realizate la nivel transport şi primitivele pe baza cărora se pot realiza aceste servicii. O atenŃie cuvenită se acordă adresării la nivel transport, ceea ce permite multiplexarea şi recunoaşterea individuală a aplicaŃiilor care pot rula simultan pe aceeaşi staŃie de lucru sau pe staŃii diferite. De asemenea se detaliază algoritmii de stabilire a conexiunilor la acest nive. Apoi se prezintă cele două protocoale de bază de nivel transport (TCP şi UDP) care împreună cu protocolul IP stau la baza funcŃionării actuale a Internetului. După parcurgerea şi însuşirea acestei teme, studentul va cunoaşte: • Cum se se realizează comunicaŃia la nivel transport între două entităŃi pereche ca utilizatori finali, inclusiv fragmentarea şi reasamblarea mesajelor • Legătura cu protocoalele de pe nivelele adiacente • Ce sunt adresele de transport, cum se identifică aplicaŃiile individuale şi cum se face multiplexarea în jos • FuncŃionarea protocoalelor UDP şi TCP şi formatul datagramelor corespunzătoare • Programarea de aplicaŃii cu socluri în Java Orele de laborator urmăresc dezvoltarea de aplicaŃii de comunicaŃie la nivel transport folosind programarea cu socluri în UNIX şi Java. StudenŃii vor realiza ca temă de casă un program de comunicaŃie client server Timpul minim pe care trebuie să-l acordaŃi studierii acestui modul este de 6 ore.

Nivelul transport are rolul de a transporta datele de la maşina sursă la maşina desinaŃie într-o manieră sigură şi eficace din punct de vedere al costurilor, independent de reŃeaua sau de reŃelele fizice folosite. La acest nivel serviciile pot fi orientate pe conexiune, cazul cel mai uzual, sau neorientate pe conexiune. Bazându-se pe serviciile furnizate de nivelul reŃea, nivelul transport furnizează nivelului aplicaŃie o legătură sigură cap la cap şi intervine mai ales atunci când transferul de date la nivel reŃea întâmpină dificultăŃi: cad rutere, apar congestii, se pierd frecvent pachete, apar întârzieri mari etc.

5.1 Calitatea serviciilor (QoS) la nivel transport Calitatea serviciilor asigurate de nivelul transport se poate aprecia printr-un număr de parametrii de calitate ale căror valori se precizează sau se negociază în faza de stabilire a conexiunii 111

la nivel transport. Numărul parametrilor QoS poate fi mare, dar furnizorii de reŃele garantează în general un număr mic. Exemple de astfel de parametrii QoS sunt: •

Întârzierea la stabilirea legăturii se referă la timpul scurs între momentul lansării unei cereri de stabilire a conexiunii la nivel transport şi primirea confirmării de realizare a acesteia;



Probabilitatea de insucces la stabilirea conexiunii corelată şi cu un interval maxim de timp convenit;



Rata de transfer precizată sub forma numărului de octeŃi sau de biŃi de date utilizator transferate în unitatea de timp. Ea se precizează pentru ambele sensuri de transmisie şi este legată de anumite cerinŃe de transfer, cum ar fi: rată constantă (CBR – constant bit rate), rată de transfer variabilă (VBR - variable bit rate), rată disponibilă (ABR –avalable bit rate) etc.;



Întârziereatransmiterii datelor reprezentând timpul scurs din momentul emiterii unui mesaj de către maşina sursă şi până în momentul recepŃionării lui de către maşina destinaŃie;



Rata reziduală a erorilor reprezentă procentul de pachete, mesaje sau date pierdute sau transmise incorect, erori care nu sunt corectate în niciun fel.



Prioritarea în stabilirea de conexiuni, de transfer a datelor, de restabilire a defectelor de reŃea etc.;



ProtecŃia datelor împotriva accesului neautorizat, pierderii, deteriorării, etc şi în general gradul de implementare a serviciilor de securitate până la nivelul transport;



RezilienŃa reprezentând probabilitatea ca nivelul transport să închidă brusc o conexiune datorită unor probleme interne.



Transferul de date în timp real reprezintă capabilitatea reŃelei de a transfera datele pe măsură ce ele se produc, fără întârzieri variabile în nodurile reŃelei. Acest parametru este foarte important în aplicaŃiile de transfer de date în timp real, cum ar fi reŃelele vocale, videoconferinŃă etc.



CBR (transfer de date cu rată constantă) arată capabilitatea unui canal de comunicaŃie de a transfera datele cu o rată constantă garantată;



VBR (transfer de date cu rată variabilă) arată capabilitatea unui canal de comunicaŃie de a asigura rate de transfer variabile în funcŃie de disponibilităŃile de moment ale reŃelei.

Nivelul transport face posibil ca serviciile de transfer de date să fie mai sigure decât cele de nivel reŃea. Datele pierdute sau recepŃionate incorect pot fi detectate şi corectate de către nivelul transport.

5.2 Primitivele de bază ale serviciului transport În funcŃie de complexitatea sa şi de serviciile pe care poate să le asigure nivelului superior (în special nivelului aplicaŃie), nivelul transport poate fi mai simplu sau mai complex. În cazul cel mai 112

simplu, un serviciu de transport trebuie să permită stabilirea conexiunii între punctele finale ale aplicaŃiei, transferul datelor şi desfacerea conexiunii. În acest scop se pot folosi 5 primitive (acŃiuni) simple de genul celor specificate mai jos.

Tabelul 5.1 Primitiva LISTEN CONNECT SEND RECEIVE DISCONNECT

PDU transmis Connection REQ Date Disconnection REQ

ExplicaŃii Se blochează în aşteptarea unei cereri de conectare Cerere de stabilire conexiune Transmitere informaŃie utilizator Se blochează până la primirea datelor Cerere de desfacere a conexiunii (oricare parte)

Orice mesaj schimbat între două entităŃi corespondente la nivel transport se numeşte generic TPDU -Transport Protocol Data Unit (unitate de date protocol de nivel transport). El conŃine informaŃia utilă (a unui proces, primitivă etc.) şi un antet de nivel transport. Mesajul astfel împachetat, este plasat nvelului inferior, reŃea, care îi adaugă antetul de reŃea şi îl trimite mai jos la nivel legătură de date unde este plasat în cadre spre a fi livrat mediului fizic. Într-un exemplu simplu de conexiune la nivel transport între un client şi un server aflat la distanŃă, cele 5 primitive de mai sus sunt folosite după cum urmează. În repaus serverul execută primitiva LISTEN care îl Ńine blocat în aşteptarea unei cereri de conexiune. Când un client doreşte să se conecteze la server, el execută primitiva CONNECT care, apelând la o funcŃie de bibliotecă trimite o cerere de conectare (TPDU de tipul Connection REQ) spre server. În acelaşi timp blochează apelatorul pentru a nu executa alte acŃiuni până ce nu a primit un răspuns. Când soseşte apelul la server, entitatea transport (softul de nivel transport) de pe server verifică dacă serverul este blocat în LISTEN (deci dacă aşteaptă o cerere de conexiune). Dacă da, îl deblochează şi trimite înapoi clientului un TDPU de tipul Connectoin Accepted. Când aceasta ajunge la client îl deblochează şi conexiunea este stabilită. Acum poate începe schimbul de date folosind primitivele SEND şi RECEIVE. Cea mai simplă posibilitate este ca una din părŃi să execute RECEIVE aşteptând date de la cealaltă, iar aceasta să execute SEND (să trimită date). Sosirea pachetului de date deblochează receptorul din starea RECEIVE, permite acestuia să prelucreze TDPU-ul recepŃionat şi să trimită înapoi şi un răspuns. Totul merge bine dacă fiecare parte ştie cine trimite şi cine ascultă pe rând. Când se doreşte încheierea conexiunii, una dintre părŃi trimite un TDPU de tipul Disconnectoin REQ care declanşează procedura de încheiere.

5.3 Adresarea la nivel transport Adresa de transport este folosită pentru a defini o conexiune între două entităŃi corespondente finale pe care rulează o aplicaŃie, un proces. Conexiunea la acest nivel trebuie să precizeze atât maşina pe care rulează aplicaŃia, cât si aplicaŃia propriu-zisă. Prin urmare, adresele de nivel transport sunt necesare pentru a identifica procesele care comunică simultan şi trimit date pe nivelurile inferioare pentru a fi împachetate succesiv şi transferate mediului fizic. De exemplu, pe un calculator gazdă pot rula simultan mai multe aplicaŃii de tipul transfer de fişiere, poştă electronică, navigare pe Internet, transmisii de voce etc. Toate aceste date ajung într-o formă multiplexată pe acelaşi mediu fizic, linia de comunicaŃie la care este conectată gazda. La celălalt capăt, aplicaŃiile pot rula pe 113

servere sau pe gazde diferite. Identificarea aplicaŃiilor se face la nivel transport prin adrese speciale care, în cazul protocolului TCP au lungimea de 16 biŃi (în total 65 535 puncte finale posibile). Un punct final al unei conexiuni la nivel transport trebuie însă legat şi de o maşină (gazdă) anume, adică este nevoie şi de o adresă de reŃea. În Internet, asocierea dintre o adresă de reŃea (adresă IP) şi o adresă de transport (adresă TCP) formează ceea ce se numeşte socket (soclu). Gazda 1

Gazda 2

TSAP x

TSAP y

Aplic.

FTP

Trans.

NSAP

E-MAIL

Porturi

NSAP

ReŃea ReŃea

HTTP

ReŃea

LD Fizic PDU

Fig. 5.1 Puncte de acces la servicii la nivel reŃea şi transport Stabilirea conexiunilor la nivel transport folosind soclurile TCP necesită un set de primitive specifice prin care: - se crează socluri, -

se ascultă cererile ce pot apărea (se urmăreşte activitatea lor),

-

se ataşează fluxuri de date,

-

se transmit sau se recepŃionează date,

-

se acceptă sau se refuză deschiderea unei conexiuni,

-

se validează sau se blochează activitatea pe un soclu etc. Tabelul 5.2 Primitive de soclu

Primitiva socket ( )

Parametrii

Valoarea întoarsă FuncŃia

service type, protocol address format

bind ( )

host IP address + port number

listen ( )

socket descriptor, maximum queue length socket descriptor, socket address

socket descriptor or Ataşează o adresă locală error code la un soclu success or error code Crează un nou punct de capăt al comunicaŃiei success or error code AnunŃă disponibilitatea de a accepta conexiuni success or error code Blochează apelantul până la sosirea unei noi cereri

accept ( ) connect ( )

socket descriptor, local port number, destination port number, destination IP address, precedence, optional data (for example a user name and a

Procedura de stabilire a success or error code conexiunii

114

send ( )

receive ( ) close ( ) shutdown()

password) socket descriptor, pointer to message buffer containing the data tosend, data length (in bytes), push flag, urgent flag, socket descriptor, pointer to a message buffer into which the data should be put, length of the buffer socket descriptor socket descriptor

success or error code Trimiterea datelor prin conexiunea stabilită success or end of file RecepŃia datelor prin (EOF) or error code conexiune success or error code Închiderea soclului success or error code Eliberarea conexiunii

5.3.1.Stabilirea conexiunii Protocoalele de nivel transport sunt, în general, orientate pe conexiune. La prima vedere, stabilirea unei conexiuni pare o chestiune simplă, realizabilă doar prin 2 primitive: Connection Request şi Connection Accepted. Problema se complică atunci când reŃeaua pierde pachete, când apare congestia, când are loc multiplicarea pachetelor în reŃea etc. Gazda destinaŃie trebuie să poată sesiza şi rezolva asemenea anomalii şi să refuze duplicarea unei conexiuni. Pentru aceasta se pot folosi mai multe reguli: contor de timp, contor de duplicare, număr de secvenŃă etc. Analiza acestor reguli a condus la concluzia că cel mai potrivit este algoritmul de stabilire a conexiunii în 3 paşi. Acest protocol nu necesită ca ambele părŃi să înceapă să transmită cu acelaşi număr de secvenŃă. Gazda 1 alege un număr de secvenŃă x pe care îl transmite gazdei 2 în pachetul connection request. Gazda 2 răspunde cu connection accepted, confirmă numărul de secvenŃă x şi transmite şi numărul propriu de secvenŃă y. Gazda 1 va confirma recepŃia numărului de secvenŃă y în primul pachet de date trimis spre gazda 2. Dacă în timp va sosi la gazda 2 un pachet duplicat de la o cerere de conexiune mai veche, gazda 1 nu va şti în primul moment despre acest lucru. Gazda 2 îi va trimite confirmarea cererii că 1 a încercat să stabilească o conexiune, iar aceasta din urmă ştiind că nu a făcut o asemenea cerere, o va refuza. Cele două scenarii posibile descrise anterior se pot vedea în fig. 5.2. Gazda 1

Gazda 1

Gazda 2

Gazda 2

Duplicat vechi CR (seq=x)

CR (seq=x)

Timp

ACK (seq=y, ACK=x)

ACK (seq=y, ACK=x)

REJECT (seq=y, ACK=x)

DATA (seq=y, ACK=x)

a)

b)

Fig. 5.2 Algoritmul stabilirii conexiunii în 3 paşi a) cazul normal b) cazul cu pachete duplicate Folosirea adreselor de nivel transport este utilă şi pentru multiplexarea la acest nivel. S-a precizat mai înainte că pe aceeaşi gazdă pot rula la un moment dat mai multe aplicaŃii (procese 115

utilizator) care sunt trimise în jos, la o singură adresă de reŃea şi apoi spre nivelul fizic pentru a fi puse în canalul de comunicaŃie. În reŃeaua de comunicaŃie ele pot urma aceeaşi cale sau pot avea căi diferite, după cum au aceeaşi destinaŃie sau nu. Se spune s-a făcut o multiplexare în sus şi ea are loc la nivelul transport. Problema se poate pune şi în alt mod. O aplicaŃie stabileşte o conexiune la nivel transport şi solicită o anumită rată de transfer. Se poate constata că o asemenea rată este insuficientă pentru aplicaŃie şi atunci se mai cere deschiderea unei alte conexiuni pentru acceaşi aplicaŃie. Se spune atunci că s-a făcut o multiplexare în jos pentru a oferi bandă suficientă transferului de date. În concluzie, un protocol de transport trebuie să asigure, în principiu, următoarele servicii: •

Stabilirea şi desfacerea conexiunilor;



Adresarea;



Multiplexarea;



Controlul fluxului;



Tratarea erorilor cap la cap;



Refacerea după cădere a unei conexiuni

5.3.2 Un protocol de transport simplu Cel mai simplu protocol de transport orientat pe conexiune se poate implementa folosind cele 5 primitive de transport descrise mai înainte. Aceste primitive sunt utilizate de nivelul transport pentru a trimite şi recepŃiona TPDU-uri. În general, entitatea transport poate să fie o parte a sistemului de operare a calculatorului gazdă, sau poate fi un pachet de funcŃii de bibliotecă rezidente în spaŃiul de adrese utilizator. În acest ultim caz, fiecare primitivă corespunde unei funcŃii de bibliotecă care execută un mic program. Fiecare funcŃie trebuie apelată cu parametrii corespunzători şi execuŃia ei întoarce un rezultat care poate fi un număr de conexiune, o stare etc. Parametrii funcŃiilor de bibliotecă şi rezultatele întoarse sunt descrise în continuare. id_conex=LISTEN(local) id_conex =CONNECT(local,remote) stare=SEND(connum,buffer,bytes) stare=RECEIVE(connum,buffer,bytes) stare=DISCONNECT(connum) Primitiva LISTEN arată disponibilitatea serverului de a accepta cereri de conexiune la nivel transport. Utilizatorul primitivei este blocat până când se face o încercare de conectare la TSAP-ul specificat prin parametrul local. Primitiva CONNECT are 2 parametrii, un TSAP local şi un TSAP aflat la distanŃă, adică 2 adrese de nivel transport. Dacă reuşeşte, ea întoarce id_conex, un număr nenegativ, folosit pentru a identifica conexiunea creată. Dacă nu reuşeşte, ea întoarce un număr negativ pus în id_conex prin care se poate descrie şi motivul eşecului (conexiune deja existentă, adresă locală incorectă, adresă îndepărtată inexistentă etc.). Primitiva SEND trimite conŃinutul unui buffer specificat prin parametru ca mesaj pe conexiunea indicată de id_conex, eventual divizat în mai multe unităŃi (bytes). Erorile posibile sunt 116

întoarse în stare şi ar putea fi: nu există conexiune, adresă de buffer incorectă, număr de bytes negativ etc. Primitiva RECEIVE indică faptul că apelantul este în aşteptarea recepŃiei datelor pe conexiunea indicată de id_conex, de la zona de memorie specificată de buffer, de lungime precizată prin parametrul bytes. În caz de eroare, rutina (funcŃia de bibliotecă) întoarce în stare un număr negativ care codifică tipul de eroare apărută. Primitiva DISCONNECT pune capăt conexiunii specificată prin parametrul id_conex. În caz de succes întoarce 0 în variabila stare, altfel întoarce un număr negativ care codifică cauza insuccesului. InterfaŃa cu nivelul reŃea se face prin intermediul unor proceduri de tipul to_net şi from_net, fiecare având un număr de parametrii. Prima este folosită pentru a plasa TPDU-urile în jos spre nivelul reŃea unde vor fi împachetete corespunzător, iar a doua este folosită pentru a extrage pachete de pe nivelul reŃea pentru a fi prelucrate de nivelul transport. SemnificaŃia parametrilor procedurilor este următoarea: - identificatorul conexiunii id_conex, în corespondenŃă biunivocă cu circuitul virtual de la nivelul reŃea. - tipul de mesaj - tipul de pachet (specificat în Tabelul 5.3) - dacă mesajul continuă şi în pachetul următor etc. Tabelul 5.3 Tip de pachet Call Request Call Accepted Clear Request Clear Confirmation Data Credit

SemnificaŃia Pentru stabilirea conexiunii Răspuns la Call Request Pentru eliberarea conexiunii Răspuns la Clear Request Pentru transport date Pachet de control pentru gestionarea ferestrei

Un program în cod sursă scris în limbaj C++ pentru un protocol simplu de nivel transport este prezentat în [Tan].

5.4 Protocolul UDP (User Datagrame Protocol) Acesta este un protocol simplu, neorientat pe conexiune, folosit pentru transmiterea rapidă de datagrame peste protocolul de reŃea din Internet (IP). Este descris în RFC 768. O datagramă UDP are un antet de 8 octeŃi şi informaŃie utilizator. BiŃi 1

15 16

Port sursă Lungime UDP

32

Port destinaŃie Sumă de control UDP

Fig. 5.3 Antetul UDP

117

Cele două porturi (Port sursă şi Port destinaŃie) servesc pentru identificarea punctelor terminale sursă şi destinaŃie. Fără aceste câmpuri, protocolul de transport nu ar şti ce să facă cu pachetele recepŃionate. Portul sursă este folosit de destinaŃie atunci când trebuie să dea un răspuns sursei. ConŃinutul său este copiat în spaŃiul portului destinaŃie din pachetul de răspuns. Câmpul Lungime UDP include antetul şi datele. Câmpul Sumă de control este opŃional. UDP este un protocol simplu, cu puŃine facilităŃi. Nu realizează controlul fluxului, al erorilor, nu retransmite datagrame pierdute etc. El pur şi simplu oferă IP-ului un mijloc de multiplexare a proceselor (aplicaŃiilor) folosind porturile de nivel transport. Este utilizat în transferurile scurte de date, gen întrebare – răspuns în aplicaŃiile client - server. Un client trimite o cerere scurtă spre server şi aşteaptă un răspuns scurt. Dacă acesta nu vine într-un timp aşteptat, atunci repetă cererea. Un exemplu tipic de utilizare este între un client şi serverul DNS (Domain Name System) pentru aflarea adresei IP corespunzătoare unui nume de gazdă, de exemplu www.titu_maiorescu.ro. Nu este nevoie de deschiderea unei conexiuni, nici de închidere, pentru un transfer a două mesaje scurte care traversează reŃeaua. Procedura de aflare a adresei IP a unui calculator gazdă, get_IP_address(host_name), funcŃionează prin transmiterea unui pachet UDP spre serverul DNS şi aşteptarea răspunsului. Un alt caz în care UDP este mult folosit este cel al aplicaŃiilor multimedia în timp real (voce, video –conferinŃă, radio etc.). În acest scop s-a elaborat un protocol de transfer în timp real (RTP – Real-Time Transport Protocol), definit în RFC 1889. El este plasat deasupra UDP (în spaŃiul utilizator). AplicaŃiile multimedia sunt trimise protocolului RTP. Aceasta le multiplexează, le codifică în pachete UDP şi le trimite printr-un soclu nivelelor inferioare (reŃea, LD, fizic). RTP arată ca un protocol de aplicaŃie rulând în spaŃiul utilizator, dar de fapt furnizează facilităŃi de transport. FuncŃia sa principală este de multiplexare a mai multor fluxuri de date în timp real într-un flux de pachete UDP. Acesta poate fi transmis către o singură destinaŃie (unicast) sau spre mai multe desinaŃii (multicast). SpaŃiu utilizator

AplicaŃie multimedia

Antet Antet Ethernet IP

Antet UDP

Antet RTP

RTP InterfaŃa de soclu UDP IP Ethernet

SpaŃiu Sistemului de operare

a)

InformaŃie utilă RTP

InformaŃie utilă UDP InformaŃie utilă IP

b)

Fig. 5.4 a) Stiva de protocoale Ethernet/IP/UDP/RTP

b) încapsularea

Fiecărui pachet RTP i se dă un număr de ordine pe baza căruia destinatarul poate face cel mult o aproximare prin interpolare în caz de pierdere de pachete, retransmisia nefiind o soluŃie practică. În consecinŃă, RTP nu are mecanisme de confirmare sau retransmisie. Totuşi în unele cazuri în care apar eşecuri repetate ale transmisiei şi creşte numărul de pachete eronate, RTP poate apela un alt protocol de control al transportului în timp real (RTCP – Real time Transport Control Protocol). Acesta nu transportă date utilizator, dar poate fi folosit pentru reducerea debitului la emisie, cerere suplimentară de bandă, semnalarea congestiei etc. 118

Antetul RTP conŃine 3 cuvinte de 32 biŃi şi eventual extensii. BiŃi

1 2

3 4

Ver P X

8 9

CC

16

M Tip informaŃie utilă

24

32

Număr de secvenŃă

Amprenta de timp Identificatorul sursei de sincronizare

Identificatorul sursei care contribuie

Fig. 5.5 Antetul RTP Ver(siune) arată versiunea RTP, în prezent fiind 2. P arată că pachetul este multiplu de 4 octeŃi. X arată antet extins. CC arată câte surse contribuabile sunt prezente (maxim 15). M bit de marcare specific aplicaŃiei (de exemplu începutul unui cadru video).. Tip informaŃie utilă arată ce algoritm de codare a fost utilizat (8 biŃi audio necomprimat, MP3, etc.). Număr de secvenŃă este un contor incrementat cu fiecare pachet RTP Amprenta de timp este stabilită de sursa fluxului pentru a şti când a fost făcut primul pachet. Identificatorul sursei de sincronizare spune cărui flux îi aparŃine pachetul.Este folosit pentru multiplexarea/demultiplexarea mai multor fluxuri de date într-un singur flux de pachete. Identificatorul sursei care contribuie este folosit atunci când se mixează mai multe surse audio.

5.5 TCP (Transmission Control Protocol) TCP este protocolul principal care permite transportul sigur al datelor de la un capăt la altul al unei conexiuni într-o reŃea mare şi nesigură, formată din mai multe reŃele. A fost proiectat special pentru Internet şi este larg folosit în acest scop. O inter-reŃea este, în general, o colecŃie de diferite reŃele interconectate, care diferă între ele prin multe aspecte: topologie, lărgime de bandă, dimensiunea pachetelor, întîrzieri, protocoale la nivel reŃea şi mai jos etc. TCP a fost definit oficial în RFC 793, dar a fost îmbunătăŃit şi actualizat prin mai multe recomandări (RFC 1122, RFC 1323). Fiecare maşină care suportă TCP dispune de o entitate de transport TCP (modul software) fie ca proces utilizator, fie ca procedură de bibliotecă, fie ca parte a nucleului sistemului de operare. Entitatea TCP acceptă blocuri compacte de date utilizator de la procesele locale pe care le împarte în fragmente ce nu depăşesc 64 K octeŃi (de regulă 1460 de octeŃi pentru a încăpea într-un singur cadru Ethernet împreună cu antetele TCP şi IP) şi expediază fiecare fragment ca o datagramă IP separată. Când datagramele conŃinând informaŃie TCP sosesc la destinaŃie, entitatea TCP de pe maşina respectivă reconstruieşte fluxul original de date utilizator şi îl livrează aplicaŃiei de la care provine. Deoarece protocolul IP peste care rulează de regulă TCP, nu oferă nici o garanŃie că datagramele vor fi livrate corect (ca erori, ordine, sau chiar pierdere), TCP are sarcina de a verifica corectitudinea livrării şi poate decide retransmisia la nevoie. Pe scurt, TCP-ul oferă fiabilitatea pe care toŃi utilizatorii o doresc şi pe care IP-ul nu o asigură.

119

5.5.1 Adresele TCP TCP este un protocol (serviciu) orientat pe conexiune care asociază nişte puncte finale numite socluri (sockets) aflate pe maşini corespondente. Fiecare soclu are un număr de soclu (adresă TCP) compusă din adresa IP a maşinii gazdă şi un număr local de 16 biŃi numit port. Pentru a obŃine o conexiune TCP trebuie stabilită explicit o conexiune între un soclu de pe o maşină sursă şi un soclu de pe o maşină destinaŃie. Conexiunea este definită prin soclurile celor două capete. Numărul de porturi care se pot folosi este 216=65 536. Dintre acestea, cele mai mici de 265 se numesc porturi general cunoscute şi sunt rezervate serviciilor standard. Câteva porturi rezervate sunt date în Tabelul 5.4. Porturile nerezervate se pot atribui după bunul plac al utilizatorilor. Tabelul 5.4 CâtevapPorturi rezervate Port Protocol Descriere Transfer de fişiere FTP 21 Conectare la distanŃă Telnet 23 E-mail SMTP 25 Portocol simplu de transfer de fişier TFTP 69 Căutare informaŃii despre utilizator Finger 79 World wide web HTTP 80 Acces prin e-mail la distanŃă POP-3NNTP 110 Ştiri USENET 119 Toate conexiunile sunt full duplex şi punct la punct. TCP nu suportă difuzarea parŃială sau totală. O conexiune TCP este un flux de octeŃi şi nu un flux de mesaje. Dimensiunile mesajelor nu se conservă de la un capăt la altul. De exemplu, entitatea TCP emiŃătoare citeşte blocuri de câte 512 octeŃi pentru a fi trimise destinatarului. Transmiterea se poate face bloc cu bloc, sau concatenat ca 2 blocuri de câte 1024 octeŃi sau un bloc de 2048 octeŃi. Când o aplicaŃie trimite date spre TCP pentru transfer, ele pot fi transferate imediat, sau pot fi stocate într-un buffer pentru a colecta o cantitate mai mare. TCP are şi posibilitatea de a transmite date în regim de urgenŃă prin întreruperea unui proces în derulare şi livrarea imediată a datelor acumulate. O caracteristică importantă a TCP este că fiecare segment TCP are un număr propriu de secvenŃă de 32 de biŃi. Acesta este folosit atât pentru secvenŃiere (refacerea mesajului prin aşezarea segmentelor în ordine firească) cât şi pentru confirmarea segmetelor recepŃionate. O datagramă TCP conŃine antetul format dintr-o parte fixă de 20 de octeŃi şi o parte opŃională de unu sau mai multe cuvinte de 32 de biŃi, plus încărcătura cu date utilizator (payload) de lungime opŃională (inclusiv zero). Entitatea TCP este cea care decide cât de mare este încărcătura. Ea poate acumula într-un singur segment informaŃie provnită de la mai multe scrieri (blocuri de date), sau poate fragmenta informaŃia provenită de la o singură scriere în mai multe fragmente. Există două limite care restricŃionează dimensiunea unei datagrame. În primul rând aceasta inclusiv antetul trebuie să încapă în dimensiunea maximă de 65 535 octeŃi de informaŃie utilă admisă de IP. În al doilea rând fiecare reŃea are o unitate maximă de transfer (MTU - maximum transfer unit) în care trebuie să încapă segmentul. De regulă, MTU este 1500 octeŃi dată de reŃeaua Ethernet. Protocolul TCP este un protocol sigur, cu confirmare. Atunci când un transmiŃător emite o datagramă, el porneşte un cronometru. Când aceasta ajunge la destinaŃie, entitatea TCP receptoare trimite înapoi într-o datagramă cu informaŃie utilă (dacă aceasta există, sau fără în caz contrar) şi 120

numărul de secvenŃă următor pe care îl aşteaptă, ceea ce constituie confirmarea recepŃiei corecte. Dacă transmiŃătorul nu primeşte această confirmare într-un timp prestabilit, retransmite segmentul neconfirmat. Timpul prestabilit pentru confirmarea datagramelor sau retransmiterea lor în caz de neconfirmare, se poate modifica în funcŃie de calitatea reŃelei de transmisie, pe baza unui protocol cu fereastră glisantă (foloseşte în acest scop câmpul Dimensiune ferestră din antetul TCP). Antetul datagramei TCP este prezentat în fig 5.6. Câmpurile Port sursă şi Port destinaŃie identifică punctele finale ale conexiunii şi constituie totodată un identificator al conexiunii. Câmpurile Număr de secvenŃă şi Număr de confirmare au semnificaŃia funcŃiilor de secvenŃiere şi confirmare descrise mai sus. Lungimea antetului TCP indică numărul de cuvinte de 32 de biŃi care sunt conŃinute în antetul TCP. Având 3 biŃi la dispoziŃie, rezultă că această lungime poate fi de maxim 8 cuvinte, adică spaŃiul opŃional poate avea cel mult 3 cuvinte de 32 biŃi. BiŃi

1 2

3 4

8 9

16

24

Port sursă

32

Port destinaŃie Număr de secvenŃă Număr de confirmare FIN

RST

SYN

PSH

NefolosiŃi

ACK

URG

Lung. antet TCP

Dimensiunea ferestrei

Suma de control

Indicator urgent

OpŃiuni (unul sau nai multe cuvinte de 32 de biŃi) Date

Fig. 5.6 Antetul TCP Bitul URG poziŃionat pe 1 arată că Indicatorul urgent este valid. Acest indicator este folosit pentru a arăta deplasarea în octeŃi faŃă de numărul curent în secvenŃă la care se află informaŃie urgentă. Această facilitate Ńine loc de mesaj de întrerupere. Bitul ACK pe 1 indică faptul că Numărul de confirmare este valid. Dacă este poziŃionat pe 0, segmentul în discuŃie nu conŃine o confirmare si câmpul Număr de confirmare este ignorat. Bitul PSH indică informaŃia forŃată, adică trebuie livrată aplicaŃiei îndată ce a fost recepŃionată, fără a mai fi memorată în buffere din raŃiuni de eficienŃă. Bitul RST este folosit pentru a desfiinŃa o conexiune care a devenit inutilizabilă din cauza unor defecŃiuni ale maşinilor gazdă sau din alte motive. Este de asemenea utilizat pentru a refuza deschiderea unei conexiuni iniŃiată de un segment invalid de call request. 121

Bitul SYN este folosit pentru stabilirea unei conexiuni. Cererea de conexiune conŃine SYN=1 şi ACK=0, iar răspunsul la o astfel de cerere este confirmată prin combinaŃia SYN=1 şi ACK=1. Bitul FIN este folosit pentru a încheia o conexiune. El arată că transmiŃătorul nu mai are informaŃii de transmis. Totuşi închiderea unei conexiuni este un proces lung, în care receptorul încă mai poate primi date întârziate din reŃea. De aceea, segmentele SYN şi FIN conŃin numere de secvenŃă pentru ca prelucrarea lor să se facă în ordinea firească. În TCP, fluxul de control este tratat prin ferestre glisante de dimensiune variabilă. Câmpul Dimensiune ferestră indică numărul de octeŃi care pot fi trimişi începând de la octetul confirmat. Câmpul Sumă de control conŃine suma de control calculată pentru antet, informaŃie utilă şi pseudo-antet. Pseudo-antetul conŃine adresele IP ale sursei şi detinaŃiei, numărul de protocol (pentru TCP este 6) şi câmpul lungime segment TCP. Câmpul OpŃiuni a fost introdus pentru a permite adăugarea unor facilităŃi suplimentare care nu au fost prevăzute în antetul obişnuit. Cea mai importantă opŃiune este aceea de a specifica încărcarea unei maşini cu informaŃie utilă TCP maximă pe care este dispusă să o accepte. Utilizarea unor segmente de date lungi este mai eficientă decât în cazul segmentelor scurte, mai ales în cazul unor maşini performante care pot procesa blocuri mari de date. În acest scop, la stabilirea conexiunii fiecare maşină anunŃă dimensiunea maximă acceptată şi aşteaptă de la parteneri să i se comunice acelaşi lucru. Dacă nici o maşină nu foloseşte această opŃiune, mărimea implicită a segmentului de date utilizator este 536 octeŃi, astfel încât 536+20 antet=556, lumgime minimă pe care trebuie să o accepte orice maşină din Internet. Nici dimensiunile prea mari ale segmentelor nu sunt întotdeauna eficiente. De exemplu transmiterea unui segment de date de 64 KocteŃi pe o linie E3 de 34 Mbps durează 15 ms. Dacă întîrzierea de propagare dus- întors este 50 ms, valoare tipică pentru o linie transcontinentală, atunci emiŃătorul aşteptând confirmări va fi inactiv 70% din timp. În cazul unei legături prin satelit geostaŃionar unde întârzierea de propagare este şi mai mare, eficienŃa transmisiei este şi mai mică. 5.5.3 Fragmentarea şi reasamblarea Fragmentarea şi reasamblarea se fac la nivelul transport şi reŃea, pentru a permite transferul fragmentelor de date de lungimi mari prin reŃele care nu suportă pachete de date cu lungimi mai mari decât o valoare dată, numită MTU (maximum transfer unit) şi care depinde de reŃea. Procesul de fragmentare şi reasamblare, precum şi controlul acestora prin câmpurile antetului TCP se pot analiza în fig. 5.7. Utilizatorul “Sursă” conectat într-o reŃea locală de tip Token Ring are de transmis un mesaj de 7000 octeŃi unui destinatar conectat într-o reŃea locală de tip Ethenet. Deoarece reŃeaua Token Ring nu suportă pachete mai lungi de 4000 de octeŃi (B), mesajul va trebui spart în două părŃi. Având în vedere că nivelul reŃea mai adaugă un antet de 20B, înseamnă că lungimea maximă a unui fragment ar putea fi 4000-20=3980B. În realitate toate fragmentele (mai puŃin ultimul) trebuie să fie multiplu de 8 octeŃi, deci practic primul fragment fa avea 3976B. Cel de al doilea fragment va fi de 3024B. Cele două pachete sunt trimise ca atare prin Internet până ajung la reŃeaua destinaŃie. Aceasta fiind de tip Ethenet, lungimea maximă a pachetelor este 1500B şi blocurile de date mai lungi vor trebui fragmentate corespunzător. Lungimea antetului fiind de 20B, fragmentele din reŃeaua Ethernet 122

vor avea 1480 K. Prin urmare, cele două fragmente, de 3976B şi 3024B, vor fi împărŃite în câte trei blocuri mai scurte, ca în fig.5.7. InformaŃiile privind lungimea totală a mesajului, poziŃia fragmentelor în mesajul iniŃial, dacă mai există sau nu fragmente etc. se scriu în antetul datagramelor IP. Pe baza lor se poate reconstitui mesajul iniŃial.

7000

Sursă

Destinatie

Aplic.

Aplic.

Trans.

Trans.

ReŃea

ReŃea s LD

LD 3024

7000

LD

LD

Fizic Fizic

Fizic

LAN Token ring: Identification Total length Fragment offset (User data) M-bit LAN Ethernet: (i) Identification 20 Total length 7000 Fragment offset 0 (User data) 1480 M-bit 1

LD

LD

Fizic Fizic

3976 LAN Token R.

ReŃea

ReŃea d

Fizic LAN Eth.

Internet (i) 20 7000 0 3976 1 (ii) 20 7000 185 1480 1

1480 1480 1016 1480 1480 64

(ii) 20 7000 497 3024 0 (iIi) 20 7000 370 1016 1

(iv)

(v) 20 7000 497 1480 1

(vi) 20 7000 682 1480 1

20 7000 867 64 0

Fig. 5.7 Fragmentarea şi reasamblarea datagramelor în TCP-IP

5.6 TCP şi UDP în conexiuni fără fir În principiu, protocoalele de transport ar trebui să fie independente de stiva de protocoale peste care rulează, adică să meargă la fel de bine şi pe reŃele fir şi pe radio etc. În particular, aceste reŃele ar trebui să fie transparente pentru TCP/IP. Totuşi acest lucru este parŃial valabil. Protocoalele TCP/IP au fost gândite şi elaborate pentru canale pe fir, cu rate de eroare mici. Deşi ele pot rula şi pe canale radio, performanŃele lor sunt foarte modeste din cauza implementării algoritmului de control al congestiei. Pierderea frecventă a pachetelor în reŃele fără fir necesită retransmiterea acestora, ceea ce duce la apariŃia congestiei. TCP utilizează mai multe contoare de timp pentru a gestiona problema congestiei. Unul dintre cele mai folosite este contorul de retransmisie care stabileşte timpul maxim în care un pachet trebuie confirmat. Altul este contorul de persistenŃă destinat prevenirii situaŃiilor de interblocare prin sondarea periodică a timpului de livrare a pechetelor. El permite stabilirea dimensiunii ferestrei glisante de transmisie. Altul este contorul de menŃinere în viaŃă care verifică dacă o conexiune inactivă un timp mai este utilă, sau cealaltă parte a închis conexiunea. Atunci 123

când expiră un contor, TCP încetineşte ritmul şi trimite pachete scurte, cu confirmări dese. Mai mult chiar, reŃelele pot fi eterogene: o porŃiune cu fir, alta radio etc. Luarea unei decizii de depăşire de timp este dificilă în aceste cazuri. S-ar putea ca o reŃea WAN bazată pe TCP/IP să aibă doar un segment foarte scurt, la capăt, de tipul fără fir. O soluŃie aceptabilă în asemenea situaŃii este segmentarea unei conexiuni TCP printr-o reŃea eterogenă în mai multe conexiuni TCP pe zone de reŃea omogene. În aceast situaŃie, ratele de transmisie se pot regla independent. Deşi UDP-ul nu suferă de aceleaşi probleme ca TCP, comunicaŃia făra fir poate produce şi ea probleme în reŃelele bazate pe UDP. Protocoalele de nivel aplicaŃie care se bazează pe UDP se aşteaptă ca transmisia să fie foarte fiabilă. Cum reŃelele fără fir suferă mult la acest capitol, refacerea pachetelor pierdute des poate conduce la un dezastru în ceea ce priveşte performanŃele.

Concluzii Rolul principal al nivelului transport este de a livra fluxuri de octeŃi cap la cap, pe conexiuni sigure, într-un mod fiabil. El este pus în funcŃiune prin primitive de serviciu care permit stabilirea conexiunii, utilizarea ei şi desfacerea. Stabilirea unei conexiuni se face prin protocolul în trei paşi. Conexiunile sunt definite prin adresele de nivel transport, cele mai uzuale fiind soclurile Berkeley. O altă sarcină importantă a nivelului transport este controlul congestiei. Aceasta apare atunci când rata de succesiune a pachetelor în reŃea depăşeşte capacitatea de transport şi preluctare în noduri. Duplicarea pachetelor întîrziate complică stabilirea conexiunilor duce la autoînterŃinerea congestiei. Controlul congestiei se face prin reducerea ratei de transmisie sau a ferestrei de transport folosind contoare de timp şi mecanisme de confirmare. Internetul are 2 protocoale de transport principale: UDP şi TCP, ultimul fiind de departe şi cel mai folosit. TPDU-urile se numesc datagrame sau segmente şi au un antet fix de 20 de octeŃi pentru toate segmentele, şi o parte opŃională. Partea opŃională permite specificarea încărcării maxime cu informaŃie utilă a TPDU, pe care o aceptă fiecare maşină. Segmentele pot fi fragmentate în PDU-uri mai mici de către rutere (la nivel reŃea) dar trebuie reasamblate la recepŃie. Parametrii de performanŃă ai protocolului TCP depind de performanŃele maşinilor (viteză de prelucrare, dimensiunile bufferelor), de capacitatea canalelor de comunicaŃie şi de numărul de TPDU-uri existente în reŃea. TPDU-uri multe şi scurte determină timpi mari de prelucrare în noduri, micşorând capacitatea de transfer efectivă a reŃelei. ReŃelele de arie largă şi eterogene complică utilizarea TCP.

Întrebări 1. Care sunt locul şi rolul nivelului transport? 2. Ce se înŃelege prin calitatea serviciilor asigurate de reŃelele de calculatoare? DefiniŃi parametrii de calitate ai serviciilor. 3. Care sunt principalele servicii asigurate de nivelul transport? ExplicaŃi utilitatea lor. 4. Care este formatul adresei de nivel transport? 5. Ce este un punct de acces la servicii? Dar un port? Dar un soclu? 6. De ce este necesară combinarea unei adrese de reŃea cu un TSAP? 7. Care este rolul primitivelor de transport? ExemplificaŃi un mod de folosire a lor. 8. Ce se înŃelege prin multiplexarea aplicaŃiilor? 9. TDPU-urile încapsulează pachete sau invers? ArgumentaŃi. 124

10. Care sunt cele mai cunoscute porturi rezervate? În ce scop s-a făcut rezervarea? 11. De ce este necesar ca timpul maxim de viaŃă al unui pachet să acopere nu numai dispariŃia pachetului ci şi a confirmării sale? 12. Fragmentarea şi reasamblarea datagramelor sunt procese controlate de IP şi invizibile TCPului. TCP-ul mai are vreun rost în aceste procese? AveŃi în vedere posibilitatea soirii aleatoare a pachetelor. 13. ExplicaŃi de ce protocolul TCP este orientat pe conexiune deşi protocolul de sub el (IP) este neorientat pe conexiune, pachetele de nivel reŃea aparŃinând aceluiaşi mesaj fiind rutate independent unul de celălalt? 14. TCP este un protocol cu fereastră glisantă cu confirmare. PrecizaŃi mecanismul de confirmare. 15. De ce UDP, spre deosebire de TCP, este considerat neorientat pe conexiune? 16. Un proces de pe maşina 1 a fost asociat portului p şi un proces de pe maşina 2 a fost asociat portului q. Este posibil ca între cele două porturi să fie deschise mai multe conexiuni TCP simultane?

Teme de casă 1. 2. 3. 4.

Protocolul TCP: rol, funcŃionare, caracteristici, descriere antet TCP Protocolul UDP: rol, funcŃionare, caracteristici, descriere antet Protocolul de transport în timp real (RTP): rol, funcŃionare, caracteristici, descriere antet RTP Congestia în reŃele de calculatoare: definire, controlul congestiei, controlul traficului, formarea traficului, politici de trafic. 5. DescrieŃi procedura stabilirii unei conexiuni la nivel transport folosind primitive adecvate. 6. Programarea cu socluri în Java: elemente de bază, clase de obiecte, socluri, intrfeŃe, streamuri 7. Programarea cu socluri în UNIX 8. Comunicare la server orientată pe conexiune. AplicaŃie Java. 9. Comunicare la client orientată pe conexiune. AplicaŃie Java. 10. Comunicare fără conexiune. AplicaŃie Java. 11. Comunicare în grup (multicast). 12. Program client pentru TFTP. AplicaŃie în C. 13. Fluxuri pentru transferul obiectelor. Serializarea obiectelor 14. DescrieŃi un protocol de nivel transport ca un automat cu stări finite. FolosiŃi exemplul din cap. 6.3.3 prezentat în A. Tanenbaum – ReŃele de calculatoare, EdiŃia a 4-a. 15. DescrieŃi un protocol de apel la distanŃă (RPC) folosind exemplul din ca. 6.4.2, A. Tanenbaum – ReŃele de calculatoare, EdiŃia a 4-a. 16. DescrieŃi un protocol de transport în timp real (RTP) folosind exemplul din cap. 6.4.3, A. Tanenbaum – ReŃele de calculatoare, EdiŃia a 4-a. 17. DescrieŃi semnificaŃia câmpurilor din antetul datagramelor TCP. 18. DescrieŃi o procedură de control a congestiei folosită în cadrul protocolilui TCP. 19. DescrieŃi sintetic elementele de performanŃă ale unei reŃele de calculatoare legate de nivelul transport, apelând la cap. 6.6 din A. Tanenbaum – ReŃele de calculatoare, EdiŃia a 4-a. Obs. Pentru temele 6÷13 se recomandă lucrarea I. Jurcă- Programarea reŃelelor de calculatoare.

125

Probleme rezolvate 1. Să se stabilească o diagramă a protocolului TCP pentru transferul datelor la o aplicaŃie de tip client server. R. TCP este un protocol sigur deoarece confirmă (validează) cap la cap datagramele recepŃionate, folosind tehnica numărului de secvenŃă, într-un mod oarecum asemănător controlului fluxului de la nivelul legătură de date. Deoarece timpul de transfer dus întors la nivel transport în reŃele mari, cum ar fi Internetul, este mult mai mare decît în cazul confirmării pe un link, receptorul trebuie să anunŃe din timp mărimea ferestrei glisante în care aşteaptă numere de secvenŃă de la transmiŃător. Sunt de analizat cel puŃin două situaŃii: a) cazul datagramelor mici care nu depăşesc MTU (maxim transfer unit) şi b) cazul datagramelor mari. În cazul a) diagrama de transfer a datelor se poate figura ca în fig. ...a). O aplicaŃie tipică de acest fel este Telnet (accesul de la distanŃă al unui client la un sercer). Clientul aflat în faŃa unui calculator sau a unei console trimite comenzi la server tastând caractere. Fiecare caracter poate fi încapsulat într-o datagramă TCP cu flagul PSH setat şi transmisă aplicaŃiei server care îndată ce recepŃionează caracterul îl stochează pentru a compune tot mesajul, dar îl şi retrimite sub formă de ecou la client. Totodată trimite şi o datagramă ACK de confirmare. Asta înseamnă că la fiecare cacater transmis se generază 4 datagrame, două cu caracterul respectiv transmise în ambele sensuri şi alte două de confirmare, de asemenea în ambele sensuri. În practică, pentru a reduce numărul de datagrame trimise, entitatea TCP receptoare care primeşte o datagramă corectă, nu returnează imediat o datagramă ACK de confirmare. Ea aşteaptă un timp, să zicem 200ms, să vadă dacă nu au fost plasate date de transmis în bufferul local. Dacă da, confirmarea se face prin antetul acestei datagrame. Procedura se numeşte confirmare cu întârziere(fig .. b).

126

ISN initial sequence number PSH indicator de prioritate

Fig. Transferul datagramelor mici a) confirmare imediată b) confirmare cu întârziere c) algoritmul lui Nagle. Modurile de lucru descrise mai sus sunt aplicabile în reŃele TCP-IP mici, de nivelul unui LAN. În reŃele mari, unde întârzierea confirmării caracterelor poate deveni supărătoare, se foloseşte algoritmul lui Nagle (RFC 896), care acceptă întârzieri variabile de comnfirmare. În timp ce se aşteaptă confirmare unui caracter sau a unei datagrame mici, se pot transmite mai multe cacatere tastate de utilizator şi aflate în bufferul de transmisie. 2. Într-o reŃea dimensiunea maximă a TPDU este de 128 de octeŃi, durata maximă de viaŃă a unui TPDU este 30s iar numărul de secvenŃă se scrie pe 1 octet. Care este viteza maximă de transmitere în linie? R. Dacă numărul de secvenŃă este pe un octet, valoarea sa maximă este 255, adică se pot transmite 255 de TPDU a câte 128 octeŃi în 30sec. Vitaza maximă pe linie va fi: 255 × 128 × 8 = 8,704kbps 30

3. Să se stabilească o diagramă de stări pentru o schemă simplă de control al conexiunii. R. O diagramă de stări pentru stabilirea şi desfacerea conexiunii folosind cele 5 primitive simple este przentată în figura de mai jos. Fiecare tranziŃie este declanşată de un eveniment: fie este executată o primitivă de către utilizatorul local la nivel transport, fie este primit un pachet.

127

TPDU: Cerere de conectare

ExecuŃie: Conectare

Nefolosit Stabilire conexiune pasivă ExecuŃie: Conectare

Stabilire conexiune activă Conexiune stabilită

ExecuŃie: Deconectare

Deconectare pasivă

TPDU: Cerere de deconectare

ExecuŃie: Deconectare

TPDU: Conectare acceptată

Nefolosit

Deconectare activă

TPDU: Cerere de deconectare

SecvenŃa de stări a serverului SecvenŃa de stări a clientului

TranziŃiile notate cu italice sunt determinate de sosirea unor noi pachete

4. Se măsoară timpul necesar prelucrării unui TPDU într-un receptor şi se găsec valorile 0,5ms de 250000 de ori şi 1ms de 750000 de ori. Care este timpul mediu de recepŃie al unui TPDU? R. Va fi media ponderată a timpilor măsuraŃi ân cele un milion de determinări, adică: 0.5 × 250000 + 1 × 750000 Tm = = 875µs 1000000

4. DescrieŃi o aplicaŃie simplă de comunicaŃie client-server care foloseşte protocolul UDP. R. Protocolul UDP este un protocol simplu, neorientat pe conexiune, care permite crearea, transmisia şi recepŃia datagramelor între două socluri create pe maşini corespondente. Atât clientul cât şi serverul folosesc obiecte de tip Datagramsocket

Un server care foloseşte protocolul UDP trebuie: a) să creeze un obiect Datagramsocket asociat cu un număr de port specificat Exemplu: Datagramsocket socket =new Datagramsocket(8300); b) să creeze un obiect Datagrampacket utilizând constructorul pentru datagrame pentru recepŃia datelor Exemplu: byte[ ] buf=new byte[256] DatagramPacket mesaj=new DatagramPacket(buf,buf.length) c) Cu ajutorul metodei receive() a clasei Datagramsocket se salvează o datagramă în obiectul de tip Datagrampacket Exemplu: socket.receive(mesaj)

128

d) Se procesează cererea e) Se crează un obiect Datagrampacket utilizând constructorul pentru datagrame pentru transmisia datelor - se identifică adresa şi portul de unde vine cererea Exemplu: InetAddress adresa=mesaj.getAddress() Int port=mesaj.getport()

- se construieşte răspunsul Exemplu: byte[] buf2=new byte[256] Buf2 = (“….”).getBytes()

- se completează datagrama ce va fi trimisă Exemplu: Datagrampacket raspuns=new DatagramPacket(buf2,buf2.length, adresa,port) f) Cu ajutorul metodei send() a clasei Datagramsocket se trimite datagrama completată anterior Exemplu: socket.send(raspuns)

La partea client se pracurg aceleaşi etape, cu menŃiunea că mai îmtâi se trimite datagrama şi apoi se aşteaptă răspunsul serverului. a) Se crează un obiect Datagramsocket şi: - se specifică adresa IP şi portul pe care rulează serverul Exemplu: InetAddress adresa= InetAddress.getLocalHost().getHostName)=; Int port=8300

se instanŃiază clasa Datagramsocket Exemplu: Datagramsocket socket=new Datagramsocket() -

b) Se crează un obiect DatagramPacket utilizând constructorul pentru datad’grame pentru transmisia datelor - se construieşte răspunsul Exemplu: : byte[] buf2=new byte[256] Buf2 = (“….”).getBytes()

c) se completează datagrama ce va fi trimisă Exemplu: Datagrampacket mesaj=new DatagramPacket(buf2,buf2.length, adresa,port) d) cu ajutorul metodei send() a clasei Datagramsocket se trimite datagrama completată

anterior Exemplu: socket.send(mesaj) e) se aşteaptă rpspunsul serverului f) Se crează un obiect Datagrampacket utilizând constructorul pentru datagrame pentru recepŃia datelor Exemplu: byte[ ] buf=new byte[256] DatagramPacket raspuns=new DatagramPacket(buf,buf.length)

129

g) Cu ajutorul metodei receiv() a clasei Datagramsocket se salvează o datagrama în obiectul de tip DatagramPacket Exemplu: socket.receive(raspuns) În continuare se cere să se scrie secvenŃa de programe complete pentru server şi pentru client, folosind limbajul Java.

Probleme propuse 1. Să se scrie o aplicaŃie client server prin care clientul va cere timpul oficial iar serverul il va furniza. Se va folosi protocolul UDP. 2. RealizaŃi o aplicaŃie client server folosind protocolul UDP prin care clientul să afle adresa IP a sreverului. 3.

130

Tema 6. NIVELUL APLICAłIE Tema descrie funcŃionarea nivelului aplicaŃie, acel nivel accesat direct de utilizator, unde pot fi găsite toate aplicaŃiile de transmisii de date în reŃele de comunicaŃii şi calculatoare. Pentru o mai bună înŃelegere a modului cum rulează aplicaŃiile şi cum se accesează multitudinea de resurse din Internet, este mai întâi descris Sistemul Numelor de Domenii (DNS). În continuare sunt prezentate câteva aplicaŃii larg folosite de utilizatori: poşta electronică, navigarea pe Internet şi aplicaŃiile multimedia. După parcurgerea şi însuşirea acestei teme, studentul va cunoaşte: • Cum se se realizează aplicaŃiile uzuale accesibile utilizatorilor reŃelelor de calculatoare • Ce este, cum funcŃionează şi cum se foloseşte DNS • Care sunt principalele protocoale de nivel aplicaŃie • Cum funcŃionează în Internet câteva aplicaŃii uzuale (poşta electronică, navigarea pe Internet, transferul de date multimedia) Orele de laborator urmăresc exemplificarea şi explicarea funcŃionării aplicaŃiilor descrise mai sus. StudenŃii vor realiza o temă de casă care să ilustreze descrierea unei aplicaŃii de reŃea. Timpul minim pe care trebuie să-l acordaŃi acestui modul este de 6 ore.

Nivelul aplicaŃie

este acel nivel accesat direct de utilizator, unde pot fi găsite toate aplicaŃiile de transmisii de date în reŃele de comunicaŃii şi calculatoare. Nivelurile de sub nivelul aplicaŃie servesc la asigurarea unui transport sigur, dar nu îndeplinesc nici o funcŃie concretă pentru utilizatori. Totuşi, chiar şi la nivelul aplicaŃie, apare necesitatea unor protocoale-suport care să permită funcŃionarea aplicaŃiilor reale.

6.1 DNS - Sistemul numelor de domenii Pentru a rezolva problema descrierii generale a numelor resurselor accesibile din Internet, a fost inventat DNS (Domain Name System - Sistemul numelor de domenii). EsenŃa DNS-ului constă într-o schemă ierarhică de nume de domenii şi a unui sistem de baze de date distribuite pentru implementarea acestei scheme de nume. DNS este utilizat în principal pentru a pune în corespondenŃă numele sistemelor gazdă şi adresele destinaŃiilor de e-mail cu adresele IP, dar poate fi utilizat şi pentru alte scopuri. DNS este definit în RFC-urile 1034 şi 1035. Foarte pe scurt, DNS este utilizat după cum urmează. Pentru a stabili corespondenŃa dintre un 126

nume şi o adresă IP, programul de aplicaŃie apelează o procedură de bibliotecă numită resolver, transferându-i numele ca parametru. Resolver-ul trimite un pachet UDP la serverul DNS local, care caută numele şi returnează adresa IP către resolver, care o returnează apelantului. Având adresa IP, programul poate stabili o conexiune TCP cu destinaŃia, sau îi poate trimite pachete UDP. Prin urmare, serviciul DNS este un serviciu de căutare într-o bază de date folosind serviciile TCP/IP atunci când localizează după nume resursele aflate oriunde în Internet. Conform RFC 1034 toate implementările DNS includ: • SpaŃiul numelor de domenii • Înregistrări de resurse • Servere DNS • ClienŃi DNS (resolver) SpaŃiul numelor de domenii este o structură arborescentă ce conŃine domenii sau subdomenii în care sunt grupate după diverse criterii informaŃii (resurse) disponibile pe Internet. Serverul DNS este calculatorul pe care se configurează şi rulează software-ul specific acestui serviciu şi conŃine două elemente: name server-ul şi resolver-ul. Name server-ul are sarcina de a răspunde cererilor lansate de programele de căutare (browsere) pentru localizarea unei resurse al cărei nume este apelat (mai precis întoarcerea adresei acesteia). Dacă sarcina nu se poate rezolva imediat, se trimite cererea către resolver care, la rândul său, va trimite cererea către alt server de nume. Un server DNS poate stoca, pentru un timp prestabilit de administrator, în memoria sa cache, un tabel de corespondenŃe între nume de resurse şi adresele lor din reŃea. In acest caz, răspunsul la o cerere de localizare este dat imediat. Dacă serverul de nume nu cunoaşte adresa solicitată, intervine resolverul care va trimite cererea către un name-server superior. În configurarea unui DNS un concept importante este cel de zonă. Zona este o secŃiune continuă din spaŃiul numelui de domenii în care înregistrările sunt memorate şi gestionate la un loc. Zonele pot fi de două feluri: - primare în care se pot face actualizări - secundare care sunt copii ale primelor 6.1.1

SpaŃiul de nume DNS

Conceptual, Internetul este divizat în peste 200 domenii de nivel superior, fiecare domeniul cuprinzând mai multe sisteme gazdă. Fiecare domeniu este partiŃionat în subdomenii şi acestea sunt, la rândul lor, partiŃionate şi aşa mai departe. Toate aceste domenii pot fi reprezentate ca un arbore, aşa cum se arată în fig. 6.1. Frunzele arborelui reprezintă domenii care nu au subdomenii (dar, bineînŃeles, conŃin sisteme). Un domeniu frunză poate conŃine un singur sistem gazdă sau poate reprezenta o firmă, deci să conŃină mii de sisteme gazdă. Domeniile de pe primul nivel se împart în două categorii: generice şi de Ńări. Domeniile generice sunt com (comercial), edu (instituŃii educaŃionale), gov (guvernul federal al SUA), int (organizaŃii internaŃionale), mil (forŃele armate ale SUA), net (furnizori Internet) şi org (organizaŃii nonprofit), etc. Domeniile de Ńări includ o intrare pentru fiecare Ńară, cum se defineşte în ISO 3166. In general, obŃinerea unui domeniu de nivel secundar, ca de exemplu nume_companie.com, este necesară doar consultarea serviciului de înregistrare al nivelului superior corespunzător (com în acest caz) pentru a vedea dacă numele dorit este disponibil şi nu aparŃine altcuiva. Fiecare domeniu este identificat prin calea în arbore de la el la domeniul rădăcină (fără nume). 127

Componentele sunt separate prin puncte. Numele de domenii pot fi absolute sau relative. Un nume absolut de domeniu se termină cu un punct (de exemplu, eng.sun.com.), în timp ce unul relativ nu. Numele relative trebuie interpretate în context pentru a le determina înŃelesul adevărat, în ambele cazuri, un nume de domeniu se referă la un anumit nod din arbore şi la toate nodurile de sub el. Numele de domenii nu fac distincŃie între litere mici şi litere mari, astfel edu, Edu, sau EDU înseamnă acelaşi lucru. Componentele numelor pot avea o lungime de cel mult 63 caractere, iar întreaga cale de nume nu trebuie să depăşească 255 de caractere. În principiu, domeniile pot fi inserate în arbore în două moduri diferite. De exemplu, Facultatea de Informatică a UniversităŃii Titu Maiorescu, ar putea fi inclusă în domeniul educaŃie, fi.utm.edu sau, la fel de bine, în domeniul Ńării ca fi.utm.ro. Fiecare domeniu controlează cum sunt alocate domeniile de sub el. Atribuirea de nume respectă graniŃele organizaŃionale, nu pe cele ale reŃelelor fizice.

generice

com

int

edu

gov

Ńări

mil

utm fi secretariat

fd

org

net

us

ieee acm

ro

fr

utm

jack

stud

stud

Fig.6.1 Organizarea DNS în Internet

6.1.2

Înregistrări de resurse

Fiecărui domeniu, fie că este un singur calculator gazdă, fie un domeniu de nivel superior, îi poate fi asociată o mulŃime de înregistrări de resurse (resource records). Pentru un singur sistem gazdă, cea mai obişnuită înregistrare de resursă este chiar adresa IP, dar există multe alte tipuri de înregistrări de resurse. Atunci când un resolver trimite un nume de domeniu către un DNS, ceea ce va primi ca răspuns sunt înregistrările de resurse asociate acelui nume. Astfel, adevărata funcŃie a DNS este să realizeze corespondenŃa dintre numele de domenii şi înregistrările de resurse. O înregistrare de resursă este un 5-tuplu de forma următoare: Nume_domeniu Timp_de_viaŃă Clasă Tip Valoare Nume_domeniu (domain_name) precizează domeniul în care se face această înregistrare. De exemplu numele de domeniu utm.ro conŃine toate resursele ce pot fi acceste pe Intenet ale UniversităŃii T. Maiorescu. Câmpul Timp_de_viaŃă (time_to_live) dă o indicaŃie despre cât de stabilă este înregistrarea. Câmp Clasa (class) precizează cărei clase aparŃine înregistrarea. Pentru informaŃiile legate de Internet clasa este IN. Câmpul Tip (type) precizează tipul înregistrării. Cele mai importante tipuri sunt prezentate în Tabelul 6.1. 128

Tabelul 6.1 Tip SemnificaŃia SOA Start autoritate A Adresa IP a unui sistem gazdă MX Schimb de postă NS Server de Nume CNAME Nume canonic PTR Pointer HINFO Descriere sistem gazdă

Valoare Parametrii pentru această zonă întreg pe 32 de biŃi Domeniu dispus să accepte poştă electronică Numele serverului pentru acest domeniu Numele domeniului Pseudonim pentru adresa IP Unitate centrală si sistem de operare în ASCII

TXT

Text ASCII neinterpretat

Text

6.2 Poşta electronică Poşta electronică este în prezent un mijloc foarte răspândit de comunicare dintre oameni, depăşind cu mult poşta tradiŃională. Este de remarcat totuşi că reprezintă un mijloc neprotocolar, plin de aspecte specifice cum ar fi abrevieri sau chiar jargoane şi nu se recomandă a se folosi în situaŃii protocolare sau pentru persoane foarte importante. Primele sisteme de poştă electronică constau pur şi simplu din protocoale de transfer de fişiere, cu convenŃia ca prima linie a fiecărui mesaj (adică fişier) să conŃină adresa receptorului. Cu timpul, limitările acestei abordări au devenit din ce în ce mai evidente. Pe măsură ce s-a câştigat experienŃă, au fost propuse sisteme de poştă electronică mai complicate. Au apărut recomandările RFC 821 (protocolul de transmisie) şi RFC 822 (formatul mesajelor), RFC 2821 şi RFC 2822, care au devenit standarde Internet. În 1984, CCITT a emis recomandarea X.400. După două decenii de competiŃie, sistemele de poştă electronică bazate pe RFC 822 sunt larg răspândite, în timp ce acelea bazate pe X.400 au dispărut. 6.2.1 Arhitectură şi servicii În continuare se face o prezentare de ansamblu a ceea ce pot realiza sistemele de postă electronică şi cum sunt ele organizate. Aceste sisteme constau de obicei din două subsisteme: agenŃii-utilizator, care permit utilizatorilor să citească şi să trimită scrisori prin poşta electronică şi agenŃii de transfer de mesaje, care transportă mesajele de la sursă la destinaŃie. AgenŃii-utilizator sunt programe locale, care furnizează o metodă de a interacŃiona cu sistemul de e-mail bazată pe comenzi, meniuri sau grafică. AgenŃii de transfer de mesaje sunt, de regulă, procese care se execută în fundal. În general, sistemele de poştă electronică pun la dispoziŃie cinci funcŃii de bază, prezentate mai jos. Compunerea se referă la procesul de creare a mesajelor şi a răspunsurilor. Deşi pentru corpul mesajului poate fi folosit orice editor de texte, sistemul însuşi poate acorda asistenŃă la adresare şi la completarea numeroaselor câmpuri antet ataşate fiecărui mesaj. De exemplu, când se răspunde la un mesaj, sistemul poate extrage adresa iniŃiatorului din mesajul primit şi o poate insera automat în locul potrivit din cadrul răspunsului. Transferul se referă la deplasarea mesajului de la autor la receptor. În mare, aceasta necesită stabilirea unei conexiuni la destinaŃie, sau la o maşină intermediară, emiterea mesajului şi eliberarea 129

conexiunii. Sistemul de poştă ar trebui să facă acest lucru singur, fără a deranja utilizatorul. Raportarea se referă la informarea iniŃiatorului despre ce s-a întâmplat cu mesajul. A fost livrat? A fost respins? A fost pierdut? Există numeroase aplicaŃii în care confirmarea livrării este importantă şi poate avea chiar semnificaŃie juridică. Afişarea mesajelor primite este necesară pentru ca utilizatorii să-şi poată citi poşta. Uneori sunt necesare conversii sau trebuie apelat un program de vizualizare special; de exemplu, dacă mesajul este un fişier PostScript, sau voce digitizată. Se mai încearcă uneori şi conversii simple şi formatări. DispoziŃia este pasul final şi se referă la ceea ce face receptorul cu mesajul, după ce 1-a primit. PosibilităŃile includ eliminarea sa înainte de a-l citi, aruncarea sa după citire, salvarea sa etc. Ar trebui de asemenea să fie posibilă regăsirea şi recitirea de mesaje deja salvate, trimiterea lor mai departe, sau procesarea lor în alte moduri. În plus faŃă de aceste servicii de bază, unele sisteme de e-mail, în special cele interne companiilor, dispun de o gamă variată de facilităŃi avansate. De exemplu, când utilizatorii se deplasează sau când sunt plecaŃi pentru o perioadă de timp, pot dori ca poşta lor să fie trimisă acolo unde se găsesc, aşa că sistemul ar trebui să fie capabil să facă acest lucru automat. Majoritatea sistemelor permit utilizatorilor să-şi creeze cutii poştale (mailboxes) pentru a păstra mesajele sosite. Sunt necesare comenzi de creare şi distrugere a cutiilor poştale, de inspectare a conŃinutului acestora, de inserare şi de ştergere de mesaje din cutii poştale etc. Managerii de companii au adesea nevoie să trimită un acelaşi mesaj fiecărui subordonat, client sau furnizor. Acest lucru dă naştere ideii de listă de poştă (mailing list), care este o listă de adrese de poştă electronică. Când un mesaj este trimis la lista de poştă, copii identice ale sale sunt expediate fiecăruia dintre cei de pe listă. Alte caracteristici evoluate sunt copii la indigo, poştă de prioritate mare, poştă secretă (criptată), receptori alternativi, dacă cel primar nu este disponibil, şi posibilitatea de a permite secretarelor să se ocupe de poşta primită de şefii lor. Agentul utilizator Un agent utilizator este un program (numit uneori cititor de poştă) care acceptă o mulŃime de comenzi pentru compunerea, primirea şi răspunsul la mesaje, cât şi pentru manipularea cutiilor poştale. Unii agenŃi a o interfaŃă sofistictă, dirijată prin meniuri, icoane, mouse sau tastatură. FuncŃional însă toŃi trebuie să realizeze aceleaşi acŃiuni. Trimiterea poştei electronice Pentru a trimite un mesaj prin poşta electronică, un utilizator trebuie să furnizeze mesajul, adresa destinaŃie, şi eventual alŃi câŃiva parametri. Mesajul poate fi produs cu un editor de texte de sine-stătător, cu un program de procesare de text sau, eventual, cu un editor de texte specializat, construit în interiorul agentului utilizator. Adresa de destinaŃie trebuie să fie într-un format cu care agentul utilizator să poată lucra. MulŃi agenŃi-utilizator solicită adrese de forma utilizator@adresădns. Deoarece aceste lucruri au fost studiate anterior în acest capitol, nu vom relua materialul respectiv aici. Majoritatea sistemelor de e-mail acceptă liste de poştă, astfel că un utilizator poate trimite, cu o singură comandă, un acelaşi mesaj tuturor persoanelor dintr-o listă. Dacă lista de poştă este păstrată local, agentul-utilizator poate pur şi simplu să trimită câte un mesaj separat fiecăruia dintre receptorii doriŃi. Dacă lista este păstrată la distanŃă, atunci mesajele vor fi distribuite acolo. Citirea poştei electronice În mod obişnuit, când este lansat un agent-utilizator, înainte de a afişa ceva pe ecran, el se va 130

uita în cutia poştală a utilizatorului după mesajele care sosesc. Apoi poate anunŃa numărul de mesaje din cutie, sau poate afişa pentru fiecare mesaj câte un rezumat de o linie, pentru ca apoi să aştepte o comandă.

6.2.2

Formatele mesajelor

Formatul mesajelor de poştă electronică este descris în RFC 822 şi extensiile multimedia ale sale. RFC 822 Mesajele constau dintr-un plic simplu, un număr de câmpuri antet, o linie goală şi apoi corpul mesajului. Fiecare câmp antet se compune (din punct de vedere logic) dintr-o singură linie de text ASCII, conŃinând numele câmpului, două puncte, şi, pentru majoritatea câmpurilor, o valoare. RFC 822 a fost creat acum două decenii şi nu distinge clar plicul de câmpurile antet, cum ar face un standard nou. Cu toate că a fost corectat în RFC 2822, o refacere completă n-a fost posibilă datorită răspândirii sale largi. La o utilizare normală, agentul-utilizator construieşte un mesaj şi îl transmite agentului de transfer de mesaje, care apoi foloseşte unele dintre câmpurile antet pentru a construi plicul efectiv, o combinaŃie oarecum demodată de mesaj şi plic. Principalele câmpuri antet, legate de transportul de mesaje, sunt înfăŃişate în Tabelul 6.2. Câmpul To: oferă adresa DNS a receptorului primar. Este permisă de asemenea existenŃa de receptori multipli. Câmpul Cc: dă adresa oricărui receptor secundar. Din punct de vedere al livrării, nu este nici o diferenŃă între un receptor primar şi unul secundar. Este doar o deosebire psihologică, ce poate fi importantă pentru persoanele implicate, dar este neimportantă pentru sistemul de poştă. Termenul Cc: (Carbon copy - copie la indigo) este puŃin depăşit, din moment ce calculatoarele nu folosesc indigo, dar este bine înrădăcinat. Câmpul Bcc: (Blind carbon copy - copie confidenŃială la indigo) este la fel ca Cc, cu excepŃia că această linie este ştearsă din toate copiile trimise la receptorii primari şi secundari. Acest element permite utilizatorilor să trimită copii unei a treia categorii de receptori, fără ca cei primari şi secundari să ştie acest lucru. Tabel 6.2 Câmpurile antet ale lui RFC 822, legate de transportul de mesaje. Antet

ConŃinut

To:

Adresa(ele) de mail ale receptorului(ilor) primar(i)

Cc:

Adresa(ele) de mail ale receptorului(ilor) secundar(i)

Bcc:

Adresa(ele) de mail pentru Bcc (Blind carbon copy)

From:

Persoana sau persoanele care au crat mesajul

Sender:

Adresa de mail a transmiŃătorului curent

Received:

Linie adăugată de fiecare agent de transfer de-a lungul traseului

Reutrn-Path

Folosită pentru a indica o cale de întoarcre la transmiŃător

Următoarele două câmpuri, From: şi Sender:, precizează cine a scris şi respectiv cine a trimis mesajul. Acestea pot să nu fie identice. De exemplu, se poate ca o directoare executivă să scrie un mesaj, dar ca secretara ei să fie cea care îl trimite efectiv, în acest caz, directoarea executivă va fi afişată în câmpul From: şi secretara în câmpul Sender:. Câmpul From: este obligatoriu, dar câmpul Sender: poate fi omis dacă este identic cu From:. Aceste câmpuri sunt necesare în cazul în care mesajul nu poate fi livrat şi trebuie returnat transmiŃătorului. O linie conŃinând Received: este adăugată de fiecare agent de transfer de mesaje de pe traseu. Linia conŃine identitatea agentului, data şi momentul de timp la care a fost primit mesajul şi alte 131

informaŃii care pot fi utilizate pentru găsirea defecŃiunilor în sistemul de dirijare. Câmpul ReturnPath: este adăugat de agentul final de transfer de mesaje şi are în intenŃie să indice cum se ajunge înapoi la transmiŃător. În teorie, această informaŃie poate fi adunată din toate antetele Received: (cu excepŃia numelui cutiei poştale a transmiŃătorului), dar rareori este completată aşa şi de obicei conŃine chiar adresa transmiŃătorului. În plus faŃă de câmpurile din Tabelul 6.2, mesajele RFC 822 pot conŃine de asemenea o varietate de câmpuri antet, folosite de agenŃii-utilizator sau de receptorii umani. Majoritatea lor se explică de la sine, deci nu vom intra în detaliu la toate. Spre exemplu, câmpul Reply-To: este uneori utilizat când nici persoana care a compus mesajul, nici cea care l-a trimis nu vor să vadă răspunsul. De exemplu, un director de marketing scrie un mesaj prin e-mail pentru a spune clienŃilor despre un nou produs. Mesajul este trimis de o secretară, dar câmpul Reply-To: conŃine şeful departamentului de vânzări, care poate răspunde la întrebări şi primi comenzi. Acest câmp este foarte folositor când transmiŃătorul are două conturi de e-mail şi vrea ca răspunsul să ajungă în celălalt.

MIME - Multipurpose Internet Mail Extensions (extensii de poştă cu scop multiplu) La începuturile sale, poşta electronică consta exclusiv din mesaje de tip text, scrise în engleză şi exprimate în ASCII. Pentru acest context, RFC 822 realiza sarcina complet: specifică antetele, dar lăsa conŃinutul în întregime în seama utilizatorilor. În zilele noastre, această abordare nu mai este adecvată pentru Internetul care se întinde în lumea întreagă. Problemele includ transmisia şi recepŃia de: 1. 2. 3. 4.

Mesaje în limbi cu accente (de exemplu franceza şi germana). Mesaje în alfabete ne-latine (de exemplu ebraică şi rusă). Mesaje în limbi fără alfabet (de exemplu chineză şi japoneză). Mesaje care nu conŃin text deloc (de exemplu audio şi video).

O soluŃie posibilă a fost propusă în RFC 1341 şi actualizată în RFC-urile 2045-2049. Această soluŃie, numită MIME (Multipurpose Internet Mail Extensions), este în prezent larg utilizată. Ideea fundamentală a MIME este să continue să folosească formatul RFC 822, dar să adauge structură corpului mesajului şi să folosească reguli de codificare pentru caractere non-ASCII. Respectând RFC 822, mesajele MIME pot fi trimise utilizând programele şi protocoalele de poştă electronică existente. Tot ceea ce trebuie modificat sunt programele de transmitere şi recepŃie, pe care utilizatorii le pot face ei înşişi. MIME defineşte cinci noi antete de mesaje, aşa cum se arată în Tabelul 6.3. Primul dintre acestea specifică pur şi simplu agentului-utilizator care primeşte mesajul că este vorba de un mesaj MIME şi ce versiune de MIME utilizează. Orice mesaj care nu conŃine un antet MIME-Version este presupus a fi un mesaj în text pur în engleză şi tratat ca atare. Antetul Content-Description: este un şir de caractere ASCII specificând ce este în mesaj. Acest antet este necesar pentru ca receptorul să ştie dacă merită să decodifice şi să citească mesajul. Dacă şirul de caractere spune ceva ce nu are semnificaŃie pentru destinatar, acesta îl va arunca la coş fără să-l citească Antetul Content-ld: identifică conŃinutul. Utilizează acelaşi format ca antetul standard Message-Id:. Tabelul 6.3. Antetele RFC 822 adăugate de către MIME Antet

ConŃinut

MIME-Version

Identifică versiunea MIME

Content-Description

Şir adresat utilizatorului care spune ce este în mesaj 132

Content-ID

Identificator unic

Content-Transfer-Encoding Cum este împachetat corpul pentru transmisie Content-Type

Natura mesajului

Antetul Content-Transfer-Encoding: arată cum este împachetat pentru transmisie corpul mesajului, într-o reŃea care poate ridica obiecŃii la majoritatea caracterelor diferite de litere, cifre şi semne de punctuaŃie. Sunt furnizate cinci scheme (plus o evadare către noi scheme). Cea mai simplă schemă se referă chiar la text ASCII. Caracterele ASCII utilizează 7 biŃi şi pot fi transportate direct prin protocolul de e-mail, atâta timp cât nici o linie nu are mai mult de 1000 de caractere. Următoarea schemă ca simplitate este cam acelaşi lucru, dar utilizează caractere de câte 8 biŃi, reprezentând toate valorile de la 0 la 255 inclusiv. Această schemă de codificare încalcă protocolul (original) de e-mail utilizat în Internet, dar este folosită de unele părŃi ale Internetului, care implementează nişte extensii ale protocolului original, în timp ce declararea codificării nu o face să devină legală, faptul că o avem explicit poate cel puŃin să lămurească lucrurile atunci când ceva merge prost. Mesajele utilizând codificarea de 8 biŃi trebuie astfel făcute, încă să respecte lungimea maximă a liniei, care este standard. Ultimul antet înfăŃişat în Tabelul 6.3 este cu adevărat cel mai interesant. El specifică natura corpului mesajului. În RFC 2045 sunt definite şapte tipuri, fiecare având unul sau mai multe subtipuri. Tipul şi subtipul sunt separate printro bară oblică (slash), ca în: Content-Type: video/mpeg Subtipul trebuie precizat explicit în antet; nu sunt furnizate valori implicite. Lista iniŃială de tipuri şi subtipuri specificate în RFC 2045 este prezentată în Tabelul 6.4. De atunci au fost adăugate multe altele, introducându-se intrări adiŃionale de fiecare dată când a devenit necesar. Tipul text este utilizat pentru text simplu. CombinaŃia text/plain este folosită pentru mesaje obişnuite care pot fi afişate de îndată ce sunt primite, fără codificare sau procesare ulterioară. Această opŃiune permite ca mesajele obişnuite să fie transportate în MIME adăugând doar câteva antete suplimentare. Tabelul 6.4 Tipurile şi subtipurile aparŃinând MIME definite în RFC 2045. Tip Subtip Descriere Text Plain Text neformatat Enriched Text incluzând comenzi simple de formatare Image Gif Imagini fixe în format GIF Jpeg Imagini fixe în format JPEG Audio Basic Sunet Video Mpeg Film în format MPEG Application Octet-stream SecvenŃă neinterpretată de octeŃi Postscript Un document afişabil în PostScript Message Rfc822 Un mesaj MIME RFC 822 ParŃial Mesajul a fost fragmentat pentru transmisie ExternalMesajul în sine trebuie adus din reŃea Multipart body Mixed PărŃi independente în ordine specificată Alternative Acelaşi mesaj în formate diferite Parallel PărŃile trebuie vizualizate simultan Digest Fiecare parte este un mesaj RFC 822 complet Subtipul text/enriched permite includerea în text a unui limbaj simplu de marcare. Acest limbaj furnizează o modalitate independentă de sistem pentru a exprima scrierea cu caractere aldine sau cursive, dimensiunile, alinierea, distanŃele dintre rânduri, folosirea de indici superiori sau inferiori şi paginarea simplă. Limbajul de marcare se bazează pe SGML, Standard 133

Generalized Markup Language (limbajul standard generalizat de marcare), folosit de asemenea ca bază pentru HTML, utilizat în World Wide Web. De exemplu mesajul: Acesta este modul de a învăŃa a spus profesorul. ar fi afişat sub forma: Acesta este modul de a învăŃa a spus profesorul. Depinde de sistemul receptor să aleagă interpretarea potrivită. Dacă sunt disponibile caractere aldine şi cursive, acestea vor putea fi folosite; altfel, pentru a scoate în evidenŃă se pot utiliza culori. Când Web-ul a devenit popular, a fost adăugat un nou subtip, text/html (în RFC 2854) pentru a permite paginilor Web să fie trimise într-un e-mail de tip RFC 822. Un subtip pentru sistemul extins de marcare, text/xml, este definit in RFC 3023. Următorul tip MIME este image, utilizat pentru trimiterea de imagini fixe. În zilele noastre sunt utilizate multe formate, atât cu, cât şi fără compresie, pentru a păstra şi transmite imagini. Două dintre acestea, GIF şi JPEG, sunt recunoscute de aproape toate programele de navigare, dar exiştă şi altele care au fost adăugate la lista originală. Tipurile video si audio sunt pentru imagini în mişcare şi respectiv pentru imagini cărora li se asociază şi sunet. Trebuie notat că video include doar informaŃia video, nu şi coloana sonoră. Dacă trebuie transmis un film cu sunet, s-ar putea ca porŃiunile audio si video să trebuiască să fie transmise separat, depinzând de sistemul de codificare utilizat. Primul format video definit a fost cel inventat de Moving Picture Experts Group (MPEG - Grupul de experŃi în imagini în mişcare), dar de atunci au fost adăugate şi altele. În plus faŃă de audio/basic, un nou tip audio audio/mpeg a fost adăugat în RFC 3003 pentru a permite oamenilor să trimită fişiere MP3 prin email. Tipul application este utilizat ca un colector pentru formatele care necesită prelucrare externă neidentificate de nici unul dintre celelalte tipuri. Un octet-stream este doar o secvenŃă de octet neinterpretaŃi. La primirea unui asemenea flux, un agent-utilizator ar trebui probabil să-1 afişeze, sugerându-i utilizatorului să-1 copieze într-un fişier şi cerându-i un nume pentru acesta. Procesarea ulterioară este apoi la latitudinea utilizatorului. Celălalt subtip definit este postscript, care se referă la limbajul PostScript, produs de Adobe Systems şi larg utilizat pentru descrierea paginilor imprimate. Multe imprimante au înglobate interpretoare PostScript. Deşi un agent-utilizator poate pur şi simplu să apeleze un interpretor PostScript extern pentru a interpreta fişierele PostScript primite, acest lucru nu este lipsit de pericole. PostScript este un întreg limbaj de programare. Afişarea unui mesaj primit în format PostScript se face executând programul PostScript conŃinut de acesta. Pe lângă afişarea unui text, acest program poate citi, modifica, sau şterge fişierele utilizatorului şi poate avea şi alte efecte laterale neplăcute. Tipul message permite încapsularea în întregime a unui mesaj în altul. Această schemă este utilă, de exemplu pentru trimiterea mai departe a e-mailului, cu forward. Când un mesaj RFC 822 complet este încapsulat într-un mesaj exterior, ar trebui utilizat subtipul rfc822. Subtipul parŃial face posibilă împărŃirea unui mesaj încapsulat în bucăŃi de mesaj şi trimiterea separată a acestora (de exemplu, dacă mesajul încapsulat este prea lung). Parametrii fac posibilă reasamblarea în ordinea corectă a tuturor părŃilor, la destinaŃie. Şi în sfârşit, subtipul external-body poate fi utilizat pentru mesaje foarte lungi (de exemplu, filme video), în loc de a include fişierul MPEG în mesaj, se dă o adresă FTP şi agentul utilizator al receptorului o poate aduce din reŃea în momentul în care este necesar. Această facilitate este în special utilă când se trimite un film la o întreagă listă de poştă şi se presupune că doar câŃiva dintre membrii acesteia îl vor vedea (gândiŃi-vă la e-mailurile inutile, conŃinând reclame video). Ultimul tip este multipart, care permite unui mesaj să conŃină mai multe părŃi, începutul şi sfârşitul fiecărei părŃi fiind clar delimitat. Subtipul mixed permite fiecărei părŃi să fie diferită de celelalte, fără a avea o structură adiŃională impusă. Multe programe de e-mail permit utilizatorului să aibă una sau mai multe părŃi ataşate la un mesaj text. Acestea sunt trimise folosind 134

tipul multipart. În contrast cu tipul multipart, subtipul alternative permite ca fiecare parte să conŃină acelaşi mesaj, dar exprimat într-un alt mediu sau într-o codificare diferită. De exemplu, un mesaj ar putea fi trimis ca ASCII simplu, ca text formatat şi ca PostScript. Un agent-utilizator proiectat corespunzător, la primirea unui asemenea mesaj, îl va afişa, dacă va fi posibil, în PostScript. A doua alegere va fi textul formatat. Dacă nici una dintre aceste alternative nu ar fi posibilă, s-ar afişa text ASCII obişnuit. PărŃile ar trebui ordonate de la cea mai simplă, la cea mai complexă, pentru a ajuta receptorii care folosesc agenŃi-utilizator pre-MIME să înŃeleagă mesajul (chiar şi un utilizator preMIME poate citi text ASCII simplu). Subtipul alternative poate fi folosit de asemenea pentru limbaje multiple. Un exemplu multimedia simplu poate fi o felicitare este transmisă atât sub formă de text cât şi sub formă de cântec. Dacă receptorul are facilităŃi audio, agentul utilizator va aduce fişierul de sunet, nume_fisier.snd şi îl va interpreta. Dacă nu, textul va fi afişat simplu pe ecran. 6.2.3

Transferul mesajelor

Sistemul de transfer de mesaje se ocupă cu transmiterea mesajelor de la expeditor la receptor. Cea mai simplă cale de a realiza acest lucru constă în stabilirea unei conexiuni de transport de la maşina sursă la cea de destinaŃie şi apoi, pur şi simplu în trimiterea mesajului. SMTP - Simple Mail Transfer Protocol (Protocol simplu de transfer de poştă) În cadrul Internetului, posta electronică este livrată prin stabilirea de către maşina sursă a unei conexiuni TCP la portul 25 al maşinii de destinaŃie. La acest port se află un agent de e-mail care ştie SMTP (Simple Mail Transfer Protocol). Acest agent acceptă conexiunile şi copiază mesajele de la ele în cutiile poştale corespunzătoare. Dacă mesajul nu poate fi livrat, se returnează transmiŃătorului un raport de eroare conŃinând prima parte a mesajului nelivrat. SMTP este un protocol simplu de tip ASCII. După stabilirea conexiunii TCP la portul 25, maşina transmiŃătoare, operând în calitate de client, aşteaptă ca maşina receptoare, operând ca server, să vorbească prima. Serverul începe prin a trimite o linie de text, declarându-şi identitatea şi spunând dacă este pregătit sau nu să primească mesaje. Dacă nu este, clienŃii eliberează conexiunea şi încearcă din nou mai târziu. Folosirea textului ASCII face protocoalele foarte uşor de testat şi depanat. Ele pot fi testate trimiŃând manual comenzi, cum am văzut mai sus, pentru care copiile mesajelor sunt uşor de citit. Chiar dacă protocolul SMTP este bine definit, mai pot apărea câteva probleme. O problemă este legată de lungimea mesajelor. Unele implementări mai vechi nu pot să lucreze cu mesaje mai mari de 64kB. O altă problemă se referă la expirări de timp (timeout). Dacă acestea diferă pentru server şi client, unul din ei poate renunŃa, în timp ce celălalt este încă ocupat, întrerupând conexiunea în mod neaşteptat. În sfârşit, în unele situaŃii, pot fi lansate schimburi infinite de mesaje. De exemplu, dacă maşina l păstrează lista de poştă A şi maşina 2 lista de poştă B şi fiecare listă conŃine o intrare pentru cealaltă, atunci orice mesaj trimis oricăreia dintre cele două liste va genera o cantitate nesfârşită de trafic de e-mail. Pentru a rezolva câteva dintre aceste probleme, în RFC 2821 s-a definit protocolul SMTP extins (ESMTP).

6.2.4

Livrarea finală

Până acum, am presupus că toŃi utilizatorii lucrează pe maşini capabile să trimită şi să primească e-mail. După cum am văzut, e-mail-ul este livrat prin stabilirea unei conexiuni TCP între expeditor şi destinatar şi apoi prin trimiterea e-mail-ului prin ea. Odată cu apariŃia celor care accesează Internet-ul folosind un modem cu care se conectează la ISP-ul lor, acest lucru nu mai merge. O soluŃie este ca agentul de transfer de mesaje de pe o maşină ISP să accepte e-mail-ul pentru clienŃii săi şi să-1 stocheze în cutiile lor poştale pe o maşină a ISP-ului. Din moment ce acest agent poate fi conectat la reŃea tot timpul, se poate trimite e-mail 24 de ore pe zi. 135

POP3 Această soluŃie dă naştere altei probleme: cum îşi ia utilizatorul e-mail-ul de la agentul de transfer de mesaje al ISP-ului? Rezolvarea acestei probleme este crearea unui alt protocol care să permită agenŃilor de transfer mesaje să contacteze agentul de transfer mesaje (de pe o maşină ISP) şi să facă posibilă copierea e-mail-ului de la ISP la utilizator. Un astfel de protocol este POP3 (Post Office Protocol Version 3- Protocol de poştă, versiunea 3), definit în RFC 1939. POP3 începe când utilizatorul porneşte programul cititor de poştă (mail reader). Acesta sună la ISP (în caz că nu există deja o conexiune) şi stabileşte o conexiune TCP cu agentul de transfer de mesaje, prin portul 110. Odată ce conexiunea a fost stabilită, protocolul POP3 trece succesiv prin următoarele trei stări: 1. Autorizare. 2. TranzacŃionare. 3. Actualizare. Starea de autorizare se referă la admiterea utilizatorului în sistem (login). Starea de tranzacŃionare tratează colectarea e-mail-urilor si marcarea lor pentru ştergere din cutia poştală. Starea de actualizare se ocupă cu ştergerea efectivă a mesajelor. Deşi este adevărat că protocolul POP3 are abilitatea de a descărca un anumit mesaj sau un anumit grup de mesaje păstrându-le pe server, cele mai multe programe de e-mail descarcă tot şi golesc cutia poştală. Ca urmare, practic singura copie rămâne înregistrată pe discul utilizatorului. Dacă acesta se strică, toate e-mail-urile pot fi pierdute definitiv. IMAP IMAP (Internet Message Access Protocol - Protocol pentru accesul mesajelor în Internet), este definit în RFC 2060. Spre deosebire de POP3, care în mod normal presupune că utilizatorul îşi va goli căsuŃa poştală la fiecare conectare şi va lucra deconectat de la reŃea (off-line) după aceea, IMAP presupune că tot e-mail-ul va rămâne pe server oricât de mult, în mai multe căsuŃe poştale. IMAP prevede mecanisme extinse pentru citirea mesajelor sau chiar a părŃilor de mesaje, o facilitate folositoare când se utilizează un modem încet pentru citirea părŃii textuale a unui mesaj cu mai multe părŃi audio şi video de mari dimensiuni. Întrucât premisa de folosire este că mesajele nu vor fi transferate pe calculatorul utilizatorului în vederea stocării permanente, IMAP asigură mecanisme pentru crearea, distrugerea şi manipularea mai multor cutii poştale pe server. Astfel, un utilizator poate păstra o cutie poştală pentru fiecare corespondent şi poate muta aici mesajele din inbox după ce acestea au fost citite. IMAP are multe facilităŃi, ca de exemplu posibilitatea de a se referi la un mesaj nu prin numărul de sosire, ci utilizând atribute (de exemplu, dă-mi primul mesaj de la clientul_x). Spre deosebire de POP3, IMAP poate de asemenea să accepte atât expedierea mesajelor spre destinaŃie cât şi livrarea mesajelor venite. Stilul general al protocolului IMAP este similar cu cel al POP3-ului, cu excepŃia faptului că există zeci de comenzi. Serverul IMAP ascultă pe portul 143. În tabelul 6.5 este prezentată o comparaŃie între POP3 şi IMAP. Este bine de notat, totuşi, că nu toate ISP-urile oferă ambele protocoale şi că nu toate programele de e-mail le suportă pe amândouă. Aşadar, atunci când alegeŃi un program de e-mail, este important să aflaŃi ce protocoale suportă şi să vă asiguraŃi că ISP-ul oferă cel puŃin unul din ele. Tabelul 6.5 O comparaŃie între POP3 şi IMAP. Caracteristica Unde este definit protocolul Portul TCP folosit Unde este stocat e-mail-ul Unde este citit e-mail-ul Timpul necesar conectării 136

POP3 RFC 1939 110 PC-ul utilizatorului Off-line Mic

IMAP RFC 2060 143 Server On-line Mare

Folosirea resurselor serverului Mai multe cutii poştale Cine face copii de siguranŃă la cutiile poştale Bun pentru utilizatorii mobili Controlul utilizatorului asupra scrisorilor preluate Descărcare parŃială a mesajelor Volumul discului alocat este o problemă Simplu de implementat Suport răspândit

Minimă Nu Utilizatorul Nu Mic Nu Nu Da Da

Intensă Da ISP-ul Da Mare Da Ar putea fi în timp Nu In creştere

FacilităŃi de livrare Indiferent dacă este folosit POP3 sau IMAP, multe sisteme oferă legături pentru procesarea adiŃională a mesajelor e-mail sosite. Un instrument deosebit de valoros pentru mulŃi utilizatori de email este reprezentat de capacitatea de a construi filtre. Acestea sunt reguli care se verifică la sosirea mesajelor sau la pornirea agentului utilizator. Fiecare regulă specifică o condiŃie şi o acŃiune. De exemplu, o regulă ar putea spune că orice mesaj venit de la şef trebuie pus în cutia poştală numărul l, orice mesaj de la un anumit grup de prieteni se duce în cutia poştală numărul 2 şi orice alt mesaj conŃinând anumite cuvinte în Subiect este aruncat fără comentarii. Unii ISP oferă filtre care clasifică automat mesajele sosite ca fiind importante sau nerelevante (spam) şi memorează fiecare mesaj în cutia poştală corespunzătoare. Asemenea filtre funcŃionează verificând mai întâi dacă sursa este un autor cunoscut de mesaje „spam". Apoi examinează subiectul. Dacă sute de utilizatori au primit un mesaj cu acelaşi subiect, probabil că el este nerelevant. Există şi alte tehnici folosite pentru detecŃia mesajelor lipsite de importanŃă. O altă caracteristică a livrării, pusă la dispoziŃie adesea, este posibilitatea de a retrimite (temporar) poşta la o adresă diferită. Poşta electronică pe Web (Webmail) Un subiect care merită menŃionat este poşta electronică pe Web. Anumite situri de Web, cum ar fi Hotmail, Google sau Yahoo oferă servicii de poştă electronică oricui doreşte. Ele funcŃionează după cum urmează. Au agenŃi normali de transfer de mesaje, care aşteaptă la portul 25 conexiuni noi de SMTP. Partea interesantă este cum se transmite poşta electronică. În principiu, atunci când utilizatorul se duce la pagina de Web a poştei electronice, îi este prezentat un formular în care i se cere un nurne de cont şi o parolă. Când utilizatorul face clic pe Sign In, numele de cont şi parola sunt trimise serverului, care le validează. Dacă autentificarea s-a făcut cu succes, serverul găseşte cutia poştală a utilizatorului şi construieşte o listă similară cu cea din Tabelul 6.2, cu diferenŃa că are formatul unei pagini de Web în HTML. Pagina Web este transmisă apoi programului de navigare pentru a fi afişată. Pe multe din elementele paginii se pot executa clic-uri, astfel că mesajele pot fi citite, şterse, s.a.m.d.

6.3 WORLD WIDE WEB Web-ul este un context arhitectural pentru accesul la documente, răspândite pe mii de maşini din Internet, între care există legături. AplicaŃia de navigare pe Internet a evoluat de la o simplă aplicaŃie pentru transmiterea de date utile pentru fizica energiilor înalte la cea mai răspândită şi utilizată aplicaŃie, accesată de zeci de milioane de oameni. Popularitatea sa enormă se datorează faptului că are o interfaŃă grafică atractivă, uşor de utilizat de către începători şi în acelaşi timp oferă o cantitate imensă de informaŃie, pe aproape orice subiect posibil. 137

6.3.1 Aspecte arhitecturale Din punct de vedere al utilizatorului, Web-ul este o colecŃie imensă de documente sau de pagini Web (numite prescurtat pagini), răspândite în toată lumea. Fiecare pagină poate să conŃină legături spre alte pagini, aflate oriunde în lume. Utilizatorii pot să aleagă o pagină printr-un clic care îl duce la pagina respectivă şi de aici în altă pagină ş.a.m.d. Procesul se poate repeta la nesfârşit. De multe ori Webul este confundat cu Internetul, deşi ele sunt lucruri diferite. El foloseşte Internetul (colecŃia de reŃele interconectate) şi programele de navigare. Webul nu este o reŃea,ci un sistem de aplicaŃii, un mod de comunicare a informaŃiilor hipermedia (hipertext) folosite, în general în Internet, funcŃionând pa baza modelului clientserver. ClienŃii sunt navigatoarele Web şi au acces la informaŃii multimedia şi multiprotocol stocate pe servere Web. Protocolul http este un protocol de nivel aplicaŃie care concretizează (pune în practică) în arhitectura TCP/IP cererile clienŃilor şi răspunsurile serverelor. Paginile pot fi văzute cu ajutorul unui program de navigare (browser). Cele mai cunoscute sunt Internet Explorer, Netscape Navigator şi Opera. Programul de navgare aduce pagina cerută, interpretează textul şi comenzile de formatare conŃinute în text şi afişează pagina formatată corespunzător pe ecran. Majoritatea paginilor încep cu un titlu, conŃin informaŃii şi se termină cu adresa de poştă electronică a celui care menŃine pagina. Şirurile de caratere care reprezintă legături la alte pagini se numesc hiper-legături, sunt afişate în mod diferit, fiind subliniate sau colorate diferit. Activarea legăturii se face prin clic pe aceasta. Aducerea paginilor se face de către programul de navigare fără nici o altă acŃiune din partea utilizatorului. El nici nu ştie unde se află paginile căutate. Programul de navigare face legătura cu serverul pe care se află pagina solicitată şi transferă informaŃia din pagină pe serverul de web. De aici este afişată pe ecranul utilizatorului. Dacă utilizatorul se întoarce la o pagină vizitată anterior, aceasta va fi colorată diferit de cele care nu au fost selectate. 6.3.2 Aspecte privind clientul În esenŃă, un program de navigare este o aplicaŃie capabilă să afişeze o pagină de Web şi să capteze clicurile mouse-ului pe elemente ale paginii afişate. Când un element este selectat, programul de navigare urmează hiper-legătura şi obŃine pagina selectată. Ca atare, hiper-legătura conŃinută în pagină necesită o modalitate de a adresa prin nume orice altă pagină de pe Web. Paginile sunt adresate prin nume folosind URL-uri (Uniform Resource Locators, Localizatoare Uniforme de Resurse). Un URL tipic este: http://www.depozit_IT.com/produse.html Un URL are trei părŃi: numele protocolului (http), numele calculatorului pe care se găseşte pagina (www.depozit_IT.com) şi numele fişierului care conŃine pagina (produse.html). Când un utilizator execută un clic pe o hiper-legătură, programul de navigare urmează o serie de etape pentru a obŃine pagina indicată de hiper-legătură. Să presupunem ca utilizatorul navighează pe Web şi găseşte o legătura despre telefonia pe Internet care indică spre pagina principală a ITU, http://www.itu.a-g/home/index.html. Să urmăm etapele parcurse când această legătură este selectată. 1. Programul de navigare determină URL (pe baza selecŃiei). 2. Programul de navigare întreabă DNS care este adresa IP pentru www.itu.org. 3. DNS răspunde cu 156.106.192.32. 4. Programul de navigare realizează conexiunea TCP cu portul 80 al 156.106.192.32. 138

5. Trimite o cerere pentru fişierul /home/index.html. 6. Serverul www.itu. org transmite fişierul /home/index.html. 7. Conexiunea TCP este eliberată. 8. Programul de navigare afişează textul din /home/index.html. 9. Programul de navigare aduce şi afişează toate imaginile din acest fişier. Multe programe de navigare informează despre etapa care se execută într-o fereastră de stare, în partea de jos a paginii. În acest mod, dacă performanŃele sunt slabe, utilizatorul poate să ştie dacă este vorba de faptul că DNS nu răspunde, că serverul nu răspunde, sau pur şi simplu de congestia reŃelei în timpul transmisiei paginii. Pentru a afişa noua pagină (sau orice pagină), programul de navigare trebuie să înŃeleagă forma în care este scrisă. Pentru a permite tuturor programelor de navigare să înŃeleagă orice pagină de Web, paginile de Web sunt scrise într-un limbaj standardizat numit HTML. Deşi un program de navigare este în principiu un interpretor de HTML, majoritatea programelor de navigare au numeroase butoane şi opŃiuni care ajută navigarea prin Web. Multe au un buton pentru revenirea la pagina anterioară, un buton pentru a merge la pagina următoare (acest buton este operaŃional numai după ce utilizatorul s-a întors înapoi dintr-o pagină) şi un buton pentru selecŃia paginii personale (home page Nu toate paginile conŃin HTML. O pagină poate conŃine un document în format PDF, o iconiŃă în format GIF, o fotografie în format JPEG, o melodie în format MP3, o înregistrare video în format MPEG sau oricare din cele alte câteva sute de tipuri de fişiere. Deoarece paginile în forma standard HTML pot avea legături către oricare din acestea, programul de navigare poate avea o problemă atunci când întâlneşte o pagină pe care nu o poate interpreta. În loc sa facă programele de navigare din ce în ce mai mari, înglobând interpretoare pentru o colecŃie de tipuri de fişiere în creştere rapidă, majoritatea programelor de navigare au ales o soluŃie mai generală. Atunci când un server întoarce o pagină, el întoarce de asemenea informaŃii adiŃionale despre acea pagină. Această informaŃie include tipul MIME al paginii. Dacă tipul MIME nu este unul dintre acestea, programul de navigare îşi consultă tabela de tipuri MIME pentru a afla cum să afişeze pagina. Această tabelă asociază un tip MIME cu o aplicaŃie de vizualizare. Există două posibilităŃi: plug-in-uri şi programe auxiliare (helper applications). Un plug-in este un modul pe care programul de navigare îl obŃine dintr-un director special de pe disc şi îl instalează ca o extensie al însuşi programului de navigare. Deoarece plug-in-urile se execută în interiorul programului de navigare, acestea au acces la pagina curentă şi pot să modifice modul în care aceasta este afişată. Cea de-a doua modalitate de extindere a unui program de navigare este utilizarea aplicaŃiilor auxiliare (helper applications). Acestea sunt programe complete ce se execută ca procese separate. Deoarece acestea sunt programe separate, nu oferă nici o interfaŃă programului de navigare şi nu utilizează serviciile acestuia. De obicei însă acceptă doar numele unui fişier temporar unde a fost stocat conŃinutul paginii, deschide acest fişier şi îi afişează conŃinutul. De obicei, aplicaŃiile auxiliare sunt programe de dimensiuni mari care există independent de programul de navigare, cum ar fi Adobe Acrobat Reader pentru afişarea fişierelor PDF, sau Microsoft Word. Unele programe (cum ar fi Acrobat) dispun de un plug-in care execută aplicaŃia auxiliară. Multe aplicaŃii auxiliare folosesc tipul MIME application. A fost definit un număr considerabil de subtipuri, de exemplu application/pdf pentru fişiere PDF şi application/msword pentru fişiere Word. În acest mod, un URL poate să indice direct către un fişier PDF sau Word şi atunci când utilizatorul execută un clic asupra sa aplicaŃiile Acrobat sau Word sunt pornite automat şi li se transmite numele fişierului temporar ce conŃine datele ce trebuie afişate. Ca atare, programele de navigare pot fi configurate să trateze un număr teoretic nelimitat de tipuri de documente, fără schimbări aduse programului de navigare. Serverele de Web moderne sunt adesea configurate cu sute de combinaŃii de tipuri/subtipuri şi combinaŃii noi sunt adăugate de fiecare dată când este 139

instalat un program nou. AplicaŃiile auxiliare nu sunt restricŃionate la utilizarea tipului MIME application. Adobe Photoshop foloseşte image/x-photoshop şi RealOne Player poate trata de exemplu audio/mp3.

6.3.3. Aspecte privind serverul Să ne referim acum la aspectele privind serverul. Aşa cum s-a văzut mai sus, atunci când utilizatorul tastează un URL sau execută un clic asupra unei linii de hipertext, programul de navigare analizează URL-ul şi interpretează partea între http:// şi următorul caracter / ca un nume DNS ce trebuie căutat. Având adresa IP a serverului, programul de navigare stabileşte o conexiune TCP la portul 80 de pe acel server. Apoi se transmite o comandă ce conŃine restul URLului, care este de fapt numele fişierului de pe acel server. Serverul întoarce apoi fişierul pentru a fi afişat de către programul de navigare. Etapele pe care le parcurge serverul în bucla sa principală sunt: 1. Acceptă o conexiune TCP de la un client (program de navigare) 2. ObŃine numele fişierului cerut 3. ObŃine fişierul (de pe disc) 4. Întoarce fişierul clientului 5. Eliberează conexiunea TCP Serverele de Web moderne au mai multe caracteristici, dar în esenŃă acestea sunt funcŃiile unui server de Web. O problemă cu această arhitectură este că fiecare cerere necesită acces la disc pentru obŃinerea fişierului. Rezultatul este că serverul de Web nu poate servi mai multe cereri pe secundă decât numărul de accese la disc ce se pot executa pe secundă. Un disc SCSI are un timp de acces mediu de circa 5 ms, ceea ce limitează serverul la cel mult 200 de cereri/sec, chiar mai puŃin dacă trebuie citite des fişiere mari. Pentru un site de Web de importanŃă mare, acest număr este prea mic. Teoretic, un server cu un singur fir de execuŃie şi k unităŃi de disc poate de asemenea câştiga un factor k în ceea ce priveşte eficienŃa, dar implementarea şi administrarea sunt mult mai complicate deoarece apelurile de sistem READ normale, blocante nu pot fi folosite pentru accesul la disc. În cazul unui server cu mai multe fire de execuŃie, acestea pot fi folosite deoarece o operaŃie READ blochează doar firul de execuŃie care a executat operaŃia şi nu întregul proces. Serverele de Web moderne efectuează mai multe operaŃii decât acceptarea numelor de fişiere şi transmiterea conŃinutului acestora. De fapt, procesarea fiecărei cereri poate deveni destul de complicată. Din acest motiv, într-un număr mare de servere fiecare modul de procesare efectuează o serie de etape. Modulul frontal transmite fiecare cerere sosită către primul modul de procesare disponibil, care apoi execută cererea, utilizând o submulŃime a următorilor paşi, în funcŃie de ce paşi sunt necesari pentru respectiva cerere. 1. Rezolvarea numelui paginii de Web cerute 2. Autentificarea clientului 3. Verificarea drepturilor de acces ale clientului 4. Verificarea drepturilor de acces asupra paginii de Web 5. Verificarea memoriei ascunse 6. ObŃinerea paginii cerute, de pe disc 7. Determinarea tipului MIME ce va fi inclus în răspuns 8. Rezolvarea altor probleme minore 9. Transmiterea răspunsului către client 10. Adăugarea Pasul l este necesar deoarece cererea sosită poate să nu conŃină numele propriu-zis al fişierului, 140

ca şir de caractere. De exemplu, putem considera URL-ul http://www.cs.vu.nl, care are un nume de fişier vid. Acesta trebuie extins la un nume de fişier implicit. De asemenea, programele de navigare moderne pot specifica limba implicită a utilizatorului (de ex: italiană sau engleză), ceea ce deschide posibilitatea ca serverul să selecteze o pagină de Web în acea limbă, dacă aceasta este disponibilă. In general, extinderea numelor nu este un proces atât de banal cum ar putea părea la prima vedere, datorită unei varietăŃi de convenŃii existente privind numirea fişierelor. Pasul 2 constă în verificarea identităŃii clientului. Acest pas este necesar pentru paginile care nu sunt disponibile publicului larg. Pasul 3 verifică dacă există restricŃii referitoare la satisfacerea cererii, având în vedere identitatea şi localizarea clientului. Pasul 4 verifică dacă există restricŃii de acces asociate cu pagina însăşi. Dacă un anumit fişier (de ex: .htaccess) este prezent în directorul unde se află şi pagina dorită, accesul la acel fişier poate fi restrâns la anumite domenii, de exemplu numai la utilizatorii din interiorul companiei. Paşii 5 şi 6 presupun obŃinerea paginii. Pasul 6 necesită capacitatea de tratare simultană a mai multor citiri de pe disc.

6.3.4 - URL Uniform Resource Locators Căutarea paginilor web şi referirea la alte pagini necesită un sistem de numerotare şi regăsire a lor. Mai concret, trebuie să se cunoască: 1. Cum se numeşte pagina? 2. Cum este localizată? 3. Cum se face accesul la ea? Dacă fiecare pagină ar avea un nume unic, atunci nu ar exista probleme în ceea ce priveşte referirea la ea. Totuşi nu ar fi rezolvată problema accesului la ea pentru că nu se ştie locul ei. Se poate face o analogie cu persoanele. Mai multe persoane pot avea nume identice, dar au coduri (CNP-uri) distincte. Numai pe baza codului nu se poate localiza persoana, necunoscându-i-se adresa şi nici alte date despre ea. SoluŃia acestei probleme care rezolvă toate cele trei aspecte manŃionate mai sus este adresa unifomă pentru localizarea resurselor (URL) care Ńine loc de nume al paginii. Un URL are trei componente: 1. protocolul; 2. numele DNS al maşinii pe care este memorat fişierul; 3. un nume local care indică în mod unic pagina (de regulă numele fişierului care conŃine pagina). El este de forma http://www.utm.ro/info/cursuri.html Acest URL are trei părŃi: protocolul (http), numele DNS al serverului (www.utm.ro) şi numele fişierului care conŃine cursurile ce se predau (info/cursuri.html), cu semnele de punctuaŃie respective. Numele fişierului este o cale relativă la directorul de web implicit de la utm.ro. Când se face selecŃia, programul de navigare caută numele serverului utilizând DNS-ul. Pe baza adresei IP a serverului, prgramul de navgare stabileşte o conexiune TCP spre server, pe care trimite numele fişierului folosind şi protocolul specificat. Programul întoarce pagina solicitată. Mecanismul URL permite accesarea mai multor tipuri de resurse din Internet. Pentru aceasta se folosesc mai multe protocoale şi au fost definite URL-uri pentru fiecare. Cele mai cunoscute sunt prezentate în Tabelul 6.6. Tabelul 6.6. Câteva URL-uri uzuale Nume http

Utilizat pentru Hipertext (HTML)

Exemple http://www.utm.ro/info/cursuri.html 141

ftp File news gopher mailto telnet

FTP Fişier local Grup de ştiri Gopher Trimitere de poştă electronică Conectare la distanŃă

ftp://ftp.utm.ro/pub/curs file://usr/student/program.c news:[email protected] Gopher://gopher.tc.umn.edu/libraries mailto:[email protected] telnet://www.w3.org:80

Protocolul http (abreviere de la HyperText Transfer Protocol) este utilizat de către severele Web pentru specfica ce mesaje pot trimite clienŃii spre servere şi ce răspunsuri pot primi înapoi. Este un protocol ASCII folosit de persoane pentru a dialoga direct cu serverele pe o conexiune TCP la portul 80 al serverului. Protocolul ftp este utilizat pentru accesul la fişiere şi transportul lor prin Internet. Este foarte răspândit şi utilizat. Numeroase servere de ftp din toată lumea permit ca de oriunde din Internet să se facă o conectare şi să se aducă orice fişier aflat pe un server FTP. Ftp este mai puternic decât http, dar are o interfaŃă mai puŃin prietenoasă. Protocolul news permite citirea unui articol de ştiri ca şi cum ar o fi o pagină de Web. Aceasta înseamnă că un program de navigare şi un cititor de ştiri. Protocolul gopher era utilizat de sistemul Gopher (denumire în argou pentru go for) pentru a găsi şi aduce informaŃie de pe net (doar imagini şi text). Acest sistem a fost dezvoltat înaintea Web-ului, în prezent ne mai fiind utilizat. Protocolul mailto permite transmiterea de poştă electronică prinr-un program de navigare. Pentru aceasta se selectează butonul OPEN şi se specifică un URL constând în mailto: urmat de adresa destinatarului. Prgramul de navigare răspunde prin pornirea unei aplicaŃii de poştă electronică cu adresa şi câteva câmpuri din antet deja completate. Protocolul telnet este utilizat pentru stabilirea unei conexiuni cu o maşină aflată la distanŃă. Prin urmare, URL-urile au fost proiectate pentru a permite utilizatorilor să navigheze prin Web, dar şi pentru a utiliza şi alte aplicaŃii, unele dintre ele fiind specificate anterior. În ciuda acestor proprietăŃi, creşterea Web-ului a evidenŃiat şi o slăbiciune a utilizării URL-urilor. Pentru o pagină foarte des accesată, ar fi de dorit ca să existe mai multe copii pe servere diferite, pentru a reduce traficul în reŃea. URL-urile însă nu oferă nici o posibilitate de indicare a unei pagini fără a se specifica localizarea ei. Pentru a rezolva această problemă şi a permite mltiplicarea paginilor, IETF lucrează la un sistem URN (Universal Resource Names – nume universale de resurse). Acesta poate fi privit ca un URL generalizat şi este în curs de cercetare. Navigarea pe Web diferă ca aplicaŃie de multe alte aplicaŃii. Aici nu există conceptul de sesiune de conectare. Programul de navigare transmite o cerere de la un client către server şi întoarce un fişier sau altceva ca răspuns.

6.3.5 Documente Web statice Pe Web se găsesc în primul rând documente statice de tipul texte, imagini etc. Ele sunt rezidente pe servere sub formă de fişiere, aşteptând să fie descărcate. Paginile Web sunt scrise într-un limbaj specific HTML (HyperText Markup Language). El permite utilizatorilor să creeze pagini de Web care să conŃină text, imagini, referinŃe la alte pagini etc. El descrie cum trebuie să fe formatate textele. Termenul de marcare se referă la posibilităŃile limbajului de a conŃine comenzi explicite de formatare. Prin standardizare şi includerea comenzilor de marcare în fiecare fişier HTML, orice program de naivgare poate să citească şi să formateze orice pagină de Web. Posibilitatea formatării paginii recepŃionate este foarte importantă, deoarece o pagină poate fi construită pe un ecran cu rezoluŃie mare 1600×1200 pixeli, cu o paletă de culori codificată pe 24 biŃi, dar s-ar putea să fie citită pe un display cu alte caracteristici. O pagină Web corect formatată conŃine o zonă de antet şi un corp cuprinse între marcajele şi . Antetul este delimitat de şi , iar corpul între şi 142

. Comenzile cuprinse între aceste marcaje se numesc directive. Majoritatea programelor de navigare conŃin opŃiunea VIEW SOURCE sau ceva similar, care permite afişarea paginii în formatul sursă (limbaj HTML) în loc de forma interpretată. Dispunerea textului în documente HTML nu este semnificativă, deoarece programele adaptează formatul de afişare la spaŃiul disponibil. Unele marcaje au parametrii numiŃi atribute care pot lua diferite valori. Limbajul HTML oferă mecanisme de a construi liste, inclusiv liste imbricate, de a folosi diferite tipuri de caractere, paragrafe, culori, spaŃieri, poziŃionări imagini etc. Limbajul HTML a evoluat continuu. Versiunile 1.0 şi 2.0 nu prmiteau folosirea tabelelor. Acestea au fost introduse în versiunea 3.0. În HTML v.4.0 au fost introduse noi elemente, care fac paginile mai accesibile persoanelor cu handicap, înglobarea obiectelor în pagini şi multe altele. Când se construieşte un sit complex la care lucrează nai mulŃi programatori, pentru a asigura o formă unitară a paginilor, există facilitatea style sheets (pagini de stil). O altă facilitate care a apărut încă de la versiunea 2.0 este aceea de a include formulare. Formularele sunt şabloane de pagini Web conŃinând casete şi butoane, prin care utilizatorii pot să completeze informaŃii sau să facă selecŃii şi apoi să le trimită proprietarului paginii. Limbajul HTML a început să devină nesatisfăcător pe măsură ce s-au dezvoltat aplicaŃiile care necesitau separarea conŃinutului paginii de informaŃiile referitoare la formatarea ei. De exemplu un program care caută pe Web preŃul cel mai bun al unui produs oarecare, trebuie să analizeze multe pagini Web. În formatul obişnuit HTML este dificil ca un program să-şi dea seama unde este numele şi unde este preŃul. Din acest motiv consorŃiul W3C a îmbunătăŃit limbajul HTML pentru a permite paginilor Web să fie structurate. Astfel au apărut XML (eXtensible Markup Language) care descrie conŃinutul într-un format structurat şi apoi XSL (eXtensible Style Language) care descrie formatul independent de conŃinut. SpecificaŃiile XML şi XSL sunt mult mai stricte decât cele HTML. Limbajul HTML a continuat să evolueze în legătură cu răspândirea tot mai largă a dispozitivelor de acces la Internet cu navigare pe Web, cu conexiuni fără fir. Pentru aceasta s-a realizat o adaptare a HTML 4.0 la rigorile XML, rezultând un limbaj foarte selectiv XHTML (eXtended HiperText Markup Language). Există 6 diferenŃe majore între HTML 4.0 şi XHTML. Ele asigură o calitate superioară a paginilor Web. Detalii despre limbajul HML şi variantele sale se găsesc în literatura de specialitate.

6.3.6 Documente Web dinamice Dacă la începutul Web-ului conŃinutul său era static asigurând accesul la fişiere statice, deja existente pe servere, în prezent asistăm la generarea dinamică a conŃinutului, adică generat la cerere şi nu doar a unuia deja stocat pe disc. Un asemenea exemplu este generarea dinamică de pagini de Web pe server. Pentru aceasta se pot utiliza formularele de Web despre care s-a vorbit deja. Când un utilizator completează un formular şi apasă submit, se transmite un mesaj către server care are în interior formularul completat de utilizator. Mesajul nu conŃine numele unui fişier care trebuie întors, ci este oferit unui program sau script care urmază a-l procesa. De obicei, procesarea implică folosirea informaŃiilor furnizate de utilizator pentru adăugarea unor înregistrări într-o bază de date de pe discul serverului şi generarea unei pagini HTML personalizată pentru a fi trimisă clientului. Modalitatea tradiŃională de a trata formularele şi alte pagini Web interactive este sistemul CGI (Common Gateway Interface). Aceasta este o interfaŃă standardizată care permite serverelor de Web să discute cu programele din fundal şi cu scripturile care acceptă o intrare şi să genereze pagini HTML ca răspuns. Scripturile CGI nu sunt singura modalitate de a genera conŃinut dinamic la server. O altă modalitate este de a scrie mici programe în limbaj PHP (Hypertext Procesor) şi a lăsa serverul să execute programul pentru a genera pagina. PHP este un limbaj de programare puternic, cu acces liber (open source), gratuit. O altă variantă similară cu PHP este de a scrie scripturile în 143

limbaj JAVA, tehnică denumită JSP (Java Server Pages). O a patra tehnică este ASP (Active Server Pages), similară cu JSP, dar care foloseşte limbajul Visual Basic Script, proprietate Microsoft pentru a genera conŃinutul dinamic. Toate aceste tehnici de generare dinamică a paginilor de Web se denumesc generic HTML dinamic. Scripturile CGI, PHP, JSP şi ASP pot crea pagini de Web pe server, dar nu şi la client. Nici unul dintre aceste scripturi nu răspund la mişcările mouse-ului şi nu interacŃionează direct cu clientul. Începând c HTML 4.0 astfel de scripturi delimitate de marcajul se pot folosi la client. Ele sunt scrise în limbajul de nivel foarte înalt JavaScript, cel mai popular limbaj de script la client. JavaScript este un limbaj de programare puternic, ce îmbină puterea limbajlor C şi Java. Are variabile, şiruri, vectori, funcŃii, obiecte şi toate structurile de control obişnuite. În plus are facilităŃi specifice paginilor Web: lucru cu ferestre şi cadre, generare de cookies, lucru cu formulare, cu hiper-legături etc. JavaScript poate urmări mişcarea mouse-ului peste obiecte afişate. O metodă şi mai populară de a face pagini Web interactive este bazată pe folosirea appleturilor. Acestea sunt mici programe Java care au fost compilate pe un calculator virtual numit JVM (Java Virtual Machine). Applet-urile pot fi introduse în pagini HTML între delimitatorii şi şi sunt interpretate de programe de navigare care cunosc JVM.

Web fără fir Răspândirea foarte largă şi performanŃele tehnologice ale telefoniei mobile au condus spre dezvoltarea unor aplicaŃii de Web şi poştă electronică de pe terminalul telefonic mobil, bazat pe un protocol special WAP (Wireless Access Protocol). Un dispozitiv WAP poate fi un telefon mobil îmbunătăŃit, un PDA sau un calculator portabil fără servicii pentru voce. Prin acestea, utilizatorii pot accesa o poartă WAP folosind legătura fără fir şi pot trimite cerei de pagini Web. Poarta verifică memoria ascunsă pentru pagina cerută. Dacă există o trimite, dacă nu o ia de pe Internetul cu fir. WAP-ul este de fapt o stivă de protocoale pentru accesarea Web-ului, optimizată pentru conexiuni cu bandă de transfer mică, folosind dispozitive fără fir, cu procesoare lente, puŃină memorie şi ecran mic. Aceste cerinŃe sunt evident diferite de cele ale unui PC de birou standard. Nivelul cel mai de jos suportă toate sistemele de telefonie mobilă existente, inclusiv GSM, CDMA, D-AMPS. Rata de transfer pentru WAP 1.0 este de 9600 bps. Deasupra lor se află protocolul pentru datagrame, WDP (Wireless Datagram Protocol), care este de fapt un UDP. Urmează nivelul de securitate, evident necesar într-un sistem wireless. Peste el se află un nivel de tranzacŃie sigură sau nesigură care se ocupă de cereri şi răspunsuri. Este echivalentul lui TCP care nu poate fi folosit în legături fără fir din motive de eficienŃă. Urmează un nivel echivalent celui de sesiune, iar deasupra lor se află programul de navigare WAE. La nivel WAE nu se foloseşte HTML, ci un limbaj de marcare pentru aplicaŃii fără fir WML (Wireless Markup Language), o aplicaŃie a XML. Prin urmare, un dispozitiv WAP nu poate accesa decât pagini WML. Pentru a putea accesa si pagini HTML este necesar un filtru (convertor) de la HTML la WML.

144

Server Web WTP

HTML

WML

WML Dispozitiv WAP

StaŃie de bază

Internet

Poartă WAP Filtru de la HTML la WML

Fig. 6.2 Arhitectura WAP

Deoarece serviciul WAP nu putea folosi direct HTML, au început să se caute alte soluŃii cum ar fi i-mode (information mode). Serviciul i-mode are trei componente de bază: - un nou sistem de transmisie; - un nou telefon; - un nou limbaj pentru programarea paginilor Web. Sistemul de transmisie constă din două reŃele separate. O reŃea cu comutare de circuite pentru serviciul de telefonie la care taxarea este proporŃionată cu timpul de folosire a reŃelei. Cealaltă reŃea cu comutare de pachete este destinată traficului de date şi în care terminalul de voce-date este conectat în permanenŃă, iar taxarea se face funcŃie de pachetele transferate. Când teminalul i-mode este pornit, utilizatorului i se prezintă o listă cu categoriile de servicii aprobate oficial, printre care poştă electronică, ştiri, meteo, sport, jocuri, comerŃ, servicii bancare etc. Reteaua de date este bazată pe CDMA şi trimite pachete de 128 octeŃi la 9600 bps. Până la o poată de conversie se foloseşte un protocol de transport simplificat LTP (Lightweight Transport Protocol). Telefoanele actuale au procesoare care funcŃionează la aproximativ 100 MHz, câŃiva megaocteŃi de memorie ROM rapidă, până la 1 MB de RAM şi un ecran încorporat cu până la 120×160 pixeli si 256 de culori. În lipsa mouse-lui navigarea pe ecran se face cu săgeŃi. WAP 1.0 şi i-mode au fost primele încercări de Web fără fir. Primul a eşuat iar al doilea este destinat mai mult tinerilor în scop de divertisment. Ca urmare s-a trecut la generaŃia a doua de Web fără fir. Preluând ceea ce era bun la WAP 1.0, s-a trecut la WAP 2.0. Se foloseşte serviciul de transfer cu comutare de pachete de tipul GPRS, pentru a suporta o mare diversitate de dispozitive, de la telefoane mobile până la calculatoare portabile puternice. Vocea şi datele încep să se contopească, de exemplu legarea unei imagini de un text sau de un număr de telefon etc. WAP 2.0 suportă limbajul XHTML Basic, special gândit penru telefoane mobile, televiziune, PDA-uri, dispozitive pentru vânzare automată etc. Viteza de transfer este în jur de 384 Kbps, mult mai mare decât la WAP 1.0 unde este de 9,6 kbps. Totuşi un concurent serios pentru WAP şi i-mode este 802.11 care oferă până la 54Mbps.

6.4 Multimedia O nouă categorie de aplicaŃii care câştigă tot mai mult teren în lumea reŃelelor de calculatoare o constituie aplicaŃiie multimedia. Generic, multimedia înseamnă două sau mai multe media într-o aplicaŃie comună. Cel mai cunoscut exemplu este combinarea dintre mediile audio şi video, de obicei într-o manieră interactivă. Combinarea text grafică nu este o aplicaŃie mltimedia propriu-zisă. Combinarea trebuie să se refere la două medii continue care au loc întrun spaŃiu de timp bine definit. Nici chiar radio pe Internet nu poate fi considerată o aplicaŃie multimedia, deşi mulŃi aşa o consideră. Sursele de informaŃie multimedia produc o mare cantitate de informaŃie, chiar dacă o parte însemnată a acesteia are caracter redundant. Pentru transmiterea 145

acestei mari cantităŃi de informaŃie analogică la origine (continuă în timp şi nivel) sunt necesare două prelucrări specifice: conversia analog-numerică (digitizarea) şi compresia. Digitizarea înseamnă transformarea semnalului analogic în semnal numeric şi se face cu circuite electronice dedicate, numite convertoare analog-digitale. Baza acestei transformări o constituie teorema lui Nyquist care spune că un semnal analogic poate fi refăcut din eşantioanele sale dacă acestea se iau cu o frecvenŃă egală cu cel puŃin dublul fercvenŃei maxime din spectrul semnalului analogic. După eşntionare se face cuantizarea care transformă spaŃiul continuu al nivelului semnalului analogic într-un spaŃiu discret, cu N nivele de amplitudine. Apoi fiecare nivel discret este codificat binar cu n = log 2 N biŃi, rezultând semnalul binar. Acesta are bandă de frecvenŃă mare şi pentru a fi transmis în mod eficient pe canale de comunicaŃie trebuie compresat. Tipul de compresie depinde de semnalul supus acestui proces. Pentru semnalul vocal (telefonic) se foloseşte compresia vocală realizată de vocodere. Pentru semnale muzicale se foloseşte compresia MPEG audio de nivel 3, cunoscută larg sub numele MP3. Codificarea MP3 este o codificare de tip perceptiv, adică exploatează particularităŃile sistemului auditiv uman. În principiu ea constă în transformarea Fourier a semnalului audio, prelucrarea acestora componente spectrale şi transmiterea doar a celor dominante la un moment dat (frecvenŃe nemascate). Codificarea MP3 se poate face şi prin prelucrare în timp a semnalului audio.

6.4.1 Fluxuri audio Internetul este plin de situri Wb cu muzică, pe care utilizatorii le pot selecta uşor cu mouseul. Transmiterea de programe muzicale pe Internet se poate face în timp real sau nu. Cea mai simplă situaŃie este când descărcarea unui flux muzical nu se face în timp real. În acest caz, utilizatorul selectează o melodie MP3 afişată pe sit. Programul de navigare stabileşte o conexiune TCP cu serverul Web pe care este o hiper-legătură la un cântec. În pasul următor trimite o cerere GET în HTTP pentru a solicta cântecul. Serverul citeşte cântecul care este un fişier MP3 de pe disc şi îl trimite înapoi programului de navigare. Dacă fişierul este mai mare decât memoria serverului, melodia se trimite în blocuri. Folosind opŃiunea MIME, de exemplu audio/mp3, programul de navigare caută să vadă cum trebuie livrat fişierul. De obicei, fiecare fişier are asociat un program ajutător (o aplicaŃie RealOne Player, Windows Media Player, Winamp), cu care programul de navigare comunică. Fişierul muzical va fi salvat pe server ca un fişier auxilar, în formatul necesar. Programul de redare al fişierului va primi numele acestui fişier auxiliar şi va începe să încarce şi să redea muzica bloc după bloc. Redarea poate începe numai după ce s-a descărcat toată melodia, ceea ce poate lua câteva minute. Dacă un fişier MP3 tipic are 4MB şi rata de transfer este de 56 Kbps (cazul unui modem), durata descărcării este cam 10 minute. Pentru descărcarea în timp real de pe Web a progamelor muzicale, se foloseşte un server muzical dedicat şi un protocol pentru fluxuri în timp real (RTSP-Real Time Streaming Protocol). Programele de redare a fişierelor media au patru lucruri importante de făcut: - controlează interfaŃa cu utilizatorul; - tratază erorile de transmisie; - decomprimă melodia; - elimină fluctuaŃiile. InterfaŃa cu utilizatorul are de multe ori forma umei unităŃi muzicale stereo, cu butoane, comenzi, afişaje video, foarte sugestivă şi uşor de mânuit, pe care utilizatorul o poate folosi direct acŃionând butoanele (Windows Media Player, Winamp, CD Player etc.). Transmisia muzicală în timp real foloseşte rareori TCP deoarece o eroare de transmisie poate produce o pauză muzicală inacceptabilă. Se folosesc protocoale de tip RTP care utilizează UDP, acesta admiŃând pierderea de pachete. Tratarea erorilor se face nu prin retransmisie ci prin 146

interpolare, iar pentru reducerea lor se face o transmisie întreŃsută. Decomprimarea melodiei necesită resurse importante, dar în prezent se poate face uşor şi în timp real. ExistenŃa fluctuaŃiilor în viteza de transmisie este încă o problemă deranjantă în sistemele muzicale în timp real. Pentru a reduce efectul lor, se foloseşte o memorie tampon în care se reŃin 10-15 sec de muzică înainte de începerea redării, cu rolul de a prelua fluctuaŃiile inevitabile. Serverul trebuie să Ńină mereu această memorie încărcată.

6.4.2 Radio pe Internet Radio pe Internet este din ce în ce mai popular, mai ales sub forma unor programe muzicale, comerciale, educaŃionale, cu surse şi Ńinte de public precise. Şi aici există două soluŃii. Prima este pregătirea programelor, stocarea lor pe disc, inclusiv arhivarea lor şi accesarea la cerere. Cealaltă soluŃie este transmiterea în direct, în unele cazuri simultan prin aer şi Internet. Unele dintre tehnicile aplicabile fluxurilor audio sunt valabile şi pentru radio, dar sunt şi diferenŃe. Un element comun este existenŃa memoriei tampon pentru preluarea fluctuaŃiilor. În cazul fluxurilor audio descărcarea se poate face şi cu viteză mai mare decât cea de redare şi oprirea din timp în timp a traficului, fără ca beneficiarul programlui muzical să ştie acest lucru. În cazul radioului pe Internet, descărcarea şi redarea se fac întotdeauna la aceeaşi viteză. O altă diferenŃă este o staŃie radio are un nmăr mare de abonaŃi, pe când fluxurile audio sunt punct la punct. In aceste condiŃii, radioul pe Internet ar trebui să folosească transmiterea multiplă cu protocoale RTP/RTSP. Practic însă nu se întâmplă aşa. Utilizatorul sabileşte o conexiune TCP cu staŃia şi fluxul este transmis pe acea conexiune. Fireşte că apar problemele despre care s-a vorbit anterior legate de mecanamele specifice TCP de tratare a erorilor de transmisie. Trei sunt motivele pentru care se foloseşte transmiterea singulară TCP. Primul este că puŃine ISP-uri suportă trimiterea multiplă. Al doilea este că TCP este mult mai cunoscut decât RTP şi este suport pentru multe alte aplicaŃii. Al treilea este că mulŃi clienŃi ascultă radio la serviciu, unde configurările de reŃea sunt făcute pe TCP, protejate prin firewall. Acesta acceptă conexiuni TCP de la portul de la distanŃă 25 (SMTP pentru poştă electronică) şi de la portul de la distanŃă 80 (HTTP pentru Web) pecum şi pachete UDP de la portul de la distanŃă 53 (DNS). În rest orice poate fi blocat de zid din motive de protecŃie, inclusiv RTP. Securitatea asigurată de firewall cauzează însă eficienŃa aplicaŃiilor mutltimedia. 6.4.3 Voce peste IP ReŃelele de calculatoare oferă în prezent o bună oportunitate de a transmite semnale telefonice vocale, cu atât mai mult cu cât rata de transmisie pe un canal telefonic numeric este mică în compraŃie cu fluxurile de date ale celorlalte aplicaŃii. Canalul telefonic numeric standard are rata de transmisie de 64 kbps, dar utilizarea unor metode de compresie adecvate pot reduce semnificativ această rată. Telefonia pe Internet sau voce peste IP impune utilizarea unor protocoale de transfer în timp real, deoarece vocea nu suportă întârzieri variabile cum pot suporta alte aplicaŃii. Încă din 1996 ITU a elaborat recomandarea H.323, revizuită în 1998 care propune o suită de protocoale şi o arhitectură pentru acest tip de servicii. În centrul modelului arhitectural este poarta care conectează reŃeaua de telefonie la Internet. Pe partea de telefonie foloseşte protocoalele PSTN (Public Switched Telephone Network), iar pe partea de Internet comunică prin protocoalele H.323. Dispozitivele de comunicaŃie se numesc generic terminale. Un LAN poate avea un administrator de poartă care controlează punctele finale din zona sa de responsabilitate. Pentru stabilirea şi eliberarea de conexiuni, asigurarea de tonuri, generarea de sunete de apel etc. se foloseşte protocolul ITU Q.931. Canalul PC – administrator de poartă pe care îl administrează se numeşte canal RAS (Registration/Admission/Status). El permite terminalelor să intre sau să părăsească zona, să ceară sau să elibreze bandă de transfer, să asigure actualizări de stare şi altele. Pentru transferul efectiv 147

al datelor de tip voce se foloseşte protocolul RTP. Stiva de protocoale H.323 este în fig. 6.4. Terminal Zonă Poartă

Adm. de poartă

ReŃea de telefonie

Intrenet

Fig.6.3 Model arhitectural H.323 pentru telefonie pe Internet Voce G.7xx RTP

RTCP

RAS (H.225)

Control Q.931 (Semnaliz. apel)

UDP

H.245 (Control apel)

TCP IP Protocol de nivel LD Protocol de nivel fizic

Fig. 6.4 Stiva de protocoale H.323

Pentru a vedea cum funcŃionează împreună aceste protocoale, să considerăm că un terminal PC de pe LAN apelează un telefon aflat la distanŃă. Mai întâi PC-ul trebuie să localizeze administratorul de poartă. Pentru aceasta difuzează un pachet UDP de aflare a administratorului de poartă pe portul 1718. Când administratorul de poartă răspunde, PC-ul află adresa IP a administratorului de poartă. Se înregistrează la acesta prin trimiterea unui mesaj RAS într-un pachet UDP. După ce a fost acceptat, PC trimite un mesaj de admitre RAS, cerând lărgime de bandă. După ce banda a fost acceptată, poate face iniŃierea apelului. Apoi PC stabileşte o conexiune TCP cu administratorul de poartă pentru a iniŃia apelul. Pentru efectuarea apelului foloseşte protocoalele din reŃeaua de telefonie, care sunt orientate pe conexiune, deci este necesar TCP. Deoarece canalul RAS dintre PC şi administratorul de poartă nu are nimic cu sistemul telefonic, creatorii H.323 au fost nevoiŃi să folosească fie UDP fie TCP. A fost ales UDP fiind mai simplu. În acest moment PC-ul are asigurată bandă de transfer pe care poate trimite mesaje Q.931 SETUP (de configurare) peste conexiunea TCP. Administratorul de poartă răspunde cu mesaj Q.931 CALL PROCEEDING pentru a confirma primirea cererii şi în acelaşi timp trimite mai departe mesajul SETUP spre poartă. Poarta, care este jumătate calculator, jumătate comutator telefonic, lansează prin reŃeaua telefonică un apel obişnuit către telefonul dorit. În acelaşi timp, poarta răspunde spre chemător că se face apel la destinaŃie. Când destinatarul a ridicat receptorul, oficiul final al acestuia trimite înapoi un mesaj Q.931 CONNECT pentru a anunŃa PC-ul că are o conexiune stabilită. Din acest moment administratorul de poartă nu mai este în buclă, deşi poarta mai este. Pachetele următoare trec peste administratorul de poartă, mergând direct la adresa IP a porŃii. Protocolul H.245 este folosit acum pentru negocierea parametrilor apelului, utilizând canalul de conrol H.245, care este totdeauna deschis. Fiecare parte începe prin anunŃarea capabilităŃilor sale: dacă suportă transmisii video, conferinŃe, ce tipuri de codificări suportă etc. După ce se cunosc aceste posibilităŃi, se stabilesc două canale unidirecŃionale, un tip de codor şi alŃi 148

parametrii. După ce s-au finalizat toate negocierile, poate începe transferul fluxurilor de date folosind RTP. El este administrat prin RTCP care joacă rol de control al congestiei. Dacă se fac transmisii audio/video se ocupă de sincronizarea lor. Când oricare din cele două terminale închide, canalul Q.931 de semnalizare opreşte conexiunea. 6.4.4 SIP - Protocolul de iniŃiere a sesiunii IETF nu a avut aprecierei foarte bune despre H.323 care a fost elaborat de ITU (era considerat mare, complex, inflexibil) şi s-au gândit să ceva mai simplu pentru vocea peste IP. Astfel a apărut SIP (Session Initiation Protocol). El descrie configurarea apelurilor telefonice pe Internet, videoconferinŃele şi alte aplicaŃii media. SIP este doar un modul, faŃă de H.323 care este o suită de protocoale şi a fost gândit pentru a lucra bine cu aplicaŃiile existente. Defineşte numerele de telefon ca URL-uri pentru a fi incluse în pagini de Web, astfel că un clic pe el poate iniŃia un apel telefonic. SIP este un protocol de tip aplicaŃie care poate rula peste TCP sau UDP. SIP poate stabili sesiuni bilaterale (apeluri telefonice obişnuite), sesiuni multilaterale (în care se poate auzi şi vorbi), sesiuni cu trimitere multiplă. Sesiunile pot conŃine audio, video, date (jocuri cu mai mulŃi utilizatori în timp real). SIP poate suporta o varietate de servicii, inclusiv localizarea apelantului dacă acesta nu este la calculatorul său de acasă), să determine capabilităŃile sale, să trateze mecanismele de configurare şi terminare. Numerele de telefon sunt reprezentate ca URL-uri folosind schema sip, de forma sip:[email protected] pentru utilizatorul student de la calculatorul specificat de DNS prin utm.ro. URL-urile sip pot conŃine adrese Ipv4, Ipv6 sau chiar numere de telefon. Protocolul SIP este bazat p un text modelat în HTTP. Un capăt trimite un mesaj în text ASCII care conŃine un nume de metodă pe prima linie, urmată de linii adiŃionale ce conŃin antete pentru transmiterea parametrilor. Multe dintre antete sunt luate din MIME. TABELUL 6.6 Câteva metode SIP Metoda Descriere INVITE Cerere de iniŃiere a unei sesiuni ACK Comfirmare că o sesiune a fost iniŃiată BYE Cerere de terminare a unei sesiuni OPTIONS Inerogare a unui calculator despre capabilităŃile sale CANCEL Anularea unei cereri în aşteptare REGISTER Informare a unui server despre schimbarea locaŃiei utilizatorului Pentru stabilirea unei sesiuni, apelantul fie crează o conexiune TCP cu apelatul şi trimite un mesaj INVITE, fie trimite un mesaj INVITE într-un pachet UDP. În ambele cazuri, antetele din a doua şi din următoarele linii descriu structura corpului mesajului care conŃine capabilităŃile apelantului, tipurile de mediu de transmisie şi formatele. Dacă apelatul acceptă convorbirea, el răspunde cu un cod de răspuns de tip HTTP precizând şi capabilităŃile sale. Conexiunea este stabilită prin mecanismul înŃelegerii în trei paşi. La terminarea sesiunii, oricare din cei doi corespondenŃi poate cere desfacerea ei prin trimiterea unui mesaj ce conŃine metoda BYE. H.323 şi SIP au multe asemănări dar şi deosebiri. Ambele permit legături bilaterale şi multilaterale folosind ca terminale atât calculatoare cât şi aparate telefonice. H.323 este un standard tipic al industriei de telefonie specificând o întreagă stivă de protocoale, cu ceea ce este permis şi ce nu. SIP este un protocol specific de Internet care lucrează prin schimbul de linii scurte de texte ASCII. Lucrează bine cu protocoalele din Internet, dar mai greu cu protocoalele de semnalizare din sistemul telefonic existent. El este mai flexibil decât H.323 şi se poate adapta mai uşor noilor aplicaŃii. Problema vocii peste IP este încă o temă în curs de analiză şi îmbunătăŃire. 149

6.5 AplicaŃii Video pe Internet Înainte de a descrie câteva aplicaŃii video, sunt necesare unele percizări referitoare la sistemele de transmitere şi redare a imaginilor în mişcare însoŃite de sunete. În primul rând trebuie deosebite sistemele video analogice de cele numerice. În ambele cazuri imaginea şi sunetul se captează separat de la sursă şi apoi se tratează prin diverse procedee şi se transmit la destinaŃie fie împreună, fie pe căi separate pentru a fi redate împreună. În continuare vom face unele precizări referitoare la semnalul imgine. Sistemele analogice captează imaginea sub formă de cadre (25 cadre pe sec.în standardul european) în format 4:3. Pentru transmitere pe canale analogice, fiecare cadru este baleiat în 625 de linii care se transmit secvenŃial. Sistemele color necesită la captare descompunerea imaginii în cele trei culori fundamentale, RGB, care apoi se combină într-un semnal de crominanŃă. Banda de frecvenŃe ocupată de un semnal video este de aproximativ 6 MHz. Sistemele numerice descompun fiecare cadru de imagine într-o matrice de pixeli, configuraŃiile cele mai cunoscute fiind 1024×768, 1280×960 şi 1600×1200. Fiecare pixel este codificat pe un număr de biŃi (de exemplu 24) pentru a distinge un număr foarte mare de nuanŃe de culori. Un astfel de sistem numeric ar necesita o rată de transmisie foarte mare, de ordinul sute Mbps, ceea ce este de neacceptat pentru utilizatori de domiciliu. Din acest motiv semnalul video digital trebuie comprimat. În practică se folosesc două sisteme de compresie, numite şi sisteme de codare a imaginilor: JPEG şi MPEG. Ambele trebuie să fie suficient de rapide pentru a face codarea şi decodarea în timp real şi la un cost acceptbil. Standardul JPEG (Join Photographic Experts Group) este folosit pentru compresia imaginilor cu tonuri continue, de exemplu fotografii. El este important pentru multimedia deoarece este folosit şi la codificarea cadru cu cadru a imaginilor în mişcare. Standardul MPEG (Motion Picture Experts Group) este de fapt un set de standarde folosit pentru compresia video şi audio a filmelor (în general a imaginilor dinamice însoŃite de sunete). El reduce rata de transmisie a semnalului video digital până la aproxmativ 1,2 Mbps făcând posibilă transmiterea acestora chiar şi pe linii torsadate pe distanŃe mici. MPEG are două versiuni: MPEG-1 şi MPEG-2. Prima a fost gândită în primul rând pentru a asigura ieşire de viteză acceptabilă la sistemele videorecorder, iar ultima este legată şi de apariŃia televiziunii de înaltă definiŃie (HDTV) unde poate asigura o rată de ieşire de 4-8 Mbps. 6.5.1 Video la cerere Video la cerere este un serviciu interactiv care asigură difuzarea la cererea clienŃilor de programe video (filme). DistribuŃia de programe TV prin cablu sau atmosferă, este şi aceasta un mod de TV la cerere, doar că se difuzează simultan tot pachetul de programe într-o bandă de frecvenŃe foarte mare, iar selecŃia unui anume program o face utilizatorul prin comanda televizorului. Nu există legătură inversă, de la client la staŃia de difuzare. În cazul serviciului video la cerere, la abonat se transmite la un moment dat un singur program, selectat de acesta dintr-o listă dată. O particularitate importantă a sistemului video la cerere spre deosebire de distribuŃia de programe TV este posibilitatea de a opri la un moment dat vizualizarea unui film şi de a-l continua după dorinŃă. Pentru aceasta sunt necesare servere video speciale. Un caz mai simpl este video aproape la cerere, când un film se poate începe oricând, dar odată pornit el merge continuu, fără, a se mai putea opri temporar şi porni aleator. Modelul general pe care mulŃi îl folosesc este cel din fig. 6.5. În centru se află o reŃea de transport de bandă largă şi de arie mare (reŃea backbone). La ea sunt conectate mii de reŃele de distribuŃie locale, cum ar fi cabluri TV sau sisteme ale companiei de telefonie. Sistemele de distribuŃie locală ajung în casele clienŃilor unde se opresc în cutii de conectare care sunt de fapt calculatoare specializate. În sistem pot fi incluse servere video amplasate mai aproape de 150

utilizator în scopul reducerii necesarului de bandă în orele de trafic maxim. Server video

Comutator ReŃea locală de distribuŃie

Server audio

ReŃea backbone ATM sau SDH

Server local de virtualizare

ClienŃi ReŃea locală de distribuŃie

Fig. 6.5 Vedere generală a unui sistem video la cerere Video-serverele trebuie să poată stoca uriaşe cantităŃi de informaŃie. Dacă un film MPEG-2 normal are cam 4GB, atunci 10 000 de filme necesită 40 tera bytes. La acestea se adaugă apoi alte nevoi (programe TV vechi înregistrate, programe sportive, cataloage de produse etc.) ceea ce cerază probleme de stocare foarte serioase. Banda magnetică ca mediu de stocare rămâne un concurent serios faŃă de tehnicile mai noi (CD, DVD). Dezavantajul ei este timpul de acces mare (acces secvenŃial). Mediul de stocare cu accesul cel mai rapid este memoria RAM. O soluŃie de compromis este arhiva de discuri cu două forme de prezentare: ferma de discuri (disk farm) şi aria de discuri (disk array). Arhitectura tipică a unui server video combină cele 4 moduri principale de stocare: RAM, disc magnetic, DVD şi banda magnetică şi foloseşte un sistem de acces sofisticat. Necesarul de viteză de transmisie mare la abonat cerută de aplicaŃiile video se poate rezolva în mai multe moduri. O primă soluŃie este ADSL-ul, mai ales că necesarul de viteză mare este pe sensul descendent (spre client) şi că aproape fiecare casă are o pereche torsadată folosită de serviciul telefonic. Ea se poate folosi doar pe distanŃe scurte 1-2 km. O soluŃie mai bună privind banda de transmisie este fibra optică până la colŃul străzii (fiber to the curb - FTTC) sau fibra până la hub (fiber to the hub – FTTH). Cea mai bună soluŃie din punct de vedere al benzii este fibra până în casă, dar este cea mai scumpă. SoluŃia preferată actualmente este cea combinată fibră – coaxial (HFC – hibrid fiber coax). Concluzii Nivelul aplicaŃie este nivelul care oferă utilizatorului acces direct la servicii. În Internet rulează o gamă foarte mare de aplicaŃii. Dintre acestea mai răspândite sunt: Web-ul (navigarea pe Internet), poşta elecronică, transferul de fişiere, comunicarea directă (chat-ul), conectarea la distanŃă, telefonia pe Internet (vocea peste IP), multimedia ( TV, filme la cerere, programe muzicale) etc. Ele sunt implementat printr-o o gamă largă de protocoale, multe dintre ele funcŃionând în timp real. Toate aceste protocoale se bazează la rândul lor pe o suită de protocoale plasate pe diferitele nivele structurale specifice arhitecturilor de reŃele de calculatoare. Pentru localizarea resurselor din Internet şi rularea aplicaŃiilor două concepte sunt fundamentale: DNS şi URL. Primul asigură o clasificare şi împărŃire sistematică a resurselor din Internet, iar a doua asigură localizarea (modul de acces) la acestea.

151

Întrebări 1. 2. 3. 4. 5. 6. 7. 8.

Care este modul de localizare a documentelor pe servere WEB? Se face distincŃie între literele mari şi mici în cadrul numelor de domenii (DNS)? Care sunt principalele protocoale de nivel aplicaŃie? Serviciul DNS foloseşte TCP sau UDP? ArgumentaŃi răspunsul. Se poate ca o maşină DNS să aibă mai multe adrese IP? În ce situaŃie? Când sunt transmise, paginile Web sunt însoŃite de antete MIME. De ce? Care sunt principalele programe de codare folosite în aplicaŃiile multimedia? Când sunt necesare programe de vizualizare externe? Cum ştie un program de navigare pe care să-l folosească? 9. Care sunt cele mai cunoscute programe de navigare pe Internet? FaceŃi o scurtă caracterizare a lor. 10. Ce este un server de nume şi ce rol are? 11. Ce este un server de fişiere şi ce rol are? 12. Ce este un server de poştă electronică şi ce rol are? 13. Ce este un server Webşi ce rol are? 14. Ce este un agent de transfer de poştă electronică şi ce rol are? 15. Ce este un agent utilizator şi ce rol are? 16. Ce sunt extensiile de poşta cu scop multiplu (MIME) şi unde se folosesc? 17. Ce este un URL şi care sunt părŃile componenet? 18. Cum se generează peginile Web dinamice? 19. Care este structura unei pagini HTML? 20. Ce semnificaŃie au câmpurile din următoarea adresă de web: nume_protocol://nume_calculator:număr-port/nume_cale#etichetă?

Teme de casă 1. DescrieŃi serviciul numelor de domenii din Internet. 2. DescrieŃi serviciul de navigare pe Internet 3. DescrieŃi serviciul de transfer de fişiere 4. DescrieŃi principalele limbaje folosite pentru crearea paginilor Web 5. DescrieŃi protocolul HTTP. 6. DescrieŃi protocolul SMTP 7. DescrieŃi protocolul IMAP 8. DescrieŃi protocolul POP3 şi utilitatea sa. 9. DescrieŃi o aplicaŃie de tip chat pe Internet. 10. DescrieŃi o aplicaŃie de tip VoIP. 11. DescrieŃi o aplicaŃie de tip radio pe Internet. 12. DescrieŃi o aplicaŃie de tip videoconferinŃă. 13. ProiectaŃi o pagină Web statică. 14. ProiectaŃi o pagină Web dinamică.

152

Bibliografie 1. Iosif Praoveanu - ReŃele de calculatoare, Editura UniversităŃii Titu Maiorescu, Bucureşti 2009 2. Andrew S. Tanenbaum - ReŃele de calculatoare, ediŃia a 4-a, Editura Byblos, Bucureşti 2004 3. Adrian Munteanu, Valerică Greavu-Şerban, Gabriel Cristescu – ReŃele Windows Servere şi clienŃi. AplicaŃii practice Editura Polirom, Bucureşti, 2004 4. Ioan Jurca – Programarea reŃelelor de calculatoare, Editura de Vest, Timişoara, 2001 5. Eugen Petac, Bogdan Muşat – ReŃele de calculatoare, Editura MatrixRom, Bucureşti, 2005 6. Tatiana Rădulescu, Henri-George Coandă – QoS în reŃelele IP multimedia, Editura Albastră, Cluj-Napoca, 2007 7. Fred Halsall- Computer Networking and the Internet, Fifth Edition, Addison-Wesley, 2005 8. Adrian Munteanu, Valerică Greavu-Şerban – ReŃele locale de calculatoare Proiectare şi administrare, Editura Polirom, 2003 9. Tim Parker, Mark Sportack – TCP/IP, Editura Teora, Bucureşti, 2002 10. Andrew S. Tanenbaum - Computer Networks, Forth Edition, Problem Solutions, Prentice Hall, 2003 11. Dennis Maiona – ReŃele locale de calculatoare, Editura Teora, Bucureşti, 2002 12. Charlie Russel, Sharon Crawfort, Jason Gerend – Microsoft Windows Server 2003 Administrator’s Companion, Microsoft Press, 2003 13. Jonathan Hussel – Sams Teach Yourself Windows Server 2008 in 24 hours, Editura O’Reilly, 2008

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF