Accelerare transfer

Fundal

Pe internet există astăzi două protocoale principale care sunt utilizate: TCP și UDP.

TCP este punctul de lucru al internetului. Acest protocol are mecanisme de fiabilitate încorporate în el, ceea ce înseamnă că expeditorul va transmite automat un pachet TCP către receptor dacă s-a pierdut cumva pe drum. Când un destinatar primește un pachet TCP, un mesaj ACK (Confirmare) este trimis expeditorului, astfel încât expeditorul să știe că acest pachet a fost livrat corect. Acest mecanism relativ simplu face ca protocolul TCP să fie foarte fiabil și ușor de utilizat pentru dezvoltatori. Trimiterea acestor mesaje ACK către expeditor poate limita serios performanța (deoarece expeditorul trebuie să aștepte ACK-ul pachetului1 înainte de a trimite pachetul2) - atât de multe îmbunătățiri au fost făcute de-a lungul anilor. Unele dintre cele mai importante caracteristici ale unei implementări moderne a TCP sunt:

  * Dimensiunea scalabilă a ferestrei permite expeditorului să trimită mai multe pachete simultan și să aștepte mai multe ACK-uri în același timp. Datele care sunt trimise, dar care nu sunt încă confirmate, sunt adesea menționate ca date in zbor - expeditorul are o limită a cantității de date pe care le poate avea în zbor, ceea ce înseamnă că expeditorul nu trimite date către receptor mai repede decât poate primi receptorul.

  * Reglarea lățimii de bandă permite, în esență, unui client de 10 mbit să comunice cu un server de 1000 mbit, fără a fi total copleșit de traficul de pe server. TCP se bazează pe ideea că ar trebui să existe doar un anumit număr de date în zbor la un moment dat.

  * ACK selectiv permite destinatarului să primească și să confirme pachete în orice ordine. Dacă pachetul1 s-a pierdut atunci nu împiedică pachetul2 să fie trimis și confirmat înainte de a trimite pachetul1.

Firewall-urile, routerele și switch-urile sunt bine optimizate pentru traficul TCP - ceea ce face alegerea firească pentru majoritatea sarcinilor efectuate astăzi pe Internet. Navigatoare web, clienți de e-mail, Facebook, Instagram, Snapchat, Spotify, Slack și FTP Client sunt câteva dintre aplicațiile care utilizează de obicei TCP.

Există însă și dezavantaje. Când trimiți trafic TCP pe o distanță geografică mare, performanța scade semnificativ. Motivul este că traficul (și ACK-urile) trebuie să circule prin mai multe routere și infrastructură de rețea pentru a ajunge la destinatar - iar acest lucru necesită timp.

Timpul necesar este adesea denumit latență. Dacă navighezi pe un site web găzduit în aceeași țară, latența este uneori mai mică de 10 milisecunde. Când navighezi pe un site web găzduit pe un alt continent, vei vedea imediat că paginile durează mult timp la încărcare din cauza latenței crescute.

Problema de latență a TCP devine extrem de evidentă la transferul fișierelor pe continente. Atât expeditorul, cât și destinatarul ar putea avea conexiuni de 1000/1000 megabit - dar primesc doar lățime de bandă eficientă de 10 megabit atunci când transferă fișiere datorită latenței care le împiedică să comunice eficient atunci când folosesc TCP.

UDP este fratele TCP. Principala diferență este că un pachet UDP nu este niciodată confirmat. Expeditorul nu are nici o idee dacă pachetul UDP a ajuns la destinatar - nu este deloc un protocol fiabil. Dar este foarte rapid, deoarece nu există confirmări. UDP este excelent pentru apeluri video și jocuri online. În aceste cazuri, nu contează dacă sunt abandonate câteva pachete UDP. Pachetele UDP sunt trimise în mod continuu, astfel încât nici măcar nu le vei observa în fluxul video. La fel și cu jocurile online - vei primi un nou pachet UDP cu cele mai recente actualizări în câteva milisecunde. Pierderea câtorva pachete UDP din când în când nu este o problemă. Este mai important să transferați rapid datele cu cea mai mică latență posibilă.

