Stiva de retea si securitatea

User Rating: ONONONONON / 3
Poor Best 
Written by Teodor Lupan


Protocolul de bază folosit în internet este cunoscut ca TCP/IP, prescurtarea de la Transmission Control Protocol/Internet Protocol. Cunoscut şi ca Suita Internet, este o colecţie de protocoale pe care orice maşina conectata la internet trebuie să le implementeze. Este ca un vocabular comun care permite unei maşini să facă o cerere şi o alta maşina să îndeplinească acea cerere.


Suita de protocoale TCP/IP deşi reprezintă internetul, nu a făcut parte la început din acesta. TCP/IP a fost creat în zilele de început ale internetului pentru un număr destul de mic de noduri şi pentru un număr limitat de aplicaţii. Internetul începuturilor a fost un loc mult mai prietenos decât este astăzi – securitatea nu avea prea mare importanta, pentru ca în mare parte, Internetul era considerat un cerc privat de utilizatori. 
  Popularitatea extraordinara a Internetului a pus la încercare protocoalele TCP/IP aducând probleme pe care nu erau construite să le facă fata. Prin anii 80, Departamentul Apărării ( Department of Defense ) al S.U.A. a susţinut înlocuirea suitei TCP/IP ca întreg cu protocoale mai moderne, care să facă fata expansiunii şi insecurităţii Internetului. Protocoalele care au fost concepute se bazau pe un model conceptual cunoscut ca modelul OSI. Acest model afirma faptul ca pentru ca computerele să comunice, trebuiau să existe nişte straturi sau niveluri bine definite. De exemplu, primul strat al modelului OSI a fost cunoscut ca nivelul fizic care definea modul în care producătorii să creeze biţii – 0 şi 1 intr-un mediu de transmisie, fundamentul tuturor comunicaţiilor intre calculatoare. Trebuia să existe nişte standarde care să definească ca se poate reprezenta 0 şi 1 ca impulsuri de lumina intr-o fibra optica sau intr-un cablu de cupru ca voltaj. Pentru a păstra toate protocoalele intr-o forma centralizata şi clara, modelul ISO va fi administrat şi îmbunătăţit de către ISO, Organizaţia Internaţionala de Standarde.
  Aceasta iniţiativa a Departamentului Apărării era o idee foarte buna şi ar fi contribuit semnificativ la scalabilitatea reţelelor pe care le folosim în acest moment, dar era o problema. Pana când ISO a pus la punct modelul OSI, Internetul crescuse în aşa măsura, încât TCP/IP nu mai putea fi detronat. Nu era nici o posibilitate în care să aduni pe toţi la un loc şi să le spui: „OK, joia viitoare la 9:40 PM, să oprim Internetul şi să-l pornim după o zi folosind modelul OSI.” Astfel, ideea suitei de protocoale OSI a pierdut teren treptat. Cu toate acestea, deşi protocoalele OSI nu se folosesc, modelul OSI a devenit un model de referinţa faţă de care ne raportam în clasificarea funcţionalităţii reţelelor şi a componentelor de reţea.

Definirea unui pachet TCP:

  Fiecare pachet de date sau unitate de date TCP poate fi denumit mesaj TCP sau segment TCP. Ambii termeni sunt corecţi şi se folosesc pe larg în literatura Internet. Totuşi, din motive care vor fi prezentate în următoarele paragrafe, termenul segment este mai indicat. Să nu uităm că TCP tratează datele sub forma unui unic flux serial de date, nedivizat. Totuşi, TCP trebuie să folosească datagrame IP pentru livrarea datelor. Din fericire, programele aplicaţie pot trata datele TCP ca pe un flux de octeţi continuu, ignorând datagramele IP. Ori de câte ori apare termenul mesaj TCP, el va fi înlocuit prin segment TCP. Astfel, se admite faptul că fiecare mesaj TCP livrat de o datagramă IP este în realitate un segment din fluxul de octeţi TCP. Un segment TCP constă dintr-un antet TCP, opţiuni TCP şi datele transportate de segment. Figura 1 prezintă structura unui segment TCP.

segment tcp

Tabelul 1 descrie pe scurt rolul fiecărui câmp din antetul TCP. Paragrafele care urmează acestui tabel vor discuta în detaliu despre fiecare câmp .

Câmp date

Rol

Port sursă (Source Port)

