Cloudflare рдиреЗ NGINX рдордзреНрдпреЗ HTTP/3 рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдореЙрдбреНрдпреВрд▓ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЖрд╣реЗ

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░ рдХрдВрдкрдиреА рддрдпрд╛рд░ рдореЙрдбреНрдпреВрд▓ NGINX рдордзреНрдпреЗ HTTP/3 рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдореЙрдбреНрдпреВрд▓ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдЕреЕрдб-рдСрди рдореНрд╣рдгреВрди рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЖрд╣реЗ Quiche QUIC рдЖрдгрд┐ HTTP/3 рд╡рд╛рд╣рддреВрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣. рдХреНрд╡рд┐рдЪ рдХреЛрдб рд░рд╕реНрдЯрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ NGINX рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡рддрдГ C рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдбрд╛рдпрдиреЕрдорд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рд╡рд╛рдкрд░реВрди рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЛ. рд╡рд┐рдХрд╛рд╕ рдЙрдШрдбрд╛ BSD рдкрд░рд╡рд╛рдиреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд.

рдПрдХрддреНрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛ рдкреЕрдЪ nginx 1.16 рдЖрдгрд┐ рдХреЛрдб quiche рд▓рд╛рдпрдмреНрд░рд░реА, рдирдВрддрд░ тАЬтАФwith-http_v3_module тАФwith-quiche=../quicheтАЭ рдкрд░реНрдпрд╛рдпрд╛рдВрд╕рд╣ nginx рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рд╛. рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, TLS рд╕рдорд░реНрдерди рдмреЛрд░рд┐рдВрдЧрдПрд╕рдПрд╕рдПрд▓ рд▓рд╛рдпрдмреНрд░рд░реАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕рд╛рд╡реЗ (тАЬ--with-openssl=../quiche/deps/boringsslтАЭ), OpenSSL рдЪрд╛ рд╡рд╛рдкрд░ рдЕрджреНрдпрд╛рдк рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реА. рдХрдиреЗрдХреНтАНрд╢рди рд╕реНтАНрд╡реАрдХрд╛рд░рдгреНтАНрдпрд╛рд╕рд╛рдареА, рддреБрдореНтАНрд╣рд╛рд▓рд╛ рд╕реЗрдЯрд┐рдВрдЧреНтАНрдЬрдордзреНтАНрдпреЗ тАЬрдХреНрд╡рд┐рдХтАЭ рдзреНрд╡рдЬрд╛рд╕рд╣ рдРрдХрд╛ рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрдгреЗ рдЖрд╡рд╢реНтАНрдпрдХ рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬрдРрдХрдгреЗ 443 рдХреНрд╡рд┐рдХ рд░реАрдпреВрдЬрдкреЛрд░реНрдЯтАЭ).

рдХреНрд▓рд╛рдпрдВрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдордзреНрдпреЗ, рдХреНрд░реЛрдо рдХреЕрдирд░реА рдЖрдгрд┐ рдХрд░реНрд▓ рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЪреНрдпрд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдмрд┐рд▓реНрдбрдордзреНрдпреЗ HTTP/3 рд╕рдорд░реНрдерди рдЖрдзреАрдЪ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ, рдЖрддрд╛рдкрд░реНрдпрдВрдд рд╕реНрд╡рддрдВрддреНрд░, рдорд░реНрдпрд╛рджрд┐рдд рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рдЪрд╛рдЪрдгреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА. nginx рдордзреНрдпреЗ HTTP/3 рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ HTTP/3 рд╕рдорд░реНрдердирд╛рд╕рд╣ рд╕рд░реНрд╡реНрд╣рд░рдЪреА рддреИрдирд╛рддреА рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд╕реБрд▓рдн рдХрд░реЗрд▓ рдЖрдгрд┐ рдирд╡реАрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рдЪрд╛рдЪрдгреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЕрдзрд┐рдХ рд╕реБрд▓рдн рдХрд░реЗрд▓. nginx рдордзреНрдпреЗ HTTP/3 рд╕рд╛рдареА рдорд╛рдирдХ рд╕рдорд░реНрдердирд╛рдЪрд╛ рдЙрджрдп рдЕрдкреЗрдХреНрд╖рд┐рдд 1.17-6 рдорд╣рд┐рдиреНрдпрд╛рдВрд╕рд╛рдареА 12.x рд╢рд╛рдЦреЗрдд.

