Documente Academic
Documente Profesional
Documente Cultură
Protocoale TCP
Protocoale TCP
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
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 .
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
10
11
12
13
14
16
17
18
19
20
21
22
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.
-
25
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
28
29
30
31
32
33
34
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
38