Accélération des transferts

Fond

Aujourd'hui, deux protocoles principaux sont utilisés sur Internet : TCP et UDP.

TCP est la bête de somme d'Internet. Ce protocole intègre des mécanismes de fiabilité, ce qui signifie que l'expéditeur retransmet automatiquement un paquet TCP au destinataire s'il s'est perdu en route. Lorsqu'un destinataire reçoit un paquet TCP, un message ACK (Accusé de réception) est envoyé à l'expéditeur, afin que ce dernier sache que ce paquet a été livré correctement. Ce mécanisme relativement simple rend le protocole TCP très fiable et facile à utiliser pour les développeurs. L'envoi de ces messages ACK à l'expéditeur peut sérieusement limiter les performances (puisque l'expéditeur doit attendre l'ACK du paquet1 avant d'envoyer le paquet2) ; c'est pourquoi de nombreuses améliorations ont été apportées à ce protocole au fil des ans. Voici quelques-unes des caractéristiques les plus importantes d'une mise en œuvre moderne de TCP :

  • Taille de fenêtre évolutive permet à l'expéditeur d'envoyer plusieurs paquets à la fois et d'attendre plusieurs ACKÆ en même temps. Les données qui sont envoyées mais qui n'ont pas encore été acquittées sont souvent appelées "données en vol" (Data In Flight) : l'expéditeur a une limite quant à la quantité de données qu'il peut avoir en vol, ce qui signifie que l'expéditeur n'envoie pas de données au récepteur plus rapidement que le récepteur ne peut les recevoir.

  • L'étranglement de la bande passante permet essentiellement à un client de 10 mbit de communiquer avec un serveur de 1000 mbit sans être totalement submergé par le trafic du serveur. Dans le cas du protocole TCP, il repose sur l'idée qu'il ne doit y avoir qu'un certain nombre de données en circulation à un moment donné.

Les ACKs sélectifs permettent au destinataire de recevoir et d'ACK des paquets dans n'importe quel ordre. Si le paquet 1 a été perdu, cela n'empêche pas le paquet 2 d'être envoyé et acquitté avant de renvoyer le paquet 1.

Les pare-feu, routeurs et commutateurs sont fortement optimisés pour le trafic TCP, ce qui en fait le choix naturel pour la plupart des tâches effectuées sur Internet aujourd'hui. Les navigateurs Web, les clients de messagerie, Facebook, Instagram, Snapchat, les tickers de bourse, Spotify, Slack et les clients FTP sont quelques-unes des applications qui utilisent généralement le protocole TCP.

Il y a cependant un inconvénient. Lorsque l'on envoie du trafic TCP sur une grande distance géographique, les performances diminuent considérablement. Cela s'explique par le fait que le trafic (et les ACK) doit traverser beaucoup plus de routeurs et d'infrastructures réseau pour arriver au destinataire, ce qui prend du temps.

Le temps que cela prend est souvent appelé latence. Si vous naviguez sur un site web hébergé dans le même pays, la latence est parfois de l'ordre de 10 millisecondes. Lorsque vous naviguez sur un site Web hébergé sur un autre continent, vous constatez immédiatement que les pages sont longues à charger en raison de la latence accrue.

Le problème de latence du TCP devient extrêmement apparent lors du transfert de fichiers entre continents. L'expéditeur et le destinataire peuvent disposer de connexions de 1000/1000 mégabits, mais ils ne disposent que de 10 mégabits de bande passante effective lors du transfert de fichiers en raison de la latence qui les empêche de communiquer efficacement avec le protocole TCP.

UDP est le petit frère de TCP. La principale différence est qu'un paquet UDP n'est jamais ACKÆed. L'expéditeur n'a aucune idée si le paquet UDP est parvenu au destinataire : ce n'est pas du tout un protocole fiable. Mais il est extrêmement rapide, puisqu'il n'y a pas d'ACKÆing. UDP est idéal pour les appels vidéo et les jeux en ligne. Dans ces cas, il importe peu que quelques paquets UDP soient abandonnés. Les paquets UDP sont envoyés en continu û vous ne le remarquerez même pas dans le flux vidéo. Il en va de même pour les jeux en ligne : vous recevrez un nouveau paquet UDP avec les dernières mises à jour en quelques millisecondes. La perte de quelques paquets UDP de temps à autre n'est pas un problème. Il est plus important de transférer les données rapidement avec la latence la plus faible possible.

Au départ, le protocole UDP peut sembler être un mauvais choix pour le transfert de fichiers. Le manque total de fiabilité se traduirait par des fichiers corrompus partout à cause de paquets UDP abandonnés. L'absence de limitation de la bande passante conduirait les clients à être inondés de trafic et à se retrouver hors ligne. Pour que le protocole UDP soit utile au transfert de fichiers, il doit être fiable comme l'est le protocole TCP. Pour commencer, les paquets abandonnés doivent être renvoyés et la régulation de la bande passante doit être possible. La sécurité doit également être prise en compte.

Filemail UDP Acceleration Protocol (UAP)

Le Filemail UDP Acceleration Protocol (UAP) est un protocole de transfert de fichiers sur mesure, construit sur le protocole UDP, qui offre des vitesses de transfert extrêmement rapides, même dans des environnements à forte latence. Il surpasse facilement tous les protocoles basés sur TCP tels que HTTP et FTP, en particulier lors de l'envoi de fichiers sur de grandes distances géographiques où la latence dépasse 50 ms.

**Repères

Des études comparatives montrent que l'UDP de Filemail est parfois jusqu'à 200 fois plus rapide que le FTP, le HTTP et d'autres méthodes de transfert basées sur le TCP.

Largeur de bande de transfert efficace lors du transfert de fichiers d'Europe vers l'Australie via 21 sauts de réseau. Les deux extrémités sont connectées sur une connexion de 1000/1000 mbit.

Filemail UAP est construit de bas en haut avec un objectif en tête : transférer des fichiers extrêmement rapidement de A à B de la manière la plus sûre et la plus fiable possible. Voici quelques-unes des caractéristiques de ce protocole révolutionnaire.

Des comparaisons non officielles avec les solutions de transfert basées sur l'UDP d'IBM Aspera et Signiant montrent que Filemail est plus rapide dans presque tous les cas. Certaines des différences de performances pourraient être dues au fait que Filemail utilise également l'accélération matérielle - en utilisant spécifiquement le jeu d'instructions AES-NI. Les protocoles d'IBM Aspera et Signiant utilisent également un canal TCP séparé (SSH) pour la limitation de la bande passante, la prise de compte, etc. Filemail UAP ne repose pas sur le protocole TCP plus lent - il utilise UDP pour le transfert de données, la reconnaissance, la limitation de la bande passante et le cryptage.

Sécurité

Tout le trafic de données UDP est protégé par le cryptage AES Galois/Counter Mode (AES-GCM). Il s'agit de la norme de référence en matière de cryptage à l'heure actuelle et elle garantit que les données transférées ne peuvent être interceptées par un tiers. Chaque session de transfert a une clé distincte, la clé est échangée entre le client et le serveur en utilisant le cryptage Rivest-Shamir-Adleman (RSA).

Cryptage accéléré par le matériel

Filemail UAP utilise le jeu d'instructions AES-NI introduit par AMD et Intel il y a quelques années. Ce jeu d'instructions permet à Filemail UAP d'utiliser des composants matériels dédiés pour le cryptage et le décryptage des données. Cela fait une énorme différence en matière de vitesse de transfert. L'AES-NI est pris en charge par des systèmes d'exploitation tels que Microsoft Windows, macOS, Linux, iOS et Android. Les fabricants de matériel tels qu'Intel, AMD, ARM, VIA, Atmel, Samsung, Qualcomm, NXP et Broadcom le prennent également en charge.

Exigences en matière de logiciels et de matériel

Filemail UAP est écrit en C++ de bas niveau et peut fonctionner sur pratiquement tous les appareils et systèmes d'exploitation. Des versions binaires sont actuellement disponibles pour Windows, macOS et Linux. Filemail Desktop est notre outil de transfert phare qui utilise UAP. Des applications de console sont également disponibles. Le Filemail UAP a été fortement optimisé et a une empreinte mémoire extrêmement faible de seulement quelques mégaoctets, tout en maximisant le débit de la bande passante. Il utilise aussi généralement moins de 5 % de CPU lors de l'envoi de fichiers à vitesse maximale.

Accélération du transfert bidirectionnel

Filemail UAP est utilisé à la fois pour le téléchargement de fichiers avec Filemail Desktop et pour le téléchargement de fichiers avec Filemail Desktop. Cela signifie que vous ET vos clients et partenaires commerciaux peuvent profiter de cette technologie.

Démarrer avec Filemail UAP

Filemail UAP est intégré à notre application Filemail Desktop et il est activé automatiquement lors de l'envoi et du téléchargement de fichiers. L'utilisation de Filemail Desktop est gratuite et ne nécessite pas de connexion. Transférez l'accélération vers les gens.