Sunteți pe pagina 1din 39

Protocoale TCP

Mecanisme de implementare a facilitatilor asigurate de protocolul TCP


in noduri de retea INTERNET Protocoale de fereastra
Calitatea transferului asigurata la nivelul de transport

Grupa NECO seria A gr 454


BUCACIUC Ilie
GRANZULEA George
MUNTEAN Andrei
NEGREA Constantin (coordonator)
UBA Larisa

Protocoale TCP
Complemente protocoale TCP. Mecanisme de implementare a
facilitatilor asigurate de protocolul TCP in noduri de retea
INTERNET(terminologie, structuri de date, stri automat TCP).
Protocoale de fereastra. Calitatea transferului asigurata la nivelul de
transport
1.Dezvoltarea TCP (scurt istoric)
2. Introducere in TCP si stiva de protocoale TCP/IP
3. Protocoale ale nivelului transport complementare TCP
4. Zone de aplicare a protocolului TCP
5. Folosirea TCP
6. Structura segmentului TCP
7. Modul de operare al protocolului TCP
7.1 Stabilirea conexiunii
7.2 Transmisiune out of band
7.3 Probleme de securitate
7.3.1 Inundarea cu pachete de tip SYN (Denial of service)
7.3.2 Capturarea unei conexiuni
7.4 Transferul de date
7.4.1 Transmiterea in ordine , retransmisiunea pachetelor si
stergerea pachetelor duplicate
7.4.2 Transferul lipsit de erori
7.4.3 Controlul congestiilor
7.5 Controlul fluxului, ferestre TCP
7.6 Dimensionarea ferestrei TCP
7.7 Terminarea conexiunii
8. Port-uri TCP
9. Aplicatii ale protocolului TCP in cazul retelelor wireless
10. Implementari hardware ale TCP
11. Interceptari de trafic TCP (sniffere)
12. Alternative la protocolul TCP
13. TCP checksum IPv4 , IPv6
Concluzii
Bibliografie

Grupa NECO seria A gr 454


BUCACIUC Ilie
Cap 7 7.6
GRANZULEA George
Cap 2 , 3
MUNTEAN Andrei
Cap 9, 13
NEGREA Constantin
Cap 1, 4, 5, 6, 7.7 , 8
UBA Larisa
Cap 10, 11,12

1.Dezvoltarea TCP (scurt istoric)


Protocolul TCP/IP (Transmission Control Protocol/Internet Protocol) a
aparut in anii 70. A fost initial dezvoltat de Departamentul pentru Aparare din
Statele Unite ( DOD Department of Defence ), intr-o incercare de a conecta
diferite retele.In prezent este folosit ca un protocol standard de comunicatie
folosit in numeroase retele , cea mai cunoscuta fiind Internetul.
Protocolul TCP este unul complex si in continua dezvoltare. Cu toate ca sau facut imbunatatiri de-a lungul anilor, structura sa de baza nu s-a modificat
semnificativ de la prima sa specificatie in Request for Comments RFC 675 in
anul 1974 si de la specificarile facute in RFC 793 in 1981 la a patra varianta.
In anul 1989 , in documentul oficial privind specificatiile comunitatii
Internet RFC s-au clarificat cerintele necesare pentru serverele accesibile pe
Internet si implemenatrea protocoalelor TCP. In 1999 se publica oficial variante
imbunatatite ale algoritmilor de controlul congestiilor iar in 2001 in documentul
RFC a fost descris ECN (explicit congestion notification ) un mecanism de
semnalare si evitare a congestiilor.
2. Introducere in TCP si stiva de protocoale TCP/IP
Comunicarea intre 2 masini de calcul a fost realizata inca de la inceputurile
comunicatiilor digitale cu ajutorul unei stive de protocoale ordonata pe mai multe
nivele . OSI reprezinta una dintre primele structuri de comunicare ierarhica
realizata de Organizatia Internationala de Standardizare ISO. Ea a fost creata pe
baza a 7 niveluri :
-

nivelul Fizic se ocupa de perspectiva pur fizica a comunicatiilor , bitii


fiind priviti ca alternari de tensiuni intr-un mediu de transmisie sau orice
alt fenomen fizic care ar putea duce , prin prelucrare , la o comunicare
intre 2 masini de calcul

- nivelul Legatura Date(Data Link) se ocupa in principal de adresarea


fizica a masinilor de calul prin folosirea unei adrese fizice numite
MAC
- nivelul Retea lucreaza cu protocoalele routate ( IP, AppleTalk , IPX etc)
care permit o adresare logica si gasirea caii catre destinatie
-

nivelul Transport vegheaza la consistenta comunicarii


bazandu-se pe flow control si error control

nivelul Sesiune stabileste , asigura buna functionare si


termina sesiunea

nivelul Prezentare se ocupa de reprezentarea datelor si de


criptare

nivelul Aplicatie este reprezentat de diferitele aplicatii care ruleaza pe


acea masina de calcul

Cand o aplicatie de pe statia sursa doreste sa comunice cu o alta


aplicatie de pe o statie destinatie , stiva de protocoale OSI este parcursa de sus
in jos , de la niveul aplicatie spre nivelul fizic .Informatia este incapsulata in
segmente , pachete , frame-uri si apoi trimisa prin intermediul nivelului fizic al
statiei destinatie unde are loc procedeul invers informatia fiind dezincapsulata in
timp ce trece de la nivelul fizic catre nivelul aplicatie .
In momentul de fata OSI nu mai reprezinta decat o unealta didactica ea
fiind inlocuita in mare parte de stiva TCP/IP care reprezinta o viziune
comprimata si mai eficienta asupra comunicarii ierarhice .Cu toate acestea
principiile de baza raman aceleasi . Precum se observa in figura de mai jos
nivelurile Fizic si Data Link ale OSI au fost concatenate intr-un singur layer
TCP/IP numit Network Access . Nivelul Network din OSI si-a pastrat componenta
insa a fost redenumit Internet . Nivelul transport in TCP/IP ramane in mare
acelasi ca in stiva OSI insa ia o parte din atributiile nivelului sesiune ( initierea si
terminarea dialogului ) . Al patrulea si ultimul nivel al TCP/IP a reusit
sa reuneasca ultimele 3 nivele OSI : Sesiune , Prezentare si Aplicatie.

Nivelul Aplicatie al TCP/IP se ocupa de problemele reprezentarii , codarii


si a controlului dialogului . Stiva TCP/IP are prin intermediul nivelului Aplicatie
capacitatea de a oferi suport pentru transferul de fisiere , serviciul e-mail ,
serviciul de management al retelei si logare de la distanta

Rolul nivelului Internet este de a selecta cea mai buna cale catre
destinatie . Principalul protocol care functioneaza la acest nivel este protocolul
rutabil IP . Aici are loc determinarea celei mai bune cai si switching-ul intre
pachete . Printre protocoalele care functioneaza la acest nivel putem enumera :
IP , Internet Control Message Protocol (ICMP) , Addess Resolution Protocol
(ARP) , Reverse Address Resolution Protocol (RARP)

Nivelul Acces Retea al stivei TCP/IP in sarcina caruia cad toate detaliile
de care este nevoie ca un pachet IP sa aiba o legatura fizica mediul retelei .
Include detalii ale tehnologiilor LAN si WAN si toate detaliile continute in nivelurile
Fizic si Data Link din stiva OSI . Serviciile ARP si RARP lucreaza incluziv la
nivelul Network Access .

Desi este situat imediat sub nivelul Aplicatie nivelul Transport l-am lasat la urma deoarece el are in componenta protocolul TCP care reprezinta obiectul
lucrarii de fata .

Nivelul Transport ofera servicii de transport de la statia sursa catre statia


destinatie . El constituie o conexiune logica intre cele doua puncte ale retelei
.Protocoalele de transport segmenteaza si reasambleaza aplicatii de nivel
superior in acelasi flux de date intre punctele comunicante .
Nivelul Transport lucreaza in principal cu doua protocoale : TCP si UDP
TCP ( Transmition Control Protocol ) este un protocol de tipul Conection-Oriented
. El este protocolul de transport preferat atunci cand aplicatiile care se utilizeaza
de el au nevoie de un grad ridicat de control al fluxului de date si control al
erorilor .TCP realizeaza acestea prin mecanismul de Sliding Windows , prin
seequence numbers si acknowledgments . Un alt detaliu care il deosebeste de
UDP este acela ca TCP stabileste operatii end-to-end prin mecanismul three-way
handshake .
UDP ( User Datagram Protocol ) este protocolul preferat de aplicatiile ce nu
necesita un control al transmisiunii deosebit . Avantajul sau fata de TCP este
acela ca nu consuma resurse prin sustinearea unor procese mai putin relevante
pentru acestea .

3. Protocoale ale nivelului transport complementare TCP


User Datagram Protocol ( UDP ) reprezinta alaturi de TCP unul dintre cele mai
importante protocoale de transport . UDP nu garanteaza corectitudinea
transmisiunii asa cum o face TCP . Datagramele pot ajunge la destinatie
neordonate , duplicate sau chiar lipsa fara sa se observe . 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 :
Domain Name Sistem ( DNS ) si Trivial File Transfer Protocol (TFTP)
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 :

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 cam 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 .
Datagram Congestion Control Protocol(DCCP)
DCCP este un protocol al nivelului transport de tipul message-oriented . El
se foloseste de ECN (Explicit Congestion Notification) si controlul congestiei .
DCCP a fost publicat in RFC-ul 4340 fiind propus ca standard IETF ( internet
enginiering task force ) in marie 2006.
Acest protocol ofera o cale de a obtine accesul la mecanismele de
control al congestiei fara a fi nevoie de a fi implementate la nivelul Aplicatie .
8

