Transfer-Beschleunigung

Hintergrund

Im Internet werden heute hauptsächlich zwei Protokolle verwendet: TCP und UDP.

TCP ist das Arbeitspferd des Internets. Dieses Protokoll verfügt über eingebaute Zuverlässigkeitsmechanismen, was bedeutet, dass der Sender ein TCP-Paket automatisch an den Empfänger zurücksenden wird, wenn es auf dem Weg verloren gegangen ist. Wenn ein Empfänger ein TCP-Paket erhält, wird eine ACK-Nachricht (ACK = Acknowledge, Bestätigung) an den Absender gesendet, so dass dieser weiss, dass dieses Paket korrekt zugestellt wurde. Dieser relativ einfache Mechanismus macht das TCP-Protokoll sehr zuverlässig und für Entwickler einfach zu benutzen. Das Senden dieser ACK-Nachrichten an den Absender kann die Leistung ernsthaft einschränken (da der Absender vor dem Senden von Paket2 auf das ACK von Paket1 warten muss) - im Laufe der Jahre wurden so viele Verbesserungen an diesem Protokoll vorgenommen. Dies sind einige der wichtigsten Merkmale einer modernen TCP-Implementierung:

  • Scalable Window Size ermöglicht es dem Absender, mehrere Pakete gleichzeitig zu senden und auf mehrere ACK's gleichzeitig zu warten. Die Daten, die gesendet, aber noch nicht mit ACKs versehen werden, werden oft als "Data In Flight" bezeichnet - der Sender hat ein Limit, wie viele Daten er im Flug haben kann, was bedeutet, dass der Sender Daten nicht schneller an den Empfänger sendet, als der Empfänger sie empfangen kann.

  • Bandbreitendrosselung ermöglicht im Wesentlichen, dass ein 10-Mbit-Client mit einem 1000-Mbit-Server kommunizieren kann, ohne völlig mit dem Datenverkehr des Servers überfordert zu sein. In TCP basiert sie auf der Idee, dass zu einem gegebenen Zeitpunkt nur eine bestimmte Anzahl von Daten im Flug sein sollte.

  • Selektive ACKs ermöglichen es dem Empfänger, ACK-Pakete in beliebiger Reihenfolge zu empfangen. Wenn Paket1 verloren gegangen ist, hindert es Paket2 nicht daran, gesendet zu werden und ACKs zu erstellen, bevor Paket1 erneut gesendet wird.

Firewalls, Router und Switches sind stark für TCP-Verkehr optimiert - und damit die natürliche Wahl für die meisten Aufgaben, die heute im Internet erledigt werden. Webbrowser, E-Mail-Clients, Facebook, Instagram, Snapchat, Börsenticker, Spotify, Slack und FTP-Clients sind einige der Anwendungen, die TCP typischerweise verwenden.

Es gibt jedoch einen Nachteil. Wenn TCP-Verkehr über eine große geografische Entfernung gesendet wird, sinkt die Leistung erheblich. Der Grund dafür ist, dass der Verkehr (und die ACKs) viel mehr Router und Netzwerkinfrastruktur durchlaufen muss, um zum Empfänger zu gelangen - und das braucht Zeit.

Diese Zeit wird oft als Latenzzeit bezeichnet. Wenn Sie auf einer Website surfen, die im gleichen Land gehostet wird, beträgt die Latenz manchmal nur 10 Millisekunden. Wenn Sie auf einer Website surfen, die auf einem anderen Kontinent gehostet wird, werden Sie sofort feststellen, dass die Seiten aufgrund der erhöhten Latenzzeit lange zum Laden brauchen.

Das Latenzproblem von TCP wird extrem deutlich, wenn Dateien über Kontinente hinweg übertragen werden. Sowohl der Sender als auch der Empfänger befinden sich vielleicht auf erstaunlichen 1000/1000-Megabit-Verbindungen - aber sie erhalten bei der Übertragung von Dateien nur 10 Megabit effektive Netzwerkbandbreite, da die Latenz bei der Verwendung von TCP eine effektive Kommunikation verhindert.

UDP ist das Geschwisterchen von TCP. Der Hauptunterschied besteht darin, dass ein UDP-Paket niemals ACK'ed wird. Der Absender hat keine Ahnung, ob das UDP-Paket es bis zum Empfänger geschafft hat - es ist überhaupt kein zuverlässiges Protokoll. Aber es glüht schnell, da es kein ACK'ing gibt. UDP eignet sich hervorragend für Videoanrufe und Online-Spiele. In diesen Fällen spielt es keine Rolle, ob ein paar UDP-Pakete fallen gelassen werden. Die UDP-Pakete werden ununterbrochen gesendet - man merkt es also nicht einmal im Videostream. Dasselbe gilt für Online-Spiele - innerhalb weniger Millisekunden erhalten Sie ein neues UDP-Paket mit den neuesten Aktualisierungen. Es ist kein Problem, ab und zu ein paar UDP-Pakete zu verlieren. Wichtiger ist es, Daten schnell und mit möglichst geringer Latenz zu übertragen.

