(57)【特許請求の範囲】
【請求項１】
ネットワーク内に設けられて前記ネットワーク内を流れるパケットに対するサービスを提供するネットワークサービスシステムであって、
第１のインタフェースと第２のインタフェースとを備え、前記第１及び第２のインタフェース間を流れるパケットに対するサービス機能を有する、１以上のネットワークサービス装置と、
前記各ネットワークサービス装置の前記第１のインタフェースに接続し、セッションを特定する情報と前記第１のインタフェースのアドレスとを保持する第１のセッション管理テーブルを備え、前記第１のセッション管理テーブルを参照して前記各ネットワークサービス装置に対するトラヒック振分けを行う第１の振分け装置と、
前記各ネットワークサービス装置の前記第２のインタフェースに接続し、セッションを特定する情報と前記第２のインタフェースのアドレスとを保持する第２のセッション管理テーブルを備え、前記第２のセッション管理テーブルを参照して前記各ネットワークサービス装置に対するトラヒック振分けを行う第２の振分け装置と、
前記第１及び第２の振分け装置に接続し、前記各ネットワークサービス装置ごとに当該ネットワークサービス装置が有するサービス機能に関する情報と当該ネットワークサービス装置の第１及び第２のインタフェースのアドレスとを保持するサービス情報テーブルを備える制御装置と、
を有し、
前記各ネットワークサービス装置は、当該ネットワークサービス装置を新たに前記第１及び第２の振分け装置に接続するときに、当該ネットワークサービス装置が提供するサービスに関する情報と当該ネットワークサービス装置の前記第１のインタフェースのアドレスとを含むＡＲＰパケットを前記第１のインタフェースを介して前記第１の振分け装置に送信し、当該ネットワークサービス装置が提供するサービスに関する情報と当該ネットワークサービス装置の前記第２のインタフェースのアドレスとを含むＡＲＰパケットを前記第２のインタフェースを介して前記第２の振分け装置に送信する拡張Ｇ−ＡＲＰ制御部を備え、
前記各ＡＲＰパケットの内容に基づいて前記サービス情報テーブルが更新され、
前記サービス情報テーブルの内容に基づいて前記第１及び第２のセッション管理テーブルが設定されて、セッションを保持したまま同一セッションのトラヒックが同一のネットワークサービス装置に振り分けられる、ネットワークサービスシステム。
【請求項２】
前記第１及び第２の振分け装置はセッションの最初のパケットが到着したと判断したときに当該パケットを前記制御装置に送り、前記制御装置は、前記サービス情報テーブルを参照し当該パケットを解析して振分け先となるネットワークサービス装置を決定して当該ネットワークサービス装置のアドレスを当該パケットが到着した前記振分け装置に通知するとともに、他方の前記振分け装置に当該ネットワークサービス装置のアドレスと前記セッションを識別する情報とを通知し、前記制御装置からの前記通知に基づいて前記第１及び第２のセッション管理テーブルが設定される、請求項１に記載のネットワークサービスシステム。
【請求項３】
前記サービス情報テーブルは前記各ネットワークサービス装置の収容可能トラヒック数に関する情報を格納し、前記制御装置は、前記収容可能トラヒック数に応じて前記各ネットワークサービス装置にトラヒックが分散するように、前記振分け先となるネットワークサービス装置を決定する、請求項２に記載のネットワークサービスシステム。
【請求項４】
ネットワーク内において、第１のインタフェースと第２のインタフェースとを備えて前記第１及び第２のインタフェース間を流れるパケットに対するサービス機能を有する１以上のネットワークサービス装置に対し、セッションを特定する情報と前記第１のインタフェースのアドレスとを保持する第１のセッション管理テーブルに基づいて、前記第１のインタフェース側でのトラヒックの振分けを行い、セッションを特定する情報と前記第２のインタフェースのアドレスとを保持する第２のセッション管理テーブルに基づいて、前記第２のインタフェース側でのトラヒックの振分けを行うトラヒック振分け方法であって、
新たにネットワークサービス装置を接続するときに、当該ネットワークサービス装置が提供するサービスに関する情報と当該ネットワークサービス装置の前記第１のインタフェースのアドレスとを含むＡＲＰパケットを前記第１のインタフェースを介して前記ネットワークに送信し、当該ネットワークサービス装置が提供するサービスに関する情報と当該ネットワークサービス装置の前記第２のインタフェースのアドレスとを含むＡＲＰパケットを前記第２のインタフェースを介して前記ネットワークに送信することと、
前記ネットワーク内に設けられ、前記各ネットワークサービス装置ごとに当該ネットワークサービス装置が有するサービス機能に関する情報と当該ネットワークサービス装置の第１及び第２のインタフェースのアドレスとを保持するサービス情報テーブルを前記ＡＲＰパケットの内容に基づいて更新することと、
前記サービス情報テーブルの内容に基づいて前記第１及び第２のセッション管理テーブルが設定することと、
を有し、セッションを保持したまま同一セッションのトラヒックを同一のネットワークサービス装置に振り分ける、トラヒック振分け方法。
【請求項５】
セッションの最初のパケットが到着したと判断したときに前記サービス情報テーブルを参照し当該パケットを解析して振分け先となるネットワークサービス装置を決定することと、
前記決定されたネットワークサービス装置に基づいて前記第１及び第２のセッション管理テーブルを設定することと、
をさらに有する、請求項４に記載のトラヒック振分け方法。
【請求項６】
前記サービス情報テーブルは前記各ネットワークサービス装置の収容可能トラヒック数に関する情報を格納し、前記収容可能トラヒック数に応じて前記各ネットワークサービス装置にトラヒックが分散するように、前記振分け先となるネットワークサービス装置が決定される、請求項５に記載のトラヒック振分け方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（インターネットプロトコル(Internet Protocol)）ネットワーク内に実装されて各種のサービスを提供するネットワークサービス装置を備えるネットワークサービスシステムに関し、特に、複数のネットワークサービス装置を備えてこれらのネットワークサービス装置にトラヒックが振り分けられるとともに新規サービスの追加やネットワークサービス装置に増設に対応できるネットワークサービスシステムと、そのようなネットワークサービスシステムにおけるトラヒック振分け方法とに関する。
【背景技術】
【０００２】
ＩＰネットワークでは、そのネットワーク内を通過するパケットを対象とする各種のサービス機能が実装されるようになってきている。そのようなサービス機能としては、例えば、データやアドレスの変換機能、トラヒックのモニタ機能、パケットフィルタリング機能やファイアウォール機能などが挙げられる。これらのサービス機能は、ネットワーク内に設けられたネットワークサービス装置によって実現される。ネットワークサービス装置は、例えば、ネットワークに接続される単体のハードウェア（例えばサーバ）として設けられても、あるいは仮想マシンによって実現されてもよい。
【０００３】
最近では、ＩＰネットワークに実装されたサービス機能に関し、需要に応じた柔軟な設備設計、コスト削減を目的として、サービスの集約化やクラウド化が検討されている。サービスの集約化やクラウド化を実現するためには、新規のサービス追加やネットワークサービス装置の増設などを容易に実現できるようにする必要があり、そのためには、新規サービスの追加や増設に柔軟に対応して複数のネットワークサービス装置間でトラヒックを振り分ける仕組みが必要となる。以下の説明において、ネットワークサービス装置とこれらのネットワークサービス装置に対してトラヒックを振り分けるための仕組みとからなるシステムをネットワークサービスシステムと呼ぶ。
【０００４】
トラヒックを複数のネットワークサービス装置（例えばサーバ）に振り分けるためのハードウェアとして、従来より、トランスポート層（ＴＣＰ（トランスミッションコントロールプロトコル(Transmission Control Protocol)）及びＵＤＰ（ユーザデータグラムプロトコル(User Datagram Protocol)）までの情報を用いて振分けを行うＬ４スイッチ（例えば非特許文献１参照）や、アプリケーション層までの情報を用いて振分けを行うＬ７スイッチがある。図１は、ＩＰネットワーク内を通過するパケットに対する処理を実行する従来のネットワークサービスシステムの構成の一例を示すブロック図である。
【０００５】
図１に示すネットワークサービスシステムは、それぞれサービス機能を有する複数のネットワークサービス装置７１と、トラヒックをモニタする機能を有するトラヒックモニタ７２と、到来するトラヒックをネットワークサービス装置７１やトラヒックモニタ７２に振り分ける前段の振分け装置７３と、前段の振分け装置７３と対をなして設けられる後段の振分け装置７４と、を備えている。トラヒックモニタ７２もネットワークサービス装置の一種であるが、トラヒックをモニタするという特定のサービス機能を有するのでここでは他のネットワークサービス装置７１とは別に示されている。ネットワークサービス装置７１が有するサービス機能としては、例えば、パケットフィルタリング機能やファイアウォール機能が挙げられる。前段の振分け装置７３と後段の振分け装置７４の間に、複数のネットワークサービス装置７１及びトラヒックモニタ７２が、並列に設けられている。
【０００６】
このネットワークサービスシステムは、ネットワークサービス装置７１によってこのシステムを通過するトラヒック（ＩＰパケット）に対する処理を行うものであるから、図示左から右に流れるパケットに関し、前段の振分け装置７３が複数のネットワークサービス装置７１のいずれかへの振分けを行い、後段の振分け装置７４は、振り分けられネットワークサービス処理装置７１によって処理されたパケットを受け取って、そのパケットの本来の宛て先へとそのパケットを転送する。同様に、図示右から左に流れるパケットに関し、後段の振分け装置７４が複数のネットワークサービス装置７１のいずれかへの振分けを行い、前段の振分け装置７３は、振り分けられネットワークサービス処理装置７１によって処理されたパケットを受け取って、そのパケットの本来の宛て先へとそのパケットを転送する。
【０００７】
各振分け装置７３，７４には、このようなトラヒックの振分け（すなわちパケットの振分け）を行う振分け転送処理部７５が設けられており、振分け転送処理部７５は、その内蔵するセッション管理テーブル７６に基づいて、パケットの振分け先となるネットワークサービス装置７１（及びトラヒックモニタ７２）を決定する。セッション管理テーブル７６は、送信元ＩＰアドレス（ＳＡ）、宛て先ＩＰアドレス（ＤＡ）、送信元ポート番号（ＳＰ）及び宛て先ポート番号（ＤＰ）の組み合わせ（４タプル(4-tuple)とも呼ぶ）によって特定されるパケットごとに、そのパケットをどのネットワークサービス装置７１（あるいはトラヒックモニタ７２）に振り分けるかを、ネットワークサービス装置７１のＭＡＣ（媒体アクセス制御(Media Access Control)）アドレスによって特定するかを記述するものであり、後述するセッションのステート（状態(state)）に関する情報も含まれていてよいものである。４タプルはセッションを識別するために用いられる。ネットワークサービス装置７１には、前段の振分け装置７３に接続するインタフェースと後段の振分け装置７４に接続するインタフェースが設けられるが、前段の振分け装置７３のセッション管理テーブル７６に記載されるＭＡＣアドレスは、ネットワークサービス装置７１での前段の振分け装置７３側のインタフェースのＭＡＣアドレスであり、後段の振分け装置７４のセッション管理テーブル７６に記載されるＭＡＣアドレスは、ネットワークサービス装置７１での後段の振分け装置７４側のインタフェースのＭＡＣアドレスである。各振分け装置７３，７４は、パケットを受け取ったときに、そのパケットの４タプルに基づいてセッション管理テーブル７６を検索し、得られたＭＡＣアドレスによってそのパケットのＭＡＣアドレスを書き換えることにより、そのパケットが振分け先のネットワークサービス装置７１に送られるようにする。
【０００８】
ところで、トラヒックがＴＣＰセグメントに関するものであってそのトラヒックに対してネットワークサービス装置によって処理を行う場合、処理の前後でＴＣＰセッションが維持されなければならず、同一のＴＣＰセッションに属するトラヒックは、いずれの方向に流れるパケットであっても同一のネットワークサービス装置に振り分けられる必要がある。図２は、ネットワークサービス装置によって提供されるサービス機能がＴＣＰフルステートファイアウォールである場合に、セッションを維持して同一のネットワークサービス装置で処理される必要があることを示す図である。
【０００９】
図２は、クライアントとサーバとの間でＴＣＰセッションを開始するときのいわゆる３ウェイハンドシェークの流れを示しており、クライアントとサーバの間にＴＣＰフルステートファイアウォールが設けられているものとしている。ＴＣＰフルステートファイアウォールは、各パケットの信号に基づいてステートを保持し、到来したパケットについてシーケンスに基づく検査を実行する。したがって、セッションの開始時にクライアントがＳＹＮ以外のパケットを送った場合にはそのパケットはファイアウォールで廃棄され、サーバ側には届かない。ＳＹＮパケットが送られてきたときは、ファイアウォールはＳＹＮパケットをサーバに向けて通過させるとともに、ステートとして［ＳＹＮ］を保持する。次に、サーバは、ＳＹＮ＋ＡＣＫパケットをクライアント側に送信し、ファイアウォールはこのパケットをクライアント側に通過させるとともに、ステートとして［ＳＹＮ＋ＡＣＫ］を保持する。このとき、サーバがＳＹＮ＋ＡＣＫ以外のパケットをクライアント側に送ったとすると、そのパケットはファイアウォールで廃棄される。ここで負荷分散等のために２台のＴＣＰフルステートファイアウォールが設けられているときを考えると、クライアント側からのＳＹＮパケットとサーバ側からのＳＹＮ＋ＡＣＫパケットが異なるファイアウォールに振り分けられた場合、サーバ側からのＳＹＮ＋ＡＣＫパケットは、ファイアウォールに保持されているステートが［ＳＹＮ］でないので、廃棄されることになる。したがって、同一セッションのパケットは同一のネットワークサービス装置（ここではファイアウォール）に振り分けられなければならないことになる。
【００１０】
このように同一のＴＣＰセッションのトラヒックは同一のネットワークサービス装置に振り分けられなければならないから、図１に示したようなネットワークサービスシステムにおいては、前段及び後段の振分け装置７３，７４のセッション管理テーブル７６も、同一セッションのパケットが同一のネットワークサービス装置７１に振り分けられるように記述される必要がある。このため従来は、保守管理者が、両方の振分け装置７３，７４の間で不整合が生じないように各振分け装置７３，７４のセッション管理テーブル７６に４タプルとネットワークサービス装置のＭＡＣアドレスとを静的に設定（いわゆるコンフィグ設定）していた。しかしながら、保守管理者による設定では、設定誤りが生じやすい上に、新規サービスの追加やネットワークサービス装置の増設を行うごとに、両方の振分け装置７３，７４のセッション管理テーブル７６の設定作業を同時に行う必要があり、管理に手間がかかるという問題も生じる。また、セッション管理テーブル７６を静的に設定するのでは、各ネットワークサービス装置の現在の負荷に応じて負荷分散を図るように動的にトラヒックの振分けを行うことができず、効果的な負荷分散を達成できず、その分、ネットワークサービス装置を多めに用意する必要があって、装置コストの増加などにもつながる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】“レイヤ４スイッチ”、［Online］［2013年7月25日検索］、インターネット〈ＵＲＬ：http://ja.wikipedia.org/wiki/レイヤ4スイッチ〉
【発明の概要】
【発明が解決しようとする課題】
【００１２】
同一セッションのパケットが同一のネットワークサービス装置に振り分けられるように双方向のトラヒックを振り分ける従来のネットワークサービスシステムでは、１対の振分け装置の各々に設けられるセッション管理テーブルの設定に手間がかかり、新規サービスの追加やネットワークサービス装置の増設に柔軟に対応できない、という課題がある。
【００１３】
本発明の目的は、新規サービス追加やネットワークサービス装置の増設に際して振分け装置のセッション管理テーブルの設定を自動的に行うことができるネットワークサービスシステムを提供することにある。
【００１４】
本発明の別の目的は、ネットワークサービスシステムにおいて、新規サービス追加やネットワークサービス装置の増設に際して振分け装置のセッション管理テーブルの設定を自動的に行うトラヒック振分け方法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明のネットワークサービスシステムは、ネットワーク内に設けられてネットワーク内を流れるパケットに対するサービスを提供するネットワークサービスシステムであって、第１のインタフェースと第２のインタフェースとを備え、第１及び第２のインタフェース間を流れるパケットに対するサービス機能を有する、１以上のネットワークサービス装置と、各ネットワークサービス装置の第１のインタフェースに接続し、セッションを特定する情報と第１のインタフェースのアドレスとを保持する第１のセッション管理テーブルを備え、第１のセッション管理テーブルを参照して各ネットワークサービス装置に対するトラヒック振分けを行う第１の振分け装置と、各ネットワークサービス装置の第２のインタフェースに接続し、セッションを特定する情報と第２のインタフェースのアドレスとを保持する第２のセッション管理テーブルを備え、第２のセッション管理テーブルを参照して各ネットワークサービス装置に対するトラヒック振分けを行う第２の振分け装置と、第１及び第２の振分け装置に接続し、各ネットワークサービス装置ごとにそのネットワークサービス装置が有するサービス機能に関する情報とそのネットワークサービス装置の第１及び第２のインタフェースのアドレスとを保持するサービス情報テーブルを備える制御装置と、を有し、各ネットワークサービス装置は、そのネットワークサービス装置を新たに第１及び第２の振分け装置に接続するときに、そのネットワークサービス装置が提供するサービスに関する情報とそのネットワークサービス装置の第１のインタフェースのアドレスとを含むＡＲＰパケットを第１のインタフェースを介して第１の振分け装置に送信し、そのネットワークサービス装置が提供するサービスに関する情報とそのネットワークサービス装置の第２のインタフェースのアドレスとを含むＡＲＰパケットを第２のインタフェースを介して第２の振分け装置に送信する拡張Ｇ−ＡＲＰ制御部を備え、各ＡＲＰパケットの内容に基づいてサービス情報テーブルが更新され、サービス情報テーブルの内容に基づいて第１及び第２のセッション管理テーブルが設定されて、セッションを保持したまま同一セッションのトラヒックが同一のネットワークサービス装置に振り分けられる。
【００１６】
本発明のトラヒック振分け方法は、ネットワーク内において、第１のインタフェースと第２のインタフェースとを備えて第１及び第２のインタフェース間を流れるパケットに対するサービス機能を有する１以上のネットワークサービス装置に対し、セッションを特定する情報と第１のインタフェースのアドレスとを保持する第１のセッション管理テーブルに基づいて、第１のインタフェース側でのトラヒックの振分けを行い、セッションを特定する情報と第２のインタフェースのアドレスとを保持する第２のセッション管理テーブルに基づいて、第２のインタフェース側でのトラヒックの振分けを行うトラヒック振分け方法であって、新たにネットワークサービス装置を接続するときに、そのネットワークサービス装置が提供するサービスに関する情報とそのネットワークサービス装置の第１のインタフェースのアドレスとを含むＡＲＰパケットを第１のインタフェースを介してネットワークに送信し、そのネットワークサービス装置が提供するサービスに関する情報とそのネットワークサービス装置の第２のインタフェースのアドレスとを含むＡＲＰパケットを第２のインタフェースを介してネットワークに送信することと、ネットワーク内に設けられ、各ネットワークサービス装置ごとにそのネットワークサービス装置が有するサービス機能に関する情報とそのネットワークサービス装置の第１及び第２のインタフェースのアドレスとを保持するサービス情報テーブルをＡＲＰパケットの内容に基づいて更新することと、サービス情報テーブルの内容に基づいて第１及び第２のセッション管理テーブルが設定することと、を有し、セッションを保持したまま同一セッションのトラヒックを同一のネットワークサービス装置に振り分ける。
【発明の効果】
【００１７】
本発明によれば、各ネットワークサービス装置ごとにそのネットワークサービス装置が有するサービス機能に関する情報とそのネットワークサービス装置の第１及び第２のインタフェースのアドレスとを保持するサービス情報テーブルを備え、新規にネットワークサービス装置を追加したときにＧ−ＡＲＰ(Gratuitous ARP)を拡張した仕組みを用いてサービス情報テーブルが更新されるようにし、かつ、サービス情報テーブルの内容に基づいて、同一セッションのトラヒックが同一ネットワークサービス装置に振り分けられるように各振分け装置のセッション管理テーブルが設定されるようにすることにより、新規サービス追加やサービス装置の増設処理のたびに振分け装置に対してセッション識別子（上記の４タプル）やネットワークサービス装置のＭＡＣアドレスの設定作業を人手によって行うことが不要となり、新規装置を接続するだけで新規サービス追加や増設処理が可能となる、という効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】（ａ）は従来のネットワークサービスシステムの構成を示すブロック図であり、（ｂ）はセッション管理テーブルの構成の一例を示す図である。
【図２】ＴＣＰステートフルファイアウォールの動作を示すシーケンス図である。
【図３】本発明の実施の一形態のネットワークサービスシステムの構成を示すブロック図である。
【図４】拡張Ｇ−ＡＲＰにおいて用いられるＡＲＰパケットの構成を示す図である。
【図５】ネットワークサービス装置としてステートフルファイアウォールを追加する場合の例を示すブロック図である。
【図６】制御装置において収容フロー数を保持するように構成したネットワークサービスシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
次に、本発明の好ましい実施形態について、図面を参照して説明する。
【００２０】
図３に示す本発明の実施の一形態のネットワークサービスシステムは、図１に示した従来のネットワークサービスシステムと同様に、トラヒックの振分けを行う前段の振分け装置１３と後段の振分け装置１４を備え、これらの振分け装置１３，１４の間に複数のネットワークサービス装置１１とトラヒックモニタ１２とが並列に設けられている。さらに、このネットワークサービスシステムには、両方の振分け装置１３，１４と接続する制御装置２０が設けられている。振分け装置１３，１４は図１に示した振分け装置７３，７４と同様のものであって、振分け転送処理部１５とセッション管理テーブル１６を備えており、特に、セッション管理テーブル１６のテーブル構成は、図１に示したセッション管理テーブル７６と同一である。ネットワークサービス装置１１及びトラヒックモニタ１２は、それぞれ、図１に示されたネットワークサービス装置７１及びトラヒックモニタ７２と同様のものであるが、いずれも拡張Ｇ−ＡＲＰ制御部２３を備えている点で、図１に示されたものと異なっている。拡張Ｇ−ＡＲＰ制御部２３は、後述する拡張Ｇ−ＡＲＰに基づくＡＲＰ（アドレス解決プロトコル(Address Resolustion Protocol)）パケットを生成し、振分け装置１３，１４に送信する機能を有する。
【００２１】
制御装置２０は、サービス情報テーブル２１を備えており、振分け装置１３，１４に対してネットワークサービス装置１１やトラヒックモニタ１２のＭＡＣアドレスの設定を自動的に行う機能を有している。サービス情報テーブル２１は、複数のネットワークサービス装置１１及びトラヒックモニタ１２の各々について、そのＭＡＣアドレスとその提供するサービスの種別に関する情報（サービス情報）とを保持するものである。各ネットワークサービス装置１１及びトラヒックモニタ１２は、いずれも、前段の振分け装置１３と後段の振分け装置１４とに対して異なるネットワークインタフェースで接続するものであり、一般にネットワークインタフェースごとにユニークなＭＡＣアドレスが付与されていることから、１つのネットワークサービス装置１１（あるいはトラヒックモニタ１２）ごとに、前段の振分け装置１３との接続に用いられるインタフェースのＭＡＣアドレス（振分け装置（前段）側のＭＡＣアドレス）と後段の振分け装置１４との接続に用いられるインタフェースのＭＡＣアドレス（振分け装置（後段）側のＭＡＣアドレス）とがサービス情報テーブル２１に登録されることになる。
【００２２】
このような制御装置２０は、振分け装置１３，１４との接続関係を維持できるのであれば、ネットワーク内の任意の場所に設けることができる。また、仮想マシンとしてネットワークサービス装置が実現される場合に、仮想マシン管理装置内に制御装置２０が実装されるようにしてもよい。
【００２３】
ところでＩＰネットワークでは、ネットワーク機器を新たにネットワークに接続するときにＩＰアドレスの重複を確認するために、また、ネットワーク機器のＡＲＰキャッシュの更新を行わせるために、Ｇｒａｔｕｉｔｏｕｓ  ＡＲＰ（Ｇ−ＡＲＰ）が用いられている。本実施形態では、Ｇ−ＡＲＰの仕組みを拡張し（以下、拡張Ｇ−ＡＲＰとも呼ぶ）、新規サービスの追加や設備増設のために新たにネットワークサービス装置を追加する際に、その追加されるネットワークサービス装置のサービス情報やＭＡＣアドレスをサービス情報テーブル２１に登録し、その登録された情報に基づいて、各振分け装置１３，１４のセッション管理テーブル１６においてその追加されたネットワークサービス装置についての設定が自動的になされるようにしている。具体的には、通常のネットワーク機器がネットワークに接続されるときと同様に、追加されるネットワークサービス装置は、振分け装置１３，１４に接続されるタイミングで、振分け装置１３，１４の各々に対して、拡張Ｇ−ＡＲＰによるＡＲＰパケットを送信する。このとき、前段の振分け装置１３に送られるＡＲＰパケットには、ネットワークサービス装置における前段の振分け装置１３側のインタフェースのＭＡＣアドレスとそのネットワークサービス装置のサービス情報とが含まれる。同様に後段の振分け装置１４に送られるＡＲＰパケットには、後段の振分け装置１４側のインタフェースのＭＡＣアドレスとそのネットワークサービス装置のサービス情報とが含まれる。
【００２４】
拡張Ｇ−ＡＲＰによるＡＲＰパケットを受け取った振分け装置１３，１４の各々は、受け取ったＡＲＰパケットに含まれるサービス情報とＭＡＣアドレスの情報とを制御装置２０に送信し、これを受信した制御装置２０は、受け取ったサービス情報とＭＡＣアドレスとをサービス情報テーブル２１に追加する。
【００２５】
トラヒック振分けを動的に行わない場合には、この段階で、サービス情報テーブル２１の記述内容に基づいて振分け措置１３，１４のセッション管理テーブル１６を静的に設定すればよい。
【００２６】
一方、動的なトラヒック振分けを行う場合には、振分け装置１３，１４におけるセッション管理テーブル１６の動的変更を実行する。図３に示したネットワークサービスシステムでは、セッションの最初のパケットは、外部から振分け装置１３，１４のどちらに到着してもよいが、ここでは説明を簡単にするため、振分け装置１３に到着するものとする。
【００２７】
振分け装置１３は、パケットを受信すると、そのパケットの４タプルに基づいてセッション管理テーブル１６を参照し、セッション管理テーブル１６に該当する４タプルが存在するか否かを判定する。存在しない場合には、そのパケットはセッションに関する最初のパケットということになるので、そのパケットのコピーを制御装置２０へ送信する。制御装置２０は、パケットを解析し、要求されているサービスの種別などを判定してどのネットワークサービス装置に振り分けるべきかを決定し、振分け装置１３に、決定したネットワークサービス装置の振分け装置１３側のＭＡＣアドレスを通知する。同時に制御装置２０は、対向側の振分け装置１４にも、決定したネットワークサービス装置の振分け装置１４側のＭＡＣアドレスとパケットの４タプルとを通知する。振分け装置１３は、制御装置２０からＭＡＣアドレスが送られてくると、パケットの４タプルとともにそのＭＡＣアドレスをセッション管理テーブル１６に追加し、さらにパケットの宛て先ＭＡＣアドレスを制御装置２０から送られてきたＭＡＣアドレスに書き換えてネットワークサービス装置１１に送信する。これによりパケットは、制御装置２０で決定されたネットワークサービス装置に送られることになる。一方、振分け装置１４では、制御装置２０から送られてきたＭＡＣアドレスと４タプルとをセッション管理テーブル１６に登録する。このとき、４タプルに関し、振分け装置１３のセッション管理テーブル１６に登録されたものとは、送信元と宛て先とが入れ替えられたものとする。これにより、同一セッションのパケットは同一のネットワークサービス装置に振り分けられるように、振分け装置１３，１４のセッション管理テーブル１６が動的に設定されたことになる。
【００２８】
振分け装置１３（あるいは１４）でパケットを受信した際にそのパケットの４タプルが既にセッション管理テーブル１６に登録されていれば、そのパケットは既存のセッションのパケットである。既存のセッションのパケットを受信した振分け装置１３，１４は、そのセッション管理テーブル１６によって指定されるＭＡＣアドレスによってそのパケットの宛て先ＭＡＣアドレスを書き換え、パケットをネットワークサービス装置に送信する。
このとき、同一セッションに属するパケットは、セッションを維持したまま、同一のネットワークサービス装置に振り分けられることが保証される。
【００２９】
次に、本実施形態での拡張Ｇ−ＡＲＰにおいて使用されるＡＲＰパケットについて説明する。Ｇ−ＡＲＰで用いられるパケットは、通常のＡＲＰで用いられるＡＲＰパケットそのものであり、ＲＦＣ８２６において規定されるフォーマットを有する。本実施形態の拡張Ｇ−ＡＲＰで用いられるパケットも、図４に示すように、ＲＦＣ８２６に定められるフォーマットに準拠したものである。ただし、６バイト長の送信元ＭＡＣアドレスのフィールドと４バイト長の送信元ＩＰアドレスフィールドの間に２バイト（すなわち１６ビット）のフィールドを確保し、同様に６バイト長の宛て先ＭＡＣアドレスのフィールドと４バイト長の宛て先ＩＰアドレスフィールドの間に２バイトのフィールドを確保し、このように確保したフィールドを使用して、サービス種別や、処理可能数、ＯＳ名など、サービスに必要な情報をサービス情報として格納している。図示したものでは、送信元ＭＡＣアドレスに引き続く２バイトにサービス情報を格納している。２種類のファイアウォール機能があってそれらをＴＣＰステートフルファイアウォール機能ＡとＴＣＰステートフルファイアウォール機能Ｂとするとき、これらのファイアウォール機能を区別するために例えば前者にはサービス種別番号として“１”を後者には“２”を割り当て、このように割り当てられたサービス種別番号をサービス情報のフィールド内に格納する。
【００３０】
拡張Ｇ−ＡＲＰに基づくＡＲＰパケット以外に通常のＧ−ＡＲＰあるいはＡＲＰに基づくパケットがネットワーク内に流れる場合にこれらの間の混同を防止するためには、通常のＡＲＰパケットでは１６進値で0x06が格納されているＨＬＥＮフィールドの値を0x08にすればよい。
【００３１】
図５は、ネットワークサービス装置として、トラヒックモニタ１２と、ＵＲＬ(Uniform Resource Locator)に基づくフィルタリング処理を実行するＵＲＬフィルタリング装置１７と、ＴＣＰステートフルファイアウォール１８とが用意されるとしたときの本実施形態の構成例を示している。ここでネットワークサービス装置としてのトラヒックモニタ１２は、上述した制御Ｇ−ＡＲＰ制御部２３と、トラヒックモニタ部２４と、２つの振分け装置１３，１４への接続にそれぞれ用いられるインタフェース２５，２６とを備えている。インタフェース２５，２６には異なるＭＡＣアドレスが付与されている。トラヒックモニタ部２４は、インタフェース２５，２６間を通過するパケットを検査してトラヒックを監視する処理を実行する。
【００３２】
図５に示すように、振分け装置１３，１４に接続されることによって既に１台のトラヒックモニタ１２とＵＲＬフィルタリング装置１７とＴＣＰステートフルファイアウォール１８とがネットワークサービスシステムを構成しているとして、新たに、もう１台のトラヒックモニタ１２をネットワークサービス装置として追加した場合を考える。このとき、新たに追加されたトラヒックモニタ１２において、制御Ｇ−ＡＲＰ制御部２３により、インタフェース２５，２６から拡張Ｇ−ＡＲＰのＡＲＰパケットが振分け装置１３，１４に送られ、さらにこのトラヒックモニタ１２のサービス情報とＭＡＣアドレスの情報が各振分け装置１３，１４から制御装置に送られ、その結果、サービス情報テーブル２１に、新たに追加されたトラヒックモニタ１２のサービス情報とＭＡＣアドレスとが登録されることになる。その後は、上述と同様に、動的にあるいは静的に振分け装置１３，１４のセッション管理テーブル１６の設定がなされることになる。
【００３３】
以上説明したように本実施形態のネットワークサービスシステムでは、ネットワークサービス装置のサービス情報とＭＡＣアドレスとを管理するサービス情報テーブルを備える制御装置を設け、Ｇ−ＡＲＰを拡張した拡張Ｇ−ＡＲＰを使用し、ネットワークサービス装置を追加する際に拡張Ｇ−ＡＲＰを利用してそのネットワークサービス装置のサービス情報やＭＡＣアドレスを制御装置に伝えてサービス情報テーブルを更新するようにしている。そして、サービス情報テーブルの内容に応じて各振分け装置のセッション管理テーブルが動的にあるいは静的に設定できるようにしている。これにより、新規サービスの追加やネットワークサービス装置の増設のたびに前段及び後段の振分け装置に対して保守管理者がセッション管理テーブルを同時に設定する作業を行う必要がなくなり、新たにネットワークサービス装置を接続するだけで、少ない作業量で迅速かつ確実に新規サービス追加や増設の作業を完了させることができる。これはネットワークサービス装置をいわゆるプラグインとして取り扱うことを可能とするものである。また、各振分け装置におけるセッション管理テーブルを動的に設定、更新できるため、例えば、個々のネットワークサービス装置の能力や実際の負荷量に応じて適切なトラヒック振分けを行うことが可能となる。
【００３４】
拡張Ｇ−ＡＲＰのＡＲＰパケットのサービス情報のフィールドに格納できる項目は、上述したサービス種別に限定されるものではない。例えば、個々のネットワークサービス装置の性能や各種の制約条件なども記述することができる。図６は、サービス種別とそのネットワークサービス装置の収容可能フロー数とをサービス情報に格納する場合のネットワークサービスシステムを示している。
【００３５】
図６に示したものの場合、制御装置２０には、サービス情報テーブル２１の代わりに、ネットワークサービス装置ごとの収容可能フロー数も格納するサービス情報／ＭＡＣアドレステーブル２２が設けられる。サービス情報／ＭＡＣアドレステーブル２２は広義のサービス情報テーブルに含まれる。ネットワークサービス装置が追加されたとき、その追加されたネットワークサービス装置から振分け装置１３，１４に送られる拡張Ｇ−ＡＲＰのＡＲＰパケットには、サービス種別、収容可能フロー数及びＭＡＣアドレスが含まれており、これらの情報は振分け装置１３，１４から制御装置２０に送られ、制御装置２０では、これらの情報に基づいてサービス情報／ＭＡＣアドレステーブル２２が更新される。また制御装置２０は、セッションの最初のパケットを振分け装置１３，１４から受け取った場合、同一のサービス種別に対して複数のネットワークサービス装置がある場合には、サービス情報／ＭＡＣアドレステーブル２２に記述された収容可能フロー数にしたがった重み付けで各ネットワークサービス装置にトラヒックが振り分けられるように、そのセッションを処理すべきネットワークサービス装置を決定して振分け装置１３，１４に対して振分けの設定を行う。具体的には、同一サービス種別で収容可能フロー数が１０００であるネットワークサービス装置と収容可能フロー数が２０００であるネットワークサービス装置がある場合、制御装置２０は。これらのネットワークサービス装置に対して１：２の割合でトラヒックが振り分けられるように、振分け装置１３，１４に対する設定を行う。
【符号の説明】
【００３６】
１１，７１    ネットワークサービス装置
１２，７２    トラヒックモニタ
１３，１４，７３，７４    振分け装置
１５，７５    振分け転送処理部
１６，７６    セッション管理テーブル
１７    ＵＲＬフィルタリング装置
１８ＴＣＰステートフルファイアウォール
２０    制御装置
２１    サービス情報テーブル
２２    サービス情報／ＭＡＣアドレステーブル
２３    拡張Ｇ−ＡＲＰ制御部
２４    トラヒックモニタ部
２５，２６    インタフェース
【図１】
0005952235.tif 000002
【図２】
0005952235.tif 000003
【図３】
0005952235.tif 000004
【図４】
0005952235.tif 000005
【図５】
0005952235.tif 000006
【図６】
0005952235.tif 000007