Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita

Iyo QUIC protocol inonakidza kwazvo kuona, ndosaka tichida kunyora nezvayo. Asi kana zvinyorwa zvekare nezve QUIC zvaive zvenhoroondo (nhoroondo yenzvimbo, kana uchida) zvisikwa uye hardware, nhasi isu tinofara kuburitsa dudziro yerumwe rudzi - tichataura nezvekushandiswa chaiko kweprotocol muna 2019. Uyezve, hatisi kutaura nezvezvivakwa zvidiki zvakavakirwa mune inonzi garaji, asi nezveUber, inoshanda kunenge pasirese. Kuti mainjiniya ekambani akasvika sei padanho rekushandisa QUIC mukugadzira, maitirwo avakaita bvunzo uye zvavakaona mushure mekuiburitsa mukugadzira - pazasi pekucheka.

Mifananidzo yacho inodzvanya. Nakidzwa nekuverenga!

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita

Uber ine chiyero chepasirese, kureva mazana matanhatu emaguta ekuvapo, mune imwe neimwe iyo application inotsamira zvachose paWireya Internet kubva kune anopfuura mazana mana nemazana mashanu emafoni anoshanda. Vashandisi vanotarisira kuti app haingoite nekukurumidza, asi munguva chaiyo - kuti uite izvi, iyo Uber app inoda yakaderera latency uye yakavimbika yekubatanidza. Maiwe, asi murwi HTTP / 2 haaite zvakanaka mune ane simba uye kurasikirwa-ane wireless network. Takaona kuti mune iyi kesi, kuita kwakaderera kwakabatana zvakananga neTCP kuita mumashandisi ekushandisa system kernels.

Kuti tigadzirise dambudziko racho, takanyorera QUIC, nzira yemazuva ano multiplexing protocol inotipa humwe hutungamiri pamusoro pekushanda kweprotocol yekufambisa. Parizvino boka rinoshanda IETF inomisa QUIC se HTTP / 3.

Mushure mekuyedzwa kwakawanda, takagumisa kuti kushandisa QUIC mukushandisa kwedu kwaizoguma nekudzika muswe latencies kana ichienzaniswa neTCP. Isu takaona kudzikiswa kwehuwandu hwe10-30% yeHTTPS traffic mutyairi uye mufambi maapplication. QUIC yakatipawo magumo-kusvika-kumagumo kutonga pamusoro pevashandisi mapakeji.

Muchinyorwa chino, tinogovana ruzivo rwedu mukugadzirisa TCP yeUber maapplication tichishandisa stack inotsigira QUIC.

Tekinoroji yazvino: TCP

Nhasi, TCP ndiyo inonyanya kushandiswa yekufambisa protocol yekuendesa HTTPS traffic paInternet. TCP inopa yakavimbika rukova rwemabheti, nekudaro kugadzirisa netiweki congestion uye yekubatanidza layer kurasikirwa. Iko kushandiswa kwakapararira kweTCP yeHTTPS traffic kunokonzerwa neiyo yekare ubiquity (inenge yese OS ine TCP), kuwanikwa pazvivakwa zvakawanda (senge mitoro inoremedza, HTTPS proxies uye CDNs), uye kunze-kwe-the-bhokisi kushanda kunowanikwa. paanenge akawanda mapuratifomu uye network.

Vazhinji vashandisi vanoshandisa yedu app pakuenda, uye TCP muswe latency pakanga pasina padyo nezvinodiwa zvedu chaiyo-nguva HTTPS traffic. Zvichitaurwa zviri nyore, vashandisi pasi rese vakasangana neizvi - Mufananidzo 1 unoratidza kunonoka mumaguta makuru:

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 1: Muswe latency inosiyana mumaguta makuru eUber.

Kunyangwe latency muIndia neBrazil network yaive yakakwira kupfuura muUS neUK, muswe latency wakakwira zvakanyanya kupfuura avhareji latency. Uye izvi ndezvechokwadi kunyangwe kuUS neUK.

TCP pamusoro pekuita kwemhepo

