logo

Ce este Transmission Control Protocol (TCP)?

TCP înseamnă Protocol de control al transmisiei . Este un protocol de nivel de transport care facilitează transmiterea pachetelor de la sursă la destinație. Este un protocol orientat spre conexiune, ceea ce înseamnă că stabilește conexiunea înainte de comunicarea care are loc între dispozitivele de calcul dintr-o rețea. Acest protocol este utilizat cu un protocol IP, deci împreună, sunt denumite TCP/IP.

Funcționalitatea principală a TCP este de a prelua datele din stratul de aplicație. Apoi împarte datele în mai multe pachete, oferă numerotare acestor pachete și, în final, transmite aceste pachete la destinație. TCP-ul, pe de altă parte, va reasambla pachetele și le va transmite la nivelul aplicației. După cum știm că TCP este un protocol orientat spre conexiune, deci conexiunea va rămâne stabilită până când comunicarea nu este finalizată între emițător și receptor.

trunchiați și ștergeți diferența

Caracteristicile protocolului TCP

Următoarele sunt caracteristicile unui protocol TCP:

    Protocolul stratului de transport

TCP este un protocol de nivel de transport, deoarece este utilizat în transmiterea datelor de la emițător la receptor.

    De încredere

TCP este un protocol de încredere, deoarece urmărește mecanismul de control al fluxului și al erorilor. De asemenea, acceptă mecanismul de confirmare, care verifică starea și sosirea sonoră a datelor. În mecanismul de confirmare, receptorul trimite o confirmare pozitivă sau negativă expeditorului, astfel încât expeditorul să poată afla dacă pachetul de date a fost primit sau trebuie să fie retrimis.

    Ordinea datelor este menținută

Acest protocol asigură că datele ajung la receptorul dorit în aceeași ordine în care sunt trimise. Comandă și numerotează fiecare segment, astfel încât stratul TCP din partea destinației să le poată reasambla pe baza ordonării lor.

    Orientat spre conexiune

Este un serviciu orientat spre conexiune, ceea ce înseamnă că schimbul de date are loc numai după stabilirea conexiunii. Când transferul de date este finalizat, atunci conexiunea va fi întreruptă.

    Full duplex

Este un full-duplex înseamnă că datele se pot transfera în ambele direcții în același timp.

variabile globale javascript
    Orientat spre flux

TCP este un protocol orientat pe flux, deoarece permite expeditorului să trimită datele sub forma unui flux de octeți și, de asemenea, permite receptorului să accepte datele sub forma unui flux de octeți. TCP creează un mediu în care atât emițătorul, cât și receptorul sunt conectate printr-un tub imaginar cunoscut sub numele de circuit virtual. Acest circuit virtual transportă fluxul de octeți pe internet.

Necesitatea protocolului de control al transportului

În arhitectura stratificată a unui model de rețea, întreaga sarcină este împărțită în sarcini mai mici. Fiecare sarcină este atribuită unui anumit strat care procesează sarcina. În Model TCP/IP , cinci straturi sunt stratul de aplicare , stratul de transport , stratul de rețea , stratul de legătură de date și stratul fizic. Stratul de transport are un rol critic în furnizarea de comunicare end-to-end către procesele de aplicare direct. Acesta creează 65.000 de porturi, astfel încât mai multe aplicații să poată fi accesate în același timp. Preia datele din stratul superior și împarte datele în pachete mai mici și apoi le transmite la nivelul de rețea.

TCP

Funcționarea TCP

În TCP, conexiunea este stabilită prin utilizarea handshaking în trei căi. Clientul trimite segmentul cu numărul său de ordine. Serverul, în schimb, trimite segmentul său cu propriul său număr de secvență, precum și secvența de confirmare, care este cu unul mai mult decât numărul de secvență client. Când clientul primește confirmarea segmentului său, atunci trimite confirmarea către server. În acest fel, se stabilește conexiunea între client și server.

TCP

Avantajele TCP

  • Oferă un serviciu fiabil orientat spre conexiune, ceea ce înseamnă că garantează livrarea pachetelor de date. Dacă pachetul de date este pierdut în rețea, atunci TCP va retrimite pachetele pierdute.
  • Oferă un mecanism de control al fluxului folosind un protocol de fereastră glisantă.
  • Oferă detectarea erorilor prin utilizarea sumei de control și controlul erorilor prin utilizarea protocolului Go Back sau ARP.
  • Elimină aglomerația prin utilizarea unui algoritm de evitare a congestionării rețelei care include diverse scheme, cum ar fi creșterea aditivă/scăderea multiplicativă (AIMD), pornirea lentă și fereastra de congestie.

Dezavantajul TCP

Crește o cantitate mare de supraîncărcare pe măsură ce fiecare segment primește propriul antet TCP, astfel încât fragmentarea de către router crește supraîncărcarea.

Format antet TCP

TCP
    Port sursă:Acesta definește portul aplicației, care trimite datele. Deci, acest câmp conține adresa portului sursă, care este de 16 biți.Portul de destinație:Acesta definește portul aplicației pe partea de recepție. Deci, acest câmp conține adresa portului de destinație, care este de 16 biți.Număr de secvență:Acest câmp conține numărul secvenței de octeți de date dintr-o anumită sesiune.Numărul de confirmare:Când steag-ul ACK este setat, atunci acesta conține următorul număr de secvență al octetului de date și funcționează ca o confirmare pentru datele anterioare primite. De exemplu, dacă receptorul primește numărul de segment „x”, atunci răspunde „x+1” ca număr de confirmare.HLEN:Specifică lungimea antetului indicată de cuvintele de 4 octeți din antet. Dimensiunea antetului este cuprinsă între 20 și 60 de octeți. Prin urmare, valoarea acestui câmp ar fi cuprinsă între 5 și 15.Rezervat:Este un câmp de 4 biți rezervat pentru utilizare ulterioară și, implicit, toate sunt setate la zero.Steaguri
    Există șase biți de control sau steaguri:
      URG:Reprezintă un indicator urgent. Dacă este setat, atunci datele sunt procesate urgent.ACK:Dacă ACK este setat la 0, înseamnă că pachetul de date nu conține o confirmare.PSH:Dacă acest câmp este setat, atunci acesta solicită dispozitivului de recepție să împingă datele către aplicația de primire fără a le pune în tampon.RST:Dacă este setat, atunci solicită repornirea conexiunii.SYN:Este folosit pentru a stabili o conexiune între gazde.SFÂRŞIT:Este folosit pentru a elibera o conexiune și nu va mai avea loc niciun schimb de date.
    Dimensiunea ferestrei
    Este un câmp de 16 biți. Conține dimensiunea datelor pe care receptorul le poate accepta. Acest câmp este folosit pentru controlul fluxului dintre emițător și receptor și determină, de asemenea, cantitatea de buffer alocată de receptor pentru un segment. Valoarea acestui câmp este determinată de receptor.Sumă de control
    Este un câmp de 16 biți. Acest câmp este opțional în UDP, dar în cazul TCP/IP, acest câmp este obligatoriu.Indicator urgent
    Este un pointer care indică octetul de date urgent dacă indicatorul URG este setat la 1. Acesta definește o valoare care va fi adăugată la numărul de secvență pentru a obține numărul de secvență al ultimului octet urgent.Opțiuni
    Oferă opțiuni suplimentare. Câmpul opțional este reprezentat în 32 de biți. Dacă acest câmp conține date mai mici de 32 de biți, atunci este necesară completarea pentru a obține biții rămași.