TCP sau Protocolul de control al transmisiei este un protocol de strat de transport rezident
la nivelul 4 în modelul OSI și este orientat spre conexiune,
care permite încă o dată accesul protocoalelor la nivelul stratului de rețea sau al stratului IP, dar
în acest caz oferă fiabilitate.
Conexiunea este orientată înainte de
transmisie și se stabilește o sesiune între două dispozitive.
TCP implementează, în general, un mod de operare complet duplex.
Există câteva excepții, dar nu le vom intra
aici. Cu alte cuvinte, o conexiune TCP este o pereche de circuite
virtuale câte una în fiecare direcție care funcționează în modul full duplex.
Transmițătorul poate recepționa date simultan cu transmisia.
Ambele gazde într-o conversație pot transmite și primi în același timp.
există o verificare a erorilor în TCP deoarece
există o sumă de control în datagrama pentru a verifica dacă nu există nici o corupție.
Segmentele TCP sunt, de asemenea, numerotate în ordine astfel încât destinația să poată re-ordona segmentele și să determine dacă lipsesc datele.
Există, de asemenea, confirmarea primirii datelor, astfel încât toate datele sunt confirmate de către destinatar.
transmițătorul sau expeditorul poate retransmite segmentul sau poate termina conexiunea dacă determină că
receptorul nu mai este implicat în conversație.
TCP implementează caracteristici de recuperare a datelor, cu
alte cuvinte, poate fi re-transmiterea datelor pierdute.
Deci, dacă nu există o recunoaștere a unui segment, segmentul va fi re-transmis.
Segmentul TCP sunt trimise utilizând pachete IP.
Antetul TCP va urma informația de furnizare a antetului IP specifică protocolului TCP.
După cum puteți vedea aici, antetul TCP are mai multe opțiuni decât antetul UDP.
Deci, mai întâi aveți un număr de port pe 16 biți care identifică portul de expediere.
Avem un port de destinație de 16 biți, care identifică portul de recepție.
Există un număr de secvență de 32 biți, dacă bitul SYN este setat, atunci acesta
este numărul secvenței inițiale.
Numărul de secvență al primului octet de date efectiv este apoi acest număr de ordine plus 1.
Dacă bitul SYN nu este setat, atunci numărul secvenței este numărul de secvență acumulat al primului octet
de date al acestui pachet pentru sesiunea curentă.
Apoi are un număr de confirmare de 32 de biți.
Dacă parametrul ACK este setat sau bitul este setat atunci valoarea numărului
de confirmare este următorul număr
de secvență pe care receptorul așteaptă să îl primească.
Acest câmp confirmă primirea tuturor octeților anteriori.
Primul ACK sau confirmarea trimisă de fiecare capăt confirmă
celelalte capete ale secvenței inițiale, dar nu există date.
Lungimea antetului sau offsetul de date specifică dimensiunea antetului TCP în cuvinte de 32 de biți.
Dimensiunea minimă a antetului este de 5 cuvinte, iar maximul este de 15 cuvinte.
Dimensiunea minimă a antetului este de 20
de octeți, iar dimensiunea maximă a antetului
este de 60 de octeți în IPv4, care permite până la 40 de octeți de opțiuni în antet.
Rezervul umple setul la 0 și este rezervat pentru utilizare ulterioară.
Acum, există multe steaguri sau biți de control disponibile în antetul TCP și nu vom trece
prin toate acestea.
Flagul de reducere a ferestrei de congestie face parte dintr-un mecanism de
notificare a congestiilor utilizat în combinație cu câmpul de
ecou sau cu pavilionul ecou de notificare a convorbirii ECE sau pavilion.
Încă o dată, utilizată în notificarea privind congestionarea.
Acest lucru poate fi folosit în calitate de serviciu unde rețeaua
și gazda comunică pentru a indica congestia, permițând
astfel transmițătorului să știe că trebuie să încetinească.
Steagul URG poate indica faptul că acest segment este urgent și trebuie procesat
cât mai curând posibil.
Steagul ACK menționat mai sus este folosit pentru confirmarea datelor.
PSH este pavilionul setat de expeditorul TCP pentru a determina receptorul TCP să treacă imediat 60 acele
date ale segmentului către soclul de aplicații al
receptoarelor împreună cu toate celelalte date în ordine pe care receptorul încă nu le-a dat aplicației respective.
Reset; reseta conexiunea cu alte cuvinte, conexiunea este dezactivată.
SYN este utilizat pentru sincronizarea numerelor de secvențe.
Numai primul pachet trimis de la fiecare capăt va avea acest set de pavilion.
FIN înseamnă că nu mai există date de la expeditor.
Dimensiunea ferestrei care are lungimea de 16 biți
specifică dimensiunea ferestrei recepționate,
numărul de octeți pe care receptorul este dispus să o primească, vom vorbi
mai mult despre controlul debitului și dimensiunile ferestrei într-un moment.
TCP include, de asemenea, o sumă de control TCP de 16
biți, care este utilizată pentru verificarea erorilor antetului și a datelor.
Indicatorul urgent de 16 biți este utilizat cu steagul URG care, atunci
când este setat, înseamnă că se utilizează indicatorul urgent de 16 biți.
Aceasta indică o decalare față de numărul secvenței care indică ultimul byte de date urgent.
Există, de asemenea, diferite opțiuni
disponibile în TCP, dar acestea sunt în afara scopului acestui curs.
Și, în sfârșit, avem datele, care sunt datele din protocoalele de nivel
superior încapsulate în antetul TCP.
Există câteva exemple de aplicații care se bazează pe TCP sau UDP.
Exemplele includ protocoalele de transfer de fișiere; FTP sau File Transfer Protocol
TFTP sau Trivial File Transfer Protocol, NFS sau Network File System.
În e-mail, avem tendința de a utiliza POP3 sau Post Office Protocol pentru a primi mail Simple Mail Transfer Protocol sau SMTP pentru a trimite poștă
sau IMAP sau Internet Message Access Protocol, care este un alt protocol folosit
pentru retransmiterea e-mailurilor 86 Pentru conectarea de la distanță la
dispozitive, am putea folosi telnet care
trimite trafic în text clar și, prin urmare, este în
siguranță sau securizată SHELL sau SSH care permite o conexiune
securizată la dispozitivele de la distanță.
Pentru managementul rețelei putem folosi Simple Network Management Protocol sau SNMP, iar pentru gestionarea numelui putem
folosi Domain Name System, care permite folosirea mai
multor nume decât a adreselor IP și traduce
acele nume de domenii semnificative în adrese
IP, de exemplu cisco. com va fi convertită la o adresă IP
atunci când un utilizator navighează pe internet.
Înainte de a continua, vreau să menționez din nou modul în care
funcționează mapările între diferitele straturi ale modelului OSI.
La nivelul 2 într-un cadru Ethernet 2, există un câmp numit numărul de tip care permite unei gazde să se diferențieze între mai multe protocoale de strat 3 la nivelul 3, amintiți-vă că ați putea folosi un protocol precum IPv4 sau IPv6 sau în vechile zile IPX sau Apple vorbesc.
Deci, la nivelul 2, NEC trebuie să știe care este protocolul stratului 3 pentru a trimite acest trafic și numărul de
tip este folosit pentru a diferenția diferitele protocoale de strat 3.
La nivelul 3 se utilizează un număr de protocol pentru a se diferenția 105 diferite protocoale care rulează la nivelul 4, astfel că într-un
antet IP câmpul de protocol va indica unde se utilizează TCP sau UDP la nivelul 4. La stratul 4 este utilizat un număr de
port pentru a diferenția mai multe aplicații care se utilizează la nivelul 7. 108 Deci este important să rețineți că la nivelul 4 modul
în care TCP sau UDP știu ce aplicație este destinat acestui trafic este numărul portului.