SlideShare a Scribd company logo
HTTP
HTTP 5G
html5 conference 2018 on 2018.11.25
WebDINO Japan - Tomoya ASAI
with Softbank - Yasuhiro NAGAI
about:me
Tomoya ASAI - dynamis webdino.org
CTO
Tech Speaker
dynamis @ Community
Twitter: @dynamitter
facebook.com/dynamis
I LOVE Firefox = Red Panda = Petit Panda = Lesser Panda2
@
about: WebDINO Japan
Web, Browser, Open
( : )
(Chromium, Firefox )
( : Gecko )
Web & Open
Web IoT
2017 : Mozilla Japan WebDINO Japan
https://www.webdino.org/3
Today's Topics
Introduction
5G
Softbank 結 5G
5G
5G x IoT Studio
4
Introduction
: Web
2014/10 - HTML5
2015/02 - HTTP/2 (RFC 7540, SPDY)
2015/10 - CSS snapshot 2015
2016/06 - ECMAScript 2016
2016/09 - TCP BBR Linux
2018/08 - TLS 1.3 (RFC 8446)
2019/xx - HTTP/3 (RFC TBD)
6
: HTTP over QUIC HTTP/3
IETF 103 (2018/11)
QUIC WG HTTPbis WG 

HTTPbis WG
2018/11
Chrome gQUIC IETF QUIC
HTTP/3 Litespeed
Facebook
: https://mailarchive.ietf.org/arch/msg/quic/RLRs4nB1lwFCZ_7k0iuz0ZBa35s7
Web
/
8
:
1.
×
Minify
Gzip Brotli (2 )
HTTP/2 QUIC
2.
×
TLS1.3 QUIC 0-RTT
ほ BBR
駄 駄9
Web
201x
HTTP/3 HTTP/2 + BBR
#html5conf #html5j_h
a.
b. 5G MEC
:
Softbank WebDINO
5G x IoT Studio
WebDINO Japan
5G ( )
Softbank & WebDINO Japan
#html5conf #html5j_h
5G
HTTP and 5G (fixed1)
about:me
15
Yasuhiro Nagai
yasuhiro.nagai@g.softbank.co.jp
LTE, LTE-Advanced, 5G
IoT-platform
IoT (NIDD)
MaaS
1Gbps 10Gbps
10ms
10 /
1ms
100 /
5G4G
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
35
4
35 35
HTTP and 5G (fixed1)
0
?
?
0
GC 4
1
N G
N
N
4
5
1
1
1
00
GC E C E
N
N
5
( )( -)
()
X
U
NW 1
6 C
5
1
JShtml
CSS
5 G
T
8 C
A82
A82 V
I
G5 N
0
G
D
/ 1
F e
C
M
tr n E U
2 / 2/
P
tr n e
d i r I
g g BG
P
r A
0
HTTP and 5G (fixed1)
HTTP/2 & TCP
Web
HTTP/1.1 + TLS/1.2
HTTP/1.1
HTTP (HOL)
(RTT )

TLS 1.2 2-RTT (false start 1-RTT)
...
TLS/1.2
CRIME ...
:http://bit.ly/1gqR7WN (https://www.youtube.com/watch?v=hQZ-0mXFmk8)36
TCP 3-way 

1~3 RTT

(RTT = 100ms )
HTTP 1.1
TCP 1 1
CSS JS
6
Softbank37
TLS 1.2 (full handshake)
RTT (Round Trip Time) =
2-RTT
TLS False Start 1-RTT 

(Finished Application Data )
HTTP Application Data
1-2
session id Hello 1-RTT
Application Data
38
clientHello
serverHello

ServerCertificate

(ServerKeyExchange)

(CertificateRequest)

ServerHelloDone
(ClientCertificate)

ClientKeyExchange

(CertificateVerify)

ChangeCipherSpec

Finished

(Application Data)
ChangeCipherSpec
Finished
Application Data
( )
TCP
TCP
TCP (HOL)
( )
( )
BBR
39
TCP
TCP
TCP ACK
CWND
( )
TCP N 1/N
TCP
(1 )
: https://csperkins.org/research/tcp-hollywood/2016-05-19-networking/40
HTTP/1.1 HTTP/2
TCP
HTTP
TCP 1 TCP
HPACK (HTTP )
(
)
Google SPDY HTTP/241
H2 H2
HTTP/1.1 TCP


HTTP/2 TCP
TLS 1.3 :
0-RTT ( 1-RTT)
(TLS 1.2 1 RTT )
( )
TCP
42
TLS 1.3 (full handshake)
Full Handshake 1-RTT
PSK Application
Data clientHello 0-RTT
0-RTT
Hello
43
clientHello
(KeyShare)
serverHello
(KeyShare)

EncryptedExtensions

(CertificateRequest)

(Certificate)

(CertificateVerify)

Finished

Application Data
(Certificate)

(CertificateVerify)

Finished

Application Data
Application Data
( )
0-RTT
Hello
Application Data
(PSK)
PSK 

(PSK Hello )
(TLS )
POST44
clientHello
(Application Data)
serverHello

EncryptedExtensions

Finished

Application Data
EndOfEarlyData

Finished

Application Data
Application Data
( )
TCP
:
BDP ( x RTT) CWND
RTT
(Slow Start)
45
25
Deliveryrate
BDP BDP+BufSize
RTT
Optimal: max BW and min RTT (Kleinrock)
amount in flight
Optimal operating point
23
Deliveryrate
BDP BDP+BufSize
RTT
Loss based CC (CUBIC / Reno)
amount in flight
Loss based congestion control in deep buffers
BDP = (max BW) * (min RTT)
26
Deliveryrate
BDP BDP+BufSize
RTT
amount in flight
Est min RTT = windowed min of RTT samples
Est max BW = windowed max of BW samples
Estimating optimal point (max BW, min RTT)
(BDP )
https://datatracker.ietf.org/meeting/101/materials/slides-101-iccrg-an-update-on-bbr-work-at-google-0046
25
Deliveryrate
BDP BDP+BufSize
RTT
Optimal: max BW and min RTT (Kleinrock)
amount in flight
Optimal operating point
( )
https://datatracker.ietf.org/meeting/101/materials/slides-101-iccrg-an-update-on-bbr-work-at-google-0047
23
Deliveryrate
BDP BDP+BufSize
RTT
Loss based CC (CUBIC / Reno)
amount in flight
Loss based congestion control in deep buffers
: BBR
RTT
RTT
RTT 駄
Google
google.com 2%
YouTube 13%
YouTube RTT 32%
Loss 1% 2%
https://queue.acm.org/detail.cfm?id=302218448
BBR ( BW RTT )
https://datatracker.ietf.org/meeting/101/materials/slides-101-iccrg-an-update-on-bbr-work-at-google-0049
BDP = (max BW) * (min RTT)
26
Deliveryrate
BDP BDP+BufSize
RTT
amount in flight
Est min RTT = windowed min of RTT samples
Est max BW = windowed max of BW samples
Estimating optimal point (max BW, min RTT)
HTTP/3 & QUIC
Web
QUIC
HTTP + TLS over TCP UDP
HTTP/2 ( )
HTTP/2 + TLS1.2 + TCP HOL
0-RTT ( TLS 1.3 )
Multipath (5G + LTE + WiFi )
http://www.davidromerotrejo.com/2016/09/moving-web-from-tcp-to-udp.html?m=151


