QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana

Ny protocol QUIC dia tena mahaliana ny mijery, izany no antony tianay manoratra momba izany. Saingy raha toa ny zavaboary teo aloha momba ny QUIC dia ara-tantara (tantara eo an-toerana, raha tianao) ny natiora sy ny fitaovana, anio dia faly izahay mamoaka fandikan-teny hafa - hiresaka momba ny tena fampiharana ny protocol amin'ny taona 2019 izahay. Ambonin'izany, tsy miresaka fotodrafitrasa kely miorina amin'ny antsoina hoe garazy isika, fa ny Uber, izay miasa saika manerana izao tontolo izao. Ny fomba nahatongavan'ny injenieran'ny orinasa nanapa-kevitra ny hampiasa QUIC amin'ny famokarana, ny fomba nanatanterahan'izy ireo ny fitsapana ary ny zavatra hitany taorian'ny namoahana azy tamin'ny famokarana - teo ambanin'ny fanapahana.

Azo kitihina ny sary. Ankafizo ny mamaky!

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana

Uber dia manana sehatra manerantany, izany hoe tanΓ n-dehibe 600, izay ny fampiharana tsirairay dia miankina tanteraka amin'ny Internet tsy misy tariby avy amin'ny mpandraharaha finday 4500 mahery. Manantena ny mpampiasa fa tsy haingana fotsiny ny fampiharana, fa amin'ny fotoana tena izy - mba hahatratrarana izany, ny fampiharana Uber dia mila fahatarana ambany sy fifandraisana azo antoka. Indrisy, fa ny stack HTTP / 2 tsy mandeha tsara amin'ny tamba-jotra tsy misy tariby mavitrika sy mora very. Tsapanay fa amin'ity tranga ity, ny fampisehoana ambany dia mifandray mivantana amin'ny fampiharana TCP amin'ny kernel rafitra miasa.

Mba hamahana ny olana dia nampihatra izahay QUIC, protocole multiplexing fantsona maoderina izay manome antsika fifehezana bebe kokoa amin'ny fanatanterahana ny protocol transport. Amin'izao fotoana izao ny vondrona miasa IETF manara-penitra ny QUIC ho HTTP / 3.

Taorian'ny fitsapana be dia be, dia nanatsoaka hevitra izahay fa ny fampiharana ny QUIC amin'ny fampiharana anay dia mety hiteraka fahatarana ambany kokoa raha oharina amin'ny TCP. Hitanay ny fihenan'ny 10-30% ho an'ny fifamoivoizana HTTPS amin'ny fampiharana mpamily sy mpandeha. QUIC koa dia nanome anay ny fanaraha-maso farany amin'ny fonosana mpampiasa.

Amin'ity lahatsoratra ity, mizara ny traikefanay izahay amin'ny fanatsarana ny TCP ho an'ny fampiharana Uber amin'ny alΓ lan'ny stack izay manohana ny QUIC.

Ny teknolojia farany: TCP

Ankehitriny, TCP no protocole fitaterana be mpampiasa indrindra amin'ny fandefasana ny fifamoivoizana HTTPS amin'ny Internet. Ny TCP dia manome onjam-peo azo ianteherana, ka miatrika ny fitohanana ny tambajotra sy ny fahaverezan'ny sosona rohy. Ny fampiasana be dia be ny TCP ho an'ny fifamoivoizana HTTPS dia noho ny fisian'ny teo aloha (saika ny OS rehetra dia misy TCP), ny fisian'ny ankamaroan'ny fotodrafitrasa (toy ny mpandrindra entana, ny proxy HTTPS ary ny CDN), ary ny fiasa ivelan'ny boaty izay misy. amin'ny ankamaroan'ny sehatra sy tambajotra.

Ny ankamaroan'ny mpampiasa dia mampiasa ny fampiharana anay eny an-dalana, ary ny fahataran'ny rambo TCP dia tsy teo akaikin'ny fitakian'ny fifamoivoizana HTTPS tena misy anay. Raha tsorina dia niaina izany ireo mpampiasa manerana izao tontolo izao - Ny sary 1 dia mampiseho fahatarana any amin'ireo tanΓ n-dehibe:

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 1: Miovaova ny halavan'ny rambony manerana ny tanΓ na lehibe ao Uber.

