TCP vs UDP: Demistifikimi i besueshmërisë kundrejt debatit të efikasitetit

Sot, ne do të fillojmë duke u përqëndruar në TCP. Më parë në kapitullin për shtresimin, ne përmendëm një pikë të rëndësishme. Në shtresën e rrjetit dhe më poshtë, ka të bëjë më shumë me hostin për lidhjet e pritjes, që do të thotë që kompjuteri juaj duhet të dijë se ku është një kompjuter tjetër në mënyrë që të lidhet me të. Sidoqoftë, komunikimi në një rrjet shpesh është komunikim interprocess sesa komunikim intermachine. Prandaj, protokolli TCP prezanton konceptin e portit. Një port mund të jetë i zënë nga vetëm një proces, i cili siguron komunikim të drejtpërdrejtë midis proceseve të aplikimit që funksionojnë në hoste të ndryshëm.

Detyra e shtresës së transportit është se si të ofrojnë shërbime të drejtpërdrejta të komunikimit midis proceseve të aplikimit që funksionojnë në hoste të ndryshëm, kështu që njihet gjithashtu si një protokoll fund në fund. Shtresa e transportit fsheh detajet thelbësore të rrjetit, duke lejuar procesin e aplikimit të shohë sikur të ketë një kanal logjik të komunikimit nga fundi në fund midis dy njësive të shtresës së transportit.

TCP qëndron për protokollin e kontrollit të transmetimit dhe njihet si një protokoll i orientuar nga lidhja. Kjo do të thotë që përpara se njëra aplikacion të fillojë dërgimin e të dhënave në tjetrin, të dy proceset duhet të bëjnë një shtrëngim duarsh. Shtrëngimi i duarve është një proces i lidhur logjikisht që siguron transmetim të besueshëm dhe pritje të rregullt të të dhënave. Gjatë shtrëngimit të duarve, është vendosur një lidhje midis burimeve të burimit dhe destinacionit duke shkëmbyer një seri paketash kontrolli dhe duke rënë dakord për disa parametra dhe rregulla për të siguruar transmetimin e suksesshëm të të dhënave.

