Ang Transmission Control Protocol (TCP) at User Datagram Protocol (UDP) ay ang dalawang pamantayan ng transportasyon na ginagamit sa internet protocol (IP) .
Ang parehong mga head ng paggamit ng TDP at UDP bilang bahagi ng data ng mensahe ng packaging para sa paglipat sa mga koneksyon sa network. Ang mga header ng TCP at mga header ng UDP ay naglalaman ng isang hanay ng mga parameter na tinatawag na mga field na tinukoy ng protocol na teknikal na mga pagtutukoy.
Format ng TCP Header
Ang bawat header ng TCP ay may sampung kinakailangang larangan na may kabuuan na 20 bytes (160 bits ) ang laki. Maaari rin nilang isama ang isang karagdagang seksyon ng data hanggang sa 40 bytes ang laki.
Ito ang layout ng mga header ng TCP:
- Source TCP port number (2 bytes)
- Destination TCP port number (2 bytes)
- Numero ng pagkakasunud-sunod (4 bytes)
- Bilang ng pagkilala (4 bytes)
- TCP data offset (4 bits)
- Nakareserbang data (3 bits)
- Mga flag na kontrol (hanggang sa 9 na bits)
- Laki ng window (2 bytes)
- TCP checksum (2 bytes)
- Kagyat na pointer (2 bytes)
- TCP opsyonal na data (0-40 bytes)
Inilipat ng TCP ang mga field ng header sa stream ng mensahe sa pagkakasunud-sunod na nakalista sa itaas.
- Ang pinagmulan at destinasyon ng mga numero ng TCP port ay ang mga endpoint ng komunikasyon para sa pagpapadala at pagtanggap ng mga device.
- Ang mga nagpadala ng mensahe ay gumagamit ng mga numero ng pagkakasunod-sunod upang markahan ang pag-order ng isang pangkat ng mga mensahe. Ang parehong mga nagpapadala at receiver ay gumagamit ng field ng acknowledgment numbers upang ipaalam ang mga numero ng pagkakasunod-sunod ng mga mensahe na alinman kamakailan na natanggap o inaasahang ipapadala.
- Ang data offset field ay nagtatabi ng kabuuang sukat ng isang TCP header sa multiples ng four bytes. Ang isang header na hindi gumagamit ng opsyonal na field ng TCP ay may isang data na ginalit ng 5 (na kumakatawan sa 20 bytes), habang ang isang header na gumagamit ng maximum na laki na opsyonal na patlang ay may isang data na ginalaw ng 15 (na kumakatawan sa 60 bytes).
- Ang nakalaang data sa mga header ng TCP ay palaging may halaga na zero. Naghahain ang larangan na ito sa layunin ng pagpapantay sa kabuuang laki ng header bilang isang maramihang ng apat na byte (mahalaga para sa kahusayan ng pagpoproseso ng data sa computer).
- Gumagamit ang TCP ng isang set ng anim na pamantayan at tatlong pinalawak na mga flag ng control (bawat isa sa isang indibidwal na bit na kumakatawan sa o off ) upang pamahalaan ang daloy ng data sa mga partikular na sitwasyon. Halimbawa, isang bit flag ang nagpapasimula ng pag-reset ng lohika ng koneksyon ng TCP. Ang detalyadong pagpapatakbo ng mga larangang ito ay higit sa saklaw ng artikulong ito.
- Ang mga nagpadala ng TCP ay gumagamit ng isang numero na tinatawag na laki ng window upang makontrol kung gaano karaming data ang ipinadala nila sa isang receiver bago nangangailangan ng isang pagkilala bilang kapalit. Kung ang laki ng window ay nagiging masyadong maliit, ang paglipat ng data ng network ay hindi na kailangang mabagal, habang ang laki ng window ay nagiging sobrang malaki, ang link sa network ay maaaring maging puspos (hindi magagamit para sa anumang iba pang mga application) o ang receiver ay hindi maaaring maproseso ang papasok na data nang mabilis sapat (din na nagreresulta sa mabagal na pagganap). Ang mga algorithm sa pag-iilaw na binuo sa dynamic na calculate ang mga halaga ng laki at ginagamit ang field na ito ng mga header ng TCP upang maisaayos ang mga pagbabago sa pagitan ng mga nagpapadala at receiver.
- Ang halaga ng checksum sa loob ng isang TCP header ay binuo ng nagpadala ng protocol bilang isang matematikal na pamamaraan upang matulungan ang receiver na tuklasin ang mga mensahe na napinsala o napinsala.
- Ang kagyat na patlang ng pointer ay madalas na naka-zero at hindi pinansin, ngunit kasama ng isa sa mga flags ng kontrol, maaari itong magamit bilang isang data na ginalaw upang markahan ang isang subset ng isang mensahe na nangangailangan ng priority processing.
- Ang mga paggamit ng opsyonal na data ng TCP ay lampas sa saklaw ng artikulong ito ngunit kinabibilangan ng suporta para sa mga espesyal na pagkilala at window scaling algorithm.
Format ng UDP Header
Dahil ang UDP ay higit na limitado sa kakayahan kaysa sa TCP, ang mga header nito ay mas maliit. Ang isang UDP header ay naglalaman ng 8 bytes, na hinati sa sumusunod na apat na kinakailangang mga patlang:
- Source port number (2 bytes)
- Destination port number (2 bytes)
- Haba ng data (2 bytes)
- UDP checksum (2 bytes)
Ang mga patlang ng header ng UDP ay nagsasama sa stream ng mensahe nito sa pagkakasunud-sunod na nakalista sa itaas.
- Ang pinagmulan at patutunguhan ng mga numero ng UDP port ay ang mga endpoint ng komunikasyon para sa pagpapadala at pagtanggap ng mga device.
- Ang haba ng patlang sa UDP ay kumakatawan sa kabuuang sukat ng bawat datagram kabilang ang parehong header at data. Ang patlang na ito ay may halaga mula sa isang minimum na 8 bytes (ang kinakailangang sukat ng header) upang sukat sa itaas 65,000 bytes.
- Katulad ng TCP, pinapayagan ng isang UDP checksum ang mga receiver na i-cross-check ang mga papasok na data para sa anumang napinsala na mga piraso ng mensahe.