Microsoft ได้เปิดการใช้งานโปรโตคอล QUIC ที่ใช้ใน HTTP/3

ไมโครซอฟท์ ประกาศ เกี่ยวกับการเปิดรหัสห้องสมุด นางสาวควิก ด้วยการใช้โปรโตคอลเครือข่าย QUIC. รหัสเขียนด้วยภาษา C และ จัดจำหน่ายโดย ภายใต้ใบอนุญาต MIT ไลบรารีนี้เป็นแบบข้ามแพลตฟอร์มและสามารถใช้ได้ไม่เพียงแต่บน Windows แต่ยังบน Linux ที่ใช้อีกด้วย ช่องของ หรือ OpenSSL สำหรับ TLS 1.3 ในอนาคตมีการวางแผนรองรับแพลตฟอร์มอื่นๆ

ไลบรารีจะขึ้นอยู่กับรหัสไดรเวอร์ msquic.sys ที่ให้ไว้ในเคอร์เนล Windows 10 (ตัวอย่าง Insider) เพื่อเปิดใช้งาน HTTP และ SMB ด้านบนของ QUIC รหัสนี้ยังใช้เพื่อใช้ HTTP/3 ในสแต็ก Windows ภายในและใน .NET Core การพัฒนาไลบรารี MsQuic จะดำเนินการทั้งหมดบน GitHub โดยใช้การตรวจสอบโดยผู้ทรงคุณวุฒิแบบสาธารณะ คำขอดึงข้อมูล และปัญหา GitHub มีการจัดเตรียมโครงสร้างพื้นฐานที่จะตรวจสอบทุกคำขอที่คอมมิตและดึงในชุดการทดสอบมากกว่า 4000 รายการ หลังจากรักษาเสถียรภาพของสภาพแวดล้อมการพัฒนาแล้ว มีการวางแผนที่จะยอมรับการเปลี่ยนแปลงจากนักพัฒนาบุคคลที่สาม

MsQuic สามารถใช้เพื่อสร้างเซิร์ฟเวอร์และไคลเอนต์ได้แล้ว แต่ฟังก์ชันการทำงานบางอย่างที่กำหนดไว้ในข้อกำหนด IETF นั้นยังไม่พร้อมใช้งานในปัจจุบัน ตัวอย่างเช่น ไม่มีการสนับสนุนสำหรับ 0-RTT, การโยกย้ายไคลเอ็นต์, การค้นพบ Path MTU หรือการควบคุมที่อยู่เซิร์ฟเวอร์ที่ต้องการ ในบรรดาคุณสมบัติที่นำมาใช้ การปรับให้เหมาะสมนั้นได้รับการสังเกตเพื่อให้ได้ปริมาณงานสูงสุดและความล่าช้าขั้นต่ำ รองรับอินพุต/เอาท์พุตแบบอะซิงโครนัส RSS (Receive Side Scaling) และความสามารถในการรวมสตรีม UDP อินพุตและเอาต์พุต การใช้งาน MsQuic ได้รับการทดสอบความเข้ากันได้กับเบราว์เซอร์ Chrome และ Edge เวอร์ชันทดลอง

โปรดจำไว้ว่า HTTP/3 ทำให้การใช้โปรโตคอล QUIC เป็นการขนส่งสำหรับ HTTP/2 เป็นมาตรฐาน มาตรการ QUIC (การเชื่อมต่ออินเทอร์เน็ต UDP ด่วน) ได้รับการพัฒนาโดย Google ตั้งแต่ปี 2013 เป็นทางเลือกแทนการรวม TCP+TLS สำหรับเว็บ แก้ไขปัญหาเกี่ยวกับการตั้งค่าที่ยาวนานและเวลาการเจรจาสำหรับการเชื่อมต่อใน TCP และขจัดความล่าช้าเมื่อแพ็กเก็ตสูญหายระหว่างการถ่ายโอนข้อมูล QUIC เป็นส่วนขยายของโปรโตคอล UDP ที่รองรับมัลติเพล็กซ์ของการเชื่อมต่อหลายรายการ และมีวิธีการเข้ารหัสที่เทียบเท่ากับ TLS/SSL

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

  • ความปลอดภัยสูงคล้ายกับ TLS (โดยพื้นฐานแล้ว QUIC ให้ความสามารถในการใช้ TLS 1.3 บน UDP)
  • การควบคุมความสมบูรณ์ของโฟลว์ ป้องกันการสูญเสียแพ็กเก็ต
  • ความสามารถในการสร้างการเชื่อมต่อได้ทันที (0-RTT ในกรณีประมาณ 75% สามารถส่งข้อมูลได้ทันทีหลังจากส่งแพ็กเก็ตการตั้งค่าการเชื่อมต่อ) และให้ความล่าช้าน้อยที่สุดระหว่างการส่งคำขอและรับการตอบกลับ (RTT, Round Trip Time)
    Microsoft ได้เปิดการใช้งานโปรโตคอล QUIC ที่ใช้ใน HTTP/3

  • ไม่ใช้หมายเลขลำดับเดียวกันเมื่อส่งแพ็กเก็ตอีกครั้ง ซึ่งหลีกเลี่ยงความคลุมเครือในการระบุแพ็กเก็ตที่ได้รับและกำจัดการหมดเวลา
  • การสูญเสียแพ็กเก็ตส่งผลต่อการส่งกระแสข้อมูลที่เกี่ยวข้องเท่านั้นและไม่ได้หยุดการส่งข้อมูลในสตรีมแบบขนานที่ส่งผ่านการเชื่อมต่อปัจจุบัน
  • คุณสมบัติการแก้ไขข้อผิดพลาดที่ลดความล่าช้าเนื่องจากการส่งสัญญาณซ้ำของแพ็กเก็ตที่สูญหาย การใช้รหัสแก้ไขข้อผิดพลาดพิเศษในระดับแพ็กเก็ตเพื่อลดสถานการณ์ที่ต้องส่งข้อมูลแพ็กเก็ตที่สูญหายอีกครั้ง
  • ขอบเขตของบล็อกการเข้ารหัสนั้นสอดคล้องกับขอบเขตของแพ็กเก็ต QUIC ซึ่งช่วยลดผลกระทบของการสูญเสียของแพ็กเก็ตในการถอดรหัสเนื้อหาของแพ็กเก็ตที่ตามมา
  • ไม่มีปัญหากับการบล็อกคิว TCP
  • รองรับตัวระบุการเชื่อมต่อ ซึ่งช่วยลดเวลาที่ใช้ในการสร้างการเชื่อมต่อใหม่สำหรับไคลเอนต์มือถือ
  • ความเป็นไปได้ในการเชื่อมต่อกลไกการควบคุมความแออัดของการเชื่อมต่อขั้นสูง
  • ใช้เทคนิคการพยากรณ์ปริมาณงานต่อทิศทางเพื่อให้แน่ใจว่าแพ็กเก็ตจะถูกส่งในอัตราที่เหมาะสม เพื่อป้องกันไม่ให้แพ็กเก็ตหนาแน่นและทำให้แพ็กเก็ตสูญหาย
  • รับรู้ได้ การเจริญเติบโต ประสิทธิภาพและปริมาณงานเมื่อเทียบกับ TCP สำหรับบริการวิดีโอ เช่น YouTube นั้น QUIC แสดงให้เห็นว่าสามารถลดการตอบกลับเมื่อดูวิดีโอได้ 30%

ที่มา: opennet.ru

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