Cloudflare модулеро барои дастгирии HTTP/3 дар NGINX амалӣ кардааст

Ширкати Cloudflare омода кардааст модул барои дастгирии протоколи HTTP/3 дар NGINX. Модул ҳамчун илова ба китобхонаи аз ҷониби Cloudflare таҳияшуда тарҳрезӣ шудааст шӯҳрат бо татбиқи протоколи интиқоли 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" ба танзимот илова кунед (масалан, "reuseport 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 стандартизатсия мекунад. Протокол САФАР (Quick UDP Internet Connections) аз соли 2013 аз ҷониби Google ҳамчун алтернатива ба омезиши TCP+TLS барои веб таҳия шудааст, ки мушкилот бо вақтҳои тӯлонии танзим ва гуфтушунид барои пайвастшавӣ дар TCP ва бартараф кардани таъхирҳо ҳангоми гум шудани бастаҳо ҳангоми интиқоли додаҳо. QUIC як тавсеаи протоколи UDP мебошад, ки мултиплексии пайвастҳои сершуморро дастгирӣ мекунад ва усулҳои рамзгузории муодили TLS/SSL-ро таъмин мекунад.

асосӣ хусусиятҳо ТЕЗ:

  • Амнияти баланд монанд ба TLS (аслан QUIC қобилияти истифодаи TLS-ро аз UDP таъмин мекунад);
  • Назорати тамомияти ҷараён, пешгирии талафи бастаҳо;
  • Имконияти фавран барқарор кардани пайвастшавӣ (0-RTT, тақрибан дар 75% ҳолатҳо маълумотро фавран пас аз фиристодани бастаи танзимоти пайвастшавӣ интиқол додан мумкин аст) ва таъмин кардани таъхирҳои ҳадди ақали байни фиристодани дархост ва гирифтани посух (RTT, Вақти сафар);
  • Истифодаи як рақами пайдарпай ҳангоми интиқоли пакет, ки аз номуайянӣ дар муайян кардани бастаҳои қабулшуда канорагирӣ мекунад ва аз вақтгузаронӣ халос мешавад;
  • Аз даст додани баста танҳо ба интиқоли ҷараёни бо он алоқаманд таъсир мерасонад ва интиқоли маълумотро дар ҷараёнҳои параллелӣ, ки тавассути пайвасти ҷорӣ интиқол дода мешавад, қатъ намекунад;
  • Хусусиятҳои ислоҳи хатогиҳо, ки таъхирҳоро аз сабаби интиқоли дубораи бастаҳои гумшуда кам мекунанд. Истифодаи рамзҳои махсуси ислоҳи хатогиҳо дар сатҳи пакет барои кам кардани ҳолатҳое, ки интиқоли дубораи маълумоти бастаи гумшударо талаб мекунанд.
  • Сарҳадҳои блокҳои криптографӣ бо сарҳадҳои бастаи QUIC мутобиқ карда шудаанд, ки таъсири талафоти бастаҳоро дар рамзкушоӣ кардани мундариҷаи бастаҳои минбаъда коҳиш медиҳад;
  • Бо бастани навбати TCP ягон мушкилот вуҷуд надорад;
  • Дастгирии идентификатори пайвастшавӣ, ки вақтро барои барқарор кардани пайвастшавӣ барои муштариёни мобилӣ кам мекунад;
  • Имконияти пайваст кардани механизмҳои пешрафтаи назорати консессияи пайвастшавӣ;
  • Усулҳои пешгӯии интиқоли ҳар як самтро истифода мебарад, то ки бастаҳо бо суръати оптималӣ фиристода шаванд ва аз пурбор шудани онҳо ва талафоти бастаҳо пешгирӣ кунанд;
  • Даркшаванда афзоиш иҷроиш ва интиқол дар муқоиса бо TCP. Барои хидматҳои видеоӣ, аз қабили YouTube, QUIC нишон дода шудааст, ки амалиёти радкуниро ҳангоми тамошои видео 30% коҳиш медиҳад.
  • Манбаъ: opennet.ru

Илова Эзоҳ