Spre deosebire de TCP nu are nevoie de livrarea a pachetelor in ordine la


destinatie .
DCCP este folosit pentru aplicatiile care au constrangeri de timp la
livrarea de date .Asemenea aplicatii pot fi cele de tipul stream-media si telefonie
prin internet .
O conexiune de tip DCCP contine acknowledgement-uri , astfel sursa
este informata de catre destinatar daca pachetele sale au ajuns la destinatie sau
nu si daca aceste pachete au fost marcate cu ECN .
Stream Control Transmission Protocol (SCTP )
SCTP are o functionare asemanatoare TCP si UDP . Asemeni TCP
asigura transportul in ordine al mesajelor cu controlul congestiilor .
Termenul multi-streaming se refera la capacitatea SCTP de a transmite
cateva siruri independente de mesaje in paralel . Multi-streaming poate fi privit ca
un manunchi de conexiuni TCP intr-o singura asociere SCTP care lucreaza cu
mesaje in loc de biti .
Beneficii aduse de SCTP :
-

livrarea de date se face pe bucati in stream-uri independente


selectarea caii si monitorizarea
mecanisme de validare si acknoledment care ofera notificari in
cea ce priveste datele duplicate sau lipsa si protejeaza
impotriva atacurilor de tip flood
sistem de detectie al erorilor imbunatatit

Real-time Transport Protocol (RTP)


Este folosit pentru transmisia de pachete audio , video find folosit si in
aplicatiile VoIP .Nu are un a numit port TCP sau UDP prin care sa comunice .
RTP foloseste prturi alese dinamic cea ce face dificila traversarea firewall-urilor .
Initial a fost gandit ca protocol multicast insa intre timp a fost aplicat si la
transmisiuni unicast . Folosirea lui este intensa in sistemele de tipul streaming
media cat si videoconferinte . Acest protocol poate fi privit ca fundatia tehnologiei
Voice over IP .
Conform RFC-ului 1889 serviciile oferite de RTP include :
-

Payload-type identification =identificarea tipului de continut


care este transportat
Sequence numbering =oferirea de numere de secventa de
tipul PDU

Time stamping =permite sincronizarea


Monitorizarea livrarii

Totusi livrarea neordonata este posibila doarece flow-control si controlul


congestiei nu au suport in mod direct .Protocoalele totusi livreaza datele
necesare aplicatiei pentru aca ceasta sa puna pachetele primite in ordinea
corecta .
Resource reservation protocol (RSVP )
RSVP este un protocol al nivelului transport descris in RFC-ul 2205. Rolul
sau nu este de a transmite date ale aplicatiilor ci are mai mult un rol de control ,
din anumite privinte putand fi asemanat cu ICPM .
Poate fi folosit fie de host-uri sau rutere pentru a cere sau transmite
nivele specifice de calitate a serviciului . RSVP defineste cum aplicatiile rezerva
sau elbereaza resursele rezervate odata ce nu mai este nevoie de ele . In urma
operatiilor sale vor rezulta resurse rezervate in fiecare nod de-a lungul cai de
comunicatie .
Internet group management protocol (IGMP)
IGMP este un protocol de comunicatii folosit pentru a controla apartenenta
la grupurile de multicast . Este folosit de hosturile IP si rutere-ele multicast
adiacente pentru a stabili grupuri de multicast .
Poate fi folosit pentru aplicatiile video permitand o foosire mai eficienta a
resurselor.
4. Zone de aplicare a protocolului TCP
TCP este folosit intens de multe din cele mai cunoscute protocoale ale aplicatiilor
Internet, dintre care fac parte The Web ( World Wide Web ), E-mail ( posta
electronica ) , FTP ( File Transfer Protocol protocol de transfer de fisiere ),
Secure Shell ( protocol de comunicatie securizata ) si cateva aplicatii de media.
Aceste aplicatii vor fi prezentate pe scurt in continuare.
The Web ( World Wide Web ) este un sistem de documente hypertext,
interconectate ce pot fi accesate via Internet. Folosind un navigator web
( browser ) , un utilizator poate sa vizualizeze pagini ce pot contine text, imagini,
secvente multimedia.
E-mail-ul (posta electronica ) este un mecanism de stocare, trimitere si primire a
mesajelor prin sisteme electronice de comunicatie . Termenul de e-mail se refera
la sistemul de e-mail prin internet bazat pe SMTP(Simple Mail Transfer Protocol )
si deasemenea la sistemele X.400 si intranet.

10

FTP-ul este un protocol de transfer al fisierelor de la un computer la altul prin


internet sau prin orice retea de tip TCP/IP , fara sa se aiba in vedere ce sisteme
de operare sunt folosite.Exista o multitudine de clienti FTP si programe de
servere.
Secure Shell-ul este un protocol de retea ce permite trimiterea datelor de la un
computer la altul printr-un canal securizat. Codarea ofera confidentialitate si
integritatea datelor. Un server SSH , foloseste de obicei portul 22 al standardului
TCP.
Deoarece este optimizat pentru acuratetea mesajelor trimise si nu a
comunicatiei rapide, protocolul TCP duce cateodata la intarzieri prin asteptarea
mesajeor nesincronizate sau pierdute ceea ce il face sa nu fie potrivit pentru
aplicatii in timp real cum ar fi Voice over IP. Pentru acest fel de aplicatii sunt mai
potrivite protocoale ca RTP ( Real-time Transport Protocol ) pe suportul UDP
( User Datagram Protocol ).
Voice over IP este un protocol optimizat pentru transmiterea vocii prin internet
sau a altor retele similare.
TCP este un serviciu sigur de comunicatie ce garanteaza trimiterea unui
flux de date de la un utilizator la altul fara duplicarea sau piederea acestora. Din
moment ce transferul prin pachete nu este de incredere, este folosita o tehnica
de validare cu retransmisie pentru a garanta acuratetea pachetelor transferate.
Aceasta tehnica fundamentala necesita ca destinatarul sa raspunda cu mesaj de
validare la primirea datelor.
Expeditorul pastreaza o copie a fiecarui pachet trimis si asteapta semnalul
primirii inainte sa trimita urmatorul pachet. El tine cont deasemene de timpul
trecut de la trimiterea pachetului si retransmite pachetul dupa un anumit interval.
Acest cronometru este necesar in cazul in care se pierde un pachet sau este
deteriorat.
5. Folosirea TCP
Aplicatii aflate pe hosturi din retea pot crea conexiuni intre ele folosind
TCP, si pot schimba fluxuri de date folosind socket-uri. TCP face o diferentiere a
datelor pentru a putea exista multiple conexiuni ale aplicatiilor concurente ( ex:
server web si de e-mail ) ce ruleaza pe acelasi host.
In cazul protocoalelor de Internet, TCP este planul intermediar intre
IP(Internet Protocol) care se afla inferior si aplicatia ce se afla superior.
Programele au deseori nevoie de conexiuni sigure si IP-ul nu asigura aceste
necesitati. TCP-ul indeplineste rolul de transport in modelul OSI de retea.

11

Aplicatiile trimit stream-uri de octeti catre TCP pentru transmitere, iar


acesta le divide in segmenete de dimensiuni mai mici decat maximul asmis. TCP
trimite apoi pachetele rezultate catre IP pentru trimiterea catre modulul TCP de la
celalalt capat. Protocolol se asigura ca nici un pachet nu se pierde prin atasarea
fiecaruia a unui identificator, care este folosit deasemenea pentru a se asigura
primirea in ordine. Modulul TCP de la celalalt capat trimite un mesaj de validare
( acknowledgment ) pentru pachetele primite cu succes.
6. Structura segmentului TCP
Un segment TCP este format din doua parti
- header
- date
Header-ul TCP este format din 11 campuri din care doar 10 sunt necesare.

Portul sursa (16 biti) - identifica portul ce trimite datele


Portul destinatie (16 biti) - identifica portul ce recepteaza datele
Sequence number (numarul secventei) (32 biti) - are un rol dublu
- daca flag-ul SYN este prezent atunci acesta este numarul initial al
secventei si primul byte de date este este numarul secventei plus 1.
- daca flag-ul SYN nu este prezent atunci primul byte de date este
numarul secventei
Acknowledgment number(32 biti) daca este setat flag-ul ACK atunci
valoarea acestui camp este numarul de secventa pe care expeditorul validarii il
asteapta.

12

Offset de date (4 biti) specifica marimea header-ului TCP in cuvinte de 32 de


biti. Marimea minima este 5 si cea maxima este 15 de unde rezulta o un minim
de 20 biti si un maxim de 60. Acest camp isi ia numele si din faptul ca este
deasemenea offsetul de la startul pachetului TCP.
Rezervat (4 biti) existent pentru folosiri ulterioare si trebuie setat la 0.
Flag-urile de control sunt in numar de 8 a cate un bit:
CWR - Congestion Window Reduced , este flagul trimis de sursa pentru a
indica ca a primit un segment TCP cu flagul ECE setat.
ECE (ECN-Echo) indica faptul ca peer-ul TCP este ECN.
URG indica daca campul Pointer URGent este important.
ACK indica daca campul ACKnowledgment (Validare ) este important.
PSH functia Push
RST resetare conexiune
SYN sincronizare a numerelor de secventa
FIN incheierea segmentului de date
Window (16 biti) marimea ferestrei destinatie ce specifica numarul de bytes
( peste numarul de secvente din campul de validare ) pe care receptorul este
dispus sa il primeasca
Verificare(Checksum) (16 biti) este folosit pentru verificarea existentei erorilor
din header sau segmentul de date
Pointer urgenta (16 biti) daca flagul URG este setat, atunci acest camp este
un offset din numarul de secventa ce indica ultimul byte urgent de date.
Optiuni (biti variabili) lungimea totala a campului trebuie sa fie multiplu de 32
si campul offset de date trebuie ajustat in concordanta.
0 sfarsitul listei de optiuni
1 fara operator ( NOP, Padding )
2 lungimea maxima a segmentui
3 dimensiunea ferestrei
4 validare selectiva
5
6
7
8 timestamp
Ultimul camp nu face parte din header. Continutul acestui camp ramane la
latitudinea nivelului de protocol superior si face parte din header.
Data aceasta este portiunea de date a pachetului TCP. Poate fi reprezentata
de orice protocol de aplicatii. Cele mai des folosite sunt HTTP, Telnet, SSH, FTP.

