TCP vs UDP: Afhjúpun áreiðanleika vs. skilvirkni umræðunnar

Í dag ætlum við að byrja á að einbeita okkur að TCP. Fyrr í kaflanum um lagskiptingu nefndum við mikilvægt atriði. Í netlaginu og neðar snýst þetta meira um tengingar milli hýsla, sem þýðir að tölvan þín þarf að vita hvar önnur tölva er staðsett til að tengjast henni. Hins vegar eru samskipti í neti oft samskipti milli ferla frekar en milli véla. Þess vegna kynnir TCP samskiptareglur hugtakið tengi. Tengi getur aðeins verið upptekið af einu ferli, sem veitir bein samskipti milli forritaferla sem keyra á mismunandi hýslum.

Verkefni flutningslagsins er að veita beinar samskiptaþjónustur milli forritaferla sem keyra á mismunandi vélum, þess vegna er það einnig þekkt sem enda-til-enda samskiptareglur. Flutningslagið felur kjarnaupplýsingar netsins, sem gerir forritaferlinu kleift að sjá eins og það sé rökrétt enda-til-enda samskiptaleið milli tveggja eininga flutningslagsins.

TCP stendur fyrir Transmission Control Protocol og er þekkt sem tengingarmiðuð samskiptaregla. Þetta þýðir að áður en annað forritið getur byrjað að senda gögn til hins þurfa ferlarnir tveir að framkvæma handaband. Handaband er rökrétt tengt ferli sem tryggir áreiðanlega sendingu og skipulega móttöku gagna. Meðan á handabandinu stendur er tengingu komið á milli uppruna- og áfangastaðarvélarinnar með því að skiptast á röð stjórnpakka og koma sér saman um nokkrar breytur og reglur til að tryggja vel heppnaða gagnasendingu.

