Sunteți pe pagina 1din 35

1

1.1 Protocolul IPX. Avantaje si dezavantaje Netware IPX este un protocol bazat pe datagrame (fr conexiune). Termenul fr conexiune nseamn c atunci cnd o aplicaie folosete IPX pentru a comunica cu alte aplicaii din cadrul reelei, nu este stabilit nici o conexiune sau cale de date ntre cele dou aplicaii. Deci, pachetele IPX sunt trimise ctre destinaiile lor, dar nu se garanteaz i nici nu se verific faptul c acestea ajung sau nu la destinaie. Termenul datagram (datagram) desemneaz faptul c un pachet este tratat ca o entitate individual, care nu are nici o legtur sau relaie secvenial cu alte pachete. IPX execut funcii echivelente nivelului reea din modelul OSI. Aceste funcii includ adresare, rutare i transfer de pachete pentru schimburi de informaie, funciile IPX fiind dedicate transmisiei de pachete n cadrul reelei. Avantaje i dezavantaje Deoarece IPX execut doar sarcinile nivelului reea din modelul OSI, ofer beneficiile vitezei i performanei care rezult din ncrcarea mic pe care o produce. Totui, serviciile IPX sunt insuficiente dac sunt necesare garaniile nivelului transport. IPX este deci folosit n cazul n care este potrivit tipului particular de aplicaie. Principalele avantaje i dezavantaje ale IPX sunt: Disponibilitatea simultan a sursei i destinaiei nu este necesar, deoarece nu exist o conexiune predeterminat. Totui, sursa nu primete nici o confirmare a faptului c destinaia a primit datele; Flexibilitatea n rutarea pachetelor este mare, deoarece nu este necesar o rut predeterminat a pachetelor; Pachetele pot fi trimise ctre destinaii multiple prin duplicarea pachetului i schimbarea adresei destinaie. Un mesaj se poate trimite folosind IPX prin plasarea mesajului n poriunea de date a unui pachet IPX, la fel ca i punerea unui mesaj ntr-un plic. Headerul pachetului IPX trebuie s conin reeaua destinaie, numerele de nod i soclu (adic adresa la care trebuie trimis pachetul). IPX trimite fiecare pachet individual prin diferite subreele (posibil pe diferite rute pentru a profita de traficul mai sczut) pn cnd pachetul atinge destinaia. Deoarece fiecare pachet este o entitate individual, rutarea i secvenierea pachetelor poate s varieze. Cnd pachetul ajunge, sursa nu primete nici o informaie privind livrarea cu succes a pachetului. Doar dac destinaia ia hotrrea s trimit un pachet ctre surs, sursa poate fi sigur de ajungerea pachetului la destinaie. Oricum, IPX trimite cu succes aproximativ 95% din numrul pachetelor. 1.2 Structura pachetului IPX Pachetul IPX este identic din punct de vedere al structurii cu un pachet Xerox IDP. El are 2 pri: un header de 30 octei i o poriune de date cu o lungime ntre 0 i 546 octei. Lungimea minim a pachetului este 30 octei (doar headerul), iar lungimea sa maxim este 576 octei (30+546). Structura pachetului IPX este prezentat n tabelul 1. Toate cmpurile sunt structurate high-low, adic cel mai semnificativ octet al cmpului este primul. Offset 0 2 4 5 6 10 16 18 22 28 30 Coninut Checksum Length Transport Control Packet Type Destination Network Destination Node Destination Socket Source Network Source Node Source Socket Data Portion Tip BYTE[2] BYTE[2] BYTE BYTE BYTE[4] BYTE[6] BYTE[2] BYTE[4] BYTE[6] BYTE[2] byte[0546]

Semnificaia cmpurilor headerului este urmtoarea: Checksum (Suma de control) Acest cmp a fost inclus pentru conformitate cu headerul original Xerox. IPX l ncarc totdeauna cu valoarea 0FFFFh. Cartelele de reea aplic sume de control ntregului pachet IPX, deci acest cmp nu este necesar. Length (Lungime) Acest cmp conine lungimea ntregului pachet (header+date). Valoarea lui minim este 30, iar cea maxim 576. IPX seteaz acest cmp. Transport Control (Controlul transportului) Acest cmp este folosit de bridge-urile inter-reea NetWare. IPX l ncarc cu valoarea 0. Packet Type (Tipul pachetului) Acest cmp indic tipul de serviciu oferit sau cerut de ctre pachet. Xerox a definit urmtoarele valori (totui, utilizatorii IPX trebuie s seteze valoarea acestui cmp la 0 sau 4): 0 - Pachet necunoscut; 1 - Pachet care conine informaii de rutare; 2 - Pachet n ecou; 3 - Pachet de eroare; 4 - Packet Exchange Packet (pachet IPX); 5 - Sequenced Packet Protocol Packet (pachet SPX); 16 31 - Protocoale experimentale; 17 - Protocol NetWare Core (Core = miez). Utilizatorii IPX trebuie s seteze tipul pachetului la 0 sau 4, iar utilizatorii SPX trebuie s-i dea valoarea 5. Destination Network (Reeaua destinaie) Acest cmp conine numrul reelei creia i aparine nodul destinaie. n cazul NetWare, reelele din cadrul unei reele globale primesc de la administratorul reelei globale un numr unic de 4 octei. Cnd acest cmp este 0, nodul destinaie este n aceeai reea ca i nodul surs, pachetul nefiind procesat de un bridge inter-reea. Destination Node (Nodul destinaie) Acest cmp conine adresa fizic a nodului destinaie. Lungimea acestui cmp este variabil n funcie de topologia reelei. Un nod din cadrul unei reele Ethernet va avea o adres fizic de 6 octei, pe cnd un nod din cadrul unei reele Omninet va avea o adres de un octet. Dac o adres fizic are lungimea mai mic de 6 octei, adresa trebuie s ocupe cea mai putin semnificativ poziie n cadrul cmpului, prima parte a acestuia trebuind completat cu zero. O adres de nod egal cu 0FFFFFFFFFFFFh (6 octei formai numai din bii unu) identific un pachet broadcast. Destination Socket (Soclul destinaie) Acest cmp conine adresa soclului procesului destinaie a pachetului. Soclurile ruteaz pachetele ctre diferite destinaii n cadrul aceluiai nod. Xerox a rezervat urmtoarele numere de socluri: 1 - Routing Information Packet; 2 - Echo Protocol Packet; 3 - Error Handler Packet; 20h 03Fh - Experimental; 1 0BB8h - Registered with Xerox; Xerox a asignat pentru Novell un set de socluri pentru folosirea de ctre NetWare: 451 - File Service Packet; 452 - Service Advertising Packet; 453 - Routing Informaton Packet; 455 - NetBIOS Packet; 456 - Diagnostic Packet. De exemplu, serverele NetWare accept cereri adresate soclului 451. Source Network (Reeaua surs) Source Node (Nodul surs) Source Socket (Soclul surs) Aceste trei cmpuri au semnificaii similare cu cele corespunztoare destinaiei.

Protocolul SPX. Avantaje si dezavantaje SPX este identic cu IPX cu excepia faptului c ofer servicii suplimentare conferite de faptul c se afl la nivelul transport din modelul OSI, spre deosebire de IPX, aflat la nivelul reea. Aceste funcii suplimentare fac din SPX un protocol orientat ctre conexiune. Aceasta nseamn c nainte ca un pachet SPX s fie trimis, se stabilete o conexiune ntre surs i destinaie. SPX garanteaz livrarea datelor, secvenierea pachetelor, detectarea i corectarea erorilor i suprimarea pachetelor duplicate.
1.3

Avantaje i dezavantaje n schimbul acestor garanii, SPX nu are viteza i performanele IPX. Proiectantul de aplicaii trebuie s determine ce este mai important pentru aplicaiile sale: viteza sau sigurana livrrilor. Astfel, el va alege IPX sau SPX. Iat n continuare cteva dintre avantajele i dezavantajele folosirii SPX: Livrarea garantat a datelor; conexiunea este stabilit nainte ca informaia s fie trimis i la surs se ntorc informaii privind livrarea cu succes. Trimiterea de pachete broadcast este greoaie, deoarece trebuie stabilit o conexiune cu fiecare potenial receptor nainte. De asemenea, unele aplicaii nu au nevoie de garantarea livrrii fiecrui pachet; Secveniere garantat a pachetelor; deci, oricte pachete ar cere transmiterea unui flux de date, acestea vor ajunge n ordine; Suprimarea pachetelor duplicat; n timpul procesului de garantare a livrrii (care include retransmiterea pachetelor considerate pierdute), este posibil apariia unor pachete duplicat care ajung ambele la nodul destinaie; SPX elimin astfel de pachete, deci aplicaia primeste doar o copie a datelor trimise de ctre partenerul de comunicaie. 1.4 Structura pachetelor SPX Un pachet SPX este identic ca structur cu un pachet IPX, cu excepia faptului c are 12 octei suplimentari n header. Pachetul SPX const din dou pri: un header de 42 de octei i un cmp de date care poate conine ntre 0 si 534 octei. Lungimea minim a pachetului este de 42 octei (doar headerul), iar cea maxim de 576 octei (42+534). Cmpurile pachetului SPX care au aceeai denumire ca i cele din cadrul pachetelor IPX au i aceeai semnificaie ca i acestea, cu specificarea c niciodat n cadrul unui pachet SPX nu se permite o valoare 0FFFFFFFFFFFFh a adresei nodului destinaie (nu sunt permise broadcast-uri), iar SPX ncarc totdeauna valoarea 5 n cmpul Packet Type. n tabelul 2 este prezentat structura pachetului SPX: Offset 0 2 4 5 6 10 16 18 22 28 30 31 32 Coninut Checksum Length Transport Control Packet Type Destination Network Destination Node Destination Socket Source Network Source Node Source Socket Connect. Control Data Stream Type Source Connect. ID Tip BYTE[2] BYTE[2] BYTE BYTE BYTE[4] BYTE[6] BYTE[2] BYTE[4] BYTE[6] BYTE[2] BYTE BYTE BYTE[2]

34 36 38 40 42

Dest. Connect ID Sequence Number Acknowledge Number Allocation Number Data Portion

BYTE[2] BYTE[2] BYTE[2] BYTE[2] BYTE[0 534]

Ordinea octeilor n cadrul cmpurilor este high-low, ca i n cazul IPX. Semnificaiile cmpurilor suplimentare fa de cele din cadrul headerului IPX sunt: Connection Control (Controlul conexiunii) Acest cmp conine 4 indicatori de 1 bit folosii de SPX i clienii si pentru a controla fluxul bidirecional de date de-a lungul unei conexiuni: 1 8 - Valori nedefinite de ctre Xerox Sequenced Packet Protocol. SPX i ignor; 10h - Sfritul unui mesaj; clientul seteaz acest bit pentru a semnala sfritul mesajului partenerului su; SPX ignor acest bit i l livreaz neschimat partenerului; 20h - Atenie; clientul seteaz acest indicator dac pachetul este un pachet de atenionare; aceast facilitate nu a fost implementat; SPX ignor acest bit i l livreaz neschimat partenerului; 40h - Se cere confirmare; SPX seteaz acest bit dac este necesar un pachet de confirmare; deoarece SPX controleaz cererile i rspunsurile de confirmare, clientul trebuie s ignore acest indicator; 80h - Pachet sistem; SPX seteaz acest bit dac pachetul este un pachet sistem; aceste pachete sunt folosite intern i nu sunt livrate clienilor. Clienii nu trebuie s foloseasc sau s modifice niciodat biii nedefinii, de confirmare sau sistem. Acetia sunt rezervai pentru folosirea de ctre SPX. Data Stream Type (Tipul fluxului de date) Acest cmp este un indicator de un octet care arat tipul datelor care au fost gsite n cadrul pachetului. Valorile posibile sunt artate n continuare: 0 0FDh - Definit de client; SPX ignor aceste valori; 0FEh - Sfritul conexiunii; cnd un client execut un apel pentru a termina o conexiune activ, SPX va genera un pachet de terminare a conexiunii. Acesta va fi ultimul pachet trimis partenerului n cadrul conexiunii; 0FFh - Confirmarea sfritului conexiunii; SPX genereaz un pachet de confirmare a sfritului conexiunii automat; acest pachet este marcat sistem i nu este livrat clienilor. Source Connection ID (Identificatorul sursei) Acest cmp conine un numr de identificare asignat de ctre SPX sursei pachetului. Destination Connection ID (Identificatorul destinaiei) Acest cmp contine un numr de identificare asignat de ctre SPX destinaiei pachetului i folosit pentru demultiplexarea pachetelor sosite n cadrul multiplelor conexiuni care ajung la acelai soclu; demultiplexarea este necesar deoarece conexiunile active concurente de pe orice main pot folosi acelai numr de soclu. Sequence Number (Numrul de secven) Acest cmp reine numrul pachetelor schimbate ntr-o direcie a conexiunii. Fiecare parte a conexiunii ine propriul contor. Numrul ia valoarea zero dup ce depete 0FFFFh. Deoarece SPX controleaz acest cmp, clienii nu sunt interesai de valoarea lui. Acknowledge Number (Numr de confirmare) Acest cmp indic numrul de secven al urmtorului pachet pe care SPX se ateapt s l recepioneze. Orice pachet cu un numr de secven mai mic dect valoarea acestui cmp este n secvena corect i nu trebuie retransmis. Deoarece SPX controleaz acest cmp, clienii nu sunt interesai de valoarea lui.

