Cloudflare NGINXте HTTP/3 колдоо модулун ишке ашырды

Cloudflare компаниясы даяр модулу NGINX ичинде HTTP/3 протоколун колдоо үчүн. Модуль Cloudflare тарабынан иштелип чыккан китепканага кошумча катары иштелип чыккан сарамаккан QUIC жана HTTP/3 транспорттук протоколун ишке ашыруу менен. Киш коду Rust тилинде жазылган, бирок NGINX модулунун өзү C тилинде жазылган жана динамикалык байланышты колдонуу менен китепканага кире алат. Иштеп чыгуулар ачык BSD лицензиясы боюнча.

чогултуу үчүн, жөн гана жүктөп алуу жамаачы nginx 1.16 жана коду quiche китепканаларын, андан кийин "—with-http_v3_module —with-quiche=../quiche" параметрлери менен nginxти кайра түзүңүз. Куруп жатканда TLS колдоосу BoringSSL китепканасына негизделиши керек (“--with-openssl=../quiche/deps/boringssl”), OpenSSL колдонуу азырынча колдоого алынбайт. Туташууларды кабыл алуу үчүн орнотууларга “quic” желекчеси бар угуу директивасын кошуу керек (мисалы, “443 quic reuseport угуу”).

Кардар программасында HTTP/3 колдоосу Chrome Canary жана curl утилитасынын эксперименталдык түзүмдөрүнө мурунтан эле кошулган. Сервер тарапта, ушул убакка чейин өзүнчө, чектелген колдонуу керек болчу сыноо ишке ашыруу. Nginxте HTTP/3 иштетүү мүмкүнчүлүгү HTTP/3 колдоосу менен серверлерди жайгаштырууну кыйла жөнөкөйлөтөт жана жаңы протоколдун тесттик ишке ашырылышын жеткиликтүү кылат. Nginxте HTTP/3 үчүн стандарттык колдоонун пайда болушу күтүлүүдө 1.17.x тармагында 6-12 айга.

Эске салсак, HTTP/3 QUIC протоколун HTTP/2 үчүн транспорт катары колдонууну стандартташтырат. Протокол ТЕЗ (Quick UDP Internet Connections) 2013-жылдан бери Google тарабынан Web үчүн TCP+TLS айкалыштарына альтернатива катары иштелип чыккан, ал TCP'де туташуулар үчүн узак орнотуу жана сүйлөшүү убакыттары менен көйгөйлөрдү чечет жана маалыматтарды өткөрүп берүү учурунда пакеттер жоголуп кеткенде кечигүүлөрдү жок кылат. QUIC бир нече туташууларды мультиплекстештирүүнү колдогон жана TLS/SSLге барабар шифрлөө ыкмаларын камсыз кылган UDP протоколунун кеңейтүүсү.

негизги өзгөчөлүктөрү QUIC:

  • TLS сыяктуу жогорку коопсуздук (чынында, QUIC UDP үстүнөн TLS колдонуу мүмкүнчүлүгүн камсыз кылат);
  • Пакеттин жоголушун алдын алуу үчүн агымдын бүтүндүгүн көзөмөлдөө;
  • Дароо байланыш түзүү мүмкүнчүлүгү (0-RTT, болжол менен 75% учурларда, маалымат туташууну орнотуу пакетин жөнөткөндөн кийин дароо берилиши мүмкүн) жана суроо-талапты жөнөтүү менен жооп алуунун ортосундагы минималдуу кечигүүлөрдү камсыз кылуу (RTT, Айлануу убактысы) ;
  • Пакетти кайра жөнөтүүдө бир катар номерди колдонбоңуз, бул кабыл алынган пакеттерди аныктоодо түшүнүксүздүктү болтурбоо жана тайм-ауттардан арылууга мүмкүндүк берет;
  • Пакеттин жоголушу аны менен байланышкан агымдын жеткирилишине гана таасирин тийгизет жана учурдагы байланыш боюнча параллелдүү берилүүчү агымдарда маалыматтардын жеткирилишин токтотпойт;
  • Жоголгон пакеттердин кайра жөнөтүлүшүнөн улам кечигүүлөрдү азайтуучу каталарды оңдоо куралдары. Жоголгон пакет маалыматтарын кайра жөнөтүүнү талап кылган кырдаалдарды азайтуу үчүн пакеттик деңгээлде катаны оңдоонун атайын коддорун колдонуу.
  • Криптографиялык блоктун чек аралары QUIC пакетинин чек аралары менен дал келет, бул пакеттик жоготуулардын кийинки пакеттердин мазмунун декоддоосуна таасирин азайтат;
  • TCP кезегин бөгөттөөдө көйгөйлөр жок;
  • Мобилдик кардарлар үчүн кайра туташуу убактысын кыскартуу үчүн Connection ID колдоосу;
  • Туташуу ашыкча жүктөөнү көзөмөлдөө үчүн өркүндөтүлгөн механизмдерди туташтыруу мүмкүнчүлүгү;
  • Пакеттерди жөнөтүүнүн оптималдуу интенсивдүүлүгүн камсыз кылуу үчүн ар бир багытта өткөрүү жөндөмдүүлүгүн болжолдоо ыкмаларын колдонуу, пакеттердин жоготуусу болгон тыгын абалына өтүүнүн алдын алуу;
  • Сезимдүү өсүш TCP менен салыштырганда аткаруу жана өткөрүү жөндөмдүүлүгү. YouTube сыяктуу видео кызматтары үчүн QUIC видеону кайтаруу операцияларын 30% га кыскартат.
  • Source: opennet.ru

Комментарий кошуу