TCP yakagadzirirwa wired network, ndiko kuti, nekusimbisa kune zvinonyanya kufanotaurwa zvinongedzo. Zvisinei, waya network ine maitiro avo uye matambudziko. Chekutanga, mawireless network anotarirwa nekurasikirwa nekuda kwekuvhiringidza uye kusaina chiratidzo. Semuenzaniso, Wi-Fi network inonzwa kune microwaves, bluetooth uye mamwe mafungu eredhiyo. Maserura network anotambura nekurasikirwa kwechiratidzo (nzira yakarasika) nekuda kwekufungisisa / kutorwa kwechiratidzo nezvinhu uye zvivakwa, uye kubva kupindira kubva kuvakidzani sero shongwe. Izvi zvinotungamirira kune zvakakosha (4-10 nguva) uye zvakasiyana-siyana Round Round Time (RTT) uye kurasikirwa kwepaketi kuenzaniswa nekubatanidza waya.

Kurwisa kuchinjika uye kurasikirwa kwebhanwidth, nharembozha dzinowanzo shandisa mabhafa makuru ekuputika kwetraffic. Izvi zvinogona kutungamirira kumitsetse yakanyanyisa, zvinoreva kunonoka kwenguva refu. Kazhinji TCP inobata iyi mutsara semarara nekuda kwekurebesa nguva, saka TCP inoda kudzosera uye nekudaro inozadza buffer. Dambudziko iri rinozivikanwa se bufferbloat (yakawandisa network buffering, buffer bloat), uye izvi zvakanyanya dambudziko rakakomba Internet yemazuva ano.

Chekupedzisira, kuita kweserura network kunosiyana nemutakuri, dunhu, uye nguva. Mumufananidzo 2, takaunganidza kunonoka kwepakati kweHTTPS traffic pamaseru mukati mechikamu chemakiromita maviri. Dhata yakaunganidzwa kune maviri makuru maserura anoshanda muDelhi, India. Sezvauri kuona, kuita kunosiyana kubva pasero kuenda kune sero. Zvakare, kugadzirwa kwemumwe mushandisi kunosiyana nekugadzirwa kwechipiri. Izvi zvinopesvedzerwa nezvinhu zvakaita sematanho ekupinda netiweki achifunga nguva nenzvimbo, kufamba kwemushandisi, pamwe netiweki zvivakwa zvichifunga nezve shongwe uye chiyero chemhando dzenetiweki (LTE, 2G, nezvimwewo).

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 2. Kunonoka kushandisa 2 km radius semuenzaniso. Delhi, India.

Zvakare, kuita kwemaserura network kunosiyana nekufamba kwenguva. Mufananidzo 3 unoratidza iyo yepakati latency nezuva revhiki. Takacherechedzawo kusiyana pamwero muduku, mukati mezuva rimwe neawa.

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 3. Kunonoka kwemuswe kunogona kusiyanisa zvakanyanya pakati pemazuva, asi kune mumwe chete anoshanda.

Zvese zviri pamusoro zvinoita kuti TCP isashande mumawireless network. Nekudaro, tisati tatsvaga dzimwe nzira dzeTCP, taida kukudziridza nzwisiso chaiyo pane anotevera mapoinzi:

  • ndiyo TCP honzeri huru kuseri kwemuswe latencies mumashandisirwo edu?
  • Manetiweki emazuva ano ane akakosha uye akasiyana-siyana kunonoka-rwendo-rwendo kunonoka (RTT)?
  • Chii chinokanganisa RTT uye kurasikirwa pakuita kweTCP?

TCP Performance Analysis

Kuti tinzwisise kuti takaongorora sei kuita kweTCP, ngatitarisei nekukurumidza kuti TCP inotamisa sei data kubva kune anoitumira kuenda kune anogamuchira. Kutanga, mutumi anogadza kubatana kweTCP, kuita nzira nhatu kubata maoko: Anotumira anotumira SYN packet, anomirira SYN-ACK packet kubva kune anogamuchira, uye anotumira ACK packet. Yekuwedzera yechipiri neyechitatu pass inopedzwa kumisikidza iyo TCP yekubatanidza. Iye anogamuchira anobvuma kugamuchira yega yega pakiti (ACK) kuti ave nechokwadi chekutumira kwakavimbika.