13

7. Modul de operare al protocolului TCP


Spre deosebire de UDP , TCP este un protocol de tipul corection-oriented cea
ce presupune ca inainte de a se putea transmite date trebuie stabilita
conexiunea.
Conexiunile TCP au 3 faze :
- stabilirea conexiunii
- transferul de date
- terminarea conexiunii

7.1 Stabilirea conexiunii


Pentru ca o conexiune sa fie initializata este nevoie ca cele doua host-uri
implicate sa-si sincronizeze numerele de secventa initiale ( Initial Sequence
Numbers ISN ) . Sincronizarea este facuta printr-un schimb de segmente care
poarta un bit de control numit SYN si ISN-urile.
Sincronizarea presupune ca fiecare parte sa isi trimita propriul ISN si sa
primeasca o confirmare a schimbului prin intermediul unui acknowledgment
( ACK ) . Fiecare parte trebuie sa primeasca ISN-ul de la cealalta si sa trimita un
ACK .
Secventa are loc in felul urmator printr-un procedeu numit three-way
handshake :
1. AB SYN(A) ISN-ul este X, ACK este 0, bitul SYN este stabilit , dar bitul ACK nu este pus.
2. BA ACK(A) SN-ul este X + 1, (B) ISN-ul este Y,si SYN si bitul ACK
este pus.
3. AB ACK(B) SN-ul este Y + 1, (A) SN-ul este X + 1, bit-ul ACK este
pus , dar bit-ul SYN nu este scris .

14

Procedeul three-way handshake este necesar deoarece numerele de


secventa (SN) nu au legatura cu un ceas global din cadrul retelei iar protocoalele
TCP pot avea diferite mecanisme de alegere a ISN-ului .
Receptorul primului SYN nu poate sti daca segmentul a fost unul vechi si
intarziat , decat in cazul in care isi aminteste ultimul SN folosit pentru conexiune.
7.2 Transmisiune out of band ( in afara benzii )
Fluxul de date poate fi intrerupt , in felula cesta nu mai trebuie sa
asteptam ca el sa se termine . Datele respective sunt specificate ca fiind urgente
cea ce va spue programului receptor ca trebuie procesate imendiat . TCP
informeaza apoi aplicatia si se intoarce la fluxul initial de date .
Un exemplu in acest sens este folosit in cazul unor logari remote . Userul
poate trimite secvente de la tastatura prin care poate intrerupe programul de pe
statia pe care este initializata sesiunea remote .
Aceste semnale sunt folosite cel mai adesea cand programul de pe o
alta masina nu mai functioneaza corect .
7.3 Probleme de securitate
7.3.1 Inundarea cu pachete de tip SYN (Denial of service)
Atacurile de tipul Denial of service (DOS) sunt realizate pentru a impiedica
furnizarea de servicii unui host autorizat care incearca sa se coecnteze .
Atacurile DoS au in comun metoda pe care hackerii o folosesc pentru a
impiedica sistemul sa mai raspunda.
Un tip de atacuri DoS este cunoscut ca inundare cu SYN-uri. Inundarea cu
SYN-uri exploateaza procedeul three-way handshake si cauzeaza statiilor tinta
transmisiuni de ACK la drese sursa care nu vor completa handshake-ul .
Three-way handshake incepe cand statia care initiaza trimite un pachet de
tipul SYN. Acest pachet include si adresele IP sursa si destinatie . In felul acesta
15

statia care primeste pachetul SYN va sti la ce adresa IP sa trimita raspunsul de


confirmare .
In atacurile de tip DoS , hacker-ul initializeaza sincronizarea iar in locul
sursei pune o sursa fantoma . In felul acesta statia care primeste pachet-ul SYN
trimite ACK unei statii inexistente dupa care procesul este plsat in starea de
asteptare in timp ce se asteapta un raspuns de la initiatorul sincronizarii . Starea
de asteptare necesita anumite resurse de sistem care sunt inutilizabile pana in
momentul in care timpul de conexiune expira .
Hackerii vor inunda statiile atacate cu cereri de tip SYN false acaparand
astfel resursele sistemului si punandu-l in incapacitatea de a raspunde altor statii
legitime .
Pentru a se feri de astfel de atacuri administratorii pot sa micsorze timpul
in care expira o conexiune si pot mari coada de asteptare . In afara acestor
masuri mai exista si software-uri specializate care pot impiedica astfel de atacuri

7.3.2 Capturarea unei conexiuni


Un atacator care este capabil sa intercepteze o sesiune TCP si sa
redirectioneze pachetele poate captura acea conexiune TCP . Pentru a face asta
atacatorul invata SN-urile din cadrul comunicatiei care se deruleaza si introduce
un pachet fals care arata ca urmatorul pachet din fluxul de pachete .Pentru a

16

reusi aceasta tehnica trebuie combinata cu atacuri de ARP de de rutare . Dupa


acceptarea pachet-ului fals la una dintre statii aceasta va trimite pachetele la cea
de a treia statie .
Trimiterea pachetelor la o alta adresa IP era usor de realizat in trecut ,
inainte de crearea standardelor amintite in RFC 1948 . ISN-ul era usor de ghicit
cea ce permitea atacatorului sa pacaleasca foarte usor sistemul prin trimiterea
unei secvente de pachete pe care receptorul o considera ca venind de la o alta
adresa IP .
In prezent capturarea conexiunii nu se poate realiza decat prin combinarea
atacurilor de tip SYN , ARP si de rutare .
7.4 Transferul de date
Sunt cateva trasaturi care deosebeste in mod fudamental TCP de UDP :
-

transferul de date se face ordonat deoarece host-ul destinatie


rearanjeaza pachetele in functie de SN
retransmisiunea pachetelor pierdute
stergerea pachetelor duplicate
transferul datelor fara erori
Flow control limitarea ratei de transfer astfel incat receptorul sa-I
poata face fata
Controlul congestiilor

7.4.1 Transmiterea in ordine , retransmisiunea pachetelor si stergerea


pachetelor duplicate
Protocolul de IP nivel 3 (OSI ) , nu are nici un fel de motoda de verificare
prin care sa concluzioneze ca bitii au ajuns sau nu la destinatie . De acea Ip se
bazeaza pe TCP protocolul de nivel superior pentru a afla daca procesele au
ajuns la destinatie sau daca trebuiesc retransmise .
TCP imparte datele in segmente .Dupa procesul de sincronizare si
negocierea ferestreicare dicteaza numarul de biti care pot fi transmisi odata ,
segmentele sunt transportate de la sursa la destinatie . Caile pe care le urmeaza
pachetele pot fi diferite , aceasta se intampla datorita pachet balance care
arerolul de a optimiza timpul necesar mai multor pachete din acelasi mesaj sa
ajunga la destinatie . Astfel segmentele transmise trebuie reasamblate la
destinatie . nu exista nici o garantie ca pachetele vor ajunge la destinatie in
ordinea in care au fost transmise , de acea TCP aplica sequence
numbers( SN ) segmentelor astfel incat receptorul sa bitii in forma lor originala .
Aceste SN si ca numere de referinta astfel incat destinatia sa cunoasca
daca a primit toti bitii sau nu . Ele mai identifica si bucatile lipsa la destinatie
astfel inact acesta sa instiinteze sursa despre datele care lipsesc pentru a le
retransmite .

17

Fiecare segment TCP este numarat inainte de a fi transmis . Aceasta


particularitate poate fi observata in structura segmentului TCP prin prezenta
campului sequence number .

Astfel la destinatie TCP foloseste SN sa reasambleze mesajul. Daca un


SN lipseste segmentul este retransmis .
Un alt mecanism foarte important este cel datorat acknoledgement-urilor
( ACK). Acesta este un pas comun in sincronizarea preoceselor . Intr-un segment

18

TCP , campul de SN este urmat de campul de ACK care se mai numeste si


campul de cod .
ACK pozitive si retransmisia (PAR) sunt tehnici comune de a da
consistenta dialogului. Cu PAR sursa trimite un pachet, porneste un cronometru
si asteapat un ACK inainte de a trimite urmatorul pachet. Daca timpul expira
inainte ca sursa sa primeasca un ACK , sursa retransmite pachetele si incepe din
nou cronometrul . TCP foloseste ACK in expectativa deoarece numarul ACK se
refera la urmatorul octet care este asteptat .

7.4.2 Transferul lipsit de erori


Pentru a asigura corectitudinea pachetului primit un checksum este inclus
Checksum-ul TCP este o verificare detul de slaba avand in vedere standardele
moderne .Astfel nivelul Data Link cu o probabilitatea de biti eronati mai mare ar
putea necesita mecanisme de corectare a erorilor suplimentare .
Problema checksum-ului provine din faptul ca este pe doar 16 biti iar
cerintele actuale ar necesita un checksum pe 32 de biti. Cu toate acestea
checksum-ul nu este redundant , el fiind complementar cu procedeul de cyclic
redundancy check ( CRC ) .

