Accelerazione del trasferimento UDP di Filemail
Oggi su Internet vengono utilizzati due protocolli principali: TCP e UDP. Il TCP è il cavallo di battaglia di Internet. L'accelerazione di trasferimento UDP è il purosangue, fatto per la velocità.
Che cos'è il TCP?
Questo protocollo è dotato di meccanismi di affidabilità, il che significa che il mittente ritrasmette automaticamente un pacchetto TCP al destinatario se si è perso per strada.
TCP: la spina dorsale di Internet
Firewall, router e switch sono fortemente ottimizzati per il traffico TCP, il che rende il TCP la scelta naturale per la maggior parte delle attività svolte su Internet. I browser web, i client di posta elettronica, Facebook, Instagram, Snapchat, gli indici di borsa, Spotify, Slack e i client FTP sono alcune delle applicazioni che utilizzano tipicamente il TCP. Se si utilizza una soluzione per il trasferimento di file tramite browser, è più che probabile che questa utilizzi TCP.
Garantire l'affidabilità: Il ruolo dei messaggi Ack in TCP
Quando un destinatario riceve un pacchetto TCP, viene inviato un messaggio ACK (Acknowledge) per confermare al mittente che il pacchetto è stato ricevuto correttamente. Questo meccanismo relativamente semplice rende il protocollo TCP molto affidabile e facile da usare per gli sviluppatori.
L'invio di messaggi di ACK al mittente può limitare seriamente le prestazioni (poiché il mittente deve attendere l'ACK del pacchetto-1 prima di inviare il pacchetto-2). Per alleviare alcuni dei problemi che affliggono il TCP, nel corso degli anni sono stati apportati numerosi miglioramenti al protocollo.
Dimensione della finestra scalabile
Consente al mittente di inviare più pacchetti e di attendere più ACK contemporaneamente. I dati inviati ma non ancora inviati come ACK sono spesso chiamati dati in volo. Il mittente ha un limite alla quantità di dati che può avere in volo, il che significa che il mittente non invia dati al destinatario più velocemente di quanto il destinatario possa gestire.
Strozzatura della larghezza di banda
Consente essenzialmente a un client da 10 Mbit di comunicare con un server da 1000 Mbit senza essere sommerso dal traffico del server. Nel protocollo TCP si basa sull'idea che ci debba essere solo un certo numero di dati in volo in un dato momento.
ACK selettivi
Consente al destinatario di ricevere pacchetti ACK in qualsiasi ordine. Se il pacchetto-1 è andato perso, il pacchetto-2 non è ostacolato dall'invio e dall'ACK prima di inviare nuovamente il pacchetto-1.
Gli svantaggi del TCP
Quando si invia traffico TCP su una grande distanza geografica, le prestazioni diminuiscono notevolmente. Poiché il traffico (e gli ACK) deve attraversare più router e infrastrutture di rete per arrivare al destinatario, richiede più tempo.
Il tempo necessario viene definito latenza. Se si naviga su un sito web ospitato nello stesso paese, la latenza è talvolta di 10 millisecondi. Quando si naviga su un sito web ospitato in un altro continente, si nota immediatamente che il caricamento delle pagine richiede più tempo a causa dell'aumento della latenza.
Il problema della latenza del TCP diventa estremamente evidente quando si trasferiscono file da un continente all'altro. Sia il mittente che il destinatario possono disporre di connessioni da 1000/1000 megabit, ma ottengono solo 10 megabit di larghezza di banda effettiva durante il trasferimento dei file a causa della latenza che impedisce loro di comunicare efficacemente quando utilizzano il TCP.
Che cos'è l'UDP?
UDP è il fratello di TCP. La differenza principale è che un pacchetto UDP non riceve mai un ACK. Il mittente non ha idea se il pacchetto UDP sia arrivato al destinatario, quindi non è un protocollo affidabile. Ma è velocissimo perché non c'è ACK.
UDP: Privilegiare la velocità rispetto all'affidabilità
UDP è ottimo per le videochiamate e i giochi online. In questi casi, non importa se qualche pacchetto UDP viene abbandonato. I pacchetti UDP vengono inviati continuamente, quindi non si notano nel flusso video. Lo stesso vale per i giochi online, che riceveranno un nuovo pacchetto UDP con gli ultimi aggiornamenti nel giro di pochi millisecondi. Perdere qualche pacchetto UDP ogni tanto non è un problema. È più importante trasferire i dati rapidamente con la minore latenza possibile.
Rendere UDP affidabile per il trasferimento di file
UDP inizialmente potrebbe sembrare una scelta orribile per il trasferimento di file. La totale mancanza di affidabilità significherebbe file corrotti dappertutto a causa di pacchetti UDP caduti. La mancanza di una limitazione della larghezza di banda porterebbe i client a essere inondati di traffico e ad andare sostanzialmente offline. Affinché UDP sia utile per il trasferimento di file, deve essere affidabile come lo è TCP. Tanto per cominciare, i pacchetti caduti devono essere reinviati e la limitazione della larghezza di banda deve essere possibile. Anche la sicurezza deve essere affrontata.
Protocollo di accelerazione del trasferimento UDP di Filemail
Il protocollo di accelerazione UDP (UAP) di Filemail è un protocollo di trasferimento di file personalizzato costruito sulla base di UDP, che offre velocità di trasferimento incredibili anche in ambienti ad alta latenza. Supera facilmente tutti i protocolli basati su TCP, come HTTP e FTP, soprattutto quando si inviano file attraverso grandi distanze geografiche, dove la latenza supera i 50 ms.
Fino a 200 volte più veloce
I benchmark dimostrano che l'accelerazione del trasferimento Filemail UDP è talvolta fino a 200 volte più veloce di FTP, HTTP e altri metodi di trasferimento basati su TCP.
Filemail UAP è stato costruito dal basso verso l'alto con un unico obiettivo: trasferire file in modo estremamente veloce da A a B nel modo più sicuro e affidabile possibile. Ecco alcune delle caratteristiche di questo protocollo rivoluzionario.
Larghezza di banda effettiva per il trasferimento di file dall'Europa all'Australia attraverso 21 salti di rete. Entrambe le estremità sono collegate con una connessione a 1000/1000 Mbit.
I confronti non ufficiali con le soluzioni di trasferimento basate su UDP di IBM Aspera, GlobalScape e Signiant mostrano che Filemail è più veloce in quasi tutti i casi. Alcune delle differenze di prestazioni potrebbero essere dovute al fatto che Filemail utilizza anche l'accelerazione hardware, in particolare il set di istruzioni AES-NI. Inoltre, i protocolli di IBM Aspera e Signiant utilizzano un canale TCP separato (SSH) per effettuare la limitazione della larghezza di banda, l'ACK, ecc. Filemail UAP non si affida al protocollo TCP, più lento, ma utilizza UDP per il trasferimento dei dati, l'ACK, la limitazione della larghezza di banda e la crittografia.
Sicurezza
Tutto il traffico dati UDP è protetto dalla crittografia AES Galois/Counter Mode (AES-GCM). Si tratta del gold standard della crittografia attuale e garantisce che i dati trasferiti non possano essere intercettati da terzi. Ogni sessione di trasferimento ha una chiave separata, che viene scambiata tra il client e il server utilizzando la crittografia Rivest-Shamir-Adleman (RSA).
Crittografia accelerata dall'hardware
Filemail UAP utilizza il set di istruzioni AES-NI introdotto da AMD e Intel qualche anno fa. Questo set di istruzioni consente a Filemail UAP di utilizzare componenti hardware dedicati per la crittografia e la decrittografia dei dati. Ciò fa un'enorme differenza in termini di velocità di trasferimento. AES-NI è supportato da sistemi operativi come Microsoft Windows, macOS, Linux, iOS e Android. Anche i produttori di hardware come Intel, AMD, ARM, VIA, Atmel, Samsung, Qualcomm, NXP e Broadcom lo supportano.
Requisiti software e hardware
Filemail UAP è scritto in C++ a basso livello e può essere eseguito praticamente su tutti i dispositivi e sistemi operativi. Attualmente sono disponibili versioni binarie per Windows, macOS e Linux. Filemail Desktop è il nostro strumento di trasferimento di punta che utilizza UAP. Sono disponibili anche applicazioni per console. L'UAP di Filemail è stato pesantemente ottimizzato e ha un ingombro di memoria estremamente ridotto, pari a pochi megabyte, pur massimizzando il throughput della larghezza di banda. Inoltre, in genere utilizza meno del 5% della CPU quando invia i file alla massima velocità.
Accelerazione di trasferimento bidirezionale
Filemail UAP viene utilizzato sia per caricare che per scaricare file con Filemail Desktop. Ciò significa che sia voi che i vostri clienti e partner commerciali potete trarre vantaggio da questa tecnologia.
Per iniziare con l'accelerazione dei trasferimenti UDP di Filemail
L'accelerazione dei trasferimenti UDP di Filemail è integrata nell'applicazione Filemail Desktop e viene attivata automaticamente durante l'invio e il download di file. L'accelerazione dei trasferimenti UDP è disponibile nei piani Business ed Enterprise.