Ngayon, magsisimula na tayo sa pamamagitan ng pagtuon sa TCP. Mas maaga sa kabanata tungkol sa pagtula, nabanggit namin ang isang mahalagang punto. Sa layer ng network at sa ibaba, higit pa tungkol sa host na mag -host ng mga koneksyon, na nangangahulugang kailangang malaman ng iyong computer kung saan ang isa pang computer ay upang kumonekta dito. Gayunpaman, ang komunikasyon sa isang network ay madalas na interpretasyon ng komunikasyon sa halip na komunikasyon ng intermachine. Samakatuwid, ipinakikilala ng TCP Protocol ang konsepto ng port. Ang isang port ay maaaring sakupin ng isang proseso lamang, na nagbibigay ng direktang komunikasyon sa pagitan ng mga proseso ng aplikasyon na tumatakbo sa iba't ibang mga host.
Ang gawain ng layer ng transportasyon ay kung paano magbigay ng mga direktang serbisyo sa komunikasyon sa pagitan ng mga proseso ng aplikasyon na tumatakbo sa iba't ibang mga host, kaya kilala rin ito bilang isang end-to-end protocol. Itinatago ng layer ng transportasyon ang mga pangunahing detalye ng network, na nagpapahintulot sa proseso ng aplikasyon na makita na kung mayroong isang lohikal na end-to-end na channel ng komunikasyon sa pagitan ng dalawang mga nilalang na layer ng transportasyon.
Ang TCP ay nakatayo para sa paghahatid ng control protocol at kilala bilang isang protocol na nakatuon sa koneksyon. Nangangahulugan ito na bago ang isang application ay maaaring magsimulang magpadala ng data sa iba pa, ang dalawang proseso ay kailangang gumawa ng isang handshake. Ang handshake ay isang lohikal na konektado na proseso na nagsisiguro ng maaasahang paghahatid at maayos na pagtanggap ng data. Sa panahon ng handshake, ang isang koneksyon ay itinatag sa pagitan ng mga host ng mapagkukunan at patutunguhan sa pamamagitan ng pagpapalitan ng isang serye ng mga control packet at sumasang -ayon sa ilang mga parameter at mga patakaran upang matiyak ang matagumpay na paghahatid ng data.
Ano ang TCP? (Mylinking'sTapikin ang NetworkatNetwork Packet BrokerMaaaring iproseso ang parehong mga packet ng TCP o UDP)
Ang TCP (Transmission Control Protocol) ay isang oriented na koneksyon, maaasahan, byte-stream batay sa protocol ng komunikasyon ng layer ng transportasyon.
Nakatuon sa koneksyon: Ang koneksyon na nakatuon sa koneksyon ay nangangahulugan na ang komunikasyon ng TCP ay isa-sa-isa, iyon ay, point-to-point end-to-end na komunikasyon, hindi katulad ng UDP, na maaaring magpadala ng mga mensahe sa maraming mga host sa parehong oras, kaya ang isa-sa-maraming komunikasyon ay hindi makamit.
Maaasahan: Ang pagiging maaasahan ng TCP ay nagsisiguro na ang mga packet ay maihatid na maaasahan sa tatanggap anuman ang mga pagbabago sa link ng network, na ginagawang mas kumplikado ang format ng protocol packet ng TCP kaysa sa UDP.
Byte-stream-based: Pinapayagan ng byte-stream na batay sa TCP para sa paghahatid ng mga mensahe ng anumang laki at ginagarantiyahan ang pagkakasunud-sunod ng mensahe: Kahit na ang naunang mensahe ay hindi pa natanggap, at kahit na ang kasunod na mga byte ay natanggap, ang TCP ay hindi maihahatid ang mga ito sa layer ng application para sa pagproseso at awtomatikong ibababa ang mga dobleng packet.
Kapag ang Host A at Host B ay nagtatag ng isang koneksyon, ang application ay kailangang gamitin lamang ang virtual na linya ng komunikasyon upang magpadala at makatanggap ng data, sa gayon tinitiyak ang paghahatid ng data. Ang TCP protocol ay may pananagutan sa pagkontrol ng mga gawain tulad ng pagtatatag ng koneksyon, pagkakakonekta, at paghawak. Dapat pansinin na narito na sinasabi namin na ang virtual line ay nangangahulugan lamang na magtatag ng isang koneksyon, ang koneksyon ng protocol ng TCP ay nagpapahiwatig lamang na ang dalawang panig ay maaaring magsimula ng paghahatid ng data, at upang matiyak ang pagiging maaasahan ng data. Ang mga ruta at transport node ay hawakan ng mga aparato ng network; Ang protocol ng TCP mismo ay hindi nababahala sa mga detalyeng ito.
Ang isang koneksyon sa TCP ay isang serbisyo ng full-duplex, na nangangahulugang ang Host A at Host B ay maaaring magpadala ng data sa parehong direksyon sa isang koneksyon sa TCP. Iyon ay, ang data ay maaaring ilipat sa pagitan ng Host A at Host B sa isang bidirectional flow.
Pansamantalang nag -iimbak ng TCP ng data sa Send Buffer ng Koneksyon. Ang pagpapadala ng buffer ay isa sa mga cache na naka-set up sa panahon ng three-way handshake. Kasunod nito, ipapadala ng TCP ang data sa send cache sa natanggap na cache ng patutunguhang host sa naaangkop na oras. Sa pagsasagawa, ang bawat kapantay ay magkakaroon ng pagpapadala ng cache at isang makatanggap na cache, tulad ng ipinakita dito:
Ang Send Buffer ay isang lugar ng memorya na pinananatili ng pagpapatupad ng TCP sa panig ng nagpadala na ginagamit upang pansamantalang mag -imbak ng data na maipadala. Kapag ang three-way handshake ay isinasagawa upang magtatag ng isang koneksyon, ang send cache ay naka-set up at ginamit upang mag-imbak ng data. Ang send buffer ay pabago -bago na nababagay ayon sa kasikipan ng network at puna mula sa tatanggap.
Ang isang natanggap na buffer ay isang lugar ng memorya na pinananatili ng pagpapatupad ng TCP sa pagtanggap ng panig na ginagamit upang pansamantalang maiimbak ang natanggap na data. Inimbak ng TCP ang natanggap na data sa natanggap na cache at naghihintay para mabasa ito ng itaas na aplikasyon.
Tandaan na ang laki ng pagpapadala ng cache at makatanggap ng cache ay limitado, kapag ang cache ay puno, ang TCP ay maaaring magpatibay ng ilang mga diskarte, tulad ng kontrol ng kasikipan, control control, atbp, upang matiyak ang maaasahang paghahatid ng data at katatagan ng network.
Sa mga network ng computer, ang paghahatid ng data sa pagitan ng mga host ay isinasagawa sa pamamagitan ng mga segment. Kaya ano ang isang segment ng packet?
Lumilikha ang TCP ng isang segment ng TCP, o segment ng packet, sa pamamagitan ng paghahati ng papasok na stream sa mga chunks at pagdaragdag ng mga header ng TCP sa bawat tipak. Ang bawat segment ay maaari lamang maipadala para sa isang limitadong dami ng oras at hindi maaaring lumampas sa maximum na laki ng segment (MSS). Sa pagbaba nito, ang isang segment ng packet ay dumadaan sa layer ng link. Ang layer ng link ay may isang maximum na yunit ng paghahatid (MTU), na kung saan ay ang maximum na laki ng packet na maaaring dumaan sa layer ng link ng data. Ang maximum na yunit ng paghahatid ay karaniwang nauugnay sa interface ng komunikasyon.
Kaya ano ang pagkakaiba sa pagitan ng MSS at MTU?
Sa mga network ng computer, ang hierarchical architecture ay napakahalaga sapagkat isinasaalang -alang ang mga pagkakaiba sa pagitan ng iba't ibang mga antas. Ang bawat layer ay may ibang pangalan; Sa layer ng transportasyon, ang data ay tinatawag na isang segment, at sa layer ng network, ang data ay tinatawag na isang IP packet. Samakatuwid, ang maximum na yunit ng paghahatid (MTU) ay maaaring isipin bilang ang maximum na laki ng packet ng IP na maaaring maipadala ng layer ng network, habang ang maximum na laki ng segment (MSS) ay isang konsepto ng layer ng transportasyon na tumutukoy sa maximum na dami ng data na maaaring maipadala ng isang packet ng TCP nang sabay -sabay.
Tandaan na kapag ang maximum na laki ng segment (MSS) ay mas malaki kaysa sa maximum na yunit ng paghahatid (MTU), ang fragmentation ng IP ay isasagawa sa layer ng network, at ang TCP ay hindi hahatiin ang mas malaking data sa mga segment na angkop para sa laki ng MTU. Magkakaroon ng isang seksyon sa layer ng network na nakatuon sa layer ng IP.
Istraktura ng segment ng TCP Packet
Galugarin natin ang format at nilalaman ng mga header ng TCP.
Sequence number) Sa panahon ng paghahatid ng data, pinatataas ng nagpadala ang numero ng pagkakasunud -sunod ayon sa dami ng data na ipinadala. Hinuhusgahan ng tatanggap ang pagkakasunud -sunod ng data ayon sa natanggap na numero ng pagkakasunud -sunod. Kung ang data ay nahanap ng pagkakasunud -sunod, ang tatanggap ay muling ayusin ang data upang matiyak ang pagkakasunud -sunod ng data.
Numero ng pagkilala: Ito ay isang numero ng pagkakasunud -sunod na ginamit sa TCP upang kilalanin ang pagtanggap ng data. Ipinapahiwatig nito ang pagkakasunud -sunod na bilang ng susunod na data na inaasahan na matatanggap ng nagpadala. Sa isang koneksyon sa TCP, tinutukoy ng tatanggap kung aling data ang matagumpay na natanggap batay sa pagkakasunud -sunod ng bilang ng natanggap na segment ng packet ng data. Kapag matagumpay na natanggap ng tatanggap ang data, nagpapadala ito ng isang ACK packet sa nagpadala, na naglalaman ng numero ng pagkilala sa pagkilala. Matapos matanggap ang ACK packet, maaaring kumpirmahin ng nagpadala na ang data bago kilalanin ang numero ng tugon ay matagumpay na natanggap.
Ang mga control bits ng isang segment ng TCP ay kasama ang sumusunod:
Ack bit: Kapag ang bit na ito ay 1, nangangahulugan ito na may bisa ang patlang ng Reply Reply. Tinukoy ng TCP na ang bit na ito ay dapat na itakda sa 1 maliban sa mga packet ng SYN kapag ang koneksyon ay una na itinatag.
Rst bit: Kapag ang bit na ito ay 1, ipinapahiwatig nito na mayroong isang pagbubukod sa koneksyon ng TCP at ang koneksyon ay dapat pilitin na mai -disconnect.
Syn bit: Kapag ang bit na ito ay nakatakda sa 1, nangangahulugan ito na ang koneksyon ay maitatag at ang paunang halaga ng numero ng pagkakasunud -sunod ay nakatakda sa patlang ng pagkakasunud -sunod.
Fin bit: Kapag ang bit na ito ay 1, nangangahulugan ito na wala nang data ang maipapadala sa hinaharap at nais ang koneksyon.
Ang iba't ibang mga pag -andar at katangian ng TCP ay isinama ng istraktura ng mga segment ng packet ng TCP.
Ano ang UDP? (Mylinking'sTapikin ang NetworkatNetwork Packet Brokermaaaring iproseso ang parehong mga packet ng TCP o UDP)
Ang User Datagram Protocol (UDP) ay isang protocol na walang koneksyon sa komunikasyon. Kumpara sa TCP, ang UDP ay hindi nagbibigay ng mga kumplikadong mekanismo ng kontrol. Pinapayagan ng UDP protocol ang mga aplikasyon na direktang magpadala ng mga encapsulated na mga packet ng IP nang hindi nagtatag ng isang koneksyon. Kapag pinili ng developer na gumamit ng UDP sa halip na TCP, ang application ay direktang nakikipag -usap sa IP.
Ang buong pangalan ng protocol ng UDP ay ang protocol ng datagram ng gumagamit, at ang header nito ay walong byte lamang (64 bits), na napaka -maigsi. Ang format ng UDP header ay ang mga sumusunod:
Patutunguhan at mga port ng mapagkukunan: Ang kanilang pangunahing layunin ay upang ipahiwatig kung aling proseso ang dapat magpadala ng mga packet ng UDP.
Laki ng packet: Ang patlang ng laki ng packet ay humahawak ng laki ng header ng UDP kasama ang laki ng data
Tseke: Dinisenyo upang matiyak ang maaasahang paghahatid ng mga header at data ng UDP Ang papel ng tseke ay upang makita kung ang isang error o katiwalian ay naganap sa panahon ng paghahatid ng isang packet ng UDP upang matiyak ang integridad ng data.
Pagkakaiba sa pagitan ng TCP at UDP sa Mylinking'sTapikin ang NetworkatNetwork Packet BrokerMaaaring iproseso ang parehong mga packet ng TCP o UDP
Ang TCP at UDP ay naiiba sa mga sumusunod na aspeto:
Koneksyon: Ang TCP ay isang protocol na nakatuon sa transportasyon na nakatuon sa koneksyon na nangangailangan ng isang koneksyon na maitatag bago mailipat ang data. Ang UDP, sa kabilang banda, ay hindi nangangailangan ng isang koneksyon at maaaring mailipat kaagad ang data.
Object ng Serbisyo: Ang TCP ay isang one-to-one two-point service, iyon ay, ang isang koneksyon ay may dalawang pagtatapos lamang upang makipag-usap sa bawat isa. Gayunpaman, sinusuportahan ng UDP ang isa-sa-isa, isa-sa-marami, at marami-sa-maraming interactive na komunikasyon, na maaaring makipag-usap sa maraming mga host nang sabay.
Pagiging maaasahan: Nagbibigay ang TCP ng serbisyo ng paghahatid ng data nang maaasahan, tinitiyak na ang data ay walang error, walang pagkawala, hindi duplicate, at dumating sa demand. Ang UDP, sa kabilang banda, ay gumagawa ng pinakamahusay na pagsisikap at hindi ginagarantiyahan ang maaasahang paghahatid. Ang UDP ay maaaring magdusa mula sa pagkawala ng data at iba pang mga sitwasyon sa panahon ng paghahatid.
Kontrol ng kasikipan, kontrol ng daloy: Ang TCP ay may mga mekanismo ng control at daloy ng control ng daloy, na maaaring ayusin ang rate ng paghahatid ng data ayon sa mga kondisyon ng network upang matiyak ang seguridad at katatagan ng paghahatid ng data. Ang UDP ay walang mga mekanismo ng control at daloy ng control, kahit na ang network ay napaka -congested, hindi ito gagawa ng mga pagsasaayos sa rate ng pagpapadala ng UDP.
Header overhead: Ang TCP ay may mahabang haba ng header, karaniwang 20 byte, na tataas kapag ginagamit ang mga patlang ng pagpipilian. Ang UDP, sa kabilang banda, ay may isang nakapirming header na 8 byte lamang, kaya ang UDP ay may mas mababang header sa itaas.
TCP at UDP Application Scenarios:
Ang TCP at UDP ay dalawang magkakaibang mga protocol ng layer ng transportasyon, at mayroon silang ilang mga pagkakaiba -iba sa mga senaryo ng aplikasyon.
Dahil ang TCP ay isang protocol na nakatuon sa koneksyon, pangunahing ginagamit ito sa mga senaryo kung saan kinakailangan ang maaasahang paghahatid ng data. Ang ilang mga karaniwang kaso ng paggamit ay kinabibilangan ng:
FTP File Transfer: Maaaring matiyak ng TCP na ang mga file ay hindi nawala at masira sa panahon ng paglipat.
Http/https: Tinitiyak ng TCP ang integridad at kawastuhan ng nilalaman ng web.
Dahil ang UDP ay isang walang koneksyon na protocol, hindi ito nagbibigay ng garantiya ng pagiging maaasahan, ngunit mayroon itong mga katangian ng kahusayan at real-time. Ang UDP ay angkop para sa mga sumusunod na sitwasyon:
Trapiko ng mababang-packet, tulad ng DNS (Domain Name System): Ang mga query sa DNS ay karaniwang mga maikling packet, at ang UDP ay maaaring makumpleto ang mga ito nang mas mabilis.
Komunikasyon ng multimedia tulad ng video at audio: Para sa paghahatid ng multimedia na may mataas na mga kinakailangan sa real-time, ang UDP ay maaaring magbigay ng mas mababang latency upang matiyak na ang data ay maaaring maipadala sa isang napapanahong paraan.
Komunikasyon sa Broadcast: Sinusuportahan ng UDP ang isa-sa-marami at marami-sa-maraming komunikasyon at maaaring magamit para sa paghahatid ng mga mensahe ng broadcast.
Buod
Ngayon natutunan namin ang tungkol sa TCP. Ang TCP ay isang oriented na koneksyon, maaasahan, byte-stream na batay sa transportasyon na protocol ng komunikasyon ng layer. Tinitiyak nito ang maaasahang paghahatid at maayos na pagtanggap ng data sa pamamagitan ng pagtatatag ng koneksyon, handshake at pagkilala. Gumagamit ang TCP Protocol ng mga port upang mapagtanto ang komunikasyon sa pagitan ng mga proseso, at nagbibigay ng direktang serbisyo sa komunikasyon para sa mga proseso ng aplikasyon na tumatakbo sa iba't ibang mga host. Ang mga koneksyon sa TCP ay full-duplex, na nagpapahintulot sa sabay-sabay na paglilipat ng data ng bidirectional. Sa kaibahan, ang UDP ay isang protocol na walang koneksyon na naka-orient na komunikasyon, na hindi nagbibigay ng mga garantiya ng pagiging maaasahan at angkop para sa ilang mga sitwasyon na may mataas na mga kinakailangan sa real-time. Ang TCP at UDP ay naiiba sa mode ng koneksyon, object ng serbisyo, pagiging maaasahan, kontrol ng kasikipan, kontrol ng daloy at iba pang mga aspeto, at ang kanilang mga senaryo ng aplikasyon ay naiiba din.
Oras ng Mag-post: DEC-03-2024