Un server Traversal Using Relays around NAT (TURN) consente connessioni WebRTC affidabili in reti altamente restrittive.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
WebRTC
Voice over Internet Protocol (VoIP)
Cos'è lo streaming?
Cos'è il live streaming?
HTTP Live Streaming
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Un server TURN (Traversal Using Relays around NAT) è un tipo di server web che consente connessioni WebRTC tra dispositivi informatici quando i firewall o l'utilizzo di indirizzi IP privati interrompono le connessioni di comunicazione in tempo reale, come le chiamate video o audio. Come indica l'acronimo, il servizio TURN aggira la Network Address Translation (NAT) per garantire che la connessione tra i client non si interrompa nel mezzo di una sessione.
In parole semplici, i server TURN aiutano a garantire che le chiamate video e audio funzionino correttamente anche quando la rete non è configurata per supportarle.
I server TURN diventano necessari quando uno dei dispositivi in una connessione WebRTC utilizza un indirizzo IP privato. I dispositivi che hanno indirizzi IP privati utilizzano NAT per connettersi ad altri dispositivi. NAT riassembla i pacchetti e li invia all'indirizzo IP privato, ma non funziona correttamente con molti protocolli, incluso WebRTC.
Immaginiamo che Giovanna voglia andare in macchina a casa di Francesco, ma la strada principale è bloccata per qualche motivo. Per evitare di rimanere bloccata Giovanna prende delle strade secondarie e raggiunge la casa di Francesco con un tragitto alternativo. Un server TURN fornisce un percorso alternativo per le connessioni WebRTC, quando NAT potrebbe costituire un ostacolo insormontabile.
Un server STUN (Session Traversal Utilities for NAT) è un altro tipo di server che supporta le connessioni WebRTC. Consente a due dispositivi di rilevare reciprocamente i propri indirizzi IP pubblici e avviare una connessione diretta. Tuttavia, i server STUN spesso non riescono ad aggirare le rigorose misure di sicurezza. In questi casi, si può invece utilizzare un server TURN.
Web Real-Time Communications (WebRTC) è una tecnologia open source che consente di stabilire comunicazioni dirette peer-to-peer (P2P) in tempo reale tramite delle API. Essa consente ai dispositivi client di trasmettere in streaming file tra di loro invece di fare affidamento su un server centrale (al contrario di protocolli come HLS o HDS, che presuppongono un modello client-server). La tecnologia WebRTC viene usata anche per diversi protocolli di comunicazione, come il Voice over Internet Protocol (VoIP), che supporta chiamate telefoniche e videochiamate basate su Internet.
La NAT (Network Address Translation) è una tecnica usata per associare indirizzi IP privati a indirizzi IP pubblici, oppure, più comunemente, per associare più indirizzi IP privati a un singolo indirizzo IP pubblico. (Gli indirizzi IP sono fondamentali per stabilire connessioni tra dispositivi.)
Usare una NAT è simile all'utilizzare un fermo posta all'interno di una rete postale. I mittenti possono inviare posta senza conoscere il vero indirizzo postale del destinatario, poiché la posta verrà consegnata al fermo posta. Analogamente, una NAT associa un indirizzo IP pubblico a un indirizzo IP privato e inoltra i pacchetti alle destinazioni corrette.
Una delle applicazioni più comuni della tecnologia NAT è l'assegnazione di indirizzi IP all'interno di reti locali (LAN), come le reti Wi-Fi domestiche. Non ci sono abbastanza indirizzi IPv4 disponibili, quindi i router assegnano indirizzi IP privati dinamici ai dispositivi connessi alla rete. Questi indirizzi IP sono verosimilmente utilizzati anche da altri dispositivi; pertanto, per evitare confusione, il router utilizza una NAT per convertirli in un unico indirizzo IP pubblico univoco. (Anche il provider di servizi Internet può assegnare dinamicamente tali indirizzi IP pubblici.)
La NAT viene usata anche come misura di sicurezza per mantenere privati gli indirizzi IP. Un dispositivo può evitare di rivelare il proprio indirizzo IP reale al di fuori della rete, o anche all'interno della rete, e utilizzare la NAT per trasmettere un indirizzo IP pubblico e connettersi ad altri dispositivi.
Il problema è che alcuni protocolli a livello applicativo non funzionano bene con la NAT, proprio come un fermo posta potrebbe rivelarsi inadeguato per determinati tipi di spedizioni (ad esempio, per pacchi di grandi dimensioni).
Un server TURN contribuisce a garantire la connettività anche in ambienti di rete altamente limitati, che utilizzano NAT e firewall per celare gli indirizzi IP. Esso consente alle comunicazioni in tempo reale di essere trasmesse quando le connessioni normali non sono possibili, e i server STUN non sono in grado di supportarle. I server TURN migliorano l'affidabilità dei servizi di telefonia o chat basati su Internet.
Cloudflare Realtime è un servizio che consente agli sviluppatori di creare applicazioni audio, video e dati in tempo reale. Cloudflare Realtime include un server TURN globale, semplificando la creazione di applicazioni in tempo reale veloci e affidabili. Per saperne di più sul servizio TURN di Cloudflare, consulta la documentazione per sviluppatori.