Na dia ambony kokoa noho ny any Etazonia sy UK aza ny fahatarana amin'ny tambajotra indiana sy breziliana, dia ambony lavitra noho ny fahatarana antonony ny fahatarana ny rambony. Ary marina izany na dia ho an'ny Etazonia sy UK aza.

TCP amin'ny fampisehoana an'habakabaka

TCP dia noforonina ho an'ny tariby tambajotra, izany hoe, miaraka amin'ny fanamafisana ny rohy azo vinavinaina. Na izany aza, Wireless manana ny toetrany sy ny fahasahiranany ny tambajotra. Voalohany, ny tamba-jotra tsy misy tariby dia mety ho very noho ny fanelingelenana sy ny fihenan'ny famantarana. Ohatra, ny tambajotra Wi-Fi dia saro-pady amin'ny microwave, bluetooth ary onjam-peo hafa. Ny tambajotra finday dia mijaly noho ny fahaverezan'ny famantarana (lalana very) noho ny fisaintsainana/fisondrotana ny famantarana avy amin'ny zavatra sy trano, ary koa avy amin'ny fitsabahan'ny avy amin'ny mpifanolo-bodirindrina tilikambo sela. Izany dia mitarika ho amin'ny manan-danja kokoa (4-10 heny) ary maro kokoa Fotoana fihodinana (RTT) ary ny fahaverezan'ny fonosana raha oharina amin'ny fifandraisana an-tariby.

Mba hiadiana amin'ny fiovaovan'ny bandwidth sy ny fatiantoka, matetika ny tambajotra finday dia mampiasa buffer lehibe ho an'ny fipoahana fifamoivoizana. Mety hiteraka filaharana tafahoatra izany, izay midika fa tara lava kokoa. Matetika ny TCP dia mandray an'io filaharana io ho toy ny fako noho ny fahataperan'ny fotoana lava, ka ny TCP dia mirona amin'ny fampitana ary noho izany dia mameno ny buffer. Ity olana ity dia fantatra amin'ny hoe bufferbloat (buffering tamba-jotra tafahoatra, bloat buffer), ary tena marina izany olana lehibe Internet maoderina.

Farany, miovaova arakaraka ny mpitatitra, ny faritra ary ny fotoana ny fahombiazan'ny tambajotra finday. Ao amin'ny sary 2, nanangona ny fahatarana median'ny fifamoivoizana HTTPS manerana ny sela ao anatin'ny elanelana 2 kilometatra izahay. Angon-drakitra voaangona ho an'ny mpandraharaha finday roa lehibe any Delhi, India. Araka ny hitanao dia miovaova ny fampisehoana isaky ny sela. Ary koa, ny famokaran'ny mpandraharaha iray dia tsy mitovy amin'ny famokaran'ny faharoa. Izany dia misy fiantraikany amin'ny anton-javatra toy ny lamina fidirana amin'ny tambajotra amin'ny fiheverana ny fotoana sy ny toerana misy azy, ny fivezivezen'ny mpampiasa, ary koa ny fotodrafitrasa tambajotra amin'ny fiheverana ny haavon'ny tilikambo sy ny tahan'ny karazana tambajotra (LTE, 3G, sns.).

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 2. Fahatarana amin'ny fampiasana radius 2 km ho ohatra. Delhi, India.

Ary koa, miovaova ny fahombiazan'ny tambajotra finday rehefa mandeha ny fotoana. Ny sary 3 dia mampiseho ny fahatarana median amin'ny andro amin'ny herinandro. Hitanay ihany koa ny fahasamihafana amin'ny ambaratonga kely kokoa, ao anatin'ny iray andro sy ora iray.

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 3. Ny fahataran'ny rambo dia mety miovaova be isan'andro, fa ho an'ny mpandraharaha iray ihany.

Ireo rehetra voalaza etsy ambony ireo dia mahatonga ny TCP ho tsy mahomby amin'ny tambajotra tsy misy tariby. Na izany aza, alohan'ny hitadiavana safidy hafa amin'ny TCP dia te-hamolavola fahatakarana mazava tsara momba ireto teboka manaraka ireto izahay:

  • Moa ve ny TCP no tena meloka ao ambadiky ny fahatarana ny rambony amin'ny fampiharanay?
  • Misy fahatarana lehibe sy isan-karazany ve ny tambajotra maoderina (RTT)?
  • Inona no fiantraikan'ny RTT sy ny fatiantoka amin'ny fahombiazan'ny TCP?

TCP Performance Analysis

Mba hahatakarana ny fomba namakafakana ny zava-bitan'ny TCP, andeha hojerentsika haingana ny fomba famindra ny angona avy amin'ny mpandefa mankany amin'ny mpandray ny TCP. Voalohany, mametraka fifandraisana TCP ny mpandefa, manao fomba telo tanany: Mandefa fonosana SYN ny mpandefa, miandry fonosana SYN-ACK avy amin'ny mpandray, avy eo mandefa fonosana ACK. Fandalovana faharoa sy fahatelo fanampiny no lany amin'ny fametrahana ny fifandraisana TCP. Ny mpandray dia manaiky ny fandraisana ny fonosana tsirairay (ACK) mba hahazoana antoka ny fandefasana azo antoka.

Raha very ny fonosana na ACK, dia alefa indray ny mpandefa rehefa tapitra ny fotoana (RTO, tapitra ny fandefasana indray). Ny RTO dia kajy mavitrika mifototra amin'ny anton-javatra isan-karazany, toy ny fahatarana RTT andrasana eo amin'ny mpandefa sy ny mpandray.

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 4. Ny fifanakalozana fonosana amin'ny TCP/TLS dia misy mekanika fandefasana indray.

Mba hamaritana ny fomba fiasan'ny TCP amin'ny fampiharanay, dia nanara-maso ny fonosana TCP izahay tcpdump mandritra ny herinandro amin'ny fifamoivoizan'ny ady avy amin'ireo mpizara indiana edge. Avy eo dia nandinika ny fifandraisana TCP izahay tcptrace. Fanampin'izany, namorona rindranasa Android izahay izay mandefa fifamoivoizana alaina amin'ny mpizara fitsapana, maka tahaka ny fifamoivoizana tena izy araka izay azo atao. Nozaraina tamin'ny mpiasa maromaro ny finday avo lenta miaraka amin'ity fampiharana ity, izay nanangona hazo nandritra ny andro maromaro.

Nifanitsy tamin'ny tsirairay ny vokatry ny fanandramana roa. Nahita fahatarana RTT avo izahay; ny sandan'ny rambony dia saika avo 6 heny noho ny sandan'ny mediana; mihoatra ny 1 segondra ny salan'isan'ny fahatarana. Betsaka ny fifandraisana very, ka nahatonga ny TCP handefa indray ny 3,5% amin'ny fonosana rehetra. Any amin’ny faritra mitohana toy ny seranam-piaramanidina sy gara dia nahitana fatiantoka 7%. Ireo valiny ireo dia miteraka fisalasalana amin'ny fahendrena mahazatra izay ampiasaina amin'ny tambajotra finday mandroso retransmission circuits mampihena be ny fatiantoka eo amin'ny sehatry ny fitaterana. Ireto ambany ireto ny valin'ny fitsapana avy amin'ny fampiharana "simulator":

Metrika tambajotra
Ny soatoavina

RTT, milisegondra [50%,75%, 95%,99%]
[350, 425, 725, 2300]

RTT divergence, segondra
Amin'ny ankapobeny ~ 1,2 s

Ny fahaverezan'ny fonosana amin'ny fifandraisana tsy milamina
Salan'isa ~ 3.5% (7% amin'ny faritra be entana)

