Sun Java System Web Proxy Server 4.0.8 管理ガイド

隣接 ICP を経由したルーティング

ICP は異なる管理ドメインに存在するプロキシ間の通信に使用できます。ICP により、ある管理ドメインのプロキシキャッシュは、別の管理ドメイン内のプロキシキャッシュと通信できます。ICP は複数のプロキシサーバー間で通信する必要があるが、プロキシ配列内にあるため、1 つのマスタープロキシからすべてのプロキシサーバーを設定できないような場合に適しています。図 12–3 に、異なる管理ドメインにあるプロキシ間の ICP の交換を示します。

ICP を介して通信するプロキシはネイバーと呼ばれます。隣接 ICP 内に 64 を超えるネイバーを配置できません。隣接 ICP の 2 つの種類のネイバーは parentsibling です。要求される URL がほかのネイバーに存在しない場合、parent のみがリモートサーバーにアクセスできます。隣接 ICP には parent が存在しなくても、また複数の parent が存在していてもかまいません。隣接 ICP の parent 以外のすべてのネイバーは sibling と見なされます。Sibling は ICP のデフォルト経路としてマークされている場合を除き、リモートサーバーからドキュメントを取得できず、ICP はデフォルトを使用します。

ネイバーがクエリーを受け取る順序を決定する場合は、ポーリングラウンドを使用できます。ポーリングラウンドは ICP クエリーのサイクルです。各ネイバーに対して、ポーリングラウンドを割り当てる必要があります。すべてのネイバーをポーリングラウンド 1 に設定する場合、すべてのネイバーは同時に 1 サイクルで照会されます。一部のネイバーをポーリングラウンド 2 に設定した場合、ポーリングラウンド 1 のすべてのネイバーが最初に照会され、どのネイバーも HIT を返さない場合、ラウンド 2 のすべてのプロキシが照会されます。ポーリングラウンドの最大回数は 2 です。

ICP の parent はネットワークのボトルネックになりやすいため、ポーリングラウンドを使用して負荷を軽減できます。一般的な設定では、すべての sibling をポーリングラウンド 1 に設定し、すべての parent をポーリングラウンド 2 に設定します。このようにすることで、ローカルプロキシが URL を要求した場合、要求はまず隣接内のすべての sibling に照会されます。どの sibling にも要求された URL が存在しない場合、要求は parent に照会されます。parent にも URL が存在しない場合、ローカルプロキシはリモートサーバーから URL を取得します。

隣接 ICP の各ネイバーは、少なくとも 1 台の ICP サーバーを稼働させている必要があります。ネイバーが ICP サーバーを稼働させていない場合、ネイバーからの ICP 要求に答えることができません。プロキシサーバーで ICP を有効にすると、まだ稼働していない場合は、ICP サーバーが起動されます。

図 12–3 ICP 交換

異なる管理ドメイン内のプロキシ間の ICP 交換を示す図