Cosa sono + Differenza tra TCP e UDP

TCP e UDP sono protocolli di connessione utilizzati per stabilire il modo in cui i dati vengono scambiati su una connessione Internet. Se sai già cosa significa IP (cioè protocollo Internet), allora lo sai già, poiché sia ​​TCP che UDP sono stati sviluppati su di esso.

Tuttavia, sbaglieresti a pensare che siano praticamente la stessa cosa; sebbene sia TCP che UDP “abbiano voce in capitolo” nel modo in cui i dati vengono inviati / ricevuti su Internet, in realtà sono molto diversi e per questo motivo vengono utilizzati per scopi diversi.

Confronto TCP UDP

Per farla breve, diciamo solo che usi inavvertitamente questi due protocolli ogni giorno quando accedi a Internet, il che li rende fondamentali nel modo in cui il tuo dispositivo comunica con il Web aperto (e i dispositivi ad esso collegati) e viceversa.

Poiché sia ​​TCP che UDP sono basati sul protocollo Internet, potresti voler saperne di più sull’IP prima di passare direttamente alle lezioni introduttive di TCP / UDP. Sai, devi imparare a camminare prima di poter correre.

Cos’è un indirizzo IP?

IP, che è l’abbreviazione di Internet Protocol, è la vera spina dorsale su cui è stato costruito Internet come lo conosciamo. La sua importanza può essere facilmente compresa dal fatto che a ogni dispositivo viene assegnato un indirizzo IP univoco per poter accedere a Internet.

L’indirizzo utilizzato era composto solo da numeri e decimali. Per essere più precisi, un indirizzo IPv4 può essere formato da quattro numeri individuali, ciascuno dei quali può avere un valore compreso tra 0 e 254. IPv4 ci ha fornito un intervallo totale di 4,3 miliardi di indirizzi IP univoci.

Inevitabilmente, Internet ha iniziato ad arrivare al punto in cui non è stato possibile generare nuovi indirizzi IP univoci, ed è allora che il sistema IPv6 è arrivato per salvare la giornata. Gli indirizzi IPv6 pubblici utilizzano cifre esadecimali e ciascuna contiene 128 bit, il che significa che invece di base 10 (da 0 a 10) utilizzano la base 16 (da 0 a 10 più da “a” a “f”).

Con l’aiuto del sistema IPv6, l’intervallo totale di indirizzi IPv6 pubblici che potremmo avere è di 340 undecilioni (3,4 * 10 ^ 28). Se è impossibile capirlo, controlla come appaiono gli indirizzi IPv4 e IPv6 di seguito:

Esempio di indirizzo IPv4: 10.238.126.215
Esempio di indirizzo IPv6: fe80: 0db8: 0412: 2001: 3c5e: 0000: 10a9

Sebbene l’obiettivo finale sia che IPv6 sostituisca IPv4, oggigiorno i due protocolli funzionano insieme.

Gli indirizzi IP consentono ai dispositivi abilitati a Internet di localizzarsi, comunicare tra loro e scambiare informazioni. La condivisione di dati, lo streaming di un video o l’invio di e-mail non sarebbero possibili senza un indirizzo IP. Tutto ciò che fai online può essere trascritto in dati.

Per garantire una funzionalità ottimale, l’IP divide questi dati in blocchi più piccoli in modo da poterli gestire meglio. Ci riferiamo a questi blocchi di dati come pacchetti. Tuttavia, questi pacchetti non contengono solo le informazioni che dovrebbero trasportare, ma anche l’indirizzo IP di destinazione del dispositivo che devono raggiungere. Questa destinazione è chiamata intestazione.

Dopo che un pacchetto lascia il tuo dispositivo, si dirige verso un gateway, che esegue la scansione dell’indirizzo IP di destinazione del pacchetto sul suo dominio. Vale la pena ricordare che il gateway può vedere solo un determinato set di indirizzi IP su Internet.

