Cloudflare нь NGINX дээр HTTP/3-ийг дэмжих модулийг хэрэгжүүлсэн

Cloudflare компани бэлтгэсэн модуль NGINX дахь HTTP/3 протоколд дэмжлэг үзүүлэх. Модуль нь Cloudflare-ийн боловсруулсан номын сангийн нэмэлт болгон бүтээгдсэн quiche 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 дахин ашиглах тайланг сонсох").

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

HTTP/3 нь QUIC протоколыг HTTP/2-ийн тээвэрлэлт болгон ашиглахыг стандартчилдаг гэдгийг санаарай. Протокол ЧАНАР (Quick UDP Internet Connections) нь Google-ээс 2013 оноос хойш Вэбд зориулсан TCP+TLS хослолыг өөр хувилбар болгон хөгжүүлж, TCP-д холболт хийх урт тохируулга, тохиролцох хугацаатай холбоотой асуудлыг шийдэж, өгөгдөл дамжуулах явцад пакет алга болох үед саатлыг арилгадаг. QUIC нь UDP протоколын өргөтгөл бөгөөд олон холболтын олон талт холболтыг дэмждэг бөгөөд TLS/SSL-тэй дүйцэхүйц шифрлэлтийн аргуудыг өгдөг.

Үндсэн Онцлог QUIC:

  • TLS-тэй төстэй өндөр хамгаалалт (үндсэндээ QUIC нь UDP дээр TLS ашиглах боломжийг олгодог);
  • Урсгалын бүрэн бүтэн байдлыг хянах, пакет алдагдахаас урьдчилан сэргийлэх;
  • Холболтыг нэн даруй үүсгэх чадвар (0-RTT, ойролцоогоор 75% тохиолдолд холболтын тохиргооны багцыг илгээсний дараа өгөгдлийг шууд дамжуулах боломжтой) ба хүсэлт илгээх болон хариу хүлээн авах хооронд хамгийн бага саатал гаргах боломжтой (RTT, хоёр талын аялалын хугацаа);
  • Пакетыг дахин дамжуулахдаа ижил дарааллын дугаарыг ашиглахгүй байх нь хүлээн авсан пакетуудыг тодорхойлоход хоёрдмол байдлаас зайлсхийж, хугацаа хэтрэхээс сэргийлдэг;
  • Пакет алдагдах нь зөвхөн түүнтэй холбоотой урсгалын дамжуулалтад нөлөөлж, одоогийн холболтоор дамждаг зэрэгцээ урсгалд өгөгдөл дамжуулахыг зогсоохгүй;
  • Алдагдсан пакетуудыг дахин дамжуулахтай холбоотой саатлыг багасгах алдаа засах функцууд. Алдагдсан пакет өгөгдлийг дахин дамжуулах шаардлагатай нөхцөл байдлыг багасгахын тулд багцын түвшинд алдаа засах тусгай кодыг ашиглах.
  • Криптографийн блокийн хил нь QUIC багцын хил хязгаартай нийцдэг бөгөөд энэ нь дараагийн пакетуудын агуулгыг тайлахад пакет алдагдлын нөлөөллийг бууруулдаг;
  • TCP дарааллыг блоклоход асуудал байхгүй;
  • Мобайл үйлчлүүлэгчдэд дахин холболт хийхэд шаардагдах хугацааг багасгасан холболтын танигчийг дэмжих;
  • Холболтын түгжрэлийг хянах дэвшилтэт механизмуудыг холбох боломж;
  • Пакетуудыг оновчтой хурдаар илгээж, ачаалал ихсэх, пакет алдагдахаас урьдчилан сэргийлэхийн тулд чиглэл тус бүрээр дамжуулах чадварыг таамаглах арга техникийг ашигладаг;
  • Мэдэгдэхүйц өсөлт TCP-тэй харьцуулахад гүйцэтгэл ба дамжуулах чадвар. YouTube гэх мэт видео үйлчилгээний хувьд QUIC нь видео үзэх үед няцаах ажиллагааг 30%-иар бууруулдаг болохыг харуулсан.
  • Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх