TCP og UDP er to viktige protokoller for Transport-laget som driver internett. Begge deler er en del av TCP / IP-protokollpakken. I denne guiden vil vi utforske forskjellene mellom disse to protokollene.
Før vi begynner å grave i forskjellen mellom TCP og UDP, la oss ta en rask gjennomgang av OSI- og TCP / IP-nettverksmodeller.
OSI og TCP / IP Oversikt
OSI og TCP / IP-nettverksarkitektur er to fremtredende nettverksreferansemodeller. OSI-modellen ble utviklet som et forsøk fra den internasjonale standardorganisasjonen (ISO). Det ble akseptert som en referansemodell i 1984. OSI-modellen definerer i utgangspunktet en syv-lags kommunikasjonsbane for system til system. Disse lagene fungerer på en måte å tilby tjenester til laget over dem. Funksjonene til disse lagene er oppsummert nedenfor:
Fysisk lag - Hovedfunksjonen er å håndtere overføring av databiter på et fysisk medium som kabler, nettverkskort, nav osv.
Data-Link Layer DLL koder databitene i pakker før de overføres. Dataene blir dekodet tilbake til biter på mottakeren. Andre funksjoner inkluderer logisk koblingskontroll, feilregistrering, pålitelig dataoverføring osv.
Nettverkslag - Det er ansvarlig for ruting av datapakker på to forskjellige nettverk ved hjelp av IP (Internet Protocol). Datalinklaget lagrer kun data i det lokale nettverket.
Transportlag - Transportlaget gir pålitelig og gjennomsiktig overføring av data mellom ende-til-ende-enheter. Foruten segmentering av data, bestemmer transportlaget hvilken type tjeneste som skal leveres til lagene over og under den.
Øktelag - Det er opptatt av forbindelsesadministrasjonsaspekter som å opprette og avslutte en forbindelse, øktvarighet, synkronisering av data mellom sluttapparater ved hjelp av sjekkpunkter.
Presentasjonslag - Den formaterer dataene på en måte som de kan brukes ved å motta slutten. Andre funksjoner som fungerer her er datakomprimering og kryptering osv.
Applikasjonslag - Den inneholder ulike kommunikasjonstjenester som filoverføring, SMTP, SSH, FTP og e-post. Det fungerer som et grensesnitt mellom brukerapplikasjoner som nettlesere, ekstern pålogging osv.
TCP / IP er en kombinasjon av to protokoller: Transmission Control Protocol og Internet Protocol. Det er ryggraden i dagens internett. Formålet med TCP er å gi pålitelig overføring av datapakker ved å tilveiebringe en feilkontrollmekanisme og kontrollere om levering av datapakker i rekkefølge. TCP bruker IP for å dele store datastrømmer i mindre pakker og ruting av disse pakkene. Det er små forskjeller mellom lagene i OSI-modellen og TCP / IP-modellen. For e.g., presentasjons- og øktlagene kombineres i applikasjonslaget i TCP / IP. Internett-laget tilsvarer nettverkslaget i OSI-modellen. IP-protokollen er hoveddelen av dette laget. TCP / IP kombinerer også OSI-datalink og fysiske lag i ett lag som kalles Network Access Layer
TCP vs. UDP-referanser
Når vi har fått en rask gjennomgang av OSI- og TCP / IP-modellen, vil vi nå se forskjellen mellom de to transportlagsprotokollene. Vi har oppsummert hovedforskjellen nedenfor:
- TCP (Transmission Control Protocol) og UDP (User Datagram Protocol) er begge transportlagsprotokoller. TCP er en tilkoblingsorientert og end-to-end kommunikasjonsprotokoll. Mens UDP er en enkel tilkoblingsfri protokoll. For de fleste applikasjoner som bruker TCP / IP-protokollarkitekturen, brukes TCP-protokollen i Transport-laget.
- TCP bruker en pålitelig forbindelse for overføring av data mellom systemer. I tilfelle UDP er ingen pålitelighet for dataoverføring garantert, men det er mer effektivt enn TCP. Både TCP og UDP gir full dupleksoverføring.
- Bestilt datalevering er ikke tilgjengelig i UDP-protokollen. I motsetning til UDP, gir TCP funksjoner for strømningskontroll og overbelastning. TCP sikrer ingen duplisering av pakker ved å bevare sekvensen av datapakker under overføring.
- Siden UDP er en tilkoblingsfri protokoll, den har lavere overhead i forhold til TCP. Dette gjør UDP raskere enn TCP. Årsaken er forklart her: I tilfelle UDP begynner det å sende pakker direkte til destinasjonen uten å opprette en forbindelse på forhånd. På den annen side bruker TCP en håndtrykkprotokoll for å opprette en forbindelse og starter da faktisk dataoverføring.
- TCP brukes til lange økter, mens UDP er bedre egnet for små økter.
Bortsett fra disse forskjellene, er det noen vanlige begrensninger for disse to protokollene, for eksempel:
- Multistreaming er ikke mulig med TCP og UDP. SCTP eller Stream Control Transmission Protocol overvinner dette problemet ved parallelloverføring av flere datastrømmer.
- Multihoming (ved hjelp av flere internettleverandører) er heller ikke mulig med TCP og UDP.
Hvilken som skal brukes: TCP eller UDP
Dette er et åpenbart spørsmål som kan oppstå i våre sinn. Valget for å bruke det ene over det andre avhenger av kravet til et bestemt formål. Et program som trenger rask og kontinuerlig dataoverføring uten å ta vare på påliteligheten, så vil valget UDP. Ellers, hvis du trenger en pålitelig dataoverføring og er bekymret for ikke å miste den under overføring, så gå til TCP.
UDP fungerer som et godt eksempel når det brukes til tidssensitive applikasjoner som spill, DNS-oppslag, VoIP osv. Hvis du TCP her, vil forsinkelsen forårsaket under overføring påvirke ytelsen til disse tjenestene betydelig. TCP kan brukes til filoverføringsapplikasjoner, chatapplikasjoner, SMTP, etc. I tilfelle av OpenVPN kan begge brukes.