Slide 1

Slide 1 text

͢΂ͯ͸ʮαΫαΫײʯͷͨΊʹʂ QUICͰૣ͘ͳΔʁΠϯλʔωοτͷੈքͱɼपลϓϩτίϧͷ࿩ ೆ೾ ׮௚ (@brownbro) iOSDC Japan 2018 (Sep. 1st) 1

Slide 2

Slide 2 text

ࣗݾ঺հ • גࣜձࣾΞϓτϙου • ࢈ۀIoTϛυϧ΢ΣΞͷձࣾͰ͢ • σʔλղੳܥͷϙδγϣϯͰ͕͢ɺΞόλʔϩϘοτͷڞಉ ϓϩδΣΫτ1΍ɺࠓճൃද͍ͯ͠Δ௨৴ϓϩτίϧͷௐࠪɾ ࣮૷ͳͲ΋΍ͬͯ·͢ 1 h$ps:/ /www.aptpod.co.jp/news/news/mel5n_aptpod-2018 2

Slide 3

Slide 3 text

ϥϯν୲౰ in 20172 ͝Έ୲౰ in 2017,2018 ͓ؾ෇͖ͷ͜ͱ͋Ε͹͓ؾܰʹFB͍ͩ͘͞ 2 ը૾͸CC-BY-NC 4.0ϥΠηϯεʹجͮ͘iOSDC Japanͷ΋ͷ 3

Slide 4

Slide 4 text

ຊ೔ͷ֓ཁ ʮαΫαΫײʯ͕UXʹ௚݁͢Δ͜ͱ͸Α͘஌ΒΕ͍ͯΔ͔ͱࢥ͍·͢ɻ αʔόʔͱͷ௨৴Λߴ଎Խ͢ΔͨΊʹɼ޿͘ར༻͞Ε͍ͯΔHTTPͷվળ Λ໨ࢦͨ͠HTTP/2͕ඪ४Խ͞Ε·ͨ͠ɻ ҰํͰɼͦ΋ͦ΋HTTPͷԼͷϨΠϠΛ୲͏TCP͕஗͍͜ͱ͔Βɼͦͷ՝ ୊Λղܾ͢ΔQUICͱ͍͏ϓϩτίϧ͕։ൃ͞Εɼ·ͨඪ४Խ͕ਐΜͰ͍ ·͢ɻ ͜ͷQUICͷجຊతͳ֓೦΍ϞόΠϧʹؔ࿈͢Δಛ௃ͳͲΛ͓࿩͠͠·͢ɻ 4

Slide 5

Slide 5 text

ʮαΫαΫײʯ 5

Slide 6

Slide 6 text

஗Ԇͱ஌֮ • 0.1ඵҎ಺ɿॠ࣌ • 1ඵҎ಺ɿಈ࡞ͯ͠Δ • 10ඵҎ্ɿଞͷ͜ͱΛ͢Δ ("Usability Engineering"3ΑΓҾ༻) 3 h$ps:/ /www.nngroup.com/books/usability-engineering/ 6

Slide 7

Slide 7 text

վΊͯɺʮωοτϫʔΫ͕ૣ͍ʯͱ͸ʁ 7

Slide 8

Slide 8 text

໰୊ 100m཭Εͨͱ͜Ζ͔Βɺ10m/sͰं͕૸ͬͯདྷ·͢ Կඵޙʹ໨ͷલΛ௨ա͢ΔͰ͠ΐ͏͔ʁʁ 8

Slide 9

Slide 9 text

౴͑. 10ඵޙ 9

Slide 10

Slide 10 text

౴͑. 10ඵޙ Ͱ͸ͳ͍Մೳੑ 10

Slide 11

Slide 11 text

ਤղ 11

Slide 12

Slide 12 text

ंͷ௕͞΋ύϥϝʔλ ʢࢉ਺ͷ෼໺Ͱʮ௨աࢉʯͱ͍͏Β͍͠Ͱ͢ʣ 12

Slide 13

Slide 13 text