Quindi, se il gateway non riesce a trovare l’indirizzo nel suo dominio, invia semplicemente il pacchetto a un gateway diverso e questa operazione continua finché il pacchetto non raggiunge un gateway in grado di rilevare l’indirizzo IP di destinazione specificato nell’intestazione e invia al dispositivo associato a quell’indirizzo.

Un’altra cosa degna di nota è che il fatto che i tuoi dati siano suddivisi in piccoli pacchetti significa che non devono necessariamente arrivare in ordine, o addirittura utilizzare lo stesso percorso, per quella materia. È un dato di fatto, i pacchetti di solito cercano di trovare il percorso più veloce possibile ogni volta.

Ultimo, ma non meno importante, dovresti sapere che il protocollo Internet non è specifico del formato, rendendolo ideale per qualsiasi forma di dati, sia che si tratti di video, immagini, audio, e-mail, messaggi istantanei o persino giochi.

Cos’è il TCP?

TCP, che sta per Transmission Control Protocol, è uno dei principali protocolli utilizzati dalla suite di protocolli Internet. È venuto prima dell’UDP ed è stato utilizzato per consentire a programmi e dispositivi di scambiare informazioni su una rete.

Potresti notare che a volte è accoppiato con IP e indicato come TCP / IP, ma significa la stessa cosa (cioè TCP e TCP / IP sono la stessa identica cosa).

Come spiegato sopra, i dati vengono suddivisi in piccoli pacchetti e inviati ad altri dispositivi in ​​questa forma frammentata, possibilmente anche su percorsi diversi. TCP è stato inventato per la necessità di riassemblare questi pacchetti nella loro forma originale.

TCP attende che tutti i pacchetti arrivino, li conta, li controlla per errori utilizzando un checksum, riconosce i pacchetti che sono arrivati ​​a destinazione e chiede al computer di origine di inviare nuovamente quelli che non lo hanno fatto la prima volta. Dopo aver ricevuto tutti i pacchetti, TCP li riassembla nei dati originali e li consegna a un’applicazione appropriata (es. Client di posta, visualizzatore di immagini, lettore video).

Questo processo avviene oggigiorno molto velocemente, e garantisce che i dati arrivino sulla macchina del destinatario esattamente come erano sul dispositivo mittente, senza ulteriori alterazioni. Inoltre, implica una comunicazione costante su entrambe le estremità, poiché il processo può effettivamente essere descritto come un continuo avanti e indietro tra i dispositivi partecipanti fino all’arrivo dei dati e alla conferma al 100%.

Inutile dire che questa comunicazione costante tra i dispositivi mette a dura prova il TCP, poiché qualsiasi pacchetto perso o danneggiato può arrestare il processo fino a quando il bit mancante non arriva sano e salvo a destinazione. Tuttavia, TCP non deve fare tutto da solo, quindi UDP è stato inventato poco dopo.

Per dirla in breve, TCP:

Si assicura che nessun pacchetto venga eliminato
Chiede che i pacchetti vengano nuovamente inviati se rileva quelli mancanti
Invia i pacchetti in ordine in modo che possano essere facilmente riassemblati
Il protocollo Internet più diffuso
Più lento di UDP perché deve assicurarsi che ogni pacchetto arrivi
Adatto per siti Web, e-mail, FTP (File Transfer Protocol), condivisione di file P2P

Cos’è l’UDP?

UDP, abbreviazione di User Datagram Protocol, è un’alternativa al TCP, quindi è lecito ritenere che essenzialmente svolgono lo stesso compito. Tuttavia, sono anche molto diversi allo stesso tempo, poiché TCP è piuttosto meticoloso nel controllare i dati dei pacchetti, mentre UDP è un po ‘più incurante.

Immagina due dipendenti che gestiscono le lettere in una stazione di smistamento della posta: TCP è quello che esamina attentamente ogni lettera e trattiene tutte le comunicazioni fino all’arrivo di ogni lettera, mentre UDP controlla solo l’integrità delle lettere e le inoltra alle loro destinazioni, lasciando cadere qualsiasi lettera che non è arrivato e non ha chiesto un nuovo invio.

