WCCPモード
Web キャッシュ通信プロトコル(WCCP)は、Ciscoによって導入されたダイナミックルーティングプロトコルです。WCCPバージョン2は、もともとWebキャッシングのみを目的としていましたが、より汎用的なプロトコルになり、Citrix SD-WANアプライアンスなどのアクセラレータでの使用に適しています。
WCCP モードは、インライン動作が実用的でない場合に SD-WAN アプライアンスをインストールする最も簡単な方法です。また、非対称ルーティングが発生する場合、つまり、同じ接続からのパケットが異なるWANリンクを介して到着する場合にも役立ちます。WCCPモードでは、ルータはWCCP 2.0プロトコルを使用して、アプライアンスを介してトラフィックを迂回させます。アプライアンスによって受信されると、トラフィックは、インラインモードで受信されたかのように、アクセラレーションエンジンとトラフィックシェーパーによって処理されます。
注:
- この説明では、WCCPバージョン1は廃止されたと見なされ、WCCPバージョン2のみが示されています。
- 標準のWCCPドキュメントでは、WCCPクライアントを「キャッシュ」と呼んでいます。実際のキャッシュとの混同を避けるために、Citrixは通常、WCCPクライアントを「キャッシュ」と呼ぶことを避けています。代わりに、WCCPクライアントは通常「アプライアンス」と呼ばれます。
- この説明では、「ルーター」という用語を使用して、WCCP対応ルーターおよびWCCP対応スイッチを示します。ここでは「ルーター」という用語が使用されていますが、一部のハイエンドスイッチはWCCPもサポートしており、SD-WANアプライアンスで使用できます。
SD-WANアプライアンスは2つのWCCPモードをサポートします:
- WCCPは、リリース3.x以降でサポートされている元のSD-WAN WCCPオファリングです。単一のアプライアンスサービスグループをサポートします(クラスタリングなし)。
- リリース7.2で導入されたWCCPクラスタリングにより、ルータは複数のアプライアンス間でトラフィックの負荷を分散できます。
WCCPモードのしくみ
SD-WAN アプライアンスの WCCP 展開の物理モードは、アプライアンスが WAN ルータの専用ポートに直接接続されるワンアームモードです。WCCP標準には、アプライアンスがルーターに自身を登録するプロトコルネゴシエーションが含まれており、2つは共通にサポートする機能の使用をネゴシエートします。このネゴシエーションが成功すると、トラフィックはWCCPルータとルータで定義されたリダイレクションルールに従ってルータとアプライアンスの間でルーティングされます。
WCCPモードのアプライアンスには、イーサネットポートが1つだけ必要です。アプライアンスは、専用ルータポート(または WCCP 対応スイッチポート)に配置するか、VLAN を介して他のトラフィックから分離する必要があります。インラインモードとWCCPモードを混在させないでください。
次の図は、選択したインターフェイス上のトラフィックを傍受し、それをWCCP対応アプライアンスに転送するようにルータを設定する方法を示しています。WCCP対応アプライアンスが使用できない場合は常に、トラフィックは傍受されず、通常どおり転送されます。
図1:WCCPトラフィックフロー
トラフィックのカプセル化
WCCPを使用すると、次のいずれかのモードでルータとアプライアンス間でトラフィックを転送できます。
- L2モード:ルータとアプライアンスが同じL2セグメント(通常はイーサネットセグメント)上にある必要があります。IPパケットは変更されず、パケットを転送するためにL2アドレス指定のみが変更されます。多くのデバイスでは、L2転送はハードウェア層で実行され、最大のパフォーマンスを提供します。パフォーマンス上の利点があるため、L2転送が推奨されるモードですが、すべてのWCCP対応デバイスがL2転送をサポートしているわけではありません。
- GRE モード:Generic Routing Encapsulation(GRE; Generic Routing Encapsulation)はルーテッドプロトコルであり、アプライアンスは理論上任意の場所に配置できますが、パフォーマンスを得るためには、できるだけ少ないスイッチとルータを通過する高速かつ輻輳のないパス上に、ルータの近くに配置する必要があります。GREは元のWCCPモードです。GREヘッダーが作成され、データパケットが追加されます。受信デバイスはGREヘッダーを削除します。カプセル化を使用すると、アプライアンスは、ルーターに直接接続されていないサブネット上に配置できます。ただし、カプセル化プロセスとそれに続くルーティングの両方で、ルーターにCPUオーバーヘッドが追加され、28バイトのGREヘッダーを追加すると、パケットの断片化が発生し、オーバーヘッドが追加される可能性があります。
WCCPモードは、複数のルーターとGREとの両方をサポートします。L2転送。各ルーターは複数のWANリンクを持つことができます。各リンクは、独自のWCCPサービスグループを持つことができます。
アプライアンスがTCPトラフィックだけでなくUDPトラフィックも管理しない限り、トラフィックシェーピングは効果的ではありません。トラフィックシェーピングが必要な場合は、WANリンクごとにUDPサービスグループを持つ2番目のサービスグループをお勧めします。
登録とステータスの更新
WCCP クライアント(アプライアンス)は、UDP ポート 2048 を使用して、自身をルータに登録し、ルータに送信するトラフィックと、このトラフィックにどの WCCP 機能をネゴシエートします。アプライアンスはこのトラフィックで動作し、結果のトラフィックを元のエンドポイントに転送します。アプライアンスのステータスは、WCCP登録プロセスとハートビートプロトコルを通じて追跡されます。アプライアンスは最初にWCCP制御チャネル(UDPポート2048)を介してルーターに接続し、アプライアンスとルーターは次の名前のパケットと情報を交換します。それぞれ“Here_I_Am” そして “I_See_You” 。デフォルトでは、このプロセスは 10 秒ごとに繰り返されます。ルーターがこれらの間隔の3つでアプライアンスからのメッセージの受信に失敗した場合、ルーターはアプライアンスに障害が発生したと見なし、接続が再確立されるまでトラフィックの転送を停止します。
サービスとサービスグループ
同じルーターを使用する異なるアプライアンスは、異なるサービスを提供できます。どのサービスがどのアプライアンスに割り当てられているかを追跡するために、WCCPプロトコルはサービスグループ識別子(1バイト整数)を使用します。アプライアンスがそれ自体をルーターに登録すると、サービスグループ番号も含まれます。
- 1つのアプライアンスで複数のサービスグループをサポートできます。
- 1つのルーターで複数のサービスグループをサポートできます。
- 1つのアプライアンスで、複数のルーターで同じサービスグループを使用できます。
- 1つのルーターで、複数のアプライアンスで同じサービスグループを使用できます。SD-WANアプライアンスの場合、WCCPクラスターモードでは複数のアプライアンスがサポートされ、WCCPモードでは単一のアプライアンスがサポートされます。
- 各アプライアンスは、各方向および各サービスグループに対して個別に「戻り値の型」(L2またはGRE)を指定します。SD-WAN 4000/5000 アプライアンスは、常に両方向に同じ戻り値の型を指定します。他のSD-WANアプライアンスでは、戻り値の型を変えることができます。
図2:さまざまなサービスにさまざまなWCCPサービスグループを使用する
同じアプライアンス上のWCCPで複数のサービスグループ を使用できます。たとえば、アプライアンスは、あるWANリンクからサービスグループ51のトラフィックを受信し、別のWANリンクからサービスグループ62のトラフィックを受信できます。アプライアンスは複数のルーターもサポートしています。すべてのルーターが同じサービスグループを使用するか、異なるルーターが異なるサービスグループを使用するかは関係ありません。
サービスグループの追跡。パケットが1つのサービスグループに到着した場合、同じ接続の出力パケットは同じサービスグループに送信されます。パケットが複数のサービスグループの同じ接続に到着した場合、出力パケットはその接続で最後に確認されたサービスグループを追跡します。
高可用性の動作
WCCP を高可用性モードで使用する場合、プライマリアプライアンスはルータに接続するときに、高可用性ペアの仮想アドレスではなく、独自の APA または APB 管理 IP アドレスを送信します。フェールオーバーが発生すると、新しいプライマリアプライアンスが自動的にルータに接続し、WCCPチャネルを再確立します。ほとんどの場合、WCCP タイムアウト時間および高可用性フェールオーバー時間が重複しています。その結果、ネットワークの停止は2つの遅延の合計よりも少なくなります。
標準のWCCPでは、WCCPサービスグループ内のアプライアンスは1つだけです。新しいアプライアンスがルーターに接続しようとすると、他のアプライアンスがサービスグループを処理していることを検出し、新しいアプライアンスがアラートを設定します。サービスグループが他のアプライアンスでまだアクティブであるかどうかを定期的にチェックし、他のアプライアンスが非アクティブになると、新しいアプライアンスがサービスグループを処理します。WCCPクラスタリングでは、サービスグループごとに複数のアプライアンスを使用できます。
展開トポロジ表示
次の図は、L2またはGREのいずれかに適した単純なWCCP展開を示しています。トラフィックポート (1/1) 専用ルーターポートに直接接続されています(ギグ 4/12)。
図3:単純なWCCP展開
この例では、SD-WAN 4000/5000 トラフィックポートを使用して、ワンアームモードで展開されます (1/1) および管理ポート (0/1) それぞれが専用のルーターポートに接続します。
ルータでは、WCCPは、WANポートとLANポートのステートメントで同一のipwccpリダイレクトを使用して設定されています。71と72の2つのサービスグループが使用されます。サービスグループ71はTCPトラフィックに使用され、サービスグループ72はUDPトラフィックに使用されます。アプライアンスはUDPトラフィックを加速しませんが、トラフィックシェーピングポリシーを適用できます。
注意: WCCP仕様では、TCPとUDP以外のプロトコルの転送は許可されていないため、ICMPやGREなどのプロトコルは常にアプライアンスをバイパスします。
WCCPクラスタリング
SD-WANアプライアンスはWCCPクラスタリングをサポートします。これにより、ルーターは複数のアプライアンス間でトラフィックの負荷を分散できます。SD-WAN アプライアンスをクラスタとして展開する方法の詳細については、WCCPクラスタリングを参照してください。
WCCP仕様
WCCP の詳細については、Web キャッシュ通信プロトコル V2、リビジョン 1、http://tools.ietf.org/html/draft-mclaggan-wccp-v2rev1-00を参照してください。
注
スイッチの冗長性のためにSD-WANをWCCPに展開する場合、スイッチ2をapBに接続できます。apB用に別のSGを作成し、apA用のSGよりも優先度を低くします。apAの高いSGがアップしている場合、それはリダイレクトに使用されます。それがダウンしている場合は、apBSGが使用されます。Apa と APB は異なるサブネット上にある必要があることに注意してください。