௨ա͢Δ·Ͱͷ࣌ؒΛ୹͘͢Δʹ͸ʁ 13

Slide 14

Slide 14 text

ରࡦ • ंͷελʔτҐஔΛۙ͘͢Δ • ंͷ௕͞Λ୹͘͢Δ • ंͷεϐʔυΛૣ͘͢Δ 14

Slide 15

Slide 15 text

ωοτϫʔΫͷੈքͰߟ͑Δͱʁ 15

Slide 16

Slide 16 text

ंͷελʔτҐஔΛۙ͘͢Δ • ͢ͳΘͪɺίϯςϯπʢαʔόʔʣΛϢʔβʔͷͦ͹ʹஔ͘ • CDN͕׆༂ʂ • ࠃ಺ͳΒยಓ10msʙ • ւΛӽ͑Δͱยಓ50msʙ100msҎ্ 16

Slide 17

Slide 17 text

ंͷ௕͞Λ୹͘͢Δ • ͢ͳΘͪɺωοτϫʔΫʹ৐ͤΔσʔλྔΛগͳ͘͢Δ • ѹॖ͕׆༂ʂ • ϝσΟΞϑΝΠϧͷ඼࣭࠷దԽ • ςΩετϑΝΠϧͷgzipѹॖ 17

Slide 18

Slide 18 text

ंͷεϐʔυΛૣ͘͢Δ • ͢ͳΘͪɺσʔλͷ఻ୡ଎౓Λૣ͘͢Δ • 4G / 5G ͳͲͷ৽ੈ୅ͷߴ଎ωοτϫʔΫ͕׆༂ʂ • ຊ౰ʹʁ 18

Slide 19

Slide 19 text

৘ใͷʢ෺ཧతͳʣ఻ୡํ๏ • ಔઢʗޫϑΝΠόʔʗి೾ͳͲΛ௨ͬͯ఻ୡ͞ΕΔ • ͢ͳΘͪɺͲΜͳʹؤுͬͯ΋ޫͷ଎্͕͞ݶ • Ͱ͸ɺߴ଎ωοτϫʔΫͱ͸ʁ 19

Slide 20

Slide 20 text

ߴ଎ωοτϫʔΫͷᨳ͍จ۟ • ʮ100ϝΨ઎༗ಠΓ઎Ίʯ • ʮ5G͸20GbpsͰɺطଘͷ4G LTEͷ20~100ഒఔ౓ʯ 20

Slide 21

Slide 21 text

Bit Per Second (bps) • 1ඵ͋ͨΓʹૹ৴Ͱ͖Δσʔλྔ • ٕज़ֵ৽ʹΑͬͯ૿Ճ͍ͯ͠Δͷ͸ɺ͋͘·Ͱ͜ͷࢦඪ 21

Slide 22

Slide 22 text

Before 22

Slide 23

Slide 23 text

A"er 23

Slide 24

Slide 24 text

ωοτϫʔΫଳҬ • ϏσΦετϦʔϛϯάͷΑ͏ʹɺ͋Δఔ౓ͷྔͷσʔλΛఆৗ తʹ఻ૹ͠ͳ͚Ε͹ͳΒͳ͍έʔεͰ͸΋ͪΖΜॏཁ • ͨͩ͠ɺଳҬ͕ແݶʹ޿ͯ͘΋ʮं͕௨ա͢Δ·Ͱͷ࣌ؒʯ͕ θϩʹ͸ͳΒͳ͍͜ͱʹ΋஫ҙ • ͢ͳΘͪɺωοτϫʔΫΛ࢖༻͠ͳ͍ͱ͍͏؍఺΋ඞཁ • Ωϟογϡ͕׆༂ʂ 24

Slide 25

Slide 25 text

ʮωοτϫʔΫ͕ૣ͍ʯ͜ͱͷ·ͱΊ 1. αʔόʔ·Ͱͷڑ཭͕͍ۙ 2. ఻ૹ͢Δσʔλ͕খ͍͞ 3. ఻ૹ͢Δσʔλʹे෼ͳଳҬ͕͋Δ 4. ωοτϫʔΫΛ࢖༻͠ͳ͍ 25

