Cloudflare ได้ติดตั้งโมดูลเพื่อรองรับ HTTP/3 ใน NGINX

บริษัทคลาวด์แฟลร์ เตรียมไว้ โมดูล เพื่อให้การสนับสนุนโปรโตคอล HTTP/3 ใน NGINX โมดูลนี้ได้รับการออกแบบเป็นส่วนเสริมให้กับไลบรารีที่พัฒนาโดย Cloudflare อาหารฝรั่งเศสชนิดหนึ่ง ด้วยการใช้โปรโตคอลการขนส่ง QUIC และ HTTP/3 รหัส Quiche เขียนด้วยภาษา Rust แต่โมดูล NGINX นั้นเขียนด้วยภาษา C และเข้าถึงไลบรารีโดยใช้การลิงก์แบบไดนามิก การพัฒนา เปิด ภายใต้ใบอนุญาต BSD

หากต้องการประกอบเพียงดาวน์โหลด แก้ไข เป็น nginx 1.16 และ รหัส ไลบรารี Quiche จากนั้นสร้าง nginx ใหม่ด้วยตัวเลือก “—with-http_v3_module —with-quiche=../quiche” เมื่อสร้าง การสนับสนุน TLS ควรอิงตามไลบรารี BoringSSL (“--with-openssl=../quiche/deps/boringssl”) แต่ยังไม่รองรับการใช้ OpenSSL ในการยอมรับการเชื่อมต่อ คุณต้องเพิ่มคำสั่ง Listen ด้วยแฟล็ก “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 (การเชื่อมต่ออินเทอร์เน็ต UDP ด่วน) ได้รับการพัฒนาโดย Google ตั้งแต่ปี 2013 เป็นทางเลือกแทนการรวม TCP+TLS สำหรับเว็บ แก้ไขปัญหาเกี่ยวกับการตั้งค่าที่ยาวนานและเวลาการเจรจาสำหรับการเชื่อมต่อใน TCP และขจัดความล่าช้าเมื่อแพ็กเก็ตสูญหายระหว่างการถ่ายโอนข้อมูล QUIC เป็นส่วนขยายของโปรโตคอล UDP ที่รองรับมัลติเพล็กซ์ของการเชื่อมต่อหลายรายการ และมีวิธีการเข้ารหัสที่เทียบเท่ากับ TLS/SSL

หลัก คุณสมบัติ ด่วน:

  • ความปลอดภัยสูงคล้ายกับ TLS (โดยพื้นฐานแล้ว QUIC ให้ความสามารถในการใช้ TLS ผ่าน UDP)
  • การควบคุมความสมบูรณ์ของโฟลว์ ป้องกันการสูญเสียแพ็กเก็ต
  • ความสามารถในการสร้างการเชื่อมต่อได้ทันที (0-RTT ในกรณีประมาณ 75% สามารถส่งข้อมูลได้ทันทีหลังจากส่งแพ็กเก็ตการตั้งค่าการเชื่อมต่อ) และให้ความล่าช้าน้อยที่สุดระหว่างการส่งคำขอและรับการตอบกลับ (RTT, Round Trip Time)
  • ไม่ใช้หมายเลขลำดับเดียวกันเมื่อส่งแพ็กเก็ตอีกครั้ง ซึ่งหลีกเลี่ยงความคลุมเครือในการระบุแพ็กเก็ตที่ได้รับและกำจัดการหมดเวลา
  • การสูญเสียแพ็กเก็ตส่งผลต่อการส่งกระแสข้อมูลที่เกี่ยวข้องเท่านั้นและไม่ได้หยุดการส่งข้อมูลในสตรีมแบบขนานที่ส่งผ่านการเชื่อมต่อปัจจุบัน
  • คุณสมบัติการแก้ไขข้อผิดพลาดที่ลดความล่าช้าเนื่องจากการส่งสัญญาณซ้ำของแพ็กเก็ตที่สูญหาย การใช้รหัสแก้ไขข้อผิดพลาดพิเศษในระดับแพ็กเก็ตเพื่อลดสถานการณ์ที่ต้องส่งข้อมูลแพ็กเก็ตที่สูญหายอีกครั้ง
  • ขอบเขตของบล็อกการเข้ารหัสนั้นสอดคล้องกับขอบเขตของแพ็กเก็ต QUIC ซึ่งช่วยลดผลกระทบของการสูญเสียของแพ็กเก็ตในการถอดรหัสเนื้อหาของแพ็กเก็ตที่ตามมา
  • ไม่มีปัญหากับการบล็อกคิว TCP
  • รองรับตัวระบุการเชื่อมต่อ ซึ่งช่วยลดเวลาที่ใช้ในการสร้างการเชื่อมต่อใหม่สำหรับไคลเอนต์มือถือ
  • ความเป็นไปได้ในการเชื่อมต่อกลไกการควบคุมความแออัดของการเชื่อมต่อขั้นสูง
  • ใช้เทคนิคการพยากรณ์ปริมาณงานต่อทิศทางเพื่อให้แน่ใจว่าแพ็กเก็ตจะถูกส่งในอัตราที่เหมาะสม เพื่อป้องกันไม่ให้แพ็กเก็ตหนาแน่นและทำให้แพ็กเก็ตสูญหาย
  • รับรู้ได้ การเจริญเติบโต ประสิทธิภาพและปริมาณงานเมื่อเทียบกับ TCP สำหรับบริการวิดีโอ เช่น YouTube นั้น QUIC แสดงให้เห็นว่าสามารถลดการตอบกลับเมื่อดูวิดีโอได้ 30%
  • ที่มา: opennet.ru

เพิ่มความคิดเห็น