Sunteți pe pagina 1din 33

PROTOCOALE UTILIZATE N REELE LOCALE:

O retea de calculatoare este alcatuita dintr-un ansamblu de mijloace de transmisie si de sisteme de calcul, pentru a realiza atat functii de transport a informatiei cat si functii de prelucrare a acesteia. O retea de calculatoare care interconecteaza diferite sisteme de calcul poate functiona in bune conditii numai daca exista o conventie care stabileste modul in care se transmite si se interpreteaza informatia, conventie numita protocol. Un exemplu ar fi modul de comunicare intre doi filozofi.
Filozof 1 Filozof 2

Doi filozofi, din tari diferite doresc sa faca schimb de idei. Din pacate, sunt departe unul de celalalt si nici nu au o limba comuna prin care sa comunice.Pentru a putea sa comunice trebuie sa foloseasca suport de comunicatie.Pentru a putea comunica, fiecare filozof angajeaza cate un traducator care sa cunoasca ambele limbi, iar ei la randul lor angajeaza cate o secretara care se va ocupa cu transmiterea efectiva a mesajului. Urmarind figura, se observa ca filozoful 1 trimite translatorului sau mesajul pe care doreste sa-l primeasca filozoful 2. Acesta il traduce si il inmaneaza secretarei care il transmite mai departe prin fax, posta electronica sau cu telefonul secretarei 2. In concluzie un protocol este un set de reguli si conventii ce se stabilesc intre participantii (de exemplu, filozof 1- filozof 2) la o comunicatie in vederea asigurarii bunei desfasurari a comunicatiei respective; sau protocolul este o intelegere intre partile care comunica asupra modului de realizare a comunicarii. Din exemplu anterior, s-a observat ca pentru a realiza comunicatia sunt necesare mai multe reguli (protocoale) care se stabilesc intre membrii de pe acelasi nivel si intre membrii din cadrul aceluiasi grup. Acest concept se numeste familie de protocoale (stiva) si reprezinta o lista de protocoale utilizate de catre un anumit sistem, cate un protocol pentru fiecare nivel. Protocoalele sunt de doua feluri: - rutabile: sunt acel protocoale care accepta comunicatii LAN - LAN pe mai multe cai; - nerutabile. In cadrul unui aceluiasi grup (filozof - translator - secretar) intre participantii la comunicatie schimbul de informatii se face pe baza unor alte conventii, numite servicii. In general participantii la comunicatie se numesc entitati. Entitatile de pe un nivel n (de exemplu, filozoful) furnizeaza un serviciu utilizat de catre nivelul n+1 (in cazul nostru, traducator). Nivelul n se numeste furnizor de servicii, iar nivelul n+1 se numeste utilizator de servicii

IPX/SPX, TCP/IP
Protocoalele IPX i SPX reprezint dou tipuri de baz de protocoale de comunicaie n reele: IPX nu se bazeaz pe conexiuni, pe cnd SPX este orientat ctre conexiune. Vor fi artate avantajele i dezavantajele fiecrui tip de protocol i vor fi prezentate structurile pachetelor IPX i SPX.

1 Protocolul IPX
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, alegnd n funcie de caz IPX sau SPX. 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 pur i simplu 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.1 Structura pachetului IPX Pachetul IPX este identic din punct de vedere al structurii cu un pachet Xerox IDP. El are dou pri: un header de 30 de 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 Checksum Length Transport Control Packet Type Destination Network Destination Node Destination Socket Source Network Source Node Source Socket Data Portion Tabelul 1. Structura pachetului IPX. 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;
3

Coninut

Tip BYTE[2] BYTE[2] BYTE BYTE BYTE[4] BYTE[6] BYTE[2] BYTE[4] BYTE[6] BYTE[2] byte[0 546]

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.

2 Protocolul SPX
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
4

garanteaz livrarea datelor, secvenierea pachetelor, detectarea i corectarea erorilor i suprimarea pachetelor duplicate. 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. 2.1 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 Checksum Length Transport Control Packet Type Destination Network Destination Node Destination Socket Source Network Source Node Source Socket Connect. Control
5

Coninut

Tip BYTE[2] BYTE[2] BYTE BYTE BYTE[4] BYTE[6] BYTE[2] BYTE[4] BYTE[6] BYTE[2] BYTE

31 32 34 36 38 40 42

Data Stream Type Source Connect. ID Dest. Connect ID Sequence Number Acknowledge Number Allocation Number Data Portion Tabelul 2. Structura pachetului SPX.

BYTE BYTE[2] 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
6

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.