TLS 1.3
HTTP/2 TCP HOL
: http://bit.ly/1gqR7WN (https://www.youtube.com/watch?v=hQZ-0mXFmk8)52
H2 H2
H2 H2
HTTP/2 TCP 



( )
QUIC UDP 



( )
HTTP/3 ( HTTP over QUIC)
Google QUIC IETF QUIC
Google HTTP + TLS UDP
gQUIC IETF QUIC (iQUIC)
IETF iQUIC QUIC Transport HTTP over
QUIC (hq)
QPACK ( ) /
HTTP over QUIC = hq HTTP/3
IETF 103 hq HTTP/3
Transport QUIC
https://daniel.haxx.se/blog/2018/11/11/http-3/53
IETF QUIC
https://datatracker.ietf.org/wg/quic/deps/svg/54
HTTP/3

( QUIC)
HTTP/3 + QUIC Transport
HTTP/2 + TCP
UDP TCP


( )
LTE, 5G, WiFi IP
ID 

( / IP+Port )
255 range Negative ACK (NACK)
HTTP/2 TCP
55
QUIC Transport MTU
Google MTU = 1350,1370 (IPv6,v4)
Path MTU
MTU MTU
HTTP/2
駄 MTU 1450
MTU
(MEC on 5G )
:
DDoS 1200 PMTU
1280 (IPv6 PMTU)
56
HTTP/3, QUIC
Server: Google Frontend (GCP) or LiteSpeed
Apach, Nginx QUIC
Client: Chrome
QUIC alt-svc HTTP/2
(
)
QUIC
--origin-port-to-force-quic-on
QUIC57
Google Quic
Google Front End ( )
Google QUIC GCP
LiteSpeed ( )
QUIC (2017/06 )
Caddy
GO LTE 駄
issue 5G 駄
Satellite (by LINE)
Google QUIC
: Chrome IETF QUIC Server58
: Google OSS QUIC
QUIC
quic_server, quic_client
toy server.
(HTTP
)
FYI: Chrome 2012 10 659
LiteSpeed
HTTP/2 OSS QUIC
Google Frontend
HTTP/2 QUIC
NIC
(by LiteSpeed )
Google
Web QUIC60
5G x IoT Studio
5G端末
5G基地局
5Gコア
シールドルーム
client server
UDP
計測時設定の
ダウンロード速度
計測時設定の
アップロード速度
往復遅延時間
( 最小 RTT )
2Gbps 200Mbps 5~7msec
5G 環境 計測環境概要
4.7GHz


19 2 +63
4.7GHz
5G 5G
SYSTEM WORKS R8151
( )
64
CPU Intel Core i7-8700 (6core/3.2GHz)
Memory Server: 16GB (DDR4-2666)

Client: 32GB (DDR4-2666)
HDD 256GB (NVMe SSD)
NIC Intel X550-T1, PCIe3.0 (10Gbps)
OS Linux (Ubuntu16.04LTS)
5G端末
5G基地局
シールドルーム
4.7GHz
5Gコア
(有線計測時のみ)
Ixia Network Emulator II
サーバマシン x 2 クライアント x 2
MTU=140010Gbps
Nginx 1.10.3 (HTTP/1.1, HTTP/2 )
Lite Speed Enterprise 5.3 RC (QUIC )
Chrome 68.0.3440.106
TCP BBR Kernel Update
OS Ubuntu 16.04LTS
Let's Encrypt HTTPS
Let's Deprecate HTTP!
Chrome65
Chrome + Puppeteer ( )
JavaScript fetch Resource Timing
API (5μs ) DL
(
)
ping RTT (0.02 )
sar NIC/CPU/Memory
sar
tcpdump ( )
tcpdump 1 40GB66
HTTP/1.1 (cubic, bbr), HTTP/2 (cubic, bbr), QUIC 5
駄 5G 駄
駄 (DL )
fetch 4 x 5 = 20 467
fetch
single 5GB
movie 340MB MP4 (16 files)

BigBuckBunny 1080p 60fps
DL
image 62KB 22MB PNG (712 files)
BigBuckBunny
movie chunk
100
chunk 1 2MB (139 files x 10)
YouTube BBB
( 10 )
(ping, sar)
Client : ping i 0.02 $server > $ lename
RTT 0.02
chart.js ( )
Server/Client : sar A o $ lename
sadf ( )
1 :
CPU Memory NIC (TCP,
UDP
) block device I/O Transfer
68
5G RTT ( )
http/1.1, cubic, movie (9/22)69
RTT
(50ms )
RTT 
 

RTT
RTT 10ms
... 1791
...
Chrome
5G
( )
5G 駄
( ) 5G
5G 5G ( )
MEC
駄
5G
駄
72
5G
CUBIC BBR
HTTP/2 TCP 1
QUIC73
HTTP/1.1 (CUBIC) HTTP/2 (CUBIC) HTTP/1.1 (BBR) HTTP/2 (BBR) QUIC
single movie image chunk
: QUIC 



( )
5G
CUBIC BBR
HTTP/2 TCP 1
QUIC74
HTTP/1.1 (CUBIC) HTTP/2 (CUBIC) HTTP/1.1 (BBR) HTTP/2 (BBR) QUIC
single movie image chunk
: QUIC 