Identifică portul de protocol al aplicaţiei emiţătoare.

Port destinaţie (Destination Port)

Identifică portul de protocol al aplicaţiei emiţătoare.

Număr secvenţă (Sequence Number)

Identifică primul octet de date din zona de date a segmentului TCP.

Număr confirmare (Acknowledgment Number)

Identifică următorul octet din fluxul de date pe care îl aşteaptă emiţătorul.

Lungime antet (Header Length)

Indică lungimea antetului TCP, în cuvinte de 32 biţi.

Indicator de stare URG (URG Flag)

Indică modulului TCP receptor că şi câmpul Urgent Pointer (Pointer de date urgente) indică spre date urgente.

Indicator de stare ACK (ACK

Indică modulului TCP receptor că şi câmpul

Flag) Indicator de stare PSH

Număr confirmare conţine un număr de confirmare valabil.

(PSH Flag) Indicator de stare

Indică modulului TCP receptor să trimită imediat datele din segment către aplicaţia destinaţie.

RST (RST Flag)

Cere modulului TCP receptor să reseteze conexiunea TCP

Indicator de stare SYN (SYN Flag)

Indică modulului TCP receptor să sincronizeze numerele de secvenţă.

Indicator de stare FIN (FIN Flag)

Indică modulului TCP receptor că emiţătorul a încheiat transmisia datelor.

Dimensiune fereastră (Window size)

Indică modulului TCP receptor numărul de octeţi pe care emiţătorul este dispus să-i accepte.

Sumă de control TCP (TCP Checksum)

Contribuie la detecţia datelor alterate de către modulul TCP receptor.

Pointer de date urgente (Urgent Pointer)

Indică spre ultimul octet de date urgente din zona de date a segmentului TCP.

Opţiuni (Options)

Folosit de obicei cu câmpul Dimensiune maximă segment (Maximum Segment Size), care anunţă dimensiunea maximă a unui segment ce poate fi primit de modulul TCP.

Indicatoare de stare: 

Antetul TCP conţine şase câmpuri indicator de stare de un bit. Tabelul 2 prezintă fiecare indica­tor de stare şi descrierea acestuia.

IndicatorDescriere
URGIndică modulului TCP receptor că şi câmpul Urgent Pointer indică spre date urgente. (Modulul TCP trebuie să proceseze datele urgente înaintea oricăror alte date.)
ACKIndică modulului TCP receptor că şi câmpul Număr confirmare conţine un număr de confirmare valabil. Acest indicator contribuie la asigurarea fiabilităţii datelor.
PSHAcest indicator necesită o operaţie push. În realitate, indicatorul cere modulului TCP receptor să trimită imediat datele din segment către aplicaţia destinaţie. În mod normal, modulul TCP memorează datele primite într-un buffer. Ca atare, TCP nu transmite datele din segment către aplicaţia destinaţie până când bufferul nu ajunge la o anumită limită. Indicatorul PSH indică modulului TCP să nu memoreze în buffer datele din segment. De exemplu, o aplicaţie Telnet stabileşte în mod normal acest indicator. Astfel, aplicaţia determină TCP să transfere imediat serverului Telnet intrările de la tastatură ale utilizatorului. Aceasta ajută la eliminarea întârzierilor în reflectarea caracterului primit înapoi la emiţător; majoritatea utilizatorilor Telnet doresc să vadă ceea ce tastează în timp ce tastează.
RSTAcest indicator cere ca modulul TCP să relanseze conexiunea. TCP va trimite un mesaj cu indicatorul RST la detectarea unei probleme în conexiune. Majoritatea aplicaţiilor se încheie la primirea acestui indicator. Totuşi, indicatorul RST se poate folosi la crearea unor algoritmi complicaţi care permit restabilirea programelor în urma unor defecte hardware sau software.
SYNAcest indicator cere modulului TCP emiţător să sincronizeze numerele de secvenţă. TCP foloseşte acest indicator pentru a indica modulului TCP receptor că emiţătorul se pregăteşte să transmită un nou flux de date.
FINAcest indicator arată modulului TCP receptor că emiţătorul a încheiat transmiterea datelor. Acest indicator închide fluxul de date numai în direcţia în care se deplasează. Modulul TCP receptor trebuie de asemenea să trimită un mesaj cu un indicator FIN pentru a închide complet conexiunea.
Last Updated Tuesday, 23 September 2008
< Previous Next >