3 Protocoalele TCP/IP
Transmission Control Protocol (TCP) i Internet Protocol (IP) se refer de fapt la un set de protocoale i servicii care mpreun permit calculatoarelor legate n reea s se interconecteze pentru a realiza transferuri de fiiere, servicii de pot electronic i sesiuni de lucru interactiv la distan. TCP este folosit pe scar larg n mediile academice i inginereti (i, de exemplu, n cadrul reelei guvernamentale americane). De asemenea, datorit marelui numr de programe aprute pe pia care folosesc TCP/IP, acest set de protocoale a nceput s fie din ce n ce mai rspndit n mediul comercial, ca i n cadrul reelelor locale de calculatoare. 3.1 Protocolul Internet (Internet Protocol - IP) ntre protocoalele de nivel 3 (nivelul REEA) documentate de Departamentul de Aprare al Statelor Unite (DoD - Department of Defense), Internet Protocol este cel mai important. Principalul su scop este de a interconecta mai multe reele bazate pe schimbul de pachete ntr-o supra-reea (internet - n continuare vom nelege prin internet (scris cu litere mici) orice suprareea (reea global). Atunci cnd este nevoie s se specifice n mod explicit c este vorba despre reeaua Internet iniiat de ctre DoD, cuvntul Internet se va scrie cu prima liter capitalizat). IP i ofer serviciile diferitelor protocoale de pe nivelele superioare (Upper Layer Protocols - ULP) prin asistarea livrrii datelor ULP prin internet n cadrul unuia sau mai multor blocuri de date (datagrams).

Figura 1. O privire din punct de vedere logic asupra structurii Internet la nivelul IP Arhitectura internet permite o ierarhie de reele independente logic pe dou nivele. Nivelul cel mai de sus este conexiunea ntre reele pereche. O reea poate s conin o colecie de subreele pereche. Reelele i subreelele pot s conin hosturi ataate direct, dup cum se poate observa n figura 1. Singura diferen ntre reele i subreele const n modul n care sunt interpretate adresele IP i depinde de localizarea modulului IP specificat de adres. n majoritatea cazurilor, subreelele pot fi numite pentru simplitate reele. n general, termenul "subreea" este folosit doar n cazul n care este necesar s se fac distincia ntre diferitele nivele ierarhice ale internet. IP 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" (traducerea, poate puin forat, a termenului "datagram" este preluat din cartea "Reele de calculatoare", cu semnificaia "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.
8

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. Un gateway ataat mai multor reele trebuie s decid care este reeaua urmtoare prin care trebuie s treac pachetul pe care l-a primit pentru a ajunge la destinaie. De asemenea, trebuie s decid dac hostul destinaie se afl n cadrul urmtoarei reele (caz n care pachetul poate fi trimis direct acestui host) sau dac cel puin un alt gateway este necesar pentru a trimite pachetul ctre reeaua destinaie aflat la distan. Pentru a determina care este urmtorul gateway cruia trebuie s-i fie transmis pachetul, echipamentul gateway curent trebuie s cunoasc opiunile pe care le are la dispoziie i modul de alegere a urmtorului gateway dintre cele disponibile. Echipamentul gateway curent trebuie s fie capabil s achiziioneze ntr-un fel oarecare informaii despre alte echipamente gateway i despre cile disponibile pentru ca un pachet s poat atinge reeaua destinaie. Cel mai bine ar fi ca aceste informaii privind posibilitatea atingerii de ctre un pachet a unei reele ndeprtate s poat fi achiziionat i meninut dinamic, n acord cu conectivitatea instantanee asigurat de toate celelalte echipamente gateway ale reelei globale (internet). Pentru a putea fi atins acest scop, echipamentele gateway trebuie s fie capabile s schimbe ntre ele informaii asupra posibilitii de a trimite un pachet ctre diferite reele. De-a lungul anilor, au fost dezvoltate mai multe protocoale gatewaygateway, protocoale care caut s furnizeze acest schimb de informaii. 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.