Saika ny antsasany amin'ireo fifandraisana ireo dia nanana fatiantoka iray farafahakeliny, ny ankamaroany dia fonosana SYN sy SYN-ACK. Ny ankamaroan'ny fampiharana TCP dia mampiasa sanda RTO amin'ny 1 segondra ho an'ny fonosana SYN, izay mitombo haingana amin'ny fatiantoka manaraka. Mety hitombo ny fe-potoana fametahana fampiharana noho ny faharetan'ny TCP hananganana fifandraisana.

Raha ny fonosana angon-drakitra, ny sanda RTO avo lenta dia mampihena be ny fampiasana mahasoa ny tambajotra amin'ny fisian'ny fatiantoka mandalo amin'ny tambajotra tsy misy tariby. Hitanay fa eo amin'ny 1 segondra eo ho eo ny salan'isan'ny fampitana indray miaraka amin'ny fahatarana efa ho 30 segondra. Ireo fahatarana ambony amin'ny ambaratonga TCP ireo dia nahatonga ny fotoana fiatoan'ny HTTPS sy ny fangatahana indray, ka vao mainka mampitombo ny fahatarana sy ny tsy fahombiazan'ny tambajotra.

Raha manodidina ny 75 ms ny isan-jato faha-425 amin'ny RTT voarefy, saika 75 segondra kosa ny isan-jato faha-3 ho an'ny TCP. Izany dia manondro fa ny fatiantoka dia nahatonga ny TCP handray pass 7-10 mba hampandeha tsara ny angona. Mety ho vokatry ny kajy RTO tsy mahomby izany, ny tsy fahafahan'ny TCP mamaly haingana ny fatiantoka fonosana farany ao amin'ny varavarankely sy ny tsy fahombiazan'ny algorithm fanaraha-maso ny fitohanana, izay tsy manavaka ny fahaverezan'ny Wireless sy ny fatiantoka noho ny fitohanana tambajotra. Ireto ambany ireto ny valin'ny fitsapana fahaverezan'ny TCP:

TCP antontan'isa very packet
zava-dehibe

Isan-jaton'ny fifandraisana misy fatiantoka 1 farafahakeliny
45%

Isan-jaton'ny fifandraisana misy fatiantoka mandritra ny fananganana fifandraisana
30%

Isan-jaton'ny fifandraisana amin'ny fatiantoka mandritra ny fifanakalozana angona
76%

Fizarana fahatarana amin'ny fandefasana indray, segondra [50%, 75%, 95%,99%] [1, 2.8, 15, 28]

Fizarana ny isan'ny fandefasana indray ho an'ny fonosana iray na fizarana TCP
[1,3,6,7]

Fampiharana ny QUIC

Novolavolain'ny Google tany am-boalohany, ny QUIC dia protocole fitaterana maoderina misy kofehy maromaro izay mandeha eo ambonin'ny UDP. Ao amin'ny QUIC amin'izao fotoana izao dingana manara-penitra (Efa nanoratra izahay fa misy, toy ny hoe, dikan-teny roa an'ny QUIC, mahaliana afaka manaraka ny rohy – eo ho eo. mpandika teny). Araka ny asehon'ny sary 5, ny QUIC dia apetraka eo ambanin'ny HTTP/3 (raha ny marina, ny HTTP/2 eo an-tampon'ny QUIC dia ny HTTP/3, izay efa manara-penitra ankehitriny). Izy io dia manolo ny ampahany HTTPS sy TCP amin'ny alΓ lan'ny fampiasana UDP hamorona fonosana. Ny QUIC dia tsy manohana afa-tsy ny famindrana angon-drakitra azo antoka satria TLS dia natsangana tanteraka ao amin'ny QUIC.

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 5: QUIC dia mandeha eo ambanin'ny HTTP/3, manolo ny TLS, izay nandeha teo ambanin'ny HTTP/2 teo aloha.

