ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŠΡ‚ QUIC Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ интСрСсСн Π·Π° наблюдСниС, Π·Π°Ρ‚ΠΎΠ²Π° с удоволствиС пишСм Π·Π° Π½Π΅Π³ΠΎ. Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° QUIC ΠΈΠΌΠ°Ρ…Π° ΠΏΠΎ-скоро историчСски (мСстСн, Π°ΠΊΠΎ искатС) Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΈ тСхничСски Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ, днСс смС щастливи Π΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ Ρ‚ΠΈΠΏ – Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ€Π΅Π°Π»Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΡ€Π΅Π· 2019 Π³ΠΎΠ΄ΠΈΠ½Π°. И Ρ‰Π΅ става Π²ΡŠΠΏΡ€ΠΎΡ Π½Π΅ Π·Π° ΠΌΠ°Π»ΠΊΠ° инфраструктура, основана някъдС Π² Π³Π°Ρ€Π°ΠΆ, Π° Π·Π° Uber, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎ цСлия свят. Как ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° компанията Ρ€Π΅ΡˆΠΈΡ…Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ QUIC Π² продукцията, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ…Π° тСстовСтС ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ видяха слСд внСдряванСто Π² продукция – ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ.

ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈΡ‚Π΅ са ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌΠΈ. ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ Ρ‡Π΅Ρ‚Π΅Π½Π΅!

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността

Uber Π΅ със свСтовСн ΠΌΠ°Ρ‰Π°Π±, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ 600 Π³Ρ€Π°Π΄Π°, Π² ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ изцяло Ρ€Π°Π·Ρ‡ΠΈΡ‚Π° Π½Π° Π±Π΅Π·ΠΆΠΈΡ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡ‚ Π½Π°Π΄ 4500 ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‡Π°ΠΊΠ²Π°Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π΅ просто Π±ΡŠΡ€Π·ΠΎ, Π° Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ – Π·Π° Π΄Π° осигурим Ρ‚ΠΎΠ²Π°, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Uber сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ ниски закъснСния ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅. Π—Π° съТалСниС, ΡΡ‚Π΅ΠΊΡŠΡ‚ HTTP/2 Π½Π΅ сС прСдставя Π΄ΠΎΠ±Ρ€Π΅ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈ ΠΈ склонни към Π·Π°Π³ΡƒΠ±Π° Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ. Π Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ Π² Ρ‚ΠΎΠ·ΠΈ случай ниската производитСлност Π΅ пряко ΡΠ²ΡŠΡ€Π·Π°Π½Π° с рСализацията Π½Π° TCP Π² ядрото Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма.

Π—Π° Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ…ΠΌΠ΅ QUIC, ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» с мултиплСксиранС Π½Π° ΠΊΠ°Π½Π°Π»ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈ прСдоставя ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ производитСлността Π½Π° транспортния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ». Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π½Π° Π³Ρ€ΡƒΠΏΠ° IETF стандартизира QUIC ΠΊΠ°Ρ‚ΠΎ HTTP/3.

Π‘Π»Π΅Π΄ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΈ тСстовС, достигнахмС Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄Π°, Ρ‡Π΅ внСдряванСто Π½Π° QUIC Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‰Π΅ Π½Π°ΠΌΠ°Π»ΠΈ "ΠΎΠΏΠ°ΡˆΠ½ΠΈΡ‚Π΅" закъснСния Π² сравнСниС с TCP. ΠΠ°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ…ΠΌΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ‚ 10-30% Π·Π° HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° прилоТСнията Π·Π° ΡˆΠΎΡ„ΡŒΠΎΡ€ΠΈ ΠΈ ΠΏΡŠΡ‚Π½ΠΈΡ†ΠΈ. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, QUIC Π½ΠΈ Π΄Π°Π΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π°Π΄ потрСбитСлскитС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

Π’ Ρ‚Π°Π·ΠΈ статия сподСлямС ΠΎΠΏΠΈΡ‚ ΠΏΠΎ оптимизацията Π½Π° TCP Π·Π° прилоТСнията Π½Π° Uber с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° стСк, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° QUIC.

ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π° Π΄ΡƒΠΌΠ° Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°Ρ‚Π°: TCP

