ΠΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ QUIC Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π·Π° Π³Π»Π΅Π΄Π°Π½Π΅, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ Π·Π° Π½Π΅Π³ΠΎ. ΠΠΎ Π°ΠΊΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° QUIC Π±ΡΡ Π° ΠΏΠΎ-ΡΠΊΠΎΡΠΎ ΠΎΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΎ (ΠΌΠ΅ΡΡΠΎΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ, Π°ΠΊΠΎ ΠΆΠ΅Π»Π°Π΅ΡΠ΅) Π΅ΡΡΠ΅ΡΡΠ²ΠΎ ΠΈ Ρ Π°ΡΠ΄ΡΠ΅Ρ, Π΄Π½Π΅Ρ ΡΠΌΠ΅ ΡΠ°ΡΡΠ»ΠΈΠ²ΠΈ Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΠΌΠ΅ ΠΏΡΠ΅Π²ΠΎΠ΄ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π²ΠΈΠ΄ - ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΡΠ΅Π°Π»Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΡΠ΅Π· 2019 Π³. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΌΠ°Π»ΠΊΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π² ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡ Π³Π°ΡΠ°ΠΆ, Π° Π·Π° Uber, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΠ΅ΡΠΈΡΠ° ΠΏΠΎΡΡΠΈ Π² ΡΠ΅Π»ΠΈΡ ΡΠ²ΡΡ. ΠΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΡΠ° ΡΡΠΈΠ³Π½Π°Π»ΠΈ Π΄ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ QUIC Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, ΠΊΠ°ΠΊ ΡΠ° ΠΈΠ·Π²ΡΡΡΠΈΠ»ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ° Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ ΠΌΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ - ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅Π·.
Π‘Π½ΠΈΠΌΠΊΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΊΠ»ΠΈΠΊΠ²Π°Ρ. ΠΠ°ΡΠ»Π°Π΄ΠΈ ΡΠ΅ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ!
Uber ΠΈΠΌΠ° Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΌΠ°ΡΠ°Π±, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ 600 Π³ΡΠ°Π΄Π° Π½Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅, Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ°Π·ΡΠΈΡΠ° ΠΈΠ·ΡΡΠ»ΠΎ Π½Π° Π±Π΅Π·ΠΆΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 4500 ΠΊΠ»Π΅ΡΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π±ΡΡΠ·ΠΎ, Π½ΠΎ ΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ - Π·Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΡΠΎΠ²Π°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Uber ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΎΡ Π½ΠΈΡΠΊΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° Π²ΡΡΠ·ΠΊΠ°. Π£Π²ΠΈ, Π½ΠΎ ΡΡΠ΅ΠΊΠ°
ΠΠ° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΈΠ΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΡΡΠ²Π°Ρ
ΠΌΠ΅
Π‘Π»Π΅Π΄ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° QUIC Π² Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΠΎ-Π½ΠΈΡΠΊΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ TCP. ΠΠ°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΠΌΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ 10-30% Π·Π° HTTPS ΡΡΠ°ΡΠΈΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π·Π° ΡΠΎΡΡΠΎΡΠΈ ΠΈ ΠΏΡΡΠ½ΠΈΡΠΈ. QUIC ΡΡΡΠΎ Π½ΠΈ Π΄Π°Π΄Π΅ ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ.
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠΏΠΎΠ΄Π΅Π»ΡΠΌΠ΅ Π½Π°ΡΠΈΡ ΠΎΠΏΠΈΡ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° TCP Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Uber Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ΅ΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° QUIC.
ΠΠ°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ: TCP
ΠΠ½Π΅Ρ TCP Π΅ Π½Π°ΠΉ-ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° HTTPS ΡΡΠ°ΡΠΈΠΊ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ. TCP ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΏΠΎΡΠΎΠΊ ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅, ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΡΠΏΡΠ°Π²Ρ Ρ ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ Π·Π°Π³ΡΠ±ΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π²ΡΡΠ·ΠΊΠ°. Π¨ΠΈΡΠΎΠΊΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° TCP Π·Π° HTTPS ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎΡΠΎ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΡΠ²ΠΈΡ (ΠΏΠΎΡΡΠΈ Π²ΡΡΠΊΠ° ΠΠ‘ ΡΡΠ΄ΡΡΠΆΠ° TCP), Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΈ (ΠΊΠ°ΡΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°ΡΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, HTTPS ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΈ CDN) ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ Π½Π°Π»ΠΈΡΠ½Π° Π² ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΈ.
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π½Π° TCP ΠΎΠΏΠ°ΡΠΊΠΈΡΠ΅ Π½Π΅ Π±ΡΡ Π° Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° Π½Π°ΡΠΈΡ HTTPS ΡΡΠ°ΡΠΈΠΊ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠ°Π·Π°Π½ΠΎ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΏΠΎ ΡΠ΅Π»ΠΈΡ ΡΠ²ΡΡ ΡΠ° ΠΈΠ·ΠΏΠΈΡΠ°Π»ΠΈ ΡΠΎΠ²Π° - Π€ΠΈΠ³ΡΡΠ° 1 ΠΏΠΎΠΊΠ°Π·Π²Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π² Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ Π³ΡΠ°Π΄ΠΎΠ²Π΅:
Π€ΠΈΠ³ΡΡΠ° 1: ΠΠ°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π²Π°ΡΠΈΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π³ΡΠ°Π΄ΠΎΠ²Π΅ Π½Π° Uber.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π² ΠΈΠ½Π΄ΠΈΠΉΡΠΊΠΈΡΠ΅ ΠΈ Π±ΡΠ°Π·ΠΈΠ»ΡΠΊΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ Π΅ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ°, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π² Π‘ΠΠ© ΠΈ ΠΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΎΡΠΎ ΠΊΡΠ°Π»ΡΡΠ²ΠΎ, Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΎΡ ΡΡΠ΅Π΄Π½Π°ΡΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ. Π ΡΠΎΠ²Π° Π²Π°ΠΆΠΈ Π΄ΠΎΡΠΈ Π·Π° Π‘ΠΠ© ΠΈ ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΡ.
ΠΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° TCP ΠΏΠΎ Π²ΡΠ·Π΄ΡΡ Π°
TCP Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π·Π° ΠΊΠ°Π±Π΅Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠΈ, ΡΠΎΠ΅ΡΡ Ρ Π°ΠΊΡΠ΅Π½Ρ Π²ΡΡΡ
Ρ ΡΠΈΠ»Π½ΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π±Π΅Π·ΠΆΠΈΡΠ΅Π½ ΠΌΡΠ΅ΠΆΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ. ΠΡΡΠ²ΠΎ, Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ»ΠΈΠ²ΠΈ Π½Π° Π·Π°Π³ΡΠ±ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠΌΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΡΠΈΡ
Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Wi-Fi ΠΌΡΠ΅ΠΆΠΈΡΠ΅ ΡΠ° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΡΠΌ ΠΌΠΈΠΊΡΠΎΠ²ΡΠ»Π½ΠΈ, bluetooth ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ°Π΄ΠΈΠΎΠ²ΡΠ»Π½ΠΈ. ΠΠ»Π΅ΡΡΡΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ ΡΡΡΠ°Π΄Π°Ρ ΠΎΡ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΈΠ³Π½Π°Π» (
ΠΠ° Π΄Π° ΡΠ΅ Π±ΠΎΡΡΡ Ρ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡΡΠ° Π² ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° ΠΈ Π·Π°Π³ΡΠ±ΠΈΡΠ΅, ΠΊΠ»Π΅ΡΡΡΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡΡΠ΅ΡΠΈ Π·Π° ΠΈΠ·Π±Π»ΠΈΡΠΈ Π½Π° ΡΡΠ°ΡΠΈΠΊ. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠ΅ΠΊΠΎΠΌΠ΅ΡΠ½ΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΠΎ-Π΄ΡΠ»Π³ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ. ΠΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎ TCP ΡΡΠ΅ΡΠΈΡΠ° ΡΠ°Π·ΠΈ ΠΎΠΏΠ°ΡΠΊΠ° ΠΊΠ°ΡΠΎ Π·Π°Π³ΡΠ±Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ΄ΡΠ»ΠΆΠ΅Π½ ΡΠ°ΠΉΠΌΠ°ΡΡ, ΡΠ°ΠΊΠ° ΡΠ΅ TCP ΠΈΠΌΠ° ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ Π΄Π° ΠΏΡΠ΅ΠΏΡΠ΅Π΄Π°Π²Π° ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π΄Π° Π·Π°ΠΏΡΠ»Π²Π° Π±ΡΡΠ΅ΡΠ°. Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΡΠΎ
Π Π½Π°ΠΊΡΠ°Ρ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»Π΅ΡΡΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° Π²Π°ΡΠΈΡΠ° ΡΠΏΠΎΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΡΠ΅Π³ΠΈΠΎΠ½Π° ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. ΠΠ° ΡΠΈΠ³ΡΡΠ° 2 ΡΡΠ±ΡΠ°Ρ ΠΌΠ΅ ΡΡΠ΅Π΄Π½ΠΈΡΠ΅ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π½Π° HTTPS ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ Π² ΠΎΠ±Ρ Π²Π°Ρ ΠΎΡ 2 ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠ°. ΠΠ°Π½Π½ΠΈ, ΡΡΠ±ΡΠ°Π½ΠΈ Π·Π° Π΄Π²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠ»Π΅ΡΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΠΠ΅Π»Ρ ΠΈ, ΠΠ½Π΄ΠΈΡ. ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π²Π°ΡΠΈΡΠ° ΠΎΡ ΠΊΠ»Π΅ΡΠΊΠ° Π΄ΠΎ ΠΊΠ»Π΅ΡΠΊΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠΎΡΠΈΡ. Π’ΠΎΠ²Π° ΡΠ΅ Π²Π»ΠΈΡΠ΅ ΠΎΡ ΡΠ°ΠΊΡΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π³ΡΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΊΡΠ»ΠΈΡΠ΅ ΠΈ ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ (LTE, 3G ΠΈ Π΄Ρ.).
Π€ΠΈΠ³ΡΡΠ° 2. ΠΠ°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Ρ ΡΠ°Π΄ΠΈΡΡ ΠΎΡ 2 km ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ΅Π»Ρ
ΠΈ, ΠΠ½Π΄ΠΈΡ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»Π΅ΡΡΡΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ Π²Π°ΡΠΈΡΠ° Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. Π€ΠΈΠ³ΡΡΠ° 3 ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠ΅Π΄Π½Π°ΡΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΏΠΎ Π΄Π½ΠΈ ΠΎΡ ΡΠ΅Π΄ΠΌΠΈΡΠ°ΡΠ°. ΠΠ°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΠΌΠ΅ ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ Π² ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΌΠ°ΡΠ°Π±, Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ Π΄Π΅Π½ ΠΈ ΡΠ°Ρ.
Π€ΠΈΠ³ΡΡΠ° 3. ΠΡΠ°ΠΉΠ½ΠΈΡΠ΅ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²Π°ΡΠΈΡΠ°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π½ΠΈΡΠ΅, Π½ΠΎ Π·Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ.
ΠΡΠΈΡΠΊΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° TCP ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΄Π° Π±ΡΠ΄Π΅ Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° Π² Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΠΎΡΡΡΡΠΈΠΌ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ Π½Π° TCP, ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π²ΠΈΠ΅ΠΌ ΡΠΎΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ:
- TCP Π»ΠΈ Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊ Π·Π°Π΄ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π² Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ?
- Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ ΠΈΠΌΠ°Ρ Π»ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΈ Π΄Π²ΡΠΏΠΎΡΠΎΡΠ½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ (RTT)?
- ΠΠ°ΠΊΠ²ΠΎ Π΅ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° RTT ΠΈ Π·Π°Π³ΡΠ±Π°ΡΠ° Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° TCP?
ΠΠ½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° TCP
ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ
ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° TCP, Π½Π΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π°Π±ΡΡΠ·ΠΎ ΠΊΠ°ΠΊ TCP ΠΏΡΠ΅Ρ
Π²ΡΡΠ»Ρ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΠΎΠ΄Π°ΡΠ΅Π» ΠΊΡΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π». ΠΡΡΠ²ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° TCP Π²ΡΡΠ·ΠΊΠ°, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΉΠΊΠΈ ΡΡΠΈΡΡΡΠ°Π½Π½Π° Π²ΡΡΠ·ΠΊΠ°
ΠΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ»ΠΈ ACK Π±ΡΠ΄Π°Ρ ΠΈΠ·Π³ΡΠ±Π΅Π½ΠΈ, ΠΏΠΎΠ΄Π°ΡΠ΅Π»ΡΡ ΠΏΡΠ΅ΠΏΡΠ΅Π΄Π°Π²Π° ΡΠ»Π΅Π΄ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ (RTO,
Π€ΠΈΠ³ΡΡΠ° 4. ΠΠ±ΠΌΠ΅Π½ΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠ΅Π· TCP/TLS Π²ΠΊΠ»ΡΡΠ²Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅.
ΠΠ° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊ TCP ΡΠ°Π±ΠΎΡΠΈ Π² Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΈΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ
ΠΌΠ΅ TCP ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π΄Π²Π°ΡΠ° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° ΡΠ° Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π΅Π΄ΠΈΠ½ Ρ Π΄ΡΡΠ³. ΠΠΈΠ΄ΡΡ
ΠΌΠ΅ Π²ΠΈΡΠΎΠΊΠΈ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ Π½Π° RTT; ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π±ΡΡ
Π° ΠΏΠΎΡΡΠΈ 6 ΠΏΡΡΠΈ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΈ ΠΎΡ ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ; ΡΡΠ΅Π΄Π½ΠΎΠ°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 1 ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ·ΠΊΠΈ Π±ΡΡ
Π° ΡΡΡ Π·Π°Π³ΡΠ±Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΊΠ°ΡΠ° TCP Π΄Π° ΠΏΡΠ΅ΠΏΡΠ΅Π΄Π°Π΄Π΅ 3,5% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ Π·ΠΎΠ½ΠΈ ΠΊΠ°ΡΠΎ Π»Π΅ΡΠΈΡΠ° ΠΈ Π³Π°ΡΠΈ Π²ΠΈΠ΄ΡΡ
ΠΌΠ΅ 7% Π·Π°Π³ΡΠ±ΠΈ. Π’Π΅Π·ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΏΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ΄ ΡΡΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠΎΠΏΡΠΈΠ΅ΡΠΎΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΡΠ΅ ΡΠ΅Π·ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΊΠ»Π΅ΡΡΡΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ
ΠΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
RTT, ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ [50%,75%, 95%,99%]
[350, 425, 725, 2300]
Π Π°Π·ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° RTT, ΡΠ΅ΠΊΡΠ½Π΄ΠΈ
Π‘ΡΠ΅Π΄Π½ΠΎ ~1,2 s
ΠΠ°Π³ΡΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠΈ Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ
Π‘ΡΠ΅Π΄Π½ΠΎ ~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 ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ°
ΠΠ£ΠΠΠ§ΠΠ , ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ Π·Π° ΡΡΠ°ΡΠΈΠΊ, ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊΡΠΌ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ. ΠΠ°ΡΠΊΠΎΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΊΠ°ΡΠΎΠΠΠ , ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ°. QUIC Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ BBR ΠΈ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΎΠ·ΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ . - ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π·Π°Π³ΡΠ±ΠΈΡΠ΅. QUIC ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π΄Π²Π° TLP (
ΡΠΎΠ½Π΄Π° Π·Π° Π·Π°Π³ΡΠ±Π° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ° ) ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π° RTO - Π΄ΠΎΡΠΈ ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°Π³ΡΠ±ΠΈΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ. Π’ΠΎΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ TCP ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΡΠ΅. TLP ΠΏΡΠ΅ΠΏΡΠ΅Π΄Π°Π²Π° Π³Π»Π°Π²Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ (ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΈΡ, Π°ΠΊΠΎ ΠΈΠΌΠ° ΡΠ°ΠΊΡΠ²), Π·Π° Π΄Π° Π·Π°Π΄Π΅ΠΉΡΡΠ²Π° Π±ΡΡΠ·ΠΎ ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅. ΠΠΎΡΠ°Π²Π΅Π½Π΅ΡΠΎ ΡΡΡ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ Uber ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΡΠ²ΠΎΡΡΠ° ΠΌΡΠ΅ΠΆΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π° ΠΊΡΠ°ΡΠΊΠΈ, ΡΠΏΠΎΡΠ°Π΄ΠΈΡΠ½ΠΈ ΠΈ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΡΠΌ Π·Π°Π±Π°Π²ΡΠ½Π΅ ΡΡΠ°Π½ΡΡΠ΅ΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ. - ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ACK. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠΌΠ° ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡΠ΅Π΄Π΅Π½ Π½ΠΎΠΌΠ΅Ρ, Π½ΡΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΎΡΠ»ΠΈΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΏΡΠ΅Π΄Π°Π²Π°Ρ. ACK ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ACK ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π’Π΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Ρ, ΡΠ΅ QUIC ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° RTT ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ. ACK Π² QUIC ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΎ 256 Π»Π΅Π½ΡΠΈΠΠΠ , ΠΏΠΎΠΌΠ°Π³Π°ΠΉΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠ΅Π»Ρ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎ-ΡΡΡΠΎΠΉΡΠΈΠ² Π½Π° ΡΠ°Π·Π±ΡΡΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π±Π°ΠΉΡΠΎΠ²Π΅ Π² ΠΏΡΠΎΡΠ΅ΡΠ°. Π‘Π΅Π»Π΅ΠΊΡΠΈΠ²Π΅Π½ ACK (Π§Π£ΠΠ ) Π² TCP Π½Π΅ ΡΠ΅ΡΠ°Π²Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ. - ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°. QUIC Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ Ρ 64-Π±ΠΈΡΠΎΠ² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΡΠ°ΠΊΠ° ΡΠ΅ Π°ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈΡΠ΅, ΡΡΠ°ΡΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° Π½ΠΎΠ²ΠΈΡ IP Π°Π΄ΡΠ΅Ρ Π±Π΅Π· ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π° ΠΌΠ΅ΠΆΠ΄Ρ Wi-Fi ΠΈ ΠΊΠ»Π΅ΡΡΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ.
ΠΠ»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ Π½Π° QUIC
Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ QUIC.
ΠΡΡΠ²ΠΎΡΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΠΈΡΠ°Ρ ΠΌΠ΅, Π±Π΅ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΠΌ TPC PoPs (ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅), Π·Π° Π΄Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΠΌ TCP Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ PoP ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Ρ 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, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅: Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° Π½Π°ΡΠ΅ΡΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΠ°ΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΡΠ·Π΄Π°Π΄ΠΎΡ
ΠΌΠ΅ ΡΠ°Π½Π΄ Ρ
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ 1
ΠΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ Π·Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°:
- ΡΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Android ΡΡΡ ΡΡΠ΅ΠΊΠΎΠ²Π΅ OkHttp ΠΈ Cronet, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°ΠΌΠ΅ HTTPS ΡΡΠ°ΡΠΈΠΊ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΠΏΡΠ΅Π· TCP ΠΈ QUIC;
- Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Java ΡΡΡΠ²ΡΡ Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΡΠΈΡ ΡΠΈΠΏ HTTPS Ρ Π΅Π΄ΡΡΠΈ Π² ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΡΠ΅ ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ ΡΡΡ ;
- ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΠ½Π΄ΠΈΡ, Π·Π° Π΄Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΡ TCP ΠΈ QUIC Π²ΡΡΠ·ΠΊΠΈ. ΠΠΎΠΊΠ°ΡΠΎ Π·Π° TCP ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
ΠΌΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ Π½Π°
Nginx , Π±Π΅ΡΠ΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° QUIC. Π‘Π°ΠΌΠΈ ΡΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ Π·Π° QUIC, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ QUIC ΡΡΠ΅ΠΊ ΠΎΡ Chromium ΠΈΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ Π³ΠΎ Π² chromium ΠΊΠ°ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄.
Π€ΠΈΠ³ΡΡΠ° 6. ΠΠ°ΠΊΠ΅ΡΡΡ Π·Π° ΠΏΡΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ TCP ΡΡΠ΅ΡΡ QUIC ΡΠ΅ ΡΡΡΡΠΎΠ΅ΡΠ΅ ΠΎΡ Android ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ OkHttp ΠΈ Cronet, ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠΈ Π·Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ ΠΈ ΡΡΡΠ²ΡΡ Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ.
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ 2
ΠΠΎΠ³Π°ΡΠΎ Google Π½Π°ΠΏΡΠ°Π²ΠΈ QUIC Π΄ΠΎΡΡΡΠΏΠ΅Π½ Ρ
Π€ΠΈΠ³ΡΡΠ° 7. ΠΡΠ² Π²ΡΠΎΡΠΈΡ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ ΠΈΡΠΊΠ°Ρ
ΠΌΠ΅ Π΄Π° ΡΡΠ°Π²Π½ΠΈΠΌ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° TCP ΠΈ QUIC: ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Google Cloud ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π°ΡΠΈΡ ΠΎΠ±Π»Π°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π½ΠΈ ΠΎΡΠ°ΠΊΠ²Π°Ρ Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π·ΠΊΡΠΈΡΠΈΡ:
- ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· PoP ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° TCP ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π±Π°Π»Π°Π½ΡΡΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Ρ TCP Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΡΠ° ΡΠΈΠ»Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ, ΡΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎ-Π½ΠΈΡΠΊΠΈ RTT, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° TCP ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ QUIC Π±Π΅ΡΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π·Π°ΡΠ΅Π³Π½Π°Ρ, ΡΠΎΠΉ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π°ΡΠ΅ TCP ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° (Ρ 10-30 ΠΏΡΠΎΡΠ΅Π½ΡΠ°).
- ΠΎΠΏΠ°ΡΠΊΠΈΡΠ΅ ΡΠ° Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ
ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠΊΠΎΠΊΠΎΠ²Π΅ . ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π½Π°ΡΠΈΡΡ 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