Microsoft đã mở rộng triển khai giao thức QUIC được sử dụng trong HTTP/3

Microsoft công bố về việc mở mã thư viện thần bí với việc thực hiện giao thức mạng QUIC. Mã được viết bằng C và phân phối bởi theo giấy phép MIT. Thư viện đa nền tảng và có thể được sử dụng không chỉ trên Windows mà còn trên Linux bằng cách sử dụng kênh s hoặc OpenSSL cho TLS 1.3. Trong tương lai, nó được lên kế hoạch để hỗ trợ các nền tảng khác.

Thư viện dựa trên mã trình điều khiển msquic.sys được cung cấp trong nhân Windows 10 (Bản xem trước nội bộ) để kích hoạt HTTP và SMB trên QUIC. Mã này cũng được sử dụng để triển khai HTTP/3 trong ngăn xếp Windows nội bộ và trong .NET Core. Việc phát triển thư viện MsQuic sẽ được tiến hành hoàn toàn trên GitHub bằng cách sử dụng đánh giá ngang hàng công khai, yêu cầu kéo và Các vấn đề về GitHub. Cơ sở hạ tầng đã được chuẩn bị để kiểm tra mọi yêu cầu cam kết và kéo trong một bộ hơn 4000 bài kiểm tra. Sau khi ổn định môi trường phát triển, dự kiến ​​sẽ chấp nhận những thay đổi từ các nhà phát triển bên thứ ba.

MsQuic đã có thể được sử dụng để tạo máy chủ và máy khách, nhưng hiện tại không phải tất cả chức năng được xác định trong đặc tả IETF đều khả dụng. Ví dụ: không có hỗ trợ cho 0-RTT, di chuyển máy khách, Khám phá đường dẫn MTU hoặc kiểm soát Địa chỉ ưu tiên của máy chủ. Trong số các tính năng được triển khai, tính năng tối ưu hóa được ghi nhận là đạt được thông lượng tối đa và độ trễ tối thiểu, hỗ trợ đầu vào/đầu ra không đồng bộ, RSS (Nhận tỷ lệ bên nhận) và khả năng kết hợp các luồng UDP đầu vào và đầu ra. Việc triển khai MsQuic đã được kiểm tra khả năng tương thích với các phiên bản thử nghiệm của trình duyệt Chrome và Edge.

Hãy nhớ lại rằng HTTP/3 tiêu chuẩn hóa việc sử dụng giao thức QUIC làm phương tiện truyền tải cho HTTP/2. Giao thức QUIC (Kết nối Internet UDP nhanh) được Google phát triển từ năm 2013 như một giải pháp thay thế cho kết hợp TCP+TLS cho Web, giải quyết các vấn đề về thời gian thiết lập và đàm phán lâu cho các kết nối trong TCP và loại bỏ sự chậm trễ khi gói bị mất trong quá trình truyền dữ liệu. QUIC là phần mở rộng của giao thức UDP hỗ trợ ghép kênh nhiều kết nối và cung cấp các phương thức mã hóa tương đương với TLS/SSL.

Chính tính năng NHANH:

  • Bảo mật cao tương tự TLS (về cơ bản QUIC cung cấp khả năng sử dụng TLS 1.3 qua UDP);
  • Kiểm soát tính toàn vẹn luồng, ngăn ngừa mất gói;
  • Khả năng thiết lập kết nối ngay lập tức (0-RTT, trong khoảng 75% trường hợp, dữ liệu có thể được truyền ngay sau khi gửi gói thiết lập kết nối) và cung cấp độ trễ tối thiểu giữa việc gửi yêu cầu và nhận phản hồi (RTT, Thời gian khứ hồi);
    Microsoft đã mở rộng triển khai giao thức QUIC được sử dụng trong HTTP/3

  • Không sử dụng cùng số thứ tự khi truyền lại gói, điều này tránh sự mơ hồ trong việc xác định các gói đã nhận và loại bỏ tình trạng hết thời gian chờ;
  • Việc mất gói chỉ ảnh hưởng đến việc phân phối luồng liên kết với nó và không dừng việc phân phối dữ liệu trong các luồng song song được truyền qua kết nối hiện tại;
  • Tính năng sửa lỗi giúp giảm thiểu độ trễ do truyền lại các gói bị mất. Sử dụng mã sửa lỗi đặc biệt ở cấp độ gói để giảm tình huống yêu cầu truyền lại dữ liệu gói bị mất.
  • Ranh giới khối mật mã được căn chỉnh với ranh giới gói QUIC, giúp giảm tác động của việc mất gói trong việc giải mã nội dung của các gói tiếp theo;
  • Không có vấn đề với việc chặn hàng đợi TCP;
  • Hỗ trợ mã định danh kết nối, giúp giảm thời gian cần thiết để thiết lập kết nối lại cho máy khách di động;
  • Khả năng kết nối các cơ chế kiểm soát tắc nghẽn kết nối tiên tiến;
  • Sử dụng các kỹ thuật dự đoán thông lượng theo hướng để đảm bảo tốc độ chuyển tiếp gói tối ưu, ngăn ngừa tắc nghẽn và mất gói;
  • Có thể cảm nhận được sự phát triển hiệu suất và thông lượng so với TCP. Đối với các dịch vụ video như YouTube, QUIC đã được chứng minh là giúp giảm 30% hoạt động lưu vào bộ đệm khi xem video.

Nguồn: opennet.ru

Thêm một lời nhận xét