ДнСс TCP Π΅ Π½Π°ΠΉ-използваният транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° доставка Π½Π° HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. TCP осигурява Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΡ‚ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, справяйки сС с ΠΏΡ€Π΅Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ Π·Π°Π³ΡƒΠ±ΠΈ Π½Π° ΠΊΠ°Π½Π°Π»Π°. Π¨ΠΈΡ€ΠΎΠΊΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° TCP Π·Π° HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊ сС обяснява с всСобхватността Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° (ΠΏΠΎΡ‡Ρ‚ΠΈ всяка ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° TCP), наличността ΠΌΡƒ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ инфраструктури (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² балансировачи Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ, HTTPS проксита ΠΈ CDN) ΠΈ функционалността β€žΠΈΠ·Π²ΡŠΠ½ ΠΊΡƒΡ‚ΠΈΡΡ‚Π°β€œ, която Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈ ΠΌΡ€Π΅ΠΆΠΈ.

ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π° β€žΠΎΠΏΠ°ΡˆΠΊΠΈΡ‚Π΅β€œ Π½Π° TCP са Π΄Π°Π»Π΅Ρ‡ ΠΎΡ‚ изискванията Π½Π° нашия HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. ΠŸΡ€ΠΎΡ‰Π΅ ΠΊΠ°Π·Π°Π½ΠΎ, Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, с ΠΊΠΎΠΉΡ‚ΠΎ сС ΡΠ±Π»ΡŠΡΠΊΠ²Π°Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΏΠΎ цСлия свят – Π½Π° Рисунка 1 са ΠΎΡ‚Ρ€Π°Π·Π΅Π½ΠΈ забавянията Π² Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π³Ρ€Π°Π΄ΠΎΠ²Π΅:

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Рисунок 1. Π‘Ρ‚Π΅ΠΏΠ΅Π½Ρ‚Π° Π½Π° β€žΠΎΠΏΠ°ΡˆΠΊΠΎΠ²ΠΈΡ‚Π΅β€œ забавяния Π²Π°Ρ€ΠΈΡ€Π° Π² основнитС Π³Ρ€Π°Π΄ΠΎΠ²Π΅ Π½Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²ΠΈΠ΅ Π½Π° Uber.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ забавянията Π² индийскитС ΠΈ бразилскитС ΠΌΡ€Π΅ΠΆΠΈ бяха ΠΏΠΎ-високи ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π² БАЩ ΠΈ ΠžΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΎΡ‚ΠΎ кралство, ΠΎΠΏΠ°ΡˆΠΊΠΎΠ²ΠΈΡ‚Π΅ забавяния Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°Π΄Π²ΠΈΡˆΠ°Π²Π°Ρ‚ срСднитС забавяния. И Ρ‚ΠΎΠ²Π° Π΅ Ρ‚Π°ΠΊΠ° Π΄ΠΎΡ€ΠΈ Π·Π° БАЩ ΠΈ ΠžΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΎΡ‚ΠΎ кралство.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° TCP ΠΏΠΎ Π²ΡŠΠ·Π΄ΡƒΡ…Π°