рдЖрдард╡рд╛ рдХреА HTTP/3 HTTP/2 рд╕рд╛рдареА рд╡рд╛рд╣рддреВрдХ рдореНрд╣рдгреВрди QUIC рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рддреЗ. рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреНрд╡рд┐рдХ (рдХреНрд╡рд┐рдХ UDP рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди) 2013 рдкрд╛рд╕реВрди Google рдиреЗ рд╡реЗрдмрд╕рд╛рдареА TCP+TLS рд╕рдВрдпреЛрдЬрдирд╛рдЪрд╛ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгреВрди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, TCP рдордзреАрд▓ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рджреАрд░реНрдШ рд╕реЗрдЯрдЕрдк рдЖрдгрд┐ рд╡рд╛рдЯрд╛рдШрд╛рдЯреАрдЪреНрдпрд╛ рд╡реЗрд│реЗрд╕рд╣ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рджрд░рдореНрдпрд╛рди рдкреЕрдХреЗрдЯ рд╣рд░рд╡рд▓реНрдпрд╛рд╡рд░ рд╣реЛрдгрд╛рд░рд╛ рд╡рд┐рд▓рдВрдм рджреВрд░ рдХрд░рдгреЗ. QUIC рд╣рд╛ UDP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЖрд╣реЗ рдЬреЛ рдПрдХрд╛рдзрд┐рдХ рдХрдиреЗрдХреНрд╢рдирдЪреНрдпрд╛ рдорд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЛ рдЖрдгрд┐ TLS/SSL рдЪреНрдпрд╛ рд╕рдорддреБрд▓реНрдп рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрджреНрдзрддреА рдкреНрд░рджрд╛рди рдХрд░рддреЛ.

рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ QUIC:

  • TLS рд╕рд╛рд░рдЦреАрдЪ рдЙрдЪреНрдЪ рд╕реБрд░рдХреНрд╖рд╛ (рдореВрд▓рдд: QUIC UDP рд╡рд░ TLS рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ);
  • рдкреНрд░рд╡рд╛рд╣ рдЕрдЦрдВрдбрддрд╛ рдирд┐рдпрдВрддреНрд░рдг, рдкреЕрдХреЗрдЯ рдиреБрдХрд╕рд╛рди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд;
  • рддреНрд╡рд░рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ (0-RTT, рдЕрдВрджрд╛рдЬреЗ 75% рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рдкреЕрдХреЗрдЯ рдкрд╛рдард╡рд▓реНрдпрд╛рдирдВрддрд░ рд▓рдЧреЗрдЪ рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ) рдЖрдгрд┐ рд╡рд┐рдирдВрддреА рдкрд╛рдард╡рдгреЗ рдЖрдгрд┐ рдкреНрд░рддрд┐рд╕рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ (RTT, рд░рд╛рдКрдВрдб рдЯреНрд░рд┐рдк рд╡реЗрд│) рдпрд╛рдордзреНрдпреЗ рдХрдореАрддрдХрдореА рд╡рд┐рд▓рдВрдм рдкреНрд░рджрд╛рди рдХрд░рдгреЗ;
  • рдкреЕрдХреЗрдЯ рдкреБрдиреНрд╣рд╛ рдкрд╛рдард╡рддрд╛рдирд╛ рд╕рдорд╛рди рдЕрдиреБрдХреНрд░рдо рдХреНрд░рдорд╛рдВрдХ рди рд╡рд╛рдкрд░рдгреЗ, рдЬреЗ рдкреНрд░рд╛рдкреНрдд рдкреЕрдХреЗрдЯ рдУрд│рдЦрдгреНрдпрд╛рдд рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдЯрд╛рд│рддреЗ рдЖрдгрд┐ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддреЗрдкрд╛рд╕реВрди рдореБрдХреНрдд рд╣реЛрддреЗ;
  • рдкреЕрдХреЗрдЯрдЪреЗ рдиреБрдХрд╕рд╛рди рдХреЗрд╡рд│ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╡рд╛рд╣рд╛рдЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░рддреЗ рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рдХрдиреЗрдХреНрд╢рдирджреНрд╡рд╛рд░реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╛рдВрддрд░ рдкреНрд░рд╡рд╛рд╣рд╛рдВрдордзреНрдпреЗ рдбреЗрдЯрд╛рдЪреЗ рд╡рд┐рддрд░рдг рдерд╛рдВрдмрд╡рдд рдирд╛рд╣реА;
  • рддреНрд░реБрдЯреА рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреА рдЧрдорд╛рд╡рд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЯрдЪреНрдпрд╛ рдкреБрдирд░реНрдкреНрд░рд╕рд╛рд░рдгрд╛рдореБрд│реЗ рд╣реЛрдгрд╛рд░рд╛ рд╡рд┐рд▓рдВрдм рдХрдореА рдХрд░рддрд╛рдд. рд╣рд░рд╡рд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЯ рдбреЗрдЯрд╛рдЪреЗ рдкреБрдирд░реНрдкреНрд░рд╕рд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреА рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдХреЗрдЯ рд╕реНрддрд░рд╛рд╡рд░ рд╡рд┐рд╢реЗрд╖ рддреНрд░реБрдЯреА рд╕реБрдзрд╛рд░рдгрд╛ рдХреЛрдбрдЪрд╛ рд╡рд╛рдкрд░.
  • рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдмреНрд▓реЙрдХ рд╕реАрдорд╛ QUIC рдкреЕрдХреЗрдЯ рд╕реАрдорд╛рдВрд╕рд╣ рд╕рдВрд░реЗрдЦрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рдЬреЗ рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдкреЕрдХреЗрдЯрдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рдбреАрдХреЛрдбрд┐рдВрдЧрд╡рд░ рдкреЕрдХреЗрдЯ рдиреБрдХрд╕рд╛рдирд╛рдЪрд╛ рдкреНрд░рднрд╛рд╡ рдХрдореА рдХрд░рддреЗ;
  • TCP рд░рд╛рдВрдЧ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдХреЛрдгрддреАрд╣реА рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реА;
  • рдХрдиреЗрдХреНрд╢рди рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░рд╕рд╛рдареА рд╕рдорд░реНрдерди, рдЬреЗ рдореЛрдмрд╛рдЗрд▓ рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА рдкреБрдиреНрд╣рд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛ рд╡реЗрд│ рдХрдореА рдХрд░рддреЗ;
  • рдкреНрд░рдЧрдд рдХрдиреЗрдХреНрд╢рди рдХрдВрдЬреЗрд╢рди рдХрдВрдЯреНрд░реЛрд▓ рдпрдВрддреНрд░рдгрд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛;
  • рдкреЕрдХреЗрдЯ рдЗрд╖реНрдЯрддрдо рджрд░рд╛рдВрд╡рд░ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреАрд▓ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рддрд┐-рджрд┐рд╢рд╛ рдереНрд░реВрдкреБрдЯ рдЕрдВрджрд╛рдЬ рддрдВрддреНрд░ рд╡рд╛рдкрд░рддреЗ, рддреНрдпрд╛рдВрдирд╛ рдЧрд░реНрджреА рд╣реЛрдгреНрдпрд╛рдкрд╛рд╕реВрди рдЖрдгрд┐ рдкреЕрдХреЗрдЯрдЪреЗ рдиреБрдХрд╕рд╛рди рд╣реЛрдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ;
  • рдЖрдХрд▓рдиреАрдп рд╡рд╛рдв TCP рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдХрд╛рдордЧрд┐рд░реА рдЖрдгрд┐ рдереНрд░реВрдкреБрдЯ. YouTube рд╕рд╛рд░рдЦреНрдпрд╛ рд╡реНрд╣рд┐рдбрд┐рдУ рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА, QUIC рдиреЗ рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд╣рддрд╛рдирд╛ рд░рд┐рдмрдлрд░рд┐рдВрдЧ рдСрдкрд░реЗрд╢рдиреНрд╕ 30% рдиреЗ рдХрдореА рдХреЗрд▓реНрдпрд╛рдЪреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ.
  • рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