Accelerare transfer

Fundal

În prezent, pe internet sunt utilizate două protocoale principale: TCP și UDP.

TCP este calul de bătaie al internetului. Acest protocol dispune de mecanisme de fiabilitate, ceea ce înseamnă că expeditorul va retransmite automat un pachet TCP către destinatar în cazul în care acesta s-a pierdut cumva pe drum. Atunci când un destinatar primește un pachet TCP, un mesaj ACK (Acknowledge) este trimis la expeditor, astfel încât acesta să știe că pachetul a fost livrat corect. Acest mecanism relativ simplu face ca protocolul TCP să fie foarte fiabil și ușor de utilizat de către programatori. Trimiterea acestor mesaje ACK către expeditor poate limita în mod serios performanța (deoarece expeditorul trebuie să aștepte ACK-ul pachetului1 înainte de a trimite pachetul2) û de aceea, de-a lungul anilor au fost aduse numeroase îmbunătățiri acestui protocol. Unele dintre cele mai importante caracteristici ale unei implementări TCP moderne sunt:

  • Scalable Window Size permite expeditorului să trimită mai multe pachete simultan și să aștepte mai multe ACKÆs în același timp. Datele care sunt trimise, dar care nu au fost încă ACKed, sunt deseori denumite Data In Flight û 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 le poate primi acesta.

  • Bandwidth throttling 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 la server. În TCP, se bazează pe ideea că ar trebui să existe doar un anumit număr de date în zbor la un moment dat.

  • AcK selective permit destinatarului să primească și să ACK pachetele în orice ordine. Dacă pachetul1 s-a pierdut, atunci nu împiedică pachetul2 să fie trimis și ACKed înainte de retrimiterea pachetului1.

Firewall-urile, routerele și switch-urile sunt puternic optimizate pentru traficul TCP - ceea ce îl face alegerea naturală pentru majoritatea sarcinilor efectuate pe internet în prezent. Browserele web, clienții de e-mail, Facebook, Instagram, Snapchat, tickerele de bursă, Spotify, Slack și clienții FTP sunt câteva dintre aplicațiile care utilizează de obicei TCP.

Există însă un dezavantaj. Atunci când trimiteți trafic TCP pe o distanță geografică mare, performanța scade semnificativ. Motivul este că traficul (și ACK-urile) trebuie să treacă prin mult mai multe routere și infrastructuri de rețea pentru a ajunge la destinatar û și acest lucru durează.

Timpul necesar este adesea denumit latență. Dacă navigați pe un site web găzduit în aceeași țară, latența este uneori de doar 10 milisecunde. Când navigați pe un site web găzduit pe un alt continent, veți observa imediat că paginile durează mult timp să se încarce din cauza latenței crescute.

Problema de latență a TCP devine extrem de evidentă atunci când se transferă fișiere pe alte continente. Atât expeditorul, cât și destinatarul ar putea avea conexiuni uimitoare de 1000/1000 de megabiți û dar, atunci când transferă fișiere, au la dispoziție o lățime de bandă de rețea efectivă de numai 10 megabiți din cauza latenței care îi împiedică să comunice eficient atunci când folosesc TCP.

UDP este fratele lui TCP. Principala diferență constă în faptul că un pachet UDP nu este niciodată ACKÆed. Expeditorul nu are nicio idee dacă pachetul UDP a ajuns la destinatar û nu este deloc un protocol de încredere. Dar este extrem de rapid, deoarece nu există ACKÆing. 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 veți observa acest lucru în fluxul video. La fel și în cazul jocurilor online û veți 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 datele rapid, cu cea mai mică latență posibilă.

Inițial, UDP ar putea părea o alegere oribilă pentru transferul de fișiere. Lipsa totală de fiabilitate ar însemna fișiere corupte peste tot din cauza pachetelor UDP pierdute. Lipsa de limitare a lățimii de bandă ar duce la inundarea clienților cu trafic și, practic, la deconectarea acestora. Pentru ca UDP să fie util pentru transferul de fișiere, trebuie să fie fiabil, așa cum este TCP. Pentru început, pachetele pierdute trebuie să fie retrimise și trebuie să fie posibilă limitarea lățimii de bandă. De asemenea, trebuie abordată și problema securității.

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 de bază cu Filemail UAP

Filemail UAP este integrat în aplicația noastră Filemail Desktop și este activat automat atunci când trimiteți și descărcați fișiere. Filemail Desktop este gratuită și nu necesită o autentificare. Transferați accelerația către oameni.