Allocation Number (Numr de buffere alocate) Acest cmp indic numrul de buffere de ascultare disponibile ntr-o direcie a conexiunii. SPX poate s trimit pachete doar pn cnd numrul de secven devine egal cu numrul de buffere alocate la cellalt capt al conexiunii. Deoarece SPX controleaz acest cmp, clienii nu sunt interesai de valoarea lui.

1.5

Protocolul INTERNET. Headerul IP. Fragmentarea si reasamblarea pachetelor. Protocolul INTERNET IP(Intenet Protocol) este limitat la funciile de baz necesare transmisiei unui bloc de date (datagram) prin internet. Fiecare bloc de date este o entitate independent, nefiind legat de alte "datagrame" (mesaj fr confirmare). Nivelul IP al hostului asigur servicii protocoalelor de la nivelul transport i folosete serviciile nivelului legturii de date pentru a transmite datagramele hostului destinaie. IP nu pretinde c ar oferi servicii sigure. Calculatoarele gazd (hosts) vor ignora datagramele atunci cnd nu au resurse suficiente pentru procesare i nu vor detecta datagramele pierdute sau ignorate de ctre nivelul legturii de date. IP izoleaz protocoalele de pe nivelele superioare de caracteristicile specifice reelei. Serviciile adiionale furnizate de ctre IP includ diferite nivele de comportare a transmisiei, implicnd caracteristici ca: preceden, nivel de ncredere, ntrzieri. IP permite de asemenea etichetarea datelor, necesar n medii sigure, pentru a asocia datelor informaii de securitate. Transmisia ncepe atunci cnd un protocol de pe nivelul superior transmite date ctre IP pentru livrare. IP mpacheteaz datele n format internet datagram i le transmite protocolului de pe nivelul legturii de date pentru transmisie prin reeaua local. Dac hostul destinaie se afl legat direct n reeaua local, IP trimite pachetul direct acestui host. Dac destinaia se afl ntr-o alt reea, IP trimite pachetul unui gateway IP local pentru transmisie. Acest gateway va trimite pachetul prin urmtoarea reea hostului destinaie sau unui alt gateway. Astfel, datagrama se propag prin setul de reele interconectate de la un modul IP la altul, pn cnd aceasta ajunge la destinaie. Pachetele transmise de ctre hostul numrul 1 pot s circule pe una dintre cele dou ci prezentate. (figura 2)

Figura 2. Transmisia datelor prin intermediul IP


Gateway-urile, uneori numite "Routere IP" (sau "Local Bridges" ori "Remote Bridges") sunt de fapt un fel de "relee de pachete" care interconecteaz dou sau mai multe reele sau subreele. Fiecare gateway conine un modul IP aflat deasupra a dou sau mai multe procese bazate pe protocoale aflate la nivelul legturii de date. Modulele IP folosesc reguli comune pentru interpretarea adreselor internet necesare n procesul stabilirii traseului pe care pachetul trebuie s-l urmeze pentru a ajunge la destinaie. Rutarea executat de ctre un gateway se bazeaz pe cmpul network/subnetwork al adresei internet de destinaie. Echipamentele gateway care conecteaz un set de reele private din punct de vedere al proprietii i administrrii pot s foloseasc orice protocol, fr restricii. De obicei, un asemenea protocol privat se numete Interior Gateway Protocol (IGP). n termeni IP, fiecare astfel de reea administrat independent este numit sistem autonom (Autonomous System).

Pe de alt parte, toate echipamentele gateway care fac legtura ntre reele private i reele publice de date (DDN, Digital Data Networks) trebuie s foloseasc un protocol oficial simplu i bine definit numit Exterior Gateway Protocol. Headerul IP Pachetele (datagramele) IP au un antet (header) bine definit, header definit de standardele DoD (U.S.A. Department of Defense). Acest header are structura prezentat n figura 3. n continuare sunt prezentate cmpurile care compun acest header: Version (Versiune) Abreviere: VER Lungimea cmpului: 4 bii Cmpul Version indic formatul headerului IP. Va fi prezentat n continuare versiunea 4, ultima pn la data apariiei materialului bibliografic avut la dispoziie (1988). Versiunile 13 nu mai erau deja folosite nc la acea dat. Cmpul Version indic versiunea protocolului creia i aparine pachetul. Includerea versiunii protocolului n fiecare pachet face posibil dezvoltarea de noi protocoale i testarea acestora fr a afecta buna funcionare a reelei. Internet Header Length (Lungimea headerului Internet) Abreviere: IHL Lungimea cmpului: 4 bii Unitate: Grupe de cte 4 octei Gam: 515 (implicit 5) Cmpul Internet Header Length indic lungimea headerului IP exprimat n multipli de uniti de 32 bii. Acest cmp este necesar deoarece headerul IP are o lungime variabil datorit faptului c lungimea cimpului Options nu este constant.

Type of Service (Tipul de serviciu) Abreviere: TOS Lungimea cmpului: 8 bii Cmpul Type of Service conine parametrii IP care descriu calitatea serviciului dorit pentru prezentul pachet transmis. Cmpul permite calculatorului gazd s specifice reelelor de tranzit tipul de serviciu pe care l dorete. Cmpul permite specificarea precedenei pachetului, nivelul dorit de ncredere i nivelul presupus de consumare a resurselor, dup cum se va arta mai jos. Tipul de serviciu se folosete pentru a specifica reelelor de tranzit ce serviciu se dorete de la acestea. Reelele de tranzit decid dac pot sau doresc s se achite de serviciile cerute. Total Length (Lungimea total) Abreviere: TL

Lungimea cmpului: 16 bii Total Length este lungimea pachetului, msurat n de date ale pachetului. Se observ c lungimea cmpului Total Length pachetului de 65.536 octei. Identification (Identificare) Abreviere: ID Lungimea cmpului: 16 bii Cmpul reprezint o valoare de identificare folosit pentru a asocia fragmentele unui pachet. ULP (Upper Layer Protocol) care transmite de obicei genereaz aceast valoare ca pe un parametru al interfeei. Altfel, IP genereaz acest cmp n aa fel nct el s fie unic pentru fiecare ULP care transmite. Cmpul Identification indic numrul pachetului pentru a permite calculatorului gazd destinaie s determine crui pachet i aparine fragmentul care tocmai a sosit. Flags (Indicatori) Abreviere: Lungimea cmpului: 3 bii Acest cmp conine indicatorii de control Don't Fragment (a nu se fragmenta, care inhib fragmentarea pachetului de ctre IP) i More Fragments (care ajut la identificarea poziiei unui fragment n pachetul original). Indicatorul Don't Fragment este destinat pentru folosirea cu calculatoare gazd care nu sunt capabile s reconstituie pachetul din fragmentele din care este format. De fapt, multe implementri ale TCP/IP nu permit fragmentarea i reconstituirea pachetelor. Fragment Offset (Offsetul fragmentului) Abreviere: FO Lungimea cmpului: 13 bii Unitate: Grupe de cte 8 octei Gam: 08191 (implicit 0) Cmpul indic poziia fragmentului relativ la nceputul datelor n pachetul original. Att un pachet complet, ct i primul fragment al unui pachet au acest cmp resetat. Fragment Offset localizeaz poziia fragmentului curent ntr-un pachet ca multiplu de 8 bii. Pentru aceasta, lungimea cmpului este de 13 bii, deci sunt permise maximum 8.192 fragmente pentru fiecare pachet, n acest caz extrem, primele 8.191 fragmente vor avea lungimea de un octet. Time-to-Live (Timp de via) Abreviere: TTL Lungimea mpului: 8 bii Unitate: secunde Gam: 0255 (255=4,25 minute) Acest cmp indic timpul maxim ct poate s rmn pachetul n internet. Cnd valoarea acestui cmp, dup decrementare, ia valoarea zero, pachetul ar trebui distrus. Unitatea de timp utilizat pentru msurarea timpului de via al pachetului este secunda, deci timpul maxim de via al unui pachet este 255 secunde (4,25 minute). Valoarea cmpului este sczut cu cel puin 1 de ctre fiecare router prin care trece pachetul. Protocol (Protocol) Abreviere: PROT Lungimea cmpului: 16 bii Acest cmp arat care ULP (Upper Level Protocol) trebuie s recepioneze poriunea de date a unui pachet. Numerele asignate ULP-urilor uzuale sunt disponibile de la DoD Executive Agent for Protocols. Unele vor fi artate mai jos, n tabelul 3. Cmpul Protocol specific protocolul particular de la nivelul 4 cruia i aparine pachetul (de exemplu, TCP sau alt protocol echivalent).

Numr (zecimal) 0 1 5 6 8 9 11 17 20 22 27 28 29 30 61

Prescurtare Reserved ICMP ST TCP EGP IGP NVP UDP HMP XNS-IDP RDP IRTP ISO-TP4 NETBLT

Descriere

Internet Control Message Stream Transmission Control Protocol Exterior Gateway Protocol Any private interior gateway protocol Network Voice Protocol User Datagram Protocol Host Monitoring Protocol Xerox Network Systems Internet Datagram Protocol Reliable Data Protocol Internet Reliable Transaction Protocol ISO Transport Protocol Class 4 Bulk Data Transfer Protocol Any host internal protocol

Tabelul 3. Numere de protocol asignate n cadrul headerului IP.


Header Checksum (Suma de control a headerului) Lungimea cmpului: 16 bii Acest cmp conine o sum de control aplicat doar headerului IP. Suma de control ajut la detectarea unor eventuale erori aprute n timpul transmisiei. Algoritmul dup care se genereaz aceast sum de control este: se adun complementele fa de 1 ale tuturor entitilor headerului (grupate pe cte 16 bii) i apoi se complementeaz suma fa de 1. Suma de control a headerului se folosete doar pentru a verifica validitatea datelor din cadrul headerului. Ori de cte ori pachetul trece printr-un gateway, aceast sum de control este recalculat (deoarece de fiecare dat este modificat cmpul TTL). Source Address (Adresa sursei) Abreviere: SOURCE Lungimea cmpului: 32 bii Acest cmp conine adresa Internet a calculatorului gazd care a generat pachetul. Destinaton Adress (Adresa de destinaie) Abreviere: DEST Lungimea cmpului: 32 bii Cmpul conine adresa Internet a hostului destinaie. Adresele surs i destinaie indic numrul reelei folosind 8^24 bii. Biii nefolosii pentru identificarea reelei sunt folosii pentru a referi numrul hostului i, opional, numrul subreelei. Options (Opiuni)