Hvað er TCP? (Mylinking'sNettappaogNetpakkamiðlarigæti unnið úr bæði TCP eða UDP pakka)
TCP (Transmission Control Protocol) er tengingarmiðuð, áreiðanleg, bætastraumsbundin samskiptareglur fyrir flutningslag.

TengingarmiðaðTengingarmiðað þýðir að TCP samskipti eru einn-á-einn, það er að segja punkt-til-punkts samskipti frá enda til enda, ólíkt UDP, sem getur sent skilaboð til margra hýsingaraðila samtímis, þannig að ekki er hægt að ná fram einn-á-marga samskipti.
ÁreiðanlegtÁreiðanleiki TCP tryggir að pakkar berist áreiðanlega til móttakanda óháð breytingum á nettengingunni, sem gerir pakkasnið TCP flóknara en UDP.
Byggt á bætistraumaBætastraumsbundið eðli TCP gerir kleift að senda skilaboð af hvaða stærð sem er og tryggir röð skilaboða: jafnvel þótt fyrri skilaboð hafi ekki borist að fullu, og jafnvel þótt síðari bæti hafi borist, mun TCP ekki afhenda þau á forritalagið til vinnslu og mun sjálfkrafa sleppa afrituðum pökkum.
Þegar hýsingaraðili A og hýsingaraðili B hafa komið á tengingu þarf forritið aðeins að nota sýndarsamskiptalínuna til að senda og taka á móti gögnum og tryggja þannig gagnaflutning. TCP-samskiptareglurnar sjá um að stjórna verkefnum eins og tengingarstofnun, aftengingu og geymslu. Það skal tekið fram að hér segjum við að sýndarlínan þýði aðeins að stofna tengingu, en tenging samkvæmt TCP-samskiptareglum gefur aðeins til kynna að báðir aðilar geti hafið gagnaflutning og að tryggja áreiðanleika gagnanna. Leiðar- og flutningshnútar eru meðhöndlaðir af nettækjunum; TCP-samskiptareglurnar sjálfar fjalla ekki um þessar upplýsingar.

TCP-tenging er tvíhliða þjónusta, sem þýðir að hýsingaraðili A og hýsingaraðili B geta sent gögn í báðar áttir í TCP-tengingu. Það er að segja, gögn geta verið flutt á milli hýsingaraðila A og hýsingaraðila B í tvíátta flæði.

TCP geymir tímabundið gögn í sendibiðminniðmi tengingarinnar. Þetta sendibiðminnið er eitt af skyndiminnunum sem sett eru upp við þriggja vega handaband. Í kjölfarið sendir TCP gögnin í sendibiðminniðmi til móttökuskyndiminnis áfangastaðarhýsilsins á viðeigandi tíma. Í reynd mun hver jafningi hafa sendibiðminniðmi og móttökuskyndiminniðmi, eins og sýnt er hér:

TCP-UDP

Sendibiðminnið er minnissvæði sem TCP-útfærslan heldur utan um á sendandamegin og er notað til að geyma tímabundið gögn sem á að senda. Þegar þríhliða handaband er framkvæmt til að koma á tengingu er sendiskyndiminnið sett upp og notað til að geyma gögn. Sendibiðminnið er stillt á kraftmikinn hátt í samræmi við netþröng og endurgjöf frá móttakanda.

Móttökubiðminnið er minnissvæði sem TCP-útfærslan viðheldur á móttökuhliðinni og er notað til að geyma móttekin gögn tímabundið. TCP geymir móttekin gögn í móttökuskyndiminninu og bíður eftir að efri forritið lesi þau.

Athugið að stærð sendi- og móttökuskyndiminnis er takmörkuð. Þegar skyndiminnið er fullt getur TCP notað aðferðir eins og stjórnun á þrengslum, flæðisstýringu o.s.frv., til að tryggja áreiðanlega gagnaflutninga og stöðugleika netsins.

Í tölvunetum er gagnaflutningur milli vélar framkvæmdur með því að nota hluta. Hvað er þá pakkahluti?

TCP býr til TCP-hluta, eða pakkahluta, með því að skipta innkomandi straumi í bita og bæta TCP-hausum við hvern bita. Hvern hluta er aðeins hægt að senda í takmarkaðan tíma og má ekki fara yfir hámarksstærð hluta (MSS). Á leiðinni niður fer pakkahluti í gegnum tengilagið. Tengilagið hefur hámarksflutningseiningu (MTU), sem er hámarksstærð pakkans sem getur farið í gegnum gagnatengingarlagið. Hámarksflutningseiningin er venjulega tengd samskiptaviðmótinu.

Hver er þá munurinn á MSS og MTU?

Í tölvunetum er stigveldisbyggingarlist mjög mikilvæg því hún tekur tillit til mismunar á mismunandi stigum. Hvert lag hefur mismunandi nafn; í flutningslaginu eru gögnin kölluð segment (segment) og í netlaginu eru gögnin kölluð IP-pakki. Þess vegna má líta á hámarksflutningseiningu (e. Maximum Transmission Unit, MTU) sem hámarksstærð IP-pakka sem netlagið getur sent, en hámarksstærð segments (e. Maximum Segment Size, MSS) er hugtak í flutningslagi sem vísar til hámarksmagns gagna sem TCP-pakka getur sent í einu.

Athugið að þegar hámarksstærð gagnahluta (MSS) er stærri en hámarksflutningseining (MTU), þá verður IP-sundrun framkvæmd á netlaginu og TCP mun ekki skipta stærri gögnum í hluta sem henta fyrir stærð MTU. Það verður hluti á netlaginu tileinkaður IP-laginu.

Uppbygging TCP pakkahluta
Við skulum skoða snið og innihald TCP-hausa.

TCP-hluti

Raðnúmer: Handahófskennd tala sem tölvan býr til þegar tenging er komið á sem upphafsgildi hennar þegar TCP-tenging er komið á, og raðnúmerið er sent til móttakanda í gegnum SYN-pakkann. Við gagnaflutning hækkar sendandi raðnúmerið í samræmi við magn sendra gagna. Móttakandi metur röð gagnanna í samræmi við móttekna raðnúmerið. Ef gögnin reynast ekki í réttri röð mun móttakandi endurraða þeim til að tryggja röð gagnanna.

StaðfestingarnúmerÞetta er raðnúmer sem notað er í TCP til að staðfesta móttöku gagna. Það gefur til kynna raðnúmer næstu gagna sem sendandi býst við að fá. Í TCP-tengingu ákvarðar móttakandinn hvaða gögn hafa borist út frá raðnúmeri móttekins gagnapakkahluta. Þegar móttakandinn móttekur gögnin sendir hann staðfestingarpakka til sendanda sem inniheldur staðfestingarnúmerið. Eftir að hafa móttekið staðfestingarpakka getur sendandinn staðfest að gögnin hafi borist áður en svarnúmerið er staðfest.

Stjórnbitar TCP-hluta innihalda eftirfarandi:

ACK-bitiÞegar þessi biti er 1 þýðir það að staðfestingarsvarreiturinn er gilt. TCP tilgreinir að þessi biti verði að vera stilltur á 1 nema fyrir SYN-pakka þegar tengingin er upphaflega stofnuð.
RST-bitiÞegar þessi biti er 1, gefur það til kynna að undantekning sé í TCP-tengingunni og að tengingin verði að vera aftengd með þvingun.
SYN-bitiÞegar þessi biti er stilltur á 1 þýðir það að tengingunni á að koma á og upphafsgildi raðnúmersins er stillt í raðnúmerareitinn.
FIN bitÞegar þessi biti er 1 þýðir það að ekki verða fleiri gögn send í framtíðinni og tengingin er æskileg.
Ýmsar aðgerðir og eiginleikar TCP eru birtir í uppbyggingu TCP pakkahluta.

Hvað er UDP? (Mylinking'sNettappaogNetpakkamiðlarigæti unnið úr bæði TCP eða UDP pakka)
User Datagram Protocol (UDP) er tengingarlaus samskiptaregla. Ólíkt TCP býður UDP ekki upp á flóknar stjórnunaraðferðir. UDP-reglan gerir forritum kleift að senda innbyggð IP-pakka beint án þess að koma á tengingu. Þegar forritarinn velur að nota UDP í stað TCP, þá á forritið í beinum samskiptum við IP-töluna.

Fullt nafn UDP-samskiptareglunnar er User Datagram Protocol og hausinn er aðeins átta bæti (64 bitar), sem er mjög hnitmiðað. Snið UDP-haussins er sem hér segir:

UDP-hluti

Áfangastaða- og upprunahafnirMegintilgangur þeirra er að gefa til kynna til hvaða ferli UDP á að senda pakka.
PakkastærðReiturinn fyrir pakkastærð inniheldur stærð UDP-haussins ásamt stærð gagnanna.
EftirlitssummaHannað til að tryggja áreiðanlega afhendingu UDP-hausa og gagna. Hlutverk eftirlitssummunnar er að greina hvort villa eða spilling hafi átt sér stað við sendingu UDP-pakka til að tryggja heilleika gagnanna.

Munurinn á TCP og UDP í MylinkingNettappaogNetpakkamiðlarigæti unnið úr bæði TCP eða UDP pakka
TCP og UDP eru ólík í eftirfarandi þáttum:

TCP á móti UDP

TengingTCP er tengingarmiðuð flutningssamskiptaregla sem krefst þess að tenging sé komið á áður en hægt er að flytja gögn. UDP, hins vegar, krefst ekki tengingar og getur flutt gögn samstundis.

ÞjónustuhluturTCP er eins-á-einn tveggja punkta þjónusta, það er að segja, tenging hefur aðeins tvo endapunkta til að eiga samskipti sín á milli. Hins vegar styður UDP gagnvirk samskipti eins-á-einn, eins-á-marga og marga-á-marga, sem geta átt samskipti við marga vélar samtímis.

ÁreiðanleikiTCP býður upp á þjónustu við áreiðanlega afhendingu gagna og tryggir að þau séu villulaus, taplaus, ekki tvítekin og berist þegar þess er óskað. UDP, hins vegar, gerir sitt besta og ábyrgist ekki áreiðanlega afhendingu. UDP getur orðið fyrir gagnatapi og öðrum aðstæðum við sendingu.

Þrengslustýring, flæðistýringTCP hefur stýrikerfi fyrir gagnaþrengsli og flæðisstýringu sem geta aðlagað gagnaflutningshraðann í samræmi við netaðstæður til að tryggja öryggi og stöðugleika gagnaflutningsins. UDP hefur ekki stýrikerfi fyrir gagnaþrengsli og flæðisstýringu, jafnvel þótt netið sé mjög þungt mun það ekki aðlaga sendingarhraða UDP.

FyrirhauskostnaðurTCP hefur langa hauslengd, yfirleitt 20 bæti, sem eykst þegar valmöguleikar eru notaðir. UDP, hins vegar, hefur fastan haus upp á aðeins 8 bæti, þannig að UDP hefur minni hausálag.

TCP á móti UDP

TCP og UDP forritasviðsmyndir:
TCP og UDP eru tvær mismunandi flutningslagssamskiptareglur og þær hafa nokkurn mun á notkunarsviðum.

Þar sem TCP er tengingarmiðuð samskiptaregla er hún fyrst og fremst notuð í aðstæðum þar sem áreiðanleg gagnaflutningur er nauðsynlegur. Algeng notkunartilvik eru meðal annars:

FTP skráaflutningurTCP getur tryggt að skrár glatist ekki eða skemmist við flutning.
HTTP/HTTPSTCP tryggir heilleika og réttmæti vefefnis.
Þar sem UDP er tengingarlaus samskiptaregla býður hún ekki upp á áreiðanleikaábyrgð, en hún hefur eiginleika eins og skilvirkni og rauntímavirkni. UDP hentar í eftirfarandi tilfellum:

Lágpakkaumferð, eins og DNS (Domain Name System)DNS-fyrirspurnir eru yfirleitt stuttar pakkar og UDP getur klárað þær hraðar.
Fjölmiðlasamskipti eins og myndband og hljóðFyrir margmiðlunarflutning með miklum rauntímakröfum getur UDP veitt minni seinkun til að tryggja að hægt sé að senda gögn tímanlega.
ÚtvarpssamskiptiUDP styður samskipti milli eins og margra og margra til margra og er hægt að nota til að senda útvarpsskilaboð.

Yfirlit
Í dag lærðum við um TCP. TCP er tengingarmiðuð, áreiðanleg, bætastraumsbundin samskiptareglu fyrir flutningslag. Hún tryggir áreiðanlega sendingu og skipulega móttöku gagna með því að koma á tengingu, handaband og staðfestingu. TCP-samskiptareglur nota tengi til að koma á samskiptum milli ferla og veita bein samskiptaþjónustu fyrir forritaferli sem keyra á mismunandi vélum. TCP-tengingar eru tvíhliða, sem gerir kleift að flytja gögn samtímis í báðar áttir. Aftur á móti er UDP tengingarlaus samskiptareglu sem veitir ekki áreiðanleikaábyrgðir og hentar fyrir sumar aðstæður með miklar rauntímakröfur. TCP og UDP eru ólík hvað varðar tengiham, þjónustuhlut, áreiðanleika, stjórnun á þrengslum, flæðisstjórnun og aðra þætti, og notkunarsvið þeirra eru einnig ólík.


Birtingartími: 3. des. 2024