Protocolul TCP

Pe stratul de transport stiva TCP / IP utilizează două protocoale principale: TCP, UDP și. Ideea generală a unei funcții de transport poate fi obținută în articolul corespunzător. În acest text ne vom concentra pe protocolul TCP (Transmission Protocol de control), care este utilizat pentru a asigura livrarea fiabilă a datelor la nivel de transport.







În plus, TCP prevede:

  • segmente de livrare de încredere.
  • segmente de secvențiere la primire.
  • Lucrul cu sesiuni.
  • Controlul ratei.

Luați în considerare aceste caracteristici mai detaliat.

segmentul de livrare de încredere

Astfel, livrarea de încredere nu înseamnă că datele vor ajunge în cazul în care cineva a tras cablul de la comutatorul. Aceasta înseamnă că dezvoltatorul software folosind TCP la stratul de transport știe că, în cazul în care sesiunea nu este rupt, atunci tot ceea ce el a instruit să trimită va fi livrat destinatarului, fără nici o pierdere. Există o mulțime de date, care sunt critice pentru pierderea de orice bucată de informație. De exemplu, dacă descărcați o aplicație de pe Internet, pierderea unui singur octet va însemna că nu puteți utiliza descărcat. Din acest motiv, multe protocoale strat aplicație folosesc transportul TCP.

Aranjarea segmente în pregătirea

După cum puteți ghici, fiecare segment al nivelului TCP / IP inferior este procesat în mod individual. Aceasta este, cel puțin, va fi ambalate într-un pachet individual. Pachete trece prin ruterele de rețea și intermediare, în general, nu știu nimic despre ce este ambalat în aceste pachete. O parte a pachetului în scopul de echilibrare a sarcinii poate merge pe rețea în diferite moduri, prin diferite dispozitive intermediare la viteze diferite. Astfel, destinatarul, decapsulated ei pot obține segmentele care nu sunt în ordinea în care au fost trimise.

TCP în mod automat, le refac în ordinea corectă folosind toate același câmp număr de secvență și să dea după legarea la nivel de aplicație.







Lucrul cu sesiuni

Înainte de a transmite date utile, TCP asigură că există destinatarul, ar trebui să asculte expeditorul și portul este gata să primească datele pentru acea sesiune este stabilită cu ajutorul unui strângere de mână tripartit mecanism (cu trei căi strângere de mână), care poate fi citit în articolul corespunzător. Mai mult, datele de utilizator utile sunt transmise în cadrul sesiunii. După ce transferul este complet, sesiunea este închisă, astfel destinatarul este informat că datele nu vor mai fi, iar expeditorul este notificat că izveschon destinatar.

Controlul ratei

Mecanismul ferestrei glisante permite dimensiunea ferestrei TCP pentru a schimba in mod constant - măriți-l până când totul este normal și atunci când segmentele nu sunt obtinerea prin. Astfel, în orice fereastră de timp dată dimensiunea este mai mult sau mai puțin adecvate la starea rețelei.

Structura TCP

segment antet TCP are următoarea structură:

Protocolul TCP

  • Sursa de port și portul de destinație - sunt, respectiv, numărul destinatarului și portul expeditorului, identificând aplicații pentru a trimite și primi noduri.
  • Numărul de ordine și numărul de confirmare de primire - un număr de segment și de confirmare numărul secvențial, care sunt utilizate pentru livrare de încredere. De exemplu, în cazul în care expeditorul trimite un segment cu SN 100, destinatarul poate răspunde la ea ACK 101 SN200, ceea ce înseamnă: „Am primit segmentul cu numărul 100, și mă aștept la 101 mii, de altfel, am propria mea numerotare. Numerele mele încep cu 200 „Expeditor, la rândul său, poate răspunde SN101 ACK201, ceea ce înseamnă că“ am primit de la segmentul de tine cu numărul 200, eu pot lua următoarele două sute în primul rând, și aici este meu o sută primul segment, pe care vă așteptați. " Și așa mai departe.
  • Lungimea Header - Acest câmp chetyrohbitnoe conține o lungime antet TCP a segmentului.
  • Rezervat - 6 biți Rezervat doar în cazul.
  • Control - câmp cu steaguri, care sunt folosite în timpul schimbului de informații și descriu segmentul de atribuire suplimentar. De exemplu, pavilion FIN este utilizat pentru a completa conexiunile, SYN si ACK - pentru instalare.
  • Fereastra - conține dimensiunea ferestrei, ceea ce a fost spus mai sus.
  • Checksumm - antet de control și de date.
  • Urgent - un semn al importanței (de urgență) a acestui segment.
  • Opțiuni - câmp opțional suplimentar care poate fi utilizată, de exemplu, pentru a testa protocolul.
  • Secțiunea de date conține datele reale primite de la protocolul de aplicare strat, sau piesa lor, în cazul în care datele au trebuit să te desparți.

Aceasta se referă la tema: