WCCP を使用したキャッシュ サービスの設定
この章では、Web Cache Communication Protocol(WCCP; ウェブ キャッシュ通信プロトコル)を使用し、トラフィックを広域アプリケーション エンジン(Cisco Cache Engine 550 など)にリダイレクトするように Catalyst 3560 スイッチを設定する方法について説明します。このソフトウェア リリースでは、WCCP バージョン 2(WCCPv2)だけをサポートします。
WCCP はシスコが開発したコンテンツ ルーティング技術です。WCCP を使用すると広域アプリケーション エンジン(以降、 アプリケーション エンジン と呼ぶ)をネットワーク インフラストラクチャに統合できます。アプリケーション エンジンは、頻繁にアクセスのあるコンテンツを透過的に格納し、その同じコンテンツへの要求を満たし、サーバから同一コンテンツが繰り返し伝送されることを防ぎます。アプリケーション エンジンを使用することでコンテンツの配信が高速化され、コンテンツのスケーラビリティとアベイラビリティが最大限に確保されます。サービス プロバイダー ネットワークでは、WCCP とアプリケーション エンジンによるソリューションを Point of Presence(POP; アクセス ポイント)に展開できます。企業ネットワークでは、WCCP とアプリケーション エンジンによるソリューションを地方のサイトや小規模の支店に展開できます。
この機能を使用するには、スイッチ上で IP サービス イメージが稼動している必要があります。
(注) この章で使用するコマンドの構文および使用方法の詳細については『Cisco IOS Configuration Fundamentals Command Reference, Release 12.2』の「System Management Commands」の「WCCP Router Configuration Commands」のセクションを参照してください。このマニュアルには、Cisco.com の [Documentation] > [Cisco IOS Software] > [12.2 Mainline] > [Command References] からアクセスできます。
この章で説明する内容は、次のとおりです。
• 「WCCP の概要」
• 「WCCP の設定」
• 「WCCP のモニタリングおよびメンテナンス」
WCCP の概要
WCCP および Cisco Cache Engine(または WCCP が稼動する他のアプリケーション エンジン)は、ネットワークのトラフィック パターンをローカライズすることにより、コンテンツ要求をローカルで対応できます。
WCCP をサポートする Cisco ルータおよびスイッチは、WCCP を使用してコンテンツ要求を透過的にリダイレクトできます。リダイレクションは透過的に行われるので、ブラウザを設定して Web プロキシを使用する必要がありません。ユーザはプロキシではなく、目的とする URL を使用してコンテンツを要求することができます。要求は自動的にアプリケーション エンジンにリダイレクトされます。 透過的 とは、要求したファイル(Web ページなど)が本来の指定したサーバからでなくアプリケーション エンジンから送信されている事実にエンド ユーザは気づかないことを意味します。
アプリケーション エンジンは要求を受信すると、アプリケーション自身のローカル キャッシュを参照して要求を処理しようとします。要求された情報が存在しない場合は、独自に要求をエンド サーバに送信して要求された情報を取得します。要求された情報を受信すると要求元のクライアントに転送し、その後の同じ要求に応えられるようにキャッシュにも格納します。
アプリケーション エンジン クラスタ(アプリケーション エンジンの集合)は、WCCP を使用することで複数のルータやスイッチの要求を処理できます(図 44-1 を参照)。
図 44-1 Cisco Cache Engine と WCCP のネットワーク設定
WCCP メッセージ交換
WCCP メッセージ交換の一連の流れは、次のとおりです。
1. アプリケーション エンジンは、WCCP を使用して WCCP 対応スイッチに自己の IP アドレスを送信するとともに、 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-Route Encapsulation(GRE; 総称ルーティング カプセル化)の場合、スイッチはアプリケーション エンジンに設定されている GRE トンネルを介して戻されたパケットを受信します。スイッチの CPU は Cisco Express Forwarding を使用して、これらのパケットをターゲット サーバに送信します。 戻し方式がレイヤ 2 書き換えである場合、パケットはハードウェア内でターゲット サーバに転送されます。 サーバが要求された情報に応答しているとき、スイッチは通常のレイヤ 3 転送を使用して、情報を 要求しているクライアントに戻します。
MD5 セキュリティ
WCCP の各プロトコル メッセージにはセキュリティ コンポーネントがオプションとして用意されているので、スイッチはアプリケーション エンジンとのメッセージ交換に MD5 認証を使用できます。MD5 で認証されないメッセージ(スイッチの認証機能がイネーブルの場合)は、スイッチにより廃棄されます。パスワード ストリングは MD5 値と組み合わされ、スイッチとアプリケーション エンジンとの接続にセキュリティが確保されます。各アプリケーション エンジンには、同じパスワードを設定する必要があります。
パケット リダイレクションおよびサービス グループ
WCCP を設定することで、トラフィックを FTP、プロキシ Web キャッシュ処理、音声アプリケーション、およびビデオ アプリケーションなどに分類してリダイレクトできます。この分類は、 サービス グループ と呼ばれ、プロトコル タイプ(TCP または UDP)およびレイヤ 4 の送信元/宛先ポート番号に基づいて行われます。サービス グループは、Web キャッシュ(TCP ポート 80)などの well-known 名、またはサービス番号(0 ~ 99)で識別されます。サービス グループは、プロトコルとレイヤ 4 ポート番号にマッピングされ、個別に確立され管理されます。WCCP ではダイナミック サービス グループを使用できます。このグループでは参加するアプリケーション エンジンによって分類基準がダイナミックに提供されます。
スイッチまたはスイッチ スタック上には、最大 8 つのサービス グループと、サービス グループあたり最大 32 のキャッシュ エンジンを設定できます。WCCP は、グループ定義内にサービス グループのプライオリティを管理しています。プライオリティは、スイッチ ハードウェア内のサービス グループの設定に使用されます。たとえば、プライオリティ 100 のサービス グループ 1 が宛先ポート 80 を待ち受け、プライオリティ 50 のサービス グループ 2 が送信元ポート 80 を待ち受けている場合、送信元および宛先ポート 80 の着信パケットは、プライオリティの高いサービス グループ 1 を使用して転送されます。
WCCP は、サービス グループごとにアプリケーション エンジンのクラスタをサポートします。リダイレクトするトラフィックを、クラスタ内の任意のアプリケーション エンジンに送信できます。スイッチは、サービス グループのクラスタ内のアプリケーション エンジン間でトラフィックのロード バランシングを行うマスク割り当て方式をサポートしています。
スイッチに 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 機能は、このソフトウェア リリースではサポートされません。
• ip wccp redirect out インターフェイス コンフィギュレーション コマンドを使用して設定する、アウトバウンド インターフェイスでのパケット リダイレクション。このコマンドはサポートされません。
• パケット リダイレクションに GRE 転送方式は使用できません。
• ロード バランシングにハッシュ割り当て方式を使用できません。
• WCCP で SNMP はサポートされません。
WCCP の設定
ここでは、スイッチに WCCP を設定する手順について説明します。
• 「WCCP のデフォルト設定」
• 「WCCP 設定時の注意事項」
• 「キャッシュ サービスのイネーブル化」(必須)
WCCP のデフォルト設定
表 44-1 に、WCCP のデフォルト設定を示します。
表 44-1 WCCP のデフォルト設定
|
|
WCCP イネーブル ステート |
WCCP サービスはディセーブル |
プロトコル バージョン |
WCCPv2 |
インターフェイスで受信したトラフィックのリダイレクト |
ディセーブル |
WCCP 設定時の注意事項
スイッチに WCCP を設定する前に、次に示す設定時の注意事項に従ってください。
• 同じサービス グループ内のアプリケーション エンジンとスイッチは、WCCP をイネーブルにしたスイッチが直接接続される同じサブネットワーク内にある必要があります。
• クライアント、アプリケーション エンジン、およびレイヤ 3 インターフェイスとしてのサーバ(ルーテッド ポートおよび Switch Virtual Interface(SVI; スイッチ仮想インターフェイス))に接続されたスイッチ インターフェイスを設定します。WCCP パケット リダイレクションが動作するには、サーバ、アプリケーション エンジン、およびクライアントは異なるサブネット上にある必要があります。
• 各アプリケーション エンジンに単一のマルチキャスト アドレスを設定する場合は、予約されていないマルチキャスト アドレスだけを使用してください。
• WCCP エントリと Policy-Based Routing(PBR; ポリシーベース ルーティング)エントリは、同じ TCAM リージョンを使用します。WCCP は、PBR をサポートするアクセス テンプレート、ルーティング テンプレート、およびデュアル IPv4/v6 ルーティング テンプレートに限り、サポートされます。
• WCCP エントリを追加する際に TCAM エントリが使用できない場合、パケットはリダイレクトされずに標準のルーティング テーブルを使用して転送されます。
• WCCP 入力リダイレクションをイネーブルにしたインターフェイスの数が増えると、使用可能な PBR ラベルの数は減ります。ラベルは、サービス グループをサポートするインターフェイスごとに 1 つ消費されます。WCCP ラベルは PBR ラベルから取得されます。PBR と WCCP の間で使用可能なラベルの数をモニタし、管理するようにしてください。ラベルが使用できないと、スイッチはサービス グループを追加できません。ただし、同じ順番のサービス グループを持つインターフェイスが別にある場合は、新しいラベルがなくてもインターフェイスにグループを追加できます。
• スタック メンバー スイッチに設定するルーティング Maximum Transmission Unit(MTU; 最大伝送ユニット)サイズは、クライアントの MTU サイズより大きい必要があります。アプリケーション エンジンに接続されるポートに設定する MAC レイヤの MTU サイズには、GRE トンネル ヘッダーのバイト数を含める必要があります。
• WCCP と VPN Routing/Forwarding(VRF; VPN ルーティング/転送)は、同じスイッチ インターフェイスに設定できません。
• WCCP と PBR は、同じスイッチ インターフェイスに設定できません。
• WCCP と プライベート VLAN(PVLAN)は、同じスイッチ インターフェイスに設定できません。
キャッシュ サービスのイネーブル化
WCCP パケット リダイレクションが動作するには、クライアントに接続されたスイッチ インターフェイスが、インバウンド パケットをリダイレクトするように設定されている必要があります。
次に、ルーテッド ポートにこれらの機能を設定する方法を示します。これらの機能を SVI に設定する場合は、この手順のあとの設定例を参照してください。
(注) WCCP コマンドを設定する前に、SDM テンプレートを設定し、スイッチを再起動します。詳細については、第 7 章「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 gigabitethernet0/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 gigabitethernet0/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 gigabitethernet0/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 gigabitethernet0/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 gigabitethernet0/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 gigabitethernet0/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 gigabitethernet0/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 gigabitethernet0/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 gigabitethernet0/3 - 6
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 301
Switch(config-if-range)# exit