Quindi è sicuro dire che UDP è più veloce, ma perché dovresti sacrificare la velocità a scapito della perdita di dati lungo il percorso? Bene, fondamentalmente ci sono alcune applicazioni in cui la perdita di pacchetti non è esattamente una tragedia.

Ad esempio, se stai utilizzando un client VoIP e parli con qualcuno, potresti notare la perdita occasionale di frame o un po ‘di balbuzie nell’audio, che è il più delle volte facile da ignorare e quindi non cruciale. Lo stesso vale per i giochi, dove potresti notare il gioco balbetta o l’elastico ogni tanto. Devi solo riprendere a giocare e questa è la fine poiché UDP rilascia solo i pacchetti che si sono persi durante il trasporto.

In altre parole, UDP:

È più veloce del TCP e utilizza meno risorse
Non invia necessariamente i pacchetti in ordine
Elimina tutti i pacchetti mancanti per accelerare la connessione
Il mittente non ha modo di scoprire se i pacchetti sono stati ignorati
Utilizzato principalmente per streaming video, VoIP, giochi e trasmissioni in diretta

TCP e UDP nell’utilizzo della VPN

Oggigiorno, sempre più VPN iniziano ad adottare WireGuard o creano il loro protocollo proprietario da utilizzare, ma molte di loro si affidano a OpenVPN perché dopo tutti questi anni è ancora affidabile, veloce e sicuro.

Tuttavia, quello che potresti non sapere è che OpenVPN funziona sia con TCP che con UDP e il più delle volte ti consente di scegliere tra questi due protocolli. Anche se questa può sembrare una grande decisione da prendere (integrità dei dati rispetto alla velocità), il vero problema risiede altrove.

Durante l’utilizzo di una VPN, potresti non essere in grado di notare un’enorme differenza tra TCP e UDP in termini di velocità. Tuttavia, se la tua connessione deve bypassare un firewall, è allora che le cose cambiano, principalmente perché questi protocolli funzionano su porte diverse e alcuni firewall possono bloccare le porte predefinite per determinati tipi di traffico.

Ecco perché i provider VPN ti consentono di scegliere tra TCP e UDP. Se noti che la tua connessione non funziona su un protocollo, puoi semplicemente passare all’altro e incrociare le dita. Alcuni provider VPN ti offrono impostazioni avanzate in cui puoi anche scegliere una porta personalizzata per la tua connessione per evitare i firewall.

Differenza tra TCP e UDP

TCP

UDP

TCP è il protocollo più utilizzato su Internet
Tutti i dati inviati arrivano al destinatario, nessuna garanzia di perdita di pacchetti
I pacchetti vengono inviati in ordine
Richiede più risorse, il che lo rende anche più lento.

UDP viene utilizzato per giochi, streaming video, VoIP, trasmissioni in diretta
Il mittente non saprà se manca un pacchetto (non ricevuto)
I pacchetti non sono necessariamente inviati in ordine
Meno risorse necessarie, più velocemente.

TCP vs UDP: conclusione

Per concludere, TCP e UDP sono protocolli abbastanza simili, in quanto assicurano che i tuoi dati arrivino a destinazione in modo sicuro e senza essere modificati da qualche parte lungo il percorso.

TCP esegue diversi controlli durante la trasmissione dei dati ed è generalmente più drastico per non perdere pacchetti, il che lo rende ottimo per siti Web, e-mail, messaggi istantanei, immagini e condivisione di file.

UDP controlla solo se la destinazione è corretta e controlla l’integrità dei pacchetti, ma non chiede al mittente di inviare nuovamente i pacchetti persi e li rilascia semplicemente, il che significa che avrai una connessione più veloce, ma potresti lasciar cadere i pacchetti la via. UDP viene utilizzato principalmente per giochi, VoIP, streaming video e trasmissione di contenuti dal vivo, dove la perdita di alcuni pacchetti non dovrebbe influire troppo sul risultato finale.