19

7.4.3 Controlul congestiilor


Unul dintre principalele aspecte ale TCP este controlul congestiilor . TCP
foloseste un numar de mecanisme in acest sens . Aceste mecanisme
controleaza rata datelor care intra in retea , pastrand fluxul de date sub un
anumit nivel .
ACK sau lipsa lor este folosita de destinatie pentru a instiinta sursa
dacaeste sau nu in stare de a primi pachetele .
Implementarile moderne de TCP contin 4 algoritmi care se imbina in acest
sens si care sunt przentate in RFC-ul 2581 :
- slow-start
- congestion avoidance
- fast retransmit
- fast recovery
Pe langa acestea sursa se foloseste si de un cronometru .Acesta are la baza
timpul maxim estimat pentru acea conexiune round-trip time (RTT)
7.5 Controlul fluxului, ferestre TCP
TCP foloseste controlul fluxului de date ( flow control ) de la un cap la altul
( end-to-end ) pentru a evita ca sursa sa trimita date pe care destinatarul nu le
poate prelua si prelucra intr-un mod consistent .
Acest mecanism este esential mai ales intr-un mediu in care comunica
statii de diferite viteze .
Pentru a realiza acest deziderat TCP se foloseste de ferestre (sliding
windows ) . In fiecare segment TCP , receptorul specifica in campul pentru
fereastra ( window) cantitatea date pe care este dispus sa o accepte . Sursa
poate trimite odata maxim acea cantitate de date dupa care trebuie sa astepte un
nou ACK de la sursa .

20

Cand destinatia ii face cunoscuta o marime a ferestrei egala cu 0 , sursa


se opreste din transmis date si porneste un cronometru ( persist timer ). Acest
cronometru este folosit pentru a proteja TCP de situatia in care up-date-ul
marimei ferestrei de la destinatar este pierdut iar destinatarul nu mai trimite nici
un pachet , astfel sursa ar astepta un up-date care nu ar mai veni . Punand in
functiune acest cronometru , la expirarea timpului sursa trimite un pachet care
obliga destinatarul sa raspunda cu un ACK care contine noua marime a ferestrei.
7.6 Dimensionarea ferestrei TCP
Pentru folosirea mai eficienta a largimii mare de banda a retelelor , se
poate folosi o dimensiune a ferestrei mai mare . Campul TCP window size
controleaza fluxul de date si este limitat 2 si 65535 biti .
Din moment ce dimensiunea campului nu poate fi marita , se foloseste un
factor scalar . Optiunea Window scale , asa cum este definita inRFC-ul 1323 ,
este o optiune folosita pentru a mari dimensiunea ferestrei pana la 1 Gb .
Optiunea window scale este folosita numai in timpul procesului de 3-wayhandshake. Multe rutere si firewal-uri rescriu factorul window scaling in timpul
transmisiei . Aceasta cauzeaza ca sursa si destinatia sa-si asume marimi ale
ferestrei diferite . Rezultatul este un trafic instabil .

21

7.7 Terminarea conexiunii


Operatia de terminare a conexiunii (close) are semnificatia nu mai am
date de transmis.
Privita mai simplu, operatiunea de terminare a conexiunii are situatia in
care userului care inchide conexiunea poate continua sa primeasca date pana
cand este anuntat ca celalalt capat si-a a incheiat deasemenea conexiunea.
Astfel un program ar putea initia mai multe operatiuni de trimitere urmate de una
de inchidere (close) si apoi sa continue sa primeasca pana este anuntat ca acea
conexiune s-a incheiat la celalalt capat.
TCP va transmite toate bufferele trimise pana cand conexiunea s-a
incheiat astfel ca un user care nu asteapta date, trebuie doar sa asteapte
validarea ca conexiunea s-a incheiat cu succes pentru a sti ca toate datele au
fost primite la destinatie.
Exista trei situatii esentiale:
1) Userul incepe anuntand TCP sa inchida conexiunea.
2) TCP destinatie incepe prin trimiterea unui semnal de control FIN
3) Ambii useri inchid conexiunea simultan
Cazul 1 Userul local initializeaza incheierea conexiunii
In acest caz, un segment FIN poate fi construit si introdus in semnalul de iesire.
TCP nu va accepta alte date de la acest user si se intra in starea FIN-WAIT-1. In
aceasta stare sunt acceptate date primite. Toate segmentele ce preced FIN si
inclusiv acesta vor fi retransmite pana la validarea acestora. Daca TCP de la
destinatie a validat FIN si a trimis deasemenea un FIN, primul TCP poate sa
valideze acest FIN. Un TCP ce primeste FIN va valida insa nu va trimite FIN-ul
sau pana cand utilizatorul inchide conexiunea.
Cazul 2 TCP primeste un FIN din retea
Daca un segment FIN nesolicitat este primit din retea, TCP poate sa il valideze si
sa spuna userului ca conexiunea se inchide. Userul va raspunde cu terminarea
conexiunii, dupa care TCP poate sa trimita un FIN catre celalalt TCP dupa
trimiterea datelor ramase netransmise. Apoi, TCP asteapta pana cand FIN-ul
este validat si inchide conexiunea. Daca nu este validat in timp util , conexiunea
este inchisa pe motiv de timeout (neraspundere).
Cazul 3 Ambii useri inchid simultan conexiunea
La o inchidere simultana a conexiunii se shimba segmente FIN intre utilizatori.
Dupa ce toate datele ce preced FIN-urile au fost procesate si validate, fiecare
TCP poate valida FIN-ul si inchide conexiunea.
- Request for Comments - RFC-793 Section 3.5 Closing a Connection -

22

Faza de terminare a conexiunii foloseste de obicei o legatura in patru


directii ( four-way handshake ), fiecare parte a conexiunii putand fi incheiata
independent. Cand un capat doreste sa incheie jumatatea sa de conexiune
transmite un pachet FIN, pe care destinatarul aflat la celalalt capat il valideaza cu
un ACK. Astfel, este necesara o pereche de pachete FIN si ACK
O conexiune poate fi deschisa pe jumatate ( half-open ) , caz in care un
capat este inchis iar celalalt deschis. Partea inchisa nu mai poate sa trimita date
in retea insa cea deschisa inca mai poate.
Este deasemenea posibila inchiderea conexiunii printr-o legatura in trei
directii ( three way handshake ) cand host-ul A trimite un pachet FIN iar host-ul B
raspunde cu un FIN si ACK ( combinand cei doi pasi ) si host-ul A raspunde cu
un ACK. Aceasta este cea mai folosita metoda.
Este posibil ca ambele host-uri sa trimita FIN-uri simultan si apoi ambii
valideaza transmisia printr-un ACK. Aceasta ar putea fi considerata o legarura in
doua directii din moment ce secventa FIN/ACK este realizata in paralel pentru
ambele directii.
Unele stive ale unor host-uri TCP implementeaza o secventa de inchidere
semi-duplex precum Linux sau HP-UX.Daca o astfel de statie inchide conexiunea
insa nu a citit toate datele primite de stiva , ea va trimite un pachet RST in locul
unui pachet FIN.
8. Port-uri TCP
Fiecare host dintr-o retea are cel putin o adresa IP. In plus, fiecare host
bazat pe Linux ruleaza mai multe procese. Fiecare proces are posibiliotatea de a
fi client de retea, server de retea sau amandoua. Evident, daca destinatia unui
pachet ar fi desemnata numai prin adresa IP, sistemul de operare nu ar putea sti
carui proces trebuie sa trimita continutul pachetului.
Pentru a rezolva aceasta problema, TCP/IP adauga o componenta care
identifica portul TCP( sau UDP ). Fiecare conexiune de la un host la altul are un
port sursa si un port destinatie. Fiecare port este etichetat cu un intreg intre 0 si
65535.
Pentru a identifica in mod unic fiecare conexiune posibila, intre doua
hosturi, sistemul de operare urmareste patru informatii: adrsa IP a sursei, adresa
IP a destinatiei, numarul de port al sursei si numarul de port al destinatiei.
Combinatia acestor valori este in mod cert unica, intre toate conexiunile host-lahost.( De fapt sistemul de operare urmareste o multme de informatii legate de
conexiune, dar numai aceste patru elemente sunt necesare identificarii unice a
conexiunii)
Hostul care initiaza o conexiune specifica adresa IP a destinatiei si un
numar de port. Evident adresa IP a sursei este deja cunoscuta. Dar numarul de
port al sursei, valoare care face conexiunea unica, este atribuit de catre sistemul
de operare al sursei. Acesta cauta intr-o lista de conexiuni deja deschise si
atribuie urmatorul numar de port disponibil. Prin conventie, acest numar este

23