Çfarë është TCP? (MyLinking'sRrjeti i trokitur në rrjetdheBroker i paketave të rrjetitmund të përpunojnë të dyja paketat TCP ose UDP)
TCP (Protokolli i Kontrollit të Transmisionit) është një protokoll i komunikimit të transportit të bazuar në lidhje, të besueshëm, të besueshëm, të bazuar në byte.

I orientuar nga lidhja: I orientuar drejt lidhjes do të thotë që komunikimi TCP është një-me-një, domethënë, komunikimi nga pika-në-pikë, ndryshe nga UDP, e cila mund të dërgojë mesazhe për hoste të shumta në të njëjtën kohë, kështu që komunikimi një-për-shumë nuk mund të arrihet.
I besueshëm: Besueshmëria e TCP siguron që paketat t'i dorëzohen në mënyrë të besueshme marrësit, pavarësisht nga ndryshimet në lidhjen e rrjetit, gjë që e bën format e paketave të protokollit të TCP më komplekse sesa ajo e UDP.
Me bazë byte-stream: Natyra e bazuar në byte-stream e TCP lejon transmetimin e mesazheve të çdo madhësie dhe garanton porosinë e mesazhit: edhe nëse mesazhi i mëparshëm nuk është pranuar plotësisht, dhe madje edhe nëse janë marrë bajtët e mëvonshëm, TCP nuk do t'i dorëzojë ato në shtresën e aplikacionit për përpunim dhe automatikisht do të bjerë paketat e kopjuara.
Pasi të kenë krijuar një lidhje A dhe hosti B, aplikacioni duhet të përdorë linjën virtuale të komunikimit për të dërguar dhe marrë të dhëna, duke siguruar kështu transmetimin e të dhënave. Protokolli TCP është përgjegjës për kontrollin e detyrave të tilla si krijimi i lidhjes, shkëputja dhe mbajtja. Duhet të theksohet se këtu ne themi se linja virtuale do të thotë vetëm për të vendosur një lidhje, lidhja e protokollit TCP tregon vetëm që të dy palët mund të fillojnë transmetimin e të dhënave, dhe të sigurojnë besueshmërinë e të dhënave. Nyjet e kursit dhe të transportit trajtohen nga pajisjet e rrjetit; Protokolli TCP në vetvete nuk ka të bëjë me këto detaje.

Një lidhje TCP është një shërbim i plotë-dupleks, që do të thotë se hosti A dhe hosti B mund të transmetojnë të dhëna në të dy drejtimet në një lidhje TCP. Kjo do të thotë, të dhënat mund të transferohen midis hostit A dhe hostit B në një rrjedhë dypalëshe.

TCP ruan përkohësisht të dhënat në tamponin e dërgimit të lidhjes. Ky buffer dërgues është një nga kasetat e vendosura gjatë shtrëngimit të dorës me tre drejtime. Më pas, TCP do t'i dërgojë të dhënat në cache -in e dërgimit në cache marrjen e hostit të destinacionit në kohën e duhur. Në praktikë, çdo bashkëmoshatar do të ketë një cache dërgimi dhe një cache marrje, siç tregohet këtu:

TCP-UDP

Send Buffer është një zonë e kujtesës e mbajtur nga zbatimi i TCP në anën e dërguesit që përdoret për të ruajtur përkohësisht të dhënat për t'u dërguar. Kur kryhet shtrëngimi i dorës me tre drejtime për të vendosur një lidhje, cache dërgimi është vendosur dhe përdoret për të ruajtur të dhënat. Buferi i dërgimit është rregulluar në mënyrë dinamike sipas bllokimeve të rrjetit dhe reagimeve nga marrësi.

Një tampon pranimi është një zonë e kujtesës e mbajtur nga zbatimi i TCP në anën pritëse që përdoret për të ruajtur përkohësisht të dhënat e marra. TCP ruan të dhënat e marra në cache marrje dhe pret që aplikacioni i sipërm ta lexojë atë.

Vini re se madhësia e cache -it të dërgimit dhe marrja e cache është e kufizuar, kur cache është e plotë, TCP mund të miratojë disa strategji, të tilla si kontrolli i bllokimit, kontrolli i rrjedhës, etj., Për të siguruar transmetimin e besueshëm të të dhënave dhe stabilitetin e rrjetit.

Në rrjetet kompjuterike, transmetimi i të dhënave midis hosteve kryhet me anë të segmenteve. Pra, çfarë është një segment i paketave?

TCP krijon një segment TCP, ose segment të paketave, duke e ndarë rrjedhën hyrëse në copëza dhe duke shtuar header TCP në secilën copë. Do segment mund të transmetohet vetëm për një kohë të kufizuar dhe nuk mund të tejkalojë madhësinë maksimale të segmentit (MSS). Në rrugën e tij poshtë, një segment pako kalon nëpër shtresën e lidhjes. Shtresa e lidhjes ka një njësi maksimale të transmetimit (MTU), e cila është madhësia maksimale e paketave që mund të kalojë nëpër shtresën e lidhjes së të dhënave. Njësia maksimale e transmetimit zakonisht lidhet me ndërfaqen e komunikimit.

Pra, cili është ndryshimi midis MSS dhe MTU?

Në rrjetet kompjuterike, arkitektura hierarkike është shumë e rëndësishme sepse merr parasysh ndryshimet midis niveleve të ndryshme. Secila shtresë ka një emër të ndryshëm; Në shtresën e transportit, të dhënat quhen një segment, dhe në shtresën e rrjetit, të dhënat quhen një paketë IP. Prandaj, njësia maksimale e transmetimit (MTU) mund të mendohet si madhësia maksimale e paketës IP që mund të transmetohet nga shtresa e rrjetit, ndërsa madhësia maksimale e segmentit (MSS) është një koncept i shtresës së transportit që i referohet sasisë maksimale të të dhënave që mund të transmetohen nga një paketë TCP në një kohë.

Vini re se kur madhësia maksimale e segmentit (MSS) është më e madhe se njësia maksimale e transmetimit (MTU), fragmentimi i IP do të kryhet në shtresën e rrjetit, dhe TCP nuk do t'i ndajë të dhënat më të mëdha në segmente të përshtatshme për madhësinë e MTU. Do të ketë një seksion në shtresën e rrjetit kushtuar shtresës IP.

Struktura e segmentit të paketave TCP
Le të shqyrtojmë formatin dhe përmbajtjen e headers TCP.

Segment TCP

Numër sekuence: Një numër i rastësishëm i gjeneruar nga kompjuteri kur lidhja vendoset si vlera fillestare e saj kur vendoset lidhja TCP, dhe numri i sekuencës i dërgohet marrësit përmes paketës SYN. Gjatë transmetimit të të dhënave, dërguesi rrit numrin e sekuencës sipas sasisë së të dhënave të dërguara. Marrësi gjykon urdhrin e të dhënave sipas numrit të sekuencës së marrë. Nëse të dhënat janë zbuluar jashtë rendit, marrësi do të riorganizojë të dhënat për të siguruar rendin e të dhënave.

Numri i Mirënjohjes: Ky është një numër sekuence i përdorur në TCP për të pranuar marrjen e të dhënave. Ai tregon numrin e sekuencës së të dhënave të ardhshme që dërguesi pret të marrë. Në një lidhje TCP, marrësi përcakton se cilat të dhëna janë marrë me sukses bazuar në numrin e sekuencës së segmentit të paketave të të dhënave të marra. Kur marrësi merr me sukses të dhënat, ai dërgon një paketë ACK tek dërguesi, i cili përmban numrin e mirënjohjes së mirënjohjes. Pas marrjes së paketës ACK, dërguesi mund të konfirmojë që të dhënat para se të pranojnë numrin e përgjigjes janë marrë me sukses.

Pjesët e kontrollit të një segmenti TCP përfshijnë sa vijon:

Bit ack: Kur kjo bit është 1, do të thotë që fusha e përgjigjes së mirënjohjes është e vlefshme. TCP specifikon që kjo bit duhet të vendoset në 1, përveç paketave SYN kur fillimisht është vendosur lidhja.
Bit i parë: Kur kjo bit është 1, tregon se ekziston një përjashtim në lidhjen TCP dhe lidhja duhet të detyrohet të shkëputet.
Bit: Kur kjo bit është vendosur në 1, do të thotë që lidhja do të vendoset dhe vlera fillestare e numrit të sekuencës është vendosur në fushën e numrit të sekuencës.
Bit: Kur kjo bit është 1, do të thotë që nuk do të dërgohen më të dhëna në të ardhmen dhe dëshirohet lidhja.
Funksionet dhe karakteristikat e ndryshme të TCP janë mishëruar nga struktura e segmenteve të paketave TCP.

Cfare eshte udp? (MyLinking'sRrjeti i trokitur në rrjetdheBroker i paketave të rrjetitmund të përpunojë të dyja paketat TCP ose UDP)
Protokolli i Datagramit të Përdoruesve (UDP) është një protokoll komunikimi pa lidhje. Në krahasim me TCP, UDP nuk ofron mekanizma komplekse kontrolli. Protokolli UDP lejon që aplikacionet të dërgojnë drejtpërdrejt pako IP të kapsuluara pa vendosur një lidhje. Kur zhvilluesi zgjedh të përdorë UDP në vend të TCP, aplikacioni komunikon drejtpërdrejt me IP.

Emri i plotë i protokollit UDP është protokolli i të dhënave të përdoruesve, dhe koka e tij është vetëm tetë bytes (64 bit), i cili është shumë konciz. Formati i kokës UDP është si më poshtë:

Segment UDP

Destinacioni dhe Portet e Burimit: Qëllimi i tyre kryesor është të tregojnë se në cilin proces UDP duhet të dërgojë pako.
Madhësia e paketës: Fusha e madhësisë së paketës mban madhësinë e kokës UDP plus madhësinë e të dhënave
Kontroll: Projektuar për të siguruar shpërndarjen e besueshme të headers UDP dhe të dhënat Roli i kontrollit është të zbulojë nëse një gabim ose korrupsion ka ndodhur gjatë transmetimit të një pakete UDP për të siguruar integritetin e të dhënave.

Dallimet midis TCP dhe UDP në MyLinking'sRrjeti i trokitur në rrjetdheBroker i paketave të rrjetitmund të përpunojnë të dyja paketat TCP ose UDP
TCP dhe UDP janë të ndryshme në aspektet e mëposhtme:

TCP vs UDP

Lidhje: TCP është një protokoll transporti i orientuar nga lidhja që kërkon që të vendoset një lidhje para se të transferohen të dhënat. UDP, nga ana tjetër, nuk kërkon lidhje dhe mund të transferojë të dhëna menjëherë.

Objekt shërbimi: TCP është një shërbim një-me-një me dy pika, domethënë, një lidhje ka vetëm dy pika të fundit për të komunikuar me njëri-tjetrin. Sidoqoftë, UDP mbështet një komunikim interaktiv një-në-një, një-në-shumë, dhe shumë-për-shumë, i cili mund të komunikojë me hoste të shumta në të njëjtën kohë.

Besueshmëri: TCP siguron shërbimin e dorëzimit të të dhënave në mënyrë të besueshme, duke siguruar që të dhënat të jenë pa gabime, pa humbje, jo-dublikuar dhe arrin sipas kërkesës. UDP, nga ana tjetër, bën përpjekjen e saj më të mirë dhe nuk garanton shpërndarje të besueshme. UDP mund të vuajë nga humbja e të dhënave dhe situatat e tjera gjatë transmetimit.

Kontrolli i bllokimit, kontrolli i rrjedhës: TCP ka mekanizma të kontrollit të bllokimit dhe kontrollit të rrjedhës, të cilat mund të rregullojnë shkallën e transmetimit të të dhënave sipas kushteve të rrjetit për të siguruar sigurinë dhe qëndrueshmërinë e transmetimit të të dhënave. UDP nuk ka mekanizma të kontrollit të bllokimit dhe kontrollit të rrjedhës, edhe nëse rrjeti është shumë i ngjeshur, ai nuk do të bëjë rregullime në normën e dërgimit UDP.

Kokë kokëfortë: TCP ka një gjatësi të gjatë të kokës, zakonisht 20 byte, e cila rritet kur përdoren fushat e opsioneve. UDP, nga ana tjetër, ka një kokë fikse prej vetëm 8 bytes, kështu që UDP ka një kokë më të ulët lart.

TCP vs UDP

Skenarët e aplikimit TCP dhe UDP:
TCP dhe UDP janë dy protokolle të ndryshme të shtresave të transportit, dhe ato kanë disa ndryshime në skenarët e aplikimit.

Meqenëse TCP është një protokoll i orientuar nga lidhja, ai përdoret kryesisht në skenarët ku kërkohet shpërndarje e besueshme e të dhënave. Disa raste të përdorimit të zakonshëm përfshijnë:

Transferimi i skedarit FTP: TCP mund të sigurojë që skedarët të mos humbasin dhe të korruptohen gjatë transferimit.
Http/https: TCP siguron integritetin dhe korrektësinë e përmbajtjes në internet.
Për shkak se UDP është një protokoll pa lidhje, ai nuk ofron garanci të besueshmërisë, por ka karakteristikat e efikasitetit dhe në kohë reale. UDP është e përshtatshme për skenarët e mëposhtëm:

Trafiku me pako të ulët, siç është DNS (sistemi i emrit të domain): Pyetjet e DNS janë zakonisht pako të shkurtra, dhe UDP mund t'i plotësojë ato më shpejt.
Komunikimi multimedia si video dhe audio: Për transmetimin multimedia me kërkesa të larta në kohë reale, UDP mund të sigurojë vonesë më të ulët për të siguruar që të dhënat mund të transmetohen në kohën e duhur.
Komunikim në transmetim: UDP mbështet komunikim një-me-shumë dhe shumë-për-shumë dhe mund të përdoret për transmetimin e mesazheve të transmetimit.

Përmbledhje
Sot mësuam për TCP. TCP është një protokoll i komunikimit të transportit të bazuar në lidhje, të besueshëm, të besueshëm, me bazë byte-stream. Ai siguron transmetimin e besueshëm dhe pritjen e rregullt të të dhënave duke vendosur lidhje, shtrëngim duarsh dhe njohje. Protokolli TCP përdor porte për të realizuar komunikimin midis proceseve, dhe ofron shërbime të drejtpërdrejta të komunikimit për proceset e aplikimit që funksionojnë në hoste të ndryshëm. Lidhjet TCP janë të plota, duke lejuar transferime të njëkohshme të të dhënave dypalëshe. Në të kundërt, UDP është një protokoll komunikimi i orientuar pa lidhje, i cili nuk ofron garanci të besueshmërisë dhe është i përshtatshëm për disa skenarë me kërkesa të larta në kohë reale. TCP dhe UDP janë të ndryshme në modalitetin e lidhjes, objektin e shërbimit, besueshmërinë, kontrollin e bllokimeve, kontrollin e rrjedhës dhe aspektet e tjera, dhe skenarët e tyre të aplikimit janë gjithashtu të ndryshme.


Koha e postimit: Dhjetor-03-2024