Kva er TCP og UDP? Ei Enkel Forklaring

Internettet er avhengig av to protokollar for utveksling av informasjon mellom datamaskiner. Desse kommunikasjonsprotokollane definerer reglane som bestemmer korleis dataoverføring skjer mellom dei to involverte partane, anten det er ein-til-ein eller ein-til-mange. Transmission Control Protocol (TCP) og User Datagram Protocol (UDP) er to protokollar du kan bruke til å flytte data over nettverk. Dei begge fungerer på transportlaget i OSI-modellen. 

Like, men ulike, gjer desse to protokollane jobben sin effektivt. Medan den eine er tilkoplingsorientert og krev at ein tilkopling blir etablert før dataoverføring kan starte, er den andre tilkoplingslaus og sender data utan å informere målenheta først. Det er meir til kva desse protokollane gjer, som du vil finne ut nedanfor. Denne artikkelen fokuserer på TCP og UDP — korleis dei fungerer, deira fordelar, ulemper, og forskjellar. 

Kva er TCP?

Transmission Control Protocol er eit kommunikasjonsprotokoll som hovudsakleg handterer overføringa av datapakkar på internett. Det opererer på transportlaget (lag 4) i Open Systems Interconnection (OSI)-modellen. Dette protokollen hjelper til med å overføre datapakkar mellom ein klientenhet/-applikasjon og ein tenar (saman med UDP). 

TCP er tilkoplingsorientert, noko som tyder på at klienten og tenaren må opprette ein tilkopling før dei sender data i nokon retning. I tillegg er det eit påliteleg protokoll sidan det sjekkar for feil og sikrar at datapakkar kjem fram til bestemmingsstaden i den rekkefølga som sendeinnretninga eller applikasjonen hadde tenkt. 

Korleis fungerer TCP?

Når ein brukar TCP, etablerer ein klient og ein tenar ein tilkopling ved hjelp av det som er kjent som den trevegs handtrykkinga før den tovegs overføringa av datapakkar byrjar. Før den trevegs handtrykkinga byrjar, må tenaren lytte på ein port for å akseptere tilkoplinga. Handtrykkinga byrjar med utvekslinga av tre meldingar (eller flagg) kjent som SYN, SYN/ACK, og ACK mellom klienten og tenaren. 

La oss sjå på ein steg-for-steg-prosess av utvekslinga nedanfor. 

1. Klienten sender ein SYN-datapakke til tenaren. SYN-pakken inneheld eit tilfeldig sekvensnummer (X) som klienten tildeler. Føremålet med denne pakken er å sjå om tenaren er tilgjengeleg for ein ny tilkopling. 

2. Tenaren mottar SYN-pakken og stadfestar den ved å sende ein SYN/ACK-pakke. Tenaren set stadfestingstalet til ein pluss sekvensnummeret (1+X) klienten tildelte den opphavlege SYN-pakken og set eit anna tilfeldig sekvensnummer (Y). Så tenaren sender to sekvensnummer saman med SYN/ACK-pakken sin til klienten.

3. Klienten mottar SYN/ACK-pakken frå tenaren og stadfestar den ved å sende ein ACK-pakke. Klienten set stadfestingstalet til ein pluss sekvensnummeret (1+Y) den mottok frå tenaren. 

Når den trefasede handtrykkingsprosessen er fullført, kan klienten og tenaren sende og motta data frå kvarandre. 

Fordelar og ulemper med TCP

Som dei fleste protokollar, er ikkje TCP feilfri; det har sine fordelar og ulemper. La oss sjå på fordeler og ulemper ved å bruke TCP nedanfor. 

Fordelar

1. Påliteleg

TCP er påliteleg fordi det sikrar at datapakkar kjem fram til bestemmingsstaden i rett rekkefølgje. Når TCP sender eit datasegment, startar det ein tidtakar og ventar på ei stadfesting frå bestemmingsstaden. Det vil sende segmentet på nytt dersom det ikkje mottar nokon stadfesting. I tillegg brukar det sekvensering for å vite når datapakkar kjem fram i feil rekkefølgje.

2. Feilsøking og gjenoppretting

TCP brukar ein ende-til-ende-kontrollsum for å sjekke etter eventuelle endringar i pakkane når dei kjem fram til bestemmingsstaden. Det forkastar pakkar med feil og ventar på at avsendar skal sende dei på nytt. I tillegg forkastar det også duplikat av data. 

3. Kontroll av nettverkstetthet

TCP brukar buffring og vindaugehandsaming for å handtere trengsel. Trengsel kan skje når den mottakande enden av TCP-tilkoplinga får fleire datapakkar enn den kan handtere om gongen. TCP brukar buffrar for å handtere trengsel, men når buffrane blir fulle, brukar det vindaugehandsaming for å redusere mengda data avsendar kan sende om gongen. 

Ulemper

1. Sein Fart

Sammenlikna med UDP, er TCP treig. For det første tek den nødvendige trevegshelsinga tid. Deretter er det reduksjonen i fart som flytkontroll, trengselkontroll og feilsjekking forårsakar under dataoverføring. I slike tilfelle ofrar TCP fart for pålitelegheit. 

2. Sårbar for DoS-åtak

