WCCP によるキャッシュ サービスの設定
この章では、Web Cache Communication Protocol(WCCP; Web キャッシュ通信プロトコル)を使用して、トラフィックを広域アプリケーション エンジン(Cisco Cache Engine 550 など)にリダイレクトするように IE 3000 スイッチを設定する方法について説明します。このソフトウェア リリースでは、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 によって、WCCP をサポートする Cisco ルータおよびスイッチは、コンテンツ要求をトランスペアレントにリダイレクトできます。リダイレトはトランスペアレントに行われるので、ブラウザを設定して Web プロキシを使用する必要がありません。代わりに、ターゲット URL を使用してコンテンツを要求すると、要求が自動的にアプリケーション エンジンにリダイレクトされます。「 トランスペアレント 」という用語は、要求対象のファイル(Web ページなど)が初めに指定したサーバからではなく、アプリケーション エンジンから送られてきたことがエンド ユーザにはわからないことを指します。
アプリケーション エンジンは要求を受け取ると、専用のローカル キャッシュから対応しようとします。要求された情報が存在しない場合、アプリケーション エンジンは要求を独自にエンド サーバに送信して要求された情報を取得します。要求された情報を受信すると要求元のクライアントに転送し、その後の同じ要求に応えられるようにキャッシュにも格納します。
アプリケーション エンジン クラスタ(アプリケーション エンジンの集合)は、WCCP を使用することで複数のルータやスイッチの要求を処理できます(図 48-1 を参照)。
図 48-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(CEF)を使用して、これらのパケットをターゲット サーバに送信します。 戻し方式がレイヤ 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 リダイレクト リストでは、permit(許可)ACL エントリだけがサポートされます。
パケットがリダイレクトされる場合は、リダイレクトされるインターフェイスに関連付けられた出力 ACL がパケットに適用されます。元のポートに関連付けられた ACL は、リダイレクトされるインターフェイスに必要な出力 ACL を具体的に設定しない限り、適用されません。
サポートされない WCCP 機能
次の WCCP 機能は、このソフトウェア リリースではサポートされません。
• ip wccp redirect out インターフェイス コンフィギュレーション コマンドを使用して設定する、アウトバウンド インターフェイスでのパケット リダイレクション。このコマンドはサポートされません。
• パケット リダイレクションに GRE 転送方式は使用できません。
• ロード バランシングにハッシュ割り当て方式は使用できません。
• WCCP で SNMP はサポートされません。
WCCP の設定
ここでは、スイッチに WCCP を設定する手順について説明します。
• 「WCCP のデフォルト設定」
• 「WCCP 設定時の注意事項」
• 「キャッシュ サービスのイネーブル化」(必須)
WCCP のデフォルト設定
表 48-1 に、WCCP のデフォルト設定を示します。
表 48-1 WCCP のデフォルト設定
|
|
WCCP イネーブル ステート |
WCCP サービスはディセーブル |
プロトコル バージョン |
WCCPv2 |
インターフェイスで受信したトラフィックのリダイレクト |
ディセーブル |
WCCP 設定時の注意事項
スイッチに WCCP を設定する前に、次に示す設定時の注意事項に従ってください。
• 同じサービス グループ内のアプリケーション エンジンとスイッチは、WCCP をイネーブルにしたスイッチに直接接続される同じサブネットワーク内にある必要があります。
• クライアント、アプリケーション エンジン、およびサーバに接続されるスイッチ インターフェイスは、レイヤ 3 インターフェイス(ルーテッド ポートおよび Switch Virtual Interface(SVI; スイッチ仮想インターフェイス))として設定します。WCCP パケット リダイレクションが動作するには、サーバ、アプリケーション エンジン、およびクライアントは異なるサブネット上にある必要があります。
• 各アプリケーション エンジンに単一のマルチキャスト アドレスを設定する場合は、予約されていないマルチキャスト アドレスだけを使用してください。
• WCCP エントリと Policy-Based Routing(PBR; ポリシーベース ルーティング)エントリは、同じ TCAM 領域を使用します。WCCP は、PBR をサポートするアクセス テンプレート、ルーティング テンプレート、およびデュアル IPv4/IPv6 ルーティング テンプレートでだけサポートされます。
• 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 と Private 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/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/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/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/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/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/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 のアクセス ポートとして設定します。スイッチはクライアント インターフェイスから受信したパケットをアプリケーション エンジンにリダイレクトします。
(注) リダイレクト リストでは、permit(許可)ACL エントリだけが使用されています。deny(拒否)エントリはサポートされません。
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/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/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/3 - 6
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 301
Switch(config-if-range)# exit