Overdrachtsversnelling

Achtergrond

Op het internet worden tegenwoordig twee belangrijke protocollen gebruikt: TCP en UDP.

TCP is het werkpaard van het internet. In dit protocol zijn betrouwbaarheidsmechanismen ingebouwd, wat betekent dat de verzender een TCP-pakket automatisch opnieuw verzendt naar de ontvanger als het onderweg op de een of andere manier verloren is gegaan. Wanneer een ontvanger een TCP-pakket ontvangt, wordt een ACK-bericht (Acknowledge) naar de afzender gestuurd, zodat de afzender weet dat dit pakket correct is afgeleverd. Dit relatief eenvoudige mechanisme maakt het TCP protocol zeer betrouwbaar en gemakkelijk te gebruiken voor ontwikkelaars. Het zenden van deze ACK berichten naar de afzender kan de prestaties ernstig beperken (aangezien de afzender moet wachten op de ACK van pakket1 alvorens pakket2 te verzenden) û daarom zijn er in de loop der jaren vele verbeteringen aan dit protocol aangebracht. Enkele van de belangrijkste kenmerken van een moderne TCP implementatie is:

  • Scalable Window Size stelt de verzender in staat meerdere pakketten tegelijk te verzenden en op meerdere ACKÆs tegelijk te wachten. De gegevens die worden verzonden maar nog niet ACK's hebben ontvangen, worden vaak Data In Flight genoemd û de verzender heeft een limiet voor de hoeveelheid gegevens die hij in vlucht kan hebben, hetgeen betekent dat de verzender niet sneller gegevens naar de ontvanger verzendt dan de ontvanger deze kan ontvangen.

  • Bandbreedtebeperking maakt het in wezen mogelijk dat een client van 10 mbit kan communiceren met een server van 1000 mbit zonder volledig te worden overstelpt met verkeer van de server. In TCP is het gebaseerd op het idee dat er slechts een bepaald aantal gegevens op een gegeven moment in omloop mag zijn.

  • Selectieve ACK's stellen de ontvanger in staat pakketten in willekeurige volgorde te ontvangen en te ACK'en. Als pakket1 verloren is gegaan, belet dit niet dat pakket2 eerst wordt verzonden en ge-AKKKed voordat pakket1 opnieuw wordt verzonden.

Firewalls, Routers en Switches zijn zwaar geoptimaliseerd voor TCP verkeer - waardoor het de natuurlijke keuze is voor de meeste taken die tegenwoordig op het internet worden uitgevoerd. Web browsers, Email clients, Facebook, Instagram, Snapchat, Stock tickers, Spotify, Slack en FTP Clients zijn enkele van de applicaties die TCP gebruiken.