TCP Π΅ създадСн Π·Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ, тоСст с Π°ΠΊΡ†Π΅Π½Ρ‚ Π²ΡŠΡ€Ρ…Ρƒ Π΄ΠΎΠ±Ρ€Π΅ прСдсказуСми Π²Ρ€ΡŠΠ·ΠΊΠΈ. ΠžΠ±Π°Ρ‡Π΅, бСспроводнитС ΠΌΡ€Π΅ΠΆΠΈ ΠΈΠΌΠ°Ρ‚ свои особСности ΠΈ трудности. ΠŸΡŠΡ€Π²ΠΎ, бСспроводнитС ΠΌΡ€Π΅ΠΆΠΈ са чувствитСлни към Π·Π°Π³ΡƒΠ±ΠΈ ΠΎΡ‚ смущСния ΠΈ отслабванС Π½Π° сигнала. НапримСр, Wi-Fi ΠΌΡ€Π΅ΠΆΠΈΡ‚Π΅ са чувствитСлни към ΠΌΠΈΠΊΡ€ΠΎΠ²ΡŠΠ»Π½ΠΈ, bluetooth ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π΄ΠΈΠΎΠ²ΡŠΠ»Π½ΠΈ. ΠœΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ страдат ΠΎΡ‚ Π·Π°Π³ΡƒΠ±Π° Π½Π° сигнал (Π·Π°Π³ΡƒΠ±Π° Π½Π° ΠΏΡŠΡ‚) ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/абсорбция Π½Π° сигнала ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΈ ΠΈ сгради, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΡ‚ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡΡ‚Π²Π° ΠΎΡ‚ съсСдни ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ Π°Π½Ρ‚Π΅Π½ΠΈ. Π’ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎ-Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ (4-10 ΠΏΡŠΡ‚ΠΈ) ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΈ Π·Π°ΠΊΡ€ΡŠΠ³Π»Π΅Π½ΠΈ забавяния (RTT) ΠΈ Π·Π°Π³ΡƒΠ±ΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² сравнСниС с ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Π—Π° Π΄Π° сС справят с Ρ„Π»ΡƒΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π² пропускатСлната способност ΠΈ Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅, ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈ Π·Π° ΠΈΠ·Π±Π»ΠΈΡ†ΠΈ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€Π΅ΠΊΠΎΠΌΠ΅Ρ€Π½Π° ΠΎΠΏΠ°ΡˆΠ½ΠΎΡΡ‚, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ забавяния. Много чСсто TCP ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π° Ρ‚Π°ΠΊΠ°Π²Π° ΠΎΠΏΠ°ΡˆΠ½ΠΎΡΡ‚ ΠΊΠ°Ρ‚ΠΎ Π·Π°Π³ΡƒΠ±Π° ΠΏΠΎΡ€Π°Π΄ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π°Ρ‚Π° Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚, Π·Π°Ρ‚ΠΎΠ²Π° TCP Π΅ склонСн Π΄Π° ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ прСдавания ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ запълва Π±ΡƒΡ„Π΅Ρ€Π°. Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ извСстСн ΠΊΠ°Ρ‚ΠΎ bufferbloat (излишна ΠΌΡ€Π΅ΠΆΠΎΠ²Π° буфСризация, Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°), ΠΈ Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ сСриозСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Накрая, производитСлността Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° Π²Π°Ρ€ΠΈΡ€Π° Π² зависимост ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Ρ€Π΅Π³ΠΈΠΎΠ½Π° ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. На Π€ΠΈΠ³ΡƒΡ€Π° 2 смС ΡΡŠΠ±Ρ€Π°Π»ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΈΡ‚Π΅ закъснСния Π½Π° HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ Π² ΠΎΠ±Ρ…Π²Π°Ρ‚Π° ΠΎΡ‚ 2 ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€Π°. Π”Π°Π½Π½ΠΈΡ‚Π΅ са ΡΡŠΠ±Ρ€Π°Π½ΠΈ Π·Π° Π΄Π²Π°ΠΌΠ°Ρ‚Π° Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ услуги Π² Π”Π΅Π»Ρ…ΠΈ, Индия. ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅, производитСлността сС промСня ΠΎΡ‚ ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°. ОсвСн Ρ‚ΠΎΠ²Π° производитСлността Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚ производитСлността Π½Π° другия. Π’ΠΎΠ²Π° сС влияС ΠΎΡ‚ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° с ΠΎΠ³Π»Π΅Π΄ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ мСстополоТСниСто, мобилността Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° инфраструктура, ΠΎΡ‚Ρ‡ΠΈΡ‚Π°ΠΉΠΊΠΈ ΠΏΠ»ΡŠΡ‚Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π°Π½Ρ‚Π΅Π½ΠΈΡ‚Π΅ ΠΈ ΡΡŠΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΌΡ€Π΅ΠΆΠΈ (LTE, 3G ΠΈ Ρ‚.Π½.).

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Π€ΠΈΠ³ΡƒΡ€Π° 2. Π—Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΡ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° радиус ΠΎΡ‚ 2 ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€Π°. Π”Π΅Π»Ρ…ΠΈ, Индия.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° производитСлността Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ Π²Π°Ρ€ΠΈΡ€Π° с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. На Π€ΠΈΠ³ΡƒΡ€Π° 3 Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΎΡ‚ΠΎ закъснСниС ΠΏΠΎ Π΄Π½ΠΈ ΠΎΡ‚ сСдмицата. ΠΠ°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ…ΠΌΠ΅ ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠ° Π² ΠΏΠΎ-малък ΠΌΠ°Ρ‰Π°Π± – Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Π΄Π΅Π½ ΠΈ час.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Π€ΠΈΠ³ΡƒΡ€Π° 3. Π₯востовитС закъснСния ΠΌΠΎΠ³Π°Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π²Π°Ρ€ΠΈΡ€Π°Ρ‚ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π½ΠΈ, Π½ΠΎ Π·Π° ΡΡŠΡ‰ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

