Microsoft開発者 MsQuicライブラリのソースコードのリリースを発表しました QUICネットワークプロトコルの実装で。 ライブラリはクロスプラットフォームであり、 Windowsだけでなく、TLS1.3用のSchannelまたはOpenSSLを使用するLinuxでも使用できます。さらに、今後も他のプラットフォームのサポートを拡大する作業が続けられます。
ライブラリはmsquic.sysドライバーコードに基づいています Windows 10カーネルで提供(内部プレビュー) QUICを介したHTTPおよびSMBプロトコルの動作を保証します。 コードインクルージョンは、内部Windowsスタックと.NETCoreにHTTP / 3を実装するために使用されます。
MsQuicライブラリの開発は、パブリックレビュー、プルリクエスト、GitHubの問題を使用して、完全にGitHubで行われます。 4000を超える一連のテストで各コミットおよびプル要求を検証するインフラストラクチャが用意されています。 開発環境を安定させた後、外部開発者からの変更を受け入れる予定です。
MsQuicについて
ミズクイック サーバーとクライアントの作成に使用できます、ただし、IETF仕様で定義されているすべての機能が現在利用できるわけではありません。 たとえば、0-RTT、クライアント移行、パスMTUディスカバリー、またはサーバー優先アドレス制御はサポートされていません。
実装された機能の中で、 最大のパフォーマンスと最小の遅延のための最適化が強調表示されます、Iのサポート/ O非同期、RSS (横方向のスケーリングを受け取る)、 UDP入力ストリームと出力ストリームを組み合わせる。 MsQuicの実装は、実験的なChromeおよびEdgeブラウザーブランチとの互換性についてテストされています。
ザ・ インスタントへの接続を確立する機能e(0-RTT、約75%の場合、データは接続セットアップパケットの送信直後に送信できます)、要求の送信から応答の受信までの遅延を最小限に抑えます(RTT、ラウンドトリップ時間)。
その上、 エラー訂正ツールがあります 失われたパケットの再送信による遅延を最小限に抑えます。
失われたパケットデータの再送信を必要とする状況を減らすための特別なパケットレベルのエラー訂正コードの使用または帯域幅を予測する手法を学ぶ あらゆる方向に 最適な小包配達強度を確保するため、パケット損失が観察される輻輳状態に到達するのを防ぎます。
他の特徴の QUICキー:
- TLSと同様の高いセキュリティ(実際、QUICはUDPを介してTLS 1.3を使用する機能を提供します)。
- パケット損失を防ぐフロー整合性制御。
- パケットを再送信するときに同じシーケンス番号を使用しない。これにより、受信したパケットを判別する際のあいまいさが回避され、タイムアウトが排除されます。
- パケットの損失は、それに関連付けられたフローのみの配信に影響し、現在の接続を介して送信される並列フローでのデータの配信を停止しません。
- 暗号化ブロックの境界はQUICパケットの境界と一致し、後続のパケットのコンテンツのデコードに対するパケット損失の影響を軽減します。
- TCPキューのブロックに問題はありません。
- モバイルクライアントの再接続を確立する時間を短縮する接続識別子のサポート。
- 高度なメカニズムを接続して、接続の輻輳を制御する機能があります。
- TCPを超える優れたパフォーマンスとパフォーマンスの向上を誇っています。 YouTubeのようなビデオサービスの場合、QUICはビデオを視聴する際の再バッファリング操作が30%削減されることを実証しました。
最後に それについてもっと知りたい人のために MsQuicについて、またはそのソースコードを確認したい場合は、コードがCで記述されており、クロスプラットフォームで汎用であり、MITライセンスの下で配布され、リリースされたコードがGitHubでホストされていることを知っておく必要があります。
出典 https://techcommunity.microsoft.com