Abreviere: OPT Lungimea cmpului: variabil Acest cmp a fost prevzut pentru a permite unor versiuni ulterioare ale protocolului s includ informaii care nu sunt prezente n implementarea original, s permit experimentatorilor s ncerce noi idei i s evite alocarea permanent a unor bii n cadrul headerului pentru informaii rar folosite. Lungimea acestui cmp depinde de numrul i tipurile opiunilor asociate cu pachetul. Opiunile definite oficial sunt:
- Security - eticheteaz nivelul, compartimentul, grupul de utilizatori i restriciile de manipulare, aa cum sunt ele cerute de DoD; - Loose Source Routing - permite celui care trimite pachetul s cear ca pachetul s urmeze o cale oarecare (general) prin reea; - Strict Source Routing - cere ca pachetul s urmeze o cale specificat; - RecordRoute - nregistreaz calea urmat de pachet; - Stream ID - permite unui gateway s manipuleze o colecie de pachete n acelai fel; - Timestamp - permite o nregistrare a cii pe care o urmeaz un pachet prin reea cu nregistrarea de asemenea a momentelor n care pachetul a ajuns n diferite locuri.

Fragmentarea i reasamblarea pachetelor Reelele ntotdeauna impun o lungime maxim a pachetelor, din cauza:
-

limitrilor hardware (limea unui slot de transmisie); limitrilor software ale unui sistem de operare particular (de exemplu, un sistem de operare ar putea cere ca lungimea pachetelor pe care le manipulea s nu depeasc 512 octei); protocoalele folosite (restricii privind numrul de bii n cmpul de lungime a pachetelor); restricii impuse de standard; msuri luate pentru reducerea numrului de erori; limitri privind durata ct un pachet poate ocupa un canal.

n continuare, n tabelul 4, se prezint un tabel care demonstreaz diversitatea lungimii maxime a pachetelor impus de diferite reele. Numele reelei Maxim [bii] Bell Labs' Spider ALOHANET (University of Hawaii) X.25 (implicit) ARPA Packet Radio Network ARPANET X.25 (maxim) Ethernet 256 640 1.024 2.024 8.192 8.192 12.144

Tabelul 4. Lungimea maxim a pachetului n funcie de reea. Pachetele IP de nivel 3 n tranzit pot s traverseze subreele a cror lungime maxim a pachetelor este mai mic dect lungimea pachetului. Pentru a se rezolva aceast problem, IP prevede mecanismele de fragmentare i reconstituire a pachetelor. Atunci cnd un gateway ar trebui s trimit un pachet ntr-o reea care nu poate primi pachetul din cauza lungimii sale, echipamentul gateway trebuie s fragmenteze pachetul original n mai multe subpachete, numite fragmente de pachet (datagram fragments), care sunt suficient de mici pentru a putea fi transmise.

10

Datagramele IP sunt transmise independent, deci datagramele fragmentate pot s nu se "ntlneasc" pn cnd ajung la calculatorul gazd destinaie i pot chiar s ajung n alt ordine dect cea original. Deci, toate host-urile care pot s recepioneze pachete trebuie s fie capabile s le i reasambleze. Modulul IP din host-ul destinaie va reasambla datagramele fragmentate ntr-o singur datagram pentru livrare ctre clientul su de pe nivelul transport (4). Figura 4 ilustreaz procesul fragmentrii pachetelor. Pentru claritate, figura este simplificat, neincluznd headere etc. Trebuie remarcat c nu toate protocoalele efectueaz fragmentarea i reasamblarea n acelai fel. XNS (Xerox Network Standard) cere ca reasamblarea s fie fcut de ctre reeaua care a fragmentat datagrama, ceea ce simplific implementarea pentru host-urile receptoare. XNS impune o restricie important rutrii inter-reea i caracteristicilor reelei finale (receptoare) i anume ca cele dou reele s admit pachete de aceeai lungime maxim.

11

1.6

Asignarea adreselor IP n funcie de confguraia reelei (Adresarea IP)

Unul dintre scopurile IP este de a asigura servicii ntr-o mare varietate de medii (reele i reele globale). Mecanismul de adresare IP este astfel conceput nct s permit trei clase diferite de configuraii ale reelelor. Cele trei clase de adrese IP, notate A, B, C, sunt prevzute pentru reele care au: A - multe hosturi distribuite n reele puine; B - o distribuie medie a hosturilor i reelelor; C - puine hosturi n multe reele.

12

Aceste situaii sunt ilustrate n figura 5.

Doar 32 de bii sunt alocai pentru a exprima o adres IP complet, care const att din adresa reelei, ct i din adresa hostului. O reea global care conine doar cteva reele va avea nevoie doar de civa bii pentru a identifica reeaua. Prin convenie, acetia vor fi cei mai semnificativi bii dintre cei 32 bii disponibili pentru adresare. Pe de alt parte, o retea global cu multe reele va avea nevoie de mai muli bii pentru a exprima toate adresele de reele componente, deci va ocupa mai muli bii dintre cei 32 disponibili pentru a exprima adresa reelei (aceti bii vor fi tot cei mai seminficativi bii ai adresei). n cadrul unei reele, hosturile pot fi organizate n comuniti mai mici, numite subreele. Forma adreselor IP permite, pentru proiectarea subreelelor, mascarea unor bii pentru a putea fi folosii pentru identificarea subreelelor. De exemplu, un campus poate avea o adres clas B, care cere 2 octei pentru poriunea alocat reelei i doi octei pentru poriunea alocat hostului. n loc s existe 65.536 adrese de hosturi, se poate alege soluia divizrii campusului n 254 subreele (un octet), fiecare avnd cte 254 de hosturi (cellalt octet). Trebuie fcut observaia c doar 254 de hosturi, respectiv reele sunt posibile, deoarece valorile 0 i 255 sunt rezervate).

Adresele IP, mtile i formatele pentru cele trei clasificri sunt ca n tabelul 5: Clasa A B C Cei 3 bii mai semnif. 0XX 10X 110 Bii pt. id. reea 7 14 21 Bii pt. id. HOST 24 16 8 Masc pt. id. reea (hex) FF000000 FFFF0000 FFFFFF00

13

Tabelul 5. Clasificarea tipurilor de reele. Dup cum se poate observa din tabelul de mai sus, inspectnd primii trei bii ai unei adrese de IP se poate ti dac este o adres de clas A, B sau C. Dac primul (cel mai semnificativ) bit este 0, atunci adresa este o adres clas A. Dac primul bit este 1, trebuie inspectat al doilea bit. Dac primul bit este 0 i al doilea bit este 0, atunci adresa este de clas B. Dac primii trei bii sunt 110, adresa este de clas C. Dac primii trei bii sunt 111, atunci avem de a face cu o adres clas D, care nu este folosit (este o combinaie pstrat pentru dezvoltri ulterioare). Aceste combinaii sunt prezentate n tabelul 6: Clas A Clas B Clas C Clas D primul bit 0 primul bit 1 primul bit 1 primul bit 1 al doilea bit 0 al dilea bit 1 al doilea bit 1 al treilea bit 0 al treilea bit 1

Tabelul 6. Tipuri posibile de reele. O adres IP este de obicei reprezentat ca patru cmpuri separate de cte un punct, fiecare cmp reprezentnd un octet (avnd deci valori cuprinse ntre 0 i 255). Diferenele n interpretrile acestor cmpuri depind de clasa creia i aparine adresa respectiv. Se observ posibilitatea identificrii clasei unei aderse IP prin examinarea primului octet al adresei, ca n tabelul 7. Valoare 0127 128191 192223 224255 Clas A B C D

Tabelul 7. Identificarea clasei unei reele n funcie de primul octet al adresei IP De exemplu, 10.1.17.1 este o adres de clas A, 128.203.5.17 este o adres de clas B, iar 192.1.2.10 este o adres de clas C.

1.7 Protocolul ICMP ICMP este un protocol care funcioneaz la nivelul 3 al modelului OSI (nivelul reea). El este o parte componenta a protocolului IP. Acest protocol permite ncapsularea n interiorul cadrului IP a unor informaii, care o dat ajunse la destinaia specificat, determin generarea unui rspuns ctre sursa ICMP, din care se poate deduce timpul de rspuns pe un canal de comunicaie. n general, mesaje ICMP sunt generate de ctre staii care percep o eroare sau o problem n cadrul unui pachet pe care un alt host l-a transmis. Eroarea poate fi detectat ori de hostul destinaie, ori de un echipament gateway intermediar. Dac reeaua, maina sau portul destinaie nu pot fi atinse, un gateway poate folosi ICMP pentru a avertiza hostul surs asupra acestui fapt. ICMP poate de asemenea avertiza hostul surs asupra rutelor preferate sau asupra congestiei reelei.

14

Fiecare mesaj ICMP este inclus n cmpul de date al unui pachet (figura 2.28) (n antetul IP numrul de protocol ia valoarea 1 pentru ICMP, iar tipul de serviciu ia valoarea zero). Antet ICMP Date ICMP

Antet pachet

Date pachet

Antet cadru

Date cadru Fig. 2.28. ncapsularea mesajului ICMP.

Sfrit cadru

Pachetele care poart mesaje ICMP sunt rutate la fel ca i cele care transport datele utilizatorului doar c, dac
apar erori n transmiterea acestor pachete ele nu genereaz alte mesaje ICMP.

Exist mai multe tipuri de mesaje ICMP, fiecare avnd formatul su propriu. Cmpul de date din pachetul IP
care conine un mesaj ICMP este ilustrat n figura 2.29. 16 0 Identificator 8 Numr de secven Sum de verificare 31 3 1

Date ICMP (depinde de tipul mesajului)

Fig. 2.29 Formatul mesajului ICMP.

Identificator (tipul mesajului) - Acest cmp poate lua una dintre urmtoarele valori (8 bii), n funcie de tipul
mesajului: 0 - Rspuns ecou (Echo reply), 3 - Destinaie inaccesibil (Destination unreachable), 4 - Oprirea sursei (Source quench), 5 - Redirectare, 8 - Cerere ecou, 9 - Anunarea unui ruter, 10 - Solicitarea unui ruter, 11 - Depire timp, 12 - Problem legat de un parametru, 13 - Cerere etichet de timp, 14 - Rspuns etichet de timp, 17 - Cerere masc de adrese, 18 - Rspuns masc de adrese, 30 - Descoperire rut (Traceroute), 37 - Cerere nume domeniu, 38 - Rspuns nume domeniu. Numr de secven (cod) - Conine codul erorii pentru datagrama raportat de acest mesaj ICMP. Interpretarea acestui cmp depinde de tipul mesajului. Acest cmp furnizeaz informaii suplimentare despre tipul mesajului.

15

Suma de verificare - Conine suma de verificare (16 bii), folosind acelai algoritm ca i IP dar verificnd numai

mesajul ICMP, ncepnd cu cmpul dedicat tipului mesajului. Dac valoarea sumei nu coincide cu valoarea calculat la recepie pe baza coninutului recepionat, atunci datagrama este eliminat. Cmpul de date al mesajului conine informaia corespunztoare mesajului ICMP curent. De cele mai multe ori, acest cmp conine o poriune din pachetul IP original, cel pentru care a fost generat mesajul ICMP curent.

Tipuri de mesaje ICMP: Mesajele de cerere ecou (echo request) i rspuns ecou (echo replay). Un sistem de extremitate sau un ruter poate transmite un mesaj cerere ecou ctre o anumit destinaie. Sistemul sau ruterul de destinaie care recepioneaz acest mesaj rspunde prin mesajul rspuns ecou transmis ctre surs. Cererea conine un cmp de date opionale. Rspunsul va conine o copie a acestor date. n felul acesta se poate verifica dac o anumit destinaie este accesibil i rspunde.

Destinaie inaccesibil (destination unreachable) este transmis de un ruter ctre surs atunci cnd acesta nu
poate trece mai departe un pachet, spre un alt ruter sau direct spre sistemul de destinaie.

Mesajul de oprire a sursei (Source quench) este utilizat pentru a semnala napoi la surs o suprancrcare a
receptorului sau a sistemelor intermediare.

Mesajul de redirectare este utilizat pentru a anuna sursa s redirecteze pachetele pe o rut mai bun. Dac

acest mesaj e recepionat de la un ruter intermediar nseamn c sistemul surs ar trebui s trimit urmtoarele datagrame ctre ruterul a crui adres IP este specificat n mesajul ICMP. Acest ruter preferat va fi ntotdeauna aflat n aceeai subreea cu sistemul emitent al datagramei i ruterul care a returnat datagrama.

Mesajele Anunare ruter i Cerere ruter sunt utilizate numai dac un sistem sau un ruter suport un protocol de

descoperire a ruterilor. Ruterii anun periodic adresele lor IP n toate subreelele pentru care lucreaz. Aceste anunuri se transmit cu adresa de destinaie multicast (224.0.0.1) sau cu adresa de difuzare limitat (255.255.255.255). Sistemele pot trimite, la rndul lor, mesaje de solicitare. Mesajele de solicitare sunt transmise tuturor ruterilor cu adresa multicast (224.0.0.2) sau cu adresa de difuzare limitat (255.255.255.255). Expirare timp. Dac acest mesaj este recepionat de la un ruter intermediar nseamn c valoarea din cmpul TTL a unui pachet IP a ajuns la zero. Dac mesajul este recepionat de la un sistem de destinaie nseamn c timpul TTL dintr-un fragment IP a expirat n timpul reasamblrii, datorit ntrzierii unui fragment.

Mesajul Problem cu parametrii indic producerea unei erori n timpul prelucrrii parametrilor din antetul IP.
Acest mesaj conine un pointer care indic octetul din pachetul IP original unde s-a produs problema.

Mesajele Cerere etichet de timp i Rspuns etichet de timp sunt utilizate pentru depanare i msurare a per-

formanelor. Acestea nu sunt utilizate pentru sincronizarea de ceas. Transmitorul iniializez identificatorul i numrul de secven (care se utilizeaz n cazul n care sunt transmite mai multe etichete de timp), stabilete eticheta iniial de timp i transmite pachetul ctre destinaie. Staie destinaie actualizeaz etichetele de timp asociate recepiei i transmisiei, modific tipul etichetei de timp din cerere n rspuns i o returneaz staiei surs. Pachetul conine dou etichete de timp dac exist o diferen semnificativ de timp ntre timpul de recepie i timpul de emisie.

Mesajele Cerere de masc de adrese i Rspuns cu masc de adrese. Cererea de masc de adrese este utilizat de ctre un sistem pentru a determina masca subreelei folosit n cadrul unei reele asociate. Cele mai multe sisteme sunt configurate cu masca (sau mtile) de subreea asociat. Totui, unele sisteme, cum ar fi staiile de lucru fr disc, trebuie s obin aceast informaie de la server. Un sistem folosete protocolul RARP (Reverse Address

16

Resolution Protocol) pentru a obine adresa sa IP. Pentru a obine masca de subreea, sistemul transmite prin difuzare cererea de masc de adres.

Mai exist i alte mesaje ICMP pentru semnalizarea unor situaii de congestie (atunci cnd un ruter este prea ncrcat pentru a prelucra un nou pachet, care din acest motiv va fi pierdut), semnalizarea unei rutri ciclice (o rut infinit, propagare n bucl), etc.

1.8

Protocolul de control al transmisiei (TCP). Caracteristici generale ale TCP. Formatul TCP. TCP reprezint baza unui mecanism de comunicaie interprocese aezat peste cteva nivele care ofer servicii nedemne de ncredere, nivele n care pot s apar pierderi, duplicri, ntrzieri, erori sau dezordonri ale pachetelor. Este un protocol complex, care trebuie s se ocupe, de exemplu, de detecia pachetelor pierdute, retransmisia automat i probleme "patologice", cum ar fi apariia unor pachete duplicat ntrziate. Potenialul de a asigura robustee n faa unui mediu de transmisie nesigur, fac din TCP un protocol foarte dorit de o multitudine de aplicaii care fac apel la intercomunicaie. TCP poate lucra i n medii constituite din reele interconectate. A fost special proiectat s lucreze deasupra protocolului IP, aflat la nivelul trei din modelul ISO OSI (nivelul reea), ca n figura 9:

Caracteristici generale ale TCP TCP are sarcina de a asigura servicii de comunicaie sigure ntre procese pereche aflate n cadrul unor calculatoare gazd distincte legate n aceeai reea sau n cadrul unui set de reele interconectate. Ofer transferuri de date orientate pe conexiune la nivelul transport - aceleai servicii de baz ca i Sequenced Packet Protocol (SPP) realizat n cadrul XNS. TCP accept o gam larg de ULP care au nevoie s trimit date perechilor lor aflate pe alte calculatoare gazd. TCP nu ncearc s impun vreo structur a datelor trimise de ctre un protocol de la nivel superior. TCP trateaz datele primite ca pe un ir continuu, lsnd structurarea mesajelor pe seama ULP, spre deosebire de SPP, care ajut propriii clieni la demarcarea mesajelor. TCP ncearc, totui, s segmenteze datele n uniti distincte astfel nct ele s poat fi transmise i recepionate ca pachete individuale. Fiecare astfel de unitate este numit segment. Dac este nevoit s retransmit o serie de segmente, TCP poate s rempacheteze datele, combinnd dou segmente mai mici ntr-un segment mai mare, de exemplu. Acest mecanism, motivat de dorina de a spori eficiena transmisiei n cadrul unor reele larg distribuite, unde se pune problema minimizrii raportului ntre numrul de bii ai headerului i numrul de bii de date, face ca TCP s fie mai complex dect alte protocoale de transport. Transmisia unui pachet folosind TCP poate s decurg dup cum urmeaz (figura 10):

17

(1) ULP surs trimit un flux de date ctre TCP pentru transmisie; (2) TCP mparte fluxul de date n segmente, eventual nzestrate cu informaii privind retransmisiile, ordonarea, codificarea nivelelor de preceden i de securitate, controlul fluxului de date i contolul erorilor. Apoi, segmentul este trimis ctre IP.

(3) IP execut propriile atribuiuni (crend datagramele, executnd eventualele fragmentri etc.) i transmite datagramele prin nivelul legturii de date i nivelul fizic de-a lungul reelei pn la IP destinaie; (4) IP destinaie execut procesele de control sau reasamblare necesare i livreaz datagramele ca segmente
ctre TCP destinaie;

(5) TCP destinaie i execut propriile servicii (inverse celor de la pasul 2), restaurnd datele fragmentate pentru a reconstitui fluxul original de date transmis i livreaz aceste date ctre ULP destinaie. O descriere complet a serviciilor menionate la pasul doi de mai sus este: - Full-duplex - o conexiune TCP permite transmisia simultan n ambele direcii a datelor ntre ULP corespunztoare; - Timely - atunci cnd condiiile din cadrul sistemului nu permit trimiterea la timp a datelor, aa cum a fost specificat de un parametru de time-out al ULP, TCP anun ULP asupra eecului i ULP poate atunci termina conexiunea sau s ia o alt decizie adecvat; - Ordered - TCP livreaz datele ctre ULP destinaie n ordinea n care le-a primit de la ULP surs;

18

- Labeled - TCP asociaz fiecrei conexiuni nivelele de preceden i securitate care i-au fost indicate de ctre ULP n timpul stabilirii conexiunii. Atunci cnd informaiile nu sunt indicate de ctre ULP-urile pereche, TCP va folosi nite valori implicite. TCP stabilete o conexiune ntre o pereche de ULP doar dac informaiile de securitate indicate de cele dou ULP care formeaz perechea sunt identice. Fiecare segment TCP este etichetat cu valoarea negociat a indicatorului de securitate. Dac apare o neconcordan a nivelului de securitate n timpul unei conexiuni fa de nivelul negociat la nceput, TCP va termina conexiunea; - Flow controlled - TCP regularizeaz fluxul de date prin conexiune pentru a preveni, printre altele, congestia intern a TCP, care ar duce la degradarea sau eecul serviciilor oferite; (6) Error checked - TCP livreaz datele lipsite de erori, garantnd c datele sunt lipsite de erori n msura n care se poate garanta acest lucru bazndu-se pe o sum de control. Formatul TCP Headerul TCP este relativ mare, structura sa fiind prezentat n figura 11.

Destination Port (Portul destinaie) Abreviere: DEST PORT Lungimea cmpului: 16 bii Acesta este un cmp care identific procesul sau serviciul n cardul calculatorului gazd receptor. Cmpurile Source Port i Destination Port sunt sub controlul calculatoarelor gazd. Fiecare host poate s decid pentru sine cum s aloce porturile. Sequence Number (Numr n cadrul secvenei) Abreviere: SEQ Lungimea cmpului: 32 bii Unitate: octei Gam: 0232 -1 Aceast valoare reprezint poziia n cadrul secvenei de octei a primului octet al unui segment. Totui, dac este prezent un SYN, atunci valoarea acestui cmp reprezint prima poziie n cadrul secvenei (Initial Sequence Number - ISN) pentru acea conexiune; primul octet de date este numerotat ISN+1. Cmpurile Sequence Number i Acknowledgement au ambele lungimea de 32 bii, permind astfel specificarea unui spaiu de secveniere foarte mare. (La o rat de transfer al datelor de 1000 octei pe secund, ar fi necesare aproximativ 50 de zile pentru a fi necesar reluarea numerotrii cu numrul n cadrul secvenei zero. Dat fiind durata maxim de via a unui pachet - 255 secunde - nu este posibil ca un pachet vechi s aib acelai numr de secven ca i unul nou i s par c ar fi un pachet duplicat sau s fie recepionat n locul unui pachet care nu a fost livrat din cauza unor erori).

19

Acknowledgement Number (Numr de confirmare) Abreviere: ACK Lungimea cmpului: 32 bii Unitate: octei Gam: 0232 -1 Dac este setat bitul de control ACK, acest cmp conine valoarea numrului de secven al urmtorului octet pe care receptorul se ateapt s-l primeasc. Data Offset (Deplasamentul datelor) Lungimea cmpului: 4 bii Unitate: 32 bii Gam: 515, implicit 5 Acest cmp indic numrul de cuvinte de 32 de bii coninute n cadrul headerului TCP. Folosind aceast valoare, poate fi calculat deplasamentul datelor n cadrul pachetului. Aceast informaie este necesar datorit lungimii variabile a cmpului Options. Headerul TCP, chiar dac include un cmp Options, are o lungime care este un multiplu de 32 bii. Reserved (Rezervat) Lungimea cmpului: 6 bii Acest cmp este rezervat pentru extensii ulterioare. Trebuie s aib toi biii zero. Control Flags (Indicatori de control) Lungimea cmpului: 6 bii Acest cmp conine un numr de indicatori de cte un bit fiecare, folosii pentru stabilirea, terminarea i meninerea unei conexiuni: - URG - Urgent Pointer. URG=1 indic faptul c este folosit cmpul Urgent Pointer pentru a localiza date urgente, prin intermediul unui offset exprimat n octei fa de numrul de secven curent. Acest pointer poate fi necesar n cazul apariiei unei ntreruperi. Dac indicatorul URG nu este setat, atunci cmpul Urgent Pointer trebuie ignorat. - SYN - Este folosit pentru a stabili o conexiune. SYN=1 semnific cererea de stabilire a unei conexiuni. - ACK - Indic faptul c are semnificaie cmpul Acknowlwdgement. - RST - Poate reseta o conexiune n cazul apariiei unor pachete ntrziate cu bitul SYN setat, n cazul cderii calculatorului gazd sau n alte cazuri. RST=1 nseamn c trebuie resetat conexiunea. - PSH - PSH=1 transmite TCP-ului receptor s transmit imediat datele din cadrul segmentului ctre ULP receptor. Acest bit poate fi folosit pentru a indica faptul c nu vor aprea date de la ULP surs imediat. - FIN - Este folosit pentru a termina o conexiune. FIN=1 nseamn c sursa nu va mai transmite date ctre ULP receptor. Window (Fereastr) Abreviere: WNDW Lungimea cmpului: 16 bii Unitate: octei Gam: 0216-1 Aceast valoare reprezint numrul octeilor de date, ncepnd cu cel indicat n cadrul cmpului Acknowledgement, pe care hostul surs este dispus s i accepte. Window este parametrul care permite controlul fluxului n cadrul TCP. Window este un cmp relativ lung deoarece numr octeii care vor putea fi recepionai dup octetul confirmat, n loc s numere pachetele care ar putea fi trimise (cum se face n cazul SPP-XNS). Checksum (Sum de control) Lungimea cmpului: 16 bii Acest cmp se aplic tuturor cuvintelor de 16 bii din cadrul headerului i datelor. El de asemenea acoper un pseudo-header de 96 bii care conceptual precede headerul TCP. Acest pseudoheader conine adresa sursei, adresa destinaiei, identificatorul de protocol i lungimea segmentului TCP. Checksum conine complementul fa de 1 al sumei complementelor fa de 1 ale tuturor cuvintelor de 16 bii din header i din cadrul cmpului de date. Urgent Pointer (Pointer urgent) Abreviere: URGPTR Lungimea cmpului: 16 bii Unitate: octei Gam: 0216-1 Acest cmp specific ultimul octet de date urgente.

20

Valoarea cmpului este un deplasament pozitiv fa de numrul de secven n cadrul segmentului. Adunnd URGPTR la SEQ se poate afla numrul din cadrul secvenei al ultimului octet de date urgent. Acest cmp are semnificaie doar dac este setat bitul de control URG. Options (Opiuni) Abreviere: OPT Lungimea cmpului: variabil Dac este prezent, acest cmp ocup spaiu la sfritul headerului TCP. Toate opiunile sunt incluse n Checksum. Orice opiune ocup un numr ntreg de octei. Options este rezervat pentru diferite lucruri. Singura opiune oficial interesant definit pn n prezent comunic lungimea maxim a unui segment i este trimis n timpul stabilirii conexiunii.

1.9 Protocolul UDP(User Datagram Protocol). Numerele porturilor utilizate de protocoalele de transport UDP este descris de ctre RFC 768 User Datagram Protocol. UDP reprezinta alaturi de TCP unul dintre cele mai importante protocoale de transport . Acesta nu garanteaza corectitudinea transmisiunii asa cum o face TCP . Datagramele pot ajunge la destinatie neordonate , duplicate sau chiar lipsa fara sa se observe . El nu adauga nici un fel de sigurana, control al transmisiei sau recuperare de erori la IP. El foloseste portul drept multiplexor/demultiplexor pentru trimiterea si primirea datagramelor asa cum este ilustrat in figura urmatoare.

Insa tocmai evitarea de a consuma resursele face ca UDP sa fie mai rapid si mai eficient petru aplicatiile care nu necesita garantarea livrarii pachetelor . Spre deosebire de TCP , UDP poate fi utilizat atat pentru transmisiuni broadcast cat si multicast . Dintre aplicatiile care folosesc UDP ca protocol de transport pot fi enumerate:

Serverul de nume DNS (Domain Name System) Dynamic Host Configuration Protocol DHCP Trivial File Transfer Protocol (TFTP) Voice over IP VoIP Remote Procedure Call (RPC), utilizat de catre NFS (Network File System)

Ca exemplu , protocolul UDP este folosit de protocoalele de rutare pentru a transmite up-date-uri de rutare intre ele . Aceste up-date-uri sunt folosite de rutere pentru a aduce reteaua la starea de convergenta sau pentru a mentine functionalitatea tabelelor de rutare . Este evident faptul ca in acest caz pierderea unui up-date de rutare are o mai mica importanta decat conservarea resurselor de procesare . Structura unui pachet UDP :

21

Portul sursa indica portul atribuit aplicatiei de catre statia sursa . Avand in vedere ca in cazul UDP nu este nevoie sa se returneze nimic de la destinatie la sursa , acest cimp poate fi 0 . Portul destinatie identifica aplicatia de pe statia destinatie si este absolut necesar. Lungimea este un camp de 16 biti care specifica lungimea in biti a intregii datagrame incluzand header-ul si data. CheckSum este reprezentat de un camp de 16 biti care are rolul de a oferii un control al erorii prin compararea valorii cheksum-ului cu numarul de biti primiti de statia destinatie. Campul data reprezinta informatia in sine care trebuie transmisa. Formatul datagramelor UDP In limbajul curent unitatile de transmisie a informatiei pentru UDP se numesc datagrame UDP. Fiecare datagrama UDP este trimisa intr-o singura datagrama IP. Cu toate ca, datagrama IP poate fi fragmentata in timpul transmisiei, implementarea IP a hostului destinatie o va reasambla inainte de a prezenta-o stratului UDP. Toate implementarile IP trebuie sa accepte datagrame de pana la 576 octeti, ceea ce inseamna ca, pentru un antet IP de 60 octeti maxim, o datagrama UDP de 516 octeti va fi acceptata de toate implementarile. Multe implementari vor accepta datagrame mai mari, dar acest lucru nu este garantat. Numerele porturilor utilizate de protocoalele de transport Fiecare proces care necesit comunicarea cu un alt proces se identific n cadrul unei stive TCP/IP printrun port sau mai multe. Un ID port este un numr reprezentat pe 16 bii utilizat de ctre un protocol capt la capt pentru a identifica crui protocol de nivel superior sau program (proces) de aplicaie trebuie s-i livreze mesajele recepionate. Acestea sunt reprezentate prin numere de la 1 la 65535. Exist dou tipuri de porturi: - Porturi consacrate: aceste porturi aparin unor servere standard, cum ar fi serverul Telnet care folosete portul 23. Numerele asociate porturilor consacrate aparin intervalului de la 1 la 1023. Cele mai multe servere necesit numai un singur port. Excepie fac serverul BOOTP, care folosete dou porturi (67 i 68) i serverul FTP, care folosete dou porturi (20 i 21). Porturile consacrate sunt controlate i alocate de ctre Autoritatea de Asociere a Numerelor n Internet, IANA (Internet Assigned Number Authority) i n cele mai multe sisteme nu pot fi alocate dect proceselor sistem sau programelor executate de utilizatorii cu drepturi speciale. Porturile consacrate permit clienilor s gseasc serverele fr a necesita informaii de configurare suplimentare. - Porturi temporare: unii clieni nu necesit numere de porturi consacrate deoarece acetia iniiaz comunicaiile cu serverele, iar numrul portului utilizat de fiecare dintre clieni este coninut n mesajul UDP/TCP transmis ctre server. Fiecrui proces client i se asociaz un numr de port, de ctre sistemul pe care acesta ruleaz, pentru un interval de timp nedefinit, ct necesit procesul client s transfere datele. Numerele porturilor temporare au valori mai mari dect 1023, uzual fiind n intervalul de la 1024 la 65535. Porturile temporare nu sunt controlate de IANA i pot fi utilizate n oricare sistem, de ctre orice program dezvoltat de ctre utilizator. Confuziile posibile care pot apare atunci cnd dou aplicaii diferite ncearc s utilizeze aceleai numere de porturi, ntr-un acelai sistem, se pot evita prin configurarea acelor aplicaii s solicite un port

22

disponibil n stiva local TCP/IP. Deoarece numrul de port este alocat dinamic, acesta poate fi diferit de la o cerere la alta a aplicaiei. Observaie: n mod uzual, un server folosete fie TCP, fie UDP, dar exist i excepii. Spre exemplu, aplicaia DNS (Domain Name System), utilizeaz att portul 53 al UDP, ct i portul 53 al TCP. In tabelul de mai jos putem vedea unele din cele mai utilizate servicii, respectiv numarul de port si protocolul utilizat: Nr. portului 110 80 53 161 79 69 25 Protocolul utilizat TCP TCP TCP / UDP UDP TCP UDP TCP Serviciul POP3 HTTP DNS SNMP Finger TFTP SMTP

1.10 PROTOCOALE DE ADRESARE(ARP, RARP, DHCP) Protocoalele de rutare sunt responsabile pentru modul n care o datagram IP ajunge n reeaua fizic creia i este destinat, dar o alt procedur este necesar pentru modul n care o datagram ajunge la sistemul sau ruterul din acea reea. Datagramele IP conin adrese globale logice, de nivel trei, dar interfaa fizic hardware aflat n sistemul destinaie sau n ruterul destinaie nu utilizeaz dect schema de adresare local a acelei reele. Este nevoie s se efectueze translatarea adresei IP ntr-o adres de nivel legtur de date care este neleas de interfeele din aceast reea. O soluie mai general poate fi aceea ca fiecare sistem s menin o tabel de perechi de adrese, care s mapeze adresele IP pe cele fizice (dinamic sau static) protocolul ARP (Address Resoludon Protocol). Scopul ARP este acela de a permite fiecrui sistem din reea s-i construiasc o tabel de mapri ntre adresele de IP i cele fizice. Acest set de mapri este cunoscut sub numele de ARP cache sau tabel ARP. Dac un sistem dorete s transmit o datagram IP ctre un alt sistem aflat n aceeai reea, acesta va verifica n primul rnd tabela ARP. Dac nu este gsit maparea dorit, sistemul va trebui s invoce protocolul ARP prin reea i va face acest lucru prin transmiterea unei cereri ARP prin reea (prin broadcast). Aceast cerere conine adresa IP dorit. Fiecare sistem recepioneaz aceast cerere i verific dac se potrivete cu propria adres IP. Dac se potrivete, sistemul implicat va trimite un mesaj de rspuns care conine adresa de nivel legtur de date. Sursa cererii va aduga i aceast informaie n propria tabel ARP. Mesajul de cerere mai include i adresa de nivel legtur de date i cea IP ale sursei cererii. Cnd recepioneaz pachetul de rspuns, sursa i completeaz tabelul ARP cu noile adrese(MAC si IP). Dac sursa nu primete nici un rspuns, atunci cererea este retransmis. Dac nici la retransmisie nu se rspunde, sursa recepioneaz un mesaj de eroare generat de protocolul ICMP. n cazul n care destinaia nu se afl n reeaua local, ruterul de legtur cu WAN-ul rspunde cu propria sa adres, prin tehnica numit Proxy ARP (RFC 1027), dac prin configurarea conexiunii gazdei cu reeaua nu este dezactivat opiunea proxy. Protocolul RARP Protocolul RARP (Reverse Address Resolution Protocol) face conversia invers, a adreselor fizice n adrese de reea.

23

Dac o staie de lucru nu-i cunoate adresa IP, atunci trimite serverului RARP un pachet cu o cerere RARP (cu semnificaia "Care este adresa mea IP?"), n modul broadcast (pentru Ethernet,se folosete adresa IP de destinaie cu toi biii din cmpul gazdei egali cu 1). Pachetul RARP include adresele MAC ale sursei i destinaiei, adresa IP de broadcast, un cmp de adres IP necompletat pentru adresa IP proprie si codul cererii RARP, coninut n memoria sa ROM. Serverul RARP rspunde cererii cu un pachet coninnd adresa IP solicitat.

Formatul pachetului coninnd cererea RARP Routerele nu retransmit n afara LAN cererile ARP/RARP n mod broadcast, evitnd propagarea infinit a lor n WAN. Dynamic Host Configuration Protocol - DHCP Este o modalitate rapida si simpla de a aloca adrese IP unui numar mare de clienti, moment in care BOOTP ar deveni greoi de utilizat si ineficient. Exista nevoia de a defini un interval de IP-uri valide si de a aloca automat clientilor din retea; de asemenea, a aparut nevoia de a defini o durata de viata unui IP. Metoda de a introduce manual adresa IP poate avea si ea utilitatea ei. Spre exemplu, ofera accesul imediat la datele vitale pentru functionarea in retea ale fiecarui calculator. Totusi, metoda este consumatoare de timp si este expusa erorilor. Functionarea DHCP DHCP implementeaza un model client-server si un agent cu rol de releu (relay agent). Acest agent gestioneaza interactiunea dintre clienti si server. Deoarece clientul este principalul partener de comunicatie in aceasta situatie, el initiaza toate sesiunile cu serverul, lucru care are loc in faza de bootare. DHCP are urmatoarele facilitati: - suporta alocarea dinamica - suporta alocarea statica - conlucreaza cu BOOTP - repartizeaza adrese - suporta repartizarea persistenta - reintegreaza repartitiile expirate In esenta, DHCP este insarcinat cu manipularea a doua seturi de date: repartitiile (IP-urile alocate) si fondul de adrese (IP-uri disponibile). Repartitiile sint alocate clientilor conform unei proceduri, care este destul de simpla. Cum primesc clientii numere IP Iata modul de functionare a DHCP din acest punct de vedere: 1. Clientul cere un IP printr-o difuzare de tip DhcpDiscover. Daca clientul are o repartitie persistenta, poate cere acea repartitie initial. 2. Serverul alege un IP din fondul de adrese si intoarce un pachet DhcpOffer cu un IP disponibil atasat. 3. In cazul in care clientul doreste mai multe oferte IP, o va alege pe prima sau pe cea cu repartitia dorita. 4. Clientul difuzeaza un pachet DhcpRequest cu un identificator pentru un server si trece in asteptare 5. Fiecare server care analizeaza pachetul si nu isi detecteaza identificatorul va ignora pachetul. Dupa ce serverul cu identificatorul corespunzator primeste pachetul, el va trimite un DhcpAck (sau DhcpNak, daca IP-ul cerut este deja alocat, ceea ce inseamna ca repartitia a expirat). 6. Dupa ce clientul primeste pachetul DhcpAck, el incepe sa foloseasca IP-ul alocat. In cazul in care primeste DhcpNak, va rula de la inceput secventa de cerere a unui IP. Daca IP-ul reprezinta o problema din punct de vedere al clientului, acesta trimite un pachet DhcpDecline catre server si reia secventa de cerere a unui IP.

24

Repartitiile DHCP gestioneaza adrese IP distribuite prin oferirea de repartitii (leases inchirieri). In principiu, se defineste un interval de timp in care un IP ramine asociat unei masini. Daca repartitia expira (intervalul de timp stabilit expira inainte de refolosirea conexiunii), clientul trebuie sa ceara o noua adresa IP. Aceasta este o metoda de a gestiona repartitiile permanente in medii dinamice care au disponibile putine IP-uri, dar prefera sa mentina o anumita adresa IP pentru un utilizator anume. Daca este nevoie de acel IP, el poate fi alocat unei alte masini, dar va fi alocat din nou masinii care l-a cerut initial cind va fi iarasi disponibil. A se retine ca un client trebuie sa se deconecteze de la retea pentru a putea cere din nou un IP.

1.11 Protocolul Telnet, Finger Scopul protocolului TELNET este de a oferi facilitati generale, bidirectionale, orientate pe octeti de opt biti. Scopul sau primar este de a permite o metoda standard de interfata intre dispozitivele de terminal si procesele orientate pe rularea intr-un terminal. CONSIDERATII GENERALE O conexiune TELENT este o conexiune TCP (Transmission Control Protocol - Protocol de control al transmiterii) utilizata la transmiterea de date, continanad in plus informatii de control TELNET. Protocolul TELNET este constriut pe trei idei principale: prima, conceptului "terminalului virtual de retea"; a doua, principiul optiunilor negociate; si a treia, o vedere simetrica a terminalelor si proceselor. 1. Cand este stabilita pentru prima oara o conexiune TELNET, fiecare capat se presupune ca incepe sau se termina intr-un "Terminal virtual de retea" (NVT - "Network Virtual Terminal"). Un NVT este un dispozitiv imaginar care ofera o reprezentare standard, pentru toate retelele, intermediara a unui terminal canonic. Acesta elimina necesitatea ca gazdele "server" sau "utilizator" sa pastreze informatii despre caracteristicile terminalelor fiecareia si conventiile manevrarii teminalelor. Toate gazdele, atat utilizator cat si server, isi mapeaza caracteristicile locale ale dispozitivelor si conventiilor asa incat aparent sa para ca interactioneaza cu un NVT din retea, si fiecare presupune ca acelasi lucru se intampla si la partenerii lor de comunicatie. NVT-ul intentioneaza sa echilibreze tendinta de a fi prea restricitv (neacordand gazdelor un vocabular destul de bogat pentru maparea locala a caracterisitcilor proprii), si de a fi prea intelegator (penalizand utilizatorii cu terminale modeste). Telnet-ul ofer acces la un protocol aflat la distan, rulnd peste TCP. El permite unui utilizator de a stabili un circuit de conexiune virtual la un sistem aflat la distan i introducerea intrrilor de la tastatura local ctre calculatorul aflat la distan. Utiliznd Telnetul, un utilizator de la un host se poate loga la alt host, de parc acesta s-ar afla chiar direct n faa sistemei aglate la distan; aceasta i reprezint o definiie TCP/IP a terminalelor virtuale.

Figura 2.1.1 Interaciunea clientului i serverului prin intermediul protocolului Telnet Telnet-ul utilizeaz o structur client-server i ofer trei servicii de baz. Mai nti de toate, el definete un terminal vitual de reea (NVT), care asigur interfaa sistemului aflat la distan unde procesul de aplicaie rezid. n al doilea rnd el ofer un mecanism care permite clienilor i serverilor s fac negocieze parametrii. i n final,

25

Telnet trateaz ambele capete ale conexiunii n mod simetric, adic orice capt a conexiunii poate servi ca utilizator sau ca host. Modelul client-server a Telnet-ului este foarte simplu. Clientul interacioneaz cu terminalul utilizatorului pentru a converta caracteristicile fizice a terminalului n NVT. Serverul (host) interaioneaz cu procesul aplicaiei la sistemul gazd. Acesta interacioneaz ca un terminal de manipulare de schimb, aa c terminalul de la distan apare ca terminalul local la sistemul gazd. Utilizeaz Port/ID-ul 23 peste TCP. Protocolul Finger Finger este un protocol simplu de tip serviciu Internet, bazat pe modelul clicnt-scrvcr, care permite unui client Fingcr s obin dc la un server Fingcr informaii cu caractcr public despre un anumit utilizator sau despre toi cei activi n reea, la un moment dat. Interogarea serverului Finger se face pe portul de protocol 79 i se exprim n formatul NVT ASCII definit de Telnet, avnd ca simbol de sfarsit de linie combinaia de caractere CR-LF(Carriage Return - Line Feeder). Serviciul Finger este orientat pe conexiunea dintre dou socket-uri (prin sockct, se nelege un pointer la o structur de date memorat ntr-un buffer). Dup stabilirea conexiunii folosind TCP, se transmite cererea Finger. Dac apelul e realizat printr-o linie vid (numai CR-LF), atunci serverul rspunde cu lista complet a tuturor utilizatorilor concctai la server n accl moment. Comanda folosit n acest caz finger Dac lista complct a utilizatorilor arc o dimensiune carc depete lungimea maxim a unitii dc transmisie din rctca (MTU), atunci TCP transmite datele n mai multe segmente de mesaj. Comanda de interogare Finger poate s includ numele real al unui utilizator conectat la server: finger {nume} sau ID-ul utilizatorului si numele calculatonilui-gazd, cu sintaxa: finger {nume_utilizator}@{nume_calculator_gazda} Rspunsul const n informaiile disponibile despre acesta: numele de utilizator, numele real al persoanei, contul curent al acesteia (horne directory), ultima dat la care s-a conectat la reea, numele statici la care s-a tcut concxiunca, informaii privind folosirea serviciului dc post electronic de ctre utilizator etc. Dac serverul Finger recepioneaz orice n afara unei linii vide, atunci acesta presupune c textul identific un anumit utilizator si returneaz toate informaiile publice despre utilizatorii cu numele sau ID-ul asemntor textului. Serverul Fingcr transmite mesajul dc rspuns staiei sau sesiunii Tclnct dc la carc s-a iniiat cererea. Clientul recepioneaz datele fie sub forma unui sir de octei (byte stream), fie prin datagrame, si le memoreaz ntr-un buflfer local. n cazul n care volumul datelor depete capacitatea dc memorare a accstuia, atunci datele se pierd si se returneaz un mesaj dc eroare. Clientul recepioneaz un mesaj dc eroare, prin intermediul ICMP, desi conexiunea a functional corect si transmisia este considerat reuit. Serverul Finger nchide automat conexiunea dup ce a transmis toate datele solicitate. Pe durata unei conexiuni active, este necesar aplicarea unor msuri de securitate pentru a evita accesul nedorit al unui utilizator neautorizat la resursele unui calculator-gazd implicat n acea conexiune. Un server Fingcr poate fi configurat astfel nct o cerere Fingcr adresat lui de la distan, s iniieze pe server un fiier capabil s ruleze comenzi dc sistem (scripting)

Posta electronic (e-mail / cele mai utilizate servicii de comunicaii din Internet. Dupa cum vedem in figura de mai jos (Fig. I.) ntr-o reea de calculatoare, sistemul de post electronic are urmtoarele componente: 1. memorie de stocare a mesajelor ce urmeaz a fi transmise ("coad de ieire"); 2. procesul client de mail; 3. procesul server de mail;

1.12 POSTA ELECTRONIC electronic mai/) este unul dintre

26

4 cutiile potale (mailbox) ale utilizatorilor pentru stocarea mesajelor primite. Programul de post electronic de pe un calculator, denumit agent utilizator (UA User Agent) ofer utilizatorului o interfa spre sistemul de post electronic din Internet, care, n general, nu este considerat parte component a acestuia. Scopul UA este de a facilita accesul utilizatorului la serviciul de e-mail din reea (Fig.I.) Procesele (client sau server) care realizeaz serviciul de post electronic, prin transferul mesajelor n sau din Internet se numesc ageni de transfer a mesajelor (MTA - Message Transfer Agent).

Fig. I. Structura sistemului de post electronic Intre doi ageni de transfer a mesajelor se stabileste o conexiune TCP, iar comunicarea se face pe baza protocoalelor de pot electronic (de exemplu, SMTP - Simple Message Transfer Protocol, POP - Post-Office Protocol). Majoritatea MTA folosesc SMTP pentru transferul mesajelor n format NVT ASCII, prin conexiuni TCP la portul 25 (RFC 821). SMTP permite comunicaii duplex ntre client i server, pentru transmisia secvenelor de comand n format NVT ASCII. Se poate utiliza SMTP pentru transmisia mesajelor de tip text, dar si de alt natur (imagine, audio, video) prin definirea unor extensii ale protocolului. SMTP este implicat n transmisia potei electronice spre serverul de mail si spre Internet. Preluarea mesajelor de post de la cutiile potale sau din Internet se face conform protocolului POP.

Orice mesaj de e-mail este compus din antet i corp (RFC 822). n antetul introdus de UA si transmis ctre MTA, n funcie de programul de e-mail folosit, pot s apar mai multe cmpuri (Date. Front. Subject, Reply-To, cc, Atachenient, Continent. Message-ID, X-Special-Action etc ). La nivelul MTA se mpacheteaz mesajul cu informaii suplimentare (eventual se specific o calc cu ageni de comutare) n asa-numita anvelop si se transmite altui MTA sau agentului de comutare local. Se pot defini extensii ale protocolului SMTP pentru transmisia prin sistemul de e-mail a unor documente de tip multimedia (RFC 1425, RFC 1427, RFC 1521) precum ar fi protocolul MIME.

27

Fig.3.1 Dialogul SMTP pentru transferul unui mesaj de la client la server. SMTP este responsabil de livrarea potei electronice n Internet. Pentru preluarea mesajelor de e-mail din Internet se utilizeaz protocolul POP, orientat pe conexiunea dintre client si server.

UA

Server POP Fig. II. 12 Configuraia client-server POP

Desi ofer servicii relativ similare, versiunile POP2 (RFC 937) si POP3 (RFC 1225) sunt incompatibile si au asociate porturi de protocol diferite (109, 110). POP2, corespondent fidel al SMTP, avnd comenzi asemntoare, se aplic numai local. Din motive de securitate, unii administratori de reea dezactiveaz serviciul de acces de la distant (remote login) n LAN. Versiunea POP3 permite accesul de la distan la serviciul dc post electronic, mai precis la csua potal rezervat utilizatorului. O sesiune POP3 are trei stri: autorizare, tranzacie si ncheiere. Protocolul utilizat pentru extragerea mesajelor unui utilizator de pe un calculator server care i gestioneaz casua potal se numete POP3 (Post Office Protocol Version 3). Portul TCP standard pentru protocolul POP3 este 110. Rolul acestui protocol este de a permite utilizatorilor s i aduc mesajele de pe calculatorul server (care are rolul de oficiu potal) pe propriul calculator.

28

Etapa de recepionare a unui e-mail presupune c utilizatorul cruia i este destinat mesajul s porneasc aplicaia client pentru serviciul de pot electronic i s i specifice acesteia s extrag de pe calculatorul server (care are rolul de oficiu potal) noile mesaje asociate csuei sale potale. Protocolul POP3 definete un limbaj de comunicare ntre procesul care cere informaiile (client) i procesul care executa comenzile i transmite mesajele cerute de ctre client (server). Principalele avantaje oferite de ctre acest protocol sunt: 1) Extragerea mesajelor de pe calculatorul server; 2) tergerea mesajelor (care au fost sau nu recepionate) de pe calculatorul server; 3) Posibilitate utilizrii versiunii securizate, POPS3, care cripteaz informaiile transmise ntre procesul client i procesul server, pentru a preveni astfel interceptarea acestora. Comunicaia ntre procesul client i procesul server se efectueaz in modul urmator: clientul trimite o comanda serverului, acesta o execut i returneaz clientului un cod numeric. Comenzile POP3 const din codul comenzii format din patru litere i urmat opional de un parametru. Acestea pot fi scrise att cu minuscule ct i cu majuscule i reprezint o combinaie de prescurtri de cuvinte specifice din limba englez. Principalele comenzi definite de protocolul POP3 sunt: a) USER <utilizator> - specific procesului server numele utilizatorului pentru care s deschid csua potal; b) PASS <parola> - trimite procesului server parola contului de utilizator asociat cu contul de utilizator specificat la comanda precedent; c) LIST [<numar_mesaj>] cere procesului server s listeze toate mesajele utilizatorului; d) RETR <numar_mesaj> - cere procesului server s listeze continutul mesajului cu numrul de identificare specificat de parametrul <numar_mesaj>; e) DELE <numar_mesaj> - terge mesajul cu numrul specificat de parametrul <numar_mesaj>; f) QUIT - inchide canalul de comunicaie dintre client i server; g) STAT cere procesului server s afieze informaii statistice despre csua potal a utilizatorului curent (i numrul de mesaje din csua potal i dimensiunea total a acestora); h) LAST cere procesului server s afieze numrul de identificare al ultimului mesaj venit n csua potal; i) TOP <numar_mesaj> <numar_linii> specific procesului server s listeze din mesajul cu numrul de identificare specificat de parametrul <numar_mesaj> primele <numar_linii> de coninut; j) RSET reseteaz starea mesajelor din casua potala (refacand mesajele terse).

Modul de recepionare a unui mesaj Pentru a testa comenzile implementate n protocolul POP3 i a stimula un dialog dintre un proces client POP3 si un proces server POP3 se poate utiliza aplicatia telnet, procesul fiind constituit din urmtoarele etape: conectarea la calculatorul serverul; autentificarea clientului POP3; listarea sumara a mesajelor din casuta postala; listarea continutului unui mesaj; stergerea unui mesaj; inchiderea conexiunii.

29

Fig. 2.1 Proocesul de comunicare ntre server i client utiliznd protocolul POP3

1.13 Protocoale pentru transferal fisierelor (FTP, TFTP) Servere FTP. FTP anonim i autentificat File Transfer Protocol (FTP) este n acelai timp un protocol al nivelului aplicaie TCP/IP i un serviciu care permite schimbul de fiiere prin Internet. Pentru utilizarea FTP n scopul transmiterii i recepionrii de fiiere prin Internet, avem nevoie de dou aplicaii diferite: un server FTP i un client FTP. Menionm faptul c FTP este un bun exemplu de arhitectur client/server, n care aplicaiile necesare pentru transferul fiierelor sunt mprite ntre server i client. Modaliti de transmisie a datelor prin FTP Pentru transmiterea de date FTP utilizeaz protocolul TCP. Comenzile i datele spre deosebire de majoritatea altor protocoale se transmit prin porturi diferite. Portul 20 este utilizat pentru transmiterea de date, portul 21 pentru transmiterea de comenzi. n cazul n care transmiterea fiierului a fost ntrerupt,din cauza oricrui motiv, protocolul dispune de mijloace pentru reluarea acestuia, fapt care este foarte comod n cazul transmiterii unor fiiere mari. Un server FTP poate s suporte dou moduri de conexiune a clienilor, depinznd de metoda care este specificat de client. Modalitatea de transmisie prin FTP este specificat n RFC 959. Spre deosebire de HTTP i marea majoritate a protocoalelor utilizate pe Internet, protocolul FTP utilizeaz minimum dou conexiuni n timpul unei sesiuni: o conexiune de tip halfduplex pentru control i o conexiune de tip full-duplex pentru transferul datelor. Portul implicit utilizat pentru controlul conexiunii este 21, iar conexiunea pentru date este determinat de metoda utilizat de client pentru conexiunea la server.

30

Conexiunile FTP active sau gestionate de client sunt create prin intermediul unei comenzi PORT date de client ctre server (prin intermediul conexiunii de control) prin care se cere serverului s stabileasc o conexiune de la portul TCP 20 de pe server ctre client, utiliznd portul TCP specificat de comanda PORT. Conexiunile FTP pasive sau gestionate de server sunt create prin intermediul comenzii PASV mpreun cu un port virtual care va fi utilizat ca i port la nivel de server pentru conexiunea de date. Dup stabilirea unei comenzi de ctre client, serverul se conecteaz la client utiliznd portul imediat superior portului pentru controlul conexiunii la nivel de client. Cea mai frecvent problem ntlnit cu FTP pe Internet privete transferul de date prin intermediul unui server proxy, firewall sau dispozitiv NAT (Network Address Translation). n cele mai multe cazuri aceste dispozitive sau aplicaii de reea permit controlul conexiunii prin portul TCP 21 (pentru login n serverul FTP), dar cnd se ncearc un transfer de date printr-o comand de tip DIR, LS, GET sau PUT, clientul FTP se blocheaz deoarece dispozitivul / aplicaia de acces n reea blocheaz portul pentru transfer de date specificat de client. n cazul n care dispozitivul sau aplicaia de reea suport jurnalizarea, se poate verifica acest lucru prin vizualizarea jurnalelor de respingere a pachetelor. TFTP TFTP este un protocol simplu de transfer al fiierelor i de aceea a fost denumit Protocolul pentru Transferul Trivial al Fiierelor. TFTP a fost implementat utiliznd protocolul de transport UDP Internet User Datagram Protocol (UDP sau Datagram) pentru a putea fi folosit la transferul fiierelor ntre maini aflate pe reele diferite ce implementeaz UDP. (Aceasta nu exclude posibilitatea ca TFTP s fie bazat i pe alte tipuri de protocoale datagram.) Este proiectat pentru a putea fi uor de implementat. Tocmai de aceea i vor lipsi majoritatea caracteristicilor unui FTP. Singurul lucru pe care l face este s scrie i s citeasc fiiere (sau mesaje) de la/spre un server de la distan. Nu poate lista directoare, i momentan nu are faciliti pentru autentificarea unui utilizator. n comun cu celelalte protocoale Internet este transmisia a 8 biti de date. Cum am menionat mai sus, TFTP este proiectat pentru a fi implementat pe modelul UDP. i pentru c protocolul Datagram este implementat pe Internet Protocol, pachetele vor avea un header Internet, un header Datagrama, i un header TFTP. n plus, pachetele pot avea un alt header (LNI, header ARPA,etc.) pentru a permite accesul prin transportul medium local. Cum arat i figura 3.1 , ordinea coninuturilor pachetului va fi: header mediu local, dac e folosit, header Internet, header Datagram, header TFTP, urmatde restul rmas din pachetul TFTP (acesta poate reprezenta sau nu date dependente de tipul pachetului aa cum e specificat n headerul TFTP). TFTP nu specific nici un fel de valori n headerul Internet. Pe de alt parte, cmpurile porturilor surs i destinaie ale header-ului Datagram (formatul su este dat n appendix) sunt folosite de TFTP i lungimea cmpului reflect mrimea unui pachet TFTP. Identificatorii Transferului(TID) folosii de TFTP sunt preluai de layer-ul Datagrama pentru a fi folosii ca porturi; tocmai de aceea ar trebui s se ncadreze ntre 0 i 65,535. Iniializarea TID-urilor este discutat n seciunea urmtoare. Header-ul TFTP conine un cmp cu 2 octeti cod (opcodes) care indic tipul pachetului (de exemplu DATA, ERROR, etc.). Aceti cod operatori i formatul diferitelor tipuri de pachete sunt discutate mai incolo n seciunea pachetelor TFTP.

_________ ___________________________ | Local Medium | Internet | Datagram | TFTP | --------------------------------------------------------Figura 3-1 : Ordinea Header-elor

1.14 Functiile si avantajele Protocolului SSH SSH (secure shell) 1 Noiuni generale SSH (Secure Shell "membran sigur") este un protocol de reea a Nivelului Sesiune i Aplicaie, care permite gestionarea de la distan a sistemei de operare i securizarea conexiunilor TCP cu ajutorul unui tunel (ex.

31

n cazul transmiterii de date). Se aseamn dup funcionalitate cu protocoalele Telnet i rlogin, dar spre deosebire de ele cripteaz tot traficul, inclusiv i parolele transmise. Astfel SSH permite transmiterea sigur a datelor ntr-un mediu nesigur, practic oricrui protocol de reea. n aa mod este posibil nu numai lucru de la distan la calculator prin intermediul tunelului securizat, dar i transmiterea prin acest canal a fluxului audio i video. Deasemenea el ajut la comprimarea datelor pentru criptarea lor ulterioar. Portul/ID utilizat este 22/TCP. SSH este utilizat n general pentru a accesa un calculator de la distan i pentru a executa comenzi. SSH ofer de asemenea securizarea transferului de fiiere ntre maini prin executarea copierii securizate (SCP) i a transferului de fiiere securizat (SFTP). SSH poate ajuta de asemenea n securizarea traficului X11 prin trimiterea acestuia printr-un tunel criptat. n acest fel SSH a fost utilizat pentru a defini o form primitiv de reea privat virtual ntre gazde. Componentele SSH cuprind serverul (SSHD), clientul (SSH), copierea (SCP) securizat a fiierelor i sshkeygen o aplicaie utilizat pentru a crea chei publice i private utilizate pentru autentificarea mainilor. SSH ofer faciliti de baz pentru translatarea porturilor, prin aceasta permindu-se utilizatorilor s creeze tuneluri pentru protocoalele existente prin conexiunile SSH existente. De exemplu, transferul de date prin POP (care n mod normal trimite numele de utilizator i parola sub form de text clar), pot fi securizate prin SSH. Exist i limitri ale translatrii porturilor, deoarece nici intervalele de porturi, nici porturile dinamice nu pot fi specificate. Dei translatarea porturilor ajut n securizarea protocoalelor, precum POP, exist i riscuri prin activarea acestei opiuni de exemplu, prin activarea unei conexiuni SSH de ieire se poate permite unui utilizator s traverseze un firewall prin transformarea protocoalelor (tuneluri) de intrare care nu sunt permise de firewall prin sesiuni criptate SSH. Utilizarea opiunilor de autentificare a SSH protejeaz utilizatorii i mainile mpotriva atacurilor de tip IP Spoofing, rutarea sursei IP, spoofing DNS etc. SSH const n trei niveluri: nivelul /protocolul de transport, nivelul de autentificare precum i nivelul conexiune. Protocolul transport este responsabil pentru gestionarea negocierii cheilor de criptare, cererilor de regenerare a cheilor, mesajelor de cereri de servicii precum i a mesajelor de deconectare a serviciilor. Protocolul de autentificare este responsabil pentru negocierea tipurilor de autentificare, verificarea canalelor securizate naintea trimiterii informaiilor de autentificare precum i pentru cererile de modificare a parolelor. Protocolul de conectare controleaz deschiderea i nchiderea canalelor precum i a translatrii porturilor. Exist dou versiuni de SSH v1 i v2, iar clieni SSH exist pentru mai multe platforme Unix, Windows, Machintosh, OS/2. Exist i versiuni de componente de server pentru Windows NT/2000. Autentificarea prin SSH SSH ofer cteva mecanisme pentru autentificarea utilizatorilor n funcie de versiunea SSH utilizat. Cea mai slab form de autentificare este realizat prin intermediului fiierelor .rhosts, aceast metod nefiind recomandat a fi selectat deoarece este foarte puin sigur. Alt metod de autentificare este oferit de criptarea prin RSA. Utiliznd aceast metod, utilizatorul creeaz o pereche public/privat de chei prin utilizarea programului ssh-keygen, cheia public fiind stocat n directorul printe al utilizatorului. n momentul n care clientul se autentific n faa serverului, trimite numele de utilizator i cheia public spre gazda de la distan. Serverul returneaz cheia de sesiune criptat cu cheia public a utilizatorului. Aceast cheie de sesiune va fi decriptat cu cheia privat a utilizatorului. Metoda principal de autentificare n SSH este prin intermediul fiierelor .rhosts combinat cu autentificarea RSA. Aceast metod autentific clientul i serverul i le protejeaz mpotriva atacurilor curente de tip IP Spoofing, DNS Spoofing etc. Exist i posibilitatea instalrii de TCPWrapper n locul utilizrii fiierelor .rhosts, existnd astfel un control mai mare asupra utilizatorilor care ncearc s se conecteze la un serviciu. n cele din urm, unui utilizator i poate fi cerut o combinaie de nume de utilizator / parol printr-un canal criptat. De asemenea, n diverse implementri exist suport pentru Kerberos, S/KEY i SecurID. Stabilirea unei conexiuni SSH este iniiat de comenzile slogin sau ssh, fapt care duce la verificare autentificrii cu cheia public att pentru server ct i pentru client apoi fiind stabilit un canal de comunicaie sigur.

32

SSH 1 Versiunea original a SSH, versiunea 1, este distribuit n mod gratuit pentru utilizare necomercial, mpreun cu codul surs. SSH1 are i variante majore (1.2, 1.3 i 1.5). Dei s-au descoperit cteva probleme de securitate, SSH este considerat n continuare sigur, dat fiind atenia acordat metodei de autentificare i cifrului utilizat. De exemplu, SSH1 este vulnerabil la atacurile prin inserarea datelor, deoarece acesta utilizeaz CRC pentru verificarea integritii datelor. Dar utilizarea algoritmului de criptare Triple-DES rezolv aceast problem. SSH 1 suport o mai mare varietate de metode de autentificare fa de versiunea 2, ntre care se numr AFS (bazat pe Andrew File System dezvoltat la Carnegie-Mellon) i Kerberos. SSH 2 SSH 2 este o rescriere complet a SSH1 prin care se adaug noi faciliti, inclusiv suport pentru protocoalele FTP i TLS. Din cauza diferenelor de implementare a protocoalelor, cele dou versiuni nu sunt compatibile n ntregime. SSH2 ofer mbuntiri n ceea ce privete securitatea i portabilitatea. SSH2 necesit mai puin cod care s ruleze cu privilegii de root, fiind mai puin expus exploatrilor de tip buffer overflow; astfel este mai puin probabil ca un atacator s rmn pe server cu drepturi de root. SSH2 nu ofer aceleai implementri de reea ca i SSH 1, deoarece cripteaz pri diferite ale pachetelor. SSH2 nu suport metoda de autentificare prin fiierele .rhosts. De asemenea, n SSH2 algoritmul RSA este nlocuit de Digital Signature Algorithm (DSA) i de Diffie-Hellman, dar, deoarece patentele RSA au expirat, este de ateptat suportul n continuare pentru algoritmul RSA n versiunile urmtoare. SSH2 suport Triple-DES, Blowfish, CAST-128 i Arcfour. Stabilirea conexiunii Stabilirea unei conexiuni SSH decurge n urmatoarele etape: 1. Clientul i serverul se nteleg asupra unei chei de sesiune, folosind n acest scop protocolul Diffie-Helman. n continuare, ntreaga comunicaie este criptat cu cheia de sesiune. 2. Clientul autentific serverul. n acest scop, serverul trimite rezultatul semnrii cheii de sesiune cu cheia sa secret. Clientul verifica semnatura folosind n acest scop cheia public a serverului. Pentru uurarea utilizrii sistemului, serverul i trimite i cheia public. Dac clientul nu are cheia public a serverului, o poate folosi pe cea trimis de server - evident opiunea este nesigur, deoarece serverul nca nu a fost autentificat i deci s-ar putea s fie un intrus. Utilizatorul este avertizat asupra acestui risc, i cheia public a serverului este nregistrat n baza de date a clientului, la urmatoarea conectare la acelai server cheia public urmnd sa fie luat din baza de date. 3. Serverul autentific clientul. n funcie de configuraia serverului, poate accepta autentificare cu criptografie asimetric, folosind acelai protocol (dar bineneles fr posibilitatea trimiterii de ctre client a cheii sale publice), sau poate cere clientului o parola. Serviciile SSH SSH nu permite numai sesiuni de lucru prin reea, ci i alte aplicaii. Astfel, o dat deschis un canal securizat, pachetele vehiculate pot fi destinate mai multor aplicaii, lista celor mai importante fiind:

sesiune de lucru (n mod text); transfer de fiiere (cunoscut i ca sftp sau scp; exist totui o mic diferen ntre cele dou); forwardarea unor porturi TCP; forwardarea unui server X (clientul SSH acioneaza ca server X pe maina local, dar cererile de la clienii X le forwardeaz serverului X de pe maina server SSH); forwardarea unui agent de autentificare.

33

1.15 Protocoale de management (SNMP) Gestionarea reelelor de calculatoare se realizeaz pe baza protocoalelor de management de reea. Suita TCP/IP include protocolul de management SNMP (Sn.ple Network Management Protocol) definit n RFC 1155 - 1157, care implementeaz un mecanism de gestionare a resurselor reelei, folosind baze de date MIB Management Information Base), cu informaii referitoare la toate componentele reelei (RFC 1514 - Host Resources MIB; RFC 1398 - Bhernet-like Interface TypesMIB; RFC 1493 - Bridge MIB si altele). RFC 1213 definete MIB-II care include obiectele gestionate pentru reelele bazate pe suita TCP/IP. SNMP poate folosi oricare din protocoalele de transport din suita TCP/IP dar n cele mai multe cazuri utilizeaz UDP. pe porturile de aplicaii 161 si 162. Un sistem de management a reelelor de calculatoare include trei categorii de componente (Fig. 1): 1. componente gestionate (managed device); 2. staii de gestionare sau de management (network management station); 3. protocolul de management (management protocol) utilizat pentru comunicaia dintre celelalte componente ale sistemului de management.

Fig. 1 Structura de baz a sistemului de management al reelei

RFC 1155 descrie un mecanism de identificare si descriere a obiectelor din MIB, denumit SMI (Structure cf Management Information), care definete schema de organizare a coleciei de obiecte gestionate din MIB, pe baza unei diagrame 'arbore', cu mai multe nivele (Fig.II. 16).

34

Fiecare nod din aceast diagram este numerotat si, eventual, i se asociaz si un scurt text descriptiv. Observm c n MIB I sunt incluse ca obiecte protocoalele din suita TCP/IP (n figur au fost reprezentate doar cteva dintre acestea). Referitor la fiecare obiect, n MIB sunt incluse informaii de natur administrativ si operaional. Fiecare obiect se specific numele, sintaxa, modul de acces, starea si o descriere a acestuia. Numele reprezint un identificator global, unic al obiectului, care rezult urmrind calea care leag nodulrdcin si obiectul gestionat din MIB. Acesta poate fi exprimat n trei formate diferite, echivalente: 1. numeric cu puncte; 2. text cu separare prin puncte, ncadrat de paranteze ptrate; 3. combinat (text si numere de noduri). Prin starea unui obiect se exprim condiiile de implementare ale acestuia: 1. mandatar: componenta gestionat de NMS implementeaz n mod obligatoriu acel obiect; 2. opional: componenta gestionat de NMS implementeaz opional acel obiect; 3. depit: componenta gestionat de NMS nu mai implementeaz acel obiect; 4. depreciat: componenta gestionat de NMS poate implementa acel obiect, dar exist un nou obiect n MIB superior acestuia. Descrierea obiectului se poate face printr-un scurt text descriptiv asociat acestuia. Protocolul SNMP este utilizat de staia de management (NMS) pentru a transmite mesaje componentei gestionate, mai precis agentului de management din cadrul acesteia. n general, SNMP acioneaz n mod recursiv, prin interogarea periodic (poiing) a agenilorde management ai componentelor gestionate de NMS. Numai n situaii critice, un agent poate iniia schimbul de informaii cu NMS, pentru a o ntiina de modificrile aprute, transmind mesaje-cap can (trap) care ntrerup procesul de polling. Un agent nu poate transmite orict de multe mesaje-capcan spre NMS, pentru a evita pierderea controlului asupra ntregii reele.

35

Un mesaj SNMP (figura 2) include un cmp de versiune referitor la grupul de utilizatori crora li se adreseaz mesajul si un cmp de date.

protocolului,

un

cmp

Fig. 2 Formatul mesajului SNMP Prin stabilirea adresabilitii protocolului, se realizeaz o procedur simpl de autentificare a mesajelor. Unitatea de date sau mesajul SNMP (PDU - Protocol Data Unit) poate ti denumit n cinci moduri distincte, n funcie de natura informaiei transmise: 1. cerere simpl (get-request) - NMS cere unui agent de management informaii despre un obiect; 2. cerere recursiv(get-next-request) - NMS cere unui agent de management informaii despre obiectul urmtordin MIB; 3. cerere de impunere (set-rec/nest) - NMS impune o anumit valoare pentru un obiect din MIB-ul agentului; 4. rspuns (get-response) - un agent trimite informaii spre NMS, despre un obiect, ca rspuns la cererea acesteia; 5. "capcan" (trap) - un agent transmite spre MIB informaii referitoare la un eveniment extraordinar care a afectat componenta gestionat prin intermediul su(reiniializarea agentului de management, schimbarea strii unei interfee, nerespectarea unor condiii de autentilicre etc). Exist apte tipuri de mesaje-capcan SNMP. Primele patru tipuri de mesaje SNMP se transmit prin UDP, pe portul 161. Numai mesajele-capcan sc transmit pe portul de aplicaic 162. SNMP este considerat a fi un protocol simplu deoarece nu arc dect cinci operaii, corespunztoare celor cinci tipuri dc mesaje SNMP (get, get-next, set, get-response si trop). n funcie dc modul dc acces, sc poate folosi un numr mai mic dc mesaje SNMP. Obiectele din MIB pot fi grupate n subseturi (SNMP MIB View), n funcic de accesibilitatea acestora: parial (read-only) sau total (read-write). Pentru agenii de management, se definesc profile prin carc se stabilesc drepturile de acces la diferitele subseturi de obiecte din MIB, total sau parial accesibile: 1. 2. 3. 4. cu drept dc citire (read-only); cu drept dc scriere (write-only); cu drepturi dc citirc si dc seri ere (read-write); fr drepturi dc acces la MIB (not-accessible).