Ireto ambany ireto ny antony naharesy lahatra anay hampiasa QUIC ho an'ny fanamafisana TCP:

  • Fametrahana fifandraisana 0-RTT. Ny QUIC dia mamela ny fampiasana indray ny fanomezan-dΓ lana avy amin'ny fifandraisana teo aloha, mampihena ny isan'ny fifampikasohana fiarovana. Amin'ny ho avy TLS1.3 hanohana ny 0-RTT, fa mbola ilaina ny fifampikasohana TCP telozoro.
  • mandresy ny fanakanana HoL. Mampiasa fifandraisana TCP iray isaky ny mpanjifa ny HTTP/2 mba hanatsarana ny fahombiazany, saingy mety hitarika amin'ny fanakanana HoL (head-of-line) izany. Ny QUIC dia manatsotra ny multiplexing ary mandefa ny fangatahana amin'ny fampiharana tsy miankina.
  • fanaraha-maso ny fitohanana. QUIC dia mipetraka amin'ny sosona fampiharana, manamora ny fanavaozana ny algorithm fitaterana lehibe izay mifehy ny fandefasana mifototra amin'ny mari-pamantarana tambajotra (isan'ny fatiantoka na RTT). Ny ankamaroan'ny fampiharana TCP dia mampiasa ny algorithm toratelo, izay tsy mety indrindra amin'ny fifamoivoizana saro-pady. Algorithm novolavolaina vao haingana toy ny BBR, modely tsara kokoa amin'ny tambajotra ary amboary ny fahatarana. QUIC dia ahafahanao mampiasa BBR sy manavao ity algorithm ity rehefa ampiasaina. fanatsarana.
  • famenoana ny fatiantoka. QUIC dia miantso TLP roa (rambo very probe) alohan'ny hanombohan'ny RTO - na dia tena miharihary aza ny fatiantoka. Tsy mitovy amin'ny fampiharana TCP izany. Ny TLP dia mamerina amin'ny ankapobeny ny fonosana farany (na ilay vaovao, raha misy) mba hanesorana famenoana haingana. Ny fikarakarana ny fahatarana amin'ny rambony dia tena ilaina amin'ny fomba fiasan'ny Uber ny tambajotrany, izany hoe amin'ny famindrana angon-drakitra fohy, tsindraindray ary saro-pady.
  • optimisΓ© ACK. Satria ny fonosana tsirairay dia manana laharana filaharana tokana, tsy misy olana fanavakavahana fonosana rehefa averina alefa. Ny fonosana ACK ihany koa dia misy fotoana handrafetana ny fonosana ary hamorona ACK amin'ny lafiny mpanjifa. Ireo endri-javatra ireo dia manome antoka fa ny QUIC dia manao kajy RTT marina kokoa. Ny ACK amin'ny QUIC dia manohana tarika 256 NACK, manampy ny mpandefa hahatohitra kokoa ny fanodikodinan'ny fonosana ary hampiasa bita vitsy kokoa mandritra ny dingana. Selective ACK (lasakany avy) ao amin'ny TCP dia tsy mamaha ity olana ity amin'ny tranga rehetra.
  • fifandraisana fifindra-monina. Ny fifandraisana QUIC dia fantatra amin'ny alΓ lan'ny ID 64-bit, ka raha miova ny adiresy IP ny mpanjifa, dia azo ampiasaina hatrany amin'ny adiresy IP vaovao tsy misy fahatapahana ny ID fifandraisana taloha. Fomba fanao mahazatra indrindra ho an'ny rindranasa finday izay ifindran'ny mpampiasa eo anelanelan'ny Wi-Fi sy ny fifandraisana finday.

Alternatives ho an'ny QUIC

Nihevitra fomba hafa hamahana ny olana izahay alohan'ny hisafidianana ny QUIC.

Ny zavatra voalohany nandramanay dia ny fametrahana TPC PoPs (Points of Presence) mba hampitsaharana ny fifandraisana TCP akaiky kokoa ny mpampiasa. Amin'ny ankapobeny, ny PoPs dia manafoana ny fifandraisana TCP amin'ny fitaovana finday manakaiky kokoa ny tambajotra finday ary mamerina ny fifamoivoizana mankany amin'ny fotodrafitrasa voalohany. Amin'ny fampitsaharana ny TCP akaiky kokoa dia afaka mampihena ny RTT isika ary miantoka fa ny TCP dia mamaly kokoa ny tontolo tsy misy tariby mavitrika. Na izany aza, ny fanandramanay dia naneho fa ny ankamaroan'ny RTT sy ny fatiantoka dia avy amin'ny tambajotra finday ary ny fampiasana PoPs dia tsy manome fanatsarana ny fahombiazany.

Nijery ihany koa ny fanitsiana ny masontsivana TCP izahay. Sarotra ny fametrahana tsangambato TCP amin'ireo mpizara sisiny samihafa satria ny TCP dia manana fampiharana tsy mitovy amin'ny dikan-teny OS samihafa. Sarotra ny nampihatra izany ary nanandrana ireo tefy tambajotra samihafa. Ny fanamboarana TCP mivantana amin'ny fitaovana finday dia tsy azo natao noho ny tsy fisian'ny fahazoan-dΓ lana. Ny zava-dehibe kokoa, ny endri-javatra toy ny fifandraisana 0-RTT sy ny vinavinan'ny RTT nohatsaraina dia tena zava-dehibe amin'ny rafitry ny protocol, ary noho izany dia tsy azo atao ny mahazo tombony lehibe amin'ny alΓ lan'ny fametahana TCP irery.

Farany, nanombantombana ny protocole maromaro mifototra amin'ny UDP izahay izay mamaha olana amin'ny fandefasana horonan-tsary β€” te-hijery raha hanampy amin'ny raharahanay ireo protocole ireo. Indrisy anefa fa tsy ampy amin'ny sehatra fiarovana maro izy ireo, ary nitaky fifandraisana TCP fanampiny ho an'ny metadata sy fampahalalana momba ny fanaraha-maso.

Ny fikarohana nataonay dia naneho fa ny QUIC angamba no hany protocole afaka manampy amin'ny olan'ny fifamoivoizana amin'ny Internet, raha jerena ny fiarovana sy ny fahombiazany.

Fampidirana ny QUIC amin'ny sehatra

Mba hampidirana tsara ny QUIC sy hanatsara ny fampandehanana ny fampiharana amin'ny tontolon'ny fifandraisana ratsy dia nosoloinay ny protocole QUIC ny stack taloha (HTTP/2 mihoatra ny TLS/TCP). Nampiasa ny tranokalan'ny tambajotra izahay Cronet avy amin'ny Tetikasa Chromium, izay misy ny dikan-teny Google tany am-boalohany - gQUIC. Ity fampiharana ity dia hatsaraina hatrany mba hanarahana ny fepetra farany IETF.

Nampiditra Cronet tamin'ny fampiharana Android izahay voalohany mba hanampiana ny QUIC. Ny fampidirana dia natao mba hampihenana ny fandaniana amin'ny fifindra-monina araka izay azo atao. Raha tokony hanolo tanteraka ny tambazotran'ny tambajotra taloha izay nampiasa ny tranomboky OkHttp, dia nampiditra Cronet teo ambanin'ny rafitra OkHttp API. Amin'ny fanaovana ny fampidirana amin'ity fomba ity, dia nisoroka ny fiovan'ny antso an-tambajotra izahay (izay ampiasain'ny Famerenana) amin'ny ambaratonga API.

