階層化されたプロトコルとプロトコル チェーン

Windows Sockets 2 には、階層化されたプロトコルの概念が組み込まれています。これは、リモート エンドポイントとのデータの実際の交換に基づくトランスポート スタックに依存しながら、より高いレベルの通信機能のみを実装するプロトコルです。 この種類の階層化されたプロトコルの例として、認証を実行して暗号化スキームを確立するために、ソケット接続プロセスにプロトコルを追加するセキュリティ層があります。 このようなセキュリティ プロトコルでは、一般に、TCP や SPX などの基になる信頼性の高いトランスポート プロトコルのサービスが必要です。

基本プロトコルという用語は、リモート エンドポイントとのデータ通信を完全に実行できるプロトコル (TCP や SPX など) を指します。 階層化プロトコルは単独では立てないプロトコルですが、プロトコル チェーンは 1 つ以上の階層化されたプロトコルであり、ベース プロトコルによって連結されます。

Windows Sockets 2 SPI をサポートするように階層化プロトコルを設計し、その上端と下端の両方でプロトコル チェーンを作成できます。 特殊な WSAPROTOCOL_INFO 構造は、プロトコル チェーン全体を参照し、階層化されたプロトコルが結合される明示的な順序を記述します。 これは、次の図に示されています。 ベース プロトコルとプロトコル チェーンのみがアプリケーションで直接使用できるため、インストールされているプロトコルが WSAEnumProtocols 関数を使用して列挙される場合に一覧表示される唯一のプロトコルです。

レイヤード プロトコル アーキテクチャ