TCP sin trevegs handtrykking gjer det sårbar for DoS eller DDoS-åtak. Eit SYN-flaum er eit slikt åtak der ein ondsinna entitet gjer ein tenar utilgjengeleg ved å oversvømme han med SYN-pakkar. Målet med dette åtaket er å gjere tenaren overvelda, slik at han ikkje kan svare på ekte førespurnader. 

Kva er UDP?

User Datagram Protocol (UDP) er eit kommunikasjonsprotokoll som TCP som opererer på transportlaget i OSI-modellen. I motsetnad til TCP, er det eit tilkoplingslaust protokoll, noko som tyder på at ein klient ikkje treng å opprette ein tilkopling med tenaren før den sender datapakkar. Som resultat, er det ingen trevegs handtrykk, flytkontroll, og sekvensering. 

UDP bryr seg ikkje om datagramma som blir sende kjem fram til bestemmingsstaden sin eller om dei kjem i den rekkefølga som klienten sendte dei. Dette gjer det mindre påliteleg enn TCP, men raskare sidan det ikkje treng å vente på kvitteringar eller sende data på nytt. Likevel, UDP bryr seg om dataintegritet, og det brukar ein sjekksum for å stadfeste at ein tredjepart ikkje har manipulert med datagramma.

Korleis fungerer UDP?

Med UDP er flyttinga av datagram frå deira opphav til destinasjon ein enkel prosess. Etter å ha lagt til sin eigen header til IP-pakkane den mottar frå nettverkslaget, sender den datagram direkte til destinasjonsserveren utan å trenge å etablere nokon tilkobling først. Det er den enkle naturen til denne prosessen som gjer UDP til ein tilkoblingslaus protokoll. 

I tillegg er UDP ideelt for tidskritisk kommunikasjon der tap av data under overføring er akseptabelt. For eksempel bruker tale- og videokommunikasjon UDP. 

Fordelar og ulemper med UDP

Mangelen på flytkontroll og dataretransmisjon i UDP er både ein fordel og ein ulempe. Nedanfor ser vi på fordelane og ulempene med å bruke UDP. 

Fordelar

1. Rask Dataoverføring

Sidan UDP ikkje treng å stadfeste datagram før målmaskina kan motta meir og ikkje sender data på nytt, er det raskare enn TCP. I tillegg fører fråveret av ein trevegs handtrykking til mindre overhead og raskare dataoverføringar. 

2. Feilsøking

Som TCP brukar UDP ein ende-til-ende-kontrollsum for å oppdage om datagram har nokre feil. Ved å gjere dette, held den dataintegriteten og forkastar datagram med feil. Sidan det ikkje er nokon retransmisjonsmekanisme, gjenopprettar eller sender UDP ikkje på nytt datagram den forkastar. 

Ulemper

1. Utruverdig

Eigenskapar som gjer ei tilkopling påliteleg manglar ved UDP-tilkoplingar. I motsetnad til TCP, garanterer ikkje UDP at datagram som blir sendt, vil nå fram til bestemmingsstaden sin. Som eit resultat, har ikkje datagram ein tidsavgrensar eller treng å bli stadfesta av mottakarenheten. I tillegg er det ingen forsikring om at datagram vil ankomme bestemmingsstaden i riktig rekkefølge. 

2. Ingen kontroll av nettverkstrafikk

UDP har ingen mekanisme for å kontrollere trengsel. Sidan det ikkje erkjenner datagram eller brukar vindauge for å kontrollere dataoverføring, er det ingen måte å førebyggje trengsel på. Som eit resultat kan store datamengder føre til trengsel. 

Skilnader Mellom TCP og UDP

Nedanfor skal vi sjå på skilnadene mellom tilkoplingsorientert TCP og tilkoplingslaus UDP.

1. Pålitelegheit

TCP er eit meir påliteleg protokoll samanlikna med UDP. TCP vil stadfeste at eit datasegment når fram til målet før det sender eit anna. Vidare vil det sikre at segmenta kjem fram i same rekkefølge som dei vart sende og sende på nytt data som ikkje når fram til målet. I tillegg brukar TCP flytkontroll for å sikre at klienten ikkje sender pakkar raskare enn det serveren kan handsame dei. I motsetning gjer ikkje UDP noko av det ovanståande og bryr seg meir om å overføre data så raskt som mogleg.  

2. Fart

Funksjonane til TCP som gjer det påliteleg gjer det treigare enn TCP. Den tre-vegs handtrykkinga, flytkontroll, trengselkontroll, og retransmisjonsmekanismen er ikkje ein del av UDP. Som resultat, med mindre overhead, er UDP raskare enn TCP. 

3. Bruk

TCP sin tilkoplingsorienterte dataoverføring gjer den passande for applikasjonar som krev pålitelegheit og ikkje kan akseptere tap av data. For eksempel, den støttar protokollar som HTTP, SSH, FTP, SMTP, og IMAP. På den andre sida gjer UDP sin fart den passande for tidskritiske applikasjonar eller protokollar som kan akseptere datatap, som direktesendt video eller lydprat, Voice over IP, DNS-forespurnader, og nettspel. 

Konklusjon

TCP og UDP er grunnlaget for kommunikasjon på internett. Uten desse to protokollane vil det vere utfordrande for einingar kopla til internett å kommunisere med kvarandre. TCP er protokollen du går til om du treng pålitelegheit og nøyaktigheit. På den andre sida er UDP protokollen du treng om du er mindre bekymra for å miste datapakkar og meir oppteken av at dei når fram til målet sitt fort.