Koja je razlika između TCP-a i UDP-a?
Vjerojatno ste vidjeli reference na TCP i UDP kada postavljate prosljeđivanje portova na usmjerivaču ili prilikom konfiguriranja softvera vatrozida. Ta dva protokola koriste se za različite vrste podataka.
TCP / IP je skup protokola koje uređaji koriste za komunikaciju putem Interneta i većine lokalnih mreža. Nazvan je po dvjema originalnim protokolima - Transmission Control Protocol (TCP) i Internet Protocol (IP). TCP omogućuje aplikacijama način isporuke (i primanja) uređenog i provjeravanog toka paketa informacija preko mreže. Protokol korisničkih datagrama (UDP) koriste aplikacije za isporuku bržeg toka informacija uklanjanjem provjere pogrešaka. Kada konfigurirate neki mrežni hardver ili softver, možda ćete morati znati razliku.
Što imaju zajedničko
I TCP i UDP su protokoli koji se koriste za slanje bitova podataka poznatih kao paketi preko Interneta. Oba protokola grade se na IP protokolu. Drugim riječima, bez obzira šaljete li paket putem TCP-a ili UDP-a, taj se paket šalje na IP adresu. Ovi paketi se tretiraju na sličan način, dok se prosljeđuju s računala na posredničke usmjerivače i na odredište.
TCP i UDP nisu jedini protokoli koji rade na IP-u. Međutim, oni su najčešće korišteni.
Kako radi TCP
TCP je najčešće korišteni protokol na internetu.
Kada u pregledniku zatražite web-stranicu, vaše računalo šalje TCP pakete na adresu web-poslužitelja, tražeći da vam web-stranicu pošalje natrag. Web-poslužitelj odgovara slanjem toka TCP paketa koje vaš web-preglednik povezuje kako bi oblikovao web-stranicu. Kada kliknete vezu, prijavite se, objavite komentar ili nešto drugo, vaš web-preglednik šalje poslužitelju TCP pakete i poslužitelj šalje TCP pakete.
TCP je sve o pouzdanosti-paketi poslani s TCP-om prate se tako da se podaci ne gube ili su oštećeni u tranzitu. To je razlog zašto datoteke preuzimanja ne postati korumpiran čak i ako postoje mrežne štucanje. Naravno, ako je primatelj potpuno odsutan, računalo će odustati i vidjet ćete poruku o pogrešci u kojoj se kaže da ne može komunicirati s udaljenim hostom.
TCP to postiže na dva načina. Prvo, naručuje pakete brojevima. Drugo, provjera pogrešaka time što primatelj šalje odgovor natrag pošiljatelju da je primio poruku. Ako pošiljatelj ne dobije točan odgovor, može ponovno poslati pakete kako bi osigurao da ih primatelj ispravno primi.
Process Explorer i drugi uslužni programi sustava mogu prikazati vrstu veze koju proces čini - ovdje možemo vidjeti preglednik Chrome s otvorenim TCP vezama s različitim web-poslužiteljima.
Kako radi UDP
UDP protokol radi slično kao TCP, ali izbacuje sve stvari koje provjeravaju pogreške. Sva povratna i posljednja komunikacija uvodi latenciju, usporavajući stvari.
Kada aplikacija koristi UDP, paketi se samo šalju primatelju. Pošiljatelj ne čeka da osigura primatelja paketa - on samo nastavlja slati sljedeće pakete. Ako primatelj propusti nekoliko UDP paketa tu i tamo, oni su samo izgubljeni - pošiljatelj ih neće ponovno poslati. Ako izgubite sve ove troškove, uređaji mogu brže komunicirati.
UDP se koristi kada je poželjna brzina i ispravljanje pogrešaka nije potrebno. Na primjer, UDP se često koristi za prijenos uživo i online igre.
Na primjer, recimo da gledate video prijenos uživo, koji se često emitira koristeći UDP umjesto TCP-a. Poslužitelj samo šalje konstantan tok UDP paketa računalima koji gledaju. Ako izgubite vezu na nekoliko sekundi, videozapis se može zamrznuti ili dobiti na trenutak, a zatim preskočiti na trenutni dio emitiranja. Ako dođe do manjeg gubitka paketa, videozapis ili zvuk mogu se na trenutak izobličiti jer se videozapis nastavlja reproducirati bez podataka koji nedostaju.
To djeluje slično u online igrama. Ako propustite neke UDP pakete, igrači se mogu pojaviti kako bi se teleportirali preko karte dok primate novije UDP pakete. Nema smisla tražiti stare pakete ako ste ih propustili, jer se igra nastavlja bez vas. Važno je samo ono što se trenutno događa na poslužitelju igre - a ne ono što se dogodilo prije nekoliko sekundi. Ditching TCP ispravljanje pogrešaka pomaže ubrzati vezu s igrom i smanjiti latenciju.
Pa što?
Da li aplikacija koristi TCP ili UDP ovisi o njegovom razvojnom programeru, a izbor ovisi o tome što aplikacija treba. Većina aplikacija treba ispravljanje pogrešaka i robusnost TCP-a, ali neke aplikacije trebaju brzinu i smanjenu opterećenost UDP-a. Ako ispalite alat za analizu mreže kao što je Wireshark, možete vidjeti različite vrste paketa koji putuju naprijed i natrag.
Ako niste mrežni administrator ili programer, to ne bi smjelo previše utjecati na vas. Ako konfigurirate usmjerivač ili softver vatrozida i niste sigurni koristi li aplikacija TCP ili UDP, općenito možete odabrati opciju "Oba" da bi vaš usmjerivač ili vatrozid primijenili isto pravilo na TCP i UDP promet.