P4PORT

Perforceサービス(サーバ、ブローカ、プロキシ)が、 通信の接続待ちに使用する ポート番号およびバインドするネットワークトランスポートの値です。

Helixサーバアプリケーションにおいては、 通信相手であるPerforceサービスのプロトコル、ホスト およびポート番号の値です。 最も一般的に使用されている通信プロトコルは tcp(TCP/IP経由のプレーンテキスト)またはssl(TCP/IP経由のSSL)です。

HelixサーバIPv4ネットワークとともにIPv6ネットワーク経由の接続もサポートしています。 ホスト名の解決の際にIPv4とIPv6のどちらのアドレスを使用する必要があるか (あるいは使用するか)を指定できます。 tcp4およびssl4のプロトコル設定にはIPv4アドレスのサポートが必要です。 同様に、tcp6およびssl6にはIPv6のサポートが必要です。 tcp64およびssl64を使用すると、 最初にホストの解決をIPv6アドレスで試み、 IPv6が使用できない場合にIPv4アドレスを受け入れます。 tcp46およびssl46を使用すると、 その反対の動作を指定できます。 すなわち、可能であればデフォルトでIPv4の使用を試み、IPv4が使用できない場合にIPv6を使用します。 構成可能変数net.rfc3484をユーザのワークステーションまたはP4CONFIGファイルに設定すると、 オペレーティングシステムによって自動的にどちらのトランスポートを使用するかが決定されます。

ネットワークサービスの動作とパフォーマンスは、次によって決まります。

  • サービスをホストするマシンのネットワーク性能
  • エンドユーザが使用するオペレーティングシステム
  • ユーザ固有のLANまたはWANのインフラストラクチャ (加えて、エンドユーザとHelix Coreサーバの間にある すべてのルータのIPv6サポート状況)。

IPv6ベースのホームネットワークを配備するユーザが自宅から作業するが、 ISPまたはVPNのプロバイダがIPv6を完全にサポートしていない場合を想定します。 P4PORTの設定としていくつかの選択肢を用意することにより、 IPv4からIPv6へ移行中の管理者とユーザが柔軟に作業できるようにし、 旧バージョンとの互換性を持たせています。

P4PORTプロトコルの値 IPv4/IPv6または 混合ネットワークでの動作

<not set>

tcp4:の動作を使用しますが、 アドレスが数値であり2つ以上のコロンが含まれている場合はtcp6:を想定します。 構成可能変数net.rfc3484が設定されている場合、 OSによってどちらのトランスポートを使用するか決定されます。

tcp:

tcp4:の動作を使用しますが、 アドレスが数値であり2つ以上のコロンが含まれている場合はtcp6:を想定します。 構成可能変数net.rfc3484が設定されている場合、 OSによってどちらのトランスポートを使用するか決定されます。

tcp4:

IPv4アドレス/ポートにのみ接続待機または接続します。

tcp6:

IPv6アドレス/ポートにのみ接続待機または接続します。

tcp46:

IPv4アドレスへの接続待機または接続を試みます。失敗した場合、 IPv6で再試行します。

tcp64:

IPv6アドレスへの接続待機または接続を試みます。失敗した場合、 IPv4で再試行します。

ssl:

ssl4:の動作を使用しますが、 アドレスが数値であり2つ以上のコロンが含まれている場合はssl6:を想定します。 構成可能変数net.rfc3484が設定されている場合、 OSによってどちらのトランスポートを使用するか決定されます。

ssl4:

IPv4のアドレス/ポートにのみ、SSL暗号化を使用して 接続待機および接続します。

ssl6:

IPv6アドレス/ポートにのみ、SSL暗号化を使用して接続待機 または接続します。

ssl46:

IPv4アドレス/ポートに接続待機または接続します。失敗した場合、IPv6で再試行します。 接続後は、SSLによる暗号化を必要とします。

ssl64:

IPv6アドレス/ポートに接続待機または接続します。失敗した場合、IPv4で再試行します。 接続後は、SSLによる暗号化を必要とします。

ヒント

混合環境では構成可能変数net.rfc3484に 1を設定することが推奨されます。

$ p4 configure set net.rfc3484=1

この設定により、RFC3484準拠の動作が、 プロトコルの値を明示的に指定していないユーザに対しても保証されます。 つまり、クライアント側の構成可能変数net.rfc34841が設定され、 P4PORTexample.com:1666または tcp:example.com:1666、またはssl:example.com:1666に指定されている場合、 ユーザのオペレーティングシステムはそれぞれの接続にIPv4とIPv6のどちらを使用するかを自動的に決定します。

SSLを使用して Helixサーバに接続する場合は、 Helixサーバ のフィンガープリントがP4TRUSTファイルに保存されているものと一致しなければなりません。 (新しいHelixサーバインストール済み環境に初めて接続すると、 サーバのフィンガープリントが表示されます。 それが管理者によって割り当てられたものと一致すれば、 p4 trustコマンドを使用して サーバをP4TRUSTファイルに追加することにより、サーバに安全に接続できます。)

使用上の注意点

クライアントが使用するか? サーバが使用するか? 同様に機能するコマンドライン P4CONFIGファイルで設定できるか?

はい

はい

p4 -p protocol:host:portcmd

はい

明示的に設定されない場合の値

プログラム

Helixサーバ

1666

Helixプロキシ

1666

Helixサーバ アプリケーション

perforce:1666

Helixサーバ アプリケーション サービス

1818

1818

ssl:squid:1234

ssl:1234

example.com:1234

1234

ssl:192.168.0.123:1818

ssl:1818

tcp6:[2001:db8::123]:1818

tcp6:[::]:1818

tcp6:example.com:1818

tcp6:[::]:1818

ssl64:[2001:db8::123]:1818

ssl6:[::]:1818ssl64:[::]:1818

注記

Helixサーバ アプリケーション上でのP4PORTの形式は protocol:host:portです。 または、Helixサーバアプリケーションとバージョニングサービスの両方が 同じホスト上で動作している場合は、 単にportです。ポート番号は、1024から 32767の範囲になければなりません。

P4PORTにIPアドレスおよびポート番号の両方を指定すると、 バージョニングサービスはP4PORTに指定されているIPアドレス以外のIPアドレスからの要求を無視します。

プロトコルを指定しない場合、 Helixサーバアプリケーションとバージョニングサービスの間での伝送は プレーンテキストで行われ、 IPv4アドレスが想定されます。