Cloudflare ΠΈΠΌΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΌΠΎΠ΄ΡƒΠ» Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π½Π° HTTP/3 Π²ΠΎ NGINX

ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Π°Ρ‚Π° Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ» Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ HTTP/3 Π²ΠΎ NGINX. ΠœΠΎΠ΄ΡƒΠ»ΠΎΡ‚ Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ ΠΊΠ°ΠΊΠΎ Π΄ΠΎΠ΄Π°Ρ‚ΠΎΠΊ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Ρ€Π°Π·Π²ΠΈΠ΅Π½Π° ΠΎΠ΄ Cloudflare quiche со ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° транспортниот ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC ΠΈ HTTP/3. Киш-ΠΊΠΎΠ΄ΠΎΡ‚ Π΅ напишан Π²ΠΎ Rust, Π½ΠΎ самиот ΠΌΠΎΠ΄ΡƒΠ» NGINX Π΅ напишан Π²ΠΎ C ΠΈ пристапува Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅. Π‘Π»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° BSD.

Π—Π° Π΄Π° сС собСрС, само ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π»Π΅ΠΏΠ΅Π½ΠΊΠ° Π΄ΠΎ nginx 1.16 ΠΈ ΠΊΠΎΠ΄ quiche Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠ° ΠΎΠ±Π½ΠΎΠ²Π΅Ρ‚Π΅ Π³ΠΎ nginx со ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ β€žβ€”with-http_v3_module β€”with-quiche=../quicheβ€œ. Кога сС Π³Ρ€Π°Π΄ΠΈ, ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° TLS Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π±Π°Π·ΠΈΡ€Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° BoringSSL (β€ž--with-openssl=../quiche/deps/boringsslβ€œ), ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° OpenSSL сè ΡƒΡˆΡ‚Π΅ Π½Π΅ Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½Π°. Π—Π° Π΄Π° ΠΏΡ€ΠΈΡ„Π°Ρ‚ΠΈΡ‚Π΅ врски, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ја Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° Π·Π° ΡΠ»ΡƒΡˆΠ°ΡšΠ΅ со ΠΎΠ·Π½Π°ΠΊΠ°Ρ‚Π° β€žquicβ€œ Π²ΠΎ поставкитС (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€žlisten 443 quic reuseportβ€œ).

Π’ΠΎ клиСнтскиот софтвСр, ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° HTTP/3 Π΅ вСќС Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π½Π° СкспСримСнталнитС изданија Π½Π° Chrome Canary ΠΈ Π½Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° curl. На страната Π½Π° сСрвСрот, Π΄ΠΎ сСга бСшС Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π΄Π° сС користи ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ тСст ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Бпособноста Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° HTTP/3 Π²ΠΎ nginx Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ќС Π³ΠΎ поСдностави Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° сСрвСритС со ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° HTTP/3 ΠΈ ќС ја Π½Π°ΠΏΡ€Π°Π²ΠΈ тСст ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» подостапна. ΠŸΠΎΡ˜Π°Π²Π°Ρ‚Π° Π½Π° стандардна ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° HTTP/3 Π²ΠΎ nginx ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΎ Π²ΠΎ Π³Ρ€Π°Π½ΠΊΠ°Ρ‚Π° 1.17.x Π·Π° 6-12 мСсСци.

ΠŸΠΎΡ‚ΡΠ΅Ρ‚ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° HTTP/3 ја стандардизира ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ QUIC ΠΊΠ°ΠΊΠΎ транспорт Π·Π° HTTP/2. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC (Quick UDP Internet Connections) Π΅ Ρ€Π°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ Google ΠΎΠ΄ 2013 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΊΠ°ΠΊΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° TCP+TLS Π·Π° Π²Π΅Π±, Ρ€Π΅ΡˆΠ°Π²Π°Ρ˜ΡœΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Π΄ΠΎΠ»Π³ΠΎΡ‚ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΏΡ€Π΅Π³ΠΎΠ²Π°Ρ€Π°ΡšΠ΅ Π·Π° ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΠΈ Π²ΠΎ TCP ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ΄Π»ΠΎΠΆΡƒΠ²Π°ΡšΠ°Ρ‚Π° ΠΊΠΎΠ³Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ сС Π³ΡƒΠ±Π°Ρ‚ ΠΏΡ€ΠΈ прСнос Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. QUIC Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ UDP ΡˆΡ‚ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ Π½Π° повСќС врски ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°ΡšΠ΅ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΈ Π½Π° TLS/SSL.