UDP mag zunächst wie eine schreckliche Wahl für die Dateiübertragung erscheinen. Der völlige Mangel an Zuverlässigkeit würde dazu führen, dass die Dateien aufgrund der verlorenen UDP-Pakete überall korrupt sind. Die fehlende Drosselung der Bandbreite würde dazu führen, dass die Clients mit Datenverkehr überflutet würden und im Grunde genommen offline gingen. Damit UDP für die Übertragung von Dateien nützlich ist, muss es genauso zuverlässig sein wie TCP. Zunächst müssen die abgeworfenen Pakete erneut gesendet werden und eine Bandbreitendrosselung muss möglich sein. Auch die Sicherheit muss berücksichtigt werden.

Filemail UDP-Beschleunigungsprotokoll (UAP)

Das Filemail UDP Acceleration Protocol (UAP) ist ein maßgeschneidertes Dateiübertragungsprotokoll, das auf UDP aufbaut und selbst in Umgebungen mit hohen Latenzzeiten blitzschnelle Übertragungsgeschwindigkeiten bietet. Es übertrifft mühelos alle TCP-basierten Protokolle wie HTTP und FTP - insbesondere beim Senden von Dateien über große geografische Entfernungen, bei denen die Latenz über 50 ms steigt.

Benchmarks

Benchmarks zeigen, dass Filemail UDP manchmal bis zu 200 Mal schneller ist als FTP, HTTP und andere auf TCP basierende Übertragungsmethoden.

Effektive Übertragungsbandbreite bei der Übertragung von Dateien von Europa nach Australien über 21 Netzwerk-Hops. Beide Enden sind über eine 1000/1000 mbit-Verbindung verbunden.

Filemail UAP ist von Grund auf mit einem Ziel vor Augen aufgebaut: Dateien extrem schnell von A nach B auf die sicherste und zuverlässigste Art und Weise zu übertragen. Im Folgenden sind einige der Merkmale dieses revolutionierenden Protokolls aufgeführt.

Inoffizielle Vergleiche mit UDP-basierten Übertragungslösungen von IBM Aspera und Signiant zeigen, dass Filemail in so gut wie allen Fällen schneller ist. Einige der Leistungsunterschiede könnten darauf zurückzuführen sein, dass Filemail auch Hardware-Beschleunigung nutzt - insbesondere durch die Verwendung des AES-NI-Befehlssatzes. Auch die Protokolle von IBM Aspera und Signiant verwenden einen separaten TCP-Kanal (SSH), um Bandbreitendrosselung, ACK'ing usw. durchzuführen. Filemail UAP verlässt sich nicht auf das langsamere TCP-Protokoll - es verwendet UDP für die Datenübertragung, ACK'ing, Bandbreitendrosselung und Verschlüsselung.

Sicherheit

Der gesamte UDP-Datenverkehr wird durch AES Galois/Counter Mode (AES-GCM)-Verschlüsselung geschützt. Dies ist ab heute der Goldstandard innerhalb der Verschlüsselung und stellt sicher, dass die übertragenen Daten nicht von Dritten abgefangen werden können. Jede Übertragungssitzung hat einen separaten Schlüssel, der zwischen Client und Server mit Rivest-Shamir-Adleman (RSA)-Verschlüsselung ausgetauscht wird.

Hardware-beschleunigte Verschlüsselung

Filemail UAP verwendet den AES-NI-Befehlssatz, der vor einigen Jahren von AMD und Intel eingeführt wurde. Dieser Befehlssatz ermöglicht es Filemail UAP, dedizierte Hardwarekomponenten zur Ver- und Entschlüsselung von Daten zu verwenden. Dies macht einen großen Unterschied, wenn es um die Übertragungsgeschwindigkeiten geht. AES-NI wird auf Betriebssystemen wie Microsoft Windows, macOS, Linux, iOS und Android unterstützt. Hardware-Hersteller wie Intel, AMD, ARM, VIA, Atmel, Samsung, Qualcomm, NXP und Broadcom unterstützen es ebenfalls.

Software- und Hardware-Anforderungen

Filemail UAP ist in Low-Level-C++ geschrieben und kann auf praktisch allen Geräten und Betriebssystemen ausgeführt werden. Binäre Versionen sind derzeit für Windows, MacOS und Linux verfügbar. Filemail Desktop ist unser Flaggschiff unter den Transfertools, das UAP verwendet. Konsolenanwendungen sind ebenfalls verfügbar. Das Filemail UAP wurde stark optimiert und verfügt über einen extrem geringen Speicherbedarf von nur wenigen Megabyte bei gleichzeitiger Maximierung des Bandbreitendurchsatzes. Außerdem verbraucht es in der Regel weniger als 5% CPU, wenn Dateien mit maximaler Geschwindigkeit gesendet werden.

Bidirektionale Übertragungsbeschleunigung

Filemail UAP wird sowohl beim Hoch- als auch beim Herunterladen von Dateien mit Filemail Desktop verwendet. Das bedeutet, dass Sie UND Ihre Kunden und Geschäftspartner von dieser Technologie profitieren können.

Erste Schritte mit Filemail UAP

Filemail UAP ist in unsere Filemail Desktop-Anwendung integriert und wird beim Senden und Herunterladen von Dateien automatisch aktiviert. Die Nutzung von Filemail Desktop ist kostenlos und erfordert keine Anmeldung. Übertragen Sie die Beschleunigung auf die Menschen.