Upgrade to Pro — share decks privately, control downloads, hide ads and more …

入門QUIC

teru0x1
June 12, 2020

 入門QUIC

teru0x1

June 12, 2020
Tweet

More Decks by teru0x1

Other Decks in Technology

Transcript

  1. QUICͱ͸ʢ2/2ʣ w੒Γཱͪͱݱঢ়  (PPHMF͕೥ʹൃද H26*$   ͦͷޙ*&5'8PSLJOHHSPVQ͕ൃ଍ɽඪ४Խ΁ʢJ26*$ʣ  H26*$͸$ISPNFͱ(PPHMFαʔόؒͷ൒෼Ҏ্ͷίωΫγϣϯͰ

    ར༻͞Ε͍ͯΔɽ  J26*$͸υϥϑτͷWFSTJPO͕ ࠷৽ w େ࿮͸ܾ·͍ͬͯͯɼࡉ͔ͳमਖ਼͕ଓ͍͍ͯΔ 5 ग़యɿ IUUQTUPPMTJFUGPSHIUNMESBGUJFUGRVJDUSBOTQPSU
  2. QUICͷϞνϕʔγϣϯ w8FCΞϓϦέʔγϣϯʹର͢Δཁٻͷଟ༷Խ  ஗Ԇཁٻ͕ݫ͍͠  ҉߸Խ wར༻Ͱ͖Δϓϩτίϧ  5$1 5-4

    w ෆຬ఺͕৭ʑ͋ͬͨʢޙड़ʣ 7 5$1 5-4ʹมΘΔ৽ͨͳϓϩτίϧΛ࡞Γɼ8FCͰ࢖͓͏ʂ
  3. TCPʹର͢Δෆຬ఺ʢ2/2ʣ wϋϯυγΣΠΫʹ͔͔Δ஗Ԇ  5$1IBOETIBLF 355  5-4IBOETIBLF 355  w

    5-4ʹ͸355Έ͍ͨͳͷ͕͋Δ͚Ͳ  w)FBEPG-JOFϒϩοΩϯά  ͋Δύέοτ͕ԿΒ͔ͷཧ༝Ͱಧ͔ͳ͍ͱ͖ɼޙଓͷύέοτ͕ ଴ͨ͞ΕΔݱ৅  5$1Ͱ͸ύέοτϩε࣌ʹൃੜ͠ɼ௨৴඼࣭௿Լʹܨ͕Δ w zύέοτz͸ɼ5$1ηάϝϯτɼ)551ϝοηʔδͳͲ w ৄ͘͠͸ޙड़ 9 ग़య IUUQTIQCODPUSBOTQPSUMBZFSTFDVSJUZUMTUMTIBOETIBLF 'JHVSF
  4. ΰʔϧ1ɿσϓϩΠ͕؆୯ w6%1্Ͱಈ࡞ͤ͞Δ  ϢʔβʔۭؒͰಈ࡞͢Δʢ5$1 6%1͸ҰൠతʹΧʔωϧۭؒʣ  ϓϩτίϧͷΞοϓάϨʔυʹ൐͏04ͷΞοϓάϨʔυ͸ඞཁͳ ͍  ߴ଎ͳ։ൃαΠΫϧΛճ͢͜ͱ͕Մೳ

    wϔομͷେ෦෼Λ҉߸Խ͢Δ  ϑΝΠΞ΢Υʔϧ΍/"5ͳͲͷϛυϧϘοΫε͔Βड͚ΔӨڹΛ ࠷খԽ w ϛυϧϘοΫε͸26*$ύέοτͷେ෦෼ΛݟΔ͜ͱ͕Ͱ͖ͳ͍ w ϛυϧϘοΫε͕ରԠ͍ͯ͠ͳ͍͔Β26*$Λ࢖͑ͳ͍ɼΞοϓάϨʔυͰ͖ͳ͍ͱ͍͏ࣄଶΛ ๷͍Ͱ͍Δɽ 11
  5. HoLϒϩοΩϯάͷྺ࢙ʢ4/8ʣ w)551 ෳ਺ίωΫγϣϯ  5$1ίωΫγϣϯΛෳ਺ுΔɼ೴ےͳ΍Γํ  ίωΫγϣϯ਺͚ͩฒྻʹऔಘͰ͖Δ w $ISPNFͰͭ΄ͲίωΫγϣϯΛுΔΒ͍͠ 

    ιέοτͷແବɼαʔό΁ͷෛՙ૿  ίωΫγϣϯ͝ͱʹ᫔᫓੍ޚ͞ΕΔͷͰɼίωΫγϣϯ͋ͨΓͷ ੑೳΛϑϧʹൃشͰ͖ͳ͍ w ͦΕͧΕͷίωΫγϣϯ͕ଳҬΛޓ͍ʹୣ͍߹͏ঢ়ଶ 16
  6. HoLϒϩοΩϯάͷྺ࢙ʢ5/8ʣ w)551  )551ϨΠϠΛଟॏԽ͢Δ͜ͱͰɼγϯάϧ5$1ίωΫγϣϯͰ͋Γͳ͕Β ϦΫΤετΛฒྻʹൃߦͰ͖Δ w ϖʔδಡΈࠐΈ࣌ؒͷ୹ॖʹ੒ޭʂ  ଟॏԽϦΫΤετɼϨεϙϯεͷ૊͝ͱʹҟͳΔ*%Λ෇༩ͯ͠ɼίωΫγϣϯதʹྲྀ͢ w

    )551͸ɼϦΫΤετ͝ͱʹ*%͕ͳ͔ͬͨ w ΫϥΠΞϯτ͕౤͛ͨϦΫΤετʹରԠ͢ΔϨεϙϯεΛࣝผ͢Δํ๏͸ͳ͔ͬͨ w ͦͷͨΊɼʮϨεϙϯε͸શͯ௚લʹൃߦͨ͠ϦΫΤετʹରԠ͢Δʯͱ͢Δ͔͠ͳ͍ 17 ग़య IUUQTEFWFMPQFSTHPPHMFDPNXFCGVOEBNFOUBMTQFSGPSNBODFIUUQ
  7. HoLϒϩοΩϯάͷྺ࢙ʢ6/8ʣ w)551  5$1ύέοτ͕ϩεͨ͠৔߹ɼ࠶ૹ଴͕ͪੜ͡Δ  ͜ͷ࣌ɼผͷ*%Λ࣋ͬͨ)551ϨεϙϯεʢΛӡͿ5$1ύέοτʣ ΋ϒϩοΫ͞ΕΔʢ5$1ͷ)P-#ʣ w γϯάϧίωΫγϣϯ͔ͩΒ w

    Ͱ΋ɼ͜ͷϨεϙϯε͸ϩεͨ͠Ϩεϙϯεͱ͸ؔ܎ͳ͍ 18 )551ʹΑΔ)P-# ग़యIUUQTEPDTHPPHMFDPNQSFTFOUBUJPOE-4/$$W#JKBCOO4#CX3MNH/IO1')#Z&99QULQSFTFOU TMJEFJEHBGCEFC@
  8. HoLϒϩοΩϯάͷྺ࢙ʢ8/8ʣ w)551  26*$ΛτϥϯεϙʔτϨΠϠʹར༻͢Δ)551  )551ͱಉ͘͡ɼϦΫΤετϨεϙϯεͷ૊ʹ*%ΛׂΓ౰ͯΔ ͕ɼͦΕʹ26*$Λར༻͢Δɽ  )551ͷܽ఺͕ղܾʂ 20

    26*$ʹΑΔ)P-#ͷ཈੍ ग़యɿIUUQTEPDTHPPHMFDPNQSFTFOUBUJPOE -4/$$W#JKBCOO4#CX3MNH/IO1')#Z&99QULQSFTFOU TMJEFJEHBGCEFC@
  9. QUICͷ༻ޠ w26*$ίωΫγϣϯ  26*$Ͱ௨৴Λߦ͏ࡍɼ࠷ॳʹߏ੒͢ΔԾ૝తͳ௨৴࿏  *%ׂ͕Γ౰ͯΒΕɼϚΠάϨʔγϣϯ͕Մೳ w ճઢͷ੾Γସ͑΍/"5ϦόΠϯσΟϯά͕ىͬͯ͜΋ɼίωΫγϣϯΛ࡞Γ௚͢ඞཁ͕ͳ͍ w26*$ύέοτ 

    6%1ύέοτʹ֨ೲ͞ΕΔ w26*$ϑϨʔϜ  26*$ύέοτʹ֨ೲ͞ΕΔɼ26*$ͷ࠷খ୯Ґ  ໾ׂ͝ͱʹ໊લͱϑΥʔϚοτ͕ܾΊΒΕ͍ͯΔ w ΞϓϦέʔγϣϯ૚σʔλʢϖΠϩʔυʣૹ৴༻ͷϑϨʔϜˠ453&".ϑϨʔϜ w "$,Λ఻͑ΔͨΊͷϑϨʔϜˠ"$,ϑϨʔϜ w26*$ετϦʔϜ  26*$ίωΫγϣϯ্ʹଟॏԽ͞ΕΔɼԾ૝తͳ௨৴࿏ɼ  ࠶ૹ੍ޚɼϑϩʔ੍ޚͳͲ5$1ετϦʔϜͱࣅͨΑ͏ͳػೳΛ࣋ͭ  ϖΠϩʔυ͸ετϦʔϜΛྲྀΕΔ 24
  10. QUICͦͷଞͷػೳ wϑϩʔ੍ޚ  ௨৴૬खͷड৴΢Οϯυ΢͕ᷓΕͳ͍Α͏ʹྲྀྔΛ੍ޚ͢Δػೳ  ֤ετϦʔϜͱίωΫγϣϯͷ྆ํͷϨϕϧͰߦΘΕΔ w᫔᫓੍ޚ  ωοτϫʔΫͷ᫔᫓͕ى͜Βͳ͍Α͏ྲྀྔΛ੍ޚ͢Δػೳ 

    &$/&YQMJDJU$POHFTUJPO/PUJpDBUJPOʢ໌ࣔత᫔᫓௨஌ʣͷ αϙʔτ w ᫔᫓࣌ɼωοτϫʔΫϊʔυ͕*1ϔομʹରͯ͠ϑϥάΛཱͯɼϗετʹ᫔᫓Λ௨஌͢Δ 29
  11. Real World QUIC wݕࡧ଴ͪ࣌ؒʹର͢ΔධՁ  ݕࡧ༻ޠΛೖྗ͔ͯ͠Βɼશͯͷίϯςϯπ͕දࣔ͞ΕΔ·Ͱͷ࣌ؒ wͦͷଞͷධՁ  :PV5VCF w

    ϏσΦ࠶ੜ଴ͪ࣌ؒ ΄Ͳͷվળ  w ϑϦʔζ࣌ؒ ˋ΄Ͳͷվળ   355ʹର͢ΔධՁ w ৄ͘͠͸࿦จͰ 31
  12. QUICͷ՝୊ɼݒ೦఺ wߴ͍$16࢖༻཰  5$1 5-4ͷ໿ഒ w 26*$ͷεςʔτϚγϯ؅ཧɼϢʔβʔεϖʔε࣮૷ʹΑΔΦʔόʔϔουʢଟ਺ͷγεςϜίʔϧɼ/*$Φϑϩʔ υͷܽ೗ʣ w޿ଳҬɼ௿஗Ԇɼ௿ଛࣦ؀ڥͰͷੑೳྼԽ 

    26*$͕ಘҙͳͷ͸ɼߴ஗Ԇɼߴଛࣦ؀ڥ  ٯͷ؀ڥͩͱɼ5$1ΑΓੑೳ͕ѱ͘ͳΔ͜ͱ΋ w 5$1͸௕೥࢖ΘΕ͍ͯΔͷͰόΩόΩʹ࠷దԽ͞ΕͯΔ w 26*$͸ϢʔβεϖʔεͰಈ࡞͢ΔͨΊɼ04εέδϡʔϥͷಈ࡞΋ΧʔωϧεϖʔεͰಈ͘5$1ͱҟͳΔ wར༻Ͱ͖ͳ͍  ϑΝΠΞ΢ΥʔϧͰ26*$·ͨ͸6%1͕ϒϩοΫ͞ΕΔՄೳੑ w (PPHMFͷܭଌ࣮ݧͷ෼ੳ݁Ռ͔ΒɼશମͷͰ26*$͕ϒϩοΫ͞Ε͍ͯΔ w اۀωοτϫʔΫͷதʹ͍Δ৔߹͕ଟ͍ 33
  13. ·ͱΊ w26*$ͷಛ௃͸ͭ  σϓϩΠ͕؆୯  ߋ৽͕؆୯  ϋϯυγΣΠΫͷ஗Ԇ͕খ͍͞  )P-ϒϩοΩϯάͷӨڹΛड͚ͮΒ͍

    w26*$͸ߴ஗Ԇɼߴଛࣦͷ؀ڥͰޮՌΛൃش͢Δ w26*$͸͍͍ͧ  5$1ʹ͋ͬͨ΋Ζ΋Ζͷ՝୊Λ͏·͘ղܾ͍ͯ͠Δͱ͜Ζ͕͋ͬ ͯ໘ന͍ 35
  14. ࢀߟจݙ  "EBN-BOHMFZ 5IFRVJDUSBOTQPSUQSPUPDPM%FTJHOBOE JOUFSOFUTDBMFEFQMPZNFOU*O1SPDFFEJOHTPGUIF $POGFSFODFPGUIF"$.4QFDJBM*OUFSFTU(SPVQPO%BUB $PNNVOJDBUJPO QBHFTr"$.  

    .JLF#JTIPQ )ZQFSUFYUUSBOTGFSQSPUPDPMWFSTJPO )551 *OUFSOFU%SBGUESBGUJFUGRVJDIUUQ *OUFSOFU &OHJOFFSJOH5BTL'PSDF   +*ZFOHBS 26*$"6%1#BTFE.VMUJQMFYFEBOE4FDVSF 5SBOTQPSUESBGUJFUGRVJDUSBOTQPSU *OUFSOFU &OHJOFFSJOH5BTL'PSDF  36