Kāda ir atšķirība starp TCP un UDP?
Jūs, iespējams, redzējāt atsauces uz TCP un UDP, kad tiek iestatīta portu pārsūtīšana maršrutētājam vai konfigurējot ugunsmūra programmatūru. Šie divi protokoli tiek izmantoti dažāda veida datiem.
TCP / IP ir protokolu komplekts, ko ierīces izmanto, lai sazinātos internetā un vairumā vietējo tīklu. Tas ir nosaukts pēc diviem tā sākotnējiem protokoliem - TCP (Transmission Control Protocol) un interneta protokola (IP). TCP nodrošina lietotnēm iespēju piegādāt (un saņemt) pasūtītu un kļūdaini pārbaudītu informācijas pakešu plūsmu tīklā. Lietotāju datagrammu protokols (UDP), ko lietojumprogrammas izmanto, lai nodrošinātu ātrāku informācijas plūsmu, atceļot kļūdu pārbaudi. Konfigurējot kādu tīkla aparatūru vai programmatūru, iespējams, būs jāzina atšķirība.
Kas viņiem ir kopīgi
Gan TCP, gan UDP ir protokoli, ko izmanto, lai nosūtītu datu paketes, kas pazīstamas kā paketes internetā. Abi protokoli balstās uz IP protokolu. Citiem vārdiem sakot, vai sūtāt pakešu, izmantojot TCP vai UDP, šī pakete tiek nosūtīta uz IP adresi. Šīs paketes tiek apstrādātas līdzīgi, jo tās tiek pārsūtītas no datora uz starpnieku maršrutētājiem un uz galamērķi.
TCP un UDP nav vienīgie protokoli, kas darbojas virs IP. Tomēr tie ir visplašāk izmantotie.
Kā darbojas TCP
TCP ir visbiežāk izmantotais protokols internetā.
Kad jūsu pārlūkprogrammā pieprasāt tīmekļa lapu, jūsu dators nosūta TCP paketes uz tīmekļa servera adresi, lūdzot to nosūtīt atpakaļ jūsu mājas lapu. Tīmekļa serveris reaģē, nosūtot TCP pakešu plūsmu, ko jūsu tīmekļa pārlūkprogramma savieno kopā, lai izveidotu tīmekļa lapu. Noklikšķinot uz saites, pierakstieties, publicējiet komentāru vai darāt kaut ko citu, jūsu tīmekļa pārlūkprogramma nosūta serverim TCP paketes un serveris nosūta TCP paketes atpakaļ.
TCP ir visu par uzticamības paketēm, kas nosūtītas ar TCP, tiek izsekotas, lai tranzītā netiek zaudēti vai bojāti dati. Tāpēc failu lejupielādes netiek bojātas pat tad, ja ir tīkla žagas. Protams, ja saņēmējs ir pilnīgi bezsaistē, jūsu dators atdos un jūs redzēsiet kļūdas ziņojumu, kurā teikts, ka tā nevar sazināties ar attālo saimnieku.
TCP to sasniedz divējādi. Pirmkārt, tas pasūta pakešu numurēšanu. Otrkārt, tā kļūdas pārbaude, saņēmējam nosūtot atbildi atpakaļ sūtītājam, norādot, ka tā ir saņēmusi ziņojumu. Ja sūtītājs nesaņem pareizu atbildi, tas var atkārtoti nosūtīt paketes, lai nodrošinātu, ka saņēmējs tos saņem pareizi.
Process Explorer un citas sistēmas utilītas var parādīt savienojumu veidu, ko process veic šeit, mēs varam redzēt Chrome pārlūkprogrammu ar atvērtiem TCP savienojumiem ar dažādiem tīmekļa serveriem.
Kā darbojas UDP
UDP protokols darbojas līdzīgi kā TCP, bet tas izspiež visas kļūdas pārbaudes lietas. Visu iepriekšējo komunikāciju ieviešana rada latentumu, palēninot lietas.
Ja lietojumprogramma izmanto UDP, paketes tiek nosūtītas adresātam. Sūtītājs nepagaida, lai pārliecinātos, ka saņēmējs ir saņēmis paketi, tas tikai turpina nākamo pakešu sūtīšanu. Ja saņēmējs neizpilda dažas UDP paketes šeit un tur, tās ir tikai zaudētas - sūtītājs tos nepārraida. Zaudējot visas šīs pieskaitāmās izmaksas, ierīces var sazināties ātrāk.
UDP tiek izmantots, ja ātrums ir vēlams un kļūdu labošana nav nepieciešama. Piemēram, UDP bieži izmanto tiešraides un tiešsaistes spēles.
Piemēram, pieņemsim, ka skatāties tiešraides video plūsmu, kas bieži tiek pārraidīta, izmantojot UDP, nevis TCP. Serveris tikai nosūta pastāvīgu UDP pakešu plūsmu datoriem, kas skatās. Ja jūs zaudējat savienojumu dažas sekundes, videoklips uz brīdi var iesaldēt vai nokļūt lēkā, un pēc tam pāriet uz pašreizējo raidījuma bitu. Ja jums rodas neliels pakešu zudums, video vai audio var tikt traucēts uz brīdi, kad videoklips joprojām tiek atskaņots bez trūkstošajiem datiem.
Tas darbojas līdzīgi tiešsaistes spēlēs. Ja izlaižat dažas UDP paketes, spēlētāja rakstzīmes, iespējams, teleportējas pa karti, saņemot jaunākās UDP paketes. Nav nozīmes pieprasīt vecās paketes, ja jūs to neatbildējāt, jo spēle turpinās bez jums. Viss, kas ir svarīgi, ir tas, kas notiek tieši spēļu serverī, nevis tas, kas notika pirms dažām sekundēm. TCP kļūdu labošana palīdz paātrināt spēļu savienojumu un samazināt latentumu.
Tātad, ko?
Tas, vai lietojumprogramma izmanto TCP vai UDP, ir atkarīga no tā izstrādātāja, un izvēle ir atkarīga no programmas vajadzībām. Lielākajai daļai lietotņu ir nepieciešama kļūdu korekcija un TCP stabilitāte, bet dažām programmām ir nepieciešams ātrums un UDP samazinājums. Ja aizdedzat tīkla analīzes rīku, piemēram, Wireshark, varat redzēt dažādus pakešu tipus, kas dodas uz priekšu un atpakaļ.
Ja vien neesat tīkla administrators vai programmatūras izstrādātājs, tam nevajadzētu pārāk daudz ietekmēt. Ja konfigurējat maršrutētāju vai ugunsmūra programmatūru un neesat pārliecināts, vai lietojumprogramma izmanto TCP vai UDP, parasti varat izvēlēties opciju “Abi”, lai maršrutētājs vai ugunsmūris piemērotu to pašu noteikumu gan TCP, gan UDP datplūsmai.