นักพัฒนาเมื่อเร็ว ๆ นี้ ใครอยู่เบื้องหลัง จากเว็บเบราว์เซอร์ Google Chrome ได้เปิดตัวข่าวการเพิ่มการรองรับโปรโตคอล HTTP / 3 ไปยังรุ่นทดลองของ Chrome Canary ซึ่งใช้ปลั๊กอินเพื่อเปิดใช้งาน HTTP ผ่าน QUIC
มีการเพิ่มโปรโตคอล QUIC ลงในเบราว์เซอร์เมื่อห้าปีก่อน และตั้งแต่นั้นมาก็ถูกนำมาใช้เพื่อเพิ่มประสิทธิภาพการทำงานกับบริการของ Google ในขณะเดียวกันเวอร์ชัน QUIC ของ Google ที่ใช้ใน Chrome จะแตกต่างกันในรายละเอียดบางประการจากเวอร์ชันของข้อกำหนด IETF แต่ขณะนี้การใช้งานอยู่ในการซิงค์
Google Chrome Canary เพิ่งกลายเป็นเบราว์เซอร์ (ที่มี) ตัวแรกที่รวมการทดลอง (มาก) #ควิก และรองรับ HTTP / 3!
เพิ่มแฟล็ก "–enable-quic –quic-version = h3-23" แล้วคุณจะเห็น "http / 2 + quic / 99" ปรากฏขึ้นในเครื่องมือซึ่งจริงๆแล้วจะเป็นแบบ HTTp3! pic.twitter.com/5Fhui46h3x
- Robin Marx (@programmingart) September 19, 2019
สิ่งสำคัญคือต้องเน้นว่า Google ได้พัฒนา QUIC (การเชื่อมต่ออินเทอร์เน็ต UDP ด่วน) ตั้งแต่ปี 2013 เป็นทางเลือกสำหรับแพ็กเกจ TCP + TLS สำหรับเว็บซึ่งช่วยแก้ปัญหาเกี่ยวกับการกำหนดค่าที่ยาวนานและเวลาต่อรองสำหรับการเชื่อมต่อ TCP และขจัดความล่าช้าในการสูญเสียแพ็กเก็ตระหว่างการถ่ายโอนข้อมูล
QUIC เป็นส่วนเสริมของโปรโตคอล UDP ที่รองรับการเชื่อมต่อแบบมัลติเพล็กซ์ และมีวิธีการเข้ารหัสที่เทียบเท่ากับ TLS / SSL
โปรโตคอลที่เป็นปัญหาถูกสร้างไว้แล้วในโครงสร้างพื้นฐานเซิร์ฟเวอร์ของ Google ซึ่งเป็นส่วนหนึ่งของ Chrome ได้รับการวางแผนให้รวมไว้ใน Firefox และใช้เพื่อตอบสนองคำขอของลูกค้าบนเซิร์ฟเวอร์ของ Google
ลักษณะสำคัญของ QUIC ที่โดดเด่น ได้แก่ :
- ความปลอดภัยสูงคล้ายกับ TLS (อันที่จริง QUIC ให้ความสามารถในการใช้ TLS ผ่าน UDP)
- การควบคุมความสมบูรณ์ของการไหลที่ป้องกันการสูญหายของแพ็คเก็ต
- ความสามารถในการสร้างการเชื่อมต่อทันที (0-RTT ในกรณีประมาณ 75% ข้อมูลจะถูกส่งทันทีหลังจากส่งแพ็คเก็ตการตั้งค่าการเชื่อมต่อ) และตรวจสอบให้แน่ใจว่ามีความล่าช้าน้อยที่สุดระหว่างการส่งคำขอและการรับการตอบกลับ (RTT, Round Trip Time)
- ไม่ใช้หมายเลขลำดับเดียวกันเมื่อส่งแพ็กเก็ตใหม่ซึ่งจะหลีกเลี่ยงความคลุมเครือในการกำหนดแพ็กเก็ตที่ได้รับและกำจัดการหมดเวลา
- การสูญเสียแพ็กเก็ตจะส่งผลต่อการส่งเฉพาะสตรีมที่เชื่อมโยงกับแพ็กเก็ตและไม่ได้หยุดการส่งข้อมูลในสตรีมที่ส่งแบบขนานผ่านการเชื่อมต่อปัจจุบัน
- เครื่องมือแก้ไขข้อผิดพลาดที่ช่วยลดความล่าช้าเนื่องจากการส่งแพ็กเก็ตที่สูญหายอีกครั้ง
- การใช้รหัสแก้ไขข้อผิดพลาดระดับแพ็กเก็ตพิเศษเพื่อลดสถานการณ์ที่ต้องส่งข้อมูลแพ็กเก็ตที่สูญหายซ้ำ
- ขีด จำกัด การเข้ารหัสของบล็อกจะสอดคล้องกับขีด จำกัด ของแพ็กเก็ต QUIC ซึ่งช่วยลดผลกระทบของการสูญเสียแพ็กเก็ตในการถอดรหัสเนื้อหาของแพ็กเก็ตต่อไปนี้
- ไม่มีปัญหากับการบล็อกคิว TCP
- รองรับตัวระบุการเชื่อมต่อซึ่งช่วยลดเวลาในการสร้างการเชื่อมต่อใหม่สำหรับไคลเอนต์มือถือ
- ความสามารถในการเชื่อมต่อกลไกขั้นสูงเพื่อควบคุมการเชื่อมต่อเกินพิกัด
นอกจากนี้ยังเน้นว่าใช้เทคนิคการคาดการณ์แบนด์วิดท์ในแต่ละทิศทาง เพื่อให้แน่ใจว่าการจัดส่งแพ็คเก็ตมีความเข้มที่เหมาะสมที่สุดป้องกันไม่ให้เข้าสู่สภาวะความแออัดซึ่งสังเกตเห็นการสูญเสียแพ็คเก็ต
เช่นเดียวกับ ประสิทธิภาพและประสิทธิภาพที่โดดเด่นเพิ่มขึ้นผ่าน TCP สำหรับบริการวิดีโอเช่น YouTube QUIC พบว่าการดำเนินการบัฟเฟอร์ซ้ำลดลง 30% เมื่อดูวิดีโอ
โปรโตคอล HTTP / 3 กำหนดมาตรฐานการใช้ QUIC เป็นการขนส่งสำหรับ HTTP / 2 ในการเปิดใช้งาน HTTP / 3 และข้อกำหนด IETF แบบร่าง 23 เวอร์ชัน QUIC Chrome จะต้องรันด้วยตัวเลือก "–enable-quic –quic-version = h3-23" จากนั้นเมื่อไซต์ทดสอบ quic เปิดขึ้นร็อค: 4433 นิ้ว โหมดการตรวจสอบเครือข่ายในเครื่องมือของนักพัฒนากิจกรรม HTTP / 3 จะแสดงเป็น "http / 2 + quic / 99"
เมื่อเปรียบเทียบกับแพ็คเก็ตที่สูญเสียไปจากการเชื่อมต่อ HTTP แบบขนานจะมีการหยุดการเชื่อมต่อเพียง 1 รายการจากจำนวนมากซึ่งหมายความว่า QUIC สามารถรองรับการจัดส่งที่ไม่ตรงตามคำสั่งเพื่อให้แพ็กเก็ตที่สูญหายมีผลกระทบน้อย
Si คุณต้องการทราบข้อมูลเพิ่มเติม เกี่ยวกับเรื่องนี้คุณสามารถปรึกษา ลิงค์ต่อไปนี้.