Mitovy amin'ny fomba fiasa ho an'ny fitaovana Android, nampiharinay tamin'ny fampiharana Uber amin'ny iOS ny Cronet, manakana ny fifamoivoizana HTTP avy amin'ny tambajotra. APImampiasa NSURLProtocol. Ity abstraction ity, nomen'ny iOS Foundation, dia mitantana ny angon-drakitra URL manokana momba ny protocol ary manome antoka fa afaka mampiditra Cronet ao amin'ny rindranasa iOS izahay nefa tsy misy vidim-pifindra-monina.

Famitahana QUIC amin'ny Google Cloud Balancers

Amin'ny lafiny aoriana, ny fahavitan'ny QUIC dia omen'ny fotodrafitrasa fampifandanjana Google Cloud Load, izay mampiasa alt-svc lohapejy ho valin'ny fanohanana ny QUIC. Amin'ny ankapobeny, ny balancer dia manampy lohapejy alt-svc amin'ny fangatahana HTTP tsirairay, ary izany dia efa manamarina ny fanohanan'ny QUIC ho an'ny sehatra. Rehefa mahazo valiny HTTP miaraka amin'ity lohapejy ity ny mpanjifa Cronet dia mampiasa QUIC ho an'ny fangatahana HTTP manaraka amin'io sehatra io. Rehefa vita ny QUIC, ny fotodrafitrasanay dia mandefa an'io hetsika io amin'ny alΓ lan'ny HTTP2/TCP mankany amin'ny foibe data.

Fampisehoana: vokatra

Ny fahombiazan'ny vokatra no antony lehibe indrindra amin'ny fitadiavana protocol tsara kokoa. Nanomboka teo dia namorona fijoroana izahay tambajotra emulationmba hahitana ny fomba fitondran'i QUIC amin'ny mombamomba ny tambajotra samihafa. Mba hitsapana ny zava-bitan'ny QUIC amin'ny tambajotra tena izy, dia nanao andrana izahay teo am-pandehanana nanerana an'i New Delhi tamin'ny fampiasana fifamoivoizana tambajotra tena mitovy amin'ny antso HTTP ao amin'ny fampiharana mpandeha.

Andrana 1

Fitaovana ho an'ny fanandramana:

  • andramo ny fitaovana Android miaraka amin'ny OkHttp sy Cronet stacks mba hahazoana antoka fa avelanay ny fifamoivoizana HTTPS amin'ny TCP sy QUIC tsirairay avy;
  • mpizara emulation miorina amin'ny Java izay mandefa lohapejy HTTPS mitovy amin'ny valiny ary mameno ny fitaovana mpanjifa mba handraisana fangatahana avy amin'izy ireo;
  • rahona proxy izay hita ara-batana akaiky an'i India mba hampitsahatra ny fifandraisana TCP sy QUIC. Raha ny fampitsaharana ny TCP dia nampiasa proxy mivadika izahay NGINX, sarotra ny nahita proxy mivadika loharano misokatra ho an'ny QUIC. Nanamboatra proxy mivadika ho an'ny QUIC ny tenanay tamin'ny fampiasana ny stack QUIC fototra avy amin'ny Chromium sy namoaka izany ho chromium ho open source.

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoanaQUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Figure 6. Ny suite test road TCP vs QUIC dia ahitana fitaovana Android misy OkHttp sy Cronet, proxy rahona amin'ny famaranana ny fifandraisana, ary mpizara emulation.

Andrana 2

Rehefa nataon'i Google ho azo ampiasaina amin'ny Google Cloud Load Balancing, nampiasa ny fanisana mitovy ihany izahay, saingy tamin'ny fanovana iray: raha tokony ho NGINX, dia naka Google load balancers izahay mba hampitsahatra ny fifandraisana TCP sy QUIC amin'ny fitaovana, ary koa ny fandefasana ny fifamoivoizana HTTPS mankany amin'ny lohamilina emulation. Mizara manerana an'izao tontolo izao ny mpandrindra, fa ampiasao ny mpizara PoP akaiky indrindra amin'ny fitaovana (noho ny geolocation).

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 7. Tamin'ny andrana faharoa, tianay ny hampitaha ny fahavitan'ny TCP sy ny QUIC: mampiasa Google Cloud sy mampiasa ny proxy cloud.