Er is echter een nadeel. Wanneer TCP verkeer over een grote geografische afstand wordt verstuurd, daalt de prestatie aanzienlijk. De reden hiervoor is dat het verkeer (en ACK's) door veel meer routers en netwerkinfrastructuur moet reizen om bij de ontvanger te komen û en dit kost tijd.

De tijd die dit kost wordt vaak latency genoemd. Wanneer u een website bezoekt die in hetzelfde land is gehost, is de latentie soms niet meer dan 10 milliseconden. Wanneer u een website bezoekt die in een ander werelddeel is gehost, zult u onmiddellijk merken dat het lang duurt om de pagina's te laden als gevolg van de verhoogde latency.

Het latency-probleem van TCP wordt extreem duidelijk bij het overbrengen van bestanden over continenten. Zowel de verzender als de ontvanger kunnen geweldige 1000/1000 megabit verbindingen hebben û maar zij krijgen slechts 10 megabit effectieve netwerkbandbreedte bij het overbrengen van bestanden als gevolg van de latentie die hen verhindert effectief te communiceren bij gebruik van TCP.

UDP is het broertje of zusje van TCP. Het belangrijkste verschil is dat een UDP-pakket nooit wordt geACKÆed. De verzender heeft geen idee of het UDP-pakket de ontvanger heeft bereikt û het is helemaal geen betrouwbaar protocol. Maar het is razendsnel, omdat er geen ACKÆing is. UDP is zeer geschikt voor videogesprekken en online spelletjes. In deze gevallen maakt het niet uit of er een paar UDP pakketten worden gedropt. De UDP pakketten worden continu verzonden û dus je zult het niet eens merken in de video stream. Hetzelfde geldt voor online games û u krijgt binnen enkele milliseconden een nieuw UDP-pakket met de laatste updates. Af en toe een paar UDP-pakketten verliezen is Æ geen probleem. Het is belangrijker dat de gegevens snel worden overgedragen met een zo laag mogelijke latentie.

UDP lijkt in eerste instantie misschien een verschrikkelijke keuze voor bestandsoverdracht. Het totale gebrek aan betrouwbaarheid zou betekenen dat er overal corrupte bestanden zouden zijn als gevolg van wegvallende UDP-pakketten. Het gebrek aan bandbreedtebeperking zou ertoe leiden dat clients overspoeld zouden worden met verkeer en in wezen offline zouden gaan. Om UDP nuttig te laten zijn voor de overdracht van bestanden moet het net zo betrouwbaar zijn als TCP dat is. Om te beginnen moeten de dropped pakketten opnieuw worden verstuurd en moet bandbreedtebeperking mogelijk zijn. Beveiliging moet ook worden aangepakt.

Filemail UDP-protocol voor versnelling (UAP)

Het Filemail UDP Acceleration Protocol (UAP) is een op maat gemaakt protocol voor bestandsoverdracht dat bovenop UDP is gebouwd en zeer hoge overdrachtssnelheden biedt, zelfs in omgevingen met een hoge latency. Het overtreft met gemak alle op TCP gebaseerde protocollen zoals HTTP en FTP - vooral wanneer bestanden over grote geografische afstanden worden verzonden, waar de latentie meer dan 50 ms bedraagt.

Benchmarks

Benchmarks tonen aan dat Filemail UDP soms tot 200 keer sneller is dan FTP, HTTP en andere overdrachtmethoden op basis van TCP.

Effectieve overdrachtsbandbreedte bij de overdracht van bestanden van Europa naar Australië over 21 netwerkhops. Beide uiteinden zijn verbonden op een 1000/1000 mbit verbinding.

Filemail UAP is van onderaf opgebouwd met maar één doel voor ogen: bestanden extreem snel van A naar B overbrengen op de meest veilige en betrouwbare manier mogelijk. Hieronder vindt u enkele kenmerken van dit revolutionerende protocol.

Uit onofficiële vergelijkingen met op UDP gebaseerde overdrachtsoplossingen van IBM Aspera en Signiant blijkt dat Filemail in vrijwel alle gevallen sneller is. Sommige van de prestatieverschillen kunnen te wijten zijn aan het feit dat Filemail ook gebruik maakt van hardwareversnelling - door specifiek gebruik te maken van de AES-NI instructieset. Ook gebruiken de protocollen van IBM Aspera en Signiant een apart TCP kanaal (SSH) om bandbreedte in te perken, ACK'en, etc. Filemail UAP vertrouwt niet op het tragere TCP protocol - het gebruikt UDP voor gegevensoverdracht, ACK'ing, bandbreedtebeperking en encryptie.

Veiligheid

Al het UDP-gegevensverkeer wordt beschermd door AES Galois/Counter Mode (AES-GCM) versleuteling. Dit is de gouden standaard binnen de versleuteling van vandaag en het zorgt ervoor dat de gegevens die worden overgedragen niet kunnen worden onderschept door een derde partij. Elke overdrachtsessie heeft een aparte sleutel, de sleutel wordt uitgewisseld tussen client en server met gebruikmaking van Rivest-Shamir-Adleman (RSA) encryptie.

Hardware versnelde encryptie

Filemail UAP maakt gebruik van de AES-NI instructieset die enkele jaren geleden door AMD en Intel is geïntroduceerd. Deze instructieset stelt Filemail UAP in staat specifieke hardwarecomponenten te gebruiken voor het versleutelen en ontsleutelen van gegevens. Dit maakt een enorm verschil als het gaat om overdrachtssnelheden. AES-NI wordt ondersteund op besturingssystemen als Microsoft Windows, macOS, Linux, iOS en Android. Ook hardwarefabrikanten als Intel, AMD, ARM, VIA, Atmel, Samsung, Qualcomm, NXP en Broadcom ondersteunen het.

Software- en hardwarevereisten

Filemail UAP is geschreven in C++ op laag niveau en kan op vrijwel alle apparaten en besturingssystemen worden uitgevoerd. Er zijn momenteel binaire versies beschikbaar voor Windows, MacOS en Linux. Filemail Desktop is ons vlaggenschip van de transfertool die gebruik maakt van UAP. Console-toepassingen zijn ook beschikbaar. De Filemail UAP is zwaar geoptimaliseerd en heeft een extreem lage geheugenvoetafdruk van slechts enkele megabytes, terwijl de bandbreedtedoorvoer nog steeds wordt gemaximaliseerd. Het gebruikt ook minder dan 5% CPU bij het verzenden van bestanden op maximale snelheid.

Bi-directionele overdrachtsversnelling*

Filemail UAP wordt zowel gebruikt bij het uploaden als downloaden van bestanden met Filemail Desktop. Dit betekent dat u EN uw klanten en zakenpartners voordeel kunnen halen uit deze technologie.

Aan de slag met Filemail UAP

Filemail UAP is geïntegreerd in onze Filemail Desktop-toepassing en wordt automatisch ingeschakeld bij het verzenden en downloaden van bestanden. Filemail Desktop is gratis te gebruiken en vereist geen login. Versnelling overbrengen naar de mensen.