Protokol kontrole prenosa (TCP) i User Datagram Protocol (UDP) su dva standardna transportna sloja korištena sa internet protokolom (IP) .
I TDP i UDP koriste zaglavlja kao deo podataka o pakiranju poruka za prenos preko mrežnih veza. TCP zaglavlja i UDP zaglavlja sadrže skup parametara nazvanih polja definisanih tehničkim specifikacijama protokola.
Format zaglavlja TCP
Svaki TCP zaglavlje ima deset obaveznih polja u ukupnoj veličini od 20 bajtova (160 bita ). Oni takođe mogu opciono uključiti dodatni dio podataka veličine do 40 bajtova.
Ovo je raspored TCP zaglavlja:
- Izvorni broj TCP porta (2 bajta)
- Broj destinacije TCP porta (2 bajta)
- Broj sekvence (4 bajta)
- Broj potvrde (4 bajta)
- TCP data offset (4 bita)
- Rezervisani podaci (3 bita)
- Kontrolne zastave (do 9 bita)
- Veličina prozora (2 bajta)
- TCP kontrolna suma (2 bajta)
- Hitni pokazivač (2 bajta)
- TCP opcioni podaci (0-40 bajta)
TCP ubacuje polja zaglavlja u tok poruke u gore navedenom redosledu.
- Izvorni i odredišni brojevi TCP portova su konačne tačke komunikacije za slanje i prijem uređaja.
- Poslanika poruka koristi redosled brojeva kako bi označila narudžbinu grupe poruka. I pošiljaoci i prijemnici koriste polje s potvrđenim brojevima da komuniciraju redosled brojeva poruka koje su nedavno primljene ili se očekuje da budu poslate.
- Polje prenosa podataka čuva ukupnu veličinu TCP zaglavlja u višestrukim cetiri bajta. Zaglavlje koje ne koristi opciono TCP polje ima smjestaj podataka od 5 (predstavlja 20 bajtova), dok zaglavlje koje koristi neobavezno polje maksimalnog veličine ima 15-inčni razmak podataka (predstavlja 60 bajtova).
- Rezervisani podaci u TCP zaglavljima uvijek imaju vrednost nule. Ovo polje služi za poravnavanje ukupne veličine zaglavlja kao višestruke od četiri bajta (važno za efikasnost obrade računarske obrade).
- TCP koristi set od šest standardnih i tri proširene kontrolne zastavice (svaki pojedinačni bit predstavlja ili isključuje ) za upravljanje protokom podataka u određenim situacijama. Jedna bitna zastavica, na primjer, pokreće logičku logičku TCP vezu. Detaljan rad ovih polja prevazilazi oblast ovog članka.
- TCP pošiljaoci koriste broj koji se zove veličina prozora kako bi regulisao koliko podataka šalju prijemniku pre nego što zatraže potvrdu zauzvrat. Ako veličina prozora postane suviše mala, prenos podataka mreže će biti nepotrebno spor, a ako veličina prozora postane prevelika, mrežna veza može postati zasićena (neupotrebljiva za bilo koje druge aplikacije) ili prijemnik možda neće moći brzo obrađivati dolazeće podatke dovoljno (što rezultira i sporim performansama). Algoritmi prozora ugrađeni u protokol dinamički izračunavaju vrijednosti veličine i koriste ovo polje TCP zaglavlja kako bi koordinirale promjene između pošiljalaca i prijemnika.
- Vrednost kontrolne sume unutar zaglavlja TCP-a generiše pošiljalac protokola kao matematička tehnika koja pomaže prijemniku da otkrije poruke koje su korumpirane ili ometane.
- Polje hitnih pokazivača je često postavljeno na nulu i ignorisano, ali u kombinaciji sa jednim od upravljačkih zastava, može se koristiti kao offset za označavanje podskupa poruke koja zahteva obradu prioriteta.
- Upotreba opcionih TCP podataka prevazilazi područje ovog članka, ali uključuje podršku za algoritme za skeniranje specijalnog priznanja i prozora.
Format UDP zaglavlja
Pošto je UDP značajno ograničen u mogućnosti od TCP-a, njegovi zaglavlja su mnogo manji. UDP zaglavlje sadrži 8 bajtova, podijeljenih u sljedeća četiri potrebna polja:
- Izvorni broj porta (2 bajta)
- Broj odredišnog porta (2 bajta)
- Dužina podataka (2 bajta)
- UDP checksum (2 bajta)
UDP ubacuje polja zaglavlja u svoj stream poruke u gore navedenom redosledu.
- Izvorni i odredišni brojevi UDP portova su konačne tačke komunikacije za slanje i prijem uređaja.
- Polje dužine u UDP predstavlja ukupnu veličinu svakog datagrama uključujući i zaglavlje i podatke. Ovo polje se kreće u vrijednosti od najmanje 8 bajtova (potrebna je veličina zaglavlja) do veličine iznad 65.000 bajtova.
- Slično TCP-u, UDP kontrolna suma omogućava prijemnicima da unakrsno ispituju dolazeće podatke za bilo koje korumpirane bitove poruke.