Vokatr'izany dia nisy fanambarana maromaro niandry anay:

  • Ny fampitsaharana amin'ny alΓ lan'ny PoP dia nanatsara ny fahombiazan'ny TCP. Koa satria ny mpifandanja dia manafoana ny fifandraisana TCP manakaiky kokoa ny mpampiasa ary tena optimized, izany dia miteraka RTT ambany kokoa, izay manatsara ny fahombiazan'ny TCP. Ary na dia tsy dia nisy fiantraikany firy aza ny QUIC, dia mbola nihoatra noho ny TCP izy tamin'ny resaka fampihenana ny faharetan'ny rambony (amin'ny 10-30 isan-jato).
  • voa ny rambo tambajotra hops. Na dia lavitry ny fitaovana aza ny proxy QUIC anay (tokony ho 50 ms ambony kokoa) noho ny mpandrindra entana an'ny Google, dia nitondra fampisehoana mitovy amin'izany izy io - fampihenana 15% ny fahatarana mifanohitra amin'ny fampihenana 20% ny isan-jato faha-99 ho an'ny TCP. Izany dia manondro fa ny tetezamita farany kilaometatra dia bottleneck ao amin'ny tambajotra.

QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoanaQUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 8: Ny valin'ny fanandramana roa dia mampiseho fa ny QUIC dia mihoatra lavitra noho ny TCP.

Fifamoivoizana ady

Nahazo aingam-panahy avy amin'ny fanandramana, nampihatra ny fanohanan'ny QUIC tamin'ny fampiharana Android sy iOS izahay. Nanao fitiliana A/B izahay mba hamaritana ny fiantraikan'ny QUIC any amin'ireo tanΓ na iasan'ny Uber. Amin'ny ankapobeny, nahita fihenam-bidy lehibe tamin'ny fahataran'ny rambo izahay manerana ny faritra roa, ny mpandraharahan'ny fifandraisandavitra ary ny karazana tambajotra.

Ny kisary etsy ambany dia mampiseho ny isan-jaton'ny fanatsarana ny rambony (95 sy 99 isan-jato) araka ny faritra macro sy karazana tambajotra samihafa - LTE, 3G, 2G.
QUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoanaQUIC protocol in action: ny fomba nampiharan'i Uber azy io mba hanatsarana ny fampisehoana
Sary 9. Tamin'ny andrana ady, ny QUIC dia nihoatra ny TCP tamin'ny resaka latency.

Mandrosoa ihany

Angamba vao fanombohana fotsiny izany - ny famoahana ny QUIC ho amin'ny famokarana dia nanome fahafahana mahagaga hanatsarana ny fahombiazan'ny fampiharana amin'ny tambajotra stable sy tsy miovaova, izany hoe:

Nitombo ny fandrakofana

Rehefa avy nandinika ny fahombiazan'ny protocol amin'ny fifamoivoizana tena izy, dia hitanay fa manodidina ny 80% amin'ny fivoriana no nahomby tamin'ny QUIC всСх fangatahana, raha ny 15% amin'ny fotoam-pivoriana dia nampiasa fitambaran'ny QUIC sy TCP. Heverintsika fa ny fampifangaroana dia noho ny famakian'ny tranomboky Cronet miverina amin'ny TCP, satria tsy afaka manavaka ny tsy fahombiazan'ny UDP tena izy sy ny toetry ny tambajotra. Eo am-pikarohana vahaolana amin'ity olana ity izahay amin'izao fotoana izao eo am-panatanterahana ny fampiharana ny QUIC.

QUIC optimization

Ny fifamoivoizana avy amin'ny fampiharana finday dia saro-pady, fa tsy saro-pady. Ary koa, ny fampiharanay dia ampiasaina indrindra amin'ny tambajotra finday. Mifototra amin'ny andrana, mbola avo ny fetran'ny rambony na dia mampiasa proxy hamarana ny TCP sy QUIC akaikin'ny mpampiasa aza. Mazoto mitady fomba hanatsarana ny fitantanana fitohanana sy hanatsarana ny fahombiazan'ny QUIC fatiantoka algorithms.

Miaraka amin'ireo sy fanatsarana maro hafa, mikasa ny hanatsara ny traikefan'ny mpampiasa izahay na inona na inona tambajotra sy faritra, ka mahatonga ny fitaterana entana mora sy tsy misy olana ho mora idirana manerana izao tontolo izao.

Source: www.habr.com

Add a comment