GLOBALCONFIG EXPLICITBINDPORTRANGE

次の構成のいずれかを使用しているか、使用する予定である場合は、GLOBALCONFIG プロファイル・ステートメントで EXPLICITBINDPORTRANGE パラメーターを指定する必要があります。

GLOBALCONFIG ステートメントの EXPLICITBINDPORTRANGE パラメーターは、シスプレックス (またはサブプレックス) 全体で割り当てられたポートの固有性を保証するために管理される一時ポートのプールを設定します。 このポート・プールは、connect() 要求を発行する前に INADDR_ANY または IPv6 無指定アドレス (in6addr_any) およびポート 0 への明示 bind() を発行する任意のアプリケーションに対して、シスプレックス全体にわたる固有の一時ポートを提供するのに使用されます。

アプリケーションが接続前に、INADDR_ANY または in6addr_any およびポート 0 への明示 bind() を使用する場合、TCP は、このプールから一時ポートを割り当てて、シスプレックス全体の固有性を確保します。これは、明示 bind() の時点で、connect() 時に判別されるソース IP アドレスが、SRCIP ブロック内の JOBNAME または DESTINATION 規則での一致から得られる分散 DVIPA であるかどうかを判別できないからです。 ソース IP アドレスが分散 DVIPA であるときに、各接続 4 タプルがシスプレックス全体で固有のままであるように、割り当てられた一時ポート値のシスプレックス全体にわたる調整が必要です。

制約事項: シスプレックス全体にわたる固有ポートの EXPLICITBINDPORTRANGE プールの使用は、一部の共通 INET (CINET) 構成でサポートされません。サポートされるのは、スタック・アフィニティーが確立される場合、または CINET が管理するアクティブ TCP/IP スタックが 1 つしかない場合です。それ以外の場合は、パラメーターは受け入れられますが、結果は予測不能です。

EXPLICITBINDPORTRANGE が構成されるときに、アプリケーションがソース・ポートを 1024 未満のポート番号、もしくは PORT または PORTRANGE プロファイル・ステートメントによってジョブ用に予約された一時ポートのどちらかに明示的にバインドしている場合、一致する SRCIP JOBNAME または DESTINATION 規則から接続処理時に分散 DVIPA を選択することも可能です。しかし、ソース・ポートが、ジョブ用に予約されていない一時ポートにバインドされ、接続処理時に SRCIP 規則から選択されるソース・アドレスが分散 DVIPA である場合、接続要求は失敗します。

規則: ソース・ポートが 1024 未満であるか、このジョブ用に予約されたポートのどちらかであるときに、指定されたソースが分散 DVIPA である場合、同じ宛先 IP アドレスおよびポートとの複数のアウトバウンド接続が、同じソース IP アドレスおよびポートと並行して発生できないことを確認してください。

プロファイルが処理されるときに、EXPLICITBINDPORTRANGE パラメーターを指定する GLOBALCONFIG ステートメントを含むプロファイルを持つスタックは、以下のアクションを行います。

このストラクチャーは、DVIPA アドレスごとにエントリーがあるリスト構造で、この各エントリーには、シスプレックス (またはサブプレックスが使用される場合はサブプレックス) 内のどの場所にも SYSPLEXPORTS パラメーター指定の VIPADISTRIBUTE ステートメントがあります。 リスト 0 には、明示バインド・ポート範囲プールを維持する項目が入っています。それ自体をプールと関連付ける各スタックは、そのプールのポート範囲を設定します。 スタックは、ストラクチャーで、そのスタックの割り当てポートのサブリストをリスト 0 に作成し、初期化します。

注: このストラクチャーの名前は EZBEPORTvvtt 形式です。ここで、vv 値は、XCFGRPID 開始オプションで指定される、2 文字の VTAM® グループ ID サフィックスであり、tt 値は、TCP/IP プロファイルの GLOBALCONFIG ステートメントで指定される TCP グループ ID サフィックスです。 VTAM グループ ID サフィックスが指定されず、TCP/IP グループ ID サフィックスが指定される場合、vv は 01 です。TCP/IP グループ ID サフィックスが指定されず、VTAM グループ ID サフィックスが指定される場合、tt は存在しません。どちらのグループ ID サフィックスも指定されない場合、vvtt はどちらも存在しません。EZBEPORTvvtt のセットアップについて詳しくは、「z/OS Communications Server: SNA ネットワーク・インプリメンテーション・ガイド」の『VTAM 機能および TCP/IP 機能のためにシスプレックス環境をセットアップする』を 参照してください。
ガイドライン:

スタックによる EXPLICITBINDPORTRANGE プール参加を解除するには、VARY TCPIP,,OBEYFILE コマンドを使用して NOEXPLICITBINDPORTRANGE パラメーターを指定する GLOBALCONFIG ステートメントを指定します。これにより、そのスタックは EXPLICITBINDPORTRANGE プールとの関連が解除されます。これを行うときに、このスタック上で INADDR_ANY または in6addr_any およびポート 0 との明示 bind() を発行するアプリケーションがあり、それが以下の規則と一致する場合、分散 DVIPA が一致規則でソース IP アドレスとして使用されないことを確実にする必要があります。