6.3.3. チャンネル

6.3.3. チャンネル

SSH トランスポートレイヤーでの認証に成功した後、複数のチャンネルが multiplexing[4] と呼ばれる技術を通して開かれます。これらのチャンネル群内の各チャンネルは異なるターミナルセッションと転送された X11 セッション用の通信を処理します。

クライアントとサーバーの両方は新規のチャンネルを作成することができます。各チャンネルはその後、接続の両端で別々の番号が割り当てられます。クライアントが新規のチャンネルを開こうと試みる時、クライアントは要求と一緒にチャンネル番号を送信します。この情報はサーバーで保存され、そのチャンネルに通信を転送するのに使用されます。これは、異なるタイプのセッションがお互いに干渉しないようにするため、及び、あるセッションが終了した時にそのチャンネルが主要 SSH 接続を妨害せずに閉じることができるようにするためです。

チャンネルは、 flow-control もサポートしており、これはチャンネルが順序良くデータを送信/受信するのを可能にします。この方法では、クライアントがチャンネルが開いていると言うメッセージを受信するまで、データはチャンネルに送信されません。

クライアントが要求するサービスのタイプとユーザーがネットワークに接続されている方法に従って、クライアントとサーバーは、自動的に各チャンネルの構成を折衝します。これにより、プロトコルの基本構成を変更することなく、異なるタイプのリモート接続の処理に多大な柔軟性を得ることができます。



[4] 複合化接続 (multiplexed connection) は、共有した共通の経路を通じて送信される数種の信号で構成されます。 SSH では、異なるチャンネルが共通の安全な接続で送信されます。