Π“Π»Π°Π²Π½ΠΈΡ‚Π΅ ΠšΠ°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈ QUIC:

  • Висока бСзбСдност слична Π½Π° TLS (Π²ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π° QUIC ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° моТност Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° TLS ΠΏΡ€Π΅ΠΊΡƒ UDP);
  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΡ‚, ΡΠΏΡ€Π΅Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π·Π°Π³ΡƒΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ;
  • Бпособност Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π²ΠΎΡΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ врска (0-RTT, ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ Π²ΠΎ 75% ΠΎΠ΄ случаитС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС прСнСсат вСднаш ΠΏΠΎ ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ Π·Π° ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΡ˜Π°) ΠΈ Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ Π΄ΠΎΡ†Π½Π΅ΡšΠ° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅Ρ‚ΠΎ Π±Π°Ρ€Π°ΡšΠ΅ ΠΈ ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅Ρ‚ΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ (RTT, Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠΎΠ²Ρ€Π°Ρ‚Π΅Π½ ΠΏΠ°Ρ‚);
  • ΠΠ΅ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° истиот сСквСнциски Π±Ρ€ΠΎΡ˜ ΠΏΡ€ΠΈ Ρ€Π΅Π΅ΠΌΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚, со ΡˆΡ‚ΠΎ сС ΠΈΠ·Π±Π΅Π³Π½ΡƒΠ²Π° двосмислСност Π²ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ сС ослободува ΠΎΠ΄ Ρ‚Π°Ρ˜ΠΌΠ°ΡƒΡ‚ΠΈΡ‚Π΅;
  • Π“ΡƒΠ±Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ влијаС само Π½Π° испораката Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΡ‚ ΠΏΠΎΠ²Ρ€Π·Π°Π½ со Π½Π΅Π³ΠΎ ΠΈ Π½Π΅ ја Π·Π°ΠΏΠΈΡ€Π° испораката Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ ΡˆΡ‚ΠΎ сС прСнСсуваат ΠΏΡ€Π΅ΠΊΡƒ Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° врска;
  • ΠšΠ°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈ Π·Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΊΠΎΠΈ Π³ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ ΠΎΠ΄Π»ΠΎΠΆΡƒΠ²Π°ΡšΠ°Ρ‚Π° ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ€Π΅Π΅ΠΌΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ·Π³ΡƒΠ±Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. Π£ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΈ ΡˆΠΈΡ„Ρ€ΠΈ Π·Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π° Π΄Π° сС Π½Π°ΠΌΠ°Π»Π°Ρ‚ ситуациитС ΠΊΠΎΠΈ Π±Π°Ρ€Π°Π°Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ прСнос Π½Π° ΠΈΠ·Π³ΡƒΠ±Π΅Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.
  • Π“Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° криптографскитС Π±Π»ΠΎΠΊΠΎΠ²ΠΈ сС усогласСни со Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ QUIC, ΡˆΡ‚ΠΎ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° Π²Π»ΠΈΡ˜Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π²Ρ€Π· Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° содрТината Π½Π° слСднитС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ;
  • НСма ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ€Π΅Π΄ΠΎΡ‚ Π½Π° TCP;
  • ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π° ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΡ˜Π°, ΡˆΡ‚ΠΎ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° Π²ΠΎΡΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ;
  • ΠœΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π°ΠΏΡ€Π΅Π΄Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π·Π°ΡΡ‚ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚;
  • ΠšΠΎΡ€ΠΈΡΡ‚ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° пропусната моќ ΠΏΠΎ насока Π·Π° Π΄Π° сС осигура Π΄Π΅ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ со ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΈ стапки, ΡΠΏΡ€Π΅Ρ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ Π΄Π° станат ΠΏΡ€Π΅ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΈ ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π°Ρ‚ Π·Π°Π³ΡƒΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ;
  • Π’ΠΎΠΎΡ‡Π»ΠΈΠ²ΠΎ раст пСрформанси ΠΈ пропусната моќ Π²ΠΎ спорСдба со TCP. Π—Π° Π²ΠΈΠ΄Π΅ΠΎ-услугитС ΠΊΠ°ΠΊΠΎ YouTube, QUIC сС ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° Π³ΠΈ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ€Π΅Π±Π°Ρ„Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ ΠΏΡ€ΠΈ глСдањС Π²ΠΈΠ΄Π΅Π° Π·Π° 30%.
  • Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€