3.1.1

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 1 3 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: 5 15 (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 cmpului Options nu este constant.

Figura 3. Headerul IP 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
10

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 octei, incluznd headerul IP i zonele de date ale pachetului. Se observ c lungimea cmpului Total Length permite o lungime total maxim a 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: 0 8191 (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 cmpului: 8 bii Unitate: secunde Gam: 0 255 (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.

11

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 ICMP ST TCP EGP IGP NVP UDP HMP XNS-IDP RDP IRTP ISO-TP4 NETBLT Prescurtare Reserved 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). Descriere

12

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; - Record Route - 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. 3.1.2 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.

13

Numele reelei Bell Labs' Spider ALOHANET (University of Hawaii) X.25 (implicit) ARPA Packet Radio Network ARPANET X.25 (maxim) Ethernet

Maxim [bii] 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. 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.

14

Figura 4. Fragmentarea unui pachet cu lungimea de 10 octei n cazul unei reele care accept doar pachete cu lungimea de pn la 8 octei.

15

3.1.3 Setarea parametrilor IP IP poate s-i adapteze serviciile pentru a permite existena unei diversiti de ULP-uri. De exemplu, un protocol de la nivelul transport care are cerine de lucru n timp real, cum ar fi NVP (Network Voice Protocol) poate s foloseasc serviciul IP de transmisie de pachete ntr-un mod care difer de metodele utilizate de TCP, de exemplu. Exist metode specifice prin care ULP-urile pot s identifice serviciile care vor fi oferite de ctre IP i s adapteze aceste servicii ntr-o configuraie particular a reelei. De exemplu, dac se dorete ca un pachet (datagram) s parcurg o rut specific n drumul su ctre destinaie, o astfel de rut (numit Source Route) poate fi specificat de ctre ULP. Fiecare modul IP este capabil s trimit datagrama conform rutei specificate, eventual mrit de ctre mecanismul standard de rutare, dac este necesar. Parametrii setabili ai IP se pot ncadra n dou categorii: - parametri privind calitatea serviciilor (Service Quality Parameters); - opiuni privind serviciile (Service Options). Parametrii privind calitatea serviciilor influeneaz serviciul de transmisie asigurat de ctre echipamentele gateway care intervin n procesul de transmisie, iar opiunile privind serviciile sunt folosite pentru a specifica cererea de servicii speciale care trebuie asigurate n cadrul modulelor IP. 3.1.4 Parametrii de calitate a serviciilor Acele ULP care tiu c datagramele lor vor trece prin echipamente gateway care pot efectua modificri asupra pachetelor care trec prin ele, pot s sugereze acestor echipamente gateway tratamentul pe care acestea s-l aplice fiecruia dintre pachetele trimise. Aceste sugestii se realizeaz prin intermediul parametrului TOS (Type of Service) din cadrul headerului pachetului IP. Semnificaia acestui cmp poate fi: Precedence (Precedena) indic echipamentului gateway s ncerce s aplice un tratament preferenial pentru datagrame care au o nalt importan. Tratamentul preferenial poate s previn astfel de datagrame s fie ntrziate n cadru unei cozi n interiorul echipamentului gateway, de exemplu. Transmision mode - datagram versus stream (Modul de transmisie datagram sau ir de datagrame) - Modul Datagram (implicit) indic faptul c ULP consider aceast datagram ca fiind un eveniment sporadic, necorelat cu datagrame trecute sau viitoare. Modul Stream cere echipamentului gateway s minimizeze ntrzierile i dispersia ntrzierilor ntre transmisiile pachetelor similare, prin rezervarea resurselor reelei. Reliability (ncredere) - destinat minimizrii pierderii datelor i ratei erorilor. Acest parametru asigur faptul c resursele cozilor sunt alocate n primul rnd pachetelor care cer un nalt nivel de siguran i faptul c pachetele care nu cer n mod explicit acest lucru pot s fie "aruncate" n cazul n care nu mai este loc n coad i apare un pachet care cere un nalt nivel de ncredere. Resource Tradeoff indic dac este mai important s se onoreze cererea de "High Precedence" sau cea de "High Reliability" n cazul n care echipamentul gateway nu poate s le asigure pe ambele n acelai timp. Noiunea de Stream Mode versus Datagram Mode de obicei nu este folosit n cazul reelelor locale sau WAN terestre, dar se folosete n cazul reelelor bazate pe rutarea prin satelit, deoarece routerele aflate pe satelii n general pot s cear alocarea unei benzi de transmisie n avans. Dac routerul constat c ncepe s recepioneze pachete care au bitul Stream Mode setat, el
16

poate s anticipeze primirea mai multor pachete care fac parte din acelai ir i deci va cere staiilor sale pereche alocarea ntr-un viitor apropiat a unei benzi de frecven mai mari pentru a se asigura c un pachet care va fi recepionat nu va fi ntrziat n momentul recepiei pentru a se cere alocarea unei benzi de frecven n timp real (routerele aflate pe satelii nu pot s comunice ntre ele instantaneu; pachetele care trec prin ele au cel puin o ntrziere de un sfert de secund). 3.1.5 Opiuni privind serviciile Headerul IP poate s fie expandat pentru a include unele cmpuri opionale pentru a cere servicii IP n nodurile surs, destinaie sau intermediare (de rutare). Cteva dintre opiunile definite sunt: Security Labeling Identific nivelul de securitate (secret, strict secret etc.) al datagramei pentru serverele care conin informaii secrete. Source Routing Selecteaz setul de module IP din echipamentele gateway prin care trebuie s treac pachetul, n acord cu specificaia celui care trimite pachetul. Permite unui nod s selecteze reelele prin care urmeaz s tranziteze pachetul i reelele prin care nu trebuie s tranziteze pachetul, astfel mbuntind nivelul de securitate al unor anumite tipuri de tranzacii. Source Routing poate fi specificat ca fiind "slab" (lsndu-se echipamentului gateway unele liberti) sau "strict". Route Recording - Cere nregistrarea modulelor IP din cadrul echipamentelor gateway prin care tranziteaz pachetul, astfel nct hostul destinaie poate s tie toate locurile prin care a trecut pachetul. Stream Identification Identific irul de pachete cruia i aparine pachetul; este folosit n cadrul serviciilor de tip stream. Timestamping - Permite echipamentului gateway s marcheze momentul n care a procesat o datagram. Don't Fragment Marcheaz o datagram ca fiind o unitate indivizibil, care nu trebuie s fie fragmentat de ctre echipamentul gateway. 3.1.6 Serviciul de raportare a erorilor Unele erori detectate de ctre protocoalele de la nivelul legturii de date sau raportate de ctre protocoalele IP pereche trebuie indicate de ctre nivelul IP al unui host nivelelor superioare interesate de aceste erori. Aceste indicaii descriu cteva clase de erori, incluznd argumente invalide, resurse insuficiente i probleme de transmisie. Erorile care sunt raportate de IP nivelelor superioare sunt n general determinate de fiecare implementare a IP. 3.1.7 Asignarea adreselor IP n funcie de configuraia reelei 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.
17

Aceste situaii sunt ilustrate n figura 5.

Figura 5. Tipuri de reele 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

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
18

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 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. al treilea bit 0 al treilea bit 1

Valoare 0 127 128 191 192 223 224 255

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. 3.1.8 Servicii pe care IP le cere nivelelor inferioare IP nu ofer doar servicii pentru ULP. n conformitate cu principiile ISO OSI, IP cere servicii nivelelor inferioare, incluznd transferul transparent de date ntre calculatoare gazd din cadrul aceleiai subreele i raportarea de erori. Datagramele pot s nu fie recepionate n ordinea n care au fost transmise i nici nu se garanteaz transmiterea lor fr erori. Nivelele inferioare nivelului IP genereaz rapoarte privind erorile de la nivelul subreea i cele inferioare, dup caz. Cerinele de mesaje de eroare specifice sunt dependente de subreeaua n cauz. De exemplu, n cazul unei subreele de tip Ethernet, spre deosebire de WAN, n general nu se raporteaz erori, cu excepia cazului n care datagrama trebuie s fie abandonat din cauza apariiei a 16 coliziuni consecutive. Ct timp livrarea unei datagrame prin IP nu se pretinde c ar fi infailibil, modul n care un modul IP reacioneaz la informaiile de eroare provenite de la nivelele inferioare este n mare msur nespecificat.

19

3.1.9 Internetwork Control Message Protocol (ICMP) Nivelele superioare pot s doreasc transmitera de mesaje ctre modulele IP, prin care s anune faptul c unele aspecte privind comportarea hostului care transmite pachete ar trebui modificate. Pentru aceasta se folosete ICMP. 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. ICMP este n mod oficial considerat ca fcnd parte din IP. Totui, datagramele ICMP sunt trimise folosind IP. Deci, ICMP este o parte funcional a nivelului trei, dar este codificat ca i cnd ar face parte din nivelul patru. 3.1.10 Adress Resolution Protocol (ARP) Toate staiile i echipamentele gateway sunt codificate folosind o adres IP , care este limitat la 32 bii. Transmiterea de pachete printr-o reea Ethernet, de exemplu, cere adrese destinaie de 48 bii pentru a identifica nodul destinaie. De aceea, se pot inventa, de exemplu, cei 16 bii adiionali. Dar, nici aceasta nu este o soluie, deoarece adresele Ethernet sunt arbitrare i n general sunt setate de ctre productorii cartelelor de cuplare la reea (ba mai mult, primii 3 octei ai adresei unei cartele Ethernet n general identific productorul cartelei). Deci, nu vor exista n general staii care s aib adrese legate n vreun fel. De aceea, un alt set de servicii trebuie asigurat n cadrul nivelului reea, pentru a asigura transformarea unei adrese IP de 32 bii ntr-o adres Ethernet de 48 bii. Astfel a aprut ARP. Atunci cnd un proces de la nivelul reea dorete s transmit un pachet care are adresa Internet specificat, dar a crui adres Ethernet nu este cunoscut, acel proces de la nivelul reea trebuie s transmit o cerere ARP broadcast pentru a afla adresa Ethernet a destinaiei. Un nod urmeaz s rspund cererii de adres Ethernet coninut n pachetul ARP, de obicei chiar nodul destinatie. Cnd este recepionat rspunsul, de obicei cei 48 bii sunt reinui ntr-un cache, astfel nct atunci cnd va fi fcut o cerere de transmitere a unui pachet ctre o destinaie, corespondentul Ethernet al adresei IP destinaie este cutat n cache, iar dac este gsit, pachetul este transmis direct i se poate evita o tranzacie ARP. Altfel, se genereaz un nou pachet ARP pentru a se afla adresa Ethernet corespunztoare destinaiei. Deci, un host rezolv adresa destinaie n urmtorul mod: Caut n cache adresa Ethernet corespunztoare. Dac nu o gsete, apeleaz la ARP pentru a transmite o cerere de adres Ethernet n reea. Ca o alternativ, se poate folosi un fiier de configuraie aflat la nivelul hostului surs. Deci, exist trei surse tipice din care se poate afla echivalentul Ethernet al unei adrese IP: - rspunsul la cereri ARP; - memoria cache de adrese provenite de la rspunsuri ARP anteroiare; - informaia coninut n fiierele de configuraie. Specificarea protocolului ARP permite acestui protocol s converteasc o datagram IP ntro cerere ARP. Astfel, datagrama va fi 'consumat". De aceea, ULP trebuie s fie gata s asigure din nou datagrama nivelului trei. Deoarece funciile IP sunt considerate ca nedemne de ncredere, pachetul transformat n cerere ARP este vzut de nivelul transport (nivelul patru) ca un pachet pierdut. Trebuie remarcat c ARP localizeaz hosturi aflate n aceeai reea sau subreea ca i hostul surs. Utilitatea sa este limitat deci la un broadcast Ethernet. Pentru a trimite pachete unui host dintr-o alt reea, datagrama trebuie nti trimis unui router ataat reelei surs. n acest caz, hostul surs trebuie s identifice adresa routerului, care apoi va trimite datagrama ctre reeaua destinaie.
20

Unele routere IP rspund la cereri ARP n numele unui host ndeprtat. Hostul surs este astfel "pclit", deoarece va crede c i rspunde hostul destinaie. Aceast tehnic se numete Proxy ARP. Folosirea ei nu este n general recomandat, dar este necesar atunci cnd IP-ul unui host nu este suficient de sofisticat pentru a determina faptul c pachetul trebuie trimis unui router pentru a putea ajunge la destinaie. 3.1.11 Reverse Address Resolution Protocol (RARP) S presupunem c singurul lucru pe care o staie l tie la iniializare este propria sa adres Ethernet, de obicei prin citirea informaiei de configuraie proprii. Deci, respectiva staie nu i cunoate propria adres IP. De aceea, este necesar s ncerce s afle aceast adres la iniializare. Pentru servirea acestui scop s-a implementat protocolul RARP, care permite unei staii s trimit un pachet broadcast prin care s cear informaii de tipul "Cine sunt eu?", adic "Ce adres IP am eu?". De obicei, un host (tipic, un server RARP) trebuie s fie pregtit s execute inversul unui ARP, adic s trimit napoi adresa IP corespunztoare adresei Ethernet primit. Acest protocol (RARP) este folosit doar la iniializare. RARP nu mai este apoi rulat pn la o nou iniializare a sistemului. O valoare 8035h a cmpului Type din cadrul headerului Ethernet identific un pachet RARP. Trebuie notat c trebuie s existe un server RARP pe fiecare segment Ethernet, deoarece se folosesc pachete de tip broadcast, care nu sunt transferate mai departe de ctre routerele IP. 3.1.12 IP n cadrul reelelor IEEE 802 Formatul pachetelor n reelele IEEE 802 difer de formatul folosit n reelele Ethernet. n particular, standardul IEEE 802.3 nu prevede un cmp Type, ca reelele Ethernet. Cmpul corespunztor este folosit pentru a specifica lungimea pachetului. Cmpuri adiionale specific informaii despre Link Service Access Point (LSAP) i Subnetwork Access Point (SNAP), aa cum sunt ele definite n standardul IEEE 802.2 Aceste protocoale nu sunt nc oficial adoptate pentru folosirea de ctre IP, dar par s ctige din ce n ce mai mult teren. Ethernet DA SA TYPE IEEE 802.3 DA SA Length DSAP DATA SSAP Control Protocol ID Type DATA

Figura 6. Poziia headerului SNAP.

21

SNAP va asigura o metod standardizat de ncapsulare a datagramelor IP n cele trei tipuri de reele prevzute n standardul IEEE 802. De asemenea, va asigura un standard pentru implementarea unor protocoale legate de IP, cum ar fi ARP. ncapsularea despre care s-a vorbit arat ca n figura 6. Pentru a indica prezena unui header SNAP, cmpurile DSAP i SSAP trebuie s aib ambele valoarea 0AAh. Trebuie asignat un identificator de protocol SNAP (poate s aib i valoarea zero) pentru a indica faptul c urmeaz un pachet Ethernet ncapsulat. Cmpul Ethernet Type va indica dac acest pachet este n format IP sau nu. 3.2 Nivelul patru - nivelul transport Nivelul transport este al patrulea nivel din cadrul modelului referin OSI , dup cum se arat i n figura 7.

Figura 7. Nivelul transport 3.2.1 Servicii specifice pentru nivelul transport Nivelul transport este destinat s asigure unei maini servicii de conexiune i tranzacie. Nivelele inferioare ale modelului se ocup de transmisia i rutarea pachetelor ntre diferite maini. Nivelul transport are menirea de a oferi servicii de transmisie eficiente i sigure ntre diferite procese i nu ntre maini. Toate cele patru nivele conlucreaz pentru a oferi un serviciu de transport complet, nlesnind o comunicaie robust i transparent pe baza crora se pot construi apoi protocoale la nivelele superioare. Scopul acestui nivel este de a oferi o cale de comunicaie ntre diferite procese care s simuleze o legtur punct-la-punct, procesele nefiind interesate de modul cum se face de fapt comunicaia. Un protocol de la nivelul transport execut aceast sarcin prin mprirea datelor n pachete i transmisia (eventual retransmisia) lor pentru a permite livrarea datelor n ordine, fr duplicate sau omisiuni. TCP/IP asigur dou protocoale principale la nivelul patru: TCP (Transmission Control Protocol) i UDP (User Datagram Protocol), cum se arat n figura 8.

22

Figura 8. TCP i UDP n cadrul nivelului transport Au fost specificate i alte protocoale de transport, cum ar fi cele pentru transportul semnalelor audio digitizate, dar acestea nu fac obiectul prezentului proiect. 3.3 Protocolul de control al transmisiei (TCP) TCP a fost proiectat s opereze n diferite reele i s ofere conexiuni virtuale ntre procese, prin transmisii sigure i n ordine ale datelor utilizatorilor. 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:

Figura 9. Relaia ntre TCP i IP.


23

3.3.1 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. Deoarece TCP a fost proiectat s fie independent de caracteristici particulare ale reelelor n cadrul crora opereaz, este dat o definiie general a noiunii de pachet (sau segment) care permite existena unor pachete cu o lungime de pn la 65KB. TCP pereche pot s-i transmit pachete care au o lungime pn la lungimea maxim definit n standard (65KB). n realitate, dac se n cearc schimbul unor pachete de o asemenea lungime, nivelele IP vor fi nevoite s mpart aceste pachete n multe pachete de nivel mai cobort, pentru ca acestea s corespund lungimii maxime a pachetelor n cadrul reelei din care hostul face parte. De obicei, diversele implementri ale TCP lucreaz cu pachete care au lungimi adecvate reelei la care sunt ataate. TCP asigneaz cte un numr de ordine fiecrui octet al irului infinit de date al clientului su. Atunci cnd schimb segmente cu perechea sa, TCP eticheteaz segmentul cu numrul de ordine al primului octet al segmentului i cu numrul de octei coninui n pachet. Aceasta permite TCP s reasambleze fluxul de date atunci cnd l livreaz nivelelor superioare. 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): (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.

24

Figura 10. Procesul de transmisie 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; - 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; - 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.

25

3.3.2 Formatul headerului TCP Headerul TCP este relativ mare, structura sa fiind prezentat n figura 11.

Figura 11. Headerul TCP. n continuare este prezentat semnificaia fiecrui cmp al headerului TCP: Source Port (Portul surs) Abreviere: SRC PORT Lungimea cmpului: 16 bii n principiu, acest cmp conine o adres care identific un proces sau un serviciu n cadrul host-ului surs. Portul surs nu face parte din adresa IP; totui, combinaia dintre adresa IP i numrul portului identific n mod unic ceea ce se cheam un soclu (socket) sau punct de acces ntrun proces dat. 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
26

Gam: 0 232-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). Acknowledgement Number (Numr de confirmare) Abreviere: ACK Lungimea cmpului: 32 bii Unitate: octei Gam: 0 232-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: 5 15, 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.
27

- 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: 0 216-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: 0 216-1 Acest cmp specific ultimul octet de date urgente. 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. 3.3.3 Gestionarea conexiunilor Principala funciune a TCP este s ofere conexiuni de date (canale de comunicaie) ntre perechi de ULP-uri. Gestionarea conexiunilor poate fi mprit n trei faze: stabilirea conexiunii, meninerea conexiunii i terminarea conexiunii. Conexiunile sunt dotate cu cteva proprieti care se aplic pe toat perioada existenei conexiunii, incluznd nivelele de preceden i de securitate. Aceste proprieti sunt specificate de ctre ULP la deschiderea conexiunii. TCP ofer mijloacele necesare pentru ca ULP s poat intra n conexiune cu alte ULP n mod unic adresate printr-un nume de soclu (socket). Un socket este de
28

fapt concatenarea unei adrese de IP (care se gsete n headerul IP) cu numrul de port al aplicaiei (din headerul TCP). O conexiune este definit ca o cobinaie a numerelor de socket ale celor doi participani la conexiune. TCP stabilete n mod activ o conexiune pentru un ULP dac: - nu exist deja o conexiune ntre cele dou socluri; - exist suficiente resurse interne TCP disponibile; - cellalt ULP (pereche) a executat simultan o deschidere activ de conexiune potrivit sau a executat anterior o deschidere de conexiune global, nespecificat (deschidere pasiv). O deschidere activ se mai numete uneori chemare, iar o deschidere pasiv se mai numete ascultare. TCP ofer mijloace pentru ULP s asculte pasiv i s rspund la chemri din partea unor ULP corespunztoare. Un ULP poate fi interesat de chemri din partea unui anumit corespondent sau din partea oricrui corespondent ndeprtat. Deci, un ULP are dou posibiliti de a executa o deschidere pasiv de conexiune: - n totalitate specificat - un ULP care execut o chemare este n mod unic determinat de ctre un soclu. O conexiune va fi acceptat doar dac se constat apariia unei chemri din partea unui soclu ndeprtat specific; - nespecificat - nu este specificat nici un soclu din partea cruia s fie acceptat o cerere de deschidere activ a unei conexiuni. Se va stabili o conexiune cu orice ULP ndeprtat care execut o operaie de deschidere activ potrivit care identific acest ULP. Odat ce s-a stabilit o conexiune, TCP o va menine ct timp ambele pri rmn interesate s o menin activ. Conexiunile care sunt stabilite dar nu genereaz n mod activ date care s fie schimbate ntre cele dou ULP, nu genereaz nici un pachet. Aceasta nu este o problem, dar este interesant faptul c TCP nu ofer un mecanism care s detecteze pierderea unui partener de conexiune atunci cnd nu se schimb date ntre parteneri. Dar, deoarece pentru unele aplicaii o asemenea informaie este de folos, unele implementri TCP folosesc un truc pentru a realiza aceast detecie: se trimit datagrame care nu conin date i cu numr de secven incorect. TCP specific faptul c recipientul trebuie s rspund cu o datagram coninnd numrul de secven corect. Dac nu se recepioneaz nici un rspuns, TCP care verific existana conexiunii poate s decid c perechea sa a disprut. Conexiunile stabilite pot fi terminate n unul dintre urmtoarele moduri: 1 Graceful Close (nchidere cu succes) - Ambele ULP nchid partea conexiunii duplex, simultan sau secvenial, atunci cnd transferul de date s-a terminat cu succes. TCP coordoneaz terminarea conexiunii i evit pierderea datelor n tranzit. 2 Abort - Atunci cnd un ULP foreaz unilateral nchiderea conexiunii, TCP nu coordoneaz aceast terminare. Datele n tranzit pot s se piard. TCP i construiete serviciile pe serviciile potenial nesigure ale nivelului reea, cu mecanisme ca: detecie de erori, confirmri, numere de secven i controlul fluxului de date. Aceste mecanisme cer ca informaiile de adresare i de control s fie iniializate i meninute pe toat durata transferului, aa cum se va arta n continuare. 3.3.4 Confirmarea TCP folosete un mecanism numit confirmare pozitiv cu retransmisie (Positive Acknowledgement with Retransmission - PAR) pentru a recupera erorile provenite din pierderea datelor la nivelele inferioare. PAR permite protocolului TCP al unui host surs s retransmit datele din timp n timp, pn cnd este primit confirmarea pozitiv. Pentru a evita retransmisiile care nu sunt necesare i ntrzierile excesive de retransmisie, TCP ajusteaz dinamic valoarea timeoutului pentru a estima timpul pe care l necesit trimiterea pachetului, primirea confirmrii i procesrile
29

interne n cadrul modulelor TCP pereche. O sum de control simpl detecteaz segmentele deteriorate n tranzit i ele sunt aruncate fr confirmare. Deci, PAR trateaz segmentele cu erori ca pe nite segmente pierdute i compenseaz pierderea lor. Marea varietate de reele suportate de TCP (Ethernet, reele prin satelit, reele ntinse terestre) difer n mare msur din punct de vedere al ratei de transfer al datelor, ntrzieri etc. TCP specific tehnici adaptive pentru tratarea ntrzierilor astfel nct s nu se retransmit un pachet prea des sau prea rar. TCP specific un algoritm de generare exponenial a ntrzierilor, similar celui din cazul Ethernet. Numerele de secven folosite de TCP extind mecanismul PAR prin faptul c se permite ca o singur confirmare s acopere toate datele recepionate anterior. Astfel, un TCP surs poate s transmit date noi n intervalul de timp n care ateapt confirmarea primirii datelor vechi. Confirmarea se refer la toate datele anterioare, nu numai la un segment de date recent. Astfel, receptoarele pot s ia decizia de a nu trimite confirmri n cazul primirii fiecrui pachet, ci doar din cnd n cnd (pentru mai multe pachete odat). 3.3.5 Controlul fluxului de date Mecanismul de control al fluxului de date implementat de TCP permite unui TCP destinaie s controleze datele expediate de un TCP surs. Mecanismul este bazat pe implementarea unei ferestre care definete o gam continu de numere de secven acceptabile. Pe msur ce noi date sunt acceptate, TCP mut fereastra n sus n spaiul numerelor de secven. Fereastra este specificat n cadrul fiecrui segment i permite TCP s menin informaii actuale. Exist un mecanism recomandat pentru a nu permite apariia "sindromului de ferestre prostue" (Silly Window Syndrome), sindrom care ar putea s duc la suprancrcarea modululelor TCP i chiar la epuizarea resurselor lor. Acest sindrom este rezultatul trimiterii cu o rat prea mare a unor informaii privind modificrile ferestrelor, fapt care poate duce la transmiterea de ctre TCP surs de multe datagrame de dimensiuni mici n locul ctorva mai mari. 3.3.6 Multiplexarea Mecanismul de multiplexare al TCP permite asigurarea de servicii de ctre un singur TCP pentru mai multe ULP i mai multe procese din cadrul aceluiai host. De asemenea, este permis mai multor procese din cadrul aceluiai ULP s foloseasc TCP simultan. Mecanismul asigneaz identificatori, numii porturi, fiecrui proces care cere servicii TCP. O conexiune TCP este legat n mod univoc de un soclu (concatenarea numrului portului cu adresa IP). Conexiunea este determinat n mod unic de o pereche de socluri (surs i destinaie). Aceast schem de identificare permite unui singur ULP s aib conexiuni TCP cu mai multe ULP ndeprtate. De asemenea este permis ca un set de procese s aib conexiuni multiple (orice pereche de procese poate avea o conexiune TCP). Acele ULP care permit conexiuni pentru resurse populare sunt asignate permanent, fiind numite porturi bine-cunoscute. 3.3.7 Sincronizarea Dou ULP care doresc s comunice, dau instruciuni TCP-urilor respective s iniieze i s sincronizeze informaiile cerute pentru stabilirea unui circuit virtual. Deoarece nivelele inferioare, nedemne de ncredere, pot s livreze date provenind din conexiuni mai vechi, stabilirea conexiunii se realizeaz pe baza unui mecanism handshaking bazat pe numere de secven care au la baz timpul curent. Acest mecanism reduce posibilitatea ca primirea de pachete ntrziate s par pachete valide n cadrul conexiunii curente. Folosind un mecanism handshaking foarte simplu, cele dou TCP se sincronizeaz n trei pai (figura 12).

30

Figura 12. Handshaking n trei pai 3.3.8 Rendezvous Un ULP are dou posibiliti pentru a deschide o conexiune n dou moduri: activ sau pasiv. O conexiune se deschide activ atunci cnd un ULP d instruciuni TCP s iniieze un protocol handshaking pentru a se conecta la un alt ULP. Pentru a se realiza o conexiune pasiv, se indic TCP s atepte o tentativ de deschidere a unei conexiuni din partea unui alt TCP. Aceast facilitate este util pentru aplicaiile orientate pe servere. Un program de gestiune de la distan a unei baze de date, de exemplu, poate s atepte pasiv deschiderea unei conexiuni de ctre utilizatori aflai la staii n reea. Mecanismul handhske n trei pai de asemenea coordoneaz activitile necesare n cazul apariiei unor tentative de deschidere activ a unei conexiuni ntre dou TCP pereche. 3.3.9 Indicatorul PUSH Folosirea indicatorului PUSH este o alt parte a funciei de segmentare. TCP grupeaz n mod normal datele pentru transmisie ntr-o manier transparent, dup bunul su plac. Totui, folosind un push, un ULP poate s indice TCP s trimit datele primite fr a atepta s mai primeasc i alte date pentru transmisie. De exemplu, un ULP care deservete terminale la distan, poate s doreasc s trimit datele ctre terminale cte o linie odat. n acest scop, sunt necesare dou mecanisme. nti, ULP surs trebuie s aib implementat un mecanism specific implementrii pentru a indica TCP-ului local s transmit datele, iar apoi TCP surs trebuie s fie capabil s indice TCP receptor s livreze datele. Indicatorul PUSH este folosit pentru acest al doilea scop. 3.4 User Datagram Protocol (UDP) UDP ofer servicii de transport de ncrcare redus pentru a permite ULP s transfere datagrame ntre ele. Ca i TCP, UDP folosete cmpuri port pentru a specifica procesul surs i destinaie al fiecrei tranzacii. Se poate folosi, opional, i o sum de control.

31

3.4.1 Numerele porturilor TCP i UDP folosesc ambele numere de porturi, pentru a distinge participanii la diferite schimburi de date. Deoarece identificatorul de protocol (cmpul de 16 bii PROT din cadrul headerului IP) este evaluat naintea valorii numrului de port, TCP i UDP folosesc valori independente de cte 16 bii pentru a identifica porturile. Deci, acelai numr de port poate identifica dou porturi diferite: unul pentru TCP i altul pentru UDP. Mai mult, selecia numerelor de porturi este restricionat. Valorile ntre 0 i 255 sunt rezervate pentru asignare de ctre DoD; aceste 256 porturi sunt cunoscute sub numele de WellKnown Ports (porturi bine-cunoscute). Un subset al acestor porturi este prezentat n tabelul 8. Orice program care folosete un Well-Known Port trebuie s se conformeze protocolului specificat de la nivelele superioare. Trebuie notat c se ncearc s se coordoneze asignarea acestor porturi bine cunoscute ntre TCP i UDP. Numrul portului 7 9 13 15 17 20 21 23 25 37 39 42 46 53 67 68 69 79 101 102 103 104 Abreviere Echo Discard Daytime Netstat Quote FTP-Data FTP Telnet SMTP Time RLP Nameserver MPM-Snd Domain BootPS BootPC TFTP Finger Hostname ISO-TSAP X400 X400-SND Echo Discard Daytime Who is up? Quote of the day File Transfer (Default Data) File Transfer (Control) Telnet Simple Mail Transfer Protocol Time of Day Resource Location Protocol Host Name Server MPM (Default send) Domain Name Server Bootstrap Protocol Server Bootstrap Protocol Client Trivial File Transfer Who is on System NIC Host Name Server ISO-TSAP X400 X400-SND
32

Descriere

105 109 113 115 119 123 129

CSNET-NS POP-2 AUTH SFTP NNTGP NTP PWDGEN

CSNet Name Server Post Office Protocol, Version 2 Authentication Server Simple File Transfer Protocol Network News Trans. Protocol Network Time Protocol Password Generator Protocol

Tabelul 8. Numere de porturi asignate n headerele TCP i UDP Multe sisteme de operare includ aceste numere de porturi ntr-un set de porturi protejate. Ele pot s fie accesate doar de procese care au privilegii speciale, la nivel de sistem de operare. Numerele de porturi rmase, numite numere de porturi efemere (Ephemeral Port Numbers), pot s fie folosite de orice proces.

33

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