WCCP を使用したキャッシュ サービスの設定
この章では、Web Cache Communication Protocol(WCCP)を使用し、トラフィックを広域アプリケーション エンジン(Cisco Cache Engine 550 など)にリダイレクトするように Catalyst 3750 スイッチを設定する方法について説明します。このソフトウェア リリースでは、WCCP バージョン 2(WCCPv2)だけをサポートします。
WCCP はシスコが開発したコンテンツ ルーティング技術です。WCCP を使用すると広域アプリケーション エンジン(以降、 アプリケーション エンジン と呼ぶ)をネットワーク インフラストラクチャに統合できます。アプリケーション エンジンは、頻繁にアクセスのあるコンテンツを透過的に格納し、その同じコンテンツへの要求を満たし、サーバから繰り返し伝送されることを防ぎます。アプリケーション エンジンは、コンテンツ配信を加速させ、最大限のスケーラビリティとコンテンツの可用性を実現します。サービスプロバイダー ネットワークのアクセス ポイント(POP)で、WCCP およびアプリケーション エンジン ソリューションを展開できます。エンタープライズ ネットワークでは、地域ポイントおよび小規模ブランチ オフィスで WCCP およびアプリケーション エンジン ソリューションを展開できます。
この機能を使用するには、スタック マスター上で IP サービス イメージが稼働している必要があります。特に明記しない限り、 スイッチ という用語は、スタンドアロン スイッチおよびスイッチ スタックを指します。
(注) この章で使用するコマンドの構文および使用方法の詳細については、Cisco.com にある『Cisco IOS Configuration Fundamentals Command Reference, Release 12.4』の「System Management Commands」の「WCCP Router Configuration Commands」を参照してください。
この章で説明する内容は、次のとおりです。
• 「WCCP の概要」
• 「WCCP の設定」
• 「WCCP のモニタおよびメンテナンス」
WCCP の概要
WCCP およびシスコのキャッシュ エンジン(または WCCP が稼働している他のアプリケーション エンジン)は、ネットワークでのトラフィック パターンをローカライズし、コンテンツ要求がローカルで実現されるようにします。
WCCP により、サポート対象の Cisco ルータおよびスイッチは、コンテンツ要求を透過的にリダイレクトできます。透過リダイレクトを使用すると、ユーザは使用しているブラウザが Web プロキシを使用するように設定する必要がありません。代わりに、ターゲット URL を使用してコンテンツを要求でき、その要求は自動的にアプリケーション エンジンにリダイレクトされます。 透過 という用語は、エンド ユーザが、自分の要求したファイル(Web ページなど)が、もとの指定したサーバからではなくアプリケーション エンジンから送信されるのを知らないという意味です。
アプリケーション エンジンが要求を受け取ると、自身のローカル キャッシュからサービスしようとします。要求された情報が存在しない場合、アプリケーション エンジンは別個の要求をエンド サーバに送信し、要求された情報を取得します。取得した情報は、アプリケーション エンジンが要求元のクライアントに転送するとともに、その後の要求に応えるため、情報をキャッシュします。
WCCP では、アプリケーションエンジン クラスタ(一連のアプリケーション エンジン)は、図 45-1 にあるように、複数のルータまたはスイッチにサービスできます。
図 45-1 シスコのキャッシュ エンジンおよび WCCP ネットワーク コンフィギュレーション
WCCP メッセージ交換
この一連のイベントでは、WCCP メッセージ交換を説明します。
1. アプリケーション エンジンは、WCCP を使用して IP アドレスを WCCP 対応スイッチに送信し、 Here I am メッセージを通して自己の存在を伝えます。スイッチおよびアプリケーション エンジンは、UDP ポート 2048 に基づき、制御チャネルを介して互いに通信します。
2. WCCP 対応スイッチは、アプリケーション エンジンの IP 情報を使用してクラスタ ビュー(クラスタ内のアプリケーション エンジンのリスト)を作成します。このビューが、 I see you メッセージでクラスタ内の各アプリケーション エンジンに送信すると、本質的にすべてのアプリケーション エンジンが互いの存在を認識するようになります。クラスタのメンバーシップが一定時間同じままになった後で、安定したビューが確立されます。
3. 安定したビューが確立されると、クラスタ内の低い IP アドレスを持つアプリケーション エンジンが指定アプリケーション エンジンとして選択されます。
WCCP ネゴシエーション
WCCP プロトコル メッセージを交換するとき、指定アプリケーション エンジンおよび WCCP 対応スイッチは次の項目をネゴシエートします。
• 転送方式(スイッチがパケットをアプリケーション エンジンに転送するときに使用される方式)。スイッチは、パケット宛先 MAC アドレスをターゲット アプリケーション エンジン MAC アドレスに置き換えて、レイヤ 2 ヘッダーを書き換えます。次にスイッチは、パケットをアプリケーション エンジンに転送します。この転送方式では、ターゲット アプリケーション エンジンがレイヤ 2 でスイッチに直接接続されている必要があります。
• 割り当て方式(パケットをクラスタ内のアプリケーション エンジン間に配信するときに使用される方式)。スイッチは宛先 IP アドレス、送信元 IP アドレス、宛先レイヤ 4 ポート、および送信元レイヤ 4 ポートの一部のビットを使用して、リダイレクトされたパケットを受け取るアプリケーション エンジンを判別します。
• パケット戻し方式(パケットをアプリケーション エンジンから通常の転送用スイッチに戻すときに使用される方式)。アプリケーション エンジンがパケットを拒否し、パケット戻し機能を起動するのには以下の理由があります。
– アプリケーション エンジンが過負荷となり、パケットにサービスする余裕がない。
– アプリケーション エンジンがサーバからエラー メッセージ(プロトコル エラーや認証エラーなど)を受け取り、ダイナミック クライアント バイパス機能を使用している。バイパスは、クライアントがアプリケーション エンジンをバイパスし、サーバに直接接続できるようにします。
アプリケーション エンジンはパケットを WCCP 対応スイッチに戻し、アプリケーション エンジンが存在しないかのようにサーバに転送します。アプリケーション エンジンは、再接続試行を代行受信しません。このようにして、アプリケーション エンジンは効率的にアプリケーション エンジンへのパケットのリダイレクトをキャンセルし、バイパス フローを作成します。戻し方式が Generic Routing Encapsulation(GRE; 総称ルーティング カプセル化)である場合、スイッチは、アプリケーション エンジンで設定されている GRE トンネルを介して戻されたパケットを受け取ります。スイッチの CPU は Cisco Express Forwarding(CEF)を使用して、これらのパケットをターゲット サーバに送信します。 戻し方式がレイヤ 2 書き換えである場合、パケットはハードウェア内でターゲット サーバに転送されます。 サーバが情報に応答しているとき、スイッチは通常のレイヤ 3 転送を使用して、情報を要求している クライアントに戻します。
MD5 セキュリティ
WCCP は各プロトコル メッセージでオプションのセキュリティ コンポーネントを提供し、スイッチとアプリケーション エンジン間のメッセージで MD5 認証をスイッチが使用できるようにします。(スイッチの認証がイネーブルになっているとき)MD5 で認証されないメッセージは、スイッチによって廃棄されます。パスワード文字列は、MD5 値と組み合され、スイッチとアプリケーション エンジン間の接続のセキュリティを確立します。各アプリケーション エンジンで同じパスワードを設定する必要があります。
パケットのリダイレクトおよびサービス グループ
WCCP を設定して、FTP、プロキシ Web キャッシュ処理、音声およびビデオアプリケーションなど、リダイレクト用トラフィックを分類できます。この分類は サービス グループ と呼ばれ、プロトコル タイプ(TCP または UDP)およびレイヤ 4 送信元ポート番号と宛先ポート番号に基づきます。サービス グループは、TCP ポート 80 を意味する、Web キャッシュなどの Well-known 名または 0 ~ 99 のサービス番号のいずれかで識別されます。サービス グループは、プロトコルおよびレイヤ 4 ポート番号にマッピングするように設定され、独立して確立および維持されます。WCCP は、アプリケーション エンジンに加入して分類基準を動的に提供するダイナミック サービス グループを許可します。
スイッチまたはスイッチ スタックでは最大 8 つまでのサービス グループを、サービス グループにつき 32 までのキャッシュ エンジンを設定できます。WCCP のグループ定義には、サービス グループのプライオリティがあります。WCCP は、プライオリティを使用して、スイッチ ハードウェアのサービス グループを設定します。たとえば、サービス グループ 1 はプライオリティ 100 で、宛先ポート 80 を探していて、サービス グループ 2 はプライオリティ 50 で、送信元ポート 80 を探している場合、送信元および宛先ポート 80 の着信パケットは、サービス グループ 1 を使用して転送されます。これは、サービス グループ 1 の方がプライオリティが高いためです。
WCCP は各サービス グループのアプリケーション エンジンのクラスタをサポートします。リダイレクトされたトラフィックは、アプリケーション エンジンの 1 つに送信可能です。スイッチは、サービス グループのクラスタ内のアプリケーション エンジン間で、トラフィックのロードバランシングのマスク割り当て方式をサポートします。
WCCP がスイッチ上で設定された後、スイッチはクライアントから受信したすべてのサービス グループ パケットをアプリケーション エンジンに転送します。ただし、以下のパケットはリダイレクトされません。
• アプリケーションエンジンから発信され、サーバに宛てられたパケット
• アプリケーション エンジンから発信され、クライアントに宛てられたパケット
• アプリケーション エンジンにより返送または拒否されたパケット。これらのパケットはサーバに送信されます。
プロトコル メッセージの送受信用に、サービス グループにつき 1 つのマルチキャスト アドレスを設定できます。マルチキャスト アドレスが 1 つの場合、アプリケーション エンジンは通知を 1 つのアドレスに送信することになり、たとえば 225.0.0.0 など、サービス グループのすべてのルータにカバレッジを提供します。ルータを動的に追加および削除する場合、1 つのマルチキャスト アドレスを使用することで、コンフィギュレーションが簡単になります。これは、特に WCCP ネットワークのすべてのデバイスのアドレスを入力する必要がないためです。
ルータ グループ リストを使用すれば、アプリケーション エンジンから受け取ったプロトコル パケットを検証できます。グループ リストのアドレスに一致するパケットは処理され、グループ リスト アドレスに一致しないパケットはドロップされます。
特定クライアント、サーバ、またはクライアントとサーバのペアのキャッシングをディセーブルにするには、WCCP リダイレクト Access Control List(ACL)を使用します。リダイレクト ACL に一致しないパケットはキャッシュをバイパスし、通常通りに転送されます。
WCCP パケットがリダイレクトされる前、スイッチはインターフェイス上に設定されているすべての着信機能に関連した ACL をテストし、パケットが ACL 内のエントリと一致するかどうかによって、パケットの転送を許可または拒否します。
(注) WCCP リダイレクト リストでは、許可 ACL エントリだけがサポートされます。
パケットがリダイレクトされると、リダイレクトされたインターフェイスに関連付けられた出力 ACL がパケットに適用されます。元のポートに関連付けられた ACL は、リダイレクトされたインターフェイス上で必須出力 ACL を特に設定しない限り適用されません。
WCCP およびスイッチ スタック
スイッチ スタックの WCCP サポート機能は、スタンドアロン スイッチの場合と同じです。WCCP の設定情報は、スタック内のすべてのスイッチに伝播されます。スタック マスターを含むスタック内のすべてのスイッチでは、情報が処理され、ハードウェアがプログラムされます。スイッチ スタックの詳細については、「スイッチ スタックの管理」を参照してください。
スタック マスターは、次に示す WCCP 機能を実行します。
• WCCP 対応インターフェイスからのプロトコル パケットを受信し、そのパケットをスタックの WCCP 対応インターフェイスに送信します。
• WCCP 設定を処理し、情報をすべてのスタック メンバに伝播します。
• WCCP 情報を、スタックに加入しているすべてのスイッチに配信します。
• 処理する WCCP 情報を使用して、ハードウェアをプログラミングします。
スタック メンバはマスター スイッチから WCCP 情報を受け取り、ハードウェアをプログラミングします。
サポートしない WCCP 機能
次の WCCP 機能は、このソフトウェア リリースでサポートされていません。
• ip wccp redirect out インターフェイス コンフィギュレーション コマンドを使用して設定された発信インターフェイスでのパケットのリダイレクト (このコマンドはサポートされません)
• パケット リダイレクトの GRE 転送方式
• ロードバランシング用のハッシュ割り当て方式
• WCCP への SNMP サポート
WCCP の設定
ここでは、スイッチで WCCP を設定する方法について説明します。
• 「WCCP のデフォルト設定」
• 「WCCP 設定時の注意事項」
• 「キャッシュ サービスのイネーブル化」(必須)
WCCP のデフォルト設定
表 45-1 に、WCCP のデフォルト設定を示します。
表 45-1 WCCP のデフォルト設定
|
|
WCCP イネーブル ステート |
WCCP サービスはディセーブルです。 |
プロトコル バージョン |
WCCPv2 |
インターフェイス上で受信したトラフィックのリダイレクト |
ディセーブル |
WCCP 設定時の注意事項
スイッチで WCCP を設定する前に、次に挙げる設定時の注意事項を確認してください。
• 同じサービス グループ内のアプリケーション エンジンおよびスイッチは、WCCP 対応のスイッチに直接接続された同一サブネットワーク内に存在する必要があります。
• クライアント、アプリケーション エンジン、およびレイヤ 3 インターフェイスとしてのサーバ(ルーテッド ポートおよびスイッチ仮想インターフェイス(SVI))に接続されたスイッチ インターフェイスを設定します。WCCP パケットのリダイレクトが機能するためには、サーバ、アプリケーション エンジン、およびクライアントが、異なるサブネット上に存在する必要があります。
• 各アプリケーション エンジンに 1 つのマルチキャスト アドレスを設定するときは、予約されていないマルチキャスト アドレスだけを使用します。
• WCCP エントリおよび PBR エントリは、同じ TCAM リージョンを使用します。WCCP は、PBR(アクセス、ルーティング、デュアル IPv4/v6 ルーティング)をサポートするテンプレート上でだけサポートされます。
• TCAM エントリを WCCP エントリの追加に使用できない場合、パケットはリダイレクトされず、標準ルーティング テーブルを使用して転送されます。
• 使用可能な PBR ラベルの数は、WCCP 入力方法でイネーブルになるインターフェイスが増えるにつれて減っていきます。サービス グループをサポートする各インターフェイスでは、ラベルが 1 つ消費されます。WCCP ラベルは PBR ラベルから取得されます。PBR と WCCP 間で使用可能なラベルを監視および管理する必要があります。ラベルが使用できないと、スイッチはサービス グループを追加できなくなります。ただし、別のインターフェイスに同じ一連のサービス グループがある場合、新しいラベルは必要にならず、グループをインターフェイスに追加できます。
• スタック メンバ スイッチで設定されたルーティング最大伝送単位(MTU)サイズは、クライアント MTU サイズより長い必要があります。アプリケーション エンジンに接続されたポートで設定された MAC レイヤ MTU サイズは、GRE トンネル ヘッダー バイトを考慮する必要があります。
• 同じスイッチ インターフェイス上では、WCCP と VPN ルーティングおよび転送(VRF)を設定できません。
• 同じスイッチ インターフェイス上では、WCCP および PBR を設定できません。
• 同じスイッチ インターフェイス上では、WCCP およびプライベート VLAN(PVLAN)を設定できません。
キャッシュ サービスのイネーブル化
WCCP パケット リダイレクトが機能するために、クライアントに接続されたスイッチ インターフェイスが着信パケットをリダイレクトするように設定する必要があります。
この手順では、ルーテッド ポートでこれらの機能を設定する方法を示します。これらの機能を SVI で設定するには、手順に従った設定例を参照してください。
(注) WCCP コマンドを設定する前に SDM テンプレートを設定し、スイッチを再起動します。詳細については、「SDM テンプレートの設定」を参照してください。
キャッシュ サービスをイネーブルにしたり、マルチキャスト グループ アドレスまたはグループ リストを設定したり、ルーテッド インターフェイスを設定したり、クライアントから受信した着信パケットをアプリケーション エンジンにリダイレクトしたり、マルチキャスト アドレスを受信するようにインターフェイスをイネーブルにしたり、パスワードを設定したりするには、特権 EXEC モードで次の手順を実行します。この手順は必須です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip wccp { web-cache | service-number } [ group-address groupaddress ] [ group-list access-list ] [ redirect-list access-list ] [ password encryption-number password ] |
キャッシュ サービスをイネーブルにし、アプリケーション エンジンで定義されたダイナミック サービスに対応するサービス番号を指定します。デフォルトでは、この機能はディセーブルになっています。 (任意) group-address groupaddress には、スイッチおよびアプリケーション エンジンがサービス グループに加入するときに使用するマルチキャスト グループ アドレスを指定します。 (任意) group-list access-list には、マルチキャスト グループ アドレスが使用されない場合、サービス グループに加入しているアプリケーション エンジンに対応する有効な IP アドレスのリストを指定します。 (任意) redirect-list access-list には、特定ホストのリダイレクト サービスまたはホストから特定パケットを指定します。 (任意) password encryption-number password には、暗号化番号を指定します。指定できる範囲は 0 ~ 7 です。暗号化しない場合は 0、独自の場合は 7 を使用します。7 文字以内でパスワード名を指定します。スイッチは、パスワードと MD5 認証値を組み合わせて、スイッチとアプリケーション エンジンとの接続にセキュリティを確保します。デフォルトでは、パスワードは設定されておらず、認証も実行されていません。 各アプリケーション エンジンで同じパスワードを設定する必要があります。 認証がイネーブルになっている場合、スイッチは認証されないメッセージを廃棄します。 |
ステップ 3 |
interface interface-id |
アプリケーション エンジンまたはサーバに接続されたインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 4 |
no switchport |
レイヤ 3 モードを開始します。 |
ステップ 5 |
ip address ip-address subnet-mask |
IP アドレスおよびサブネット マスクを設定します。 |
ステップ 6 |
no shutdown |
インターフェイスをイネーブルにします。 |
ステップ 7 |
exit |
グローバル コンフィギュレーション モードに戻ります。各アプリケーション エンジンおよびサーバにステップ 3 ~ 7 を繰り返します。 |
ステップ 8 |
interface interface-id |
クライアントに接続するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 9 |
no switchport |
レイヤ 3 モードを開始します。 |
ステップ 10 |
ip address ip-address subnet-mask |
IP アドレスおよびサブネット マスクを設定します。 |
ステップ 11 |
no shutdown |
インターフェイスをイネーブルにします。 |
ステップ 12 |
ip wccp { web-cache | service-number } redirect in |
クライアントから受信したパケットをアプリケーション エンジンにリダイレクトします。クライアントに接続されているインターフェイス上でイネーブルにします。 |
ステップ 13 |
ip wccp { web-cache | service-number } group-listen |
(任意)マルチキャスト グループ アドレスを使用するとき、 group-listen はインターフェイスをイネーブルにしてマルチキャスト アドレスを受信します。アプリケーション エンジンに接続されているインターフェイス上でイネーブルにします。 |
ステップ 14 |
exit |
グローバル コンフィギュレーション モードに戻ります。各クライアントにステップ 8 ~ 13 を繰り返します。 |
ステップ 15 |
end |
特権 EXEC モードに戻ります。 |
ステップ 16 |
show ip wccp web-cache および show running-config |
設定を確認します 。 |
ステップ 17 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
キャッシュ サービスをディセーブルにするには、 no ip wccp web-cache グローバル コンフィギュレーション コマンドを使用します。着信パケット リダイレクトをディセーブルにするには、 no ip wccp web-cache redirect in インターフェイス コンフィギュレーション コマンドを使用します。この手順を完了した後、ネットワークでアプリケーション エンジンを設定します。
次に、ルーテッド インターフェイスを設定し、マルチキャスト グループ アドレスとリダイレクト アクセス リストでキャッシュ サービスをイネーブルにする例を示します。ギガビット イーサネット ポート 1 はアプリケーション エンジンに接続され、IP アドレス 172.20.10.30 のルーテッド ポートとして設定され、再イネーブル化されています。ギガビット イーサネット ポート 2 はインターネット経由でサーバに接続され、IP アドレス 175.20.20.10 のルーテッド ポートとして設定され、再イネーブル化されています。ギガビット イーサネット ポート 3 ~ 6 はクライアントに接続され、IP アドレス 175.20.30.20、175.20.40.30、175.20.50.40、および 175.20.60.50 のルーテッド ポートとして設定されています。 スイッチはマルチキャスト トラフィックを受信し、クライアント インターフェイスから受信したパケットをアプリケーション エンジンにリダイレクトします。
Switch# configure terminal
Switch(config)# ip wccp web-cache 80 group-address 224.1.1.100 redirect list 12
Switch(config)# access-list 12 permit host 10.1.1.1
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 172.20.10.30 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# ip wccp web-cache group-listen
Switch(config)# interface gigabitethernet1/0/2
Switch(config-if)# no switchport
Switch(config-if)# ip address 175.20.20.10 255.255.255.0
Switch(config-if)# no shutdown
Switch(config)# interface gigabitethernet1/0/3
Switch(config-if)# no switchport
Switch(config-if)# ip address 175.20.30.20 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# ip wccp web-cache redirect in
Switch(config)# interface gigabitethernet1/0/4
Switch(config-if)# no switchport
Switch(config-if)# ip address 175.20.40.30 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# ip wccp web-cache redirect in
Switch(config)# interface gigabitethernet1/0/5
Switch(config-if)# no switchport
Switch(config-if)# ip address 175.20.50.40 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# ip wccp web-cache redirect in
Switch(config)# interface gigabitethernet1/0/6
Switch(config-if)# no switchport
Switch(config-if)# ip address 175.20.60.50 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# ip wccp web-cache redirect in
次に、SVI を設定し、マルチキャスト グループ リストでキャッシュ サービスをイネーブルにする例を示します。VLAN 299 は、IP アドレス 175.20.20.10 で作成および設定されています。ギガビット イーサネットのポート 1 をインターネット経由でサーバに接続し、VLAN 299 のアクセス ポートとして設定します。VLAN 300 は、IP アドレス 172.20.10.30 で作成および設定されています。ギガビット イーサネット ポート 2 はアプリケーション エンジンに接続され、VLAN 300 のアクセス ポートとして設定されています。VLAN 301 は、IP アドレス 175.20.30.50 で作成および設定されています。クライアントに接続されているファスト イーサネット ポート 3 ~ 6 は、VLAN 301 のアクセス ポートとして設定されています。スイッチは、クライアント インターフェイスから受信したパケットをアプリケーション エンジンにリダイレクトします。
(注) リダイレクトリストには許可 ACL エントリだけを使用します。拒否エントリはサポートされていません。
Switch# configure terminal
Switch(config)# ip wccp web-cache 80 group-list 15
Switch(config)# access-list 15 permit host 171.69.198.102
Switch(config)# access-list 15 permit host 171.69.198.104
Switch(config)# access-list 15 permit host 171.69.198.106
Switch(config-vlan)# exit
Switch(config)# interface vlan 299
Switch(config-if)# ip address 175.20.20.10 255.255.255.0
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 299
Switch(config-vlan)# exit
Switch(config)# interface vlan 300
Switch(config-if)# ip address 171.69.198.100 255.255.255.0
Switch(config)# interface gigabitethernet1/0/2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 300
Switch(config-vlan)# exit
Switch(config)# interface vlan 301
Switch(config-if)# ip address 175.20.30.20 255.255.255.0
Switch(config-if)# ip wccp web-cache redirect in
Switch(config)# interface gigabitethernet1/0/3 - 6
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 301
Switch(config-if-range)# exit