( )
TCP BBR
TCP CUBIC vs BBR 6 x TCP CUBIC vs BBR
(HTTP/1.1)
movie, image
TCP BBR CUBIC ( )
: 9/5 ( )75
( , 9/5) (Mbps)
http1.1, cubic, single 476, 697, 694, 746 653
http1.1, cubic, movie 969, 948, 878, 928 931
http1.1, cubic, image 1030, 1010, 902, 992 984
http1.1, cubic, chunk 864, 875, 885, 883 877
http1.1, bbr, single 555, 609, 578, 604 587
http1.1, bbr, movie 890, 866, 834, 867 864
http1.1, bbr, image 794, 790, 788, 634 751
http1.1, bbr, chunk 735, 818, 746, 767 767
( , 8/23) (Gbps)
http1.1, cubic, single 3.17, 3.18, 3.14, 3.12 3.15
http1.1, cubic, movie 2.73, 2.77, 2.72, 2.76 2.74
http1.1, cubic, image 2.00, 1.86, 1.86, 2.00 1.93
http1.1, cubic, chunk 1.30, 1.27, 1.28, 1.28 1.28
http1.1, bbr, single 3.13, 3.24, 3.15, 3.13 3.18
http1.1, bbr, movie 2.82, 2.90, 2.88, 2.88 2.87
http1.1, bbr, image 2.02, 1.86, 1.98, 1.95 1.95
http1.1, bbr, chunk 1.30, 1.27, 1.28, 1.28 1.28
(HTTP/2)
HTTP/1.1 vs HTTP/2 CUBIC vs BBR
HTTP/2
TCP 1
: 9/5 ( )76
( , 8/23) (Gbps)
http2, cubic, single 3.22, 3.11, 3.22, 3.20 3.19
http2, cubic, movie 2.83, 2.74, 2.80, 2.81 2.79
http2, cubic, image 1.93, 1.68, 1.91, 1.65 1.79
http2, cubic, chunk 1.35, 1.27, 1.34, 1.35 1.33
http2, bbr, single 3.22, 3.11, 3.22, 3.20 3.19
http2, bbr, movie 2.83, 2.74, 2.80, 2.81 2.79
http2, bbr, image 1.93, 1.68, 1.91, 1.65 1.79
http2, bbr, chunk 1.35, 1.27, 1.34, 1.35 1.33
( , 9/5) (Mbps)
http2, cubic, single 700, 896, 816, 959 823
http2, cubic, movie 826, 901, 699, 676 776
http2, cubic, image 740, 704, 560, 725 682
http2, cubic, chunk 875, 881, 878, 880 879
http2, bbr, single 700, 896, 816, 959 843
http2, bbr, movie 826, 901, 699, 676 776
http2, bbr, image 740, 704, 560, 725 682
http2, bbr, chunk 875, 881, 878, 880 879
(QUIC)
QUIC movie
HTTP/1.1 HTTP/2
QUIC Chrome ( )
Disk I/O ( )
QUIC, single 駄 n/a77
( , 8/23) (Gbps)
quic, single 3.22, 3.19, 3.22, 3.24 3.22
quic, movie 3.23, 3.20, 3.18, 3.14 3.19
quic, image 2.10, 1.89, 2.19, 2.15 2.08
quic, chunk 1.35, 1.28, 1.35, 1.32 1.32
( , 9/21) (Mbps)
quic, single n/a n/a
quic, movie 374, 365, 395, 378 378
quic, image 492, 472, 488, 451 476
quic, chunk 495, 504, 540, 531 518
5G
1.
CUBIC RTT
BBR
RTT
5G 駄
2.
QUIC HOL
78
5G
1.
a. 5G
OR
b. RTT
2.
HTTP, TCP HOL
QUIC
note:
NEXT TODO: 駄79
5G HTTP/2
TCP LOH HTTP/1.1
TCP N
( 1/N )
(HTTP/1.1 )
TCP
HTTP + TCP QUIC
TCP LOH QUIC
QUIC
5G RTT HTTP/280
YES.
HTTP/2

is slow
on 5G.
5G BBR
CUBIC
5G 駄


0.1%
BBR RTT
5G 駄
(TCP/IP )
RTT
BBR RTT
note: 50ping/sec81
YES.
BBR

is slow
on 5G.
5G RTT
http/2, cubic, movie RTT82


RTT


RTT
10ms
HTTP/1.1, CUBIC, movie RTT
CUBIC RTT 50ms RTT83
Average Variance Standard
Deviation
Max Min
18.1362 514.634 22.68553986 425 2.35
Mbps
1 935
2 928
3 928
4 878
50ms
HTTP/1.1, BBR, Movie RTT
BBR RTT 50ms 10ms CUBIC84
Average Variance Standard
Deviation
Max Min
10.9638 88.354 9.399678951 81.3 2.21
Mbps
1 559
2 435
3 510
4 556
50ms
10ms
: TCP (CUBIC) iperf
60 ( )
1.8Gbps 3 775Mbps
85
180s 1810Mbps

: TCP (BBR) iperf
CUBIC 500Mbps
400Mbps
RTT86
5G CUBIC
CUBIC
BBR 4 60 80%
CUBIC
note: BBR 駄 CUBIC
駄
note: 50ping/sec87
NO.
CUBIC

CAN be
slow.
( , 9/20) 1 2 3 4
http2, cubic, movie 634Mbps 686Mbps 905Mbps 500Mbps
http2, cubic, chunk 240Mbps 549Mbps 264Mbps 339Mbps
http2, bbr, movie 291Mbps 301Mbps 300Mbps 280Mbps
http2, bbr, chunk 284Mbps 321Mbps 308Mbps 326Mbps
5G QUIC
QUIC
5G RTT
RTT
RTT 20-30ms 50ms
RTT
5G
( )
NEXT TODO:88
QUIC
CAN be
fastest
on 5G.
1 x Chrome, HTTP/2, quic, movie
364 393Mbps
750Mbps (5G 1/3 )
89
1 (374Mbps) 2 (364Mbps) 3 (393Mbps) 4 (378Mbps)
2 x Chrome, HTTP/2, quic, movie
449 650Mbps
2 2.1Gbps ( 5G )
90
1
(590/579Mbps
)
2
(590/579Mbps
)
3
(449/461Mbps
)
4 