Всичко ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ производитСлността Π½Π° TCP Π½Π΅ Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° Π² Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Ρ‚ΡŠΡ€ΡΠΈΠΌ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ Π½Π° TCP, искахмС Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ слСднитС Ρ‚ΠΎΡ‡ΠΊΠΈ:

  • Π΄Π°Π»ΠΈ TCP Π΅ главният Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊ Π·Π° хвостовитС закъснСния Π² Π½Π°ΡˆΠΈΡ‚Π΅ прилоТСния?
  • Π˜ΠΌΠ°Ρ‚ Π»ΠΈ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΈ закъснСния Π·Π° ΠΊΡ€ΡŠΠ³ΠΎΠ²Π° ΠΏΡŠΡ‚ΡƒΠ²Π°Π½Π΅ (RTT)?
  • Какво Π΅ Π²ΡŠΠ·Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° RTT ΠΈ Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ производитСлността Π½Π° TCP?

Анализ Π½Π° производитСлността Π½Π° TCP

Π—Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ производитСлността Π½Π° TCP, Π½Π΅ΠΊΠ° ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊ TCP ΠΏΡ€Π΅Π΄Π°Π²Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‡Π° Π΄ΠΎ получатСля. Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‡ΡŠΡ‚ установява TCP Π²Ρ€ΡŠΠ·ΠΊΠ°, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΉΠΊΠΈ Ρ‚Ρ€ΠΎΠΉΠ½ΠΎ сдостояванС: ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‡ΡŠΡ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° SYN ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° SYN-ACK ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚ получатСля, слСд Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ACK ΠΏΠ°ΠΊΠ΅Ρ‚. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΈ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈ ΠΌΠΈΠ½Π°Π²Π°Ρ‚ Π·Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° TCP Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°. ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡΡ‚ ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄ΡΠ²Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° всСки ΠΏΠ°ΠΊΠ΅Ρ‚ (ACK), Π·Π° Π΄Π° осигури Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° доставка.

Ако ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ»ΠΈ ACK бъдС ΠΈΠ·Π³ΡƒΠ±Π΅Π½, ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‡ΡŠΡ‚ ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ слСд Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ (RTO, Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅). RTO сС изчислява Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π½Π° Π±Π°Π·Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΎΡ‚ΠΎ закъснСниС RTT ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‡Π° ΠΈ получатСля.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Рисунок 4. ОбмСн ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΏΠΎ TCP/TLS Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅.

Π—Π° Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊ TCP Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅Π» Π² Π½Π°ΡˆΠΈΡ‚Π΅ прилоТСния, Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ…ΠΌΠ΅ TCP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° tcpdump ΠΏΡ€Π΅Π· сСдмица Π½Π° рСалния Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΈΠ΄Π²Π°Ρ‰ ΠΎΡ‚ индийски Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ TCP Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° tcptrace. ОсвСн Ρ‚ΠΎΠ²Π° ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ Android ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Π½ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ към тСстов ΡΡŠΡ€Π²ΡŠΡ€, максимално ΠΈΠΌΠΈΡ‚ΠΈΡ€Π°ΠΉΠΊΠΈ рСалния Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π‘ΠΌΠ°Ρ€Ρ‚Ρ„ΠΎΠ½ΠΈ с Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ бяха Ρ€Π°Π·Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° няколко слуТитСли, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ±ΠΈΡ€Π°Ρ…Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΏΡ€Π΅Π· няколко Π΄Π½ΠΈ.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π΄Π²Π°Ρ‚Π° СкспСримСнта бяха Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си. ВидяхмС високи RTT закъснСния; стойноститС Π½Π° ΠΎΠΏΠ°ΡˆΠΊΠΈΡ‚Π΅ бяха ΠΏΠΎΡ‡Ρ‚ΠΈ 6 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-високи ΠΎΡ‚ ΠΌΠ΅Π΄ΠΈΠ°Π½Π°Ρ‚Π°; срСдната стойност Π½Π° Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΡΡ‚Π° бСшС Π½Π°Π΄ 1 сСкунда. Много ΠΎΡ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ бяха със Π·Π°Π³ΡƒΠ±ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°ΠΊΠ°Ρ€Π° TCP Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π΄Π΅ 3,5% ΠΎΡ‚ всички ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. Π’ Ρ€Π°ΠΉΠΎΠ½ΠΈ с ΠΏΡ€Π΅Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π»Π΅Ρ‚ΠΈΡ‰Π° ΠΈ ΠΆΠΏ Π³Π°Ρ€ΠΈ, Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ…ΠΌΠ΅ 7% Π·Π°Π³ΡƒΠ±ΠΈ. Π’Π΅Π·ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ поставят ΠΏΠΎΠ΄ съмнСниС разпространСното ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Π² ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½ΠΈ схСми Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намаляват Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ Π½Π° транспортно Π½ΠΈΠ²ΠΎ. По-Π΄ΠΎΠ»Ρƒ са Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ тСстовСтС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ-симулатор:

ΠœΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
Бтойности

RTT, милисСкунди [50%, 75%, 95%, 99%]
[350, 425, 725, 2300]

Π Π°Π·Π»ΠΈΠΊΠ° Π² 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 Π·Π°Π³ΡƒΠ±ΠΈ:

Бтатистика Π·Π° Π·Π°Π³ΡƒΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ TCP
Бтойност

ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° с ΠΏΠΎΠ½Π΅ 1 Π·Π°Π³ΡƒΠ±Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚
45%

ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° с Π·Π°Π³ΡƒΠ±ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° установяванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°
30%

ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° с Π·Π°Π³ΡƒΠ±ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π° Π΄Π°Π½Π½ΠΈ
76%

Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° забавянията ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅, сСкунди [50%, 75%, 95%, 99%]
[1, 2.8, 15, 28]

Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° броя ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ прСдавания Π·Π° Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ»ΠΈ TCP сСгмСнт
[1,3,6,7]

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° QUIC

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ ΠΎΡ‚ Google, QUIC Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π΅Π½ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π°Π΄ UDP. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° QUIC Π΅ Π² процСс Π½Π° стандартизация (Π²Π΅Ρ‡Π΅ писахмС, Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π΄Π²Π΅ вСрсии Π½Π° QUIC; Π»ΡŽΠ±ΠΎΠΏΠΈΡ‚Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° слСдват Π»ΠΈΠ½ΠΊΠ° – Π±Π΅Π»Π΅ΠΆΠΊΠ° Π½Π° ΠΏΡ€Π΅Π²ΠΎΠ΄Π°Ρ‡Π°). ΠšΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рисунок 5, QUIC Π΅ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎΠ΄ HTTP/3 (Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚, HTTP/2 Π½Π°Π΄ QUIC Π΅ HTTP/3, ΠΊΠΎΠΉΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ Π² Π°ΠΊΡ‚ΠΈΠ²Π½Π° стандартизация). Π’ΠΎΠΉ частично замСня Π½ΠΈΠ²Π°Ρ‚Π° Π½Π° HTTPS ΠΈ TCP, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ UDP Π·Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅. QUIC ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° само сигурСн трансфСр Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ TLS Π΅ напълно Π²Π³Ρ€Π°Π΄Π΅Π½ Π² QUIC.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Рисунок 5: QUIC Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ΄ HTTP/3, замСняйки TLS, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ бСшС ΠΏΠΎΠ΄ HTTP/2.

По-Π΄ΠΎΠ»Ρƒ прСдставямС ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ…Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ QUIC Π·Π° подобряванС Π½Π° TCP:

НиС Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ 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 ΠΎΡ‚ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Chromium, която ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π°, вСрсия Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π½Π° Google – gQUIC. Π’Π°Π·ΠΈ рСализация ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° постоянно сС ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°, Π·Π° Π΄Π° отговаря Π½Π° послСдната спСцификация Π½Π° IETF.

ΠŸΡŠΡ€Π²ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ…ΠΌΠ΅ Cronet Π² Π½Π°ΡˆΠΈΡ‚Π΅ Android прилоТСния, Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° QUIC. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡΡ‚Π° бСшС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΏΠΎ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ миграция. ВмСсто Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ напълно стария ΠΌΡ€Π΅ΠΆΠΎΠ² стСк, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° OkHttp, Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ…ΠΌΠ΅ Cronet ΠŸΠžΠ” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° OkHttp API. Π§Ρ€Π΅Π· Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π½Π°ΡˆΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ извиквания (ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Retrofit) Π½Π° Π½ΠΈΠ²ΠΎ API.

По ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ с ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° към Android устройствата, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ…ΠΌΠ΅ Cronet Π² прилоТСнията Π½Π° Uber Π·Π° iOS, ΠΏΡ€Π΅Ρ…Π²Π°Ρ‰Π°ΠΉΠΊΠΈ HTTP Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ API, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ NSURLProtocol. Π’Π°Π·ΠΈ абстракция, прСдоставСна ΠΎΡ‚ iOS Foundation, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»-спСцифичнитС URL Π΄Π°Π½Π½ΠΈ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°ΠΌΠ΅ Cronet Π² Π½Π°ΡˆΠΈΡ‚Π΅ iOS прилоТСния Π±Π΅Π· Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ.

ΠŸΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° QUIC Π½Π° балансиращитС Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Google Cloud

На страната Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° QUIC сС осигурява ΠΎΡ‚ инфраструктурата Π½Π° Google Cloud Load balancing, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° alt-svc заглавия Π² ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ QUIC. Π’ общия случай, към всяко HTTP Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅, Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ добавя Π·Π°Π³Π»Π°Π²ΠΈΠ΅ alt-svc ΠΈ ΠΏΠΎ Π½Π΅Π³ΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° QUIC Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Cronet ΠΏΠΎΠ»ΡƒΡ‡ΠΈ HTTP-Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ с Ρ‚Π°ΠΊΠΎΠ²Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅, Ρ‚ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° QUIC Π·Π° послСдващитС HTTP запитвания към Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ с QUIC, Π½Π°ΡˆΠ°Ρ‚Π° инфраструктура явно ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Ρ‚ΠΎΠ²Π° дСйствиС ΠΏΠΎ HTTP2/TCP Π΄ΠΎ Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Ρ‚Π° Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Π΅.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚: Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ

Π˜Π·Π΄Π°Π΄Π΅Π½Π°Ρ‚Π° производитСлност Π΅ основната ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π·Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ. ΠŸΡŠΡ€Π²ΠΎ, ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ стСнд с Смулация Π½Π° ΠΌΡ€Π΅ΠΆΠ°, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ QUIC Ρ‰Π΅ сС Π΄ΡŠΡ€ΠΆΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ. Π—Π° Π΄Π° тСствамС СфСктивността Π½Π° QUIC Π² Ρ€Π΅Π°Π»Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ, ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ…ΠΌΠ΅ СкспСримСнти, Π΄Π²ΠΈΠΆΠ΅ΠΉΠΊΠΈ сС ΠΈΠ· Ню Π”Π΅Π»Ρ…ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Π½ ΠΌΡ€Π΅ΠΆΠΎΠ² Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° HTTP повиквания Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡŠΡ‚Π½ΠΈΡ†ΠΈ.

ЕкспСримСнт 1

Π˜Π½Π²Π΅Π½Ρ‚Π°Ρ€ Π·Π° СкспСримСнта:

  • тСстови устройства Π½Π° Android със стСковС OkHttp ΠΈ Cronet, Π·Π° Π΄Π° смС сигурни, Ρ‡Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‡Ρ€Π΅Π· TCP ΠΈ QUIC ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ;
  • Java Π±Π°Π·ΠΈΡ€Π°Π½ СмуляторСн ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π΅Π΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΈ HTTPS заглавия Π² ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π° клиСнтскитС устройства, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΎΡ‚ тях запитвания;
  • ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ проксита, ΠΊΠΎΠΈΡ‚ΠΎ са физичСски Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ Индия, Π·Π° Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠ°Ρ‚ TCP ΠΈ QUIC Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° TCP ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ прокси Π½Π° NGINX, бСшС Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС Π½Π°ΠΌΠ΅Ρ€ΠΈ опСнсорс ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ прокси Π·Π° QUIC. Π‘ΡŠΠ±Ρ€Π°Ρ…ΠΌΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ прокси Π·Π° QUIC сами, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ основния QUIC стСк ΠΎΡ‚ Chromium ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…Π° Π³ΠΎ Π² Ρ…Ρ€ΠΎΠΌΠΈΡƒΠΌ ΠΊΠ°Ρ‚ΠΎ опСнсорс.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π°ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Π€ΠΈΠ³ΡƒΡ€Π° 6. Π”ΠΎΡ€ΠΎΠΆΠ½Π°Ρ‚Π° комплСктация Π·Π° тСстовСтС TCP vs QUIC сС ΡΡŠΡΡ‚ΠΎΠ΅ΡˆΠ΅ ΠΎΡ‚ Android устройства с OkHttp ΠΈ Cronet, ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ проксита Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ ΠΈ СмуляционСн ΡΡŠΡ€Π²ΡŠΡ€.