Slide 26

Slide 26 text

ͯ͞ 26

Slide 27

Slide 27 text

27

Slide 28

Slide 28 text

ࠓ೥ͷ΢Σϒϖʔδ4΋͍͍Ͱ͢ΑͶ 4 h$ps:/ /iosdc.jp/2018/ 28

Slide 29

Slide 29 text

https://iosdc.jp/2018/ ͕දࣔ͞ΕΔ·Ͱʹ ωοτϫʔΫతʹ͸ͲΜͳಈ͖ʹͳΔʁ 29

Slide 30

Slide 30 text

DNS • Domain Name System • αʔόʔͷυϝΠϯ໊͔ΒIPΞυϨεΛऔಘ͠·͢ $ nslookup iosdc.jp Server: 240b:10:3c0:3b10::cafe:1 Address: 240b:10:3c0:3b10::cafe:1#53 Non-authoritative answer: Name: iosdc.jp Address: 160.16.207.67 30

Slide 31

Slide 31 text

TCP • Transmission Control Protocol • (IPΞυϨε/ϙʔτͷ4ͭ૊Ͱࣝผ͞ΕΔ)2ͭͷ ΤϯυϙΠϯτ͕ɺॱং੍ޚ͞ΕͨόΠτྻΛ ૹड৴Ͱ͖ΔػೳΛఏڙ͢Δϓϩτίϧ • σʔλͷ΍ΓͱΓͷ։࢝લͷίωΫγϣϯͷཱ֬ ͷͨΊʹɺ1ԟ෮ͷ΍ΓͱΓͱ࣌ؒ(1-RTT; Round Trip Time)͕ඞཁ • "3-way handshake" ͷ໊લ΋༗໊ • ʢը૾͸WikipediaΑΓҾ༻5ʣ 5 h$ps:/ /commons.wikimedia.org/wiki/File:Tcp_normal.png (Author: Dake, CC BY-SA 2.5) 31

Slide 32

Slide 32 text

TLS • Transport Layer Security • ೝূɺ҉߸Խɺ׬શੑΛఏڙ͢Δϓ ϩτίϧ • ωΰγΤʔγϣϯʢ҉߸伴ͷڞ༗ͳ ͲʣͷͨΊʹɺ2-RTT͕ඞཁ • ʢը૾͸O'ReillyΑΓҾ༻6ʣ 6 h$ps:/ /hpbn.co/transport-layer-security-tls/ (Figure 4-2. TLS handshake protocol) 32

Slide 33

Slide 33 text

HTTP • Hypertext Transfer Protocol • HTMLͳͲͷίϯςϯπͷૹड৴ʹ ༻͍ΒΕΔϓϩτίϧ • ʢURI಺ͷHTTPS͸HTTP over TLSΛ ҙຯ͠·͢ʣ • ϔομʔ͓ΑͼϑΝΠϧ಺ͷσʔλΛ ઌ಄͔Βॱʹऔಘ 33

Slide 34

Slide 34 text

ϖʔδ͕ෳ਺ϑΝΠϧ͔Βߏ੒͞ΕΔ৔߹ |---index.html---| |--- app.js (too large) ---| |---a.png---| • TCPίωΫγϣϯͷதͰɺϑΝΠϧΛॱ൪ʹऔಘʢHTTP ϦΫΤετʗ Ϩεϙϯεʣ • ڊେͳϑΝΠϧ͕͋Δ৔߹ɺͦͷϑΝΠϧͷసૹ͕׬ྃ͢Δ·ͰҎ ߱ͷϑΝΠϧͷసૹΛ։࢝Ͱ͖ͳ͍ • Head of Line Blocking; HoLϒϩοΩϯά 34

Slide 35

Slide 35 text

HTTP/1.1ʹ͓͚ΔHoLϒϩοΩϯάͷରࡦ(1) • TCPίωΫγϣϯΛෳ਺ར༻͢Δ • ϒϥ΢βͰ͋Ε͹ɺ1υϝΠϯʹର͠6ຊషΔ͜ͱͰฒྻԽ͠ӨڹΛܰݮ ͍ͯ͠Δ • ϑΝΠϧຖʹυϝΠϯΛ෼͚ΔΑ͏ͳ޻෉΋ • ͨͩ͠ɺϝϞϦ౳ͷϦιʔεͷফඅ͸૿͑Δ • ίϯςϯπ͕6ݸҎ্ͷ৔߹ɺ֤ίωΫγϣϯ಺Ͱಉ༷ͷ͜ͱ͕ൃੜ͢ ΔՄೳੑ͸๷͛ͳ͍ 35

Slide 36

Slide 36 text

HTTP/1.1ʹ͓͚ΔHoLϒϩο Ωϯάͷରࡦ(2) • "pipeline"7Λར༻ • ϨεϙϯεΛ଴ͨͣʹϦΫΤετΛ ෳ਺౤͛ΒΕΔػೳ • ͨͩ͠ɺϨεϙϯεͷॱং͸ݻఆ ͷͨΊɺϑΝΠϧ͕ڊେͳ৔߹ʹ ͸ޮՌ͕ബ͍৔߹΋ 7 h$ps:/ /commons.wikimedia.org/wiki/File:HTTPpipelining2ja.svg 36

Slide 37

Slide 37 text

HTTP/2 • GoogleʹΑΔSPDYͷऔΓ૊ΈΛݩʹɺHTTP/2͕RFC7540ͱͯ͠ࡦఆ͞ΕΔ • ίωΫγϣϯͷதʹɺετϦʔϜͱݺ͹ΕΔ୯Ґͷ΍ΓͱΓͷ୯ҐΛੜ੒ ͠ɺଟॏԽ͢Δ • ετϦʔϜ಺Ͱ͸ॱং੍ޚΛߦ͏͕ετϦʔϜΛލ͍Ͱ͸ߦΘͳ͍ͨΊɺ HoLϒϩοΩϯάΛճආͰ͖Δ |---index.html---| |--- app.js (too large) ---| |---a.png---| 37

Slide 38

Slide 38 text

HTTP/2Ͱ͢΂ͯղܾʁ • HTTP͕ಈ͖࢝ΊΔ·ͰʹʢDNSΛআ͍ͯ΋ʣ3-RTT͕ඞཁ • 1ຊͷTCPίωΫγϣϯ಺ʹετϦʔϜΛܗ੒͍ͯ͠ΔͨΊɺ TCPϨϕϧͷHoLϒϩοΩϯά͕ൃੜ͢Δ৔߹͸શମ͕஗ΕΔ • HTTPΑΓԼͷϨΠϠʔ͔Βͷվળͷػӡ 38

Slide 39

Slide 39 text

QUICͷൃ໌ • TCPͷʮॱং੍ޚ͞ΕͨόΠτྻΛૹ ड৴Ͱ͖ΔʯػೳͱɺTLSͷʮೝূɺ ҉߸Խɺ׬શੑʯͷػೳΛ·ͱΊͯఏ ڙ͢Δϓϩτίϧ • UDPͷ্ʹ࣮૷ • ݱࡏIETFʹͯ࢓༷ͷࡦఆத • ʢը૾͸IETFࢿྉ8ΑΓҾ༻ʣ 8 h$ps:/ /datatracker.ie2.org/mee6ng/98/materials/slides-98-edu-sessf- quic-tutorial/ 39

Slide 40

Slide 40 text

UDP • User Datagram Protocol • ʮσʔλάϥϜʯͱݺ͹ΕΔ୯ҰͷϝοηʔδΛૹड৴͢ΔͨΊͷϓ ϩτίϧ • TCPͱಉ͡ϨΠϠʔʢτϥϯεϙʔτ૚ʣʹଐ͢Δ͕ɺίωΫγϣϯΛ ੜ੒ͤͣɺॱং੍ޚͳͲͷ෇ՃػೳΛʮԿ΋ఏڙ͠ͳ͍ʯͷ͕ಛ௃ • WebRTCΛ༻͍ͨετϦʔϛϯάͳͲɺଟগͷσʔλܽଛΑΓ΋஗Ԇʹහ ײͳΞϓϦέʔγϣϯ༻ͷϓϩτίϧʢͷԼճΓʣͱͯ͠ར༻͞Ε͍ͯΔ 40

Slide 41

Slide 41 text

ͳͥUDPͷ্ʹ࣮૷ʁ • TCP্ʹ࣮૷͢ΔݶΓɺTCPͷৼΔ෣͍͕ϘτϧωοΫͱͳΓ͏Δ • TCP/UDPʹଓ͘ୈ3ͷϓϩτίϧΛ։ൃ͢Δͱɺ௨৴Λதܧ͢Δ͢΂ͯͷػثΛஔ͖ ׵͑ͳ͚Ε͹͍͚ͳ͍Մೳੑ͕͋Δ • UDPͰ͋Ε͹طଘͷ΋ͷͷͨΊɺʢ͓ͦΒ͘ʣ໰୊ͳ͘ಈ͘ • ʢاۀ಺ͷϑΝΠΞ΢ΥʔϧઃఆͳͲͰด͍ͯ͡ΔՄೳੑ͸͋Δʣ • TCP/UDP͸OSϨϕϧͰ࣮૷͞Ε͍ͯΔ͜ͱ͕ଟ͘ɺͦͷ্ʹ࣮૷͢Δ͜ͱͰ৽͍͠ όʔδϣϯΛൺֱత༰қʹσϓϩΠͰ͖Δ ͳͲͳͲ 41

Slide 42

Slide 42 text

QUICͷԸܙ • 1-RTTͰTCP+TLS૬౰ͷίωΫγϣϯΛཱ֬ • ΞϓϦέʔγϣϯσʔλૹड৴લͷ଴ͪ࣌ؒΛ1/3ʹ • ίωΫγϣϯ಺Ͱ(HTTP/2ͱྨࣅͷ)ετϦʔϜΛ༻͍ͯଟॏԽ • HoLϒϩοΩϯάΛճආ ! 42

Slide 43

Slide 43 text

QUICؔ࿈χϡʔε • ʮOCN ϞόΠϧ ONEʯͷ௨৴඼࣭޲্ʹΉ͚ͨऔΓ૊Έ • "ʮQUIC௨৴ͷྲྀྔίϯτϩʔϧʯΛద༻͠ɺʮOCN ϞόΠϧ ONEʯ͝ར༻ऀશମͷ௨৴඼ ࣭վળΛਤΓ·͢ɻ" • Google CloudͷHTTPSϩʔυόϥϯαʔ͕QUICϓϩτίϧʹରԠ • The Road to QUIC • "The IETF working group is currently set to deliver the first version of the QUIC specificaGons by the end of the year" • QUIC Version 44 and IETF QUIC • "the Google QUIC team has started the transiGon to IETF QUIC" 43

Slide 44

Slide 44 text

ؓ࿩ٳ୊ 44

Slide 45

Slide 45 text

Ҿ͖ଓ͖ϒϥ΢δϯά • ߦಈنൣ9Λݟʹ͍͘ 9 h$ps:/ /iosdc.jp/2018/code-of-conduct 45

Slide 46

Slide 46 text

ͨͩ͠ɺWi-Fi͔ΒϞόΠϧω οτϫʔΫ΁੾ΓସΘͬͨ • ϞόΠϧσόΠεʹΑ͋͘Δέʔε • ը૾͸Googleࢿྉ10ΑΓҾ༻ • ͲΜͳڍಈʹͳΔʁ • (DNSͱHTTP͸লུ) 10 h%ps:/ /docs.google.com/presenta6on/d/13LSNCCvBijabnn1S4- Bb6wRlm79gN6hnPFHByEXXptk/present?slide=id.g2a9e7f5ea_194 46

Slide 47