UDP ar putea părea o alegere proastă pentru transferul de fișiere. Lipsa totală de fiabilitate ar însemna fișiere corupte peste tot din cauza pachetelor UDP abandonate. Lipsa de accelerare a lățimii de bandă ar duce la inundarea de trafic a clienților și, în esență, să se deconecteze. Pentru ca UDP să fie util pentru transferul fișierelor, trebuie să fie fiabil la fel ca TCP. Pentru început, pachetele abandonate trebuie să fie retrimise și trebuie să fie posibilă accelerarea lățimii de bandă. Trebuie să ne gândim și la securitate.

Protocolul de accelerare (UAP) Filemail UDP

Filemail UDP Acceleration Protocol (UAP) este un protocol de transfer de fișiere personalizat, construit pe nivelul superior al UDP, care oferă viteze de transfer rapide, chiar și în medii cu latență ridicată. El depășește cu ușurință toate protocoalele bazate pe TCP, cum ar fi HTTP și FTP - mai ales atunci când trimiți fișiere pe distanțe geografice mari, unde latența se ridică la peste 50 ms.

Teste comparative

Reperele arată că Filemail UDP este uneori de până la 200 de ori mai rapid decât FTP, HTTP și alte metode de transfer bazate pe TCP.

Lărgimea efectivă de transfer a transferului atunci când transferați fișiere din Europa în Australia în 21 de salturi de rețea. Ambele capete sunt conectate la o conexiune de 1000/1000 mbit.

Filemail UAP este construit cu un obiectiv în minte: transferul extrem de rapid al fișierelor de la A la B în cel mai sigur și mai fiabil mod posibil. Mai jos sunt câteva dintre caracteristicile acestui protocol revoluționar.

Comparațiile neoficiale cu soluțiile de transfer bazate pe UDP de IBM Aspera și Signiant arată că Filemail este mai rapid în aproape toate cazurile. Unele dintre diferențele de performanță s-ar putea datora Filemail care utilizează și accelerarea hardware - prin utilizarea specifică a setului de instrucțiuni AES-NI. De asemenea, protocoalele IBM Aspera și Signiant utilizează un canal TCP separat (SSH) pentru a efectua reglarea lățimii de bandă, ACK'ing etc. Filemail UAP nu se bazează pe protocolul TCP mai lent - ci folosește UDP pentru transferul de date, ACK'ing, lățimea de bandă accelerare și criptare.

Securitate

Tot traficul de date UDP este protejat de criptarea AES Galois / Counter Mode (AES-GCM). Acesta este standardul în cadrul criptării începând de astăzi și asigură că datele transferate nu pot fi interceptate de către o terță parte. Fiecare sesiune de transfer are o cheie separată, cheia este schimbată între client și server folosind criptarea Rivest-Shamir-Adleman (RSA).

Criptare accelerată hardware

Filemail UAP utilizează setul de instrucțiuni AES-NI introdus de AMD și Intel câțiva ani în urmă. Acest set de instrucțiuni permite Filemail UAP să utilizeze componente hardware dedicate pentru criptarea și decriptarea datelor. Acest lucru face o diferență uriașă când vine vorba de viteze de transfer. AES-NI este compatibil cu sisteme de operare, cum ar fi Microsoft Windows, macOS, Linux, iOS și Android. Producătorii de hardware, precum Intel, AMD, ARM, VIA, Atmel, Samsung, Qualcomm, NXP și Broadcom îl acceptă.

Cerințe software și hardware

Filemail UAP este scris în C ++ și poate rula pe toate dispozitivele și sistemele de operare. În prezent, versiunile binare sunt disponibile pentru Windows, macOS și Linux. Filemail Desktop este instrumentul nostru principal de transfer care utilizează UAP. Aplicațiile pentru console sunt de asemenea disponibile. Filemail UAP a fost puternic optimizat și are o amprentă de memorie extrem de redusă de doar câțiva megabyte, maximizând în același timp capacitatea de lățime de bandă. De asemenea, utilizează de obicei CPU mai puțin de 5% pentru a trimite fișiere cu viteză maximă.

Accelerarea transferului bi-direcțional

Filemail UAP este utilizat atât la încărcarea cât și la descărcarea fișierelor cu Filemail Desktop. Acest lucru înseamnă că tu și clienții și partenerii de afaceri puteți profita de această tehnologie.

Noțiuni introductive cu Filemail UAP

Filemail UAP este integrat în aplicația noastră pentru Filemail Desktop și este activat automat la trimiterea și descărcarea fișierelor. Filemail Desktop este gratuit și nu necesită autentificare.