ЕкспСримСнт 2

ΠšΠΎΠ³Π°Ρ‚ΠΎ Google Π½Π°ΠΏΡ€Π°Π²ΠΈ QUIC Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Ρ‡Ρ€Π΅Π· Google Cloud Load Balancing, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ ΡΡŠΡ‰ΠΈΡ ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€, Π½ΠΎ с Π΅Π΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: вмСсто NGINX, Π²Π·Π΅Ρ…ΠΌΠ΅ гугловскитС балансировчици Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° TCP ΠΈ QUIC Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΎΡ‚ устройствата, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π° насочванС Π½Π° HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към Смуляционния ΡΡŠΡ€Π²ΡŠΡ€. БалансировчицитС са разпространСни ΠΏΠΎ цСлия свят, Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π°ΠΉ-близкия Π΄ΠΎ устройството PoP ΡΡŠΡ€Π²ΡŠΡ€ (Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° гСолокацията).

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Π€ΠΈΠ³ΡƒΡ€Π° 7. Π’ΡŠΠ² втория СкспСримСнт искахмС Π΄Π° сравним забавянСто ΠΏΡ€ΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° TCP ΠΈ QUIC: Ρ‡Ρ€Π΅Π· Google Cloud ΠΈ Ρ‡Ρ€Π΅Π· Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎ прокси.

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, Π½ΠΈ Ρ‡Π°ΠΊΠ°Ρ…Π° няколко открития:

  • Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Ρ‡Ρ€Π΅Π· PoP ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ производитСлността Π½Π° TCP. Въй ΠΊΠ°Ρ‚ΠΎ Π±Π°Π»Π°Π½ΡΡŒΠΎΡ€ΠΈΡ‚Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ TCP-соСдинСниСто ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΈ са ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ, Ρ‚ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎ-ниски RTT, ΠΊΠΎΠ΅Ρ‚ΠΎ подобрява производитСлноста Π½Π° TCP. И ΠΌΠ°ΠΊΠ°Ρ€ QUIC Π΄Π° сС Π΅ ΠΎΡ‚Ρ€Π°Π·ΠΈΠ» ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ, Ρ‚ΠΎΠΉ всС ΠΏΠ°ΠΊ Π΅ Π½Π°Π΄ΠΌΠΈΠ½Π°Π» TCP Π² намаляванСто Π½Π° хвостовитС забавяния (с 10-30 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°).
  • влияят Π½Π° хвостовСтС ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΠΈ (hops). Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π½Π°ΡˆΠΈΡΡ‚ QUIC-прокси бСшС ΠΏΠΎ-Π΄Π°Π»Π΅Ρ‡ ΠΎΡ‚ устройствата (забавянС ΠΎΠΊΠΎΠ»ΠΎ 50 мс ΠΏΠΎ-високо) Π² сравнСниС с Π±Π°Π»Π°Π½ΡΡŒΠΎΡ€ΠΈΡ‚Π΅ Π½Π° Google, Ρ‚ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° производитСлност – 15% Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° забавянията Π² сравнСниС с 20% Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π² 99-ия ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ» Π·Π° TCP. Π’ΠΎΠ²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΡŠΡ‚ Π² послСдната миля Π΅ тясно място (bottleneck) Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π°ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Π˜Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 8. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π΄Π²Π°Ρ‚Π° СкспСримСнта ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚, Ρ‡Π΅ QUIC Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°Π΄ΠΌΠΈΠ½Π°Π²Π° TCP.

ΠšΠΎΠΌΠ΅Ρ€ΡΠΈΠ°Π»Π΅Π½ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ

Π’Π΄ΡŠΡ…Π½ΠΎΠ²Π΅Π½ΠΈ ΠΎΡ‚ СкспСримСнтитС, Π²Π½Π΅Π΄Ρ€ΠΈΡ…ΠΌΠ΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° QUIC Π² Π½Π°ΡˆΠΈΡ‚Π΅ прилоТСния Π·Π° Android ΠΈ iOS. ΠŸΡ€ΠΎΠ²Π΅Π΄ΠΎΡ…ΠΌΠ΅ A/B тСстванС, Π·Π° Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ влияниСто Π½Π° QUIC Π² Π³Ρ€Π°Π΄ΠΎΠ²Π΅Ρ‚Π΅, Π² ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Uber. Π’ ΠΎΠ±Ρ‰ΠΈ Π»ΠΈΠ½ΠΈΠΈ видяхмС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° хвостовитС забавяния ΠΊΠ°ΠΊΡ‚ΠΎ срСд Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠ° ΠΈ срСд ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΌΡ€Π΅ΠΆΠ°.

На Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ са ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½ΠΈΡ‚Π΅ подобрСния Π½Π° хвостовСтС (95-Ρ‚ΠΈ ΠΈ 99-Ρ‚ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ») ΠΏΠΎ ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅Π³ΠΈΠΎΠ½ΠΈ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΌΡ€Π΅ΠΆΠ° – LTE, 3G, 2G.
ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π°ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC Π² дСйствиС: ΠΊΠ°ΠΊ Uber Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността
Π˜Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 9. Π’ Π±ΠΎΠΉΠ½ΠΈΡ‚Π΅ тСстовС QUIC Π½Π°Π΄ΠΌΠΈΠ½Π° TCP ΠΏΠΎ забавяния.

Π‘Π°ΠΌΠΎ Π½Π°ΠΏΡ€Π΅Π΄

Навярно Ρ‚ΠΎΠ²Π° Π΅ само Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ – внСдряванСто Π½Π° QUIC Π² продукция прСдостави нСвСроятни Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° подобряванС Π½Π° производитСлността Π½Π° прилоТСнията ΠΊΠ°ΠΊΡ‚ΠΎ Π² стабилни, Ρ‚Π°ΠΊΠ° ΠΈ Π² нСстабилни ΠΌΡ€Π΅ΠΆΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

Π£Π²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° покритията

Анализирайки производитСлността Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π² рСалния Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, видяхмС, Ρ‡Π΅ ΠΎΠΊΠΎΠ»ΠΎ 80% ΠΎΡ‚ сСсиитС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° QUIC Π·Π° Π½Π° всичкитС заявки, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ 15% ΠΎΡ‚ сСсиитС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° комбинация ΠΎΡ‚ QUIC ΠΈ TCP. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅, Ρ‡Π΅ комбинацията Π΅ възникнала ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Cronet ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° TCP ΠΏΡ€ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈ Ρ€Π΅Π°Π»Π½ΠΈΡ‚Π΅ UDP ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΡ‚ Π»ΠΎΡˆΠΈΡ‚Π΅ условия Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚ΡŠΡ€ΡΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π²ΡŠΡ€Ρ…Ρƒ послСдващото внСдряванС Π½Π° QUIC.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° QUIC

Π’Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ прилоТСния Π΅ чувствитСлСн към закъснСния, Π½ΠΎ Π½Π΅ ΠΈ към пропускната способност. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π½Π°ΡˆΠΈΡ‚Π΅ прилоТСния сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ Π² ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ. На Π±Π°Π·Π°Ρ‚Π° Π½Π° СкспСримСнти, хвостовитС закъснСния всС ΠΎΡ‰Π΅ са Π³ΠΎΠ»Π΅ΠΌΠΈ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ проксита, Π·Π° Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈΠΌ TCP ΠΈ QUIC Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅. Активно Ρ‚ΡŠΡ€ΡΠΈΠΌ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° подобряванС Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ повишаванС Π½Π° СфСктивността Π½Π° QUIC Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Π³ΡƒΠ±ΠΈ.

Π‘ Ρ‚Π΅Π·ΠΈ ΠΈ някои Π΄Ρ€ΡƒΠ³ΠΈ подобрСния ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ потрСбитСлското изТивяванС, нСзависимо ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½Π°, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ удобния ΠΈ бСзшСвСн транспорт Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΏΠΎ-Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ ΠΏΠΎ цСлия свят.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster