αα·ααΈααΆα QUIC ααΊαα½αα±ααα αΆααα’αΆααααααααααΆααααΆαααααα»αααΆαααΎα αααααΆααΌαα ααα»αααααΎαα αΌαα α·ααααααααα’αααΈααΆα ααα»ααααααααα·αααΎααΆαααααα»αααααααΆαααΈαα»αα’αααΈ QUIC ααΆαααααααααΆαααααααα·ααΆααααα (αααααααα·ααΆααααααααα»αααααα ααααα·αααΎα’αααα αΌαα α·ααα) ααααααΆαα· αα·ααααααααΉα αααααααααΎαααΈαααΆααααα»αααΆαααααα»αααααααΆαααΆαααααααααααααααααα ααΎαααΉααα·ααΆαα’αααΈααΆαα’αα»ααααααΆααααααααααα·ααΈααΆααα ααααΆα 2019α ααΆαααααα ααα ααΎααα·ααα·ααΆαα’αααΈα αααααΆαα ααΆααααααααααΌα αααααΆαααΌαααααΆααα αααα»αααΆαααααΆααα½αααααα ααα»ααααα’αααΈ Uber αααααααα·ααααα·ααΆαααααΎαααααΌααΆαααα·αααααα ααααααααα·ααααααααααααα»αα αα»αααΆααααααααΆααααααα α α·αααααααΎααααΆαα QUIC αααα»αααΆαααα·α ααααααααα½αααααΆαααααΎααααα αα·αα’αααΈααααα½αααααΆαααΎααααααΆααααΈααΆαααΆααα±ααααααΎαααΆααα αααα»αααΆαααα·α - ααΆααααααααΆαααΆααα
ααΌαααΆαα’αΆα α α»α ααΆαα ααΌαααΈαααΆαα’αΆα!
Uber ααΆαααΆαααααααΆαααΆααα αααααΊααΈαααα»αα
ααα½α 600 ααααααααΆα ααααααα»αααααααααα·ααΈααΈαα½ααααΉαααα’ααααΆαααααα»αααΎα’ααΈαααΊαα·αα₯αααααααΈααααα·ααααα·ααααΌααααααααΆα 4500 α α’αααααααΎααααΆααααααΉαααΆαααααα·ααΈααααα·αααααΉαααααΆαααααΏαααΏαααα»ααααααα ααα»αααααα
αααα»ααααααααΆααΆααααααα - ααΎααααΈαααααα
ααΆαααΌαα
ααα»α
ααα αααααα·ααΈ Uber ααααΌαααΆαααΆαααΊααααΆαααΆα αα·αααΆααααααΆαααααα’αΆα
αα»αα
α·αααααΆαα Alas ααα»ααααααα
ααΎααααΈαααααααΆααααα αΆααΎαααΆαα’αα»αααα
αααααΆααααΈααΆαααααΎααααααααΆαααΌααααΌααΆα ααΎαααΆαααααα·ααααΆαααΆααΆαα’αα»αααα QUIC αα αααα»ααααααα·ααΈααααααΎαααΉαααΆαα±ααααΆαααΆαααΊααααΆααα ααααα»αααΆαααΎαααααααααα ααΉα TCP α ααΎαααΆαααααααααΎαααΆααΆαααΆαααα α»αααΈ 10 αα 30% αααααΆααα ααΆα ααα HTTPS αα αααα»ααααααα·ααΈα’αααααΎααα αα·αα’αααααααΎαα QUIC ααααΆααααααα±ααααΎαααΌαααΆααααααααααααΈα α»ααααα α»αααΎαααα ααα’αααααααΎααααΆαααααααα
αα αααα»αα’αααααααα ααΎαα ααααααααααα·αααααααααααΎααααα»αααΆααααααΎαααααα·αααααΆα TCP αααααΆαααααααα·ααΈ Uber αααααααΎααααααααΆαααα QUIC α
αα αα αααα·ααααΆα α»ααααααα TCP
ααααααααααα TCP ααΊααΆαα·ααΈααΆαααΉααααααΌααααααααΎα αααΎααααα»ααααααΆααααΆααααααΌαα ααΆα α HTTPS αα ααΎα’ααΈαααΊαα·αα TCP αααααααΌαααΆαααααααΈααααααααα’αΆα αα»αα α·αααααΆα αααα’αΆα ααααααααΉαααΆααααααααααααΆα αα·αααΆαααΆααααααααααΆαααααα ααΆαααααΎααααΆαα TCP αααΆαααΌααααΌααΆααααααΆααα ααΆα ααα HTTPS ααΊαααααΆαααααΆαααΌααααΌααΆαααααα’ααΈα (ααααΎαααααααα OS ααΆα TCP) ααΆαα’αΆα ααααΆααα ααΎα αααααΆαα ααΆααααααααααΆαα αααΎα (ααΌα ααΆ load balancers, HTTPS proxies αα·α CDNs) αα·ααα»αααΆααααα αααα’αααααα’αΆα ααααΎααΆαα αα ααΎαααα·ααΆ αα·ααααααΆαααααΎαααααΆααα’ααα
α’αααααααΎααααΆααααΆαα αααΎαααααΎαααααα·ααΈααααααΎααα αααααααΎααααΎα α αΎαααΆαααΊααααΆαααααααααα»α TCP ααΊαα·ααα αα·ααααααΌαααΆαααα ααΆα ααα HTTPS αααααααΆαα·αααααΆααααααααΎαααα αα·ααΆαα±ααααΆαααα α’αααααααΎααααΆααααΌααΆαααα·αααααααΆααα½αααααααααα αΆααα - ααΌαααΆαααΈ 1 αααα αΆαααΈααΆααααααΆαααααα αααα»αααΈαααα»ααααα
ααΌαααΆαααΈ 1α ααΆαααΊααααΆαααααααα»ααααααααα½ααα
ααΌααΆααααΈαααα»αααααΆααααααα Uber α
αααααΈααΆααΆαααΊααααΆααα αααα»ααααααΆαα₯ααααΆ αα·ααααααααΈαααΊαααααααΆααα αα ααααα’αΆαααα·α αα·αα αααααα’αααααααααααα ααΆαααΊααααΆαααααααα»αααΊαααααααΆαααΆαααΊααααΆαααΆαααααα α αΎααααααΆααΆααα·αααΌααααΈαααααααΆαααα ααααα’αΆαααα·α αα·αα αααααα’ααααααααααααα
TCP ααΎααΆαα’αα»ααααααααα
TCP ααααΌαααΆααααααΎαα‘αΎααααααΆαα ααΆααααα αααααΆα αααααΊααααααααααααααααΎαααααααΆαααααα’αΆα
ααααΆααααααΆααααααα ααααααΆαααΆααααα α₯ααααα αααααΆαααΆααααααα αα·αααΆαααααΆαααααΆαααααα½αα ααΈαα½α αααααΆαα₯αααααααΊααΆαααΉαααΆααααααααααΆαααααΆααααααααααα αα·αααΆαααααααααααΆα α§ααΆα ααα αααααΆα Wi-Fi ααΆαααΆααααΎαα
ααααααΈααααΌαααα αααααΌααΌα αα·αααααα·αααα»ααααααααα αααααΆααααα·ααΆααα½αααααΈααΆαααΆααααααααααΆ (
ααΎααααΈααααααααΉαααΆααααααααα½α αα·αααΆαααΆαααααααααα·ααααααΌα αααααΆααααα·ααΆααΆααααααΆααααΎααααααα’αΆαααααααααααΆααααΆααααα»αα
ααΆα
αααα αααα’αΆα
ααΆαα±ααααΆαααΆααααααααα½αα
αααΎαααα αααααΆααααααΆααΆααααααΆααααααΌαααΆααααα ααΆααΉαααΆαα TCP α
αΆαααα»αααΆααααααααα½ααααααΆααΆααΆαααααααααΆααααααΆαααΆααααααΆααααααΌα ααΌα
αααα TCP ααΆαααααααααα»αααΆααααααΌααααα α αΎααααα ααα»ααααααααααα·ααααααα’αΆααααα αααα αΆαααααααΌαααΆαααααααΆααααΆααΆ
ααΆα α»αααααα ααααΎαααΆααααααΆααααα·ααΆαααααααα½αααΆααααα»αα αα»αααΉααααααΌα ααααα αα·ααααααααΆα αα αααα»αααΌαααΆαααΈ 2 ααΎαααΆααααααΌαααΆααααααΆααααααΆαααααααα ααΆα α HTTPS ααααααΆαααααα‘αΆαααα»αα ααααα 2 ααΈα‘αΌααααααα αα·ααααααβαααβαααααΌαβααΆαβαααααΆααβααααα·ααααα·ααβααΌααααααβααβααΈαβαα βαααα»αβααααΈ ααααααβα₯ααααΆα ααΌα αααα’αααα’αΆα ααΎαααΎα ααααΎαααΆααααααααα½αααΈαααα‘αΆαα½ααα αααα‘αΆαα½αα ααΌα ααααΆααααααααααα·αααΆαααααααααα·ααααα·αααα½ααα»αααΈααα·αααΆαααΈααΈαα αααααααΌαααΆαααα₯αααα·ααααααααααΆαα½αα ααα½αααΌα ααΆ ααααΆαααααΆααααα αΌααααααΆα ααααα·ααα ααΎαααααααΆ αα·αααΈααΆαα ααΆαα αααααααα’αααααααΎααααΆαα ααααΌα ααΆα αααααΆαα ααΆαααααααααααααΆα ααααα·αααΌαααΈααααααΈααααα αα·ααααΆααΆααααααααααααααααΆα (LTE, 3G ααα)α
ααΌαααΆαααΈ 2. ααΆααααααΆαααααααααααΎααΆα 2 ααΈα‘αΌααααααααΆα§ααΆα αααα ααααΈ ααααααα₯ααααΆα
ααΌα ααααΆαααααααα, ααααΎαααΆααααααααΆααααα·ααΆαααααααα½αααΆααααααααΆα ααΌαααΆαααΈ 3 αααα αΆαααΈααΆαααΊααααΆαααΆαααααααΆααααααααααααΆα αα ααΎαααααΆαααααααααΎαααΆααα»ααααααααααΆαα ααΎααΆαααααααΆαααΌα ααΆα αααα»ααααααααα½ααααα αα·ααα½αααααα
ααΌαααΆαααΈ 3. ααΆααααααΆαααααααα»αα’αΆα
αααααααα½ααααΆαααααΆαααααΆααααα ααα»αααααααααΆααααααα·ααααα·ααααΌα
ααααΆα
ααΆααα’ααααΆαααΎαααααΆαα±ααααααΎαααΆα TCP αα·αααΆαααααα·αααααΆααα αααα»ααααααΆαα₯αααααα ααααααΆαααΆααααα αα»αααΉαααααααααααααΎααααα½α TCP ααΎαα αααααααΎαααΆααααααΉαα αααΆααααΆαααα½αααΎα ααα»α ααΆααααααα
- ααΎ TCP ααΊααΆαα·αα»αααααα αααααα ααΈαααααααΆαααΊααααΆααα αααα»ααααααα·ααΈααααααΎαααααα?
- ααΎαααααΆαααααΎαααΆαααΆααααααΆαααααααΎααααΎααα αα (RTT) ααααΆααα αα·ααα»αααααΆαααα¬αα?
- ααΎα’αααΈαα ααΆαααααααΆαααα RTT αα·αααΆαααΆαααααααΎααΆαα’αα»αααα TCP?
ααΆααα·ααΆαααΆαα’αα»αααα TCP
ααΎααααΈαααααΈαααααααααΎαααΆααα·ααΆαααΆαα’αα»αααα TCP ααΌαααΎαααΈααααααα TCP ααααααα·ααααααααΈα’αααααααΎαα
α’αααααα½αα ααααΌαα’αααααααΎαααααΎαααΆααααααΆαα TCP αααα’αα»ααααααΈααααΌα
ααααα·αααΎαααα
ααααααααΆα α¬ ACK ααααΌαααΆαααΆααααα α’αααααααΎαααααΌαααΆαα‘αΎααα·ααααααΆααααΈα’ααααα (RTO,
ααΌαααΆαααΈ 4. ααΆαααααΆααααααΌααααα
ααααααααΆαααΎ TCP/TLS αα½αααΆαααααααΆααααααΌαααααα
ααΎααααΈαααααααΈααααααα TCP ααααΎαααΆααα
αααα»ααααααα·ααΈααααααΎα ααΎαααΆααααα½ααα·αα·ααααααα
αα TCP αααααααΎ
ααααααααααΆααα·αααααααΆααααΈαααΊααααααααΆαα
αα·ααα
ααα ααΎαααΆαααΎα latencies RTT ααααα; αααααααααα»αααΊααααΎααα 6 αααααααααΆααααααααααα; ααααααααααααααααΆααααααΆααααααΊα
αααΎαααΆα 1 αα·ααΆααΈα ααΆααααααΆααααΆα
αααΎαααΆαααΆααααα ααααααααΆαα±αα TCP αααααΌαα‘αΎααα·α 3,5% αααααα
ααααααααΆαααΆααα’ααα αα
ααααααααααΆαααΆαααααααααΌα
ααΆαααααΆαααααα αα αα·αααααΆααΈααααααααΎα ααΎαααΎαααΆααΆαααΆαααΆαααα 7% α ααααααααΆαααααααααΎα±ααααΆαααΆαααΏααααααα
ααααααααΆααααΆααΆαααααααααααΎαααα»ααααααΆααααα·ααΆ
αααααΆαααααααΆα
ααααα
RTT, ααΈααΈαα·ααΆααΈ [50%, 75%, 95%, 99%]
[α‘, α’, α€, α₯]
ααΆααα»αααααΆ RTT, αα·ααΆααΈ
ααΆααααα ~ 1,2 αα·
ααΆαααΆααααααααα
ααααααααΆααα
ααΎααΆααααααΆαααα·ααααα·αααααα
ααΆααααα ~ 3.5% (7% αα
αααα»αααααααααα»αααΎααααααα)
ααααΎαααααΆαααααααΆαααααΆααααααΆααααΆαααααααΆαααΆαααΆαααααααΆαα αα αα½ααααα αα αααααΆαα αααΎαααΆαααα αα SYN αα·α SYN-ACK α ααΆαα’αα»αααα TCP ααΆαα αααΎαααααΎααααα RTO 1 αα·ααΆααΈαααααΆαααααα αα SYN αααααΎαα‘αΎαααΆαα·ααααααααααααΆααααΆαααΆααααααΆαααααααααΆααα ααααααααααΆααααα»ααααααα·ααΈα’αΆα ααΎαα‘αΎααααααΆααα TCP α αααΆααααααΌαααΎααααΈαααααΎαααΆααααααΆααα
αα αααα»αααααΈαααααα αααα·αααααα ααααα RTO αααααααΆαααααααααΆαααααΎααααΆαααααααΆαααααΆαααΆαααααααααααα αααα»αααααααΆαααααΆαααΆααααααααααα’αΆαααααα αααα»ααααααΆαα₯αααααα ααΎαααΆαααααΎαααΆαααααααΆαααααΌαα‘αΎααα·αααΆαααααααΊαααα αα 1 αα·ααΆααΈααΆαα½αααΉαααΆααααααΆαααααααα»ααα·α 30 αα·ααΆααΈα ααΆαααΊααααΆααααααααΆααααααα ααααα·α TCP αααααΆαα±ααα’ααααα HTTPS αα·αααΆαααααΎαα»αα‘αΎααα·α ααααααααΎαααΆαααΊααααΆααααααΆα αα·αα’ααααα·αααααΆαα
αααααααααααΆαααααΈ 75 ααααΆαααΆααααα RTT ααΊαα
αα»ααα·α 425 ms, ααΆαααααΈ 75 αααααΆαα TCP ααΊαα·α 3 αα·ααΆααΈα ααααααα αΆαααΆααΆαααΆαααααααΆααααααΆαα±αα TCP αα 7-10 ααααααΆααααΎααααΈαααααΌααα·αααααααααααααααα αααα’αΆα
ααΆαααα·ααΆαααααΆαααααΆ RTO ααααα·αααΆαααααα·αααααΆα α’αααααααΆααααα TCP αααα»αααΆαααααΎααααααΆαααΆαααα ααα
ααααααΆαααΆααααα
αααα·αα·ααΆαααΆααααααααα
ααααααααΆα TCP
ααααα
ααΆαααααααΆααααααΆααααΆαα½αααΉαααΆαααΆααααααααα
ααααααααΆααααΆαα αα
ααΆαα 1
45%
ααΆαααααααΆααααααΆααααΆαα½αααΉαααΆαααΆααααααα‘α»ααααααα‘αΎαααΆααααααΆαα
30%
ααΆαααααααΆααααααΆααααΆαα½αααΉαααΆαααΆαααααααα»αα’αα‘α»ααααααααΆααααααΌααα·αααααα
76%
ααΆαα ααα αΆαααααΆααααααΆααααααα»αααΆααααααΌαα‘αΎααα·α αα·ααΆααΈ [50%, 75%, 95%, 99%] [1, 2.8, 15, 28]
ααΆαα
ααα
αΆαα
ααα½αααααΆααααααΌαα‘αΎααα·ααααααΆαααααα
ααααααααΆααα½α α¬ααααα TCP
[1,3,6,7]
ααΆαα’αα»αααα QUIC
αααααΎαα‘αΎαααααΌαααα Google QUIC ααΊααΆαα·ααΈααΆαααΉααααααΌαααααΎααααααΆαααααα
αααΎα αααααααΎαααΆαααΎ UDP α αα
αα
α»αααααα QUIC ααΊαα
αααα»α
ααΌαααΆαααΈ 5α QUIC ααααΎαααΆααα
ααααα HTTP/3 ααααααα½α TLS αααααΈαα»αααααΎαααΆααα
ααααα HTTP/2α
ααΆαααααααααααΊααΆα ααα»ααααααααα α»ααααα αΌαααΎαα±ααααααΎ QUIC αααααΆααααΆααααααΈα TCPα
- ααΆααααααΎαααΆααααααΆαα 0-RTT α QUIC α’αα»ααααΆαα±ααααααΎα‘αΎααα·αααΌαααΆαα’αα»ααααΆαααΈααΆααααααΆααααΈαα»α αααααΆαααααααα
ααα½αααααΆαα
αΆαααααα»ααααα·ααΆαα αα
βαααβα’ααΆαα
TLS1.3 α ααΉαααΆαααα 0-RTT ααα»ααααααΆαα αΆαααα TCP ααΈααααΌαααΉααα ααααααΌαααΆαααΆαααΆαα - ααΆαααααααααΎααΆααααααααΆαα HoL α HTTP/2 ααααΎααΆαααααΆαα TCP αα½ααααα»ααααΆαααΈαααααα ααΎααααΈαααααα’ααααΎαααΆα ααα»ααααααΆα’αΆα ααΆαα±ααααΆαααΆααααααααΆαα HoL (head-of-line) α QUIC ααααα½αααΆααα α»αα»α αα·ααααααΌαααααΎαα αααααα·ααΈαααα―αααΆαααα
- ααΆααααααααααααΆαααααααα QUIC ααααα
αααα»ααααααΆαααααααα·ααΈ αααααααΎα±ααααΆααΆααααααΆααααα½ααααα»αααΆαααααΎαα
αα
α»ααααααααΆααααα½ααααααααΆαααΉααααααΌαα
ααααααααααααααααααΆααααααΌααααααα’ααααΎαααΆαααΆαααααααααααΆα (α
ααα½αααααΆαααΆαααα α¬ RTT) α ααΆαα’αα»αααα TCP ααΆαα
αααΎαααααΎαααα½ααααααααΆα
αα»αααΆ αααβαα·αβααα’βαααααΆααβα ααΆα αααβαααβααΆαβααΆαβααΊααααΆαα αααα½ααααααααΆααααααΆααααααΎαααααΈααααααΌα ααΆBBR ααααΎα±ααααααΌαααααΆαααΆααααααααΉαααααΌα αα·ααααααΎαααααα·αααααΆαααΆαααΊααααΆαα QUIC α’αα»ααααΆαα±ααα’αααααααΎ BBR αα·αααααΎαα αα α»ααααααααΆα algorithm ααα ααΌα αααααΆααααΌαααΆαααααΎαααΆααααααα’ . - ααΆααααααααααααααααΆαααΆαααααα QUIC α α
TLPs ααΈα (
ααΆααααΎαα’αααααααΆαααΆαααααααααα»α ) αα»αααα RTO ααααΌαααΆαααα - αααααΈααΆααΆαααΆαααααα½αα±ααααααααααΆαααααααα ααααα»αααΈααΆαα’αα»αααα TCP α TLP αααααΌαα‘αΎααα·αααΆα ααααααΌααααα ααααααααΆαα α»αααααα (α¬αααα ααααααΈ ααααα·αααΎααΆααα½α) ααΎααααΈαααα»αααΆαααααααααααααααΆαααΆαααα ααα ααΆααααααααΆαααΆααααααΆααααααααα»αααΊααΆαααααααααααΆαα·ααααααααΆαααα·ααΈααα Uber ααααΎαααΆααααααΆααααααααα½α αααααΊαααααΆααααΆαααααααα·ααααααααααΈα α αααααααα αα·αααΊααα - ααααΎα±αααααααΎαα‘αΎα ACK α αααααΆαβαααα
ααβααΈαα½ααβααΆαβαααβααααΆααβααβαα½α αα·αβααΆαβαααα αΆβααα
ααΆααα»αααααΆ αααα αααα αααααααα½αααααααΌαααΆααααααΌαα‘αΎααα·αα αααα αα ACK ααααΆααααααααΆααΎααααΈααααΎαααΆααααα ααααααααΆα αα·ααααααΎα ACK αα ααΆαα’αα·αα·αααααααα αααααααα·αααααΆαααααααΆααΆααΆ QUIC ααααΆ RTT ααΆααααααααΉαααααΌαα ACK αααα»α QUIC ααΆααααααααα 256 αααα»ααααααααΈNACK αα½αα’αααααααΎα±ααααΆαααΆααααααΉαααΆαααΆαααααα ααααααααΆα αα·αααααΎααααΆαααααα·α ααΆααα»ααααα»αααααΎαααΆαα ACK ααααΎαααΎα (ααΆα ) αα αααα»α TCP αα·ααααααααΆααααα αΆααααααα»ααααααααααΈααΆααα’ααα - ααΆαααααΆααααααΌαααΆααααααΆααα ααΆααααααΆαα QUIC ααααΌαααΆααααααα’ααααααααΆααααααααααααΆαα 64 αααΈα ααΌα ααααααααα·αααΎα’αα·αα·ααααααΆααααααΌαα’αΆααααααΆα IP ααααααααΆααααΆααααααΆααα αΆααα’αΆα ααααααααΎαα ααΎα’αΆααααααΆα IP ααααΈααααα·αααΆαααΆαααααΆαα αααβααΆβαααααΆααβααααααΆβαααααΆααβαααααα·ααΈβααΌαααααβαααβα’αααβααααΎβααααΌαβαααΆα Wi-Fi αα·αβααΆαβαααααΆααβααΌαααααα
αααααΎααααα½ααα QUIC
ααΎαααΆααα·α αΆαααΆαα·ααΈααΆααααααααα½ααααα»αααΆααααααααΆααααα αΆαα»αααΉαααααΎαααΎα QUIC α
ααΏαααααΌααααααΎαααααΆααΆαααΊααααΌαααΆαααααααΆα TPC PoPs (Points of Presence) ααΎααααΈαααα ααααΆααααααΆαα TCP ααΆαααααα·αα’αααααααΎααααΆααα ααΆααααΆαα PoPs αααα ααααΆαααααΆαα TCP ααΆαα½αα§αααααα αααααααα·ααα αα·ααααααΆααααα·ααΆ α αΎαααααΌααααΈα ααΆα ααααα‘αααα α αααααΆαα ααΆααααααααααΎααα·αα ααΆααααααΆααααα αα TCP ααΆαααααα·ααα·α ααΎαα’αΆα ααΆααααααα RTT αα·αααΆααΆααΆ TCP ααΆααααααααΎααααα ααΉαααα·ααααΆαα₯ααααααααααΆαααΆαααα αααααΆαααΆαααΆααααα ααΆααα·αααααααααααΎαααΆααααα αΆαααΆααΆαα αααΎααα RTT αα·αααΆαααΆαααααααΊααααΈαααααΆααααα·ααΆ α αΎαααΆαααααΎααααΆαα PoPs αα·ααααααααΌαααΆααααααα’ααααΎαααΆααα½αα±ααααααααααΆαααααααα
ααΎαααααΆααα·αα·αααααΎαααΆααααααααΌααααΆαααΆαααααα TCP αααααα ααΆαααα‘αΎαααα TCP αα ααΎαααΆαααΈααααααααΆααααααΌα ααααΆααααααΎαααΊαα·ααΆαααΆαα ααΈααααα TCP ααΆαααΆαα’αα»αααααα»αααααΆαα ααΌααΆααααααααααααααααααα·ααααα·ααΆαααααααααααΆα ααΆαα·ααΆααααα»αααΆαα’αα»ααααααΆ αα·αααΆαααααααΆαααααααα ααΆαααααααααααααΆαααααααα ααΆαααααα TCP αααααααΆαααα ααΎα§αααααα ααααα·αα’αΆα ααααΎαα ααΆααα αααααΆαααααααΆαα’αα»ααααΆαα ααααΆααααΆαααααα ααα αααααααα·αααααΌα ααΆααΆααααααΆαα 0-RTT αα·αααΆαααααααααΆα RTT ααααααααΎαα‘αΎαααΊααΆαααΆααααααΆααα ααααααααΆαααααααααααααα·ααΈααΆα ααΌα ααααα αΎα ααΆαα·αα’αΆα αα αα½α αααααα»αααΆααααααα ααΆαααΌαα’αααααααααααααααΆααααααααΆααααααααΌα TCP ααααααΆααα―αα
ααΆα α»αααααα ααΎαααΆαααΆαααααααα·ααΈααΆααααααΆαααΌαααααΆαααΎ UDP ααΆα αααΎαααααααααααΆααααα αΆααΆαααααΆαααΈααα’αΌ - ααΎαα ααααΎαααΆααΎαα·ααΈααΆαααΆαααααααΉααα½ααααα»αααααΈααααααΎααααα¬ααα ααΆα’αα»αα αα½αααααααααΆααααΆαααααΆαααααα»αααΆαααααααα»ααααα·ααΆαααΆα αααΎα α αΎαααααΆαααΆαααΆααααααΆαα TCP αααααααααααΆαααα·ααααααααααΆ αα·αααααααΆαααααααααααααααα
ααΆαααααΆαααααΆαααααααΎαααΆααααα αΆαααΆ QUIC αααα ααααΆαα·ααΈααΆααααα½αααααααα’αΆα αα½ααααααααΆααααα αΆααα ααΆα αααα’ααΈαααΊαα·α ααααααααααα·αααΌαααΆαααα»ααααα·ααΆα αα·αααααΎαααΆαα
ααΆααα½ααααα αΌα QUIC αα αααα»ααααα·ααΆ
ααΎααααΈαααααα QUIC ααααααααα αα·ααααααα’ααΆαα’αα»αααααααααα·ααΈαα
αααα»αααα·ααΆααΆααααααΆααααααα ααΎαααΆααααα½ααααα
αΆαα (HTTP/2 ααΎ TLS/TCP) ααΆαα½αααΉααα·ααΈααΆα QUIC α ααΎαααΆαααααΎαααααΆααααααααΆα
ααΎαααΆαααΆαααααα
αΌα Cronet αα
αααα»ααααααα·ααΈ Android ααααααΎαααΆααΎαααααΌα ααΎααααΈααααααααΆαααΆαααααααααΆαα QUIC α ααΆαααααΎαααΆα ααααααααααΌαααΆαα’αα»ααααααΆααα·ααΈαα½αααΎααααΈααΆαααααααααΆαα
αααΆαααΎααΆαααααΎα
αααΆααααα»αα±ααααΆαα
αααΎαααΆααααα’αΆα
ααααΎαα
ααΆαα αααα½αα±ααααΆααααα½αααΆαααααα»αααΌααααααΆααααααΆαα
αΆαααααααΆαααααΎαααααΆααα
ααααααααααΆαα
ααΉααα·ααΈααΆααααααααααΆααα§ααααα Android ααΎαααΆαα’αα»αααα Cronet αα
αααα»ααααααα·ααΈ Uber αα
ααΎ iOS αααααααΆααα
αΆααα
ααΆα
α HTTP ααΈαααααΆα
αααα»αααααα QUIC αα ααΎ Google Cloud Balancers
αα
αααααααΆαααααα ααΆααααα
αα QUIC ααααΌαααΆαααααααααα αααααΆαα
ααΆαααααααααααα»ααα Google Cloud Load αααααααΎ
ααΆαα’αα»ααααα αααααα
ααΆαα’αα»ααααααααααααΊααΆα ααα»ααα
αααααααααΆααααΆααααααααααααααΎααααααΆαααα·ααΈααΆααααααΎαααΆααα»αα ααΎααααΈα
αΆααααααΎαααΆαα½αααΎαααΆααααααΎαααα αααΆαα½α
αα·ααααα α‘
α§ααααααααααΆααααΆααα·αααααα
- ααΆαααααα§ααααα Android ααΆαα½α OkHttp αα·α Cronet stacks ααΎααααΈααΆααΆααΆααΎαα’αα»ααααΆαα±ααα ααΆα α HTTPS ααΎ TCP αα·α QUIC αααααααα½αα
- αααΆαααΈαααααααΆααααΆααααααΆαααΌαααααΆαααΎ Java αααααααΎααααααααΌα ααααΆααααααααΆ HTTPS αααα»αααΆαααααΎααα αα·ααααα»αα§αααααα’αα·αα·αα ααΎααααΈααα½αααΆαααααΎααΈαα½αααα
- ααααΌααααΈααααααααΆαααΈααΆαααα
αα·αααααααα₯ααααΆααΎααααΈαααα
ααααΆααααααΆαα TCP αα·α QUIC α ααααααααααααααΆααααΆααααα
αα TCP ααΎαααΆαααααΎααααΌααααΈαααα
αααΆα
NGINX ααΆαα·ααΆααααα»αααΆααααααααααααΌααααΈαααα αααΆααααααααΎαα αα αααααΆαα QUIC α ααΎαααΆααααααΎαααααΌααααΈαααα αααΆααααααΆαα QUIC αααα½αααΎααααααααΎααα QUIC ααΌαααααΆαααΈ Chromium αα·αααααα»ααα ααΆα αΌααα αααα»α chromium ααΆαααααααΎαα αα α
ααΌαααΆαααΈ 6. αα»αααΆαααααααααΌα TCP vs QUIC ααΆαα§ααααα Android αααααΆα OkHttp αα·α Cronet ααααΌααααΈααααααααΆααααΆααααα
ααααΆααααααΆαα αα·ααααΆαααΈαααααααΆααααΆαα
αα·ααααα α‘
αα
αααααα Google ααααΎα±αα QUIC ααΆαααΆαα½α
ααΌαααΆαααΈ 7. αα
αααα»αααΆααα·αααααααΈααΈα ααΎαα
ααααααααααααΆαααΊααααΆαααααΆααααα
αααα TCP αα·α QUICα αααααααΎ Google Cloud αα·αααΆαααααΎααααΆαα cloud proxy ααααααΎαα
ααΆαααααα αα·ααααααΆα αααΎαααΆααααα αΆαααΎαα
- ααΆααααα ααααΆαααα PoP ααααΎα’αααααααΎαα‘αΎαααΌαααααΎαααΆα TCP α α αΆααααΆααααΈαααα»ααααααα ααααΆαααααΆαα TCP ααΆαααααα·ααα αα·αα’αααααααΎααααΆαα αα·αααααΌαααΆαααααΎα±αααααααΎαααααα ααααααααααα αααα»α RTTs ααΆα αααααααΎα’ααααααΎαααΆα TCP αααααΎαα‘αΎαα α αΎααααααΈααΆ QUIC αα·αααΌααααααααααΆααααααα ααααΆαα ααααααΎαααΆαααΆαααα’ααΆα TCP ααΆααααααΉαααΆαααΆαααααααααΆαααΊαααααααα»α (10-30 ααΆααα)α
- ααααα»αααααΌαααΆααααααΆαα
αααααΆα hops . αααααΈααΆααααΌααααΈ QUIC ααααααΎααα ααααΆαααΈα§ααααα (αααα αα 50 ms ααΆαααΊααααΆααααααααΆα) ααΆαα§ααααααααα»ααααα Google ααα»ααααααΆαααααααΌαααααΎαααΆαααααααααααΆ - ααΆαααΆααααααα 15% ααααΆαααΊααααΆααααααΉαααΆαααΆααααααα 20% αα αααα»αααΆαααααΈ 99 αααααΆαα TCP α ααααααα αΆαααΆααΆαααααΆααααααΌααααΆαααα α»ααααααααΊααΆααΆααααααα αααα»ααααααΆαα
ααΌαααΆαααΈ 8α ααααααααΈααΆααα·αααααααΈααααα αΆαααΆ QUIC ααΆαααααα·αααααΆαααΆα TCP αααΆαααααΆααα
α ααΆα αααααααα»ααα
αααααΆαααΆααααα»ααααα·ααααααΆααα·ααααα ααΎαααΆαα’αα»ααααααΆαααΆαααα QUIC αα αααα»ααααααα·ααΈ Android αα·α iOS ααααααΎαα ααΎαααΆαααααΎααΆαααααΎααααα A/B ααΎααααΈαααααααΈαααααααΆαααα QUIC αα αααα»αααΈαααα»αααα Uber ααααα·ααααα·ααΆαα ααΆααΌαα ααΎαααΆαααΎαααΆαααα α»ααα½αα±ααααααααααΆααααααΆααααααΆααααα ααΌααΆααααααα ααααα·ααααα·ααααΌαααααΆαααα αα·ααααααααααααΆαα
ααααΆα ααααΆαααααααααα αΆαααΈααΆααααααα’ααΆααααα
αααα»αααααα»α (95 αα·α 99 ααΆααα) ααΆαααααααααΆααααΌ αα·ααααααααααααΆαααααααααααΆ - LTE, 3G, 2G α
ααΌαααΆαααΈ 9. αα
αααα»αααΆαααααΎαααααααααα»ααα QUIC ααΆαααααΎαααΆαααΆα TCP ααΆααααααΉαααΆαααΊααααΆαα
αα αα»αααααα»ααααα
αααα ααααΆαααααααΆααααααΆααΆαα αΆααααααΎαααα»ααααα - ααΆαα ααααααΆα QUIC αα αααα»αααα·αααααααΆααααααααΌαα±ααΆαααα’ααα αΆααααααα»αααΆαααααΎα±αααααααΎαα‘αΎαααΌαααΆαα’αα»αααααααααα·ααΈαα αααα»ααααααΆααααααΆααααααααΆα αα·ααα·αααΆααααααααΆα αααααΊα
αααααΎαααΆααααααααααα
αααααΆααα·ααΆαααααΎαααΆααααα·ααΈααΆαααΎα ααΆα ααααα·αααααΆαα ααΎαααΎαααΆαααα αα 80% ααααααααααΎααααΆααααααααααα QUIC αααααΆαα Π²ΡΠ΅Ρ ααααΎ ααααααααα 15% ααααααααΆαααααΎααΆααα½ααααα αΌαααααΆαα QUIC αα·α TCP α ααΎαααααααααΆααΆααα½ααααα αΌαααααΆαααααΊαααααΆααααααααΆααα Cronet α’ααααααααα‘αααα TCP αααααααΆαα·αα’αΆα αααα αααααΆαααΆααααΆααα UDP αα·αααααΆαα αα·ααααααααααααααΆααααααα αα αα α»ααααααααΎααααα»αααααααααααααααααΆαα αααααααα αΆααα αα ααααααααΎαααααΎααΆαααααααα ααααΆαα’αα»ααααααΆαααααααααΆαααα QUIC α
ααΆααααααΎαααααα·αααααΆα QUIC
α ααΆα αααααΈαααααα·ααΈααΌααααααααΊααΆαααΆααααΎααααα»αααΆαααΊααααΆα ααα»αααααα·αααΆαααΆααααΎαααααααα·ααααααΌααααααα ααΌα ααααΆαααααααα αααααα·ααΈααααααΎαααααΌαααΆαααααΎααααΆααααΆα αααααα ααΎαααααΆααααα·ααΆα ααα’ααααΎααΆααα·ααααα ααΆαααΊαααααααα»ααα ααααΆαααααα·αααααα αααααΈααΆααααΎααααΌααααΈααΎααααΈαααα αα TCP αα·α QUIC αα αα·αα’αααααααΎααααΆαααααααα ααΎααααα»αααααααααααΆααααααααΌααααααααΆαααΎααααΈαααααα’ααΆααααααααααααΆααααααα αα·αααααΎα±αααααααΎαα‘αΎαααΌαααααα·αααααΆααααααα½ααααααααΆαααΆαααααΆαααΆαααΆααααα QUIC α
ααΆαα½αααΉαααΆααααααα’ααΆααααα αα·αααΆααααααα’αα½αα
ααα½αααα ααΎαααΆααααααααααααα’αααα·αααααα’αααααααΎααααΆααααααα·ααα·αααΈαααααΆα αα·αααααα αααααααΎα±ααααΆαααΉααααααΌααααα
ααααααααΆαααΆααααααΆααααα½α αα·αααααΆααααααα’αΆα
α
αΌαααααΎαααΆαααΆααα
αα»ααα·ααα·αααααα
ααααα: www.habr.com