Kana pakiti kana ACK yakarasika, mutumi anotumirazve mushure menguva yekubuda (RTO, retransmission nguva yapera) RTO inoverengerwa zvine simba zvichibva pane dzakasiyana siyana, senge inotarisirwa kunonoka RTT pakati peanotumira neanotambira.

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 4. Packet exchange pamusoro peTCP / TLS inosanganisira nzira yekudzorerazve.

Kuti tione kuti TCP yakaita sei mumashandisirwo edu, takatarisa TCP mapaketi tichishandisa tcpdump kwevhiki pakurwisa traffic inouya kubva kuIndia edge maseva. Isu takazoongorora iyo TCP yekubatanidza tichishandisa tcptrace. Pamusoro pezvo, isu takagadzira Android application iyo inotumira emulated traffic kune bvunzo server, kutevedzera chaiyo traffic zvakanyanya sezvinobvira. MaSmartphones ane application iyi akagoverwa kune vashandi vakati wandei, vakaunganidza matanda kwemazuva akati wandei.

Migumisiro yezviedzo zvose zviri zviviri zvaienderana. Takaona yakakwirira RTT latencies; muswe tsika dzaive dzinenge 6 nguva dzakakwirira pane yepakati kukosha; iyo arithmetic avhareji yekunonoka inopfuura 1 sekondi. Kubatana kwakawanda kwakarasika, zvichiita kuti TCP itumirezve 3,5% yemapakiti ese. Munzvimbo dzakatsvikinyidzana dzakadai senhandare dzendege nezviteshi zvechitima, takaona kurasikirwa ne7%. Izvi zvinokonzeresa kusahadzika pahuchenjeri hwakajairika hunoshandiswa mumaserura network advanced retransmission circuits kuderedza zvakanyanya kurasikirwa pamwero wekutakura. Pazasi pane mhinduro dzebvunzo kubva kune "simulator" application:

Network metrics
Maitiro

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

RTT divergence, masekondi
Paavhareji ~1,2 s

Kurasikirwa kwepakeji pane zvisina kugadzikana zvinongedzo
Avhareji ~ 3.5% (7% munzvimbo dzakaremerwa)

Inenge hafu yezvibatanidza izvi zvaive nekurasikirwa kwepaketi imwe chete, mazhinji acho SYN uye SYN-ACK mapaketi. Zvizhinji zveTCP zvinoshandiswa zvinoshandisa kukosha kweRTO kwe1 sekondi yeSYN mapaketi, iyo inowedzera exponentially yekurasikirwa kunotevera. Nguva yekurodha application inogona kuwedzera nekuda kweTCP kutora nguva yakareba kuti igadzirise zvinongedzo.

Panyaya yemapakiti edata, yakakwira RTO tsika dzinoderedza zvakanyanya kushandiswa kunobatsira kwetiweki pamberi pekurasikirwa kwechinguvana mumatambo asina waya. Takaona kuti avhareji yenguva yekudzosera ingangoita 1 sekondi nekunonoka kwemuswe kweanosvika masekonzi makumi matatu. Aya akakwira latency padanho reTCP akakonzera nguva yeHTTPS uye zvikumbiro zvekare, zvichiwedzera kuwedzera network latency uye kusashanda.

Nepo iyo 75th percentile yekuyerwa RTT yaive yakatenderedza 425 ms, iyo 75th percentile yeTCP yaive ingangoita 3 masekonzi. Izvi zvinoratidza kuti kurasikirwa kwakaita kuti TCP itore 7-10 inopfuura kuti ibudirire kutumira data. Izvi zvinogona kunge zviri mhedzisiro yekusashanda RTO kuverenga, kusakwanisa kweTCP kukurumidza kupindura kurasikirwa. latest package muhwindo uye kusashanda kwecongestion control algorithm, iyo isingasiyanise pakati pekurasikirwa newaya uye kurasikirwa nekuda kwekusangana kwetiweki. Pazasi pane mhedzisiro yeTCP kurasikirwa bvunzo:

TCP packet kurasikirwa nhamba
ukoshi

Percecent yezvekubatanidza neinenge 1 packet kurasikirwa
45%

Percecent yekubatanidza nekurasikirwa panguva yekuseta yekubatanidza
30%

Mazana ekubatanidza nekurasikirwa panguva yekuchinjana data
76%

Kugovera kwekunonoka mukutumirazve, masekondi [50%, 75%, 95%,99%] [1, 2.8, 15, 28]

Kugoverwa kwenhamba yekudzorerazve kwepaketi imwe kana chikamu cheTCP
[1,3,6,7]

Kushandiswa kweQUIC

Yakagadzirwa neGoogle, QUIC inzira yekufambisa yemazuva ano ine tambo dzakawanda inomhanya pamusoro peUDP. Parizvino QUIC yapinda standardization process (takatonyora kuti kune, sekunge, shanduro mbiri dzeQUIC, dzinoda kuziva anogona kutevera link – approx. muturikiri). Sezvinoratidzwa muFigure 5, QUIC inoiswa pasi peHTTP/3 (chokwadi, HTTP/2 pamusoro peQUIC iHTTP/3, iyo yave kunyatsogadziriswa). Iyo inotsiva zvishoma iyo HTTPS uye TCP maseru nekushandisa UDP kugadzira mapaketi. QUIC inongotsigira kuendesa data kwakachengeteka sezvo TLS yakavakirwa zvizere muQUIC.

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 5: QUIC inomhanya pasi peHTTP/3, ichitsiva TLS, yaimbofamba pasi peHTTP/2.

Pazasi pane zvikonzero zvakatikurudzira kushandisa QUIC yeTCP amplification:

  • 0-RTT yekubatanidza kumisikidzwa. QUIC inobvumira kushandiswazve kwemvumo kubva kune zvakambobatanidzwa, kuderedza huwandu hwekuchengetedza maoko. Mune ramangwana TLS1.3 ichatsigira 0-RTT, asi nzira nhatu dzeTCP kubata maoko zvicharamba zvichidikanwa.
  • kukunda HoL ichivharira. HTTP/2 inoshandisa imwe TCP yekubatanidza pamutengi kuti ivandudze mashandiro, asi izvi zvinogona kutungamirira kuHoL (head-of-line) ichivharira. QUIC inorerutsa kuwanda uye inopa zvikumbiro kune application yakazvimirira.
  • congestion control. QUIC inogara padanho rekushandisa, zvichiita kuti zvive nyore kugadzirisa iyo huru yekufambisa algorithm inodzora kutumira zvichibva panetiweki paramita (nhamba yekurasikirwa kana RTT). Mazhinji mashandisirwo eTCP anoshandisa iyo algorithm CUBIC, iyo isiri yakakwana kune latency-sensitive traffic. Ichangobva kugadzirwa algorithms senge BBR, yakanyatso kutevedzera network uye optimize latency. QUIC inokutendera iwe kushandisa BBR uye kugadzirisa iyi algorithm sekushandiswa kwairi kuitwa. kuvandudzika.
  • kuzadzikiswa kwekurasikirwa. QUIC inodana maTLP maviri (muswe kurasikirwa probe) RTO isati yatanga - kunyangwe kana kurasikirwa kuchionekwa zvakanyanya. Izvi zvakasiyana nekushandiswa kweTCP. TLP inotumirazve kunyanya pakiti yekupedzisira (kana iyo nyowani, kana iripo) kukonzeresa kukurumidza kuzadza. Kubata kunonotsa muswe kunonyanya kubatsira pamashandisiro anoita Uber network yayo, inova kwenguva pfupi, sporadic, uye latency-sensitive data transfers.
  • yakagadziridzwa ACK. Sezvo pakiti imwe neimwe ine nhamba yakasiyana yekutevedzana, hapana dambudziko misiyano mapaketi kana atumirwazve. ACK mapaketi anewo nguva yekugadzirisa pakiti uye kugadzira ACK padivi remutengi. Aya maficha anovimbisa kuti QUIC inoverenga RTT nemazvo. ACK muQUIC inotsigira mabhendi anosvika 256 NACK, zvichibatsira mutumwa kuti awedzere kusimba pakugadzirisa packet uye kushandisa mabhaiti mashoma mukuita. Sarudza ACK (SACK) muTCP haigadzirise dambudziko iri muzviitiko zvese.
  • kutama kwekubatanidza. QUIC zvinongedzo zvinoonekwa ne64-bit ID, saka kana mutengi akachinja IP kero, iyo yekare yekubatanidza ID inogona kuramba ichishandiswa pakero yeIP itsva pasina kukanganisa. Iyi ndiyo tsika yakajairika yemashandisirwo emafoni apo mushandisi anochinja pakati peWi-Fi nekubatanidza cellular.