mereu mai mare de 1024( numerele de port de la 0 la 1023 sunt rezervate pentru
utilizarea de catre sistem )
Din punct de vedere tehnic, hostul sursa isi poate selecta si numarul de
port sursa. Totusi, pentru a face acest lucru, nu este posibil ca un alt proces sa fi
preluat deja portul.
In general, cele mai multe aplicatii lasa sistemul de operare sa aleaga pantru ele
numarul de port.
Intelegand acestea, se poate intelege cum o sursa Host A poate deschide
mai multe conexiuni la un singur serviciu de pe destinatia Host B. Adresa IP a
hostului B si numarul de port vor fi mereu constante, dar numarul de port al
hostului A va fi diferit, pentru conexiune. Aceasta combinatie ( cvadruplu ) de IPuri si numere de port sursa si destinatie este unica si ambele sisteme pot avea
mai multe fluxuri de date ( conexiuni) independente intre ele.
- Administrarea Red Hat Linux (cunostinte esentiale) de Michale Turner, Steve
Shah, Editura B.I.C All , 2004 , cap. Intelegerea TCP/IP si a securitatii in retea
Numerele de port sunt impartite in trei categorii de baza: servicii
cunoscute (well-known), inregistrate (registered) si dinamice/private
(dynamic/private). Porturile cunoscute sunt asignate de catre Internet Assigned
Numbers Authority si sunt de regula folosite de procese de sistem. Aceste porturi
sunt folosite de aplicatiile raspandite si bine cunoscute. Printre acestea se
numara: FTP (21), SSH (22), TELNET (23), SMTP (25) si HTTP(80).
Porturile inregistrate sunt de obicei folosite de aplicatii pentru a se putea
conecta la anumite servere si sunt supuse schimbarilor. Porturile
dinamice/private pot fi deasemenea folosite pentru aplicatii insa sunt rar intalnite,
ele neavand relevanta in afara anumitor conexiuni TCP.
O lista a porturilor cunoscute reglementate de Internet Assigned Numbers
Authority (IANA) poate fi vizualizata la adresa:
http://www.iana.org/assignments/port-numbers
9. Aplicatii ale protocolului TCP in cazul retelelor wireless
Protocolul TCP a fost optimizat pentru internetul wired (cu fir).Orice
pierdere de pachete ( are loc atunci cand unul sau mai multe pachete de date ce
se transmit intr-o retea de internet nu ajung la destinatie) este rezultatul unei
congestii.Marimea ferestrei congestiei este micsorata foarte mult din motive de
precautie.
Totusi, linkurile wireless sunt cunoscute ca intampina pierderi temporare
intr-un mod constant in timpul schitarii, transmiterii etc. ce nu pot fii considerate
congestii.
Back-offul eronat al congestiei dimensiunii ferestrei in timpul pierderii
pachetelor de date wireless este urmat de o faza de evitare a congestiei cu o

24

scadere mica a dimensiunii ferestrei ceea ce face ca link-ul radio sa fie folosit
mai putin.Pe baza acestui subiect s-au facut nenumarate cercetari, cu scopul de
a combate efectele negative.
-

Solutiile sugerate pot fii:


solutii end-to-end ce necesita modificari la client si/sau la server;
solutii linklayer ca RLP (Radio Link Protocol) in CDMA 2000- RLP(inventat in
1990 de catre Phil Karn) este un protocol cu o cerere automata de repetare
(ARQ) folosit la o interfata wireless.Daca majoritatea interfetelor wireless sunt
setate sa obtina o pierdere de pachete de date de 1%, RLP detecteaza
aceste pachete si executa retransmiterea datelor, aducand astfel rata de
pierdere pana la 0,1%.
RLP de asemenea implementeaza uneori transmiterea datelor in ordine.

Noile forme de RLP asigura si organizarea si compresia , in timp ce formele


vechi ale
acestui protocol se bazeaza pe protocoalele PPP(Point-to-Point Protocol) sa le
asigure aceste functii.
Un transport RLP nu stie niciodata cad de mare va fi packetul trimis de
interfata.In schimb, programatorul interfetei determina marimea packetului si ii
cere protocolului sa formeze un packet necesar pentru transmitere. Majoritatea
altor fragmentari si organizari de protocoale wireless , cum sunt 802.11b si
TCP/IP folosesc marimi fixe ale fragmentelor.Aceste protocoale nu sunt la fel de
flexibile ca protocolul RLP si uneori pot bloca transmisia in timpul estomparii intrun mediu wireless.
- solutii bazate pe proxy ce necesita modificari la reteaua de internet fara
modificarea nodurilor finale.
10. Implementari hardware ale TCP
Ca un raspuns la exigentele de putere in crestere puse pe server de
conexiunile de ordinul giga bitilor au venit implementarile hardware cunoscute ca
TCP Offload Engines(TOE). Prima companie care a dezvoltat un astfel de
dispozitiv a fost Alacritech.Este folosit pentru interfete de network de mare viteza
ca gigabit Ethernet si 10 gigabit Ethernet.
Original TCP a fost creat pentru retele nesigure de mica viteza (ca
modemurile dial-up timpurii); insa o data cu dezvoltarea internetului (a vitezei de
transmitere) (ca Optical Carrier, gigabit Ethernet si 10 gigabit Ethernet) si o data
cu mecanismele mai rapide si si cu accesul mai sigur (ca Digital Subscriber Line
si modemurile cu cablu) protocolul se foloseste in datacentre si in medii desktop
PC la viteze de peste 1 gigabit pe secunda.Implementariile softwarelor TCP pe
sisteme gazda necesita mai multa putere.
Comunicatiile gigabit TCP ce folosesc doar software de procesare sunt
suficiente pentru a incarca complet un procesor Pentium 4 de 2.4 GHz

25

neramanand astfel nici o resursa ca aplicatiile sa functioneze.In 2006 foarte


putini consumatori de interfete de network suportau TOE.
Aceasta tehnologie tinde sa scoata procesul de I/O al serverului CPU
transferand sarcinile procesate adaptorului de internet sau dispozitivului de
stocare. Aceasta lasa CPU-ul liber sa ruleze aplicatiile astfel incat userii primesc
datele mai repede .
Ideea de a descarca protocolul de TCP/IP de la sisteme CPU la harware
specializate nu este noua pentru adaptoarele sau mediile principale ale
serverelor retelelor de internet dar este noua pentru dipozitivele de stocare.
Nevoia implementarii TOE a devenit foarte mare o data cu aparitia
standardului iSCSI-standard pentru transportul blocurilor orientate de date prin
intermediul retelelor gigabit Ethernet.
Tipuri de implementari TOE
NAC, IPP, NP, PA, NA, ASIC reprezinta doar cateva din implementarilor
utilizate pentru descrierea numeroaselor arhitecturi si caracteristici ale unui TOE.
NAC(network accelerator card), PA(protocol accelerator) si NP(network
processor) sunt solutii bazate pe CPU.
Introducerea TOE-ului NAC- un NAC special, creat sa ia povara CPU-ului
de a procesaTCP/IP-ul, astfel ca mai multe cicluri CPU sunt disponibile pentru
aplicatii.Exista diferente substantiale de arhitectura, performanta si de
capabilitatea de descarcare a CPU-ului intre cardurile de accelerare curente.
PA1000 SuperHBA este un card ethernet multi-port gigabit pentru OEMuri capabil sa sustina pana la 4 gigabiti pe secunda in timp ce descarca
protocoalele TCO/IP si Iscsi de la serverul central CPU.
NP este un dispozitiv hardware special programabil care este conectat la
serverul TCP printr-un link de mare viteza.NP-urile combina costurile mici si
flexibilitatea procesoarelor generale cu viteza solutiilor de silicon.In plus NP
descarca atat memoriile intensive cat si CPU-urile intensive procesate de la
serverul TCP.
Descarcarea protocolului TCP se poate face pe 2 entitati de retea : o
gazda TCP si un procesor network retras.Acest lucru se obtine folosind o
conectie TCP divizata, o tehnica bine cunoscuta pentru marirea performantelor
TCP.
In divizarea TCP doua conectii independente TCP acopera o sesiune: una
de la client la NP si a doua de la NP la server.
NP-ul amortizeaza datele pana cand soseste o recunoastere(ACK) de la client .
In absenta recunoasterii NP-ul executa managementul timpului ca sa
retransmita segmentele TCP spre client.Folosire recunoasterilor locale apara de
asemenea serverul TCP si de orice congestie de retea si de intarzaieri excesive
intre NP si client.
NP-ul executa de asemenea si traducerea adresei retelei de net (NAT)
dela NP la client facand checksum.

26

