Filemail UDP Perdavimo Pagreitinimas
Šiandien internete naudojami du pagrindiniai protokolai: TCP ir UDP. TCP yra pagrindinis interneto variklis. UDP perdavimo spartinimas yra grynakraujis, sukurtas greičiui užtikrinti.
Kas yra TCP?
Šis protokolas turi įdiegtus patikimumo mechanizmus, t. y. siuntėjas automatiškai pakartotinai persiunčia TCP paketą gavėjui, jei pakeliui jis buvo prarastas.
TCP: interneto pagrindas
Ugniasienės, maršruto parinktuvai ir komutatoriai yra labai optimizuoti TCP srautui, todėl šiandien TCP yra natūralus pasirinkimas daugeliui užduočių, atliekamų internete. Interneto naršyklės, el. pašto klientai, "Facebook", "Instagram", "Snapchat", akcijų žymekliai, "Spotify", "Slack" ir FTP klientai - tai tik kelios programos, kuriose paprastai naudojamas TCP. Jei naudojate failų perdavimo per naršyklę sprendimą, labiau tikėtina, kad jis naudoja TCP.
Patikimumo užtikrinimas: Ack pranešimų vaidmuo TCP protokole: patikimumo užtikrinimas: Ack pranešimų vaidmuo TCP protokole
Kai gavėjas gauna TCP paketą, atgal siunčiamas ACK (Acknowledge) pranešimas, kuriuo siuntėjui patvirtinama, kad paketas gautas teisingai. Dėl šio palyginti paprasto mechanizmo TCP protokolas yra labai patikimas ir lengvai naudojamas kūrėjams.
ACK žinučių siuntimas siuntėjui gali labai apriboti našumą (nes siuntėjas, prieš siųsdamas paketą-2, turi laukti paketo-1 ACK). Siekiant išspręsti kai kurias TCP problemas, per daugelį metų protokolas buvo patobulintas.
Keičiamas lango dydis
Siųstuvas gali siųsti kelis paketus ir laukti kelių ACK vienu metu. Išsiunčiami, bet dar negauti ACK duomenys dažnai vadinami "Data In Flight" (duomenys skrydžio metu). Siuntėjas turi ribą, kiek duomenų jis gali turėti skrydžio metu, t. y. siuntėjas nesiunčia duomenų gavėjui greičiau, nei gavėjas gali apdoroti.
Duomenų srauto pralaidumo ribojimas
Tai iš esmės leidžia 10 Mbit klientui bendrauti su 1000 Mbit serveriu, neperkraunant serverio duomenų srauto. TCP protokole jis grindžiamas idėja, kad bet kuriuo metu turėtų būti perduodamas tik tam tikras kiekis duomenų.
Atrankiniai ACK
Įgalinkite gavėją gauti ACK paketus bet kokia tvarka. Jei paketas-1 buvo prarastas, tai netrukdo siųsti paketo-2 ir gauti ACK prieš pakartotinai siunčiant paketą-1.
TCP trūkumai
Siunčiant TCP duomenų srautą dideliu geografiniu atstumu, našumas labai sumažėja. Kadangi srautas (ir ACK) turi keliauti per daugiau maršrutizatorių ir tinklo infrastruktūrą, kad pasiektų gavėją, užtrunka ilgiau.
Laikas, kurio prireikia, vadinamas vėlavimu. Jei naršote toje pačioje šalyje patalpintą svetainę, uždelsimas kartais būna vos 10 milisekundžių. Naršydami kitame žemyne patalpintą svetainę iškart pastebėsite, kad dėl padidėjusio vėlinimo puslapiai įkeliami ilgiau.
TCP vėlavimo problema itin išryškėja perduodant failus iš vieno žemyno į kitą. Tiek siuntėjas, tiek gavėjas gali turėti nuostabius 1000/1000 megabitų ryšius, tačiau perduodant failus dėl uždelsimo, kuris neleidžia veiksmingai bendrauti naudojant TCP, jie gauna tik 10 megabitų efektyvų tinklo pralaidumą.
Kas yra UDP?
UDP yra TCP brolis ir sesuo. Pagrindinis skirtumas yra tas, kad UDP paketas niekada negauna ACK. Siuntėjas nežino, ar UDP paketas pasiekė gavėją, todėl tai nėra patikimas protokolas. Tačiau jis yra labai greitas, nes nėra ACK siuntimo.
UDP: Pirmenybė teikiama greičiui, o ne patikimumui
UDP puikiai tinka vaizdo skambučiams ir internetiniams žaidimams. Tokiais atvejais nesvarbu, ar keli UDP paketai bus nutrūkę. UDP paketai siunčiami nuolat, todėl vaizdo sraute to nepastebėsite. Tas pats ir su internetiniais žaidimais - naują UDP paketą su naujausiais atnaujinimais gausite per kelias milisekundes. Retkarčiais prarasti kelis UDP paketus nėra problema. Kur kas svarbiau greitai perduoti duomenis su kuo mažesniu uždelsimu.
UDP patikimumo užtikrinimas perduodant failus
Iš pradžių gali atrodyti, kad UDP yra siaubingas pasirinkimas failų perdavimui. Visiškas patikimumo trūkumas reikštų, kad dėl nutrūkusių UDP paketų visur bus sugadinti failai. Dėl pralaidumo ribojimo nebuvimo klientai būtų užtvindyti srautu ir iš esmės būtų išjungti. Kad UDP būtų naudingas failų perdavimui, jis turi būti patikimas taip pat, kaip ir TCP. Pirmiausia reikia, kad nutrūkę paketai būtų siunčiami iš naujo ir kad būtų galima riboti pralaidumą. Taip pat reikia spręsti saugumo klausimus.
"Filemail" UDP perdavimo spartinimo protokolas
"Filemail" UDP perdavimo spartinimo protokolas (UAP) yra specialiai sukurtas failų perdavimo protokolas, sukurtas UDP pagrindu, kuris užtikrina itin didelę perdavimo spartą net ir didelio vėlavimo aplinkoje. Jis lengvai lenkia visus TCP pagrįstus protokolus, tokius kaip HTTP ir FTP, ypač siunčiant failus dideliais geografiniais atstumais, kai vėlavimas viršija 50 ms.
Iki 200 kartų greičiau
Lyginamosios analizės rodo, kad "Filemail" UDP perdavimo spartinimas kartais yra iki 200 kartų spartesnis už FTP, HTTP ir kitus TCP pagrįstus perdavimo būdus.
"Filemail UAP" sukurtas iš apačios į viršų siekiant vieno tikslo: itin greitai perduoti failus iš taško A į tašką B pačiu saugiausiu ir patikimiausiu būdu. Toliau pateikiamos kelios šio revoliucinio protokolo savybės.
Efektyvus perdavimo pralaidumas, kai failai iš Europos į Australiją perduodami per 21 tinklo šuolį. Abu galai sujungti 1000/1000 Mbit ryšiu.
Neoficialūs palyginimai su IBM Aspera ir Signiant UDP pagrįstais perdavimo sprendimais rodo, kad Filemail yra greitesnis beveik visais atvejais. Kai kurie našumo skirtumai gali būti susiję su tuo, kad "Filemail" naudoja ir aparatinį pagreitinimą, ypač AES-NI instrukcijų rinkinį. Be to, "IBM Aspera" ir "Signiant" protokoluose naudojamas atskiras TCP kanalas (SSH) pralaidumui riboti, ACK'ing ir t. t. Filemail UAP nesiremia lėtesniu TCP protokolu - duomenų perdavimui, ACK'ing, pralaidumo ribojimui ir šifravimui jis naudoja UDP.
Apsauga
Visas UDP duomenų srautas apsaugotas AES Galois/Counter Mode (AES-GCM) šifravimu. Šiuo metu tai yra auksinis šifravimo standartas, kuris užtikrina, kad trečioji šalis negalėtų perimti perduodamų duomenų. Kiekviena duomenų perdavimo sesija turi atskirą raktą, kuriuo klientas ir serveris keičiasi naudodami Rivest-Shamir-Adleman (RSA) šifravimą.
Techninės įrangos pagreitintas šifravimas
"Filemail UAP" naudoja AES-NI instrukcijų rinkinį, kurį AMD ir "Intel" pristatė prieš kelerius metus. Šis instrukcijų rinkinys leidžia "Filemail UAP" naudoti specialius aparatinės įrangos komponentus duomenims šifruoti ir iššifruoti. Tai labai skiriasi, kai kalbama apie duomenų perdavimo greitį. AES-NI palaikomas tokiose operacinėse sistemose kaip "Microsoft Windows", "MacOS", "Linux", "iOS" ir "Android". Ją palaiko ir tokie techninės įrangos gamintojai kaip "Intel", AMD, ARM, VIA, "Atmel", "Samsung", "Qualcomm", NXP ir "Broadcom".
Programinės ir techninės įrangos reikalavimai
"Filemail UAP" parašytas žemo lygio C++ kalba ir gali veikti beveik visuose įrenginiuose ir operacinėse sistemose. Šiuo metu yra išleistos dvejetainės versijos "Windows", "MacOS" ir "Linux". Filemail Desktop yra mūsų pavyzdinė perdavimo priemonė, kurioje naudojama UAP. Taip pat yra konsolinių programų. Filemail UAP buvo smarkiai optimizuota ir turi itin mažą, vos kelių megabaitų, atminties pėdsaką, kartu maksimaliai padidinant duomenų srauto pralaidumą. Be to, siunčiant failus maksimaliu greičiu, ji paprastai naudoja mažiau nei 5 % procesoriaus.
Dviejų krypčių perdavimo pagreitis
"Filemail UAP" naudojamas ir siunčiant, ir atsisiunčiant failus naudojant "Filemail Desktop". Tai reiškia, kad jūs IR jūsų klientai bei verslo partneriai gali pasinaudoti šia technologija.
"Filemail" UDP perdavimo pagreitinimo pradžia
"Filemail UDP Transfer Acceleration" yra integruota į mūsų "Filemail Desktop" programą ir automatiškai įjungiama siunčiant ir atsisiunčiant failus. Filemail Desktop yra nemokama ir nereikalauja prisijungimo. UDP perdavimo spartinimas žmonėms.