リモート・メモリー・バッファー

各スタックは、リモート・メモリー・バッファー (RMB) に メモリーを割り振って、SMC-R リンクを介してインバウンド・データを受け取ります。送信側オペレーティング・システムは、TCP ソケット・アプリケーション・データを TCP 接続用のデータを受け取るために受信側スタックが割り当てる RMB に直接配置します。次に、受信側スタックは、データを RMB から 受信側ソケット・アプリケーションの受信バッファーにコピーします。

RMB は、同じサイズの RMB エレメント (RMBE) に分割されます。 各 RMBE は、単一の TCP 接続と関連付けられています。 ランデブー処理中の接続層制御 (CLC) メッセージでは、 各ピアは、RMB へのリモート・アクセスを許可する ローカル RMBE およびリモート・キーの場所を通信します。リモート・ホストは、書き込みアクセスを 持ち、ローカル・ホストはソケット・アプリケーションに渡すデータを 読み取ります。

z/OS® Communications Server の場合、RMB は連続した 1 MB ブロックの変更の始まり固定変更の終わり 64 ビットの専用ストレージです。 図 1 では、RMB は z/OS 上に作成され、そこに ピア・ノードを書き込むことができ、RMB がピア・ノード上に作成され、そこに z/OS が書き込むことができます。RMB を IBM® 10GbE RoCE Express® インターフェースに登録して、ストレージがリモート・ピアで使用可能になるようにする必要があります。

各 RMB は、信頼できる接続済みキューのペア (RC QP) に関連付けられており、 したがって、2 つの通信ピアの SMC-R リンクに関連付けられています。RMB の RC QP への関連付けにより、この 2 つの ピアのみが、この特定の RMB へのアクセス権限を持つことが確実になります。さらに、 特定の SMC-R リンクに関連付けられているすべての RMB は、 リンク・グループ内の任意の SMC-R リンクを使用して、リモート・ピアに アクセスできなければなりません。このアクセス可能性により、リモート・ピアが リンク・グループ内の任意のリンクを使用して TCP 接続データを正しい RMB 内に 配置できるようになります。

図 1. SMC-R リンクに割り当てられた RMB
この図の前にある段落は、
図について説明しています。

SMC-R ピアは、特定の TCP 接続のクライアントおよびサーバーに 同じサイズの RMBE を割り当てる必要はありません。ピアは、 同じ SMC-R リンクを使用している TCP 接続に 1 つ以上の RMB を 使用できます。

SMC-R リンク・グループが最初に確立されると、z/OS Communications Server は、リンク・グループに 3 つの RMB の基本セットを割り振ります。RMB の RMBE サイズは、 最初は定義されませんが、その代わりに SMC-R リンクを使用する TCP 接続の 要件によって決定されます。z/OS Communications Server は、 32 KB、64 KB、128 KB、256 KB、および 256 KB より大きいサイズの RMBE を使用します。TCP 接続の 適切なサイズは、ローカル・アプリケーションの受信バッファー・サイズに基づいて 選択されます。アプリケーションが SETSOCKOPT() を使用してバッファー・サイズを 明示的に設定しない場合、デフォルト値は、TCPCONFIG ステートメントの TCPRCVBUFRSIZE パラメーターの値によって決定されます。

より多くの TCP 接続または異なる受信バッファー・サイズに対応するために、 より多くの RMB が必要に応じて割り振られます。