Dzimwe nzira dzeQUIC

Takafunga dzimwe nzira dzekugadzirisa dambudziko tisati tasarudza QUIC.

Chinhu chekutanga chatakaedza kwaive kuendesa TPC PoPs (Points of Presence) kumisa kubatana kweTCP pedyo nevashandisi. Chaizvoizvo, maPoPs anomisa kubatana kweTCP nenharembozha padhuze nenharembozha uye proxy traffic kudzokera kune yekutanga zvivakwa. Nekumisa TCP padhuze, tinogona kudzikisa iyo RTT uye kuona kuti TCP inonyanya kuterera kune inoshanduka isina waya nharaunda. Nekudaro, zviedzo zvedu zvakaratidza kuti mazhinji eRTT uye kurasikirwa kunobva kunharembozha uye kushandiswa kwePoPs hakupi hukuru hwekuvandudza kwekuita.

Isu takatarisawo kugadzirisa TCP paramita. Kumisikidza TCP stack pane yedu heterogeneous edge maseva kwakange kwakaoma nekuti TCP ine zvakasiyana mashandisiro pane akasiyana OS shanduro. Zvakanga zvakaoma kuita izvi uye kuyedza akasiyana network masisitimu. Kugadzirisa TCP zvakananga pane nharembozha zvaisaita nekuda kwekushaikwa kwemvumo. Zvinotonyanya kukosha, maficha akadai senge 0-RTT yekubatanidza uye yakagadziridzwa RTT kufanotaura kwakakosha kune iyo protocol dhizaini, uye saka hazvigoneke kuwana zvakakosha mabhenefiti nekugadzirisa TCP chete.

Pakupedzisira, takaongorora akati wandei maUDP-akavakirwa maprotocol anonetsa kutenderera kwevhidhiyo-taida kuona kana aya maprotocol angabatsira kwatiri. Nehurombo, ivo vaishaikwa zvakanyanya mune dzakawanda chengetedzo marongero, uye zvakare yaida yekuwedzera TCP yekubatanidza metadata uye kutonga ruzivo.

Tsvagiridzo yedu yakaratidza kuti QUIC pamwe ndiyo chete protocol inogona kubatsira nedambudziko reInternet traffic, tichifunga nezve kuchengetedzwa uye kuita.

Kubatanidzwa kweQUIC mupuratifomu

Kuti tibudirire kupinza QUIC uye kunatsiridza kushanda kweapp munzvimbo dzakashata dzekubatanidza, takatsiva dura rekare (HTTP/2 pamusoro peTLS/TCP) neQUIC protocol. Takashandisa network library Cronet kubva Chromium Projects, iyo ine yekutanga, Google vhezheni yeprotocol - gQUIC. Kuita uku kuri kuramba kuchivandudzwa kuti kutevedzere yazvino IETF yakatarwa.

Isu takatanga kubatanidza Cronet mune yedu Android apps kuti tiwedzere rutsigiro rweQUIC. Kubatanidzwa kwakaitwa nenzira yekuderedza mari yekufambisa zvakanyanya sezvinobvira. Panzvimbo yekutsiva zvachose iyo yekare networking stack yaishandisa raibhurari OkHttp, takabatanidza Cronet PASI peOkHttp API framework. Nekuita kusanganisa neiyi nzira, isu takadzivirira shanduko kunetiweki mafoni edu (anoshandiswa ne Dzorera zvakare) pachiyero cheAPI.

Zvakafanana nemaitiro emidziyo yeAroid, takaisa Cronet muUber maapplication paIOS, tichibata HTTP traffic kubva kunetiweki. APIkushandisa NSURLProtocol. Iyi yekubvisa, yakapihwa neIOS Foundation, inobata data-chaiyo URL data uye inova nechokwadi chekuti tinogona kubatanidza Cronet mune yedu iOS zvikumbiro pasina mutengo wakakura wekufambisa.

Kuzadza QUIC paGoogle Cloud Balancers

Kudivi rekumashure, kupedzwa kweQUIC kunopihwa neGoogle Cloud Load balancing infrastructure, iyo inoshandisa alt-svc misoro mumhinduro kutsigira QUIC. Kazhinji, muchengeti anowedzera alt-svc musoro kune chimwe nechimwe chikumbiro cheHTTP, uye izvi zvinotosimbisa QUIC tsigiro yedunhu. Kana mutengi weCronet agamuchira mhinduro yeHTTP nemusoro uyu, inoshandisa QUIC kune inotevera HTTP zvikumbiro kune iyo dura. Kana muchengeti apedza QUIC, zvivakwa zvedu zvinotumira chiitiko ichi pamusoro peHTTP2/TCP kunzvimbo dzedu dzedata.

Performance: Zvabuda

Kubuda kwekuita ndicho chikonzero chikuru chekutsvaga kwedu kweprotocol iri nani. Kutanga, takagadzira chimiro ne network emulationkuti uone kuti QUIC ichaita sei pasi peakasiyana network profiles. Kuedza kuita kweQUIC pamanetiweki epasirese, takaita zviyedzo tichityaira tichitenderera New Delhi tichishandisa emulated network traffic yakafanana nenhare dzeHTTP muapp yevafambi.

Kuedza 1

Zvokushandisa pakuedza:

  • edza zvishandiso zveAroid zvine OkHttp uye Cronet stacks kuti tive nechokwadi chekuti tinobvumira HTTPS traffic pamusoro peTCP neQUIC zvakateerana;
  • Java-based emulation server iyo inotumira mhando imwechete yeHTTPS misoro mumhinduro uye inotakura zvigadziriso zvevatengi kugamuchira zvikumbiro kubva kwavari;
  • Cloud proxies ari padyo neIndia kumisa TCP uye QUIC kubatana. Panguva yekumisa TCP takashandisa reverse proxy pa NGINX, zvainge zvakaoma kuwana open source reverse proxy yeQUIC. Isu takavaka reverse proxy yeQUIC isu pachedu tichishandisa iyo yakakosha QUIC stack kubva kuChromium uye yakabudiswa iyo muchromium seyakavhurika sosi.

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuitaIyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 6. TCP vs QUIC road test suite yaive nemidziyo yeAroid ine OkHttp neCronet, cloud proxies yekumisa kubatanidza, uye sevha yekutevedzera.

Kuedza 2

Google payakaita kuti QUIC iwanikwe ne Google Cloud Load Bancing, takashandisa zvinyorwa zvakafanana, asi nekugadzirisa kumwe chete: panzvimbo ye NGINX, takatora Google loader balancers kuti timise TCP uye QUIC connections kubva kumidziyo, pamwe nekufambisa HTTPS traffic kune emulation server. MaBalancer akagoverwa pasirese, asi shandisa sevha yePoP iri padyo nemudziyo (nekuda kwegeolocation).

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 7. Muchiedzo chechipiri, taida kuenzanisa kupera kwekupedzisira kweTCP neQUIC: kushandisa Google Cloud uye kushandisa cloud proxy yedu.

Nekuda kweizvozvo, zvakazarurwa zvakati kuti zvakatimirira:

  • kugumisa kuburikidza nePoP kwakavandudza TCP kushanda. Sezvo mabharani achigumisa TCP kuwirirana pedyo nevashandisi uye akagadziridzwa zvakanyanya, izvi zvinoguma nekuderera kweRTTs, iyo inovandudza TCP kushanda. Uye kunyange zvazvo QUIC yakanga isinganyanyi kukanganiswa, yakaramba ichipfuura TCP maererano nekuderedza muswe latency (ne10-30 muzana).
  • miswe inobatwa network hops. Kunyangwe yedu QUIC proxy yaive kure nemidziyo (inenge 50 ms yakakwira latency) kupfuura Google's loaders, yakaunza mashandiro akafanana - kudzikiswa kwe15% mukunonoka maringe nekudzikiswa kwe20% mu99th percentile yeTCP. Izvi zvinoratidza kuti shanduko yemaira yekupedzisira ibhodhoro mumambure.

Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuitaIyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 8: Migumisiro kubva kuongororo mbiri inoratidza kuti QUIC inonyanya kudarika TCP.

Kurwisa traffic

Tichifemerwa nekuyedza, takaisa rutsigiro rweQUIC mune yedu Android uye iOS maapplication. Takaita bvunzo dzeA/B kuti tione kukanganisa kweQUIC mumaguta anoshandira Uber. Kazhinji, takaona kudzikiswa kwakanyanya kwekunonoka kwemuswe mumatunhu ese, telecom vanoshanda uye netiweki mhando.

Iwo magirafu ari pazasi anoratidza huwandu hwekuvandudzwa kwemiswe (95 uye 99 percentiles) nemacro-region uye akasiyana network marudzi - LTE, 3G, 2G.
Iyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuitaIyo QUIC protocol mukuita: maitirwo akaitwa neUber kuti ikwidze kuita
Mufananidzo 9. Mukuedzwa kwehondo, QUIC yakapfuura TCP maererano ne latency.

Mberi chete

Zvichida uku kuchangotanga - kuburitswa kweQUIC mukugadzira kwakapa mikana inoshamisa yekuvandudza mashandiro ekushandisa mune ese akagadzikana uye asina kugadzikana network, anoti:

Kuwedzera kufukidzwa

Mushure mekuongorora mashandiro eprotocol patraffic chaiyo, takaona kuti ingangoita 80% yezvikamu zvakabudirira kushandisa QUIC ye. всСх zvikumbiro, nepo 15% yezvikamu zvakashandisa musanganiswa weQUIC neTCP. Isu tinofungidzira kuti musanganiswa unoenderana neiyo Cronet raibhurari nguva yekudzokera kuTCP, sezvo isingakwanise kusiyanisa pakati peiyo UDP kutadza uye netiweki mamiriro asina kunaka. Parizvino tiri kutsvaga mhinduro kudambudziko iri apo tiri kushanda takanangana nekuzoitwa kweQUIC.

QUIC optimization

Traffic kubva kunharembozha inonzwa latency, asi kwete bandwidth inonzwa. Zvakare, maapplication edu anonyanya kushandiswa pamaserura network. Kubva pane zviedzo, miswe latencies ichiri yakakwira kunyangwe kushandisa proxy kumisa TCP uye QUIC padyo nevashandisi. Isu tiri kushingairira kutsvaga nzira dzekuvandudza congestion manejimendi uye kugadzirisa mashandiro eQUIC kurasikirwa kudzoreredza algorithms.

Neizvi uye zvimwe zvakati wandei kuvandudzwa, isu tinoronga kuvandudza ruzivo rwemushandisi zvisinei netiweki uye dunhu, zvichiita kuti zvifambiso zvepaketi zviri nyore uye zvisina musono zviwanikwe kutenderera pasirese.

Source: www.habr.com

Voeg