Structura câmpurilor de protocol TCP, format și atribuire

La stratul de transport, Internetul folosește două protocolul de bază - un protocol orientat pe conexiune este TCP și UDP este un protocol fara conexiune.

TCP (forehand, al cărui Protocol de control) a fost special conceput pentru a oferi un flux de octeți de încredere printr-o rețea care nu prezintă încredere. Aplicațiile care se bazează pe stratul de transport în problema fiabilității utilizării datelor de livrare TCP. Datele din acest caz este livrat prin intermediul rețelei în ordinea corectă. TCP - octetul - protocol de flux bidirecțional este orientat pe conexiune.

In dezvoltarea TCP sa concentrat pe capacitatea sa de a se adapta la proprietățile rețelei combinate și stabilitatea în ceea ce privește diferitele tipuri de eșecuri.

Fiecare protocol TCP mașină de susținere are o entitate de transport TCP, care este fie un proces de utilizator, o parte din nucleul sistemului, care gestionează TCP-flux și interfețele cu nivel de IP. TCP-entitate primește de la fluxurile de date procese locale de utilizator, le împarte în bucăți care nu depășesc 64K (în practică, de obicei, aproximativ 1500 bytes), și le trimite ca separate pentru IP-datagrame. În cazul în care IP-datagrama cu TCP-date care sosesc la aparat, acestea sunt transferate la TCP - entitate care reconstruiește fluxul de octet original.

Stratul de IP nu garantează livrarea corectă a datagrame, de aceea este necesar să se monitorizeze TCP timeout expirat și să se angajeze în re-transmiterea de pachete, pentru a prelua mesajele de la non-profit în ordinea datagramelor. Astfel, protocolul TCP trebuie să asigure fiabilitatea dorită de mulți utilizatori, și nu este furnizat de IP.

În ciuda simplității sale aparente, protocolul TCP este destul de complicată și ar trebui să abordeze următoarele aspecte-cheie:

-restabili segmentele de ordine;

-pentru a elimina segmente de duplicat, sub orice formă (fragmentare) au fost primite;

-determină o întârziere rezonabilă pentru obținerea probelor în segmentul;

-Configurarea conexiunii și rupe în mod fiabil;

Când datele TCP sunt schimbate sub formă de segmente. Segmentul este format dintr-un antet de 20 octeți fix, care poate fi urmată de octeți de date. Segmentele pot sau nu pot conține date. Aceste segmente sunt adesea folosite pentru a transmite mesaje de control și confirmările.

Dimensiunea segmentelor este determinată de software-ul TCP și este limitat la două afară. În primul rând, fiecare segment, inclusiv antetul TCP, trebuie spațiului comercial schatsya în sarcină utilă de 65.535 octeți de IP-pachet. În al doilea rând, fiecare rețea are o unitate de transmisie maximă (MTU), iar fiecare segment trebuie să se încadreze în MTU.

Fragmentarea fiecărui segment nou primeste IP-header (20 bytes), care crește deasupra capului.

-„Numărul de serie“ identifică octeți în fluxul de date de la TCP trimite la TCP destinatar. Numerele TCP fiecare număr de secvență octet.

-„Număr de confirmare“ - este urmatorul numar de secventa pe care expeditorul se așteaptă să primească o confirmare. Acest număr de secvență, plus 1 din ultimul octet primit cu succes de date.

-Câmpul «TCP-antet lungime“ înseamnă dimensiunea TCP-header în cuvinte pe 32 de biți.

-teren neproductiv 6-biți rezervate. Ar trebui să fie umplut cu zerouri.

Urmat de șase steaguri 1-bit:

-URG bit este setat la 1, în cazul indicatorului câmp pentru date urgente care conțin offset în octeți din spațiul curent numărul de secvență de octeți la locația DataFlash. Astfel, protocolul TCP implementat mesaje de întrerupere.

-ACK biți. Acesta este setat la 1, ceea ce înseamnă că „numărul de confirmare“ conține date semnificative. În caz contrar, acest segment nu conține confirmare și „numărul de confirmare“ este pur și simplu ignorată;

-PSH bit este steagul PUSH, prin care expeditorul solicită destinatarului să livreze datele la cererea imediat după primirea pachetului, mai degrabă decât stocarea acestuia în tamponul până când tamponul este umplut, destinatarul poate face de dragul o mai mare eficacitate;

-bit RST este folosit pentru a reseta starea de conectare, care, din cauza gazdă defecțiuni sau în alt mod căzut într-o situație de impas. În plus, este utilizat pentru a respinge segmentul invalid sau încercarea de a stabili conexiunea. Dacă obțineți un segment cu bitul RST set, acest lucru înseamnă că există un fel de problemă;

-SYN bit este folosit pentru configurarea conexiunii.

-bit FIN este folosit pentru a rupe conexiunea. El subliniază faptul că expeditorul nu are mai multe date pentru a transmite. Cu toate acestea, chiar și închiderea conexiunii, procesul poate continua să primească date pe termen nelimitat. În segmentele cu biți SYN si FIN au numere de serie, care garantează ordinea corectă a executării lor.

de control al debitului în protocolul TCP se realizează utilizând prezenta alunecare fereastra de dimensiuni variabile.

-„Dimensiunea ferestrei“ indică numărul de octeți pot fi trimise după primirea octetul de confirmare (cât de mulți octeți poate lua destinatarului).

-Câmpul „control“ este destinat pentru a crește fiabilitatea. Acesta conține un antet de control, de date și pseudo-antet.

-De „pointer la date de urgență“ este utilizat în conjuncție cu bitul de control URG. Numărul plasate în acest domeniu indică sfârșitul datelor urgente. date de urgență este transferat din gama.

-„Opțiuni“ oferă funcționalități suplimentare care nu sunt acoperite de un antet standard de. Unul dintre cei mai importanți parametri permite fiecărei gazde să specificați dimensiunea maximă a câmpului de sarcină utilă, pe care le poate lua. Dacă parametrii nu sunt complet ocupate de teren pe 32 de biți, iar restul este umplut cu zerouri. Această acțiune se numește aliniere.

articole similare