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

Webプロトコル最前線

 Webプロトコル最前線

CEDEC2018プレゼン 大津担当分の発表スライド

E2cf334c8ea8452a467efc8a0c64d883?s=128

Shigeki Ohtsu

August 23, 2018
Tweet

More Decks by Shigeki Ohtsu

Other Decks in Technology

Transcript

  1. 8FCϓϩτίϧ࠷લઢ େ௡ൟथɺޙ౻ͻΖΏ͖ $&%&$ ೥݄೔

  2. ಺༰ w ͜Ε·Ͱͷ8FCϓϩτίϧ େ௡  w ͜Ε͔Βͷ8FCϓϩτίϧ ޙ౻

  3. ࣗݾ঺հ

  4. 8FCϓϩτίϧ ͜Ε·ͰͷาΈ

  5. Πϯλʔωοτͷ ৘ใݕࡧɾίϛϡχέʔγϣϯϓϩτίϧࠓੲ ೥ ୅൒͹ ೥ ςΩετݕࡧ ωοτχϡʔε (6*ݕࡧ ϒϩʔυόϯυαʔϏεͰ͸, WebϓϩτίϧʢTCP:80,

    443, UDP:443ʣͷར༻͕શ ମͷ75.5ˋΛ઎ΊɺϞόΠϧωοτϫʔΫͰ͸, ͦͷׂ߹͕87.5ˋʹ·Ͱ૿Ճɻ Internet Infrastructure Review, vol.36 Sep. 2017. https://www.iij.ad.jp/dev/report/iir/036.html 5$1 //51  )551  (PQIFS  )5514  *3$  8"*4  4.51  4.514  5$1 )551  )5514  *3$  4.514  4.51  8FC 8FC νϟοτ ϝʔϧ ϝʔϧ 8FC 8FC
  6. 4:/ 4:/"$, "$, 5$1ϋϯυγΣΠΫ (&5)551 )5510, (&5)551 )5510, )551௨৴ )5514௨৴

    $ISPNF 4:/ 4:/"$, "$, 5$1ϋϯυγΣΠΫ )551ϦΫΤετɾϨεϙϯε )551ϦΫΤετɾϨεϙϯε 5-4ϋϯυγΣΠΫ ҉߸௨৴ ฏจ௨৴ ΫϥΠΞϯτ αʔό ΫϥΠΞϯτ )551ͱ)5514௨৴ͷҧ͍
  7. )551ϓϩτίϧͷ೥ද       8FCͷ ࢝·Γ )551

    )551 3'$ )551 3'$ )551 3'$ )551/(தࢭ 41%: 41%: 41%: )551 3'$ )1"$, 3'$ )551 3'$ IUUQCJT8( ҉ࠇͷ࣌୅
  8. 5-4ϓϩτίϧͷ೥ද       8FCͷ ࢝·Γ 44-

    44- 3'$ 5-4 3'$ 5-4 3'$ 5-4 3'$ 5-4 3'$ ೥݄ൃߦ 1$5
  9. ೥ͷ 8FCϓϩτίϧɾελοΫ w *&5'Ͱ)551ɺ)551੍͕ఆɻݱࡏͷσϑΝΫτʹɻ w 44-͸੬ऑੑ͕ݟ͔ͭΓഇࢭɺ44-ʹɻ w /FUTDBQFͱ.4ͷ߹ҙͰ*&5'Ͱ5-4͕ඪ४Խɻ 44-5-4 5$1

    )551 IUUQT IUUQ
  10. ೥ʙ೥ w 5-4 ೥ 5-4 ೥ ͕ඪ४Խ w ೥ɺ44-ʹ100%-&੬ऑੑ͕ݟ͔ͭΓഇࢭ w

    ೥͔Β(PPHMF͕41%:Λ։ൃɺ೥͔Β)551ͷඪ४Խ࡞ۀ ։࢝ 44-5-4 5-45-4 5$1 )551 IUUQT IUUQ 41%:
  11. )551

  12. HTTPసૹαΠζͱϦΫΤετ਺ͷભҠ
 (2012/6/1ʙ2018/6/1) 6೥Ͱதԝ஋͕ సૹαΠζ: 2.36ഒ(desktop), 5.37ഒ(mobile) ϦΫΤετ਺ɿ1.21ഒ(desktop), 2.17ഒ(modile) ʢ୯ҰWebαΠτͷ౷ܭฏۉʣ IUUQTIUUQBSDIJWFPSHSFQPSUTTUBUFPGUIFXFC

    TUBSU@@FOE@@
  13. ճઢଳҬΛ૿଎͍ͯ͘͠ͱ HTTPܦ༝ͷμ΢ϯϩʔυ ࣌ؒ[ms] 0 800 1600 2400 3200 ճઢଳҬ[MBps] 0

    3 5 8 10 More Bandwidth does’nt matter ΑΓσʔλҾ༻http://docs.google.com/a/chromium.org/viewer? a=v&pid=sites&srcid=Y2hyb21pdW0ub3JnfGRldnxneDoxMzcyOWI1N2I4YzI3NzE2 ϖʔδͷදࣔ࣌ؒ͸ɺ͜ ΕҎ্୹ॖͰ͖ͳ͍ɻ Make the Web Faster: Google ͷࢼݧ
  14. RTT(Round Trip Time)Λখ͍ͯ͘͘͞͠ͱ HTTPܦ༝ͷμ΢ϯϩʔυ࣌ؒ [ms] 0 1000 2000 3000 4000

    RTT[ms] 0 50 100 150 200 250 300 ͪΌΜͱԼ͕Δ More Bandwidth does’nt matter ΑΓσʔλҾ༻http://docs.google.com/a/chromium.org/viewer? a=v&pid=sites&srcid=Y2hyb21pdW0ub3JnfGRldnxneDoxMzcyOWI1N2I4YzI3NzE2 Webϖʔδͷදࣔ଎౓Λ଎͘͢Δʹ͸ɺճઢ଎౓૿ڧΑΓ RTTʢͷӨڹʣΛখ͘͢͞Δ͔͕ॏཁɻͰ΋෺ཧతͳ੍ݶ Ͱ೉͍͠ɻ Make the Web Faster: Google ͷࢼݧ
  15. HTTP/1.1 ͷ໰୊఺ HTTP Head of Line Blocking ΫϥΠΞϯτ αʔό HTTP/1.1

    1ຊͷTCP઀ଓ HTTP ϦΫΤετ HTTPϨεϙϯε ଴ͪ࣌ؒ HTTP ϦΫΤετ
  16. )551͸)551)FBEPG -JOF#MPDLJOHΛղফ ΫϥΠΞϯτ αʔό HTTP/2 1ຊͷTCP઀ଓ HTTP ϦΫΤετ HTTPϨεϙϯε Ծ૝తʹଟॏԽ

    ଴͕ͪଞͷ ϦΫΤετ ʹҾ͖ͣΒ Εͳ͍
  17. HTTP/1.1
 ϒϥ΢β͸࠷େಉ࣌4ʙ6TCP઀ଓʹ੍ݶ ࠷େಉ࣌ฒྻ6

  18. HTTP/2
 100Ҏ্ͷಉ࣌ϦΫΤετ͕Մೳ શ෦ಉ࣌

  19. ೥ͷ 8FCϓϩτίϧɾελοΫ 5$1 5-4 5-4 )551 IUUQT IUUQ )551 )551

    ηϚϯςΟΫε w ೥)551࢓༷Խ׬ྃ w ࣮࣭)5514 5-4 ͚ͩʹར༻੍ݶ w େखΠϯλʔωοταʔϏεΛத৺ʹಋೖ
  20. ೥ʙ શ෦)5514ʹ

  21. ͳͥશ෦)5514ʹ͠ͳ͍ͱ ͍͚ͳ͍ͷʁ w /4" $()2ʹΑΔࠃՈϨϕϧͷ޿ൣғͳ౪ௌߦҝ͕໌Β͔ʹ w ௨৴ΩϟϦΞͱڠྗ͠ɺ%$಺΍ΠϯλʔωοτόοΫϘʔϯ ʹ౪ௌɾվ͟Μͷ࢓ֻ͚Λ഑ஔ w ฏจ௨৴Λ.J5.Ͱվ͟Μ͠ະ஌ͷϚϧ΢ΣΞΛײછͤ͞Δ

    w ҉߸ͷඪ४Խ࢓༷ʹόοΫυΞΛ࢓ֻ͚͍ͯΔͱͷ࿩΋ CC BY 3.0 https://www.youtube.com/user/TheWikiLeaksChannel ೥݄ɿΤυϫʔυɾεϊʔσϯࣄ݅
  22. /4"ʹΑΔαΠόʔ߈ܸͷҰྫ 26"/56. '09"$*% IUUQXXXFYBNQMFDPN XXXFYBNQMFDPN Ϛϧ΢ΣΞΛૹΓࠐΉ ్தܦ࿏Ͱվ͟ΜίϯςϯπΛૹ৴ '09"$*%ʹ༠ಋ վ͟Μίϯςϯπ IUUQTXXXTDIOFJFSDPNCMPHBSDIJWFTIPX@UIF@OTB@BUUIUNM

  23. *"# ʹΑΔΠϯλʔωοτͷ ৴པੑʹؔ͢Δએݴ  w ৽͘͠ϓϩτίϧΛઃܭ͢Δࡍʹ͸ɺ҉߸ԽػೳΛඞ ਢͱ͢΂͖ɻ w ωοτϫʔΫӡ༻ऀ΍αʔϏεఏڙऀʹ҉߸Խ௨৴ͷ ಋೖΛਪਐ͢ΔΑ͏ڧ͘ٻΊΔɻ

    w ίϯςϯπϑΟϧλʔ΍*%4౳ฏจ௨৴͕ඞཁͳػೳ ʹ͍ͭͯ͸কདྷతʹ୅ସٕज़ͷ։ൃʹऔΓ૊Ήɻ *OUFSOFU"SDIJUFDUVSF#PBSE IUUQTXXXJBCPSHJBCTUBUFNFOUPOJOUFSOFUDPOpEFOUJBMJUZ
  24. ͳͥશ෦)5514ʹ͠ͳ͍ͱ ͍͚ͳ͍ͷʁ w Πϯλʔωοτͷ݈શੑΛ֬อ͢ΔͨΊɻ͕͜͜༳Β͙ ͱେखͷ8FCαʔϏεͷ৴པੑ͕ͳ͘ͳΔɻ w Ұ෦Ͱ΋ฏจ௨৴͕࢒͍ͬͯΔͱͦ͜Λಥ͔ΕΔՄೳੑ͕ ͋Δɻ w ࣗ෼͸ؔ܎ͳ͍ͱࢥ͍ͬͯͯ΋஌Βͳ͍͏ͪʹ࢓ࠐ·Εͯ

    ར༻͞ΕΔڪΕ΋ɻ w ௕ظతͳࢹ఺Ͱ͸IUUQ͸ϑΣʔζΞ΢τͷํ޲Ͱ͢ɻ
  25. IUUQTMFUTFODSZQUPSHTUBUTQFSDFOUQBHFMPBET IUUQTUSBOTQBSFODZSFQPSUHPPHMFDPNIUUQTPWFSWJFX 'JSFGPY $ISPNF +BQBO )5514ͷಋೖঢ়گ ಡΈࠐΈϖʔδׂ߹ +BQBO

  26. )551 4 දࣔͷมߋ w )5514ͷ྘৭ද͕ࣔഇࢭ w ʮอޢ͞Εͨ௨৴ʯͷද͕ࣔഇࢭ w )551 ฏจ

    ௨৴ͰσʔλೖྗΛߦ͏ͱ੺৭ܯࠂ ݱࡏ $ISPNF དྷ݄Ҏ߱ $ISPNF 
  27. ೥ʙ 5-4

  28. 5-4͕ٻΊΒΕͨഎܠ  ৗ࣌5-4࣌୅Λܴ͑Δʹ͋ͨͬͯɺ͔ͬ͠Γͨ͠ϓ ϩτίϧ͕ඞཁ  5-4ͷݶք w ༷ʑͳٕज़ෛ࠴ͷ஝ੵ ௕ظʹ࢖͑ΔΑΓ҆શͰߴੑೳͳ5-4ϓϩτίϧΛ࡞Δ

  29. 5-4ͷݶք w ݱࡏͷ5-4Ͱఆٛ͞Ε͍ͯΔػೳͷ Ұ෦͸ɺطʹར༻͢ΔͱةݥͰ͋Δɻ w աڈ༷ʑͳ5-4ͷ߈ܸख๏΍੬ऑੑ͕ެ ։͞Εɺͦͷ౎౓ରࡦ͕औΒΕ͖ͯͨɻ w ͔͠͠Ұ࣌తͳରԠͰࠜຊతɾൈຊతͳ ରࡦʹͳ͍ͬͯͳ͍΋ͷ΋ଟ͍ɻ

    ຊདྷ͜ͷΑ͏ͳΨΠυϥΠ ϯ͕ͳͯ͘ࡁΉͷ͕๬·͍͠
  30. 5-4ͷಛ௃  ༷ʑͳػೳɺ߲໨ͷݟ௚͠ɾഇࢭ ࣌୅ʹ߹Θͳ͘ͳͬͨ΋ͷɺΑΓޮ཰తʹมߋमਖ਼Ͱ͖Δ΋ͷΛ5-4 ͔Βػೳɾ߲໨Λ਺ଟ͘ഇࢭ  ΑΓηΩϡΞʹ ฏจ௨৴͕ඞཁͳ෦෼Λۃྗগͳͯ͘͠৘ใΛൿಗ ͜Ε·Ͱ߈ܸର৅ͱͳͬͨػೳΛۃྗഉআ͠কདྷతͳ߈ܸʹඋ͑Δ 

    ੑೳ޲্ ॳظ઀ଓͷ୹ॖʹΑΔੑೳ޲্ த਎తʹ͸5-4Ϩϕϧͷେมߋ
  31. 5-4ͱ5-4ͷҧ͍ 5$1 ϋϯυγΣΠΫ 5-4 ΫϥΠΞϯτ αʔό ΫϥΠΞϯτ αʔό )551 ϦΫΤετ

    Ϩεϙϯε 5-4 )5510, $MJFOU)FMMP 4FSWFS)FMMP $FSUJpDBUF $FSUJpDBUF7FSJGZ 'JOJTIFE 'JOJTIFE (&5)551 5-4 ϋϯυγΣΠΫ 4:/ 4:/"$, "$, )5510, (&5)551 $MJFOU)FMMP $IBOHF$JQIFS4QFD 'JOJTIFE 4FSWFS)FMMP $FSUJpDBUF  4FSWFS,FZ&YDIBOHF 4FSWFS)FMMP%POF $MJFOU,FZ&YDIBOHF $IBOHF$JQIFS4QFD 'JOJTIFE 355 355 4:/ 4:/"$, "$, ૣ͍ϋϯυγΣΠΫ
  32. ೥݄ͷ 8FCϓϩτίϧɾελοΫ 5$1 5-4 5-4 )551 IUUQT IUUQ )551 )551

    ηϚϯςΟΫε
  33. ͦͯ͠ɺ͜Ε͔Β

  34. কདྷͷ8FCϓϩτίϧɾελοΫ )551ηϚϯςΟΫε 5$1 5-4 )551 26*$ 6%1 5-4 )551 IUUQT

    IUUQ %/4 ޙ൒ɺޙ౻͞ΜͷϓϨθϯʹଓ͘ʜ