(650/618Mbps
)
4 x Chrome,HTTP/2,QUIC,Movie
4 2.3 Gbps
91
1
(286/279/

279/273)
2
(397/325/

371/328
3
(175/264/

194/268
4
(317/269/

270/266)
RTT
Chrome QUIC RTT92
50ms
HTTP and 5G (fixed1)
RTT
RTT
2G
( 1 40GB)
RTT
( ) RTT
(RTT )
CUBIC, BBR 縮
縮
TODO NEXT: 縮94
TCP RST
TCP RST (reset) TCP
( 縮 )
Web 

HTTP/2, QUIC fetch 100
Wireshark rst95
fetch
駄
駄 5%
5G 駄
fetch
fetch JS
96
... ...

... ...
HTTP and 5G (fixed1)
HTTP (TCP) CUBIC BBR
5G CUBIC BBR
CUBIC
BBR
HTTP TCP
HTTP/1.1 HTTP/2
QUIC
( ) MEC
99
5G
RTT RTT
: HTTP/2 BBR QUIC RTT
fetch
catch resolve
QUIC
Web
100
5G
5G 

駄
101
5G x IoT Studio
102
https://tm.softbank.jp/form/contact/5g/index.php
5G×IoT Studio に関するお問い合わせ
5G x IoT Studio
103
https://tm.softbank.jp/form/contact/5g/index.php
5G×IoT Studio に関するお問い合わせ
5G x IoT Studio
104
https://tm.softbank.jp/form/contact/5g/index.php
5G×IoT Studio に関するお問い合わせ
Thank You!
Any Questions?
Feel free to contact me:
dynamis webdino.org

@dynamitter, facebook.com/dynamis
Slide Upload: slideshare.net/dynamis
by @4687koSourijun
@
References - TCP
TCP/IP https://www.amazon.co.jp/dp/4894713209
Internet Week 99
TCP https://www.nic.ad.jp/ja/materials/iw/1999/notes/C3.PDF
TCP http://www.ieice-hbkb.org/ les/03/03gun_04hen_01.pdf
http://sacsis.hpcc.jp/2009/SACSIS2009_TCP.pdf
CUBIC for Fast Long-Distance Networks
RFC 8312 https://tools.ietf.org/html/rfc8312
CUBIC: a new TCP-friendly high-speed TCP variant https://dl.acm.org/citation.cfm?
id=1400105
106
References - BBR
BBR
BBR: Congestion-Based Congestion Control https://queue.acm.org/
detail.cfm?id=3022184
BBR for Linux Kernel
BBR congestion control https://lwn.net/Articles/701165/
patch https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-
next.git/commit/?id=0f8782ea14974ce992618b55f0c041ef43ed0b78
Linux Kernel 4.9 https://kernelnewbies.org/Linux_4.9
107
References - Google QUIC
Chromium QUIC
https://www.chromium.org/quic
https://www.chromium.org/quic/playing-with-quic
Design Doc https://docs.google.com/document/d/
1RNHkx_VvKWyWg6Lr8SZ-saqsQx7rFV-ev2jRFUoVD34/edit?pli=1#
108
References - IETF QUIC
IETF QUIC WG https://quicwg.org/
GitHub - WG materials https://github.com/quicwg/wg-materials
IETF 103 Meeting
https://datatracker.ietf.org/meeting/103/materials
https://datatracker.ietf.org/meeting/103/session/quic
HTTP/3 https://daniel.haxx.se/blog/2018/11/11/http-3/
QUIC
RFC Drafts https://datatracker.ietf.org/wg/quic/documents/
https://github.com/ ano-yuki/my-quic-spec-translation
109
Reference - QUIC
ASnoKaze Blog - QUIC https://asnokaze.hatenablog.com/
archive/category/QUIC
: http://www.soumu.go.jp/
main_sosiki/joho_tsusin/hyojun/02tsushin04_03000123.html
110

More Related Content

PDF
超実践 Cloud Spanner 設計講座
PDF
Fido認証概要説明
PDF
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
PDF
実装して理解するLINE LoginとOpenID Connect入門
PDF
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
PPTX
Arxan導入前後で変わったこと
PDF
Microsoft Azure/SRT - 最新技術情報アップデート
PDF
OpenID ConnectとAndroidアプリのログインサイクル
超実践 Cloud Spanner 設計講座
Fido認証概要説明
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
実装して理解するLINE LoginとOpenID Connect入門
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Arxan導入前後で変わったこと
Microsoft Azure/SRT - 最新技術情報アップデート
OpenID ConnectとAndroidアプリのログインサイクル

What's hot (20)

PDF
Fluentdのお勧めシステム構成パターン
PDF
Web サーバー管理者のための Azure App Service 再入門
PPTX
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
PDF
YAPC::Tokyo 2013 ritou OpenID Connect
PPTX
Microsoft 365 グループ 生まれた経緯とそのコントロール MICROSOFT 365 VIRTUAL MARATHON 2022
PDF
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
PPTX
Keycloak入門
PDF
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
PDF
使ってみて気づいた AGPL ライセンスの メリット・デメリット
PDF
HA環境構築のベスト・プラクティス
PDF
マルチテナントのアプリケーション実装〜実践編〜
PDF
Sign In with Apple概要 iOSでの実装方法検討 #idcon
PPTX
イケてない開発チームがイケてる開発を始めようとする軌跡
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
PDF
エンタープライズITでのOpenID Connect利用ガイドライン
PDF
デモとディスカッションで体験するOracle DBトラブル対応
PDF
45分で理解する SQL Serverでできることできないこと
PDF
SSIとDIDで何を解決したいのか?(β版)
PDF
OpenID ConnectとSCIMの標準化動向
Fluentdのお勧めシステム構成パターン
Web サーバー管理者のための Azure App Service 再入門
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
これからのネイティブアプリにおけるOpenID Connectの活用
YAPC::Tokyo 2013 ritou OpenID Connect
Microsoft 365 グループ 生まれた経緯とそのコントロール MICROSOFT 365 VIRTUAL MARATHON 2022
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Keycloak入門
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
使ってみて気づいた AGPL ライセンスの メリット・デメリット
HA環境構築のベスト・プラクティス
マルチテナントのアプリケーション実装〜実践編〜
Sign In with Apple概要 iOSでの実装方法検討 #idcon
イケてない開発チームがイケてる開発を始めようとする軌跡
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
エンタープライズITでのOpenID Connect利用ガイドライン
デモとディスカッションで体験するOracle DBトラブル対応
45分で理解する SQL Serverでできることできないこと
SSIとDIDで何を解決したいのか?(β版)
OpenID ConnectとSCIMの標準化動向
Ad

Similar to HTTP and 5G (fixed1) (20)

PDF
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
PDF
Technical Overview of QUIC
PPT
OSTU - Sake Blok on Packet Capturing with Tshark
PPTX
103 Basic network concepts
PDF
HTTP/3 is next generation HTTP
PDF
DOCX
Lab telematicos
DOCX
Lab telematicos
PDF
Quic illustrated
PDF
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf
PDF
WebRTC: A front-end perspective
PPT
An Application Gateway to Deploy High-quality Video Communications in Various...
PDF
[workshop] The Revolutionary WebRTC
PDF
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
PDF
Linux HTTPS/TCP/IP Stack for the Fast and Secure Web
PDF
03_clere-HTTP2 HTTP3 the State of the Art in Our Servers.pdf
PDF
Short Introduction to IPv6
PDF
Primer to Browser Netwroking
PPT
UDT
PPT
UDT
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
Technical Overview of QUIC
OSTU - Sake Blok on Packet Capturing with Tshark
103 Basic network concepts
HTTP/3 is next generation HTTP
Lab telematicos
Lab telematicos
Quic illustrated
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf
WebRTC: A front-end perspective
An Application Gateway to Deploy High-quality Video Communications in Various...
[workshop] The Revolutionary WebRTC
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Linux HTTPS/TCP/IP Stack for the Fast and Secure Web
03_clere-HTTP2 HTTP3 the State of the Art in Our Servers.pdf
Short Introduction to IPv6
Primer to Browser Netwroking
UDT
UDT
Ad

More from dynamis (20)

PDF
HTTP and 5G
PDF
HTTP and 5G partial draft
PDF
Web App Platform Strategy
PDF
HTML5 & Renesas RZ/G
PDF
Life of html5 (osaka)
PDF
Web updates 2017
PDF
Life of HTML5
PDF
Browsers in IoT Era
PDF
New Norm of HTML5
PDF
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
PDF
OSC2016.Enterprise Lightnig Talk
PDF
Demo for Gecko Embedded
PDF
Project Gecko Embedded
PDF
The New Norm of The Web
PDF
Progressive Mobile Web Apps
PDF
Modern Mobile Web Apps
PDF
Web Tech & Architecture
PDF
Java script.trend(spec)
PDF
Data Privacy meeting
PDF
Firefox OS TV
HTTP and 5G
HTTP and 5G partial draft
Web App Platform Strategy
HTML5 & Renesas RZ/G
Life of html5 (osaka)
Web updates 2017
Life of HTML5
Browsers in IoT Era
New Norm of HTML5
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
OSC2016.Enterprise Lightnig Talk
Demo for Gecko Embedded
Project Gecko Embedded
The New Norm of The Web
Progressive Mobile Web Apps
Modern Mobile Web Apps
Web Tech & Architecture
Java script.trend(spec)
Data Privacy meeting
Firefox OS TV

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
Enable Enterprise-Ready Security on IBM i Systems.pdf
PPTX
Belt and Road Supply Chain Finance Blockchain Solution
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PDF
DevOps & Developer Experience Summer BBQ
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
How AI Agents Improve Data Accuracy and Consistency in Due Diligence.pdf
PPTX
ABU RAUP TUGAS TIK kelas 8 hjhgjhgg.pptx
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
PDF
REPORT: Heating appliances market in Poland 2024
PPTX
How to Build Crypto Derivative Exchanges from Scratch.pptx
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
PDF
Smarter Business Operations Powered by IoT Remote Monitoring
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Weekly Chronicles - August'25 Week I
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Transforming Manufacturing operations through Intelligent Integrations
Enable Enterprise-Ready Security on IBM i Systems.pdf
Belt and Road Supply Chain Finance Blockchain Solution
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
DevOps & Developer Experience Summer BBQ
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
How AI Agents Improve Data Accuracy and Consistency in Due Diligence.pdf
ABU RAUP TUGAS TIK kelas 8 hjhgjhgg.pptx
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Chapter 2 Digital Image Fundamentals.pdf
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
REPORT: Heating appliances market in Poland 2024
How to Build Crypto Derivative Exchanges from Scratch.pptx
A Day in the Life of Location Data - Turning Where into How.pdf
Smarter Business Operations Powered by IoT Remote Monitoring
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
NewMind AI Monthly Chronicles - July 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

HTTP and 5G (fixed1)

  • 1. HTTP HTTP 5G html5 conference 2018 on 2018.11.25 WebDINO Japan - Tomoya ASAI with Softbank - Yasuhiro NAGAI
  • 2. about:me Tomoya ASAI - dynamis webdino.org CTO Tech Speaker dynamis @ Community Twitter: @dynamitter facebook.com/dynamis I LOVE Firefox = Red Panda = Petit Panda = Lesser Panda2 @
  • 3. about: WebDINO Japan Web, Browser, Open ( : ) (Chromium, Firefox ) ( : Gecko ) Web & Open Web IoT 2017 : Mozilla Japan WebDINO Japan https://www.webdino.org/3
  • 6. : Web 2014/10 - HTML5 2015/02 - HTTP/2 (RFC 7540, SPDY) 2015/10 - CSS snapshot 2015 2016/06 - ECMAScript 2016 2016/09 - TCP BBR Linux 2018/08 - TLS 1.3 (RFC 8446) 2019/xx - HTTP/3 (RFC TBD) 6
  • 7. : HTTP over QUIC HTTP/3 IETF 103 (2018/11) QUIC WG HTTPbis WG 
 HTTPbis WG 2018/11 Chrome gQUIC IETF QUIC HTTP/3 Litespeed Facebook : https://mailarchive.ietf.org/arch/msg/quic/RLRs4nB1lwFCZ_7k0iuz0ZBa35s7
  • 9. : 1. × Minify Gzip Brotli (2 ) HTTP/2 QUIC 2. × TLS1.3 QUIC 0-RTT ほ BBR 駄 駄9
  • 10. Web 201x HTTP/3 HTTP/2 + BBR #html5conf #html5j_h
  • 12. Softbank WebDINO 5G x IoT Studio WebDINO Japan 5G ( )
  • 13. Softbank & WebDINO Japan #html5conf #html5j_h 5G
  • 25. 0
  • 26. ? ?
  • 28. 1 1 00 GC E C E N N 5 ( )( -)
  • 33. F e C M tr n E U 2 / 2/ P tr n e d i r I g g BG P r A 0
  • 36. HTTP/1.1 + TLS/1.2 HTTP/1.1 HTTP (HOL) (RTT )
 TLS 1.2 2-RTT (false start 1-RTT) ... TLS/1.2 CRIME ... :http://bit.ly/1gqR7WN (https://www.youtube.com/watch?v=hQZ-0mXFmk8)36 TCP 3-way 
 1~3 RTT
 (RTT = 100ms )
  • 37. HTTP 1.1 TCP 1 1 CSS JS 6 Softbank37
  • 38. TLS 1.2 (full handshake) RTT (Round Trip Time) = 2-RTT TLS False Start 1-RTT 
 (Finished Application Data ) HTTP Application Data 1-2 session id Hello 1-RTT Application Data 38 clientHello serverHello
 ServerCertificate
 (ServerKeyExchange)
 (CertificateRequest)
 ServerHelloDone (ClientCertificate)
 ClientKeyExchange
 (CertificateVerify)
 ChangeCipherSpec
 Finished
 (Application Data) ChangeCipherSpec Finished Application Data ( )
  • 40. TCP TCP TCP ACK CWND ( ) TCP N 1/N TCP (1 ) : https://csperkins.org/research/tcp-hollywood/2016-05-19-networking/40
  • 41. HTTP/1.1 HTTP/2 TCP HTTP TCP 1 TCP HPACK (HTTP ) ( ) Google SPDY HTTP/241 H2 H2 HTTP/1.1 TCP 
 HTTP/2 TCP
  • 42. TLS 1.3 : 0-RTT ( 1-RTT) (TLS 1.2 1 RTT ) ( ) TCP 42
  • 43. TLS 1.3 (full handshake) Full Handshake 1-RTT PSK Application Data clientHello 0-RTT 0-RTT Hello 43 clientHello (KeyShare) serverHello (KeyShare)
 EncryptedExtensions
 (CertificateRequest)
 (Certificate)
 (CertificateVerify)
 Finished
 Application Data (Certificate)
 (CertificateVerify)
 Finished
 Application Data Application Data ( )
  • 44. 0-RTT Hello Application Data (PSK) PSK 
 (PSK Hello ) (TLS ) POST44 clientHello (Application Data) serverHello
 EncryptedExtensions
 Finished
 Application Data EndOfEarlyData
 Finished
 Application Data Application Data ( )
  • 45. TCP : BDP ( x RTT) CWND RTT (Slow Start) 45 25 Deliveryrate BDP BDP+BufSize RTT Optimal: max BW and min RTT (Kleinrock) amount in flight Optimal operating point 23 Deliveryrate BDP BDP+BufSize RTT Loss based CC (CUBIC / Reno) amount in flight Loss based congestion control in deep buffers BDP = (max BW) * (min RTT) 26 Deliveryrate BDP BDP+BufSize RTT amount in flight Est min RTT = windowed min of RTT samples Est max BW = windowed max of BW samples Estimating optimal point (max BW, min RTT)
  • 48. : BBR RTT RTT RTT 駄 Google google.com 2% YouTube 13% YouTube RTT 32% Loss 1% 2% https://queue.acm.org/detail.cfm?id=302218448
  • 49. BBR ( BW RTT ) https://datatracker.ietf.org/meeting/101/materials/slides-101-iccrg-an-update-on-bbr-work-at-google-0049 BDP = (max BW) * (min RTT) 26 Deliveryrate BDP BDP+BufSize RTT amount in flight Est min RTT = windowed min of RTT samples Est max BW = windowed max of BW samples Estimating optimal point (max BW, min RTT)
  • 51. QUIC HTTP + TLS over TCP UDP HTTP/2 ( ) HTTP/2 + TLS1.2 + TCP HOL 0-RTT ( TLS 1.3 ) Multipath (5G + LTE + WiFi ) http://www.davidromerotrejo.com/2016/09/moving-web-from-tcp-to-udp.html?m=151 
 TLS 1.3
  • 52. HTTP/2 TCP HOL : http://bit.ly/1gqR7WN (https://www.youtube.com/watch?v=hQZ-0mXFmk8)52 H2 H2 H2 H2 HTTP/2 TCP 
 
 ( ) QUIC UDP 
 
 ( )
  • 53. HTTP/3 ( HTTP over QUIC) Google QUIC IETF QUIC Google HTTP + TLS UDP gQUIC IETF QUIC (iQUIC) IETF iQUIC QUIC Transport HTTP over QUIC (hq) QPACK ( ) / HTTP over QUIC = hq HTTP/3 IETF 103 hq HTTP/3 Transport QUIC https://daniel.haxx.se/blog/2018/11/11/http-3/53
  • 55. HTTP/3 + QUIC Transport HTTP/2 + TCP UDP TCP 
 ( ) LTE, 5G, WiFi IP ID 
 ( / IP+Port ) 255 range Negative ACK (NACK) HTTP/2 TCP 55
  • 56. QUIC Transport MTU Google MTU = 1350,1370 (IPv6,v4) Path MTU MTU MTU HTTP/2 駄 MTU 1450 MTU (MEC on 5G ) : DDoS 1200 PMTU 1280 (IPv6 PMTU) 56
  • 57. HTTP/3, QUIC Server: Google Frontend (GCP) or LiteSpeed Apach, Nginx QUIC Client: Chrome QUIC alt-svc HTTP/2 ( ) QUIC --origin-port-to-force-quic-on QUIC57
  • 58. Google Quic Google Front End ( ) Google QUIC GCP LiteSpeed ( ) QUIC (2017/06 ) Caddy GO LTE 駄 issue 5G 駄 Satellite (by LINE) Google QUIC : Chrome IETF QUIC Server58
  • 59. : Google OSS QUIC QUIC quic_server, quic_client toy server. (HTTP ) FYI: Chrome 2012 10 659
  • 60. LiteSpeed HTTP/2 OSS QUIC Google Frontend HTTP/2 QUIC NIC (by LiteSpeed ) Google Web QUIC60
  • 61. 5G x IoT Studio
  • 64. SYSTEM WORKS R8151 ( ) 64 CPU Intel Core i7-8700 (6core/3.2GHz) Memory Server: 16GB (DDR4-2666)
 Client: 32GB (DDR4-2666) HDD 256GB (NVMe SSD) NIC Intel X550-T1, PCIe3.0 (10Gbps) OS Linux (Ubuntu16.04LTS) 5G端末 5G基地局 シールドルーム 4.7GHz 5Gコア (有線計測時のみ) Ixia Network Emulator II サーバマシン x 2 クライアント x 2 MTU=140010Gbps
  • 65. Nginx 1.10.3 (HTTP/1.1, HTTP/2 ) Lite Speed Enterprise 5.3 RC (QUIC ) Chrome 68.0.3440.106 TCP BBR Kernel Update OS Ubuntu 16.04LTS Let's Encrypt HTTPS Let's Deprecate HTTP! Chrome65
  • 66. Chrome + Puppeteer ( ) JavaScript fetch Resource Timing API (5μs ) DL ( ) ping RTT (0.02 ) sar NIC/CPU/Memory sar tcpdump ( ) tcpdump 1 40GB66
  • 67. HTTP/1.1 (cubic, bbr), HTTP/2 (cubic, bbr), QUIC 5 駄 5G 駄 駄 (DL ) fetch 4 x 5 = 20 467 fetch single 5GB movie 340MB MP4 (16 files)
 BigBuckBunny 1080p 60fps DL image 62KB 22MB PNG (712 files) BigBuckBunny movie chunk 100 chunk 1 2MB (139 files x 10) YouTube BBB ( 10 )
  • 68. (ping, sar) Client : ping i 0.02 $server > $ lename RTT 0.02 chart.js ( ) Server/Client : sar A o $ lename sadf ( ) 1 : CPU Memory NIC (TCP, UDP ) block device I/O Transfer 68
  • 69. 5G RTT ( ) http/1.1, cubic, movie (9/22)69 RTT (50ms ) RTT 
 
 RTT RTT 10ms
  • 71. 5G
  • 72. ( ) 5G 駄 ( ) 5G 5G 5G ( ) MEC 駄 5G 駄 72
  • 73. 5G CUBIC BBR HTTP/2 TCP 1 QUIC73 HTTP/1.1 (CUBIC) HTTP/2 (CUBIC) HTTP/1.1 (BBR) HTTP/2 (BBR) QUIC single movie image chunk : QUIC 
 
 ( )
  • 74. 5G CUBIC BBR HTTP/2 TCP 1 QUIC74 HTTP/1.1 (CUBIC) HTTP/2 (CUBIC) HTTP/1.1 (BBR) HTTP/2 (BBR) QUIC single movie image chunk : QUIC 
 
 ( ) TCP BBR TCP CUBIC vs BBR 6 x TCP CUBIC vs BBR
  • 75. (HTTP/1.1) movie, image TCP BBR CUBIC ( ) : 9/5 ( )75 ( , 9/5) (Mbps) http1.1, cubic, single 476, 697, 694, 746 653 http1.1, cubic, movie 969, 948, 878, 928 931 http1.1, cubic, image 1030, 1010, 902, 992 984 http1.1, cubic, chunk 864, 875, 885, 883 877 http1.1, bbr, single 555, 609, 578, 604 587 http1.1, bbr, movie 890, 866, 834, 867 864 http1.1, bbr, image 794, 790, 788, 634 751 http1.1, bbr, chunk 735, 818, 746, 767 767 ( , 8/23) (Gbps) http1.1, cubic, single 3.17, 3.18, 3.14, 3.12 3.15 http1.1, cubic, movie 2.73, 2.77, 2.72, 2.76 2.74 http1.1, cubic, image 2.00, 1.86, 1.86, 2.00 1.93 http1.1, cubic, chunk 1.30, 1.27, 1.28, 1.28 1.28 http1.1, bbr, single 3.13, 3.24, 3.15, 3.13 3.18 http1.1, bbr, movie 2.82, 2.90, 2.88, 2.88 2.87 http1.1, bbr, image 2.02, 1.86, 1.98, 1.95 1.95 http1.1, bbr, chunk 1.30, 1.27, 1.28, 1.28 1.28
  • 76. (HTTP/2) HTTP/1.1 vs HTTP/2 CUBIC vs BBR HTTP/2 TCP 1 : 9/5 ( )76 ( , 8/23) (Gbps) http2, cubic, single 3.22, 3.11, 3.22, 3.20 3.19 http2, cubic, movie 2.83, 2.74, 2.80, 2.81 2.79 http2, cubic, image 1.93, 1.68, 1.91, 1.65 1.79 http2, cubic, chunk 1.35, 1.27, 1.34, 1.35 1.33 http2, bbr, single 3.22, 3.11, 3.22, 3.20 3.19 http2, bbr, movie 2.83, 2.74, 2.80, 2.81 2.79 http2, bbr, image 1.93, 1.68, 1.91, 1.65 1.79 http2, bbr, chunk 1.35, 1.27, 1.34, 1.35 1.33 ( , 9/5) (Mbps) http2, cubic, single 700, 896, 816, 959 823 http2, cubic, movie 826, 901, 699, 676 776 http2, cubic, image 740, 704, 560, 725 682 http2, cubic, chunk 875, 881, 878, 880 879 http2, bbr, single 700, 896, 816, 959 843 http2, bbr, movie 826, 901, 699, 676 776 http2, bbr, image 740, 704, 560, 725 682 http2, bbr, chunk 875, 881, 878, 880 879
  • 77. (QUIC) QUIC movie HTTP/1.1 HTTP/2 QUIC Chrome ( ) Disk I/O ( ) QUIC, single 駄 n/a77 ( , 8/23) (Gbps) quic, single 3.22, 3.19, 3.22, 3.24 3.22 quic, movie 3.23, 3.20, 3.18, 3.14 3.19 quic, image 2.10, 1.89, 2.19, 2.15 2.08 quic, chunk 1.35, 1.28, 1.35, 1.32 1.32 ( , 9/21) (Mbps) quic, single n/a n/a quic, movie 374, 365, 395, 378 378 quic, image 492, 472, 488, 451 476 quic, chunk 495, 504, 540, 531 518
  • 79. 5G 1. a. 5G OR b. RTT 2. HTTP, TCP HOL QUIC note: NEXT TODO: 駄79
  • 80. 5G HTTP/2 TCP LOH HTTP/1.1 TCP N ( 1/N ) (HTTP/1.1 ) TCP HTTP + TCP QUIC TCP LOH QUIC QUIC 5G RTT HTTP/280 YES. HTTP/2
 is slow on 5G.
  • 81. 5G BBR CUBIC 5G 駄 
 0.1% BBR RTT 5G 駄 (TCP/IP ) RTT BBR RTT note: 50ping/sec81 YES. BBR
 is slow on 5G.
  • 82. 5G RTT http/2, cubic, movie RTT82 
 RTT 
 RTT 10ms
  • 83. HTTP/1.1, CUBIC, movie RTT CUBIC RTT 50ms RTT83 Average Variance Standard Deviation Max Min 18.1362 514.634 22.68553986 425 2.35 Mbps 1 935 2 928 3 928 4 878 50ms
  • 84. HTTP/1.1, BBR, Movie RTT BBR RTT 50ms 10ms CUBIC84 Average Variance Standard Deviation Max Min 10.9638 88.354 9.399678951 81.3 2.21 Mbps 1 559 2 435 3 510 4 556 50ms 10ms
  • 85. : TCP (CUBIC) iperf 60 ( ) 1.8Gbps 3 775Mbps 85 180s 1810Mbps

  • 86. : TCP (BBR) iperf CUBIC 500Mbps 400Mbps RTT86
  • 87. 5G CUBIC CUBIC BBR 4 60 80% CUBIC note: BBR 駄 CUBIC 駄 note: 50ping/sec87 NO. CUBIC
 CAN be slow. ( , 9/20) 1 2 3 4 http2, cubic, movie 634Mbps 686Mbps 905Mbps 500Mbps http2, cubic, chunk 240Mbps 549Mbps 264Mbps 339Mbps http2, bbr, movie 291Mbps 301Mbps 300Mbps 280Mbps http2, bbr, chunk 284Mbps 321Mbps 308Mbps 326Mbps
  • 88. 5G QUIC QUIC 5G RTT RTT RTT 20-30ms 50ms RTT 5G ( ) NEXT TODO:88 QUIC CAN be fastest on 5G.
  • 89. 1 x Chrome, HTTP/2, quic, movie 364 393Mbps 750Mbps (5G 1/3 ) 89 1 (374Mbps) 2 (364Mbps) 3 (393Mbps) 4 (378Mbps)
  • 90. 2 x Chrome, HTTP/2, quic, movie 449 650Mbps 2 2.1Gbps ( 5G ) 90 1 (590/579Mbps ) 2 (590/579Mbps ) 3 (449/461Mbps ) 4 
 (650/618Mbps )
  • 91. 4 x Chrome,HTTP/2,QUIC,Movie 4 2.3 Gbps 91 1 (286/279/
 279/273) 2 (397/325/
 371/328 3 (175/264/
 194/268 4 (317/269/
 270/266)
  • 94. RTT RTT 2G ( 1 40GB) RTT ( ) RTT (RTT ) CUBIC, BBR 縮 縮 TODO NEXT: 縮94
  • 95. TCP RST TCP RST (reset) TCP ( 縮 ) Web 
 HTTP/2, QUIC fetch 100 Wireshark rst95
  • 99. HTTP (TCP) CUBIC BBR 5G CUBIC BBR CUBIC BBR HTTP TCP HTTP/1.1 HTTP/2 QUIC ( ) MEC 99
  • 100. 5G RTT RTT : HTTP/2 BBR QUIC RTT fetch catch resolve QUIC Web 100
  • 102. 5G x IoT Studio 102 https://tm.softbank.jp/form/contact/5g/index.php 5G×IoT Studio に関するお問い合わせ
  • 103. 5G x IoT Studio 103 https://tm.softbank.jp/form/contact/5g/index.php 5G×IoT Studio に関するお問い合わせ
  • 104. 5G x IoT Studio 104 https://tm.softbank.jp/form/contact/5g/index.php 5G×IoT Studio に関するお問い合わせ
  • 105. Thank You! Any Questions? Feel free to contact me: dynamis webdino.org
 @dynamitter, facebook.com/dynamis Slide Upload: slideshare.net/dynamis by @4687koSourijun @
  • 106. References - TCP TCP/IP https://www.amazon.co.jp/dp/4894713209 Internet Week 99 TCP https://www.nic.ad.jp/ja/materials/iw/1999/notes/C3.PDF TCP http://www.ieice-hbkb.org/ les/03/03gun_04hen_01.pdf http://sacsis.hpcc.jp/2009/SACSIS2009_TCP.pdf CUBIC for Fast Long-Distance Networks RFC 8312 https://tools.ietf.org/html/rfc8312 CUBIC: a new TCP-friendly high-speed TCP variant https://dl.acm.org/citation.cfm? id=1400105 106
  • 107. References - BBR BBR BBR: Congestion-Based Congestion Control https://queue.acm.org/ detail.cfm?id=3022184 BBR for Linux Kernel BBR congestion control https://lwn.net/Articles/701165/ patch https://git.kernel.org/pub/scm/linux/kernel/git/davem/net- next.git/commit/?id=0f8782ea14974ce992618b55f0c041ef43ed0b78 Linux Kernel 4.9 https://kernelnewbies.org/Linux_4.9 107
  • 108. References - Google QUIC Chromium QUIC https://www.chromium.org/quic https://www.chromium.org/quic/playing-with-quic Design Doc https://docs.google.com/document/d/ 1RNHkx_VvKWyWg6Lr8SZ-saqsQx7rFV-ev2jRFUoVD34/edit?pli=1# 108
  • 109. References - IETF QUIC IETF QUIC WG https://quicwg.org/ GitHub - WG materials https://github.com/quicwg/wg-materials IETF 103 Meeting https://datatracker.ietf.org/meeting/103/materials https://datatracker.ietf.org/meeting/103/session/quic HTTP/3 https://daniel.haxx.se/blog/2018/11/11/http-3/ QUIC RFC Drafts https://datatracker.ietf.org/wg/quic/documents/ https://github.com/ ano-yuki/my-quic-spec-translation 109
  • 110. Reference - QUIC ASnoKaze Blog - QUIC https://asnokaze.hatenablog.com/ archive/category/QUIC : http://www.soumu.go.jp/ main_sosiki/joho_tsusin/hyojun/02tsushin04_03000123.html 110