JP5229109B2 - Packet relay processor - Google Patents
Packet relay processor Download PDFInfo
- Publication number
- JP5229109B2 JP5229109B2 JP2009123037A JP2009123037A JP5229109B2 JP 5229109 B2 JP5229109 B2 JP 5229109B2 JP 2009123037 A JP2009123037 A JP 2009123037A JP 2009123037 A JP2009123037 A JP 2009123037A JP 5229109 B2 JP5229109 B2 JP 5229109B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- session
- server
- service
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、パケット中継処理装置に関する。 The present invention relates to a packet relay processing apparatus.
現在、WWW(World Wide Web)やE−mail、携帯電話におけるパケット通信サービスの普及により、インターネットが急速に大規模化している。それに伴い、ネットワークのさらなる高速化や、セキュリティ等の高機能化の要求が高まって来ている。現状のネットワークサービスの実行形態は、サーバと、NIC(Network Interface Card)等のネットワーク接続装置という構成が一般的である。昨今のネットワークサービスは複雑化してきており、様々な、そして新しい要求に対し柔軟に対応できるという点で、サーバというプラットホームが適している。 Currently, the scale of the Internet is rapidly increasing due to the spread of packet communication services in WWW (World Wide Web), E-mail, and mobile phones. Along with this, there is an increasing demand for higher speed networks and higher functions such as security. The current network service execution form is generally configured by a server and a network connection device such as a NIC (Network Interface Card). Today's network services are becoming more complex, and a server platform is suitable because it can respond flexibly to various and new requirements.
図39に従来のパケット中継処理装置の構成を示す。同図はサーバとネットワーク接続装置がネットワーク上で、サービスを実現する一般的な構成を示しており、矢印は制御情報の流れ、太い矢印はパケット情報を示す。 FIG. 39 shows the configuration of a conventional packet relay processing apparatus. This figure shows a general configuration in which a server and a network connection device realize a service on a network, arrows indicate the flow of control information, and thick arrows indicate packet information.
同図において、100はサーバであり、パケット処理部101と、サービス1処理部〜サービスn処理部102と、サービス1制御部〜サービスn制御部103を備える。
サービス1処理部〜サービスn処理部102は、サービス1制御部〜サービスn制御部103で定めるポリシーに従い、セッション管理やルーティングを行うとともに、フィルタリングや負荷分散等のサービス処理を行う。
In FIG. 1,
The
104はネットワーク接続装置であり、ネットワーク接続部を介してネットワークから入力されたパケットは、ネットワーク接続装置104、パケット通信部105を介してサーバ100のパケット処理部101に送られ、パケットが処理される。
最近の急激なインターネットの大規模化のため、ネットワークを流れるパケットの量は指数関数的な伸びを示している。このため、従来のサーバでは、要求される処理速度に応えきれなくなってきており、サーバを高速化する技術が求められている。また、新しいプラットホームを作る上で、サーバの多くのサービスを統合することができるという点は、できる限り損なわないようにしたい。 Due to the recent rapid expansion of the Internet, the amount of packets flowing through the network has shown an exponential growth. For this reason, the conventional server cannot meet the required processing speed, and a technology for speeding up the server is required. Also, we want to avoid losing as much as possible the ability to integrate many services of the server in creating a new platform.
本発明は上記問題を解決するためになされたものであって、多くのネットワークサービスで使用している共通処理を、ネットワーク接続装置に配置することにより、サーバのサービス処理を高速化することを目的とする。 The present invention has been made to solve the above problems, and aims to speed up service processing of a server by arranging common processing used in many network services in a network connection device. And
パケット処理方法において、ネットワーク接続装置は、受信したパケットのセッション毎に、該パケットに適用すべき処理とサーバへのパケット転送の要又は不要を示す情報を記憶し、前記受信したパケットのセッションに対応して記憶された情報のうち、前記サーバへのパケット転送の要又は不要を示す情報が要である場合に、該受信したパケットを前記サーバに転送し、前記サーバは、転送された前記パケットに対して所定の処理を行い、前記セッションについて、以降の受信パケットについて該サーバでの処理が不要である場合に、前記セッションに対応して記憶された情報のうち、該サーバへのパケット転送の要の情報を不要に変更し、前記サーバは、受信したパケットに含まれる種別情報に基づいて該サーバの負荷を分散させる処理を行うと判定した場合、前記パケットに含まれるURL(Uniform Resource Locator)を用いて、URLと該負荷の振分先となる振分先サーバとが関係づけられた情報を参照して該負荷の振分先となる振分先サーバが決定されるまで、該振分先サーバに代わって応答することを特徴とする。 In the packet processing method, the network connection device stores, for each received packet session, information indicating the processing to be applied to the packet and the necessity or unnecessary of packet transfer to the server, and corresponds to the received packet session. When the information indicating whether or not packet transfer to the server is necessary is necessary among the stored information, the received packet is transferred to the server, and the server When a predetermined process is performed on the session and no further process is required on the server for subsequent received packets, out of the information stored corresponding to the session, the packet transfer to the server is required. change the information unnecessarily, the server processing to distribute the load of the server based on the type information included in a received packet If it is determined that performing, by using a URL (Uniform Resource Locator) contained in the packet, the URL and the load distribution destination to become distribution destination server and referring to the information associated relationship of the load A response is made on behalf of the distribution destination server until a distribution destination server that is a distribution destination is determined .
本発明によれば、従来サーバ上に配置していた機能をネットワーク接続装置で行っているので、サーバのCPU使用率を下げることができる。 According to the present invention, since the function conventionally arranged on the server is performed by the network connection device, the CPU usage rate of the server can be lowered.
図1は、本発明の1つの態様の構成および動作を説明する図である。同図において、1はサーバ、2はネットワーク接続装置である。本発明においては、ネットワーク接続装置を統合し、従来サーバ上に配置していたパケット処理部とセッション管理部をネットワーク接続装置2上に配置してパケット中継処理部を構成し、該パケット中継処理部により、ネットワーク接続装置2上でセッション管理に基づくパケット中継処理を行う。
FIG. 1 is a diagram illustrating the configuration and operation of one aspect of the present invention. In the figure, 1 is a server and 2 is a network connection device. In the present invention, the network connection device is integrated, and the packet processing unit and the session management unit that are conventionally arranged on the server are arranged on the
また、ネットワーク接続装置2上に、処理振分部2cと複数のサービス処理部2dを設け、サーバ1により設定されるポリシーに従って、処理振分部2cにより、複数のサービス処理部2dへのセッション管理に基づく振り分けを行う。
In addition, a processing distribution unit 2c and a plurality of
さらに、サーバ1に外部セッション管理機能を設け、セッション数がネットワーク接続装置2のセッションテーブル登録数を上回った場合等に、サーバ1によりセッション管理を行うようにすることもできる。
Further, the
また、サーバ1に外部サービス処理部を設け、上記処理振分部2cが、パケットを上記サーバ1に転送し、サーバ1の外部サービス処理部でサービス処理を実行させるようにしたり、サーバ1にパケット詳細解析部を設け、サーバ1がパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置2に設定し、ネットワーク接続装置2は、以後同じセッションに対して上記決定されたサービス内容に基づき中継処理を行うようにすることもできる。
The
以上のように本発明においては、次のようにして前記課題を解決する。
(1)上記ネットワーク接続装置2に、パケット処理部2aとセッション管理部2bからなる、セッション管理に基づくパケット中継処理部を設け、ネットワーク接続装置2により、セッション管理に基づく中継処理を行う。
As described above, in the present invention, the above-described problems are solved as follows.
(1) The
上記のように、従来サーバ上に配置していた機能をネットワーク接続装置2で行っているので、サーバ1のCPU使用率を下げることができる。また、ネットワーク接続装置2でセッション管理を行い、セッション開始時にセッションテーブルに出力先を登録しているので、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。
(2)上記(1)において、パケット中継処理装置のサーバ1に外部セッション管理機能を設け、ネットワーク接続装置2が、与えられた条件に応じてセッション情報を上記サーバ1に転送し、サーバ1によりセッション管理を行う。
As described above, since the
(2) In (1) above, the
これにより、セッション数がネットワーク接続装置2のセッションテーブル登録数を上回った場合でも、ネットワーク接続装置2で溢れた分をサーバ1で管理することができる。
(3)上記(1〉において、ネットワーク接続装置2に処理振分部2cと複数のサービス処理部2dを設け、処理振分部2cが、上記複数のサービス処理部2dへのパケットの振分を行いサービス処理を実行させる。
Thereby, even when the number of sessions exceeds the number of registered session tables of the
(3) In (1) above, the
上記のように、処理振分部2cと複数のサービス処理部2dをサーバ1より高速に処理できるネットワーク接続装置2に配置することにより、サーバ1のCPUの使用率を小さくすることができるとともに、サービス処理を高速化することができる。
(4)上記(3)において、サーバ1に外部サービス処理部を設け、処理振分部2cが、与えられた条件によって、パケットの振分を行いサーバ1の外部サービス処理部でサービス処理を実行させる。
As described above, by arranging the processing distribution unit 2c and the plurality of
(4) In (3) above, the
上記のようにサービス処理を、ネットワーク接続装置2とサーバ1の両方で実行できるようにすることにより、ネットワーク接続装置2上で実現するのは困難なサービス処理をサーバ1で行うことができ、ネットワークサービスが複雑な処理を必要とする場合でも対応することができる。
(5)上記(1)において、ネットワーク接続装置2に振分処理部2cとサービス処理部2dを設け、また、サーバ1にパケット詳細解析部(不図示)を設け、処理振分部2cが、与えられた条件によってパケットをサーバ1に転送し、サーバ1がパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置2に設定し、ネットワーク接続装置2は、以後同じセッションに対して上記設定されたサービス内容に基づき中継処理を行う。
By enabling service processing to be executed by both the
(5) In the above (1), the
上記のように、サーバ1においてパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置2に設定し、以後同じセッションに対してネットワーク接続装置2が上記決定されたサービス内容に基づき中継処理を行うようにすることにより、サーバ1で全ての処理を行う場合に比べ、サービス処理を高速に実現することが可能となる。
As described above, the
図2は本発明の第1の実施例のパケット中継処理装置の構成を示す図である。
同図において、11はサーバであり、ネットワーク制御部12を備えており、ネットワーク制御部12は、管理者が入力したルーティング情報を制御情報通信部31を通して、ネットワーク接続装置20のルーティングテーブル23aに書き込む。制御情報通信部31は、例えばPCI(Peripheral Components Interconnect)バスやシリアルインターフエースである。
FIG. 2 is a diagram showing the configuration of the packet relay processing apparatus according to the first embodiment of the present invention.
In the figure,
20はネットワーク接続装置であり、本実施例のネットワーク接続装置20は、図39に示した複数のネットワーク接続装置104を統合したものであり、パケット処理部21、セッション管理部22、セッションテーブル22a、ルーティング処理部23、ルーティングテーブル23aを備え、前記図38のサーバが行っていた、パケット処理、セッション管理、ルーティング処理等は、ネットワーク接続装置20で行われる。
図2において、ネットワークから入力された図3に示すパケットは、ネットワーク接続部30を通してネットワーク接続装置20のパケット処理部21に送られる。ネットワーク接続部30は、例えばイーサネットコントローラである。
2, the packet shown in FIG. 3 input from the network is sent to the
パケット処理部21では、後述する図4のフローチャートに示す処理を行い、パケットをセッション管理部22に送る。セッション管理部22では、後述する図5のフローチャートに示すようにセッション管理を行い、パケットをパケット処理部21に渡す。
The
パケット処理部21は、後述する図4に示すようにパケットの処理を行い、パケットをネットワーク接続部30を介して、ネットワークに出力する。
図4に上記パケット処理部の処理フローを示す。
The
FIG. 4 shows a processing flow of the packet processing unit.
同図に示すように、パケット処理部21は、ネットワークから入力されたパケットのバッファリングを行い(ステップS1)、チェックサムのチェックを行う(ステップS2)。ついで、パケット処理部21は、パケットのデフラグメンテーションを行い(ステップS3)、パケットをセッション管理部22へ送る(ステップS4)。
As shown in the figure, the
そして、パケット処理部21は、セッション管理部22から送られてくるパケットのフラグメンテーション(ステップS5)、チェックサム再計算を行い(ステップS6)、パケットをネットワークに出力する。なお、パケット処理部21における処理は従来のパケット処理部における処理と同じである。
Then, the
図5に上記セッション管理部22の処理フローを示す。
同図に示すように、セッション管理部22にパケットが送られてくると、セッション管理部22では、そのパケットに対応するセッションデータをセッションテーブル22aから検索する(ステップS11)。セッションテーブル22aは、セッションを管理するためのセッションデータを格納するテーブルである。図6にセッションテーブル22aの構成例を示す。図6に示すように、セッションデータは、セッションを識別するセッションID(IDentifier)、セッションを一意に決定するためのセッション検索キー(宛先/送信元アドレス、宛先/送信元ポート、プロトコル)、セッションの状態、および出力先などを項目として持つ。
FIG. 5 shows a processing flow of the
As shown in the figure, when a packet is sent to the
ステップS11において、セッション管理部22は、パケットのIPヘッダ内の送信元/宛先IPアドレス、及びTCPヘッダ内のプロトコル、送信元/宛先ポート等の情報をキーにしてセッションテーブル22aを検索する。
In step S11, the
セッション管理部22に送られてきたパケットのヘッダ内の情報とセッション検索キーが一致するセッションデータが、セッションテーブル22aに登録されていない場合には(ステップS12:No)、その送られてきたパケットは、あるセッションの最初のパケットであるので、セッション管理部22は、セッションテーブル22aにそのセッションに関するセッションデータを登録する(ステップS13)。すなわち、ステップS13において、セッション管理部22は、送られてきたパケットのヘッダ内の情報に基づいて、図6に示すセッションテーブル22aにセッション検索キー(宛先/送信元アドレス、宛先/送信元ポート、プロトコル)や、セッションの状態を書き込む。
If the session data whose session search key matches the information in the header of the packet sent to the
ついで、ルーティング処理部23でルーティングテーブル23aの検索を行い、検索の結果として得られた出力先をセッションテーブル22aに書き込む(ステップS14)。
一方、セッションテーブル22aにそのパケットのヘッダ内の情報とセッション検索キーが一致するセッションデータが登録されている場合には(ステップS12:Yes)、セッション管理部22は、そのセッションの状態を検査して、状態が遷移するかどうかを判定する(ステップS15)。そして、状態が遷移する場合には(ステップS15:Yes)、セッション管理部22は、セッションテーブル22a内のセッション状態を書き換える(ステップS16)。
Next, the
On the other hand, when session data whose session search key matches the information in the header of the packet is registered in the session table 22a (step S12: Yes), the
そして、セッション管理部22は、セッションの状態遷移が終わりセッションクローズの場合、すなわちセッション状態がTIME_WAIT及びCLOSEDになっている場合には(ステップS17:Yes)、そのセッションに関するセッション検索キー、セッション状態および出力先等をセッションテーブル22aのエントリから削除する(ステップS18)。そして、処理が終わったパケットは出力先に送られる。セッションの状態がセッションクローズになっていない場合は(ステップS17:No)、セッション管理部22はステップS18を行わず、処理が終わったパケットは出力先に送られる。
When the session state transition ends and the session is closed, that is, when the session state is TIME_WAIT and CLOSED (step S17: Yes), the
上記状態遷移は、TCPとその他のプロトコルではその判断が異なる。以下、TCPとその他のプロトコルを分けて説明する。
図7にTCPの場合のセッション状態を示す。TCPの場合、セッション状態には、図7に示すように、CLOSED、SYN_RECV、ESTAB、FIN_RECV、FIN_SENT、TIME_WAITの6つの状態を設定する。
The determination of the state transition differs between TCP and other protocols. Hereinafter, TCP and other protocols will be described separately.
FIG. 7 shows a session state in the case of TCP. In the case of TCP, as shown in FIG. 7, six states of CLOSED, SYN_RECV, ESTAB, FIN_RECV, FIN_SENT, and TIME_WAIT are set in the session state.
セッションテーブル22aのセッション状態には、図6に示すようにCLOSEDを除く上記5つの状態のうち、どの状態であるかが書き込まれている。
セッションが登録されていない時には状態がCLOSEDになっており、この状態でSYNパケットが到着した場合、セッション状態はSYN_RECVに状態遷移する。その際、セッション管理部22は、セッションテーブル22aの「セッション状態」をSYN_RECVに書き換える。ついで、セッション状態は、ESTAB〈Established〉状態に遷移し、パケットが送受信される。そして、FINパケットによりセッションは終了する。以下同様にして、SYNパケットとFINパケットの到着を検知することにより、セッション管理部22は、セッションの開始と終了を検知することができる。
In the session state of the session table 22a, as shown in FIG. 6, which of the above five states excluding CLOSED is written.
When the session is not registered, the state is CLOSED. When a SYN packet arrives in this state, the session state changes to SYN_RECV. At that time, the
図8にTCPの場合のセッション開始からセッション終了までの状態遷移の様子の一例を示す。
同図に示すように、クライアントとサーバ間で通信を行う場合、まずクライアントからSYNパケットを送信する。ついで、サーバからSYN_ACKパケットを返し、これに応答してクライアントからサーバにACKパケットを送信する。これにより、セッション状態は、SYN状態からESTAB(Established)状態に遷移し、以後、クライアントとサーバは、相互にパケットを送受信する。そして、セッションを終了する際、例えばクライアントからFINパケットをサーバに送信し、サーバがFIN_ACKパケットをクライアントに送信し、これに応答してクライアントからACKパケットをサーバに送信することによりセッションが終了する(CLOSED状態となる)。
FIG. 8 shows an example of state transition from session start to session end in the case of TCP.
As shown in the figure, when communication is performed between a client and a server, a SYN packet is first transmitted from the client. Next, a SYN_ACK packet is returned from the server, and in response to this, an ACK packet is transmitted from the client to the server. As a result, the session state transitions from the SYN state to the ESTAB (Established) state, and thereafter, the client and the server transmit and receive packets to and from each other. When the session is terminated, for example, the client transmits a FIN packet to the server, the server transmits a FIN_ACK packet to the client, and in response thereto, the client transmits an ACK packet to the server to terminate the session ( CLOSED state).
これに対し、TCP以外では、パケットにSYNやFINのフラグが存在しない。図9に一例としてUDPの場合の状態遷移を示す。図9に示すようにセッションテーブル22aに登録されていないセッションに属するパケットが届いた場合には、セッション管理部22は、そのセッションの状態をESTABとする。セッションの終了は検知することができないので、セッション管理部22は、タイマーによって一定時間パケットの通過が無い場合にはそのセッションをセッションテーブル22aから削除することによって対応する。
On the other hand, except for TCP, there is no SYN or FIN flag in the packet. FIG. 9 shows a state transition in the case of UDP as an example. As shown in FIG. 9, when a packet belonging to a session not registered in the session table 22a arrives, the
以上説明したように、本実施例においては、ネットワーク接続装置20にセッション管理に基づくパケット中継処理機能を設け、従来サーバ11上に配置していた機能をネットワーク接続装置20が果たすようにしたので、サーバ11のCPUの使用率を下げることができる。
As described above, in this embodiment, the
また、ネットワーク接続装置20にセッション管理部22を設け、セッション開始時にセッションテーブル22aに出力先を登録しているので、セッションの途中でルーティングテーブル23aのエントリが変更されても、現在継続中のセッションについては、一貫性を保持できる。
In addition, since the
図10は本発明の第2の実施例のパケット中継処理装置の構成を示す図である。本実施例は、前記図2に示した第1の実施例のパケット中継処理装置において、セッション情報をサーバ11に転送するサーバ転送部24、セッション情報の通信を行うセッション情報通信部32、外部セッション管理部13、外部セッションテーブル13aを設けたものである。そして、ネットワーク接続装置20のセッションテーブル22aが一杯になったとき、サーバ11に設けた外部セッション管理部13によりセッション管理を行う。その他の動作は第1の実施例と同様である。
FIG. 10 is a diagram showing the configuration of the packet relay processing apparatus according to the second embodiment of the present invention. In this embodiment, in the packet relay processing apparatus of the first embodiment shown in FIG. 2, a
図11に本実施例におけるセッション管理部、外部セッション管理部における処理フローを示す。
同図に示すように、セッション管理部22にパケットが送られてくると、セッション管理部22、外部セッション管理部13では、パケットのヘッダに格納された情報を検索キーとしてセッションテーブル22a、外部セッションテーブル13aを検索する(ステップS21)。セッションテーブル22a、13aは前記図6で説明したセッションを管理するための情報を格納したテーブルである。
FIG. 11 shows a processing flow in the session management unit and the external session management unit in this embodiment.
As shown in the figure, when a packet is sent to the
セッション管理部22に送られてきたパケットのヘッダ内の情報とセッション検索キーが一致するセッションデータがセッションテーブル22a及び外部セッションテーブル13aに登録されていない場合には(ステップS22:No)、そのパケットは、あるセッションの最初のパケットであるので、まず、セッション管理部22は、セッションテーブル22aが一杯かを調べる(ステップS23)。
When the session data whose session search key matches the information in the header of the packet sent to the
セッションテーブル22aが一杯でない場合には(ステップS23:No)、セッション管理部22は、前記したようにセッションテーブル22aにそのセッションのセッションデータの登録を行う(ステップS24)。ついで、ルーティング処理部23でルーティングテーブル23aの検索を行い、結果をセッションテーブル22aに出力先を書き込む(ステップS25)。
If the session table 22a is not full (step S23: No), the
また、セッションテーブル22aに、パケットのヘッダ内の情報とセッション検索キーが一致するセッションデータが登録されている場合には(ステップS22:Yes)、セッション管理部22はセッション状態を検査して、状態が遷移するかどうかを判定する(ステップS26)。そして、状態が遷移する場合には(ステップS26:Yes)、セッション管理部22は、セッションテーブル22aに格納されたセッションデータのセッション状態を書き換える(ステップS27)。
If session data whose session search key matches the information in the packet header is registered in the session table 22a (step S22: Yes), the
そして、セッションの状態遷移が終わった後、セッションクローズの場合には(ステップS28:Yes)、セッション管理部22は、セッションテーブル22aのエントリからそのセッションデータを削除する(ステップS29)。処理が終わったパケットは出力先に送られる。
If the session is closed after the session state transition is completed (step S28: Yes), the
一方、セッションの最初のパケットを登録する際、セッションテーブル22aが一杯の場合には(ステップS23:Yes)、サーバ11の外部セッション管理部13で上記と同様の処理を行う。
On the other hand, when registering the first packet of the session, if the session table 22a is full (step S23: Yes), the external session management unit 13 of the
すなわち、前記ステップS24およびステップS25で説明したようにして、外部セッション管理部13は、外部セッションテーブル13aにそのパケットのセッションのセッションデータを登録し(ステップS30)、ルーティング処理部23は、ルーティングテーブルの検索を行って、結果を外部セッションテーブル13aに出力先を書き込む(ステップS31)。
That is, as described in steps S24 and S25, the external session management unit 13 registers the session data of the session of the packet in the external session table 13a (step S30), and the
また、外部セッションテーブル13aにそのパケットのヘッダ内の情報とセッション検索キーが一致するセッションデータが登録されている場合には(ステップS22:Yes)、外部セッション管理部13は、外部セッションテーブル13aのセッション状態を検査して、セッション状態が遷移するかどうかを判定する(ステップS26)。状態が遷移する場合には、外部セッション管理部13は、外部セッションテーブル13aの「セッション状態」を書き換える(ステップS27)。そして、セッションの状態遷移が終わった後、セッションクローズの場合には(ステップS28:Yes)、外部セッション管理部13は、セッションテーブル13aのエントリからそのセッションデータを削除する(ステップS29)。 If session data whose session search key matches the information in the header of the packet is registered in the external session table 13a (step S22: Yes), the external session management unit 13 stores the data in the external session table 13a. The session state is inspected to determine whether or not the session state transitions (step S26). When the state transitions, the external session management unit 13 rewrites the “session state” in the external session table 13a (step S27). When the session is closed after the session state transition ends (step S28: Yes), the external session management unit 13 deletes the session data from the entry in the session table 13a (step S29).
以上のように、本実施例においては、ネットワーク接続装置20にセッション管理に基づくパケット中継処理機能を設け、従来サーバ11上に配置していた機能をネットワーク接続装置20が果たすようにしたので、第1の実施例と同様、サーバ11のCPUの使用率を下げることができる。また、第1の実施例と同様、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。
As described above, in this embodiment, the
さらに、セッション数がネットワーク接続装置20のセッションテーブルに登録できる数を上回った場合、サーバ11に設けた外部セッション管理部13でセッション管理を行っているので、ネットワーク接続装置20で溢れた分をサーバ11で管理することが可能となる。
Furthermore, if the number of sessions exceeds the number that can be registered in the session table of the
なお、上記説明ではサーバ11に外部セッション管理部13を設けてサーバ11でセッション管理を行っているが、サーバ11に外部セッションテーブル13aのみを設け、セッション管理はネットワーク接続装置20のセッション管理部22で行い、セッションテーブル22aで溢れたセッションを上記外部セッションテーブル13aに登録するようにしてもよい。
In the above description, the external session management unit 13 is provided in the
図12は本発明の第3の実施例のパケット中継処理装置の構成を示す図である。本実施例によれば、ネットワーク接続装置20に処理振分部26とサービス処理部27とポリシーテーブル25を設け、サーバ11により設定されるポリシーに従って、ネットワーク接続装置20がフィルタリング、負荷分散、NAT等のサービス処理を実行する。
FIG. 12 is a diagram showing the configuration of the packet relay processing apparatus according to the third embodiment of the present invention. According to this embodiment, the
同図において、11はサーバであり、サーバ11はサービス制御部14を備えており、サービス制御部14は、制御情報通信部31を通して、ネットワーク接続装置20のポリシーテーブル25にポリシーを書き込む。ここで、ポリシーとは、フィルタリング、負荷分散等のサービスを実行するためのルールである。例えば、フィルタリングの場合には、ポリシーに基づいて、ポリシー検索キーの範囲でパケットを廃棄するか通過させるかが設定される。負荷分散の場合には、ポリシーに基づいて、仮想(代表)IPアドレス:ポート番号と、振分先全てのサーバのIPアドレス:ポート番号が設定される。NATの場合には、ポリシーに基づいて、変換後IPアドレス:ポート番号が設定される。
In the figure,
20はネットワーク接続装置であり、本実施例のネットワーク接続装置20は、第1の実施例と同様、パケット処理部21、セッション管理部22、セッションテーブル22a’を備え、さらに、上記ポリシーテーブル25、処理振分部26及び複数のサービス処理部27を備える。サービス処理部27は、パケットに適用されるサービスのタイプに応じて複数備えられる。
本実施例によれば、セッション管理部22は、パケットを受信した場合、受信したパケットのヘッダ内の情報を用いて、セッションテーブル22a’からセッションデータを検索する。そして、そのパケットのヘッダ内の情報が示すセッションデータがセッションテーブル22a’に登録されている場合、上記とほぼ同様な処理が行われる。
According to the present embodiment, when the
一方、そのパケットのヘッダ内の情報によって示されるセッションデータがセッションテーブル22a’に登録されていない場合、セッション管理部22は、ポリシーテーブル25を参照し、そのパケットに適用されるべきポリシーに基づいて、セッションデータを作成し、作成したセッションデータをセッションテーブル22a’に格納する。
On the other hand, when the session data indicated by the information in the header of the packet is not registered in the session table 22a ′, the
処理振分部26は、パケットに対する適用サービスをセッションテーブル22a’に格納されたセッションデータに基づいて判別し、判別された適用サービスに対応するサービス処理部27に処理を振り分ける。複数のサービス処理部27は、各サービスに必要な処理を行う。
The
以下、図13及び図14を用いて、本実施例に係わるセッションテーブル22a’及びポリシーテーブル25について説明する。図13に、本実施例に係わるセッションテーブル22a’の構造例を示す。セッションテーブル22a’は、前記したようにセッションを管理するセッションデータを格納するテーブルである。セッションデータは、セッションID、セッション検索キー(宛先/送信元アドレスおよびポート、プロトコル等)や、セッションの状態、および出力先等を項目として含む。本実施例においては、図13に示すように、セッションデータは、上記情報に加えて、さらに、適用サービスタイプ(フィルタリングや負荷分散など)、そのサービス固有情報(振分先アドレスなど)、一貫性保持時間、イベントフラグ等を項目として含む。適用サービスタイプは、パケットに適用するべきサービスを示す。サービス固有情報は、適用するべきサービスに固有な情報を示す。例えば、適用サービスタイプが負荷分散である場合、サービス固有情報として振分先のアドレスが考えられる。一貫性保持時間は、セッションが終了してからセッションデータを保持すべき時間を示す。つまり、一貫性保持時間が経過するまで、セッションが終了してもセッションデータはセッションテーブル22a’から削除されない。イベントフラグは、そのパケットまたはパケットのヘッダのログを採取するべきか否かを示す。イベントフラグが「オン」である場合、そのパケットまたはパケットのヘッダは、サーバに転送され、サーバによってログが採取される。 Hereinafter, the session table 22a 'and the policy table 25 according to the present embodiment will be described with reference to FIGS. FIG. 13 shows a structural example of the session table 22a 'according to the present embodiment. The session table 22a 'is a table for storing session data for managing a session as described above. The session data includes, as items, a session ID, a session search key (destination / source address and port, protocol, etc.), a session state, and an output destination. In the present embodiment, as shown in FIG. 13, in addition to the above information, the session data further includes an applicable service type (such as filtering and load distribution), its service-specific information (such as a distribution destination address), and consistency. Includes retention time, event flag, etc. as items. The applied service type indicates a service to be applied to the packet. The service specific information indicates information specific to the service to be applied. For example, when the applied service type is load balancing, the distribution destination address can be considered as the service specific information. The consistency retention time indicates the time for which session data should be retained after the session ends. In other words, until the consistency retention time elapses, the session data is not deleted from the session table 22a 'even if the session ends. The event flag indicates whether or not to log the packet or the header of the packet. When the event flag is “ON”, the packet or the header of the packet is transferred to the server, and a log is collected by the server.
図14に、ポリシーテーブルの構成例を示す。ポリシーテーブルは、パケットに対してサービスを実行するためのルールであるポリシーを格納する。図14に示すようにポリシーは、ポリシーID、ポリシー検索キー、適用サービスタイプ、サービス固有情報、優先度、グループID、イベントフラグ、一貫性保持時間及びポリシーヒット数を含む。 FIG. 14 shows a configuration example of the policy table. The policy table stores a policy that is a rule for executing a service on a packet. As shown in FIG. 14, the policy includes a policy ID, a policy search key, an applied service type, service specific information, a priority, a group ID, an event flag, a consistency retention time, and a policy hit count.
ポリシーIDは、ポリシーを識別する情報である。ポリシー検索キーは、パケットに適用するべきポリシーを決定するための情報である。適用サービスタイプは、ポリシーに基づいてパケットに適用されるサービスを示す。サービス固有情報は、セッションデータと同様に、適用サービスに固有な情報を示す。優先度は、ポリシーの優先順位を示す数値である。優先度の値が低いほど、そのポリシーは優先される。優先度は、パケットのヘッダ内の情報が、複数のポリシーのポリシー検索キーに一致した場合、どのポリシーを優先すべきか決定する際に用いられる。グループIDは、ポリシーが属するグループを識別する情報である。イベントフラグ及び一貫性保持時間は、セッションデータと同様である。ポリシーヒット数は、そのポリシーに該当したセッションのカウント値を格納する。 The policy ID is information for identifying a policy. The policy search key is information for determining a policy to be applied to the packet. The applied service type indicates a service applied to the packet based on the policy. The service-specific information indicates information specific to the applicable service, like the session data. The priority is a numerical value indicating the priority order of policies. The lower the priority value, the better the policy. The priority is used when determining which policy should be prioritized when the information in the header of the packet matches the policy search key of a plurality of policies. The group ID is information for identifying the group to which the policy belongs. The event flag and the consistency holding time are the same as the session data. The policy hit count stores the count value of the session corresponding to the policy.
イベントフラグ、一貫性保持時間、グループID及びポリシーヒット数を用いた処理についての説明は、各変形例の変形例として後述する。
以下、図12に示す第3実施例にかかわるパケット中継処理装置の動作について図15から図19を用いて説明する。
The description of the process using the event flag, the consistency retention time, the group ID, and the policy hit number will be described later as a modification of each modification.
The operation of the packet relay processing apparatus according to the third embodiment shown in FIG. 12 will be described below with reference to FIGS.
まず、図12に示すパケット中継処理装置において、ネットワークから入力されたパケットは、ネットワーク接続部30を通り、パケット処理部21に送られる。
パケット処理部21は、前記した図4の処理フローに示したように、入力したパケットのバッファリングとチェックサムのチェック、デフラグメンテーションを行った後、そのパケットをセッション管理部22へ送る。そして、パケット処理部21は、セッション管理部22から送られてきたパケットに対して、フラグメントとチェックサム再計算を行い、ネットワーク接続装置30を介して、ネットワークに出力する。
First, in the packet relay processing apparatus shown in FIG. 12, a packet input from the network passes through the
As shown in the processing flow of FIG. 4, the
本実施例のセッション管理部22の処理フローを図15に示す。
同図に示すように、パケットがセッション管理部22に送られてくると、セッション管理部22は、そのパケットのヘッダ内の情報を用いて図13に示すセッションテーブル22a’からセッションデータを検索する(ステップS41)。
FIG. 15 shows a processing flow of the
As shown in the figure, when a packet is sent to the
セッションテーブルの検索は、第1の実施例と同様、パケットのIPヘッダ内の送信元/宛先IPアドレス、及びTCPヘッダ内のプロトコル、送信元/宛先ポートの情報をキーにして行われる。 As in the first embodiment, the session table is searched using the source / destination IP address in the packet IP header, the protocol in the TCP header, and the source / destination port information as keys.
パケットのヘッダ内の情報とセッション検索キーが一致するセッションデータがセッションテーブル22a’に登録されていない場合(ステップS42:No)、セッションの最初のパケットであるので、セッション管理部22は、そのセッションに対する適用サービスを判定するため、パケットのヘッダ内の情報を用いて、図14に示すポリシーテーブル25からポリシーを検索する(ステップS43)。
When session data whose session search key matches the information in the packet header is not registered in the session table 22a ′ (step S42: No), the
ポリシーテーブル25は、ルーティング情報を持つとともに、サービスを適用する範囲を指定するポリシー検索キー(宛先/送信元アドレスおよびポート、プロトコル。任意や範囲指定でもよい)や適用サービスタイプ(フィルタリング廃棄や負荷分散など)、そのサービス固有の情報(全ての振り分け先アドレスなど)、および、優先度を持つ。 The policy table 25 has routing information, and also includes a policy search key (destination / source address and port, protocol, which can be specified arbitrarily or in a range) that specifies a range to which a service is applied, and an applicable service type (filtering discard or load distribution). Etc.), information specific to the service (such as all distribution destination addresses), and priority.
検索の結果、ポリシーテーブル25のエントリとパケットのヘッダ内の情報がマッチした場合、そのポリシーをセッションテーブル22a’の適用サービスタイプの欄に書き込む。つまり、セッション管理部22は、パケットのヘッダに格納された情報と適合するポリシー検索キーを持つポリシーをポリシーテーブル25から取得する。続いて、セッション管理部22は、パケットのヘッダ内の情報をセッション検索キーとするセッションデータを作成し、セッションテーブル22a’に登録する。さらに、セッション管理部22は、ポリシーに含まれる適用サービスタイプ及びサービス固有情報を、それぞれ登録したセッションデータの適用サービスタイプ欄及びサービス固有情報欄に書き込む(ステップS44)。
As a result of the search, when the entry in the policy table 25 matches the information in the packet header, the policy is written in the applicable service type column of the session table 22a '. That is, the
ただし、複数のポリシーにマッチした場合には、ポリシーテーブル25の優先度が高い順に処理する。また、同一サービスが複数マッチした場合には、優先度が最も高いものを採用し、残りを無効とする。 However, when a plurality of policies are matched, the policy table 25 is processed in descending order of priority. If the same service matches multiple times, the one with the highest priority is adopted and the rest are invalidated.
以下、ポリシーテーブル25を検索した際、パケットのヘッダに格納された情報と適合するポリシー検索キーを持つポリシーが複数存在した場合の処理について、より具体的に説明する。 Hereinafter, the processing in the case where there are a plurality of policies having policy search keys that match the information stored in the packet header when the policy table 25 is searched will be described more specifically.
まず、取得した複数のポリシーに含まれる適用サービスタイプが互いに競合しない場合、セッション管理部22は、ポリシーの優先度の値が低い順に(つまり、優先順位が高い順に)、複数の適用サービスタイプをセッションデータの適用サービスタイプの欄に書き込む。これにより、そのパケットは、優先順位が高い順に複数の適用サービスをうけることになる。
First, when the applied service types included in the acquired plurality of policies do not conflict with each other, the
また、取得した複数のポリシーに含まれる適用サービスタイプが互いに競合する場合、セッション管理部22は、複数のポリシーのうち、ポリシーの優先度の値が最も低いポリシーの適用サービスタイプのみをセッションデータの適用サービスタイプの欄に書き込む。これにより、そのパケットは、最も優先順位が高い適用サービスのみを受けることとなる。
When the applied service types included in the acquired plurality of policies conflict with each other, the
以下、具体例を挙げて説明する。あるパケットのヘッダに格納された情報と適合するポリシー検索キーを持つポリシーとして、以下の6ポリシーが取得されたとする。
ポリシー1:適用サービス=フィルタ通過、優先度=10
ポリシー2:適用サービス=フィルタ通過、優先度=100
ポリシー3:適用サービス=フィルタ通過、優先度=200
ポリシー4:適用サービス=負荷分散、優先度=1000
ポリシー5:適用サービス=負荷分散、優先度=2000
ポリシー6:適用サービス=負荷分散、優先度=3000
この場合、フィルタ通過と負荷分散は、互いに競合しない適用サービスタイプである。また、ポリシー1からポリシー3までの適用サービスタイプは全てフィルタ通過であるため、互いに競合する。同様に、ポリシー4からポリシー6までの適用サービスタイプは全て負荷分散であるため、互いに競合する。セッション管理部22は、適用サービスタイプがフィルタ通過であるポリシーのうち、最も優先度の値が低いポリシー1及び、適用サービスタイプがフィルタ通過であるポリシーのうち、最も優先度の値が低いポリシー4を採用する。続いて、ポリシー1のフィルタ通過の優先度は、ポリシー4の負荷分散の優先度よりも低いため、セッション管理部22は、セッションデータの適用サービスタイプの欄に、フィルタ通過を先にして、フィルタ通過及び負荷分散を書き込む。これにより、そのパケットは、フィルタ通過の後に負荷分散サービスを受けることになる。
Hereinafter, a specific example will be described. Assume that the following six policies are acquired as policies having a policy search key that matches information stored in the header of a packet.
Policy 1: Applicable service = filter pass, priority = 10
Policy 2: Applicable service = filter pass, priority = 100
Policy 3: Applicable service = filter pass, priority = 200
Policy 4: applied service = load distribution, priority = 1000
Policy 5: applied service = load distribution, priority = 2000
Policy 6: applied service = load distribution, priority = 3000
In this case, filter passing and load balancing are applicable service types that do not compete with each other. In addition, since all the applied service types from
ステップS42でYesであった場合に行われるステップS45からステップS48までのセッション状態遷移に関する処理は、第1の実施例で説明したのと同様である。すなわち、セッションテーブル22a’にセッションデータの登録がある場合には、セッション管理部22は、セッションテーブル22a’のセッション状態を検査して、状態が遷移するかどうかを判定する(ステップS45)。そして、セッションの状態が遷移する場合には(ステップS45:Yes)、セッション管理部22は、セッションテーブル22a’の状態を書き換える(ステップS46)。そして、セッションの状態遷移が終わった後、セッション管理部22は、そのセッションのセッションデータをセッションテーブル22a’のエントリから削除する(ステップS48)。処理が終わったパケットは、処理振分部26に送られる(ステップS49)。
The processing related to the session state transition from step S45 to step S48 performed when Yes in step S42 is the same as that described in the first embodiment. That is, when session data is registered in the session table 22a ', the
処理振分部26/サービス処理部27の処理フローを図16に示す。
処理振分部26/サービス処理部27では、パケットに対して適用サービスを判別し、各サービスに必要な処理を行う。
The processing flow of the
The
図16において、パケットが処理振分部26に入力されると、処理振分部26は、そのパケットのヘッダ内の情報を用いてセッションテーブル22a’から、入力したパケットに対応するセッションデータを検索する。検索の結果、得られたセッションデータで示される適用サービスタイプが、ルーティング処理である場合(ステップS51)、処理振分部26は、ルーティング処理を行うサービス処理部27に処理を振り分ける。
In FIG. 16, when a packet is input to the
入力パケットに対応するセッションテーブル22a’に、ルーティング先が書き込まれていない場合、ポリシーテーブル25のルーティングテーブル(不図示)を引き、出力先インターフェースと宛先MACアドレスをセッションテーブル22a’に書き込む。 When the routing destination is not written in the session table 22a 'corresponding to the input packet, the routing table (not shown) of the policy table 25 is drawn and the output destination interface and the destination MAC address are written in the session table 22a'.
より具体的に説明すると、処理振分部26は、そのセッションデータにルーティング先が含まれているか否か判定する(ステップS51)。セッションデータにルーティング先が含まれていない場合(ステップS51:Yes)、処理を振り分けられたサービス処理部27は、そのセッションデータに含まれる宛先IPアドレスを用いてルーティングテーブル(図12では不図示)を検索し、検索の結果得られた出力先インターフェースと宛先MACアドレスをルーティング先として決定し(ステップS52)、決定されたルーティング先をそのセッションデータに書き込む(ステップS53)。以後、そのセッションデータに対応するセッションのパケットは、決定されたルーティング先に転送される。続いて、サービス処理部27は、ステップS56へ進む。
More specifically, the
また、処理振分部26が、セッションテーブル22a’を検索した結果得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットが、負荷分散サービスを受けるべきパケットであり、且つ セッションデータに振分先サーバが含まれていない、つまり、振分先サーバがまだ決定していないと判定した場合と判定した場合(ステップS56:Yes)、処理振分部26は、負荷分散処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、振分先サーバを決定し(ステップS57)、決定された振分先のアドレスを対応するセッションテーブル22a’のサービス固有情報欄に書き込み(ステップS58)、ステップS61に進む。
Further, the
また、処理振分部26が、セッションテーブル22a’を検索した結果得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットがフィルタリング廃棄サービスを受けるべきパケットであると判定したならば(ステップS61:Yes)、処理振分部26は、パケット廃棄処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、そのパケットを廃棄し(ステップS62)、処理を終了する。ステップS61の判定でNoである場合、ステップS63に進む。
If the
処理振分部26が、セッションテーブル22a’を検索した結果得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットが、負荷分散もしくはNATサービスを実行するパケットならば、その入力パケットはヘッダ書換を受けるべきパケットであると判定する(ステップS63:Yes)。処理振分部26は、ヘッダ書換処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、そのパケットのIPヘッダとTCPヘッダ上の送信元/宛先IPアドレス、送信元/宛先ポート等を、セッションテーブル22a’に格納されたセッションデータに従って書き換え、(ステップS64)処理を終了する。なお、セッションデータに複数の適用サービスが格納されている場合、格納されている順に、入力パケットに該複数の適用サービスを実行する。
If the
以上のように、本実施例においては、第1の実施例と同様、サーバ11のCPUの使用率を下げることができ、また、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。
As described above, in this embodiment, as in the first embodiment, the CPU usage rate of the
さらに、処理振分部26と複数のサービスに対応した複数のサービス処理部27を、サーバ11より高速に処理できるネットワーク接続装置20に配置したので、サーバのCPUの使用率を小さくすることができるとともに、サービス処理を高速化することができる。
Furthermore, since the
さらに、また、本実施例によれば、サービスに応じて複数のサービス処理部27をネットワーク接続装置20に備えることとしている。これにより、新たなサービスが必要になった場合、必要となったサービスに対応する新たなサービス処理部27をネットワーク接続装置20に追加することにより、容易に対応することが可能な柔軟な構成を実現する。例えば、新たに、VPN(Virtual Private Network )暗号化サービスや復号化サービスが必要になった場合、新たに、VPN暗号化サービスを行うサービス処理部27及び復号化サービスを行うサービス処理部27を追加することにより対応することが可能である。
Furthermore, according to the present embodiment, the
以下、図17を用いて、より詳しくヘッダ書換処理について説明する。図17に、本実施例においてネットワーク接続装置20が負荷分散サービスを行う場合のパケットフローを示す。なお、図17に示すパケットフローは、図13に示すセッションテーブル22a’内のセッションIDが2及び3であるセッションデータに対応している。また、矢印の方向は、パケットの送信される方向を示す。
Hereinafter, the header rewriting process will be described in more detail with reference to FIG. FIG. 17 shows a packet flow when the
アドレスが10.25.1.230 であるクライアントからアドレスが192.168.100.75であるサーバへパケットが送信される場合、まず、矢印A1に示すように、クライアントからネットワーク接続装置20へ「宛先アドレス:192.168.100.75、送信元アドレス:10.25.1.230 」をヘッダに格納したパケットP1が送信される。ネットワーク接続装置20のセッション管理部22は、パケットP1に含まれる送信元アドレス10.25.1.230 及び宛先アドレス192.168.100.75等をキーとして図13に示すセッションテーブル22a’を参照し、セッションID=3であるセッションデータを取得する。
When a packet is transmitted from the client whose address is 10.25.1.230 to the server whose address is 192.168.100.75, first, as indicated by arrow A1, “destination address: 192.168.100.75, transmission” is sent from the client to the
取得されたセッションデータ内の適用サービスタイプは「ヘッダ書換」であるため、ネットワーク接続装置20内の処理振分部26は、ヘッダ書換処理を行うサービス処理部27に処理を振り分ける。そのセッションデータ内の固有情報は「宛先アドレス:192.168.100.100 」であるため、処理を振り分けられたサービス処理部27は、パケットP1内の宛先アドレスを「192.168.100.75」から「192.168.100.100 」に書き換える。この結果、矢印A2に示すように、ネットワーク接続装置20からアドレスが192.168.100.100である振分先サーバへ「宛先アドレス:192.168.100.100 、送信元アドレス:10.25.1.230」をヘッダに格納したパケットP2が送信される。
Since the applied service type in the acquired session data is “header rewriting”, the
逆に、アドレスが192.168.100.100 である振分先サーバからアドレスが10.25.1.230 であるクライアントへパケットが送信される場合、まず、矢印A3に示すように、振分先サーバからネットワーク接続装置20へ「宛先アドレス:10.25.1.230 、送信元アドレス:192.168.100.100 」をヘッダに格納したパケットP3が送信される。ネットワーク接続装置20のセッション管理部22は、パケットP3に含まれる送信元アドレス及び宛先アドレスをキーとして図13に示すセッションテーブル22a’を参照し、セッションID=2であるセッションデータを取得する。
On the other hand, when a packet is transmitted from the distribution destination server with the address 192.168.100.100 to the client with the address 10.25.1.230, first, as indicated by the arrow A3, the distribution destination server to the network connection device 20 A packet P3 storing “destination address: 10.25.1.230, transmission source address: 192.168.100.100” in the header is transmitted. The
取得されたセッションデータ内の適用サービスタイプ欄のエントリは「ヘッダ書換」であるため、ネットワーク接続装置20内の処理振分部26は、ヘッダ書換処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、そのセッションデータ内の固有情報に基づいて、パケット内の送信元アドレスを「192.168.100.100」から「192.168.100.75」に書き換える。この結果、矢印A4に示すように、ネットワーク接続装置20からアドレスが10.25.1.230であるクライアントへ「宛先アドレス:10.25.1.230、送信元アドレス:192.168.100.75」をヘッダに格納したパケットP4が送信される。このようにして、ネットワーク接続装置20は、パケットのヘッダを書き換える事により、パケットの宛先サーバの負荷を分散させることができる。
Since the entry in the applied service type column in the acquired session data is “header rewriting”, the
図18は本発明の第4の実施例のパケット中継処理装置の構成を示す図である。本実施例は、上記第3の実施例のパケット中継処理装置において、処理振分部26にサーバ転送機能を設けるとともに、サーバ11に外部サービス処理部15を設け、サービス処理を、ネットワーク接続装置20とサーバ11の両方で実行できるようにしたものである。本実施例において、サービス処理をサーバ11で実行する場合には、ポリシーテーブル25にサービスの内容だけでなく、サーバ11に転送することを設定しておく。その他の動作は第3の実施例と同様である。
FIG. 18 is a diagram showing the configuration of the packet relay processing apparatus according to the fourth embodiment of the present invention. In this embodiment, in the packet relay processing apparatus of the third embodiment, the server distribution function is provided in the
図18に示すように、外部サービス処理部15は、第3実施例に係わるサービス処理部27と同様に、適用サービスタイプに応じて複数の外部サービス処理部15をサーバ11に備えられる。従って、第3実施例におけるサービス処理部27と同様に、新たなサービスタイプが必要になった場合、新たなサービスタイプに対応する新たな外部サービス処理部15をサーバ11に追加することにより、容易に対応することが可能である。
As shown in FIG. 18, the external
本実施例にかかわるセッションテーブル22a’及びポリシーテーブル25の構成は、第3実施例とほぼ同様であるため、詳しい説明は省略する。異なる点は、第4実施例によれば、サービス処理部27で行うサービスの内容に加えて、サーバ11に転送して外部サービス処理部15で行うサービスの内容をセッションテーブル22a’及びポリシーテーブル25に設定することができることである。
Since the configuration of the session table 22a 'and the policy table 25 according to the present embodiment is almost the same as that of the third embodiment, detailed description thereof is omitted. The difference is that according to the fourth embodiment, in addition to the content of the service performed by the
以下、本実施例の処理振分部26、サービス処理部27及び外部サービス処理部15における処理の手順を図19に示す。図19において、ステップS51からステップS64までの処理は図16と同じである。例えば、入力パケットに対応するセッションテーブル22a’内のセッションデータで、適用サービスタイプが「ルーティング」が書き込まれ、且つ、ルーティング先が書き込まれていない場合、サービス処理部27は、ポリシーテーブル25のルーティングテーブルを引き、出力先インターフェースと宛先MACアドレスをセッションテーブル22a’内のセッションデータに書き込む。
The processing procedure in the
このように、セッションテーブル22a’の適用サービスタイプを参照し、適用サービスタイプにサーバ転送が設定されていない場合には、前記図16で説明したように、適用サービスタイプに応じた処理を行い、ヘッダ書換えパケットの場合、ヘッダの書換処理を行う。 In this way, referring to the applicable service type of the session table 22a ′, when the server transfer is not set in the applicable service type, as described in FIG. 16, the process according to the applicable service type is performed. In the case of a header rewrite packet, a header rewrite process is performed.
さらに、本実施例によれば、サービスの一部をサーバ11内の外部サービス処理部15が行う。そのために、処理振分部26は、図16のステップS51からステップS64の処理に加えて、以下の手順を行う。
Furthermore, according to the present embodiment, a part of the service is performed by the external
すなわち、処理振分部26は、セッションテーブル22a’を検索して得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットが、サーバ11へ転送されるべきパケットであるか否かを判定する(ステップS71)。セッションデータの適用サービスタイプ欄に「サーバ転送:ON」及び適用サービスタイプが設定されている場合には(ステップS71:Yes)、処理振分部26は、パケットに転送用ヘッダを付す処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、そのパケットに転送用ヘッダを付す。転送用ヘッダの内容は、例えば、適用サービスタイプ、そのパケットのセッションデータのセッションID及び入力インターフェースである。続いて、サービス処理部27は、パケット通信部33を介してパケットをサーバ11の外部サービス処理部15に転送する(ステップS72)。適用サービスタイプに対応する外部サービス処理部15は、受信したパケットを処理する(ステップS73)。
That is, the
外部サービス処理部15の処理フローは前記した図16と同様である。例えば、セッションデータ内でルーティング先が未決定の場合、外部サービス処理部15は、ルーティング先を決定し、出力先インターフェースと宛先MACアドレスをセッションテーブル22a’に書き込む。
The processing flow of the external
また、入力パケットが、負荷分散サービスをうけるべきパケットであり、セッションデータ内で振分先がまだ決定していない場合、外部サービス処理部15は、振分先サーバを決定し、対応するセッションテーブル22a’内のセッションデータのサービス固有情報欄に書き込む。入力パケットがフィルタリング廃棄サービスを受けるべきパケットならば、外部サービス処理部15は、パケットを廃棄する。
If the input packet is a packet to be subjected to the load distribution service and the distribution destination has not been determined in the session data, the external
そして、入力パケットが、負荷分散もしくはNATサービスを受けるべきパケットならば、外部サービス処理部15は、そのパケットのIPヘッダとTCPヘッダ上の送信元/宛先IPアドレス、送信元/宛先ポート等を、セッションテーブル22a’内のセッションデータに従って書き換える。
If the input packet is a packet to be subjected to load balancing or NAT service, the external
なお、以上では、外部サービス処理部15が、ネットワーク接続装置20におけるサービス内容と同じサービスを行う場合について説明したが、外部サービス処理部15で、例えば、暗号化、復号化、プロキシ、コンテンツ変換、プロトコル変換等のネットワーク接続装置20上で行わないサービス処理を行うようにしてもよい。
The case where the external
以上のように本実施例においては、ネットワーク接続装置20にセッション管理に基づくパケット中継処理機能を設け、従来サーバ上に配置していた機能をネットワーク接続装置20が果たすようにする。これにより、第1の実施例と同様、サーバのCPUの使用率を下げることができる。また、第1の実施例と同様、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。さらに、処理振分部26にパケットをサーバへ転送する機能を設けるとともに、サーバ11に外部サービス処理部15を設け、サービス処理を、ネットワーク接続装置20とサーバ11の両方で実行できるようにしたので、ネットワーク接続装置20上で実現するのは困難なサービス処理をサーバ11で行うことができ、ネットワークサービスが複雑な処理を必要とする場合でも対応することができる。
As described above, in this embodiment, the
次に、第5実施例について説明する。図20は本発明の第5の実施例のパケット中継処理装置の構成を示す図である。図21に示すように、本実施例に係わるパケット中継処理装置は、第3実施例に係わるパケット中継処理装置を構成するサーバ11にパケット詳細解析部16を更に備える。このように構成することにより、ネットワーク接続装置20の処理振分部26が、与えられた条件によってパケットをサーバ11に転送し、サーバ11内のパケット詳細解析部16がパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置20に設定する。そして、設定以後同じセッションに対して、ネットワーク接続装置20は、上記決定されたサービス内容に基づき中継処理を行うようにしたものである。
Next, a fifth embodiment will be described. FIG. 20 is a diagram showing the configuration of the packet relay processing apparatus according to the fifth embodiment of the present invention. As shown in FIG. 21, the packet relay processing apparatus according to the present embodiment further includes a packet
図20において、11はサーバであり、サーバ11は前記第3、第4の実施例と同様、サービス制御部14を備えており、サービス制御部14は、前記したように制御情報通信部31を通して、ネットワーク接統装置20のポリシーテーブル25にポリシーを書き込む。更に、サービス制御部14は、サーバ11が備える詳細解析用ポリシーテーブル(図20では不図示)にもポリシーを書き込む。
In FIG. 20,
また、サーバ11はパケット詳細解析部16を備えており、パケット詳細解析部16は、不図示のパケット詳細解析用のセッションテーブル及びポリシーテーブルに基づいて、パケットを解析してそのパケットを含むセッションに対するサービスを決定し、決定したサービス内容をネットワーク接続装置20のセッションテーブル22a’のセッションデータを設定しなおす。再設定後、ネットワーク接続装置20は上記サービス内容に基づき中継処理を行う。詳細解析用のセッションテーブル及びポリシーテーブルのデータ構成については後述する。
In addition, the
第3及び第4実施例のサービス処理部27や外部サービス処理部15と同様に、パケット詳細解析部16も、適用サービスタイプに応じてサーバ11に複数備えられる。従って、新たなサービスタイプが必要になった場合、新たなサービスタイプに対応する新たなパケット詳細解析部16をサーバ11に追加することにより、容易に対応することが可能である。
Similar to the
20はネットワーク接続装置であり、本実施例のネットワーク接続装置20は、第3の実施例と同様、パケット処理部21、セッション管理部22、セッションテーブル22a’、ポリシーテーブル25、処理振分部26、サービス処理部27を備えており、さらに処理振分部26はパケットをサーバへ転送する機能を備えている。
上記パケット処理部21、セッション管理部22、処理振分部26、サービス処理部27の動作は前記第3の実施例と同様である。本実施例に係わるポリシーテーブル25のデータ構成は第3実施例と同様であるため、説明は省略する。本実施例にかかわるセッションテーブル22a’のデータ構成については、後述する。
The operations of the
また、本実施例においては、予めサーバ11によりポリシーテーブル25の適用サービスの欄に、上記パケット詳細解析部16に転送するパケットと適用サービスの適用範囲(例えばhttpはURLフィルタリング適用対象のパケットである等)を設定する。処理振分部26は、前記第4の実施例で説明したのと同様に、ポリシーテーブル25を参照してサーバ11に転送するパケットを判断し、該当パケットのヘッダに適用サービスタイプの種類を付した後、そのパケットをパケット通信路33を介してサーバ11のパケット詳細解析部16に転送する。
In the present embodiment, the
以下、図21から図26を用いて、本実施例にかかわる各テーブルのデータ構成について説明する。まず、図21から図24を用いて本実施例にかかわるセッションテーブル22a’について説明する。図21から図24に示すように、セッションテーブル22a’に格納されるセッションデータに含まれる項目は、図13に示すセッションテーブル22a’と同様である。しかし、本実施例によれば、セッションデータがセッションテーブル22a’に登録された後、パケット詳細解析部16が、パケットを解析し、解析結果に基づいてセッションテーブル22a’のセッションデータを再設定する。
Hereinafter, the data structure of each table according to the present embodiment will be described with reference to FIGS. First, the session table 22a 'according to the present embodiment will be described with reference to FIGS. As shown in FIGS. 21 to 24, items included in the session data stored in the session table 22a 'are the same as those in the session table 22a' shown in FIG. However, according to the present embodiment, after the session data is registered in the session table 22a ′, the packet
図21及び図22に、セッション管理部22が、ポリシーテーブル25に基づいてセッションデータを登録した際のセッションテーブル22a’の一例を示す。図21から図22に示すように、まだパケット詳細解析部16による解析が行われていないため、各セッションデータの適用サービスタイプの欄において、「サーバ転送:ON」となっている。従って、セッションデータに対応するセッションのパケットは、サーバ11に転送される。
FIG. 21 and FIG. 22 show an example of the session table 22 a ′ when the
図23及び図24に、パケット詳細解析部16が、パケットの解析結果に基づいてセッションデータを再設定した後のセッションテーブル22a’の一例を示す。図23及び図24に示すように、パケット詳細解析部16による解析が行われたため、各セッションデータの適用サービスタイプの欄において、「サーバ転送:OFF」となっている。従って、以後、各セッションデータに対応するセッションのパケットは、サーバ11に転送されない事となる。
23 and 24 show an example of the session table 22a 'after the packet
また、パケット詳細解析部16によってセッションデータが再設定された結果、図21及び図22に示すセッションテーブル22a’と、図23及び図24に示すセッションテーブル22a’とは、さらに、以下の点が異なる。
Further, as a result of the session data being reset by the packet
・図21に示すようにセッションID=0及び1であるセッションデータの適用サービスタイプの欄に「URLフィルタリング」が格納されている。一方、パケット詳細解析部16によるパケット解析の結果、パケットを通過させることが決定されたため、図23に示す同じセッションIDのセッションデータの同欄には、「フィルタリング通過」が格納されている。
As shown in FIG. 21, “URL filtering” is stored in the application service type column of the session data with session ID = 0 and 1. On the other hand, as a result of packet analysis by the packet
・図21に示すように、セッションID=2から5であるセッションデータの適用サービスタイプの欄に「URL負荷分散」が格納されているが、固有情報の欄に振分先サーバに関する情報は格納されていない。一方、パケット詳細解析部16によるパケット解析の結果、振分先サーバが決定されたため、図23に示すように、セッションID=3及び4であるセッションデータは削除され、セッションID=2及び5であるセッションデータの適用サービスタイプの欄に「ヘッダ書換」が格納され、固有情報の欄に振分先サーバに関する情報が格納されている。
As shown in FIG. 21, “URL load distribution” is stored in the application service type column of the session data with session ID = 2 to 5, but information on the distribution destination server is stored in the unique information column. It has not been. On the other hand, as a result of packet analysis by the packet
・図22に示すように、セッションID=6及び7であるセッションデータの適用サービスタイプの欄に「FTP(File Transfer Protocol)フィルタリング」が格納されている。その後パケット詳細解析部16によるパケット解析の結果、そのセッションのパケットを通過させると決定されたため、図24に示すように、セッションID=6及び7である制御コネクションのためのセッションデータに加えて、新たにセッションID=8及び9であるデータコネクションのためのセッションデータが登録され、そのセッションデータの適用サービスタイプの欄に「フィルタリング通過」が格納されている。
As shown in FIG. 22, “FTP (File Transfer Protocol) filtering” is stored in the application service type column of the session data with session ID = 6 and 7. After that, as a result of packet analysis by the packet
次に、図25及び図26を用いて、パケット詳細解析部16が備えるテーブルについて説明する。パケット詳細解析部16は、パケットを解析するために、詳細解析用セッションテーブル及び詳細解析用ポリシーテーブルを備える。
Next, a table provided in the packet
図25に、詳細解析用セッションテーブルの構成例を示す。図25に示す詳細解析用セッションテーブルは、図21及び図22に示すセッションテーブル22a’に対応する。図25に示すように、詳細解析用セッションテーブルに格納されるセッションデータは、セッションID、セッション検索キー、セッション状態、関連セッション及び適用サービスタイプを項目として含む。関連セッション以外の項目は、セッションテーブル22a’に格納されるセッションデータと同様である。関連セッションは、パケット詳細解析部16がパケットを解析した結果、関連すると判定されたセッションのセッションIDである。詳細解析用セッションテーブル内のセッションデータは、セッションテーブル22a’に格納されるセッションデータに基づいて、詳細解析を行う際にパケット詳細解析部16によって登録され、詳細解析が終了するとパケット詳細解析部16によって削除される。
FIG. 25 shows a configuration example of the session table for detailed analysis. The detailed analysis session table shown in FIG. 25 corresponds to the session table 22a 'shown in FIGS. As shown in FIG. 25, the session data stored in the session table for detailed analysis includes a session ID, a session search key, a session state, a related session, and an applicable service type as items. Items other than the related session are the same as the session data stored in the session table 22a '. The related session is a session ID of a session determined to be related as a result of the packet
図26に、詳細解析用ポリシーテーブルの構成例を示す。図26に示す詳細解析用ポリシーテーブルは、図14に示すポリシーテーブル25よりも詳しいポリシーを格納する。例えば、URLフィルタリングについては、URL毎にパケットを廃棄するか否かを示すURLフィルタリング用URLテーブルが詳細解析用ポリシーテーブルに備えられる。また、例えばFTPフィルタリングについては、IPアドレス及びポート番号ごとに、パケットを通過させるべきか廃棄させるべきかを示すFTPフィルタリング用テーブルが備えられる。更にまた、例えば、URL負荷分散については、URL毎に振分先サーバの候補のIPアドレス及び振分方法を示すURL負荷分散用テーブル等が備えられる。なお、図25に示す詳細解析用セッションテーブルは、図21から図24に示すセッションテーブル22a’に対応している。 FIG. 26 shows a configuration example of the detailed analysis policy table. The detailed analysis policy table shown in FIG. 26 stores a more detailed policy than the policy table 25 shown in FIG. For example, with respect to URL filtering, a URL table for URL filtering indicating whether or not to discard a packet for each URL is provided in the detailed analysis policy table. For FTP filtering, for example, an FTP filtering table indicating whether a packet should be passed or discarded is provided for each IP address and port number. Furthermore, for example, with respect to URL load distribution, a URL load distribution table indicating a distribution destination server candidate IP address and a distribution method is provided for each URL. The detailed analysis session table shown in FIG. 25 corresponds to the session table 22a 'shown in FIGS.
以下、図27を用いて第5実施例に係わるパケット中継処理装置の動作概念について説明する。図27において、実線の矢印は、パケットの進む方向を示し、破線の矢印は、テーブル内のデータの読み込み及びテーブルへのデータ書き込みを示す。 The operation concept of the packet relay processing apparatus according to the fifth embodiment will be described below with reference to FIG. In FIG. 27, a solid line arrow indicates the direction in which the packet proceeds, and a broken line arrow indicates reading data in the table and writing data to the table.
まず、サーバ11内のサービス制御部14は、制御情報通信部31を介して、ネットワーク接統装置20のポリシーテーブル25及びパケット詳細解析部16内の詳細解析用ポリシーテーブルにポリシーを書き込む(矢印A11)。
First, the
続いて、ネットワーク接続装置20にパケットが入力されると、セッション管理部22は、パケットのヘッダに格納された情報を用いてポリシーテーブル25を参照し、ヘッダ内の情報とポリシー検索キーがマッチするポリシーを取得し、そのポリシーに基づいてセッションデータを作成し、セッションテーブル22a’に格納する(矢印A12)。
Subsequently, when a packet is input to the
そのセッションデータの適用サービスタイプの欄に「サーバ転送:ON」が格納されている場合、処理振分部26は、パケット通信部33を介してそのパケットをパケット詳細解析部16に転送する。パケット詳細解析16は、詳細解析用ポリシーテーブル及び詳細解析用セッションテーブルを用いてそのパケットを解析する(矢印A13)。パケット詳細解析部16は、パケットの解析結果に基づいて、ネットワーク接続装置20内のセッションテーブル22a’に格納されたセッションデータを再設定する(矢印A14)。パケットの解析後は、ネットワーク接続装置20に入力したパケットは、パケット詳細解析部16によって解析されることなく、サービス処理部27によって処理され、ネットワーク接続装置20から出力される(矢印A15)。
When “server transfer: ON” is stored in the applicable service type column of the session data, the
以下、第5実施例に係わるパケット中継処理装置の動作について説明する。パケット処理部21及びセッション管理部22による処理の手順は、第1から第4実施例と同様であるため、説明を省略する。以下、処理振分部26、サービス処理部27及びパケット詳細解析部16による処理の手順に重点をおいて説明する。
The operation of the packet relay processing apparatus according to the fifth embodiment will be described below. The procedure of the processing by the
図28は処理振分部26及びサービス処理部27の処理フローを示す図である。図28に示す処理のうち、ヘッダ書換処理(ステップS64)までの処理は図19と同じである。さらに、第5実施例によれば、処理振分部26は、セッションデータに含まれる適用サービスタイプに基づいて、入力パケットがサーバ11に転送するべき該当パケットであるか否かを判断する(ステップS81)。適用サービスタイプに「サーバ転送:ON」及び適用サービスタイプが設定されている場合には、振分処理部26は、そのパケットをサーバ11に転送するべきパケットであると判断し(ステップS81:Yes)、パケットに転送用ヘッダを付す処理を行うサービス処理部27に、処理を振り分ける。処理を振り分けられたサービス処理部27は、そのパケットに転送用ヘッダを付す。転送用ヘッダの内容は第4実施例と同様である。転送用ヘッダを付されたパケットは、パケット通信部33を介して、サーバ11のパケット詳細解析部16に転送される(ステップS82)。パケット詳細解析部16は、受信したパケットを解析し、解析結果に基づいて、制御情報通信部31を介して、セッションテーブル22a’に格納されたセッションデータを再設定する(ステップS83)。
FIG. 28 is a diagram illustrating a processing flow of the
図29は、パケット詳細解析部16の処理の手順を示すフローチャートである。図29に示す処理は、図28のステップS83に相当する。本実施例においては、例として、URLフィルタリング、URL負荷分散、及びFTPフィルタリングサービスをパケット詳細解析部16を用いて提供する場合について説明する。
FIG. 29 is a flowchart illustrating a processing procedure of the packet
まず、URLフィルタリングサービスについて説明する。
予めサーバ11のサービス制御部14が、「パケット詳細解析部16へパケットを転送しURLフィルタリングを行う」というポリシーを、制御通信情報部31を介してポリシーテーブル25に設定する。
First, the URL filtering service will be described.
The
設定された条件から、ネットワーク接続装置20の処理振分部26が、該当パケットをパケット詳細解析部16に転送する。
パケット詳細解析部16では、受信したパケットの転送用ヘッダ内に含まれる適用サービスタイプ「URLフィルタリング」に基づいて、そのパケットがURLフィルタリングサービスを受けるべきパケットであることを判定する。パケット詳細解析部16は、受信したパケットに含まれる情報に基づいてセッションデータを作成し、詳細解析用セッションテーブルに格納する(ステップS91:Yes)。以後、パケット詳細解析部16は、そのセッションの状態を管理し、HTTPのGETリクエストを受信するまで、受信したパケットをそのままネットワークへ出力させる。
Based on the set conditions, the
Based on the applied service type “URL filtering” included in the transfer header of the received packet, the packet
セッション状態がESTABとなった後、HTTPのGETリクエストを受信した場合(ステップS92:Yes)、パケット詳細解析部16は、URLを判定し、パケットの通過/廃棄を決定する。すなわち、パケット詳細解析部16は、そのパケットに含まれるURLを用いて、予め設定された詳細解析用ポリシーテーブルに含まれるURLフィルタリング用URLテーブルを参照することにより、そのパケットの通過/廃棄を判定する(ステップS93)。
If an HTTP GET request is received after the session state becomes ESTAB (step S92: Yes), the packet
パケットを廃棄すると判定した場合には(ステップS93:Yes)、パケット詳細解析部16は、そのセッションのパケットを廃棄する(ステップS103)。更に、パケット詳細解析部16は、パケットに含まれるセッションIDを用いてセッションテーブル22a’を参照し、セッションIDに対応するセッションデータの適用サービスタイプの欄を、「サーバ転送:ON・URLフィルタリング」から「廃棄」に書き換える(不図示)。
When it is determined that the packet is to be discarded (step S93: Yes), the packet
また、パケットを通過させると判定した場合には(ステップS93:No)、パケット詳細解析部16は、セッションテーブル22a’を参照し、パケットに含まれるセッションIDに対応するセッションデータの適用サービスタイプの欄を「サーバ転送:ON・URLフィルタリング」から「フィルタリング通過」に書き換える(ステップS94)。図21及び図23に示すセッションテーブル22a’においてセッションID=0及び1であるセッションデータは、それぞれ、URLフィルタリングの場合の、パケット解析前後のセッションデータの一例である。
Further, when it is determined that the packet is allowed to pass (step S93: No), the packet
セッションテーブル22a’内のセッションデータを再設定した後、パケット詳細解析部16は、詳細解析用セッションテーブルから、そのセッションIDに対応するセッションデータを削除する(不図示)。
After resetting the session data in the session table 22a ', the packet
上記のように、パケット詳細解析部16が、ネットワーク接続装置20のセッションテーブル22a’内のセッションデータの適用サービスタイプを、「サーバ転送:ON」から「フィルタリング通過」または「廃棄」に設定し直すと、ネットワーク接続装置20は上記通過条件に従い、以後のパケットを処理する。すなわち、ネットワーク接続装置20は、サーバ11のパケット詳細解析部16にパケットを転送することなく、パケットを通過させたり、廃棄する。
As described above, the packet
図30は、上記URLフィルタリングの動作を説明する図である。
クライアント、サーバ間で、SYN、SYN_ACK、ACKパケットを交換する。そのセッションがESTABの状態に遷移するまでは、ネットワーク接続装置20から上記パケット詳細解析部16にそれらパケットが転送され、パケット詳細解析部16は、そのセッションの状態を管理する。つまり、「ネットワーク接続装置20」及び「サーバ11」で処理が行われる。
FIG. 30 is a diagram for explaining the URL filtering operation.
Exchange of SYN, SYN_ACK and ACK packets between the client and server. Until the session transitions to the ESTAB state, these packets are transferred from the
セッションがESTAB状態に遷移し、HTTPのGETリクエスト(GET”http://www.xxx.co.jp”のようにURLが付されている)を受信すると、サーバ11のパケット詳細解析部16は、詳細解析用ポリシーに含まれるURLフィルタリング用URLテーブルを参照して上記URLのパケットが廃棄するべきパケットであるか通過させるべきパケットであるかを判定し、判定結果に基づいてセッションテーブル22a’の適用サービスタイプの欄のエントリを「廃棄」または「通過」に書き換える。
When the session transitions to the ESTAB state and receives an HTTP GET request (URL is attached as GET “http://www.xxx.co.jp”), the packet
以後、ネットワーク接続装置20は、セッションテーブル22a’に設定された適用サービスタイプに応じて、そのセッションが終了するまで、パケットを廃棄または通過させる。つまり、「ネットワーク接続装置20」で処理が行われる。
Thereafter, the
次に、図29に戻って、URL負荷分散サービスについて説明する。
URL負荷分散において、例えば、クライアントがある代表サーバにアクセスした後に、URLに基づいて代表サーバに接続された他のサーバを振分先サーバとして決定し、その振分先サーバにセッションを振り分けることにより、負荷を複数の振分先サーバに分散させることができる。
Next, returning to FIG. 29, the URL load distribution service will be described.
In URL load distribution, for example, after a client accesses a representative server, another server connected to the representative server is determined as a distribution destination server based on the URL, and a session is distributed to the distribution destination server. The load can be distributed to a plurality of distribution destination servers.
URL負荷分散を行う際、まずサーバ11のサービス制御部14が、「パケット詳細解析部16へパケットを転送しURL負荷分散を行う」というポリシーを、制御通信情報部31を介してポリシーテーブル25の適用サービスタイプ欄に設定する。
When performing URL load distribution, first, the
設定された条件から、ネットワーク接続装置20の処理振分部26が該当パケットをサーバ11のパケット詳細解析部16に転送する。
パケット詳細解析部16では、受信したパケットに含まれる適用サービスタイプ「URL負荷分散」に基づいて、そのパケットがURL負荷分散サービスを受けるべきパケットであることを判定する。パケット詳細解析部16は、URLフィルタリングの場合と同様にして、受信したパケットに含まれる情報に基づいてセッションデータを作成し、詳細解析用セッションテーブルに格納する。さらに、パケット詳細解析部16は、パケットのヘッダに含まれる送信元アドレス、宛先アドレス及びポート番号等に基づいて代理応答を行い、相互に関連するセッションデータを登録し、セッションデータの関連セッションの欄に、関連するセッションデータのセッションIDを格納する(ステップS95:Yes)。
Based on the set conditions, the
Based on the application service type “URL load distribution” included in the received packet, the packet
図25に示す詳細解析用セッションテーブルにおいて、セッションID=2から5であるセッションデータは、URL負荷分散の場合のセッションデータの一例である。図25において、セッションID=2であるセッションデータは、セッションID=4であるセッションデータと相互に関連し、セッションID=3であるセッションデータは、セッションID=5であるセッションデータと相互に関連している事がわかる。 In the session table for detailed analysis shown in FIG. 25, session data with session ID = 2 to 5 is an example of session data in the case of URL load distribution. In FIG. 25, session data with session ID = 2 correlates with session data with session ID = 4, and session data with session ID = 3 correlates with session data with session ID = 5. You can see that
パケット詳細解析部16では、クライアントとサーバ11の間にコネクションを確立し、以後、セッションの状態を管理する。また、パケット詳細解析部16は、TCP(Transmission Control Protocol )を終端する機能を有し、振分先サーバが決定するまで、パケット詳細解析部16は、振分先サーバの変わりにクライアントに対する応答を行う。パケット詳細解析部16は、セッションの状態がESTABとなった後、HTTPのGETリクエストを受信した場合(ステップS96:Yes)、パケット詳細解析部16は、パケットに含まれるURLを用いて、予め設定された詳細解析用ポリシーテーブルに含まれるURL負荷分散用テーブルを参照して、振分先サーバを決定する(ステップS97)。その後、サーバ11は、SYN、SYN_ACK、ACKパケットを交換することにより、振分先サーバとコネクションを確立する。
The packet
さらに、パケット詳細解析部16は、ネットワーク接続装置20のセッションデータ22a’を参照し、パケットに含まれるセッションIDに対応するセッションデータを取得する。そして、パケット詳細解析部16は、取得したセッションデータに含まれる適用サービスタイプを「サーバ転送:ON・URL負荷分散」から「サーバ転送:OFF・ヘッダ書換」に書き換える。さらに、パケット詳細解析部16は、セッションデータの固有情報の欄に、決定された振分先サーバのIPアドレス等に従って、IPアドレス:ポート番号、およびシーケンス番号/ACK番号差分を設定する(ステップS98)。これにより、相互に関連していると判定された2つのセッションデータを1つのセッションデータにまとめることになるため、2つのコネクションを1つのコネクションとして扱うことが可能となる。さらに、パケット詳細解析部16は、4つのセッションデータのうち、不要になった残りの2つのデータを、セッションテーブル22a’から削除する。
Further, the packet
セッションテーブル22a’内のセッションデータを再設定した後、パケット詳細解析部16は、詳細解析用セッションテーブルから、そのセッションIDに対応するセッションデータを削除する(不図示)。そして、サーバ11は、振分先サーバにHTTPのGETリクエストを送出する。
After resetting the session data in the session table 22a ', the packet
図21及び図23に示すセッションテーブル22a’内のセッションID=2から5であるセッションデータは、それぞれ、URL負荷分散の場合のパケット解析前後のセッションデータの一例である。図21におけるセッションID=2及び4である2つのセッションデータによって示される2つのコネクションは、図23において、セッションID=2であるセッションデータで示される1つのコネクションにまとめられている。同様に、図21におけるセッションID=3及び5である2つのセッションデータによって示される2つのコネクションは、図23において、セッションID=5であるセッションデータで示される1つのコネクションにまとめられている。
The session data having
パケットの解析後、パケットは、パケット詳細解析部16に送られない。ネットワーク接続装置20のヘッダ書換処理を行うサービス処理部27は、セッションテーブル22a’に格納されたセッションデータ内の固有情報に基づいて、パケット内のIPアドレス:ポート番号、シーケンス番号、ACK番号を書き換えた後、そのパケットをネットワークに出力させる。
After analyzing the packet, the packet is not sent to the packet
図31は、上記URL負荷分散サービスの動作を説明する図である。
図31に示すように、クライアントとパケット中継処理装置の間でSYN、SYN_ACK、ACKパケットを交換する。セッションがESTAB状態に遷移し、HTTPのGETリクエストを受信すると、パケット詳細解析部16は、GETリクエストのURLを判定し、振分先サーバを決定する。
FIG. 31 is a diagram for explaining the operation of the URL load balancing service.
As shown in FIG. 31, SYN, SYN_ACK, and ACK packets are exchanged between the client and the packet relay processing device. When the session transitions to the ESTAB state and an HTTP GET request is received, the packet
ついで、上記と同様に、パケット中継処理装置と振分先サーバの間でSYN、SYN_ACK、ACKパケットを交換し、振分先サーバにHTTPのGETリクエストを送出する。ここまでは、「ネットワーク接続装置20」+「サーバ11」で処理が行われる。
Next, as described above, the SYN, SYN_ACK, and ACK packets are exchanged between the packet relay processing apparatus and the distribution destination server, and an HTTP GET request is transmitted to the distribution destination server. Up to this point, processing is performed by “
パケット中継処理装置から振分先サーバにHTTPのGETリクエストを送出した後、セッションが終了するまで、ネットワーク接続装置20が、セッションテーブル22a’に格納されたセッションデータに基づいて、クライアントと振分先サーバとの間の中継処理を行う。
After sending an HTTP GET request from the packet relay processing device to the distribution destination server, the
次に、図29に戻って、FTPフィルタリングサービスについて説明する。FTPは、制御用の制御コネクションと、1以上のデータ転送用のデータコネクションとの複数のTCPコネクションからなる。 Next, returning to FIG. 29, the FTP filtering service will be described. FTP consists of a plurality of TCP connections including a control connection for control and one or more data connections for data transfer.
予めサーバ11のサービス制御部14が、「パケット詳細解析部16へパケットを転送しFTPフィルタリングを行う」というポリシーを、制御通信情報部を介してポリシーテーブル25に設定する。
The
設定された条件から、ネットワーク接続装置20の処理振分部26が該当パケットを詳細解析部16に転送する。URLフィルタリングの場合と同様に、パケット詳細解析部16は、受信したパケットに含まれる適用サービスタイプに基づいて、そのパケットがFTPフィルタリングサービスを受けるべきパケットであることを判定し、パケット詳細解析部16は、詳細解析用セッションテーブルにセッションデータを格納する(ステップS99:Yes)。続いて、パケット詳細解析部16は、セッション状態を管理し、受信パケットをそのままネットワークへ出力させる。
Based on the set condition, the
セッション状態がESTABとなった後、図32に示すように、FTPのPORT命令もしくは、PASV命令のACKパケットを受信すると(ステップS100:Yes)、パケット詳細解析部16は、そのパケットに含まれるIPアドレスとポート番号を判定し、判定結果に基づいて、そのセッションのパケットを通過するか廃棄するかを決定する(ステップS101)。
After the session state becomes ESTAB, as shown in FIG. 32, when the ACK packet of the FTP PORT command or the PASV command is received (step S100: Yes), the packet
すなわち、パケット詳細解析部16は、IPアドレスとポート番号を用いて予め設定された詳細解析用ポリシーテーブル内のFTPフィルタリング用テーブルを参照して、そのセッションのパケットを通過させるか廃棄するかを決定する。パケットを廃棄すると決定した場合には(ステップS101:Yes)、パケット詳細解析部16は、セッションテーブル22a’からパケットの転送用ヘッダに含まれるセッションIDに対応するセッションデータを取得し、そのセッションデータの適用サービスタイプの欄に「廃棄」を設定し、そのパケットを廃棄する(ステップS103)。
That is, the packet
また、そのパケットを通過させると決定した場合には(ステップS101:No)、パケット詳細解析部16は、先のPORT命令もしくはPASV命令のACKパケットのデータ部分に記述されているIPアドレスとポート番号に基づいて、データコネクションについてのセッションデータをセッションテーブル22a’に登録し、そのセッションデータの適用サービスタイプの欄に「フィルタリング通過」を設定する(ステップS102)。
If it is determined that the packet is allowed to pass (step S101: No), the packet
上記のようにパケット詳細解析部16が、セッションテーブル22a’内のセッションデータを再設定すると、ネットワーク接続装置20は上記通過条件に従い、以後のデータコネクションに関するパケットを処理する。すなわち、サーバ11のパケット詳細解析部16にパケットを転送することなく、パケットを通過させたり、廃棄させたりする。
When the packet
図32は、上記FTPフィルタリングの動作を説明する図である。クライアント、サーバ11間で、SYN、SYN_ACK、ACKパケットを交換し、ESTABの状態に遷移するまでは、上記パケット詳細解析部16にパケットが転送され、「ネットワーク接続装置20」+「サーバ11」で処理が行われる。
FIG. 32 is a diagram for explaining the operation of the FTP filtering. Until the SYN, SYN_ACK, and ACK packets are exchanged between the client and the
セッションの状態がESTAB状態に遷移し、FTPのPORT命令またはPASV命令のACK(IPアドレスとポート番号が付されている)を受信すると、パケット詳細解析部16は、パケットに含まれるIPアドレスとポート番号を用いて詳細解析用ポリシーテーブルを参照し、そのパケットを廃棄すべきか、通過させるべきかを決定する。そのパケットを廃棄すると決定する場合には、パケット詳細解析部16は、セッションテーブル22a’のセッションデータにパケットを廃棄する旨を設定する。そのパケットを通過させると決定する場合には、パケット詳細解析部16は、セッションテーブル22a’にデータコネクションについてのセッションデータを登録し、適用サービスタイプ欄に「通過」を設定し直す。以後、ネットワーク接続装置20は、パケットの廃棄処理又はデータコネクションのパケットの通過処理を行う。
When the session state transits to the ESTAB state and receives an FTP PORT command or an ACK (PASV command) ACK (IP address and port number are attached), the packet
最後に、パケット中継処理装置がクライアントから制御コネクションのFINパケットを受信すると、ネットワーク接続装置20からパケット通信部33を介して、サーバ11のセッション詳細解析部16にそのパケットが転送される。サーバ11は、セッション詳細解析部16を介してそのセッションのクローズ処理を行う。さらに、セッション詳細解析部16は、パケットの転送用ヘッダに含まれるセッションIDに基づいて、クローズされるセッションに関するセッションデータを削除する。
Finally, when the packet relay processing device receives the FIN packet of the control connection from the client, the packet is transferred from the
以下、図33及び図34を用いて、第5実施例におけるパケットのフローについて、URL負荷分散サービスの場合を例にとって説明する。なお、各図は、図21、図23、図25に示すセッションテーブルに格納されたセッションID=2から5のセッションデータに対応する。図33に、パケット詳細解析部16によってセッションデータが再設定される前のパケットフローを示す。
Hereinafter, the flow of packets in the fifth embodiment will be described with reference to FIGS. 33 and 34, taking the case of the URL load distribution service as an example. Each figure corresponds to session data of session ID = 2 to 5 stored in the session table shown in FIG. 21, FIG. 23, and FIG. FIG. 33 shows a packet flow before session data is reset by the packet
セッションデータが再設定される前において、矢印A21に示すように、アドレス:ポート番号が192.168.30.30:11950 であるクライアントからネットワーク接続装置20へ「宛先アドレス:ポート番号=192.168.200.1:http、送信元アドレス:ポート番号=192.168.30.30:11950 」をヘッダに格納したパケットP11が送信される。ネットワーク接続装置20のセッション管理部22は、ポリシーテーブル25を参照し、ヘッダ内の情報とポリシー検索キーがマッチするポリシーを取得し、そのポリシーに基づいてセッションID=2であるセッションデータを作成し、セッションテーブル22a’に格納する。
Before the session data is reset, as shown by an arrow A21, “destination address: port number = 192.168.200.1: http” is transmitted from the client whose address: port number is 192.168.30.30:11950 to the
セッションデータ内の適用サービスタイプは「サーバ転送:ON・URL負荷分散」であるため、ネットワーク接続装置20内の処理振分部26は、サーバ転送処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27がそのパケットに転送用ヘッダを付したのち、矢印A22に示すようにパケットはサーバ11に転送される。サーバ11のパケット詳細解析部16は、転送されたパケットに含まれる情報に基づいて、詳細解析用セッションテーブルにセッションデータを登録する。
Since the applicable service type in the session data is “server transfer: ON / URL load distribution”, the
同様にして、サーバ11からクライアントへ矢印A23からA28に示すような経路を経てパケットP12、P13及びP14が出力される際に、それぞれ、セッションID=3、4及び5であるセッションデータが、セッションテーブル22a’にセッション管理部22によって格納され、対応するセッションデータが、詳細解析用セッションテーブルにパケット詳細解析部16によって格納される。
Similarly, when the packets P12, P13, and P14 are output from the
セッションデータを各セッションテーブルに登録した後、HTTPのGETリクエストを受信するまで、パケット詳細解析部16は、各セッションの状態を管理し、図33に示すパケットフローに基づいて、受信したパケットをネットワークへ出力する。
After registering the session data in each session table, the packet
その後、セッション状態がESTABとなった後、HTTPのGETリクエストを受信すると、パケット詳細解析部16は、パケットを解析し、解析結果に基づいて、セッションテーブル22a’に格納されたセッションデータを設定しなおす。再設定後のセッションデータは、図23に示す通りである。
After that, when an HTTP GET request is received after the session state becomes ESTAB, the packet
図34に、パケット詳細解析部16によってセッションデータが再設定された後のパケットフローを示す。セッションデータが再設定された後において、矢印A31に示すように、振分先サーバからネットワーク接続装置20へ「宛先アドレス:ポート番号として192.168.200.1:3333、送信元アドレス:ポート番号として192.168.200.10:8080」をヘッダに格納したパケットP14が送信されると、ネットワーク接続装置20の処理振分部26は、パケットのヘッダに含まれる情報を用いて、セッションテーブル22a’を参照し、セッションID=5であるセッションデータを取得し、セッションデータに基づいて、ヘッダ書換処理を行うサービス処理部27に処理を振り分ける。サービス処理部27は、そのセッションデータに基づいて、そのパケットのヘッダ内の宛先アドレス及びポート番号を「192.168.30.30:11950 」に、クライアントのアドレス及びポート番号を「192.168.200.1:http 」に書き換えることにより、パケットP12を作成する。その後、矢印A32に示すように、ネットワーク接続装置20は、パケットP12を振分先サーバへそのパケットを出力する。
FIG. 34 shows a packet flow after the session data is reset by the packet
同様に、矢印A33に示すように、アドレス:ポート番号が192.168.30.30:11950 であるクライアントからネットワーク接続装置20へ「宛先アドレス:ポート番号=192.168.200.1:http、送信元アドレス:ポート番号=192.168.30.30:11950 」をヘッダに格納したパケットP11が送信される。ネットワーク接続装置20の処理振分部26は、パケットのヘッダに含まれる情報を用いて、セッションテーブル22a’を参照し、セッションID=2であるセッションデータを取得する。この例の場合、取得したセッションデータの適用サービスタイプの欄に「サーバ転送:OFF/ヘッダ書換」が格納されているため、処理振分部26は、ヘッダ書換処理を行うサービス処理部27に処理を振り分ける。サービス処理部27は、そのセッションデータに基づいて、そのパケットのヘッダ内の宛先アドレス及びポート番号を振分先サーバのアドレス及びポート番号を「192.168.200.10:8080」に書き換えることにより、パケットP13を作成する。その後、ネットワーク接続装置20は、矢印A34に示すように、パケットP13を振分先サーバへそのパケットを出力する。
Similarly, as indicated by an arrow A33, from the client whose address: port number is 192.168.30.30:11950 to the
このように、セッション詳細解析部16がパケットの解析結果に基づいてセッションデータを書き換えた後は、サーバ11を介さずに、ネットワーク接続装置20によってパケットの中継処理が行われる。
As described above, after the session
以上のように、本実施例においては、ネットワーク接続装置20にセッション管理に基づくパケット中継処理機能を設け、従来サーバ上に配置していた機能をネットワーク接続装置20が果たすようにしたので、第1の実施例と同様、サーバ11のCPUの使用率を下げることができる。また、第1の実施例と同様、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。
As described above, in the present embodiment, the
さらに、第5実施例によれば、サーバ11のパケット詳細解析部16においてパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置20に設定し、以後同じセッションに対してネットワーク接続装置20が上記決定されたサービス内容に基づき中継処理を行うようにする。従って、サーバ11で全ての処理を行う場合に比べ、サービス処理を高速に実現することができる。
Further, according to the fifth embodiment, the packet
以下、各実施例の変形例について説明する。まず、第1の変形例について説明する。第1実施例から第5実施例において、第1の変形例を適用することにより、セッションが終了した後すぐにセッションデータを削除するのではなく、一定時間経過した後にセッションデータをセッションテーブル22a’することとしてもよい。 Hereinafter, modifications of each embodiment will be described. First, a first modification will be described. In the first to fifth embodiments, by applying the first modification, the session data is not deleted immediately after the session is ended, but the session data is stored in the session table 22a ′ after a predetermined time has elapsed. It is good to do.
そのために、第1の変形例によれば、図13及び図14、図21から図24に示すように、ポリシーテーブル25及びセッションテーブル22a’のエントリに、さらに一貫性保持時間を含む。以下、第1の変形例に係わるパケット中継処理装置が行う処理について説明する。第1の変形例では、セッション管理部22が行う処理の一部が第1から第5実施例と異なる。第1の変形例を適用した場合のセッション管理部22が行う処理について、図5を用いて説明する。
Therefore, according to the first modification, as shown in FIGS. 13 and 14 and FIGS. 21 to 24, the policy table 25 and the session table 22a ′ further include a consistency retention time. Hereinafter, processing performed by the packet relay processing apparatus according to the first modification will be described. In the first modification, part of the processing performed by the
図5のステップS17において、セッション管理部22が、あるセッションがクローズしたと判定した場合(ステップS17:Yes)、セッション管理部22はタイマーを設定する。セッション管理部22は、セッションデータに含まれる一貫性保持時間だけ待機した後に、図5のステップS18に進み、そのセッションデータをセッションテーブル22a’から削除する。
In step S17 of FIG. 5, when the
これにより、セッションが終了した後で、一貫性保持時間が経過するまでの間に、そのセッションが再度確立された場合、セッション検索キーに変更がなければ、セッション管理部22は、そのセッションを先に終了したセッションと同じセッションとして扱う事ができるようになる。例えば、負荷分散サービスにおいて、一度終了したセッションと再度確立されたセッションとで同じ振分先サーバにパケットを振り分けることが可能となる。延いては、セッション管理部22によるポリシーテーブル25の検索や処理振分部26によるパケットのサーバ11への転送を省略する事ができるため、高速にパケットを処理することが可能となる。
As a result, if the session is reestablished after the session ends and before the consistency retention time elapses, if there is no change in the session search key, the
次に、第2の変形例について説明する。第3実施例から第5実施例において、第2の変形例を適用することにより、セッションに適用するポリシーの切り換えが容易にできるようにすることとしてもよい。そのために、第2の変形例によれば、複数のポリシーをいくつかのグループに分ける。さらに、図14に示すように、ポリシーテーブル25に格納されるポリシーは更に項目として、そのポリシーが属するグループを識別するグループIDを含み、ネットワーク接続装置20は、更に図35に示すフラグテーブルを備える。
Next, a second modification will be described. In the third to fifth embodiments, the second modification may be applied so that the policy applied to the session can be easily switched. Therefore, according to the second modification, a plurality of policies are divided into several groups. Furthermore, as shown in FIG. 14, the policy stored in the policy table 25 further includes, as an item, a group ID for identifying the group to which the policy belongs, and the
以下、図35を用いて、フラグテーブルのデータ構造について説明する。図35に示すように、フラグテーブルは、グループIDに対応して、ポリシーの有効・無効を示すフラグを格納する。図35において、例として、フラグが「オフ(0)」である場合にポリシーは無効であり、フラグが「オン(1)」である場合にポリシーは有効である。 Hereinafter, the data structure of the flag table will be described with reference to FIG. As shown in FIG. 35, the flag table stores a flag indicating the validity / invalidity of the policy corresponding to the group ID. In FIG. 35, as an example, the policy is invalid when the flag is “off (0)”, and the policy is valid when the flag is “on (1)”.
以下、第2の変形例に係わるパケット中継処理装置が行う処理について説明する。第2の変形例では、セッション管理部22が行う処理の一部が第3から第5実施例と異なる。例として、第3実施例に係わるセッション管理部22が行う処理を示す図15を参照しながら、第2の変形例を各実施例に適用することにより、セッション管理部22が行う処理が変化する点について詳しく説明する。
Hereinafter, processing performed by the packet relay processing apparatus according to the second modification will be described. In the second modification, part of the processing performed by the
第2の変形例において、セッション管理部22は、図15のステップS43からステップS44の間でさらに、以下の処理を行う。まず、ステップS43で、セッション管理部22は、ポリシーテーブル25を検索し、パケットのヘッダに格納された情報と適合するポリシー検索キーを持つポリシーを取得する。セッション管理部22は、得られたポリシーに含まれるグループIDを用いてフラグテーブルを参照し、そのグループIDに対応するフラグがオンであるかオフであるか判定する。
In the second modified example, the
判定の結果、フラグがオフである場合、セッション管理部22はそのポリシーを採用しない。一方、フラグがオンである場合、セッション管理部22は、そのポリシーを採用する。セッション管理部22は、ステップS44で、そのポリシーに基づいてセッションデータを作成し、セッションテーブル22a’に格納する。これにより、採用するべきポリシーをグループ毎に切り換えることができるようになる。
If the flag is off as a result of the determination, the
例えば、複数の通常用のポリシーと複数の非常用のポリシーとを作成した場合、第2の変形例によれば、予め通常用のポリシーからなる通常用グループと、非常用のポリシーからなる非常用グループを定義し、ポリシーテーブル25には、通常用のポリシーも非常用のポリシーも両方登録する。また、フラグテーブルにパケット中継処理装置のユーザが有効にしておきたいグループ、つまり、通常用と非常用いずれかのグループに対応するフラグをオンにする。これにより、通常用のポリシーと非常用のポリシーを、グループ毎に容易に切り換える事が可能となる。 For example, when a plurality of normal policies and a plurality of emergency policies are created, according to the second modification, a normal group consisting of normal policies and an emergency policy consisting of emergency policies in advance A group is defined, and both a normal policy and an emergency policy are registered in the policy table 25. In the flag table, a flag corresponding to a group that the user of the packet relay processing apparatus wants to validate, that is, a normal group or an emergency group is turned on. As a result, the normal policy and the emergency policy can be easily switched for each group.
次に、第3の変形例について説明する。第3実施例から第5実施例において、第3の変形例を適用することにより、パケットのログを採取できるようにすることとしてもよい。そのために、第3の変形例によれば、図13及び図14並びに図21から図24に示すポリシーテーブル25及びセッションテーブル22a’に格納されるセッションデータ及びポリシーは、更に項目としてイベントフラグを含む。 Next, a third modification will be described. In the third to fifth embodiments, it is possible to collect a packet log by applying the third modification. Therefore, according to the third modification, the session data and the policy stored in the policy table 25 and the session table 22a ′ shown in FIGS. 13 and 14 and FIGS. 21 to 24 further include an event flag as an item. .
イベントフラグには、パケットに関するイベントフラグと、ヘッダに関するイベントフラグとがある。パケットに関するイベントフラグが「オン(1)」である場合、ログ(履歴)を採取するために、そのパケットがサーバ11に転送される。ヘッダに関するイベントフラグがオンである場合、ログを採取するために、そのパケットのヘッダがサーバ11に転送される。サーバ11は、転送されたパケット又はパケットのヘッダを解析し、ログを採取する。これにより、例えば、システムに障害が生じたときに、ネットワーク管理ソフトを用いて、採取したログを解析する事により、障害から復旧するために役に立つ情報を得ることが可能となる。
The event flag includes an event flag related to a packet and an event flag related to a header. When the event flag regarding the packet is “ON (1)”, the packet is transferred to the
次に、第4の変形例について説明する。第4の変形例によれば、第1実施例から第5実施例に係わるネットワーク接続装置20は、パケットに関する統計情報を取得するために、更にカウンタ(不図示)を備える。上記サーバ11のネットワーク制御部12又はサービス制御部14は、カウンタの値を参照する。統計情報として、例えば、インターフェースごとのパケット入力数と出力数が考えられる。この統計情報は、クライアント等に課金を行う際等において使用することができる。
Next, a fourth modification will be described. According to the fourth modification, the
また、第3実施例から第5実施例に対しては、更に、統計情報として、ポリシーテーブル25に格納されたポリシー毎に、そのポリシーが適用されたセッションの数、つまり、ポリシーがヒットした回数であるポリシーヒット数を得る事としても良い。 For the third to fifth embodiments, the number of sessions to which the policy is applied for each policy stored in the policy table 25 as statistical information, that is, the number of times the policy has been hit. It is also possible to obtain the number of policy hits.
そのために、第4の変形例によれば、図14に示すように、ポリシーテーブル25に格納されるポリシーは、更に項目としてポリシーヒット数を含む。そして、セッション管理部22が、新たなセッションに関するセッションデータをセッションテーブル22a’に登録するために、ポリシーテーブル25を参照して適用するべきポリシーを取得すると、カウンタは、取得されたポリシーのポリシーヒット数をインクリメントする。これにより、ネットワーク管理者は、ポリシーが有効に利用されているか否かを判断するための情報を得る事が可能となる。
Therefore, according to the fourth modified example, as shown in FIG. 14, the policy stored in the policy table 25 further includes the number of policy hits as an item. When the
また、第3実施例から第5実施例に対しては、更に、統計情報として、負荷分散サービスにおける振分先サーバ毎に、セッションが振り分けられた回数を示す振分先ヒット数を得る事としても良い。 In addition, for the third to fifth embodiments, as the statistical information, for each distribution destination server in the load balancing service, a distribution destination hit number indicating the number of times the session has been distributed is obtained. Also good.
そのために、図14に示すポリシーテーブル25又は、図26に示す詳細解析用ポリシーテーブルに格納された負荷分散サービスにかかわるポリシーは、更に項目として、振分先サーバアドレスごとの振分先ヒット数を含む。そして、サービス処理部27又はパケット詳細解析部16が、セッションの振分先サーバを決定する処理を行うごとに、カウンタは、振分先サーバとして決定されたサーバに対応する振分先ヒット数をインクリメントする。これにより、ネットワーク管理者は、負荷分散の振分方式が有効に動作しているか否かを判断するための情報を得ることが可能となる。
For this purpose, the policy relating to the load distribution service stored in the policy table 25 shown in FIG. 14 or the detailed analysis policy table shown in FIG. 26 further includes, as an item, the number of destination hits for each destination server address. Including. Each time the
本実施形態において説明したネットワーク接続装置20を構成する各部及びサーバ11を構成する各部が行う処理を示すプログラムは、それぞれRAM(Random Access Memory)やROM(Read Only Memory)等のメモリに記録され、パケット中継処理装置にハードウェア或いはソフトウェアとして備えられても良い。以下、この場合について説明する。
A program indicating processing performed by each unit configuring the
図36にコンピュータ(情報処理装置)の構成を示す。図36に示すように、コンピュータ40は、少なくともCPU41、メモリ42を備える。さらに、コンピュータ40は、入力装置43、出力装置44、外部記憶装置45、媒体駆動装置46、及びネットワークインターフェース47を備えることとしても良い。各装置はバス48により互いに接続されている。
FIG. 36 shows the configuration of a computer (information processing apparatus). As shown in FIG. 36, the computer 40 includes at least a CPU 41 and a
メモリ42は、例えば、ROM、RAM等を含み、処理に用いられるプログラムとデータを格納する。CPU41は、メモリ42を利用してプログラムを実行することにより、必要な処理を行う。
The
2以上のコンピュータ40に、パケット中継処理装置を構成するサーバ11及びネットワーク接続装置20に相当する機能を実現させる場合、まず、図2、10、12、18、20に示すパケット中継処理装置を構成する各部によって行われる処理を示すプログラムを用意する。そして、サーバ11に備えられる各部によって行われる処理を示すプログラム(以下、サーバ11用のプログラムという)をサーバ11を実現すべきコンピュータ内のメモリ42の特定のプログラムコードセグメントに格納する。
When realizing functions corresponding to the
また、ネットワーク接続装置20に備えられる各部によって行われる処理を示すプログラム(以下、ネットワーク接続装置20用のプログラムという)を、ネットワーク接続装置20を実現すべきコンピュータ内のメモリ42の特定のプログラムコードセグメントに格納する。ここで、ネットワーク接続装置20を実現すべきコンピュータのCPUは、例えば、ネットワークプロセッサである。なお、上述の各部によって行われる処理は、上記において、各フローチャートを用いて説明されている。
Further, a program (hereinafter referred to as a program for the network connection device 20) indicating processing performed by each unit included in the
入力装置43は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。出力装置44は、例えば、ディスプレイやプリンタ等であり、コンピュータ40の利用者への問い合わせ、処理結果等の出力に用いられる。
The
外部記憶装置45は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等である。この外部記憶装置45に上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ42にロードして使用することもできる。
The external storage device 45 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, or the like. The above-described program and data can be stored in the external storage device 45, and loaded into the
媒体駆動装置46は、可搬記録媒体49を駆動し、その記録内容にアクセスする。可搬記録媒体49としては、メモリカード、メモリスティック、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、光ディスク、光磁気ディスク、DVD(Digital Versatile Disk)等、任意のコンピュータで読み取り可能な記録媒体が用いられる。この可搬記録媒体49に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ42にロードして使用することもできる。
The medium driving device 46 drives a portable recording medium 49 and accesses the recorded contents. As a portable recording medium 49, a memory card, a memory stick, a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an optical disk, a magneto-optical disk, a DVD (Digital Versatile Disk), and the like can be read by any computer. A medium is used. The above-described program and data can be stored in the portable recording medium 49, and loaded into the
ネットワークインターフェース47は、LAN、WAN等の任意のネットワーク(回線)を介して外部の装置を通信し、通信に伴なうデータ変換を行う。また、必要に応じて、上述のプログラムとデータを外部の装置から受け取り、それらをメモリ42にロードして使用することもできる。
The
図37は、図36のコンピュータにプログラムとデータを供給することができる、コンピュータで読み取り可能な記録媒体及び伝送信号を説明する図である。
記録媒体を用いて、上述のプログラムや各テーブルに格納されるデータを、サーバ11を実現すべきコンピュータ及びネットワーク接続装置20を実現すべきコンピュータに供給することにより、2以上のコンピュータにパケット中継処理装置に相当する機能を行なわせることも可能である。
FIG. 37 is a diagram for explaining computer-readable recording media and transmission signals that can supply programs and data to the computer of FIG.
By using the recording medium, the above-mentioned program and data stored in each table are supplied to the computer that should realize the
そのためには、上述のプログラムやデータを、コンピュータで読み取り可能な記録媒体49に予め記憶させておく。そして、図37に示すように、媒体駆動装置46を用いて、記録媒体49からサーバ11用のプログラム等をサーバ11を実現すべきコンピュータに読み出させて、そのコンピュータ(サーバ11)のメモリ42や外部記憶装置45に一旦格納させ、そのコンピュータ(サーバ11)の有するCPU41にこの格納されたプログラムを読み出させて実行させる。
For this purpose, the above-described program and data are stored in advance in a computer-readable recording medium 49. Then, as shown in FIG. 37, the medium drive device 46 is used to cause the computer for the
同様に、記録媒体49からネットワーク接続装置20用のプログラム等をネットワーク接続装置20を実現すべきコンピュータのメモリ42等に一旦格納させ、そのコンピュータ(ネットワーク接続装置20)の有するCPU41に格納されたプログラムを読み出させて実行させる。
Similarly, a program or the like for the
また、記録媒体49からプログラム等を、サーバ11を実現すべきコンピュータ及びネットワーク接続装置20を実現すべきコンピュータに読み出させる代わりに、プログラム(データ)提供者が有するDB50から、通信回線(ネットワーク)51を介して、プログラムをそれぞれのコンピュータにダウンロードすることとしてもよい。この場合、例えば、DB50を有しプログラムを送信するコンピュータでは、上記プログラムを表現するプログラム・データをプログラム・データ・シグナルに変換し、変換されたプログラム・データ・シグナルをモデムを用いて変調することにより伝送信号を得て、得られた伝送信号を通信回線51(伝送媒体)に出力する。プログラムを受信するコンピュータでは、受信した伝送信号をモデムを用いて復調することにより、プログラム・データ・シグナルを得て、得られたプログラム・データ・シグナルを変換することにより、プログラム・データを得る。
Further, instead of causing the computer to realize the
次に、図38を用いて、サーバ11を実現すべきコンピュータ及びネットワーク接続装置20を実現すべきコンピュータへのプログラムやデータのローディングについて、例を挙げてより詳しく説明する。
Next, with reference to FIG. 38, the loading of programs and data to the computer that implements the
図38に示すように、サーバ11及びネットワーク接続装置20を実現すべきコンピュータは、各々CPU及びメモリを備え、上述の制御情報通信部31を介して接続されている。また、例えば、制御情報通信部31がPCIバスである場合、ネットワーク接続装置20をPCI用のNIC(Network Interface Card)として実現しても良い。
As shown in FIG. 38, the computer which should implement | achieve the
例えば、サーバ11用のプログラム等及びネットワーク接続装置20用のプログラム等(ファームウェア)を記録した記録媒体がある場合、まず、サーバ11を実現すべきコンピュータに備えられた不図示の媒体駆動装置を用いて記録媒体からサーバ11用のプログラム等及びネットワーク接続装置20用のプログラム等をサーバ11のメモリにロードする(矢印A41)。続いて、サーバ11のメモリに格納されたネットワーク接続装置20用のプログラム等を、制御情報通信部31を介してネットワーク接続装置20のメモリにロードする(矢印42)。このようにして、サーバ11を実現すべきコンピュータ及びネットワーク接続装置20を実現すべきコンピュータに、それぞれに必要なプログラム等を供給することができる。サーバ11のCPUは、サーバ11のメモリにロードされたサーバ11用のプログラムを実行し、ネットワーク接続装置20のCPUは、ネットワーク接続装置20のメモリにロードされたネットワーク接続装置20用のプログラムを実行する。
For example, when there is a recording medium in which a program for the
また、上述のようにプログラム等を記録媒体からロードする代わりに、予めROM等に記録しておくこととしても良い事は言うまでもない。また、記録媒体のかわりに伝送信号を用いてプログラム等をサーバ11を実現すべきコンピュータに供給する事としても良い。
Needless to say, instead of loading a program or the like from a recording medium as described above, it may be recorded in a ROM or the like in advance. Moreover, it is good also as supplying a program etc. to the computer which should implement | achieve the
また、ネットワーク接続装置20において、CPUの代わりにASIC(Application Specific Integrated Circuit)を用いて、ネットワーク接続装置20を構成する各部をハードウェアで構成する事としても良い。
Further, in the
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、他の様々な変更が可能である。
以上説明したように、本発明においては、以下の効果を得ることができる。
(1)上記ネットワーク接続装置にセッション管理に基づくパケット中継処理部を設け、ネットワーク接続装置により、セッション管理に基づく中継処理を行うようにする。これにより、サーバのCPU使用率を下げることができる。また、ネットワーク接続装置上でセッション管理を行い、セッション開始時にセッションテーブルに出力先を登録することにより、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。
(2)パケット中継処理装置のサーバに外部セッション管理機能を設け、ネットワーク接続装置からセッション情報を上記サーバに転送し、サーバによりセッション管理を行うことにより、セッション数がネットワーク接続装置のセッションテーブル登録数を上回った場合でも、ネットワーク接続装置で溢れた分をサーバで管理することができる。
〈3〉処理振分部と複数のサービス処理部をサーバに比べ高速に処理できるネットワーク接続装置に配置することにより、サーバのCPUの使用率を小さくすることができるとともに、サービス処理を高速化することができる。
(4)サーバに外部サービス処理部を設け、サービス処理を、ネットワーク接続装置とサーバの両方で実行できるようにすることにより、ネットワーク接続装置2上で実現するのは困難なサービス処理をサーバで行うことができ、ネットワーク接続装置が上記決定されたサービス内容に基づき中継処理を行うようにすることにより、サーバで全ての処理を行う場合に比べ、サービス処理を高速に実現することが可能となる。
As mentioned above, although embodiment of this invention was described, this invention is not limited to embodiment mentioned above, Various other changes are possible.
As described above, the following effects can be obtained in the present invention.
(1) A packet relay processing unit based on session management is provided in the network connection device, and relay processing based on session management is performed by the network connection device. Thereby, the CPU usage rate of the server can be lowered. Also, by managing the session on the network connection device and registering the output destination in the session table at the start of the session, even if the routing table is changed during the session, consistency is maintained for the ongoing session it can.
(2) By providing an external session management function in the server of the packet relay processing device, transferring session information from the network connection device to the server, and performing session management by the server, the number of sessions is the number of sessions registered in the network connection device. Even if the number exceeds the limit, the overflow of the network connection device can be managed by the server.
<3> By arranging the processing distribution unit and the plurality of service processing units in a network connection device capable of processing at higher speed than the server, the CPU usage rate of the server can be reduced and the service processing speeded up. be able to.
(4) By providing an external service processing unit in the server and enabling the service processing to be executed by both the network connection device and the server, service processing that is difficult to realize on the
(付記1)
ネットワーク接続装置を有するパケット中継処理装置であって、
上記ネットワーク接続装置がセッションを管理するセッション管理部と、
上記セッション管理部によるセッション管理に基づいてパケットを中継するパケット処理部を備えている
ことを特徴とするパケット中継処理装置。
(付記2)
上記ネットワーク接続装置は、更に、上記パケットのルーティング先に関するルーティング情報を格納するルーティングテーブルと、
上記セッションの開始時に、上記ルーティング情報に基づいて上記パケットのルーティング先を決定するルーティング処理部を更に備え、
上記パケット処理部は、上記パケットを上記ルーティング先に出力する、
ことを特徴とする付記1に記載のパケット中継処理装置。
(付記3)
上記パケット中継処理装置は、更に、サーバを備え、
上記サーバは、上記ルーティングテーブルに上記ルーティング情報を書き込むネットワーク制御部を備える、
ことを特徴とする付記1に記載のパケット中継処理装置。
(付記4)
上記パケット中継処理装置は、さらに、サーバを備え、
上記サーバは、上記セッションを管理する外部セッション管理部を備え、
上記セッション管理部は、与えられた条件に応じて上記セッションに関するセッション情報を上記サーバに転送し、
上記外部セッション管理部は、受信した上記セッション情報に基づいて上記セッションを管理する、
ことを特徴とする付記1に記載のパケット中継処理装置。
(付記5)
上記ネットワーク接続装置は、更に処理振分部と複数のサービス処理部を備え、
上記処理振分部は、上記パケットに対するサービスの内容に基づいて、上記複数のサービス処理部のうち少なくとも1つに上記パケットを振り分け、
上記パケットを振り分けられたサービス処理部は、上記パケットに対するサービス処理を実行する、
ことを特徴とする付記1に記載のパケット中継処理装置。
(付記6)
上記パケット中継処理装置は、更にサーバを備え、
上記サーバは、外部サービス処理部を備え、
上記処理振分部は、与えられた条件によって、上記パケットを上記サーバに転送し、
上記外部サービス処理部は、受信したパケットに対するサービスを実行する、
ことを特徴とする付記5のパケット中継処理装置。
(付記7)
上記パケット中継処理装置は、サーバを更に備え、
上記サーバは、パケット詳細解析部を備え、
上記ネットワーク接続装置は、更に処理振分部とサービス処理部を備え、
上記処理振分部が、与えられた条件によって上記パケットを上記パケット詳細解析部に転送し、
上記パケット詳細解析部は、上記パケットを解析することにより上記パケットに対するサービス内容を決定し、決定した上記サービス内容を上記ネットワーク接続装置に設定し、
上記設定後、上記ネットワーク接続装置は、上記決定されたサービス内容に基づいて上記パケットを処理する、
ことを特徴とする付記1に記載のパケット中継処理装置。
(付記8)
上記サービス処理部として、上記パケットのヘッダを書き換える機能を持つことを特徴とする付記5に記載のパケット中継処理装置。
(付記9)
上記サービス処理部として、パケットを廃棄する機能を持つことを特徴とする付記5に記載のパケット中継処理装置。
(付記10)
上記サービス処理部は、上記サーバの負荷分散のために、負荷の振分先を決定する機能を持つことを特徴とする付記5に記載のパケット中継処理装置。
(付記11)
上記ネットワーク接続装置は、上記セッションに関するセッション情報を格納するセッションテーブルと、上記パケットに対するサービスを実行するための規則を記述するポリシーを格納するポリシーテーブルを備え、
上記セッション管理部は、上記パケットを受信した場合、上記パケットに含まれる情報を検索キーとして用いてセッションテーブルを検索し、
上記検索の結果、該当するセッション情報が上記セッションテーブルに登録されていない場合には、上記セッション管理部は、さらに上記パケットに含まれる情報を検索キーに基づいて、上記ポリシーテーブルから上記ポリシーを取得し、上記取得したポリシーに基づいて、上記セッション情報を上記セッションテーブルに書き込み、
上記検索の結果、該当するセッション情報が上記セッションテーブルに登録されている場合には、上記セッション管理部は、上記セッションの状態に基づいて、上記セッションテーブルに格納されたセッション情報を管理することを特徴とする付記5に記載のパケット中継処理装置。
(付記12)
上記パケット中継処理装置はサーバを備え、
上記サーバは、上記ポリシーを上記ポリシーテーブルに書き込むサービス制御部を備える、
ことを特徴とする付記11に記載のパケット中継処理装置。
(付記13)
上記セッションテーブルを検索する際の上記検索キーが、IPパケットの宛先及び送信元IPアドレス、プロトコル、宛先及び送信元ポート番号、入力インタフェースを含むことを特徴とする付記11に記載のパケット中継処理装置。
(付記14)
上記セッションテーブルが、上記検索キー、上記セッションの状態、適用サービス及び上記適用サービスに固有な情報をエントリとしてを持つことを特徴とする付記11に記載のパケット中継処理装置。
(付記15)
上記ポリシーテーブルが、IPパケットの宛先及び送信元IPアドレス、プロトコル、宛先及び送信元ポート番号、適用サービスと上記適用サービスに固有な情報、優先度をエントリとして持つことを特徴とする付記11に記載のパケット中継処理装置。
(付記16)
上記セッション管理部は、更に、上記セッションが終了してから所定時間経過した後に、上記終了したセッションに関するセッション情報を上記セッションテーブルから削除することを特徴とする付記1に記載のパケット中継処理装置。
(付記17)
上記ネットワーク接続装置は、更に、パケットに関する統計情報を取得するためのカウンタを備えることを特徴とする付記1に記載のパケット中継処理装置。
(付記18)
複数のポリシーは複数のグループに分けられ、
上記ネットワーク接続装置は、更に、上記グループ毎に各ポリシーが有効であるか否かを設定することを特徴とする付記11に記載のパケット中継処理装置。
(付記19)
上記ネットワーク接続装置は、更に、上記パケットのログを採取するために、上記パケットの少なくとも一部を上記サーバに転送することを特徴とする付記12に記載のパケット中継処理装置。
(付記20)
上記パケットの一部は、上記パケットのヘッダであることを特徴とする付記18に記載のパケット中継処理装置。
(付記21)
上記セッション情報は、上記サーバに上記パケットを転送するべきか否かを示すサーバ転送指示情報を含み、上記処理振分部は、上記サーバ転送指示情報に基づいて、上記パケットを上記サーバへの転送を行うか否かを決定する事を特徴とする付記12に記載のパケット中継処理装置。
(付記22)
上記パケット詳細解析部は、更に、上記サーバに転送された上記パケットがHTTPプロトコルのGETパケットである場合、上記パケットに含まれるURL(Uniform Resource Locator)に基づいて、上記パケットに対するサービスを決定する、
ことを特徴とする付記7に記載のパケット中継処理装置。
(付記23)
上記パケット詳細解析部は、更に、上記サーバに転送された上記パケットがFTPプロトコルのPORT命令、或いはPASV命令のACKである場合、上記セッションのデータコネクションのIPアドレスとポート番号に基づいて、上記パケットに対するサービスを決定する、
ことを特徴とする付記7に記載のパケット中継処理装置。
(付記24)
上記パケット詳細解析部は、上記サーバの負荷を分散させる処理を行う場合、上記負荷の振分先となる振分先サーバが決定されるまで、上記振分先サーバに代わって応答することを特徴とする付記7に記載のパケット中継処理装置。
(付記25)
上記パケット詳細解析部は、上記パケットを解析することにより、上記セッションテーブルに、上記パケットに対するサービスの種類、変換用IPアドレス及びポート番号、シーケンス番号及びACK番号差分を書き込む、
ことを特徴とする付記21に記載のパケット中継処理装置。
(付記26)
パケット中継処理装置におけるネットワーク接続装置であって、
上記ネットワーク接続装置がセッションを管理するセッション管理部と、
上記セッション管理部によるセッション管理に基づいてパケットを中継するパケット処理部を備えている
ことを特徴とするネットワーク接続装置。
(付記27)
上記ネットワーク接続装置は、与えられた条件に応じて上記セッションに関するセッション情報を上記パケット中継処理装置に備えられたサーバに転送するサーバ転送部を備え、
上記サーバは転送された上記セッション情報により上記セッションの管理を行う
ことを特徴とする付記26のネットワーク接続装置。
(付記28)
上記ネットワーク接続装置は処理振分部と複数のサービス処理部を更に備え、
上記処理振分部は、上記パケットに対するサービスの内容に基づいて、上記複数のサービス処理部のうち少なくとも1つに上記パケットを振り分け、
上記パケットを振り分けられたサービス処理部は、上記パケットに対するサービス処理を実行する、
ことを特徴とする付記26のネットワーク接続装置。
(付記29)
上記処理振分部は、与えられた条件によって、上記パケットを上記パケット中継処理装置に備えられたサーバに転送し、上記サーバに上記パケットに対するサービス処理を実行させる
ことを特徴とする付記26のネットワーク接続装置。
(付記30)
上記ネットワーク接続装置が処理振分部とサービス処理部を更に備え、
上記処理振分部は、与えられた条件によって上記パケットをパケット中継処理装置に備えられたサーバに、上記パケットに対するサービスを決定するために転送し、
上記サービス処理部は、上記サーバによるサービスの決定以後、上記サーバで決定したサービス内容に基づいて上記セッションのパケットを処理する
ことを特徴とする付記26のネットワーク接続装置。
(付記31)
パケットを中継する制御を、ネットワーク接続装置に備えられたコンピュータに実行させるプログラムであって、
セッションを管理し、
上記セッション管理に基づいて上記パケットを中継する
ことを含む処理を上記コンピュータに実行させることを特徴とするプログラム。
(付記32)
与えられた条件に応じて上記セッションに関するセッション情報を上記ネットワーク接続装置に接続されたサーバに、上記サーバに上記セッションの管理を行わせるために転送する、
ことを更に含む処理を上記コンピュータに実行させることを特徴とする付記31に記載のプログラム。
(付記33)
上記パケットに対するサービスの内容に基づいて、上記サービスに対応する処理を行う装置又はプログラムセグメントに、上記パケットを振り分ける、
ことを更に含む処理を上記コンピュータに実行させることを特徴とする付記31に記載のプログラム。
(付記34)
与えられた条件に応じて上記パケットを上記ネットワーク接続装置に接続されたサーバに、上記サーバに上記パケットに対するサービスを実行させるために転送する、
ことを更に含む処理を上記コンピュータに実行させることを特徴とする付記33に記載のプログラム。
(付記35)
与えられた条件に応じて、上記ネットワーク接続装置に接続されたサーバへ、上記パケットに対するサービスを決定するために上記パケットを転送し、
上記サーバによる上記パケットに対するサービスの決定以後、上記決定されたサービス内容に基づきパケットを処理する
ことを含む処理を上記コンピュータに実行させること特徴とする付記31に記載のプログラム。
(付記36)
パケットを中継する機能を有するネットワーク接続装置に接続されたサーバに実行させるプログラムであって、
上記ネットワーク接続装置が上記パケットを処理するために、上記パケットに対するサービスを実行するための規則を記述するポリシーを上記ネットワーク接続装置に設定する、
ことを含む処理を上記サーバに実行させることを特徴とするプログラム。
(付記37)
上記ネットワーク接続装置から転送された上記パケットを受信し、受信した上記パケットに対するサービスを実行する、
ことを含む処理を上記サーバに実行させることを特徴とする付記36に記載のプログラム。
(付記38)
パケットを中継する機能を有するネットワーク接続装置に接続されたサーバに実行させるプログラムであって、
上記ネットワーク接続装置から転送された上記パケットを受信し、
上記パケットを解析することにより、上記パケットに対するサービスの内容を決定し、
上記決定されたサービス内容に基づいて上記ネットワーク接続装置に上記パケットを処理させるために、該決定されたサービスの内容を上記ネットワーク接続装置に設定する、
ことを含む処理を上記サーバに実行させることを特徴とするプログラム。
(付記39)
パケットを中継する制御を、ネットワーク接続装置に備えられたコンピュータに実行させるプログラムを記録した記録媒体であって、
セッションを管理し、
上記セッション管理に基づいて上記パケットを中継する
ことを含む処理を上記コンピュータに実行させるプログラムを記録した記録媒体。
(付記40)
与えられた条件に応じて上記セッションに関するセッション情報を上記ネットワーク接続装置に接続されたサーバに、上記サーバに上記セッションの管理を行わせるために転送する、
ことを更に含む処理を上記コンピュータに実行させるプログラムを記録した付記39に記載の記録媒体。
(付記41)
上記パケットに対するサービスの内容に基づいて、上記サービスに対応する処理を行う装置又はプログラムセグメントに、上記パケットを振り分ける、
ことを更に含む処理を上記コンピュータに実行させるプログラムを記録した付記39に記載の記録媒体。
(付記42)
与えられた条件に応じて上記パケットを上記ネットワーク接続装置に接続されたサーバに、上記サーバに上記パケットに対するサービスを実行させるために転送する、
ことを更に含む処理を上記コンピュータに実行させるプログラムを記録した付記39に記載の記録媒体。
(付記43)
与えられた条件に応じて、上記ネットワーク接続装置に接続されたサーバへ、上記パケットに対するサービスを決定するために上記パケットを転送し、
上記サーバによる上記パケットに対するサービスの決定以後、上記決定されたサービス内容に基づきパケットを処理する
ことを更に含む処理を上記コンピュータに実行させるプログラムを記録した付記39に記載の記録媒体。
(付記44)
パケットを中継する機能を有するネットワーク接続装置に接続されたサーバに実行させるプログラムを記録した記録媒体であって、
上記ネットワーク接続装置が上記パケットを処理するために、上記パケットに対するサービスを実行するための規則を記述するポリシーを上記ネットワーク接続装置に設定する、
ことを含む処理を上記サーバに実行させるプログラムを記録した記録媒体。
(付記45)
上記ネットワーク接続装置から転送された上記パケットを受信し、受信した上記パケットに対するサービスを実行する、
ことを更に含む処理を上記サーバに実行させるプログラムを記録した付記44に記載の記録媒体。
(付記46)
パケットを中継する機能を有するネットワーク接続装置に接続されたサーバに実行させるプログラムを記録した記録媒体であって、
上記ネットワーク接続装置から転送された上記パケットを受信し、
上記パケットを解析することにより、上記パケットに対するサービスの内容を決定し、
上記決定されたサービス内容に基づいて上記ネットワーク接続装置に上記パケットを処理させるために、該決定されたサービスの内容を上記ネットワーク接続装置に設定する、
ことを含む処理を上記サーバに実行させるプログラムを記録した記録媒体。
(Appendix 1)
A packet relay processing device having a network connection device,
A session management unit for managing a session by the network connection device;
A packet relay processing apparatus comprising: a packet processing unit that relays a packet based on session management by the session management unit.
(Appendix 2)
The network connection device further includes a routing table that stores routing information related to a routing destination of the packet;
A routing processing unit for determining a routing destination of the packet based on the routing information at the start of the session;
The packet processing unit outputs the packet to the routing destination;
The packet relay processing device according to
(Appendix 3)
The packet relay processing device further includes a server,
The server includes a network control unit that writes the routing information in the routing table.
The packet relay processing device according to
(Appendix 4)
The packet relay processing device further includes a server,
The server includes an external session management unit that manages the session,
The session management unit transfers session information related to the session to the server according to a given condition,
The external session management unit manages the session based on the received session information.
The packet relay processing device according to
(Appendix 5)
The network connection device further includes a processing distribution unit and a plurality of service processing units,
The processing distribution unit distributes the packet to at least one of the plurality of service processing units based on a service content for the packet,
The service processing unit to which the packet is distributed executes service processing for the packet.
The packet relay processing device according to
(Appendix 6)
The packet relay processing device further includes a server,
The server includes an external service processing unit,
The processing distribution unit transfers the packet to the server according to a given condition,
The external service processing unit executes a service for the received packet.
The packet relay processing device according to
(Appendix 7)
The packet relay processing device further includes a server,
The server includes a packet detail analysis unit,
The network connection device further includes a processing distribution unit and a service processing unit,
The processing distribution unit transfers the packet to the packet detail analysis unit according to a given condition,
The packet detail analysis unit determines the service content for the packet by analyzing the packet, sets the determined service content in the network connection device,
After the setting, the network connection device processes the packet based on the determined service content.
The packet relay processing device according to
(Appendix 8)
6. The packet relay processing device according to
(Appendix 9)
6. The packet relay processing apparatus according to
(Appendix 10)
The packet relay processing device according to
(Appendix 11)
The network connection device includes a session table for storing session information regarding the session, and a policy table for storing a policy describing a rule for executing a service for the packet,
When the session management unit receives the packet, the session management unit searches the session table using information included in the packet as a search key,
As a result of the search, if the corresponding session information is not registered in the session table, the session management unit further acquires the policy from the policy table based on a search key for information included in the packet. Based on the acquired policy, the session information is written to the session table,
As a result of the search, if the corresponding session information is registered in the session table, the session management unit manages the session information stored in the session table based on the state of the session. The packet relay processing device according to
(Appendix 12)
The packet relay processing apparatus includes a server,
The server includes a service control unit that writes the policy in the policy table.
The packet relay processing device according to
(Appendix 13)
12. The packet relay processing device according to
(Appendix 14)
12. The packet relay processing apparatus according to
(Appendix 15)
(Appendix 16)
The packet relay processing device according to
(Appendix 17)
The packet relay processing device according to
(Appendix 18)
Multiple policies are divided into groups,
The packet relay processing device according to
(Appendix 19)
13. The packet relay processing device according to
(Appendix 20)
Item 19. The packet relay processing device according to
(Appendix 21)
The session information includes server transfer instruction information indicating whether or not to transfer the packet to the server, and the processing distribution unit transfers the packet to the server based on the server transfer instruction information. 13. The packet relay processing device according to
(Appendix 22)
The packet detailed analysis unit further determines a service for the packet based on a URL (Uniform Resource Locator) included in the packet when the packet transferred to the server is an HTTP protocol GET packet.
The packet relay processing device according to
(Appendix 23)
If the packet transferred to the server is an PORT command of FTP protocol or an ACK of a PASV command, the packet detail analysis unit further determines the packet based on the IP address and port number of the data connection of the session. Determine the service for the
The packet relay processing device according to
(Appendix 24)
When performing the process of distributing the load on the server, the packet detail analysis unit responds on behalf of the distribution destination server until a distribution destination server that is a distribution destination of the load is determined. The packet relay processing device according to
(Appendix 25)
The packet detail analysis unit analyzes the packet, and writes the service type, translation IP address and port number, sequence number, and ACK number difference for the packet in the session table.
(Appendix 26)
A network connection device in a packet relay processing device,
A session management unit for managing a session by the network connection device;
A network connection device comprising: a packet processing unit that relays packets based on session management by the session management unit.
(Appendix 27)
The network connection device includes a server transfer unit that transfers session information related to the session to a server provided in the packet relay processing device according to a given condition,
The network connection device according to
(Appendix 28)
The network connection device further includes a processing distribution unit and a plurality of service processing units,
The processing distribution unit distributes the packet to at least one of the plurality of service processing units based on a service content for the packet,
The service processing unit to which the packet is distributed executes service processing for the packet.
The network connection device according to
(Appendix 29)
The network according to
(Appendix 30)
The network connection device further includes a processing distribution unit and a service processing unit,
The processing distribution unit forwards the packet to a server provided in the packet relay processing device according to a given condition to determine a service for the packet,
The network connection apparatus according to
(Appendix 31)
A program for causing a computer provided in a network connection device to execute control for relaying a packet,
Manage sessions,
A program that causes the computer to execute processing including relaying the packet based on the session management.
(Appendix 32)
Transfer session information related to the session according to given conditions to a server connected to the network connection device so that the server manages the session.
32. The program according to
(Appendix 33)
Based on the content of the service for the packet, the packet is distributed to a device or a program segment that performs processing corresponding to the service.
32. The program according to
(Appendix 34)
Forwarding the packet to a server connected to the network connection device according to a given condition in order to cause the server to perform a service for the packet;
34. The program according to
(Appendix 35)
Transfer the packet to determine a service for the packet to a server connected to the network connection device according to a given condition,
The program according to
(Appendix 36)
A program to be executed by a server connected to a network connection device having a function of relaying a packet,
In order for the network connection device to process the packet, a policy describing a rule for executing a service for the packet is set in the network connection device.
A program that causes the server to execute processing including the above.
(Appendix 37)
Receiving the packet transferred from the network connection device, and executing a service for the received packet;
37. The program according to appendix 36, which causes the server to execute processing including the above.
(Appendix 38)
A program to be executed by a server connected to a network connection device having a function of relaying a packet,
Receiving the packet transferred from the network connection device;
By analyzing the packet, the service content for the packet is determined,
In order to cause the network connection device to process the packet based on the determined service content, the content of the determined service is set in the network connection device.
A program that causes the server to execute processing including the above.
(Appendix 39)
A recording medium recording a program for causing a computer provided in a network connection device to execute control for relaying a packet,
Manage sessions,
The recording medium which recorded the program which makes the said computer perform the process including relaying the said packet based on the said session management.
(Appendix 40)
Transfer session information related to the session according to given conditions to a server connected to the network connection device so that the server manages the session.
40. The recording medium according to appendix 39, wherein a program for causing the computer to execute a process further including the above is recorded.
(Appendix 41)
Based on the content of the service for the packet, the packet is distributed to a device or a program segment that performs processing corresponding to the service.
40. The recording medium according to appendix 39, wherein a program for causing the computer to execute a process further including the above is recorded.
(Appendix 42)
Forwarding the packet to a server connected to the network connection device according to a given condition in order to cause the server to perform a service for the packet;
40. The recording medium according to appendix 39, wherein a program for causing the computer to execute a process further including the above is recorded.
(Appendix 43)
Transfer the packet to determine a service for the packet to a server connected to the network connection device according to a given condition,
40. The recording medium according to appendix 39, wherein a program for causing the computer to execute processing further including processing the packet based on the determined service content after the server determines the service for the packet.
(Appendix 44)
A recording medium recording a program to be executed by a server connected to a network connection device having a function of relaying a packet,
In order for the network connection device to process the packet, a policy describing a rule for executing a service for the packet is set in the network connection device.
The recording medium which recorded the program which makes the said server perform the process including this.
(Appendix 45)
Receiving the packet transferred from the network connection device, and executing a service for the received packet;
45. A recording medium according to
(Appendix 46)
A recording medium recording a program to be executed by a server connected to a network connection device having a function of relaying a packet,
Receiving the packet transferred from the network connection device;
By analyzing the packet, the service content for the packet is determined,
In order to cause the network connection device to process the packet based on the determined service content, the content of the determined service is set in the network connection device.
The recording medium which recorded the program which makes the said server perform the process including this.
1 サーバ
2 ネットワーク接続装置
11 サーバ
12 ネットワーク制御部
13 外部セッション管理部
13a 外部セッションテーブル
14 サービス制御部
15 外部サービス処理部
16 パケット詳細解析部
20 ネットワーク接続装置
21 パケット処理部
22 セッション管理部
22a セッションテーブル
22a’ セッションテーブル
23 ルーティング処理部
23a ルーティングテーブル
24 サーバ転送部
25 ポリシーテーブル
26 処理振分部
27 サービス処理部
30 ネットワーク接続部
31 制御情報通信部
32 セッション情報通信部
33 パケット通信路
40 コンピュータ
41 CPU
42 メモリ
43 入力装置
44 出力装置
45 外部記憶装置
46 媒体駆動装置
47 ネットワークインターフェース
48 バス
49 可搬記録媒体
50 データベース
51 回線
A 矢印
P パケット
S ステップ
DESCRIPTION OF
42
Claims (1)
ネットワーク接続装置は、
受信したパケットのセッション毎に、該パケットに適用すべき処理とサーバへのパケット転送の要又は不要を示す情報を記憶し、
前記受信したパケットのセッションに対応して記憶された情報のうち、前記サーバへのパケット転送の要又は不要を示す情報が要である場合に、該受信したパケットを前記サーバに転送し、
前記サーバは、
転送された前記パケットに対して所定の処理を行い、
前記セッションについて、以降の受信パケットについて該サーバでの処理が不要である場合に、前記セッションに対応して記憶された情報のうち、該サーバへのパケット転送の要の情報を不要に変更し、
前記サーバは、受信したパケットに含まれる種別情報に基づいて該サーバの負荷を分散させる処理を行うと判定した場合、前記パケットに含まれるURL(Uniform Resource Locator)を用いて、URLと該負荷の振分先となる振分先サーバとが関係づけられた情報を参照して該負荷の振分先となる振分先サーバが決定されるまで、該振分先サーバに代わって応答する
ことを特徴とするパケット処理方法。 A packet processing method,
Network connection device
For each session of the received packet, store information indicating the processing to be applied to the packet and the necessity or unnecessary of packet transfer to the server,
Of the information stored corresponding to the session of the received packet, when information indicating the necessity or necessity of packet transfer to the server is required, the received packet is transferred to the server,
The server
Perform predetermined processing on the transferred packet,
For the session, when processing at the server for subsequent received packets is unnecessary, the information necessary for packet transfer to the server is changed to unnecessary among the information stored corresponding to the session,
When it is determined that the server performs processing to distribute the load of the server based on the type information included in the received packet , the server uses a URL (Uniform Resource Locator) included in the packet to determine the URL and the load. Responding on behalf of the allocation destination server until the allocation destination server that is the allocation destination of the load is determined with reference to the information related to the allocation destination server that is the allocation destination. features and be Rupa packet processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009123037A JP5229109B2 (en) | 2001-03-27 | 2009-05-21 | Packet relay processor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001090122 | 2001-03-27 | ||
JP2001090122 | 2001-03-27 | ||
JP2009123037A JP5229109B2 (en) | 2001-03-27 | 2009-05-21 | Packet relay processor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006297354A Division JP4365397B2 (en) | 2001-03-27 | 2006-11-01 | Packet relay processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009217841A JP2009217841A (en) | 2009-09-24 |
JP5229109B2 true JP5229109B2 (en) | 2013-07-03 |
Family
ID=41189545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009123037A Expired - Fee Related JP5229109B2 (en) | 2001-03-27 | 2009-05-21 | Packet relay processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5229109B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6181577B2 (en) * | 2014-02-25 | 2017-08-16 | 日本電信電話株式会社 | Policy control system and policy control program |
JP6069236B2 (en) * | 2014-02-25 | 2017-02-01 | 日本電信電話株式会社 | Application identification system transfer reduction method, application identification apparatus, and application identification program |
JP2016163085A (en) * | 2015-02-27 | 2016-09-05 | アラクサラネットワークス株式会社 | Communication device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143438B1 (en) * | 1997-09-12 | 2006-11-28 | Lucent Technologies Inc. | Methods and apparatus for a computer network firewall with multiple domain support |
US6411986B1 (en) * | 1998-11-10 | 2002-06-25 | Netscaler, Inc. | Internet client-server multiplexer |
JP3469501B2 (en) * | 1999-03-31 | 2003-11-25 | 富士通株式会社 | Network device control device and communication system |
JP2000295274A (en) * | 1999-04-05 | 2000-10-20 | Nec Corp | Packet exchange |
JP3403971B2 (en) * | 1999-06-02 | 2003-05-06 | 富士通株式会社 | Packet transfer device |
AU6082199A (en) * | 1999-09-13 | 2001-04-30 | Nokia Corporation | Intelligent data network router |
-
2009
- 2009-05-21 JP JP2009123037A patent/JP5229109B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009217841A (en) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3963690B2 (en) | Packet relay processor | |
US7490162B1 (en) | Method and system for forwarding messages received at a traffic manager | |
US7102996B1 (en) | Method and system for scaling network traffic managers | |
US7840699B2 (en) | Name resolution server and packet transfer device | |
US6973506B2 (en) | Position identifier management apparatus and method, mobile computer, and position identifier processing method | |
JP2009539167A (en) | Distributed local web server architecture for storage devices | |
JP6766110B2 (en) | Control devices, control methods, and programs | |
JPWO2003103233A1 (en) | Packet relay device, network connection device, packet relay method, recording medium, program | |
US20210099533A1 (en) | Transparent network service migration across service devices | |
JPWO2011040511A1 (en) | Billing processing system, network switch, network management server, billing processing method, and billing processing program | |
Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
US7937435B2 (en) | Identifying, storing, and retrieving context data for a network message | |
JP5900352B2 (en) | Packet processing apparatus, packet processing method and program | |
JP4309359B2 (en) | Packet communication apparatus and function expansion method thereof | |
Cha et al. | A mobility link service for ndn consumer mobility | |
JP5229109B2 (en) | Packet relay processor | |
JP2845208B2 (en) | Address resolution device | |
JP4365397B2 (en) | Packet relay processor | |
CN107249038A (en) | Business datum retransmission method and system | |
JP2006262193A (en) | Controller, packet transferring method, and packet processor | |
JP6330814B2 (en) | COMMUNICATION SYSTEM, CONTROL INSTRUCTION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM | |
JP4776412B2 (en) | Packet transfer apparatus, packet transfer method, and program | |
JP3082760B1 (en) | MPOA packet transfer method | |
US12141162B1 (en) | Database connection manager, metric-based routing and load balancing for replica servers | |
JP2002199003A (en) | Method for registering mobile terminal position and device for executing the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110524 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120404 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121211 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130304 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |