TCP dhidi ya UDP: Kuondoa mjadala wa kuegemea dhidi ya ufanisi

Leo, tutaanza kwa kuzingatia TCP. Hapo awali katika sura ya kuweka, tulitaja hoja muhimu. Kwenye safu ya mtandao na chini, ni zaidi juu ya mwenyeji wa miunganisho ya mwenyeji, ambayo inamaanisha kuwa kompyuta yako inahitaji kujua ni wapi kompyuta nyingine ili kuungana nayo. Walakini, mawasiliano katika mtandao mara nyingi huwa mawasiliano ya kuingiliana badala ya mawasiliano ya intermachine. Kwa hivyo, itifaki ya TCP inaleta wazo la bandari. Bandari inaweza kuchukuliwa na mchakato mmoja tu, ambayo hutoa mawasiliano ya moja kwa moja kati ya michakato ya maombi inayoendesha kwa majeshi tofauti.

Kazi ya safu ya usafirishaji ni jinsi ya kutoa huduma za mawasiliano ya moja kwa moja kati ya michakato ya maombi inayoendesha kwa majeshi tofauti, kwa hivyo inajulikana pia kama itifaki ya mwisho-mwisho. Safu ya usafirishaji inaficha maelezo ya msingi ya mtandao, ikiruhusu mchakato wa maombi kuona kana kwamba kuna njia ya mwisho ya mawasiliano kati ya vyombo viwili vya safu ya usafirishaji.

TCP inasimama kwa itifaki ya kudhibiti maambukizi na inajulikana kama itifaki inayoelekezwa kwa unganisho. Hii inamaanisha kuwa kabla ya programu moja inaweza kuanza kutuma data kwa nyingine, michakato miwili lazima ifanye mikono. Handshake ni mchakato uliounganishwa kimantiki ambao unahakikisha maambukizi ya kuaminika na mapokezi ya mpangilio wa data. Wakati wa kushikana mikono, unganisho huanzishwa kati ya chanzo na majeshi ya marudio kwa kubadilishana safu ya vifurushi vya kudhibiti na kukubaliana juu ya vigezo na sheria kadhaa ili kuhakikisha usambazaji wa data uliofanikiwa.

TCP ni nini? (MyLinking'sBomba la mtandaonaDalali wa pakiti ya mtandaoInaweza kusindika pakiti zote mbili za TCP au UDP)
TCP (itifaki ya kudhibiti maambukizi) ni itifaki ya mawasiliano iliyoelekezwa, ya kuaminika, ya msingi wa usafirishaji wa safu ya usafirishaji.

Uunganisho-ulioelekezwa: Uunganisho unaoelekezwa kwa njia ya kuwa mawasiliano ya TCP ni ya moja kwa moja, ambayo ni, mawasiliano ya mwisho-hadi-mwisho, tofauti na UDP, ambayo inaweza kutuma ujumbe kwa majeshi kadhaa kwa wakati mmoja, kwa hivyo mawasiliano ya moja hadi ya wengi hayawezi kupatikana.
Ya kuaminika: Kuegemea kwa TCP inahakikisha kwamba pakiti zinawasilishwa kwa uhakika kwa mpokeaji bila kujali mabadiliko katika kiunga cha mtandao, ambayo hufanya muundo wa pakiti ya itifaki ya TCP kuwa ngumu zaidi kuliko ile ya UDP.
Byte-Stream-msingi: Asili ya msingi wa TCP inaruhusu usambazaji wa ujumbe wa saizi yoyote na inahakikishia agizo la ujumbe: hata ikiwa ujumbe uliopita haujapokelewa kikamilifu, na hata ikiwa kaaji zilizofuata zimepokelewa, TCP haitawapeleka kwenye safu ya maombi kwa usindikaji na itaangusha pakiti mbili.
Mara tu mwenyeji A na mwenyeji B ameanzisha unganisho, programu tu inahitaji kutumia laini ya mawasiliano ya kutuma na kupokea data, na hivyo kuhakikisha usambazaji wa data. Itifaki ya TCP inawajibika kudhibiti kazi kama vile uanzishwaji wa unganisho, kukatwa, na kushikilia. Ikumbukwe kwamba hapa tunasema mstari wa kawaida unamaanisha tu kuanzisha unganisho, unganisho la itifaki ya TCP linaonyesha tu kwamba pande hizo mbili zinaweza kuanza usambazaji wa data, na kuhakikisha kuegemea kwa data. Njia za njia na usafirishaji zinashughulikiwa na vifaa vya mtandao; Itifaki ya TCP yenyewe haijali na maelezo haya.

Uunganisho wa TCP ni huduma kamili, ambayo inamaanisha kuwa mwenyeji A na mwenyeji B anaweza kusambaza data katika pande zote mbili kwenye unganisho la TCP. Hiyo ni, data inaweza kuhamishwa kati ya mwenyeji A na mwenyeji B katika mtiririko wa zabuni.

TCP huhifadhi data kwa muda kwenye unganisho la kutuma. Buffer hii ya kutuma ni moja wapo ya kache zilizowekwa wakati wa kushikana kwa njia tatu. Baadaye, TCP itatuma data kwenye kashe ya kutuma kwa kashe ya kupokea ya mwenyeji wa marudio kwa wakati unaofaa. Kwa mazoezi, kila rika atakuwa na kashe ya kutuma na kashe ya kupokea, kama inavyoonyeshwa hapa:

TCP-UDP

Buffer ya kutuma ni eneo la kumbukumbu linalodumishwa na utekelezaji wa TCP kwa upande wa mtumaji ambao hutumika kuhifadhi data kwa muda kutumwa. Wakati kushikana kwa njia tatu kunafanywa ili kuanzisha unganisho, kashe ya kutuma imewekwa na hutumiwa kuhifadhi data. Buffer ya kutuma inarekebishwa kwa nguvu kulingana na msongamano wa mtandao na maoni kutoka kwa mpokeaji.

Buffer ya kupokea ni eneo la kumbukumbu linalodumishwa na utekelezaji wa TCP kwa upande wa kupokea ambao hutumiwa kuhifadhi data iliyopokelewa kwa muda. TCP huhifadhi data iliyopokelewa kwenye kashe ya kupokea na inasubiri programu ya juu kuisoma.

Kumbuka kuwa saizi ya cache ya kutuma na kupokea kashe ni mdogo, wakati kashe imejaa, TCP inaweza kupitisha mikakati kadhaa, kama udhibiti wa msongamano, udhibiti wa mtiririko, nk, ili kuhakikisha usambazaji wa data wa kuaminika na utulivu wa mtandao.

Katika mitandao ya kompyuta, usambazaji wa data kati ya majeshi hufanywa kwa njia ya sehemu. Kwa hivyo sehemu ya pakiti ni nini?

TCP inaunda sehemu ya TCP, au sehemu ya pakiti, kwa kugawanya mkondo unaoingia ndani ya chunks na kuongeza vichwa vya TCP kwa kila chunk. Kila sehemu inaweza kupitishwa tu kwa muda mdogo na haiwezi kuzidi saizi ya kiwango cha juu (MSS). Ukiwa njiani chini, sehemu ya pakiti hupitia safu ya kiunga. Safu ya kiunga ina kitengo cha maambukizi ya kiwango cha juu (MTU), ambayo ni saizi ya juu ya pakiti ambayo inaweza kupita kupitia safu ya kiungo cha data. Sehemu ya juu ya maambukizi kawaida inahusiana na interface ya mawasiliano.

Kwa hivyo ni tofauti gani kati ya MSS na MTU?

Katika mitandao ya kompyuta, usanifu wa uongozi ni muhimu sana kwa sababu inazingatia tofauti kati ya viwango tofauti. Kila safu ina jina tofauti; Katika safu ya usafirishaji, data inaitwa sehemu, na kwenye safu ya mtandao, data inaitwa pakiti ya IP. Kwa hivyo, kitengo cha maambukizi ya kiwango cha juu (MTU) kinaweza kuzingatiwa kama saizi ya pakiti ya IP ambayo inaweza kupitishwa na safu ya mtandao, wakati saizi ya kiwango cha juu (MSS) ni wazo la safu ya usafirishaji ambayo inahusu kiwango cha juu cha data ambacho kinaweza kupitishwa na pakiti ya TCP kwa wakati mmoja.

Kumbuka kuwa wakati saizi ya kiwango cha juu (MSS) ni kubwa kuliko kitengo cha maambukizi ya kiwango cha juu (MTU), kugawanyika kwa IP kutafanywa kwa safu ya mtandao, na TCP haitagawanya data kubwa katika sehemu zinazofaa kwa saizi ya MTU. Kutakuwa na sehemu kwenye safu ya mtandao iliyowekwa kwenye safu ya IP.

Muundo wa sehemu ya pakiti ya TCP
Wacha tuchunguze muundo na yaliyomo kwenye vichwa vya TCP.

Sehemu ya TCP

Nambari ya mlolongo: Nambari isiyo ya kawaida inayotokana na kompyuta wakati unganisho limeanzishwa kama thamani yake ya awali wakati unganisho la TCP limeanzishwa, na nambari ya mlolongo hutumwa kwa mpokeaji kupitia pakiti ya SYN. Wakati wa usambazaji wa data, mtumaji huongeza nambari ya mlolongo kulingana na idadi ya data iliyotumwa. Mpokeaji anahukumu agizo la data kulingana na nambari ya mlolongo uliopokelewa. Ikiwa data imepatikana nje ya utaratibu, mpokeaji atapanga tena data ili kuhakikisha mpangilio wa data.

Nambari ya kukiri: Hii ni nambari ya mlolongo inayotumiwa katika TCP kukubali kupokea data. Inaonyesha nambari ya mlolongo wa data inayofuata ambayo mtumaji anatarajia kupokea. Katika unganisho la TCP, mpokeaji huamua ni data gani imepokelewa kwa mafanikio kulingana na nambari ya mlolongo wa sehemu ya pakiti ya data iliyopokelewa. Wakati mpokeaji anapokea kwa mafanikio data, hutuma pakiti ya ACK kwa mtumaji, ambayo ina nambari ya kukiri ya kukiri. Baada ya kupokea pakiti ya ACK, mtumaji anaweza kudhibitisha kuwa data kabla ya kukubali nambari ya jibu imepokelewa kwa mafanikio.

Vipande vya kudhibiti vya sehemu ya TCP ni pamoja na yafuatayo:

Ack kidogo: Wakati kidogo hii ni 1, inamaanisha kuwa uwanja wa jibu la kukiri ni halali. TCP inabainisha kuwa kidogo hii lazima iwekwe kwa 1 isipokuwa kwa pakiti za SYN wakati unganisho limeanzishwa hapo awali.
Kidogo kidogo: Wakati kidogo hii ni 1, inaonyesha kuwa kuna ubaguzi katika unganisho la TCP na unganisho lazima lilazimishwe kutengwa.
Syn kidogo: Wakati kidogo hii imewekwa kwa 1, inamaanisha kuwa unganisho linapaswa kuanzishwa na thamani ya awali ya nambari ya mlolongo imewekwa kwenye uwanja wa nambari ya mlolongo.
Fin kidogo: Wakati kidogo hii ni 1, inamaanisha kuwa hakuna data zaidi itakayotumwa katika siku zijazo na unganisho linahitajika.
Kazi na sifa anuwai za TCP zimejumuishwa na muundo wa sehemu za pakiti za TCP.

UDP ni nini? (MyLinking'sBomba la mtandaonaDalali wa pakiti ya mtandaoInaweza kusindika pakiti zote mbili za TCP au UDP)
Itifaki ya data ya watumiaji (UDP) ni itifaki ya mawasiliano isiyo na uhusiano. Ikilinganishwa na TCP, UDP haitoi njia ngumu za kudhibiti. Itifaki ya UDP inaruhusu programu kutuma moja kwa moja pakiti za IP zilizowekwa ndani bila kuanzisha unganisho. Wakati msanidi programu anachagua kutumia UDP badala ya TCP, programu inawasiliana moja kwa moja na IP.

Jina kamili la itifaki ya UDP ni itifaki ya data ya watumiaji, na kichwa chake ni ka nane tu (bits 64), ambayo ni mafupi sana. Fomati ya kichwa cha UDP ni kama ifuatavyo:

Sehemu ya UDP

Marudio na bandari za chanzo: Kusudi lao kuu ni kuonyesha ni mchakato gani UDP inapaswa kutuma pakiti.
Saizi ya pakiti: Sehemu ya saizi ya pakiti inashikilia saizi ya kichwa cha UDP pamoja na saizi ya data
Cheki: Iliyoundwa ili kuhakikisha uwasilishaji wa kuaminika wa vichwa vya UDP na data jukumu la ukaguzi ni kugundua ikiwa kosa au ufisadi umetokea wakati wa maambukizi ya pakiti ya UDP ili kuhakikisha uadilifu wa data.

Tofauti kati ya TCP na UDP katika MyLinking'sBomba la mtandaonaDalali wa pakiti ya mtandaoInaweza kusindika pakiti zote mbili za TCP au UDP
TCP na UDP ni tofauti katika nyanja zifuatazo:

TCP vs UDP

Muunganisho: TCP ni itifaki ya usafirishaji inayoelekezwa kwa unganisho ambayo inahitaji unganisho kuanzishwa kabla ya data kuhamishiwa. UDP, kwa upande mwingine, hauitaji unganisho na inaweza kuhamisha data mara moja.

Kitu cha huduma: TCP ni huduma ya moja-kwa-moja, ambayo ni, unganisho lina miisho miwili tu ya kuwasiliana na kila mmoja. Walakini, UDP inasaidia mawasiliano ya moja kwa moja, moja kwa moja, na mengi, ambayo yanaweza kuwasiliana na majeshi mengi kwa wakati mmoja.

Kuegemea: TCP hutoa huduma ya kupeleka data kwa kuaminika, kuhakikisha kuwa data haina makosa, haina hasara, isiyo ya kurudisha, na inafika kwa mahitaji. UDP, kwa upande mwingine, hufanya bidii yake na haina dhamana ya uwasilishaji wa kuaminika. UDP inaweza kuteseka kutokana na upotezaji wa data na hali zingine wakati wa maambukizi.

Udhibiti wa msongamano, udhibiti wa mtiririko: TCP ina udhibiti wa msongamano na mifumo ya kudhibiti mtiririko, ambayo inaweza kurekebisha kiwango cha maambukizi ya data kulingana na hali ya mtandao ili kuhakikisha usalama na utulivu wa maambukizi ya data. UDP haina udhibiti wa msongamano na mifumo ya kudhibiti mtiririko, hata ikiwa mtandao umeunganishwa sana, hautafanya marekebisho kwa kiwango cha kutuma cha UDP.

Kichwa juu: TCP ina urefu mrefu wa kichwa, kawaida ka 20, ambayo huongezeka wakati uwanja wa chaguo hutumiwa. UDP, kwa upande mwingine, ina kichwa cha kaa cha ka 8 tu, kwa hivyo UDP ina kichwa cha chini cha kichwa.

TCP vs UDP

TCP na hali ya maombi ya UDP:
TCP na UDP ni itifaki mbili tofauti za safu ya usafirishaji, na zina tofauti kadhaa katika hali za matumizi.

Kwa kuwa TCP ni itifaki inayoelekezwa kwa unganisho, inatumika hasa katika hali ambapo uwasilishaji wa data unaohitajika inahitajika. Kesi zingine za matumizi ya kawaida ni pamoja na:

Uhamisho wa faili ya FTP: TCP inaweza kuhakikisha kuwa faili hazipotea na kuharibiwa wakati wa uhamishaji.
Http/https: TCP inahakikisha uadilifu na usahihi wa yaliyomo kwenye wavuti.
Kwa sababu UDP ni itifaki isiyo na uhusiano, haitoi dhamana ya kuegemea, lakini ina sifa za ufanisi na wakati halisi. UDP inafaa kwa hali zifuatazo:

Trafiki ya kifurushi cha chini, kama DNS (Mfumo wa Jina la Domain): Maswali ya DNS kawaida ni pakiti fupi, na UDP inaweza kuzikamilisha haraka.
Mawasiliano ya multimedia kama video na sautiKwa maambukizi ya multimedia na mahitaji ya juu ya wakati halisi, UDP inaweza kutoa latency ya chini ili kuhakikisha kuwa data inaweza kupitishwa kwa wakati unaofaa.
Mawasiliano ya matangazo: UDP inasaidia mawasiliano ya moja na mengi na mengi na inaweza kutumika kwa usambazaji wa ujumbe wa matangazo.

Muhtasari
Leo tumejifunza juu ya TCP. TCP ni itifaki ya unganisho iliyoelekezwa, ya kuaminika, na ya msingi wa usafirishaji. Inahakikisha maambukizi ya kuaminika na mapokezi ya mpangilio wa data kwa kuanzisha unganisho, kushikana mikono na kukiri. Itifaki ya TCP hutumia bandari kutambua mawasiliano kati ya michakato, na hutoa huduma za mawasiliano moja kwa moja kwa michakato ya maombi inayoendesha kwa majeshi tofauti. Viunganisho vya TCP ni duplex kamili, ikiruhusu uhamishaji wa data wakati huo huo. Kwa kulinganisha, UDP ni itifaki ya mawasiliano isiyo na mwelekeo, ambayo haitoi dhamana ya kuegemea na inafaa kwa hali zingine zilizo na mahitaji ya juu ya wakati halisi. TCP na UDP ni tofauti katika hali ya unganisho, kitu cha huduma, kuegemea, udhibiti wa msongamano, udhibiti wa mtiririko na mambo mengine, na hali zao za matumizi pia ni tofauti.


Wakati wa chapisho: Desemba-03-2024