Slide 47 text

TCP+TLSͷ৔߹ 1. ΫϥΠΞϯτͷIPΞυϨε͕มΘΔͨΊɺTCPίωΫγϣϯͷ࠶ཱ͕֬ඞཁ • ʢίωΫγϣϯ͸IPΞυϨε/ϙʔτͷ4ͭ૊Ͱࣝผ͞ΕΔʣ • ͢ͳΘͪɺ1-RTTͷ଴͕ͪ࣌ؒൃੜ 2. ৽ͨʹੜ੒͞ΕͨTCPίωΫγϣϯͷ্Ͱ࠶౓TLSωΰγΤʔγϣϯΛ࣮ࢪ • ͢ͳΘͪɺ2-RTT͕ඞཁ • ܰݮ͢ΔͨΊʹηογϣϯ࠶։(session resump8on)ͳͲͷػೳ΋͋Δ 47

Slide 48

Slide 48 text

࠶ͼ3-RTT͕ඞཁͳՄೳੑ 48

Slide 49

Slide 49 text

QUICͩͱʁ • ίωΫγϣϯҠߦ(Connec(on Migra(on)ͷ࢓૊Έ͕ଘࡏ • αʔόʔʗΫϥΠΞϯτͦΕͧΕ͕࣋ͭ Connection ID ͷ૊Έ߹Θ͕ͤίωΫ γϣϯͷࣝผࢠͱͳΔ • ͢ͳΘͪɺIPΞυϨε΍ϙʔτͷ৘ใʹґଘ͍ͯ͠ͳ͍ • Ҡಈͨ͠ઌͷૹ৴ݩΞυϨε͔Β΋ಉ͡ Connection ID Λ༻͍ͯσʔλΛૹ৴Մ ೳ • ʢͨͩ͠ɺِ૷ʹΑΔDoS߈ܸͷϦεΫ͸͋ΔͨΊɼࣄޙʹ௥Ճͷखଓ͖͸ඞཁʣ 49

Slide 50

Slide 50 text

0-RTTͰҟͳΔωοτϫʔΫʹҠߦՄೳ 50

Slide 51

Slide 51 text

༩ଠ࿩ • εϚϗ͔ΒΠϯλʔωοτܦ༝ͷ։ด͕Ͱ͖ΔిࢠৣσόΠεΛৗ༻ͯ͠·͢ • ʮʓʓඵͰΦʔτϩοΫʯͷػೳ΋ONʹͯ͠ΔͷͰɺ͋Δఔ౓͍ۙͮͨͱ͜ΖͰ ղৣૢ࡞Λߦ͏ͷͰ͕͢ɺɺ • ղৣૢ࡞ͷ్தͰͨ·ʹΤϥʔ͕ൃੜ͠·͢ • Ұ࿈ͷಈ࡞ͷ్தͰWi-FiΛरͬͯ͠·͍ͬͯΔ͔Βʁʁʢ͋͘·Ͱ૝૾Ͱ͢ʣ • ΋͔ͨ͠͠Βɺςετέʔεͱͯ͠ݟͨ΄͏͕͍͍΋ͷͳͷ͔΋͠Ε·ͤΜʢ͘ Ε͙Ε΋૝૾Ͱ͢ʣ 51

Slide 52

Slide 52 text

ؓ࿩ٳ୊ 52

Slide 53

Slide 53 text

ຊ೔ͷ֓ཁʢ࠶ܝʣ ʮαΫαΫײʯ͕UXʹ௚݁͢Δ͜ͱ͸Α͘஌ΒΕ͍ͯΔ͔ͱࢥ͍·͢ɻ αʔόʔͱͷ௨৴Λߴ଎Խ͢ΔͨΊʹɼ޿͘ར༻͞Ε͍ͯΔHTTPͷվળ Λ໨ࢦͨ͠HTTP/2͕ඪ४Խ͞Ε·ͨ͠ɻ ҰํͰɼͦ΋ͦ΋HTTPͷԼͷϨΠϠΛ୲͏TCP͕஗͍͜ͱ͔Βɼͦͷ՝ ୊Λղܾ͢ΔQUICͱ͍͏ϓϩτίϧ͕։ൃ͞Εɼ·ͨඪ४Խ͕ਐΜͰ͍ ·͢ɻ ͜ͷQUICͷجຊతͳ֓೦΍ϞόΠϧʹؔ࿈͢Δಛ௃ͳͲΛ͓࿩͠͠·͢ɻ 53

Slide 54

Slide 54 text

·ͱΊ • ʮωοτϫʔΫ͕ૣ͍ʯͱ͸ʁ • αʔόʔ·Ͱͷڑ཭͕͍ۙɺ఻ૹ͢Δσʔλ͕খ͍͞ɺ఻ૹ͢Δσʔλʹे ෼ͳଳҬ͕͋Δ • ͨͩ͠ɺͦ΋ͦ΋ωοτϫʔΫΛ࢖༻͠ͳͯ͘Α͍ͳΒϕλʔ • QUIC͸͜ͷ؍఺ͷվળ΋ఏڙ ! • 1-RTTͰTCP+TLS૬౰ͷίωΫγϣϯΛཱ֬ • 0-RTTͰίωΫγϣϯҠߦ 54

Slide 55

Slide 55 text

·ͱΊ(ଓ͖) • ֤छϥΠϒϥϦ΍αʔόʔʗΠϯϑϥνʔϜͷΈͳ͞·ͷؤு ΓʹΑͬͯɺجຊతʹ͸͍ͭͷ·ʹ͔ʮαΫαΫʯʹͳ͍ͬͯ Δ͸ͣ ! • ϞόΠϧσόΠεʹԸܙͷ͋Δٕज़ͳͷͰɺงғؾ͚ͩͰ΋஌ ͬͯΔͱָ͍͔͠΋ʁ • ΈΜͳͰ޾ͤʹͳΓ·͠ΐ͏ " 55

Slide 56

Slide 56 text

ؔ࿈ʢʁʣτʔΫ • WebSocketΛiOSʹ࣋ͪࠐΜͰਏ͍ࢥ͍Λͨ͠ܦݧ͕͋Γ·͔͢ʂʁ (9/1 16:00- @Track C) • ͋͑ͯWebΤϯδχΞҎ֎ͷਓʹฉ͍ͯ΄͍͠WebRTCͷ࿩ (9/2 15:10- @Track D) • ΠϯυͷΠϯλʔωοτ؀ڥͱͷઓ͍ํ (9/2 LT) • WebSocketʹΑΔϏσΦ௨࿩ (9/2 LT) ָ͠Έʹ͍ͯ͠·͢ʂʂ ! 56

Slide 57

Slide 57 text

ࢀߟࢿྉ • ϋΠύϑΥʔϚϯε ϒϥ΢βωοτϫʔΩϯά • TCP / UDP / HTTP/2ͷ࿩͸͜ͷຊ1࡭ͰOK • QUIC: A UDP-Based Mul;plexed and Secure Transport (draE-13) • draE-14͕ग़ͯͨ͜ͱΛઌ೔஌Γ·͕ͨ͠·ͩಡΊͯ·ͤΜɻɻ • IETFʹ͓͚Δ௨৴ίωΫγϣϯվળʹؔ͢Δࠃࡍඪ४Խಈ޲ௐࠪใࠂॻ (pdf) • Head of Line Blocking - High Performance Web 2015 • ֤छWikipediaϖʔδ 57

Slide 58

Slide 58 text

͓ΘΓʹ • ͋͘·Ͱࢿྉϕʔεʹௐ΂ͨ΋ͷͰ͋ΓɺޡղͳͲʹىҼ͢Δ ޡΓ΍આ໌ෆ଍౳͋Δ͔ͱࢥ͍·͢ • దٓमਖ਼͠·͢ͷͰɺίϝϯτ͍͚ͨͩΕ͹޾͍Ͱ͢ 58

Slide 59

Slide 59 text

ɹ 59