ืคืจืืืืงืื QUIC ืืขื ืืื ืืืื ืืฆืคืืื, ืืื ืืกืืื ืฉืื ืื ื ืืืืืื ืืืชืื ืขืืื. ืืื ืื ืคืจืกืืืื ืงืืืืื ืขื QUIC ืืื ืืืชืจ ืืืคื ืืืืืจ ืืืกืืืจื (ืืงืืื, ืื ืชืจืฆื), ืืืื ืื ื ืฉืืืื ืืคืจืกื ืชืจืืื ืืกืื ืืืจ - ื ืืืจ ืขื ืืืืฉืื ืืคืืขื ืฉื ืืคืจืืืืงืื ื-2019. ืืื ืืืืืจ ืขื ืชืฉืชืืช ืงืื ื ืืืืืกืกืช ืืืืกื ืืืชื ื, ืืื ืขื ืืืืจ, ืฉืคืืขืืช ืืืขื ืืื ืืขืืื. ืืื ืืืืขื ืืื ืืกื ืืืืจื ืืืืืื ืืืฉืชืืฉ ื-QUIC ืืืืฆืืจ, ืืื ืื ืขืจืื ืืช ืืืืืงืืช ืืื ืื ืจืื ืืืืจ ืฉืืืืื ืืืชื ืืืืฆืืจ - ืชืืช ืืืชื.
ืืชืืื ืืช ื ืืชื ืืช ืืืืืฆื. ืงืจืืื ืืื ื!
Uber ืืื ืงื ื ืืืื ืขืืืื, ืืืืืจ 600 ืขืจืื ืฉื ื ืืืืืช, ืฉืืื ืืืช ืืื ืืืคืืืงืฆืื ืืกืชืืืช ืืืืคื ืืื ืขื ืืื ืืจื ื ืืืืืื ืฉื ืืืชืจ ื-4500 ืืคืขืืื ืกืืืืจ. ืืืฉืชืืฉืื ืืฆืคืื ืฉืืืคืืืงืฆืื ืชืืื ืื ืจืง ืืืืจื, ืืื ืืืื ืืืช - ืืื ืืกืคืง ืืืช, ืืคืืืงืฆืืืช Uber ืืงืืงื ืืืฉืืื ื ืืืื ืืืืืืจ ืืืื ืืืื. ืืืื, ืืื ืืขืจืืื
ืืื ืืคืชืืจ ืืช ืืืขืื, ืืืฉื ื ืืงืฉื
ืืืืจ ืืืืงืืช ืืงืืคืืช, ืืืขื ื ืืืกืงื ื ืฉืืื ืกืช QUIC ืืืคืืืงืฆืื ืฉืื ื ืชืฆืืฆื ืืช ืืื ืืืืืืจ ืฉื ืืื ื ืืืฉืืืื ื-TCP. ืจืืื ื ืืจืืื ืืืืื ืฉื 10-30% ืขืืืจ ืชืขืืืจืช HTTPS ืืืคืืืงืฆืืืช ืื ืื ืืื ืืกืขืื. QUIC ืื ื ืชื ืื ื ืฉืืืื ืืงืฆื ืืงืฆื ืขื ืืืืืืช ืืฉืชืืฉ.
ืืืืืจ ืื, ืื ื ืืืืงืื ืืช ืื ืืกืืื ืฉืื ื ืืืืคืืืืืืฆืื ืฉื TCP ืขืืืจ ืืืฉืืื Uber ืืืืฆืขืืช ืืืกื ืืช ืฉืชืืืืช ื-QUIC.
ืืฆื ืืืืื ืืช: TCP
ืืืื, TCP ืืื ืคืจืืืืงืื ืืชืืืืจื ืื ืคืืฅ ืืืืชืจ ืืืกืคืงืช ืชืขืืืจืช HTTPS ืืืื ืืจื ื. TCP ืืกืคืง ืืจื ืืืื ืฉื ืืชืื, ืืืื ืืชืืืื ืขื ืขืืืก ืืจืฉืช ืืืืืื ืฉืืืช ืงืืฉืืจ. ืืฉืืืืฉ ืื ืจืื ื-TCP ืขืืืจ ืชืขืืืจืช HTTPS ื ืืืข ืืื ืืืืืช ืฉื ืืจืืฉืื ื (ืืืขื ืื ืืขืจืืช ืืคืขืื ืืืืื TCP), ืืืื ืืช ืืจืื ืืชืฉืชืืืช (ืืืืืื, ืืืื ื ืขืืืกืื, ืคืจืืงืกื HTTPS ื-CDNs), ืืคืื ืงืฆืืื ืืืืช ืืืืฅ ืืงืืคืกื. ืื ืืืื ืืืขื ืืจืื ืืคืืืคืืจืืืช ืืืจืฉืชืืช.
ืจืื ืืืฉืชืืฉืื ืืฉืชืืฉืื ืืืคืืืงืฆืื ืฉืื ื ืืืจืืื, ืืขืืืืื ืื ื ืฉื TCP ืืื ืจืืืงืื ืืืืจืืฉืืช ืฉื ืชืขืืืจืช HTTPS ืืืื ืืืช ืฉืื ื. ืืืืืื ืคืฉืืืืช, ืืฉืชืืฉืื ืืื ืจืืื ืืขืืื ืืื ืืืช - ืืืืจ 1 ืืฆืื ืขืืืืืื ืืขืจืื ืืืืืืืช:
ืืืืจ 1. ืขืืืืื ืื ื ืืฉืชื ืื ืืื ืืขืจืื ืืืืืืืช ืฉืืื ืืืืจ ืคืืขืืช.
ืืืจืืช ืฉืืขืืืืืื ืืจืฉืชืืช ืืืืืืืช ืืืืจืืืืืืืช ืืื ืืืืืืช ืืืชืจ ืืืฉืจ ืืืจื"ื ืืืืจืืื ืื, ืืขืืืืืื ืืื ื ืืืืืื ืืฉืืขืืชืืช ืืืขืืืืืื ืืืืืฆืขืื. ืืื ื ืืื ืืคืืื ืืืจื"ื ืืืจืืื ืื.
ืืืฆืืขื 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 ืืืืฆืขืืช
ืืชืืฆืืืช ืฉื ืฉื ื ืื ืืกืืืื ืืื ืขืงืืืืช ืื ืขื ืื. ืจืืื ื ืืื ืืืืืจ RTT ืืืื; ืขืจืื ืืื ื ืืื ืืืืืื ืืืขื ืคื 6 ืืืขืจื ืืืฆืืื ื; ืืืืืฆืข ืืืจืืชืืื ืฉื ืืขืืืืืื ืืื ืืืชืจ ืืฉื ืืื ืืืช. ืืืืืจืื ืจืืื ืืื ืืืืืื, ืื ืฉืืจื ื-TCP ืืฉืืจ ืืืืฉ 1% ืืื ืืืืืืืช. ืืืืืจืื ืฆืคืืคืื ืืื ืฉืืืช ืชืขืืคื ืืชืื ืืช ืจืืืช, ืจืืื ื ืืคืกืืื ืฉื 3,5%. ืชืืฆืืืช ืืื ืืืืืืช ืกืคืง ืืืืืื ืืืงืืืืช ืฉืื ืืฉืชืืฉืื ืืจืฉืชืืช ืกืืืืจืืืช
ืืืื ืจืฉืช
ืืฉืืขืืืืช
RTT, ืืืคืืืช ืฉื ืืืช [50%,75%, 95%,99%]
[350, 425, 725, 2300]
ืกืืืืช RTT, ืฉื ืืืช
ืืืืฆืข ~1,2 ืฉื ืืืช
ืืืืื ืื ืืช ืขื ืงืืฉืืจืื ืืกืืจืืืื
ืืืืฆืข ืฉื ~3.5% (7% ืืืืืจืื ืฆืคืืคืื)
ืืืขื ืืืืฆืืช ืืืืืืืจืื ืืืื ืืื ืืคืืืช ืืืืื ืื ืืช ืืื, ืืขืืงืจ SYN ื-SYN-ACKs. ืจืื ืืืฉืืื TCP ืืฉืชืืฉืื ื-RTO ืฉื ืฉื ืืื ืืืช ืขืืืจ ืื ืืช SYN, ืืฉืจ ืืื ืืืืคื ืืงืกืคืื ื ืฆืืืื ืขืืืจ ืืคืกืืื ืืืืื. ืืื ื ืืืขืื ื ืฉื ืืืคืืืงืฆืื ืืืืืื ืืขืืืช ืืืืืื ืฉื-TCP ืืืงื ืืืชืจ ืืื ืืืฆืืจ ืืืืืจืื.
ืืืงืจื ืฉื ืื ืืช ื ืชืื ืื, ืขืจืื RTO ืืืืืื ืืคืืืชืื ืืืื ืืช ืื ืืฆืื ืืฉืืืืฉื ืฉื ืืจืฉืช ืื ืืืืืช ืืคืกืื ืืื ืืจืฉืชืืช ืืืืืืืืช. ืืืืื ื ืฉืืื ืืฉืืืืจ ืืืืืจ ืืืืืฆืข ืืื ืืขืจื ืฉื ืืื ืืืช ืขื ืืฉืืืืช ืื ื ืฉื ืืืขื 1 ืฉื ืืืช. ืืื ืืฉืืืื ืื ืืืื ืืฉืืืช ื-TCP ืืจื ืืคืกืงื ืืื ืฉื HTTPS ืืืืงืฉืืช ื ืืกืืื ืืืืจ, ืืืืืื ืขืื ืืืชืจ ืืช ืืื ืืืืืืจ ืืืืกืจ ืืืขืืืืช ืฉื ืืจืฉืช.
ืืขืื ืฉืืืืืืื ื-75 ืฉื RTT ืฉื ืืื ืืื ืกืืื 425 ืืืคืืืช ืืฉื ืืื, ืืืืืืื ื-75 ืขืืืจ TCP ืืื ืืืขื 3 ืฉื ืืืช. ืื ืืจืื ืฉืืืืืื ืืจื ื-TCP ืืงืืช 7-10 ืืขืืจืื ืืื ืืืขืืืจ ื ืชืื ืื ืืืฆืืื. ืื ืขืฉืื ืืืืืช ืชืืฆืื ืฉื ืืืฉืื RTO ืื ืืขืื, ืืืกืจ ืืืืืืช ืฉื TCP ืืืืื ืืืืืจืืช ืืืืืื
ืกืืืืกืืืงืืช ืฉื ืืืืื ืื ืืช ืฉื TCP
ืขืจื
ืืืื ืืืืืืจืื ืขื ืืืืื ืื ื ืืืช ืืคืืืช
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 ืืืขืืื ืืช ืืืืืืจืืชื ืืื ืืคื ืฉืืืืึทืฉืืึผึธืึธื . - ืืืืืฉ ืืคืกืืื. 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 (ื ืงืืืืช ื ืืืืืช) ืืื ืืกืืื ืืช ืืืืืจื 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 ืืืคืืืงืฆืืืช ืืื ืืจืืืื ืฉืื ื ืืื ืืืืกืืฃ ืชืืืืช QUIC. ืืืื ืืืจืฆืื ืืืฆืขื ืืฆืืจื ืืื ืฉืชืืืขืจ ืืช ืขืืืช ืืืืืจื. ืืืงืื ืืืืืืฃ ืืืืืืื ืืช ืขืจืืืช ืืจืฉืช ืืืฉื ื ืฉืืฉืชืืฉื ืืกืคืจืืื
ืืืืื ืืืืฉืช ืื ืืจืืืื, ืืืืขื ื ืืช Cronet ืืืคืืืงืฆืืืช Uber iOS ืขื ืืื ืืืจืื ืชืขืืืจืช HTTP ืืืจืฉืช
ืืฉืืืช QUIC ืขื ืืืื ื Google Cloud
ืืฆื ืืืืืจื, ืืฉืืืช QUIC ืืกืืคืงืช ืขื ืืื ืชืฉืชืืช ืืืืื ืขืืืกื ืืขื ื ืฉื Google, ืืืฉืชืืฉืช
ืืืฆืืขืื: ืชืืฆืืืช
ืืืฆืืขื ืืคืื ืื ืืกืืื ืืขืืงืจืืช ืืืืคืืฉ ืฉืื ื ืืืจ ืืคืจืืืืงืื ืืืื ืืืืชืจ. ืืืืชืืืื ืืฆืจื ื ืืืื ืขื
ื ืืกืื 1
ืฆืืื ืื ืืกืื:
- ืืืฉืืจื ืืืืงืช ืื ืืจืืืื ืขื ืขืจืืืืช OkHttp ื- Cronet ืืื ืืืืื ืฉืื ื ืืืคืฉืจืื ืชืขืืืจืช HTTPS ืืจื TCP ื-QUIC, ืืืชืืื;
- ืฉืจืช ืืืืืฆืื ืืืืกืก Java ืฉืฉืืื ืืช ืืืชื ืกืื ืฉื ืืืชืจืืช HTTPS ืืชืืืืืช ืืืืขื ืืชืงื ื ืืงืื ืืื ืืงืื ืืื ืืงืฉืืช;
- ืคืจืืงืกื ืขื ื ืืืืืงืืื ืคืืืืช ืงืจืื ืืืืื ืืื ืืกืืื ืืืืืจื TCP ื-QUIC. ืืืืื ืขืืืจ ืกืืื TCP ืืฉืชืืฉื ื ืืคืจืืงืกื ืืคืื
nginx , ืืื ืงืฉื ืืืฆืื ืคืจืืงืกื ืืคืื ืืงืื ืคืชืื ืขืืืจ QUIC. ืื ืื ื ืืขืฆืื ื ืคืจืืงืกื ืืคืื ืขืืืจ QUIC, ืชืื ืฉืืืืฉ ืืขืจืืืช QUIC ืืืกืืกืืช ืฉื Chromium ืืคืืจืกื ืื ืืืจืื ืืงืื ืคืชืื.
ืืืืจ 6. ืขืจืืช ืืืืงืืช ืืืจืืื TCP ืืขืืืช QUIC ืืืื ืืืฉืืจื ืื ืืจืืืื ืขื OkHttp ื- Cronet, ืคืจืืงืกื ืขื ื ืืืืืื ืืืืืจืื ืืฉืจืช ืืืืืฆืื.
ื ืืกืื 2
ืืืฉืจ ืืืื ืืคืื QUIC ืืืื ืขื
ืืืืจ 7. ืื ืืกืื ืืฉื ื, ืจืฆืื ื ืืืฉืืืช ืืื ืืฉืืืช TCP ื-QUIC: ืฉืืืืฉ ื-Google Cloud ืืฉืืืืฉ ื-Proxy ืืขื ื ืฉืื ื.
ืืชืืฆืื ืืื, ืืืื ืื ื ืืกืคืจ ืืืืืืื:
- ืกืืื ืืืืฆืขืืช PoP ืืืฆืืขื TCP ืืฉืืคืจืื. ืืืืืื ืฉืืืื ืื ืืคืกืืงืื ืืช ืืืืืจื TCP ืงืจืืืื ืืืชืจ ืืืฉืชืืฉืื ืืืืืืืื ืืืื, ืืืืจ ืืืื ื-RTTs ื ืืื ืืืชืจ, ืื ืฉืืฉืคืจ ืืช ืืืฆืืขื TCP. ืืืืจืืช ืฉ-QUIC ืืืฉืคืข ืคืืืช, ืืื ืขืืืื ืขืงืฃ ืืช TCP ืืืื ืืื ืฉื ืืคืืชืช ืขืืืืื ืื ื (ื-10-30 ืืืื).
- ืื ืืืช ืืืฉืคืขืื
ืืขืืจื ืจืฉืช (ืืืค) . ืืืจืืช ืฉืืคืจืืงืกื QUIC ืฉืื ื ืืื ืจืืืง ืืืชืจ ืืืืืฉืืจืื (ืืฉืืืื ืืืืื ืื-50 ืืืคืืืช ืืฉื ืืื) ืืืฉืจ ืืืื ื ืืขืืืก ืฉื ืืืื, ืืื ืกืืคืง ืืืฆืืขืื ืืืืื - ืืคืืชื ืฉื 15% ืืืฉืืื ืืขืืืช ืืคืืชื ืฉื 20% ืืืืืืื ื-99 ืขืืืจ TCP. ืื ืืฆืืืข ืขื ืื ืฉืืขืืจ ืืืืื ืืืืจืื ืืื ืฆืืืืจ ืืงืืืง ืืจืฉืช.
ืืืืจ 8. ืืชืืฆืืืช ืฉื ืฉื ื ื ืืกืืืื ืืจืืืช ืฉ-QUIC ืขืืืฃ ืืฉืืขืืชืืช ืขื TCP.
ืชื ืืขื ืงืจืืืช
ืืืฉืจืืช ื ืืกืืืื, ืืืืขื ื ืชืืืืช QUIC ืืืืฉืืื Android ื-iOS ืฉืื ื. ืขืจืื ื ืืืืงืืช A/B ืืื ืืงืืืข ืืช ืืืฉืคืขื ืฉื QUIC ืืขืจืื ืฉืืื ืืืืจ ืคืืขืืช. ืืืืคื ืืืื, ืจืืื ื ืืจืืื ืืฉืืขืืชืืช ืืขืืืืื ืื ื ืืฉื ื ืืืืืจืื, ืืคืขืืื ืืืงืื ืืกืื ืจืฉืช.
ืืืจืคืื ืฉืืืื ืืฆืืืื ืืช ืืืืื ืืฉืืคืืจืื ืืื ืืืช (ืืืืืืื ื-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