In contrast cu aplicatiile traditionale NP, aplicatiile de descarcare a TCPului necesita dependenta intre packete si mecanisme bazate pe conexiune.
Aceste optiuni sunt totusi limitate de un consum foarte mare de
electricitate, o lipsa de evolutie sau pur si simplu ele nu descarca in totalitate
CPU-ul de multimea de TCP/IP.
Abordarea ASIC este mai robusta si mai evoluata decat alternativa
bazata pe CPU.TOE-ul societatii SBE, toePCI-2Gx, isi datoreaza succesul
principiului masiniilor paralele furnizand un tratament de linie complet, ceea ce
permite un numar mai mare de sesiuni simultane, descarcarea protocolului
TCP/IP full-duplex, o segmentare si o reasamblare a pachetelor, retransmisia
acestora, schimbare marimii ferestrei, toate acestea fara utilizarea nici macar al
unui CPU.
Alacritech STA2000 Internet Protocol Processor (IPP) este a patra
generatie de TOE ASIC bazata pe arhitectura tehnologiei SLIC a firmei
Alacritech(R) Inc (inovatoarea solutiilor de accelerare care ofera cea mai mare
performanta si eficacitate pentru sistemele de retea de internet.Este cea mai
mica , cea mai puternica versiune de multi-gigabit TOE ASIC de pe piata si este
disponibila acum OEM-urilor pentru serverele viitoarelor generatii, NetworkAttached Storage (NAS) sau dispozitivelor iSCSI.
Exista patru puncte de masura permanente cu ajutorul carora se
stabileste eficienta unui protocol TOE intr-o retea data:debitul gigabit Ethernet
egal cu banda disponibila,descarcarea maxima a utilizarii CPU-ului, un timp de
asteptare minim intre tranzactii si un numar mare de sesiuni terminate simultan
Pentru ca un TOE sa fie complet eficace acesta trebuie sa indeplineasca
cel putin 2 conditii: -sa descarce intr-o maniera semnificativa CPU-ul (mai mult
de 50%);
-sa maximizeze debitul gigabit.
TOE are multi oponenti, mai ales in comunitatea F/LOSS.Lucrurile de care ei
nu sunt multumiti sunt:
-Securitatea-pentru ca TOE este implementat in hardware, patch-urile trebuie
aplicate pentru TOE firmware, in loc de doar software, pentru a adresa orice
vulnerabilitate de securitate gasita intr-o implementare particulara a protocolului
TOE.
-Limitarea hardware-pentru caconectiile sunt amortizate si procesate pe un
chip TOE ,diminuarea resurselor poate aparea mult mai usor comparat cu
generosul CPU si memorie disponibila sistemului de operare.
-Complexitatea-TOE contrazice multe presupuneri ca kernel-urile inseamna sa
ai acces oricand la toate resursele.TOE necesita si schimbari foarte mari la o
stiva de retea pentru ca acesta sa fie bine suportat si chiar cand se face lucrul
asta QoS si filtrarea packetelor nu functioneaza.
-Dreptul de proprietate-TOE este implementata diferit de fiecare vanzator de
hardware.Aceasta inseamna ca mai multe coduri trebuie rescrise pentru a face
fata numeroaselor versiuni de implementare ale protocolului TOE cu costul
securitatii.

27

11. Interceptari de trafic TCP (sniffere)


Un pachet de sniffere (cunoscut ca un analizator de retea sau de protocol
sau pentru retelele de net specifice ca ethernet sniffer sau wireless sniffers) este
un soft de computer sau hard care poate intercepta si loga traficul trecand peste
o retea digitala de internet sau peste o parte de retea de internet.
Cum stivele de date se transmit prin retea snifferul capteaza fiecare
pachet si eventual decodeaza si analizeaza continutul in concordanta cu cel mai
apropiat RCF sau alte specificatii.
Pe LAN-uri wired, in functie de structura retelei ( hub sau switch) se poate
capta intreg traficul sau doar parti din acesta de la o singura masina; totusi exista
cateva metode de evitare a limitarii traficului de schimbari pentru a castiga trafic
de la alte sisteme pe retea( ARP spoofing).
In scopul monitorizarii retelei poate fi utila si monitorizarea pachetelor de
date intr-un LAN folosind un swich de retea cunoscut si ca port de monitorizare,
al carui scop este de a reflecta toate pachetele ce trec prin toate porturile swichului.Cand calculatoarele sunt conectate la un port swich si nu la un hub,
analizorul nu poate sa citeasca datele datorita naturii intrinsece ale retelelor ce
folosesc switchul.In acest caz trebuiecreat un port ascuns pentru ca sniffer-ul sa
poata capta datele.
Pe LAN_urile wireless se poate capta traficul pe un canal special.
In cazul transmisiuniilor live wired si a LAN-urilor wireless, pentru a capta
traficul si nu de a-l trimite unei singure destinatii (masinii care ruleaza softul
snifferului), traficul multicast trimis unui grup multicast, si traficul broadcast,
adaptorul de retea fiind folosit sa capteze traficul trebuie pus intr-un mod
promiscuu;unele sniffere suporta acest lucru iar altele nu.
In cazul LAN_urilor wireless, chiar daca adaptorul este intr-un mod
promiscuu, pachetele care nu sunt pentru setul service pentru care adaptorul
este configurat for fi de cele mai multe ori ignorate; pentru ca aceste pachete sa
fie vazute adaptorul trebuie sa fie pus in monitor mode.
Un pachet de sniffere care intercepteaza traficul TCP pe un link network
poate fi util in cazul retelelor de trafic, multimea de retele si aplicatii ce folosesc
protocolul TCP aratandu-i userului de pachete trec printr-un link.
Unele stive de retea de internet suporta optiunea mufelor SO_DEBUG.
Aceasta optiune descarca toate pachetele, starile si rezultatele TCP
asupra mufei care vor fi utile in cazul interceptarii de trafic.
Net stat este o alta utilitate ce poate fi folosita pentru interceptarea de
trafic TCP.
Este o unealta care expune conexiunile network(cele de intrare si cele de
iesire) si numar de statistici de interfete network. Este disponibila pe Unix, Unixlike si Windows NT.

28

12. Alternative la protocolul TCP


Pentru multe aplicatii protocolul TCP nu este potrivit. O mare problema cel
putin pentru implementarile normale este ca aplicatia nu poate ajunge la
pachetele venite dupa un pachet pierdut pana cand copia retransmisa a
pachetului pierdut este primita.
Acest lucru creeaza probleme aplicatiilor in timp real cum ar fi radioul pe
internet, jocurile in timp real cu mai multi jucatori si vice over IP(VoIP) unde este
uneori mai util sa primesti datele intr-o maniera timpurie decat sa le primesti in
ordine.
Complexitatea protocolului TCP poate fi o problema si pentru sistemele
incastrate si pentru serverele care trateaza cerinte simple de la un numar foarte
mare de clienti(exemplu serverele DNS-domain name system).
In final unele trucuri precum transmiterea datelor intre doua gazde,
ambele in urma NAT(Network Adress Transmision) sunt mult mai simple fara un
protocol relativ complex ca protocolul TCP.
In mod obisnuit acolo unde protocolul TCP nu se potriveste este folosit
protocolul UDP(User Datagram Protocol). Folosind acest protocol programele
sau calculatoarele aflate in reteaua de internet pot trimite mesaje scurte, uneori
numite datagrame, unul altuia. Acesta a fost creat in 1980 de catre David P.
Reed.
UDP-ul a fost creat pentru aplicatiile unde nu este nevoie sa pui
secventele datagramelor impreuna.Se potriveste cu sistemul mult mai bine ca
TCP-ul.Exista un header UDP.
Softul de retea pune header-ul UDP in fata datelor.Apoi UDP-ul trimite
datele protocolului de intenet, care adauga headerul IP, punand numarul
protocolului UDP in fisierul protocolului in loc sa-l puna in numarul protocolului
TCP.
Protocolul UDP nu garanteaza fiabilitate cum face protocolul TCP.
Datagramele pot sosi neordonate, duplicate sau sa dispara fara preaviz.UDP-ul
nu tine evidenta datelor trimise pentru ca in cazul in care acestea nu ajung la
destinatie sa le poata retransmite.
Tot ceea ce poate oferi UDP-ul este numarul porturilor pentru ca mai multe
programe sa poata folosi UDP-ul in acelasi timp.Numerele porturilor UDP se
folosesc la fel ca si numarul porturilor TCP.Exista numere de porturi pentru
servere foarte cunoscute care folosesc UDP.Headerul UDP este mai scurt decat
header-ul TCP.Nu contine decat sursa si destinatia numerelor porturilor si un
checksum.
UDP este folosit de protocoalele care se ocupa de cautarea numelor(ca
IEN 116, RFC 882, si RFC 883) plus inca cateva protocoale asemanatoare.
Evitand supraincarcarea survenita in urma verificarii daca fiecare pachet a
ajuns, face ca UDP-ul sa fie mai rapid si eficient cel putin in cazul aplicatiilor ce
nu necesita livrarea asigurata. Aplicatiile sensibile la timp deseori folosesc

29

protocolul UDP pentru ca este de preferat ca packetele sa nu ajunga decat sa


ajunga cu intarziere.
MTP( Multipurpose Transaction Protocol) este o alternativa la protocolul
TCP care foloseste lungimea de banda mai eficient. MTP/IP-ul a fost creat ca
scratch-urile sa functioneze in medii congestionate unde pierderea de packete si
alte probleme de retea sunt comune.
MTP identifica repede prin UDP daca s-au pierdut date si apoi le
recupereaza fara nici o schimbare.MTC foloseste ca baza UDP-UL dar are
mecanisme care sa asigure si integritatea datelor.
MTP/IP este un protocol de mare viteza care este compatibil cu
standardele de retea existente, nu necesita nici o schimbare a retelei sau a
sistemului de operare si este vizibil user-ului final.Acesta ofera programatorilor
de aplicatii network si managerilor IT multe beneficii si anume:reduce timpul de
asteptare in cazul transferului mare de date, creste volumul tranzactiilor, costuri
mai mici de operare.
SCTP(Stream Control Transmission Protocol) este un alt protocol IP ce
opereaza similar cu TCP sau UDP. Acesta asigura transportul fiabil al mesajelor
fara controlul congestiei.
Este mai nou si mai complex ca TCP-ul, creat special pentru a fi folosit in
situatii unde siguranta si consideratiile real time sunt importante.
Cum este un protocol nou, nici o aplicatie criminala nu a fost dezvoltata,
dar a fost dezvoltata tinandu-se cont de anumite aplicatii de telefonie, de
exemplu H.323, SIP si alte aplicatii care au nevoie de servicii mai sofisticate
decat le poate oferi protocolul TCP.
SCTP este un protocol sigur, ceea ce inseamna ca detecteaza datele
pierdute, duplicate si pe cele ce nu sunt in ordine si care contine pierderea si
controlul congestiei( cum face si TCP).
Este un protocol foarte bine creat care combina trasaturile protocoalelor
UDP si TCP intr-un protocol care ( cel putin in teorie) este mult mai bun decat
celelalte doua.
VTP(Venturi Transport Protocol) a fost creat sa inlocuiasca TCP-ul pentru
a depasi problemele referitaore la transportul de date wirreless. Este detinut de
Venturi Wireless.
O alta alternativa de protocol este ICMP(Internet control messege
protocol). ICMP este folosit pentru mesajele cu erori si alte mesaje destinate
TCP/IP software.
De exemplu daca incerci sa te conectezi la o gazda, sistemul tau poate
primi inapoi un mesaj care spune Host unreachable.
ICMP poate fi folosit de asemenea pentru a gasi unele informatii despre
retea.
ICMP este similar cu UDP, deoarece se ocupa cu mesaje care intra intr-o
datagrama. Oricum este mai simplu decat UDP(nici nu are numar de port in
interfata).

30

Din moment ce toate mesajele ICMP sunt interpretate de software-ul de


retea, nu are nevoie de numar de port sa spuna unde trebuie sa mearga mesajul
ICMP.
Algoritmul de evitare al congestiei TCP merge foarte bine pentru mediile
ad-hoc unde nu se stie cine va trimite datele dar daca mediul este previzibil, se
poate folosi un protocol bazat pe sincronizare si anume ATM (Asynchronous
Transfer Mode). Se stabileste o conexie logica intre doua puncte finale inainte sa
inceapa schimbul propriu-zis de date.
ATM-ul este o retea de schimb de celule, de inversare de pachete si un
layer protocol de link de date care codifica traficul de date in celule mici de
marime fixata (53 de byti din care 48 byti de date si 7 byti de informatie a
headerului).
ATM defineste doua formate diferite de celule: NNI (Network-Network
Interface) si UNI (User-Network Interface). Majoritatea linkurilor ATM foloseste
formatul de celule UNI .
ATM a avut mare succes in cazul scenariilor WAN(Wide Area Network) si
multi furnizori de telecomunicatii au implementat ATM-ul pentru retelele lor cu
suprafata mare.
De asemenea si implementarile ADSL (Asymmetric Digital Subscriber
Line) folosesc ATM.
Totusi ATM nu a reusit sa obtina o utilizare mare ca o tehnologie LAN, iar
complexitatea sa a intarzaiat desfasurarea sa completa ca unica tehnologie de
integrare a retelei,in maniera in care inventatorii sai au gandit-o initial.
Multe persoane, mai ales in comunitatea de design al protocolului de
internet, considera ca aceasta viziune este gresita.Astfel ca nevoia de celule
pentru reducerea jitter-ului s-a transformat in cresterea vitezei de transport,iar
imbunatatirile in Voice over IP(VoIP) au facut ca integrarea sunetului si a datelor
sa fie posibila pe layerul IP.Majoritatea ariilor Telcos palnuiesc sa integreze
activitatiile sonore ale retelei in IP-ul retelelor, decat sa integreze IP-ul retelelor in
infrastructura sunetului.
ATM se va desfasura inca ceva timp in interconectii de mare viteza unde
expeditorii s-au inregistrat deja in ATM-urile existente; ATM-ul este folosit aici ca
o modalitate de unificare a traficului PDH/SDH si a traficului pachetelor comutate
sub o singura infrastructura.
Totusi ATM-ul va ramane in permanenta provocare datorita schimbarilor
cerintelor de viteza si de trafic ale retelelor convertibile.In particular,
complexitatea SAR (Segmentation and Reassembly) o performanta gat de
sticla, datorita faptului ca cel mai rapid SAR cunoscut functioneaza la 10Gbit/s
si are capacitati limitate de modificare a traficului .
In prezent pare posibil ca implementarile gigabit Ethernet( 10gigabit
Ethernet, Metro Ethernet) sa inlocuiasca ATM-ul ca tehnologie a alegeriilor in noi
implementari WAN.

31

13. TCP checksum IPv4 , IPv6


TCP checksum IPv4
Cand protocoloul TCP ruleaza pe IPv4 metoda folosita pentru verificarea
sumei este definita in Rfc793.
Versiunea 4 a IP-ului este a patra iteratie a acestuia si prima versiune care
se desfasoara pe un spatiu mare.
IPv4 este protocolul layer-ului network dominant pe internet si in afara de
IPv6 este singurul standard pe care protocolul il foloseste pe internet. Este un
prorocol de date orientate folosit asupra unui packet.
Acesta nu garanteaza ajungerea datelor la destinatie si nici corectitudinea
acestora.
Datele pot ajunge in packete duplicate sau in packete neordonate.
IPv4 foloseste adrese pe 32 de biti (4 byti)ce limiteaza spatiul acestora la 2 32
adrese unice posibile. Totusi unele sunt rezervate in scopuri speciale cum ar fi
retelele private(11 milioane de adrese) sau adrese multicast(1 milion de adrese).
Acest lucrureduce numarul adreselor ce pot fi alocate ca adrese de internet
publice. O data ce adresele diponibile sunt consumate, o lipsa a adreselor IPv4
pare a fi inevitabila, totusi Network Adress Translation (NAT) intarzie oarecum
acest lucru.
Toate cuvintele de 16 biti sunt insumate impreuna folosind complementul
unu(cu canpul de verificat setat la zero). Suma este atunci complementul lui unu.
Acerasta valoare finala este atunci inserata ca un camp de verificare.
Algoritmic vorbind aceasta e la fel ca pentru IPv6, diferenta este ca datele
folosite sa faca verificarea.
Sursa si destinatia adreselor sunt cele din iterfata IPv4. Protocolul este
acelasi ca la TCP.
Lungimea campului TCP este aceeasi cu lungimea colectorului si datelor
TCP.
Cand se scriu adresele IPv4 pentru a putea fi descifrate de oameni , cea
mai comuna notatie este cea de forma punct-zecimala.Sunt si alte notatii bazate
pe valoriile 200.100 in notatia punct-zecimala care cuprinde patru octeti in
zecimala separati de perioade.
O forma finala nu este totusi o notatie din moment ce este foarte rar scrisa
in ASCII.Acea forma este o forma binara a notatiei hexadecimala in binar.
Initial adresele IP au fost impartite in doua parti:
-Network ID- primul octet;
-Host ID- ultimii 3 octeti.
Acest lucru a creat o limita superioara de 256 de retele.
Pentru a depasi aceasta limita s-au definit diferite clase de retele, intr-un
sistem ce a devenit cunoscut mai tarziu sub numele de classful networking.S-au
creat 5 clase (A,B,C,D,E) trrei dintre care (A,B,C) au avut diferite marimi pentru
retele.Restul continutului celor trei clase a fost folosit pentru identificarea unei

32

gazde pe retea, ceea ce insemna ca fiecare clasa de retea avea un numar


maxim diferit de gazde. Existau cateva retele cu putine adrese de retea si multe
retele cu doar cateva adrese.
Clasa D era pentru adrese multicast iar clasa E era rezervata.
In anul 1993 aceste clase au fost inlocuite cu schema Classless Inter Domain
Routing (CIDR) si vechea schema a fost denumita prin contrast classful.
Primul avantaj al CIDR-ului este sa aloce redivizarea claselor A,B si C
retelelor , astfel incat blocurile adreselor mai mici (sau mai mari) pot fi alocate
entitatiilor ( ca furnizorii de servicii de internet sau utilizatorii acestora.) sau
retelelor alocate.
Actuala repartizare a adreselor nu se facearbitrar.
Principiul fundamental al rutarii este ca adresele codeaza informatia despre
locatia dispozitivelor intr-o retea.Acest lucru implica ca o adresa repartizata unei
parti ale unei retele nu va functiona intr-o alta parte a retelei.
O structura ierarhica creata de CIDR si supravegheata de Internet
Assigned Numberss Auttority(IANA) si registrele de internet regionale(RIR) se
ocupa de repartizarea adreselor de internet Nortdwide.Fiecare RIR mentine o
baza de date WHOIS ce ofera informatii despre repartizarea
adreselor;Informatiile acestei baze de date joaca un rol esential pentru multele
unelte ce incearca sa localizeze geografic adresele IP.
Retele private
Din cele 4 milioane de adrese permise in IPv4, 4 linii de adrese sunt
rezervate doar pentru retelele private.Aceste linii nu pot fi rutate in afara retelelor
private iar masinile private nu pot comunica direct cu retelele private.Totusi
acestea poate sa treaca prin traducerea adreselor de retea.
Liniile 10.0.0.0/8, 172.16.0.0/12 si 192.168.0.0/16 sunt rezervate pentru
retelele private de RFC 1918 in timp ce linia 169.254.00/16 este rezervata pentru
aderesarea Link-local definita in RFC 3927.
Este o conceptie gresita ca adresele IP ce se termina in 255 nu pot fi
repartizate gazdelor pe un subnet.In classful adressing (CIDR) exista 3 subneturi
posibile: 255.0.0.0(clasa A), 255.255.0.0(clasa B), 255.255.255.0(clasa C).
O adresa broadcast este o adresa IP ce permite informatiei sa fie trimisa
tuturor masinilor pe un subintenet dat de o masina specifica.In mod normal
adresa broadcast este gasita luandu-se complementul bitului subnetului.
O data cu aparitia CIDR-ului , este posibil ca adresele broadcast sa nu
mai fie nevoite sa se sfarseasca in 255.
In mod normal prima si ultima adresa IP intr-un subnet sunt folosite caq
identificator de retea si ca adresa broadcast.Toate celelalte adrese IP din subnet
pot fi repartizate gazdelor pe subnet.
Internetul nu este cunoscut cel mai bine datorita adreselor IP ci dupa
nume.Rutarea pachetelor IP pe internet este imposibila pentru aceste
nume.Acest lucru necesita traducerea(sau rezolvarea) numelor pentru adresele
IP .

33

Sistemul domeniului numelor(DNS-Domain Name System) asigura ca un astfel


de sistem sa converteasca numele pentru adresele IP si adresele IP pentru
nume.Ca si CIDR numirea DNS-ului este tot ierarhica si permite subddelegarea
spatiilor numelor altor severe DNS.
Epuizarea
Inca din 1980 exista o preocupare cu privire la epuizarea adreselor
IP.Acesta a fost factorul de decizie pentru crearea retelelor classful si mai tarziu a
CIDR-ului.
La ora actuala sunt cateva imbunatatiri pentru solutionarea alocarii adreselor:
- dispozitie mobile- laptop-uri, PDA, telefoane mobile
- dispozitive always-on- modemuri ADSL
- cresterea rapida a numarului utilizatorilor de internet.
Cea mai simpla solutie este sa se foloseasca IPv6.
TCP checksum IPv6
Cand protocolul TCP ruleaza pe IPv6, metoda folosita pentru verificarea
sumei este definita in RFC2460.
Versiunea a sasea a internet protocolului este un layer de retea pentru
actiunile internet. A fost creata ca un succesor al versiunii 4, versiunea curenta a
internet protocolului pentru folosirea generala a internetului.
Majoritatea layerelor de transport si de aplicatii necesita putine modificari
sau nici o modificare pentru a putea functiona pe Ipv6; exceptii fac aplicatiile
protocoalelor care incastreaza adresele layerelor de retea (ca FTP sau NTPv3).
Totusi aplicatiile au nevoie de mici schimbari pentru a functiona pe IPv6.
Principala modificare adusa de IPv6 este un spatiu de adresa mult mai
mare, care ofera flexibilitate ridicata in alocarea adreselor.
Lungimea extinsa a adresei elimina nevoia utilizarii NAT-ului (folosit la
IPv4 pentru evitarea epuizarii adreselor); de asemenea simplifica modalitatea de
alocare a adreselor si renumerarea acestora cand se schimba furnizorii.
Totusi nu a fost intentia creatorilor IPv6 de a oferi adrese unice
permanente fiecarui individ si fiecarui computer.
IPv6 suporta 2128 adrese sau aproximativ 5*1028 adrese pentru fiecare
persoana din cele 6,5 miliarde oameni in viata .
Numarul mare de adrese permite alocarea ierarhica a acestora ce poate
face ca renumerotarea sa fie foarte simpla. Cu IPv4 tehnicile CIDR(Classles Inter
Domain Routing) complexe erau create sa foloseasca cat mai bine spatiu
restrans al adreselor.
Renumerotarea, atunci cand se schimba furnizorii poate fi un efort mult
prea mare pentru IPv4, insa cu IPv6 renumerotarea devine automata pentru ca
identificatorii gazda sunt decuplati de la identificatorul furnizorului de retea.
Gazdele IPv6 pot fi automat configurate cand se conecteaza la o retea
rutata IPv6 folosind ruterul ICMPv6 de descoperire a mesajelor.Cand o gazda se

34

conecteaza prima oara la o retea el trimite o cerere de ruter link-local multicast


pentru configurarea parametriilor sai ;daca sunt configurati convenabil,ruterele
raspund la o astfel de cerinta printr-un pachet de avertizare a ruteruluice contine
parametrii de configurare a layer-ului de retea.
Daca autoconfigurarea versiunii a sasea a IP-ului nu este convenabila, o
gazda poate folosi o configurare de stare (DHCPv6) sau poate fi configurata
manual.
Multicast este o parte a specificatiilor de baza a IPv6, spre deosebire de
IPv4, unde a fost introdusa mai tarziu.IPv6 nu are o facilitate de link-local
broadcast; acelasi efect se poate obtine prin multicastingul tuturor grupurilor de
gazde.
Totusi, majoritatea mediilor nu au pana in prezent infrastructurile de retea
configurate sa foloseasca multicast-uri.
Interfetele IPv6 au adrese Link-local pe langa adresele globale pe care
aplicatiile le folosesc in mod normal. Aceste adrese sunt prezente mereu si nu se
schimba niciodata, ceea ce usureazza crearea protocoalelor de configurare si
configurare.
In IPv4 pachetele sunt limitate la 64KiB.Cand este folosita intre parteneri
de comunicatie capabili i intre linkurile de comunicatie cu o unitate de maxima
transmitere(MTU) ,mai mare decat 65.576 octeti, IPv6 are suport optional pentru
pachetele ce depasesc aceasta limita, numite jumbograf care poate fi de maxim
4 GiB.Folosirea jumbogramelor poate imbunatatii perfrmatele retelelor de
maxima transmisie(MTU).
Ipsec, protocolul pentru criptarea si autentificarea IP-ul layerelor de retea,
este o parte integrala a protocolului de bazafolosit la IPv6;acest lucru este diferit
de IPv4 unde este optional.Totusi IPsec nu este prea des folosit in prezent ,decat
pentru a securiza traficul dintre ruterele IPv6 Border Gateway Protocol-ului.
Spre deosebire de mobilul IPv4, Mobile IPv6(MIPv6) evita routarea
triunghiulara si de aceea este la fel de eficienta ca versiunea normala IPv6.Acest
avantaj este mai mult ipotetic, deoarece nici MIP si nici MIPv6 nu sunt folosite
asa de mult in prezent.
IPv4 are un verificator de suma care foloseste toti bitii header-ului pentru a
crea si pentru a verifica.Cand unele domenii(ca TTL) ar putea si ar vrea sa se
schimbe intre fiecare router , verificatorul trebuie sa fie refacut in fiecare dinte
routere.Se crede ca greseli(erori) sunt foarte rare in retelele din prezent. Pentru
acest motiv, IPv6 nu are nici o verificare de erori in protocolul lui , insa in schimb
se bazeaza pe layerul de link al protocoalelor sa faca verificarea erorilor.In cazul
in care headerul este corupt, cel mai rau lucru care se poate intampla este ca
pachetul sa fie trimis unei late gazde.
Forumul IPv6 a fost creat ca un spin-off al IETF IPv6 Deployment WG
care a fost condus de Jim Bound in iulie 1999.Si pana in noiembrie 2007, IPv6 se
luda cu un foarte mic procentaj din adresele live folosit in internetul accesibil
publicului, care este inca dominat de IPv4.
Cu exceptia auto-configuratiei fara cetatenie, mai multe adrese flexibile si
Secure Neighbor Discovery(SEND), multe din caracteristicile IPv6 au fost

35

transmise IPv4 intr-o maniera mai mult sau mai putin eleganta.Desfasurarea
IPv6 este folosita de epuizarea spatiului adreselor a IPv4, care a fost incetinita
de introducerea CIDR-ului si folosirea NAT-ului.
Feluri de adrese IPv6
Adresele IPv6 sunt impartite in trei categorii:
-adrese unicast
-adrese multicast
-adrese anycast
O adresa unicast identifica os ingura interfata de retea.Un pachet trimis unei
adrese unicast este trimisa calculatorului specificat.Urmatoarele tipuri de adrese
sunt adrese Ipv6 unicast:
-adrese globale unicast
-adrese link-local
-adrese site-local
-adrese locale unici IPv6 unicast
-adrese speciale
Adresele multicast sunt folosite pentru a defini un set de interfete care in
mod normal ar apartine diferitor noduri in locul unuia singur.Cand un pachet este
trimis unei adrese multicast, protocolul trimite pachetul tuturor interfetelor
identificate de adresa.Adresele multicast incep cu FF00::/8 si al doile octet
identifica scopul adresei(lini peste care adresa multicast este propagata).Scopuri
folosite in mod normal includ link-local(0x2), site-local(0x5) si global(0xE).
Adresele unicast sunt de asemenea repartizate mai multor interfete ce
apartin diferitor noduri.Totusi, un pachet trimis unei adrese anycast este
distribuita doar unui membru al interfetei, in mod normal cel mai apropriat in
conformitate cu ideea protocolului despre distanta.
Adresele anycast nu pot fi identificate asa de usor: ele au structura unor
adrese normale unicast si difera numai prin faptul ca sunt injectate in protocolul
routing la multiple puncte in retea.
Adrese speciale
Exista cateva adrese cu semnificatii speciale in IPv6:
Link local
- ::/128 adresa cu toate zerourile este una nespecificata si se foloseste doar
pentru softuri
- ::1/128 adresa loopback este o adresa localhost.
- fe80::/10 prefixul link-local specifica ca adresa este valida doar in lincul fizic
local.

36

Site local
- fc00::/7 adrese locale unice (ULA) sunt rutabile doar cu un set de site-uri
cooperante.
IPv4
- ::ffff:0:0/96 acest prefix este folosit pentru adrese mapped IPv4
- 2002::/16- se foloseste pt adresarea 6la4
Multicast
- ff00::/8- prefixul multicast este folosit pentru adrese multicast
Folosite in exemple
- ::/96- prefixul zero a fost folosit pt adresele compatibile IPv4
- 2001:db8::/32 este folosit in documentare
fec0::/10- prefixul site-ului local specifica ca adresa este valida numai in interiorul
organizzatiei locale.

37

Concluzie
Protocolul TCP este unul de baza in arhitectura Internetului datorita
necesitatii tot mai mari de a transmite la distanta informatii, intr-un mod cat mai
coerent, sigur si lipsit de erori.
Cu toate ca este mai lent decat protocolul UDP, siguranta transmiterii
datelor il pun in postura de favorit in solutionarea necesitatilor din retelele din
intreaga lume.
Bibliografie
-

Documentele RFC
http://tools.ietf.org/
http://www.rfc-editor.org/categories/rfc-standard.html

Internet Assigned Numbers Authority


http://www.iana.org/assignments/port-numbers

Administrarea Red Hat Linux (cunostinte esentiale) de Michale Turner, Steve


Shah, Editura B.I.C All , 2004

38

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