JP2007104700A - Packet relay processing apparatus - Google Patents

Packet relay processing apparatus Download PDF

Info

Publication number
JP2007104700A
JP2007104700A JP2006297354A JP2006297354A JP2007104700A JP 2007104700 A JP2007104700 A JP 2007104700A JP 2006297354 A JP2006297354 A JP 2006297354A JP 2006297354 A JP2006297354 A JP 2006297354A JP 2007104700 A JP2007104700 A JP 2007104700A
Authority
JP
Japan
Prior art keywords
packet
session
server
service
unit
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.)
Granted
Application number
JP2006297354A
Other languages
Japanese (ja)
Other versions
JP4365397B2 (en
Inventor
Kuniaki Shimada
邦昭 嶋田
Ken Yokoyama
乾 横山
Toshihiko Kurita
敏彦 栗田
Tsuneo Katsuyama
恒男 勝山
Takeshi Kawasaki
健 川崎
Koichi Takaba
浩一 高場
博靖 ▲蔭▼山
Hiroyasu Kageyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006297354A priority Critical patent/JP4365397B2/en
Publication of JP2007104700A publication Critical patent/JP2007104700A/en
Application granted granted Critical
Publication of JP4365397B2 publication Critical patent/JP4365397B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To speed up service processing of a server by arranging a common process used in many network services to a network connecting device. <P>SOLUTION: A packet processing unit and a session managing unit, which are conventionally arranged in a server, are arranged in a network connecting device 2, and the network connecting device 2 performs a packet relay process based on session management. A process distributing unit 2c and service processing units 2d are arranged in the network connecting device 2, so that the process distributing unit 2c distributes a packet to the service processing units 2d, based on session management according to a policy set by the server 1. The server 1 performs session management according to a condition, the network connecting device 2 allows the server to conduct service processing, the server analyzes a packet and sets the contents of the service in the network connecting device 2, and thereafter, the network connecting device 2 performs a relay process for the same session, based on the contents of the service. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、サーバ負荷分散制御、NAT(Network Address Translation)、帯域制御、VPN(Virtual Private Network)、ファイアウォールサービス機能を持ったサーバを最適化するためのパケット中継処理装置に関する。   The present invention relates to a packet relay processing apparatus for optimizing a server having server load distribution control, NAT (Network Address Translation), bandwidth control, VPN (Virtual Private Network), and a firewall service function.

現在、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, reference numeral 100 denotes a server, which includes a packet processing unit 101, a service 1 processing unit to a service n processing unit 102, and a service 1 control unit to a service n control unit 103.
The service 1 processing unit to the service n processing unit 102 perform session management, routing, and service processing such as filtering and load distribution according to the policy defined by the service 1 control unit to the service n control unit 103.

104はネットワーク接続装置であり、ネットワーク接続部を介してネットワークから入力されたパケットは、ネットワーク接続装置104、パケット通信部105を介してサーバ100のパケット処理部101に送られ、パケットが処理される。
特開2000−349851号公報 特開平11−4261号公報 特開2001−16254号公報
Reference numeral 104 denotes a network connection device, and a packet input from the network via the network connection unit is sent to the packet processing unit 101 of the server 100 via the network connection device 104 and the packet communication unit 105 to process the packet. .
JP 2000-349851 A Japanese Patent Laid-Open No. 11-4261 JP 2001-16254 A

最近の急激なインターネットの大規模化のため、ネットワークを流れるパケットの量は指数関数的な伸びを示している。このため、従来のサーバでは、要求される処理速度に応えきれなくなってきており、サーバを高速化する技術が求められている。また、新しいプラットホームを作る上で、サーバの多くのサービスを統合することができるという点は、できる限り損なわないようにしたい。   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 in order to solve the above-described problem. By locating common processing used in many network services in a network connection device, it is possible to speed up server service processing. Objective.

図1は本発明の概要を説明する図である。同図において、1はサーバ、2はネットワーク接続装置である。本発明においては、ネットワーク接続装置を統合し、従来サーバ上に配置していたパケット処理部とセッション管理部をネットワーク接続装置2上に配置してパケット中継処理部を構成し、該パケット中継処理部により、ネットワーク接続装置2上でセッション管理に基づくパケット中継処理を行う。   FIG. 1 is a diagram for explaining the outline 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 network connection device 2 to form the packet relay processing unit, and the packet relay processing unit Thus, packet relay processing based on session management is performed on the network connection device 2.

また、ネットワーク接続装置2上に、処理振分部2cと複数のサービス処理部2dを設け、サーバ1により設定されるポリシーに従って、処理振分部2cにより、複数のサービス処理部2dへのセッション管理に基づく振り分けを行う。   In addition, a processing distribution unit 2c and a plurality of service processing units 2d are provided on the network connection device 2, and session management to the plurality of service processing units 2d is performed by the processing distribution unit 2c in accordance with a policy set by the server 1. Sort based on.

さらに、サーバ1に外部セッション管理機能を設け、セッション数がネットワーク接続装置2のセッションテーブル登録数を上回った場合等に、サーバ1によりセッション管理を行うようにすることもできる。   Further, the server 1 can be provided with an external session management function so that the server 1 can perform session management when the number of sessions exceeds the number of registered session tables of the network connection device 2.

また、サーバ1に外部サービス処理部を設け、上記処理振分部2cが、パケットを上記サーバ1に転送し、サーバ1の外部サービス処理部でサービス処理を実行させるようにしたり、サーバ1にパケット詳細解析部を設け、サーバ1がパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置2に設定し、ネットワーク接続装置2は、以後同じセッションに対して上記決定されたサービス内容に基づき中継処理を行うようにすることもできる。   The server 1 is provided with an external service processing unit, and the processing distribution unit 2c transfers the packet to the server 1 so that the external service processing unit of the server 1 executes the service processing, or the server 1 A detailed analysis unit is provided, and the server 1 analyzes the packet to determine the service, sets the determined service content in the network connection device 2, and the network connection device 2 subsequently determines the service content determined above for the same session. It is also possible to perform relay processing based on the above.

以上のように本発明においては、次のようにして前記課題を解決する。
(1)上記ネットワーク接続装置2に、パケット処理部2aとセッション管理部2bからなる、セッション管理に基づくパケット中継処理部を設け、ネットワーク接続装置2により、セッション管理に基づく中継処理を行う。
As described above, in the present invention, the above-described problems are solved as follows.
(1) The network connection device 2 is provided with a packet relay processing unit based on session management, which includes a packet processing unit 2a and a session management unit 2b, and the network connection device 2 performs relay processing based on session management.

上記のように、従来サーバ上に配置していた機能をネットワーク接続装置2で行っているので、サーバ1のCPU使用率を下げることができる。また、ネットワーク接続装置2でセッション管理を行い、セッション開始時にセッションテーブルに出力先を登録しているので、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。
(2)上記(1)において、パケット中継処理装置のサーバ1に外部セッション管理機能を設け、ネットワーク接続装置2が、与えられた条件に応じてセッション情報を上記サーバ1に転送し、サーバ1によりセッション管理を行う。
As described above, since the network connection device 2 performs the function that has been conventionally arranged on the server, the CPU usage rate of the server 1 can be reduced. In addition, since session management is performed by the network connection device 2 and the output destination is registered 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. Can hold.
(2) In (1) above, the server 1 of the packet relay processing device is provided with an external session management function, and the network connection device 2 transfers the session information to the server 1 according to the given conditions. Perform session management.

これにより、セッション数がネットワーク接続装置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 network connection device 2, the server 1 can manage the overflow of the network connection device 2.
(3) In (1) above, the network connection apparatus 2 is provided with a processing distribution unit 2c and a plurality of service processing units 2d, and the processing distribution unit 2c distributes packets to the plurality of service processing units 2d. To perform service processing.

上記のように、処理振分部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 service processing units 2d in the network connection device 2 capable of processing at higher speed than the server 1, the usage rate of the CPU of the server 1 can be reduced. Service processing can be speeded up.
(4) In (3) above, the server 1 is provided with an external service processing unit, and the processing distribution unit 2c distributes packets according to the given conditions and executes the service processing in the external service processing unit of the server 1 Let

上記のようにサービス処理を、ネットワーク接続装置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 network connection device 2 and the server 1 as described above, service processing that is difficult to be realized on the network connection device 2 can be performed by the server 1. Even if the service requires complicated processing, it can be handled.
(5) In the above (1), the network connection device 2 is provided with a distribution processing unit 2c and a service processing unit 2d, and the server 1 is provided with a packet detail analysis unit (not shown). The packet is transferred to the server 1 according to the given condition, the server 1 analyzes the packet to determine the service, sets the determined service content in the network connection device 2, and the network connection device 2 thereafter performs the same session. Then, relay processing is performed based on the set service content.

上記のように、サーバ1においてパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置2に設定し、以後同じセッションに対してネットワーク接続装置2が上記決定されたサービス内容に基づき中継処理を行うようにすることにより、サーバ1で全ての処理を行う場合に比べ、サービス処理を高速に実現することが可能となる。   As described above, the server 1 analyzes the packet to determine the service, sets the determined service content in the network connection device 2, and the network connection device 2 thereafter performs the same session based on the determined service content. By performing the relay process, the service process can be realized at a higher speed than when all the processes are performed by the server 1.

本発明によれば、従来サーバ上に配置していた機能をネットワーク接続装置2で行っているので、サーバ1のCPU使用率を下げることができる。   According to the present invention, since the network connection device 2 performs the function that has been conventionally arranged on the server, the CPU usage rate of the server 1 can be reduced.

図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, reference numeral 11 denotes a server, which includes a network control unit 12, and the network control unit 12 writes the routing information input by the administrator to the routing table 23 a of the network connection device 20 through the control information communication unit 31. . The control information communication unit 31 is, for example, a PCI (Peripheral Components Interconnect) bus or a serial interface.

20はネットワーク接続装置であり、本実施例のネットワーク接続装置20は、図39に示した複数のネットワーク接続装置104を統合したものであり、パケット処理部21、セッション管理部22、セッションテーブル22a、ルーティング処理部23、ルーティングテーブル23aを備え、前記図38のサーバが行っていた、パケット処理、セッション管理、ルーティング処理等は、ネットワーク接続装置20で行われる。   Reference numeral 20 denotes a network connection device. The network connection device 20 according to the present embodiment is obtained by integrating a plurality of network connection devices 104 shown in FIG. 39, and includes a packet processing unit 21, a session management unit 22, a session table 22a, The network connection device 20 performs the packet processing, session management, routing processing, and the like that are performed by the server of FIG.

図2において、ネットワークから入力された図3に示すパケットは、ネットワーク接続部30を通してネットワーク接続装置20のパケット処理部21に送られる。ネットワーク接続部30は、例えばイーサネット(登録商標)コントローラである。   2, the packet shown in FIG. 3 input from the network is sent to the packet processing unit 21 of the network connection device 20 through the network connection unit 30. The network connection unit 30 is, for example, an Ethernet (registered trademark) controller.

パケット処理部21では、後述する図4のフローチャートに示す処理を行い、パケットをセッション管理部22に送る。セッション管理部22では、後述する図5のフローチャートに示すようにセッション管理を行い、パケットをパケット処理部21に渡す。   The packet processing unit 21 performs processing shown in a flowchart of FIG. 4 to be described later, and sends the packet to the session management unit 22. The session management unit 22 performs session management as shown in a flowchart of FIG. 5 described later, and passes the packet to the packet processing unit 21.

パケット処理部21は、後述する図4に示すようにパケットの処理を行い、パケットをネットワーク接続部30を介して、ネットワークに出力する。
図4に上記パケット処理部の処理フローを示す。
The packet processing unit 21 processes the packet as shown in FIG. 4 described later, and outputs the packet to the network via the network connection unit 30.
FIG. 4 shows a processing flow of the packet processing unit.

同図に示すように、パケット処理部21は、ネットワークから入力されたパケットのバッファリングを行い(ステップS1)、チェックサムのチェックを行う(ステップS2)。ついで、パケット処理部21は、パケットのデフラグメンテーションを行い(ステップS3)、パケットをセッション管理部22へ送る(ステップS4)。   As shown in the figure, the packet processing unit 21 performs buffering of packets input from the network (step S1) and checks the checksum (step S2). Next, the packet processing unit 21 performs packet defragmentation (step S3), and sends the packet to the session management unit 22 (step S4).

そして、パケット処理部21は、セッション管理部22から送られてくるパケットのフラグメンテーション(ステップS5)、チェックサム再計算を行い(ステップS6)、パケットをネットワークに出力する。なお、パケット処理部21における処理は従来のパケット処理部における処理と同じである。   Then, the packet processing unit 21 performs fragmentation of the packet sent from the session management unit 22 (step S5), performs checksum recalculation (step S6), and outputs the packet to the network. The processing in the packet processing unit 21 is the same as the processing in the conventional packet processing unit.

図5に上記セッション管理部22の処理フローを示す。
同図に示すように、セッション管理部22にパケットが送られてくると、セッション管理部22では、そのパケットに対応するセッションデータをセッションテーブル22aから検索する(ステップS11)。セッションテーブル22aは、セッションを管理するためのセッションデータを格納するテーブルである。図6にセッションテーブル22aの構成例を示す。図6に示すように、セッションデータは、セッションを識別するセッションID(IDentifier)、セッションを一意に決定するためのセッション検索キー(宛先/送信元アドレス、宛先/送信元ポート、プロトコル)、セッションの状態、および出力先などを項目として持つ。
FIG. 5 shows a processing flow of the session management unit 22.
As shown in the figure, when a packet is sent to the session management unit 22, the session management unit 22 searches the session table 22a for session data corresponding to the packet (step S11). The session table 22a is a table that stores session data for managing a session. FIG. 6 shows a configuration example of the session table 22a. As shown in FIG. 6, the session data includes a session ID (IDentifier) for identifying the session, a session search key (destination / source address, destination / source port, protocol) for uniquely determining the session, Has items such as status and output destination.

ステップS11において、セッション管理部22は、パケットのIPヘッダ内の送信元/宛先IPアドレス、及びTCPヘッダ内のプロトコル、送信元/宛先ポート等の情報をキーにしてセッションテーブル22aを検索する。   In step S11, the session management unit 22 searches the session table 22a using information such as the source / destination IP address in the IP header of the packet and the protocol, source / destination port in the TCP header as keys.

セッション管理部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 session management unit 22 is not registered in the session table 22a (step S12: No), the sent packet Is the first packet of a session, the session management unit 22 registers the session data related to the session in the session table 22a (step S13). That is, in step S13, the session management unit 22 adds a session search key (destination / source address, destination / source port, destination) to the session table 22a shown in FIG. 6 based on the information in the header of the transmitted packet. Protocol) and session status.

ついで、ルーティング処理部23でルーティングテーブル23aの検索を行い、検索の結果として得られた出力先をセッションテーブル22aに書き込む(ステップS14)。
一方、セッションテーブル22aにそのパケットのヘッダ内の情報とセッション検索キーが一致するセッションデータが登録されている場合には(ステップS12:Yes)、セッション管理部22は、そのセッションの状態を検査して、状態が遷移するかどうかを判定する(ステップS15)。そして、状態が遷移する場合には(ステップS15:Yes)、セッション管理部22は、セッションテーブル22a内のセッション状態を書き換える(ステップS16)。
Next, the routing processing unit 23 searches the routing table 23a, and writes the output destination obtained as a result of the search to the session table 22a (step S14).
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 session management unit 22 checks the state of the session. Then, it is determined whether or not the state transitions (step S15). If the state changes (step S15: Yes), the session management unit 22 rewrites the session state in the session table 22a (step S16).

そして、セッション管理部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 session management unit 22 determines the session search key, session state, and The output destination and the like are deleted from the entry in the session table 22a (step S18). Then, the processed packet is sent to the output destination. When the session state is not session closed (step S17: No), the session management unit 22 does not perform step S18, and the processed packet is sent to the output destination.

上記状態遷移は、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 session management unit 22 rewrites the “session state” in the session table 22a to SYN_RECV. Next, the session state transitions to the ESTAB <Established> state, and packets are transmitted and received. Then, the session is terminated by the FIN packet. Similarly, the session management unit 22 can detect the start and end of the session by detecting the arrival of the SYN packet and the FIN packet.

図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 session management unit 22 sets the session state to ESTAB. Since the end of the session cannot be detected, the session management unit 22 responds by deleting the session from the session table 22a when the timer does not pass the packet for a certain period of time.

以上説明したように、本実施例においては、ネットワーク接続装置20にセッション管理に基づくパケット中継処理機能を設け、従来サーバ11上に配置していた機能をネットワーク接続装置20が果たすようにしたので、サーバ11のCPUの使用率を下げることができる。   As described above, in this embodiment, the network connection device 20 is provided with a packet relay processing function based on session management, and the network connection device 20 performs the function that has been conventionally arranged on the server 11. The usage rate of the CPU of the server 11 can be lowered.

また、ネットワーク接続装置20にセッション管理部22を設け、セッション開始時にセッションテーブル22aに出力先を登録しているので、セッションの途中でルーティングテーブル23aのエントリが変更されても、現在継続中のセッションについては、一貫性を保持できる。   In addition, since the session management unit 22 is provided in the network connection device 20 and the output destination is registered in the session table 22a at the start of the session, even if the entry of the routing table 23a is changed during the session, the currently ongoing session Can keep consistency.

図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 server transfer unit 24 for transferring session information to the server 11, a session information communication unit 32 for communicating session information, an external session A management unit 13 and an external session table 13a are provided. When the session table 22a of the network connection device 20 becomes full, the external session management unit 13 provided in the server 11 performs session management. Other operations are the same as those in the first embodiment.

図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 session management unit 22, the session management unit 22 and the external session management unit 13 use the information stored in the header of the packet as a search key to search the session table 22a and the external session. The table 13a is searched (step S21). The session tables 22a and 13a are tables storing information for managing the session described with reference to FIG.

セッション管理部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 session management unit 22 is not registered in the session table 22a and the external session table 13a (step S22: No), the packet Is the first packet of a session, the session management unit 22 first checks whether the session table 22a is full (step S23).

セッションテーブル22aが一杯でない場合には(ステップS23:No)、セッション管理部22は、前記したようにセッションテーブル22aにそのセッションのセッションデータの登録を行う(ステップS24)。ついで、ルーティング処理部23でルーティングテーブル23aの検索を行い、結果をセッションテーブル22aに出力先を書き込む(ステップS25)。   If the session table 22a is not full (step S23: No), the session management unit 22 registers the session data of the session in the session table 22a as described above (step S24). Next, the routing processing unit 23 searches the routing table 23a, and writes the output destination in the session table 22a (step S25).

また、セッションテーブル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 session management unit 22 checks the session state and It is determined whether or not transitions (step S26). If the state transitions (step S26: Yes), the session management unit 22 rewrites the session state of the session data stored in the session table 22a (step S27).

そして、セッションの状態遷移が終わった後、セッションクローズの場合には(ステップS28:Yes)、セッション管理部22は、セッションテーブル22aのエントリからそのセッションデータを削除する(ステップS29)。処理が終わったパケットは出力先に送られる。   If the session is closed after the session state transition is completed (step S28: Yes), the session management unit 22 deletes the session data from the entry of the session table 22a (step S29). The processed packet is sent to the output destination.

一方、セッションの最初のパケットを登録する際、セッションテーブル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 server 11 performs the same processing as described above.

すなわち、前記ステップ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 routing processing unit 23 stores the routing table. And the output destination is written in the external session table 13a (step S31).

また、外部セッションテーブル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 network connection device 20 is provided with a packet relay processing function based on session management, and the network connection device 20 performs the function that has been conventionally arranged on the server 11. As in the first embodiment, the usage rate of the CPU of the server 11 can be lowered. As in the first embodiment, even if the routing table is changed during the session, consistency can be maintained for the currently ongoing session.

さらに、セッション数がネットワーク接続装置20のセッションテーブルに登録できる数を上回った場合、サーバ11に設けた外部セッション管理部13でセッション管理を行っているので、ネットワーク接続装置20で溢れた分をサーバ11で管理することが可能となる。   Furthermore, if the number of sessions exceeds the number that can be registered in the session table of the network connection device 20, the session management is performed by the external session management unit 13 provided in the server 11, so 11 can be managed.

なお、上記説明ではサーバ11に外部セッション管理部13を設けてサーバ11でセッション管理を行っているが、サーバ11に外部セッションテーブル13aのみを設け、セッション管理はネットワーク接続装置20のセッション管理部22で行い、セッションテーブル22aで溢れたセッションを上記外部セッションテーブル13aに登録するようにしてもよい。   In the above description, the external session management unit 13 is provided in the server 11 and the server 11 performs session management. However, only the external session table 13 a is provided in the server 11, and session management is performed by the session management unit 22 of the network connection device 20. The session overflowing in the session table 22a may be registered in the external session table 13a.

図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 network connection device 20 is provided with a processing distribution unit 26, a service processing unit 27, and a policy table 25, and the network connection device 20 performs filtering, load balancing, NAT, etc. according to the policy set by the server 11. Execute the service process.

同図において、11はサーバであり、サーバ11はサービス制御部14を備えており、サービス制御部14は、制御情報通信部31を通して、ネットワーク接続装置20のポリシーテーブル25にポリシーを書き込む。ここで、ポリシーとは、フィルタリング、負荷分散等のサービスを実行するためのルールである。例えば、フィルタリングの場合には、ポリシーに基づいて、ポリシー検索キーの範囲でパケットを廃棄するか通過させるかが設定される。負荷分散の場合には、ポリシーに基づいて、仮想(代表)IPアドレス:ポート番号と、振分先全てのサーバのIPアドレス:ポート番号が設定される。NATの場合には、ポリシーに基づいて、変換後IPアドレス:ポート番号が設定される。   In the figure, reference numeral 11 denotes a server. The server 11 includes a service control unit 14, and the service control unit 14 writes a policy in the policy table 25 of the network connection device 20 through the control information communication unit 31. Here, the policy is a rule for executing services such as filtering and load distribution. For example, in the case of filtering, it is set based on the policy whether to discard or pass the packet within the range of the policy search key. In the case of load distribution, a virtual (representative) IP address: port number and IP addresses: port numbers of all servers to which distribution is made are set based on the policy. In the case of NAT, the converted IP address: port number is set based on the policy.

20はネットワーク接続装置であり、本実施例のネットワーク接続装置20は、第1の実施例と同様、パケット処理部21、セッション管理部22、セッションテーブル22a’を備え、さらに、上記ポリシーテーブル25、処理振分部26及び複数のサービス処理部27を備える。サービス処理部27は、パケットに適用されるサービスのタイプに応じて複数備えられる。   Reference numeral 20 denotes a network connection device. The network connection device 20 of this embodiment includes a packet processing unit 21, a session management unit 22, and a session table 22a ′, as in the first embodiment, and further includes the policy table 25, A processing distribution unit 26 and a plurality of service processing units 27 are provided. A plurality of service processing units 27 are provided according to the type of service applied to the packet.

本実施例によれば、セッション管理部22は、パケットを受信した場合、受信したパケットのヘッダ内の情報を用いて、セッションテーブル22a’からセッションデータを検索する。そして、そのパケットのヘッダ内の情報が示すセッションデータがセッションテーブル22a’に登録されている場合、上記とほぼ同様な処理が行われる。   According to the present embodiment, when the session management unit 22 receives a packet, the session management unit 22 searches for session data from the session table 22a 'using information in the header of the received packet. When session data indicated by information in the header of the packet is registered in the session table 22a ', processing similar to the above is performed.

一方、そのパケットのヘッダ内の情報によって示されるセッションデータがセッションテーブル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 session management unit 22 refers to the policy table 25 and based on the policy to be applied to the packet. The session data is created, and the created session data is stored in the session table 22a ′.

処理振分部26は、パケットに対する適用サービスをセッションテーブル22a’に格納されたセッションデータに基づいて判別し、判別された適用サービスに対応するサービス処理部27に処理を振り分ける。複数のサービス処理部27は、各サービスに必要な処理を行う。   The processing distribution unit 26 determines the application service for the packet based on the session data stored in the session table 22a ', and distributes the process to the service processing unit 27 corresponding to the determined application service. The plurality of service processing units 27 perform processing necessary for each service.

以下、図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 network connection unit 30 and is sent to the packet processing unit 21.
As shown in the processing flow of FIG. 4, the packet processing unit 21 performs buffering of the input packet, checksum check, and defragmentation, and then sends the packet to the session management unit 22. Then, the packet processing unit 21 performs a fragment and checksum recalculation on the packet sent from the session management unit 22 and outputs it to the network via the network connection device 30.

本実施例のセッション管理部22の処理フローを図15に示す。
同図に示すように、パケットがセッション管理部22に送られてくると、セッション管理部22は、そのパケットのヘッダ内の情報を用いて図13に示すセッションテーブル22a’からセッションデータを検索する(ステップS41)。
FIG. 15 shows a processing flow of the session management unit 22 of this embodiment.
As shown in the figure, when a packet is sent to the session management unit 22, the session management unit 22 uses the information in the header of the packet to retrieve session data from the session table 22a ′ shown in FIG. (Step S41).

セッションテーブルの検索は、第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 session management unit 22 determines that the session is the first packet of the session. In order to determine an applicable service for a policy, a policy is searched from the policy table 25 shown in FIG. 14 using information in the header of the packet (step S43).

ポリシーテーブル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 session management unit 22 acquires from the policy table 25 a policy having a policy search key that matches information stored in the packet header. Subsequently, the session management unit 22 creates session data using the information in the packet header as a session search key, and registers the session data in the session table 22a '. Furthermore, the session management unit 22 writes the applied service type and service specific information included in the policy in the applied service type column and service specific information column of the registered session data, respectively (step S44).

ただし、複数のポリシーにマッチした場合には、ポリシーテーブル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 session management unit 22 selects the plurality of applied service types in the order of decreasing policy priority values (that is, in descending order of priority). Write in the application data type field of the session data. As a result, the packet receives a plurality of applied services in descending order of priority.

また、取得した複数のポリシーに含まれる適用サービスタイプが互いに競合する場合、セッション管理部22は、複数のポリシーのうち、ポリシーの優先度の値が最も低いポリシーの適用サービスタイプのみをセッションデータの適用サービスタイプの欄に書き込む。これにより、そのパケットは、最も優先順位が高い適用サービスのみを受けることとなる。   When the applied service types included in the acquired plurality of policies conflict with each other, the session management unit 22 selects only the applied service type of the policy having the lowest policy priority value from among the plurality of policies. Write in the applicable service type column. As a result, the packet receives only the application service with the highest priority.

以下、具体例を挙げて説明する。あるパケットのヘッダに格納された情報と適合するポリシー検索キーを持つポリシーとして、以下の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 policy 1 to policy 3 are filter-passing, they compete with each other. Similarly, all of the applied service types from policy 4 to policy 6 are load balancing and thus compete with each other. The session management unit 22 has a policy 1 with the lowest priority value among the policies whose application service type is filter pass and a policy 4 with the lowest priority value among the policies whose application service type is filter pass. Is adopted. Subsequently, since the priority of the policy 1 filter passage is lower than the load distribution priority of the policy 4, the session management unit 22 sets the filter data in the application data type column of the session data first. Write pass and load distribution. As a result, the packet receives the load distribution service after passing through the filter.

ステップ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 session management unit 22 checks the session state of the session table 22a' and determines whether or not the state transitions (step S45). If the session state transitions (step S45: Yes), the session management unit 22 rewrites the state of the session table 22a '(step S46). Then, after the session state transition is completed, the session management unit 22 deletes the session data of the session from the entry of the session table 22a '(step S48). The packet that has been processed is sent to the processing distribution unit 26 (step S49).

処理振分部26/サービス処理部27の処理フローを図16に示す。
処理振分部26/サービス処理部27では、パケットに対して適用サービスを判別し、各サービスに必要な処理を行う。
The processing flow of the processing distribution unit 26 / service processing unit 27 is shown in FIG.
The processing distribution unit 26 / service processing unit 27 determines an applicable service for the packet and performs processing necessary for each service.

図16において、パケットが処理振分部26に入力されると、処理振分部26は、そのパケットのヘッダ内の情報を用いてセッションテーブル22a’から、入力したパケットに対応するセッションデータを検索する。検索の結果、得られたセッションデータで示される適用サービスタイプが、ルーティング処理である場合(ステップS51)、処理振分部26は、ルーティング処理を行うサービス処理部27に処理を振り分ける。   In FIG. 16, when a packet is input to the processing distribution unit 26, the processing distribution unit 26 searches the session table 22a ′ for session data corresponding to the input packet using information in the header of the packet. To do. If the applied service type indicated by the session data obtained as a result of the search is a routing process (step S51), the processing distribution unit 26 distributes the process to the service processing unit 27 that performs the routing process.

入力パケットに対応するセッションテーブル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 processing distribution unit 26 determines whether or not a routing destination is included in the session data (step S51). If the routing destination is not included in the session data (step S51: Yes), the service processing unit 27 to which the process has been assigned uses the destination IP address included in the session data, and the routing table (not shown in FIG. 12). The output destination interface and the destination MAC address obtained as a result of the search are determined as the routing destination (step S52), and the determined routing destination is written in the session data (step S53). Thereafter, the session packet corresponding to the session data is transferred to the determined routing destination. Subsequently, the service processing unit 27 proceeds to step S56.

また、処理振分部26が、セッションテーブル22a’を検索した結果得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットが、負荷分散サービスを受けるべきパケットであり、且つ セッションデータに振分先サーバが含まれていない、つまり、振分先サーバがまだ決定していないと判定した場合と判定した場合(ステップS56:Yes)、処理振分部26は、負荷分散処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、振分先サーバを決定し(ステップS57)、決定された振分先のアドレスを対応するセッションテーブル22a’のサービス固有情報欄に書き込み(ステップS58)、ステップS61に進む。   Further, the processing distribution unit 26 refers to the applied service type field of the session data obtained as a result of searching the session table 22a ′, and the input packet is a packet that is to receive the load balancing service, and is assigned to the session data. When it is determined that the destination server is not included, that is, it is determined that the destination server has not yet been determined (step S56: Yes), the processing distribution unit 26 performs the service distribution process. The processing is distributed to the unit 27. The service processing unit 27 to which the process has been assigned determines a distribution destination server (step S57), and writes the determined distribution destination address in the service specific information column of the corresponding session table 22a ′ (step S58). Proceed to step S61.

また、処理振分部26が、セッションテーブル22a’を検索した結果得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットがフィルタリング廃棄サービスを受けるべきパケットであると判定したならば(ステップS61:Yes)、処理振分部26は、パケット廃棄処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、そのパケットを廃棄し(ステップS62)、処理を終了する。ステップS61の判定でNoである場合、ステップS63に進む。   If the processing distribution unit 26 determines that the input packet is a packet that should receive the filtering discard service by referring to the applied service type field of the session data obtained as a result of searching the session table 22a ′ (step S21). S61: Yes), the processing distribution unit 26 distributes the processing to the service processing unit 27 that performs the packet discarding process. The service processing unit 27 to which the process has been distributed discards the packet (step S62) and ends the process. If the determination in step S61 is No, the process proceeds to step S63.

処理振分部26が、セッションテーブル22a’を検索した結果得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットが、負荷分散もしくはNATサービスを実行するパケットならば、その入力パケットはヘッダ書換を受けるべきパケットであると判定する(ステップS63:Yes)。処理振分部26は、ヘッダ書換処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、そのパケットのIPヘッダとTCPヘッダ上の送信元/宛先IPアドレス、送信元/宛先ポート等を、セッションテーブル22a’に格納されたセッションデータに従って書き換え、(ステップS64)処理を終了する。なお、セッションデータに複数の適用サービスが格納されている場合、格納されている順に、入力パケットに該複数の適用サービスを実行する。   If the processing distribution unit 26 refers to the applied service type field of the session data obtained as a result of searching the session table 22a ′, and the input packet is a packet for executing load distribution or NAT service, the input packet is a header. It is determined that the packet is to be rewritten (step S63: Yes). The processing distribution unit 26 distributes the process to the service processing unit 27 that performs the header rewriting process. The service processing unit 27 to which the process is assigned rewrites the IP header and the source / destination IP address, the source / destination port, etc. on the TCP header according to the session data stored in the session table 22a ′ ( Step S64) The process is terminated. When a plurality of application services are stored in the session data, the plurality of application services are executed on the input packet in the order in which they are stored.

以上のように、本実施例においては、第1の実施例と同様、サーバ11のCPUの使用率を下げることができ、また、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。   As described above, in this embodiment, as in the first embodiment, the CPU usage rate of the server 11 can be reduced, and even if the routing table is changed during the session, it is currently ongoing. Consistency can be maintained for sessions.

さらに、処理振分部26と複数のサービスに対応した複数のサービス処理部27を、サーバ11より高速に処理できるネットワーク接続装置20に配置したので、サーバのCPUの使用率を小さくすることができるとともに、サービス処理を高速化することができる。   Furthermore, since the processing distribution unit 26 and a plurality of service processing units 27 corresponding to a plurality of services are arranged in the network connection device 20 capable of processing at a higher speed than the server 11, the usage rate of the server CPU can be reduced. At the same time, service processing can be speeded up.

さらに、また、本実施例によれば、サービスに応じて複数のサービス処理部27をネットワーク接続装置20に備えることとしている。これにより、新たなサービスが必要になった場合、必要となったサービスに対応する新たなサービス処理部27をネットワーク接続装置20に追加することにより、容易に対応することが可能な柔軟な構成を実現する。例えば、新たに、VPN(Virtual Private Network )暗号化サービスや復号化サービスが必要になった場合、新たに、VPN暗号化サービスを行うサービス処理部27及び復号化サービスを行うサービス処理部27を追加することにより対応することが可能である。   Furthermore, according to the present embodiment, the network connection device 20 is provided with a plurality of service processing units 27 according to services. As a result, when a new service is required, a flexible configuration that can be easily handled by adding a new service processing unit 27 corresponding to the required service to the network connection device 20 is realized. Realize. For example, when a new VPN (Virtual Private Network) encryption service or decryption service is required, a service processing unit 27 that performs a VPN encryption service and a service processing unit 27 that performs a decryption service are newly added. It is possible to cope with it.

以下、図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 network connection apparatus 20 performs the load distribution service in this embodiment. Note that the packet flow shown in FIG. 17 corresponds to session data whose session IDs are 2 and 3 in the session table 22a ′ shown in FIG. The direction of the arrow indicates the direction in which the packet is transmitted.

アドレスが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 network connection device 20. The packet P1 having the original address “10.25.1.230” stored in the header is transmitted. The session management unit 22 of the network connection device 20 refers to the session table 22a ′ shown in FIG. 13 using the transmission source address 10.25.1.230 and the destination address 192.168.100.75 included in the packet P1 as keys, and the session ID = 3. Get session data.

取得されたセッションデータ内の適用サービスタイプは「ヘッダ書換」であるため、ネットワーク接続装置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 processing distribution unit 26 in the network connection device 20 distributes the processing to the service processing unit 27 that performs the header rewriting process. Since the unique information in the session data is “destination address: 192.168.100.100”, the service processing unit 27 to which the process is assigned changes the destination address in the packet P1 from “192.168.100.75” to “192.168.100.100”. rewrite. As a result, as indicated by an arrow A2, a packet P2 in which “destination address: 192.168.100.100, transmission source address: 10.25.1.230” is stored in the header from the network connection device 20 to the distribution destination server whose address is 192.168.100.100. Is sent.

逆に、アドレスが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 session management unit 22 of the network connection device 20 refers to the session table 22a ′ shown in FIG. 13 using the source address and destination address included in the packet P3 as keys, and acquires session data with session ID = 2.

取得されたセッションデータ内の適用サービスタイプ欄のエントリは「ヘッダ書換」であるため、ネットワーク接続装置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 processing distribution unit 26 in the network connection device 20 distributes the processing to the service processing unit 27 that performs the header rewriting process. The service processing unit 27 to which the process has been assigned rewrites the source address in the packet from “192.168.100.100” to “192.168.100.75” based on the unique information in the session data. As a result, as indicated by an arrow A4, the packet P4 storing “destination address: 10.25.1.230, source address: 192.168.100.75” in the header is transmitted from the network connection device 20 to the client whose address is 10.25.1.230. The In this way, the network connection device 20 can distribute the load on the destination server of the packet by rewriting the header of the packet.

図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 processing distribution unit 26, the external service processing unit 15 is provided in the server 11, and the service processing is performed by the network connection device 20. And the server 11 can be executed. In this embodiment, when the service process is executed by the server 11, not only the service contents but also the transfer to the server 11 is set in the policy table 25. Other operations are the same as those of the third embodiment.

図18に示すように、外部サービス処理部15は、第3実施例に係わるサービス処理部27と同様に、適用サービスタイプに応じて複数の外部サービス処理部15をサーバ11に備えられる。従って、第3実施例におけるサービス処理部27と同様に、新たなサービスタイプが必要になった場合、新たなサービスタイプに対応する新たな外部サービス処理部15をサーバ11に追加することにより、容易に対応することが可能である。   As shown in FIG. 18, the external service processing unit 15 includes a plurality of external service processing units 15 in the server 11 according to the applied service type, similarly to the service processing unit 27 according to the third embodiment. Therefore, as with the service processing unit 27 in the third embodiment, when a new service type is required, it is easy to add a new external service processing unit 15 corresponding to the new service type to the server 11. It is possible to correspond to.

本実施例にかかわるセッションテーブル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 service processing unit 27, the content of the service transferred to the server 11 and performed by the external service processing unit 15 is changed to the session table 22a ′ and the policy table 25. It can be set to.

以下、本実施例の処理振分部26、サービス処理部27及び外部サービス処理部15における処理の手順を図19に示す。図19において、ステップS51からステップS64までの処理は図16と同じである。例えば、入力パケットに対応するセッションテーブル22a’内のセッションデータで、適用サービスタイプが「ルーティング」が書き込まれ、且つ、ルーティング先が書き込まれていない場合、サービス処理部27は、ポリシーテーブル25のルーティングテーブルを引き、出力先インターフェースと宛先MACアドレスをセッションテーブル22a’内のセッションデータに書き込む。   The processing procedure in the processing distribution unit 26, service processing unit 27, and external service processing unit 15 of the present embodiment is shown in FIG. In FIG. 19, the processing from step S51 to step S64 is the same as that in FIG. For example, in the session data in the session table 22a ′ corresponding to the input packet, when the applied service type is “routing” and the routing destination is not written, the service processing unit 27 performs routing in the policy table 25. The table is drawn and the output destination interface and the destination MAC address are written in the session data in the session table 22a ′.

このように、セッションテーブル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 service processing unit 15 in the server 11. For this purpose, the processing distribution unit 26 performs the following procedure in addition to the processing from step S51 to step S64 in FIG.

すなわち、処理振分部26は、セッションテーブル22a’を検索して得られたセッションデータの適用サービスタイプ欄を参照し、入力パケットが、サーバ11へ転送されるべきパケットであるか否かを判定する(ステップS71)。セッションデータの適用サービスタイプ欄に「サーバ転送:ON」及び適用サービスタイプが設定されている場合には(ステップS71:Yes)、処理振分部26は、パケットに転送用ヘッダを付す処理を行うサービス処理部27に処理を振り分ける。処理を振り分けられたサービス処理部27は、そのパケットに転送用ヘッダを付す。転送用ヘッダの内容は、例えば、適用サービスタイプ、そのパケットのセッションデータのセッションID及び入力インターフェースである。続いて、サービス処理部27は、パケット通信部33を介してパケットをサーバ11の外部サービス処理部15に転送する(ステップS72)。適用サービスタイプに対応する外部サービス処理部15は、受信したパケットを処理する(ステップS73)。   That is, the processing distribution unit 26 determines whether or not the input packet is a packet to be transferred to the server 11 by referring to the applied service type field of the session data obtained by searching the session table 22a ′. (Step S71). If “server transfer: ON” and the applicable service type are set in the applicable service type column of the session data (step S71: Yes), the processing distribution unit 26 performs a process of attaching a transfer header to the packet. The processing is distributed to the service processing unit 27. The service processing unit 27 to which the process has been assigned attaches a transfer header to the packet. The contents of the transfer header are, for example, the applicable service type, the session ID of the session data of the packet, and the input interface. Subsequently, the service processing unit 27 transfers the packet to the external service processing unit 15 of the server 11 via the packet communication unit 33 (step S72). The external service processing unit 15 corresponding to the applied service type processes the received packet (step S73).

外部サービス処理部15の処理フローは前記した図16と同様である。例えば、セッションデータ内でルーティング先が未決定の場合、外部サービス処理部15は、ルーティング先を決定し、出力先インターフェースと宛先MACアドレスをセッションテーブル22a’に書き込む。   The processing flow of the external service processing unit 15 is the same as that shown in FIG. For example, when the routing destination is not determined in the session data, the external service processing unit 15 determines the routing destination and writes the output destination interface and the destination MAC address in the session table 22a '.

また、入力パケットが、負荷分散サービスをうけるべきパケットであり、セッションデータ内で振分先がまだ決定していない場合、外部サービス処理部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 service processing unit 15 determines the distribution destination server and the corresponding session table. Write in the service-specific information column of the session data in 22a ′. If the input packet is a packet that should receive the filtering discard service, the external service processing unit 15 discards the packet.

そして、入力パケットが、負荷分散もしくはNATサービスを受けるべきパケットならば、外部サービス処理部15は、そのパケットのIPヘッダとTCPヘッダ上の送信元/宛先IPアドレス、送信元/宛先ポート等を、セッションテーブル22a’内のセッションデータに従って書き換える。   If the input packet is a packet to be subjected to load balancing or NAT service, the external service processing unit 15 sets the source / destination IP address, source / destination port, etc. on the IP header and TCP header of the packet, Rewriting is performed according to the session data in the session table 22a ′.

なお、以上では、外部サービス処理部15が、ネットワーク接続装置20におけるサービス内容と同じサービスを行う場合について説明したが、外部サービス処理部15で、例えば、暗号化、復号化、プロキシ、コンテンツ変換、プロトコル変換等のネットワーク接続装置20上で行わないサービス処理を行うようにしてもよい。   The case where the external service processing unit 15 performs the same service as the service content in the network connection device 20 has been described above. However, in the external service processing unit 15, for example, encryption, decryption, proxy, content conversion, Service processing that is not performed on the network connection device 20 such as protocol conversion may be performed.

以上のように本実施例においては、ネットワーク接続装置20にセッション管理に基づくパケット中継処理機能を設け、従来サーバ上に配置していた機能をネットワーク接続装置20が果たすようにする。これにより、第1の実施例と同様、サーバのCPUの使用率を下げることができる。また、第1の実施例と同様、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。さらに、処理振分部26にパケットをサーバへ転送する機能を設けるとともに、サーバ11に外部サービス処理部15を設け、サービス処理を、ネットワーク接続装置20とサーバ11の両方で実行できるようにしたので、ネットワーク接続装置20上で実現するのは困難なサービス処理をサーバ11で行うことができ、ネットワークサービスが複雑な処理を必要とする場合でも対応することができる。   As described above, in this embodiment, the network connection apparatus 20 is provided with a packet relay processing function based on session management, and the network connection apparatus 20 performs the function that has been conventionally arranged on the server. As a result, as in the first embodiment, the usage rate of the server CPU can be lowered. As in the first embodiment, even if the routing table is changed during the session, consistency can be maintained for the currently ongoing session. Furthermore, the processing distribution unit 26 is provided with a function for transferring packets to the server, and the server 11 is provided with the external service processing unit 15 so that the service processing can be executed by both the network connection device 20 and the server 11. Service processing that is difficult to realize on the network connection device 20 can be performed by the server 11, and even when the network service requires complicated processing, it can be dealt with.

次に、第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 detail analysis unit 16 in the server 11 constituting the packet relay processing apparatus according to the third embodiment. With this configuration, the processing distribution unit 26 of the network connection device 20 transfers the packet to the server 11 according to the given conditions, and the packet detail analysis unit 16 in the server 11 analyzes the packet and provides a service. The determined service content is set in the network connection device 20. Then, for the same session after the setting, the network connection apparatus 20 performs a relay process based on the determined service content.

図20において、11はサーバであり、サーバ11は前記第3、第4の実施例と同様、サービス制御部14を備えており、サービス制御部14は、前記したように制御情報通信部31を通して、ネットワーク接統装置20のポリシーテーブル25にポリシーを書き込む。更に、サービス制御部14は、サーバ11が備える詳細解析用ポリシーテーブル(図20では不図示)にもポリシーを書き込む。   In FIG. 20, reference numeral 11 denotes a server. The server 11 includes a service control unit 14 as in the third and fourth embodiments, and the service control unit 14 passes through the control information communication unit 31 as described above. The policy is written in the policy table 25 of the network connection device 20. Furthermore, the service control unit 14 also writes the policy in a detailed analysis policy table (not shown in FIG. 20) provided in the server 11.

また、サーバ11はパケット詳細解析部16を備えており、パケット詳細解析部16は、不図示のパケット詳細解析用のセッションテーブル及びポリシーテーブルに基づいて、パケットを解析してそのパケットを含むセッションに対するサービスを決定し、決定したサービス内容をネットワーク接続装置20のセッションテーブル22a’のセッションデータを設定しなおす。再設定後、ネットワーク接続装置20は上記サービス内容に基づき中継処理を行う。詳細解析用のセッションテーブル及びポリシーテーブルのデータ構成については後述する。   In addition, the server 11 includes a packet detail analysis unit 16, which analyzes a packet based on a session table and policy table for packet detail analysis (not shown) and handles a session including the packet. The service is determined, and the determined service contents are reset in the session data of the session table 22a ′ of the network connection device 20. After resetting, the network connection device 20 performs relay processing based on the service content. The data structure of the session table and policy table for detailed analysis will be described later.

第3及び第4実施例のサービス処理部27や外部サービス処理部15と同様に、パケット詳細解析部16も、適用サービスタイプに応じてサーバ11に複数備えられる。従って、新たなサービスタイプが必要になった場合、新たなサービスタイプに対応する新たなパケット詳細解析部16をサーバ11に追加することにより、容易に対応することが可能である。   Similar to the service processing unit 27 and the external service processing unit 15 of the third and fourth embodiments, a plurality of packet detail analysis units 16 are provided in the server 11 according to the applied service type. Therefore, when a new service type is required, it can be easily handled by adding a new packet detail analysis unit 16 corresponding to the new service type to the server 11.

20はネットワーク接続装置であり、本実施例のネットワーク接続装置20は、第3の実施例と同様、パケット処理部21、セッション管理部22、セッションテーブル22a’、ポリシーテーブル25、処理振分部26、サービス処理部27を備えており、さらに処理振分部26はパケットをサーバへ転送する機能を備えている。   Reference numeral 20 denotes a network connection device. The network connection device 20 of this embodiment is similar to the third embodiment in that the packet processing unit 21, the session management unit 22, the session table 22a ′, the policy table 25, and the processing distribution unit 26 are used. The service processing unit 27 is provided, and the processing distribution unit 26 has a function of transferring a packet to the server.

上記パケット処理部21、セッション管理部22、処理振分部26、サービス処理部27の動作は前記第3の実施例と同様である。本実施例に係わるポリシーテーブル25のデータ構成は第3実施例と同様であるため、説明は省略する。本実施例にかかわるセッションテーブル22a’のデータ構成については、後述する。   The operations of the packet processing unit 21, session management unit 22, processing distribution unit 26, and service processing unit 27 are the same as those in the third embodiment. Since the data structure of the policy table 25 according to the present embodiment is the same as that of the third embodiment, description thereof is omitted. The data structure of the session table 22a 'according to the present embodiment will be described later.

また、本実施例においては、予めサーバ11によりポリシーテーブル25の適用サービスの欄に、上記パケット詳細解析部16に転送するパケットと適用サービスの適用範囲(例えばhttpはURLフィルタリング適用対象のパケットである等)を設定する。処理振分部26は、前記第4の実施例で説明したのと同様に、ポリシーテーブル25を参照してサーバ11に転送するパケットを判断し、該当パケットのヘッダに適用サービスタイプの種類を付した後、そのパケットをパケット通信路33を介してサーバ11のパケット詳細解析部16に転送する。   In the present embodiment, the server 11 stores the packet to be transferred to the packet detail analysis unit 16 in advance in the application service column of the policy table 25 and the application service application range (for example, http is a packet subject to URL filtering application). Etc.). In the same way as described in the fourth embodiment, the processing distribution unit 26 refers to the policy table 25 to determine a packet to be transferred to the server 11, and attaches the type of applicable service type to the header of the packet. After that, the packet is transferred to the packet detail analysis unit 16 of the server 11 through the packet communication path 33.

以下、図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 detail analysis unit 16 analyzes the packet and resets the session data in the session table 22a ′ based on the analysis result. .

図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 session management unit 22 registers session data based on the policy table 25. As shown in FIGS. 21 to 22, since analysis by the packet detail analysis unit 16 has not yet been performed, “server transfer: ON” is set in the application service type column of each session data. Accordingly, the session packet corresponding to the session data is transferred to the server 11.

図23及び図24に、パケット詳細解析部16が、パケットの解析結果に基づいてセッションデータを再設定した後のセッションテーブル22a’の一例を示す。図23及び図24に示すように、パケット詳細解析部16による解析が行われたため、各セッションデータの適用サービスタイプの欄において、「サーバ転送:OFF」となっている。従って、以後、各セッションデータに対応するセッションのパケットは、サーバ11に転送されない事となる。   23 and 24 show an example of the session table 22a 'after the packet detail analysis unit 16 resets the session data based on the packet analysis result. As shown in FIGS. 23 and 24, since the analysis by the packet detail analysis unit 16 is performed, “server transfer: OFF” is displayed in the column of the applied service type of each session data. Accordingly, the session packet corresponding to each session data is not transferred to the server 11 thereafter.

また、パケット詳細解析部16によってセッションデータが再設定された結果、図21及び図22に示すセッションテーブル22a’と、図23及び図24に示すセッションテーブル22a’とは、さらに、以下の点が異なる。   Further, as a result of the session data being reset by the packet detail analysis unit 16, the session table 22a ′ shown in FIGS. 21 and 22 and the session table 22a ′ shown in FIGS. Different.

・図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 detail analysis unit 16, it is determined that the packet is allowed to pass. Therefore, “filtering pass” is stored in the same column of the session data of the same session ID shown in FIG.

・図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 detail analysis unit 16, the distribution destination server is determined. Therefore, as shown in FIG. 23, session data with session ID = 3 and 4 is deleted, and session ID = 2 and 5 are used. “Header rewriting” is stored in the application service type column of certain session data, and information on the distribution destination server is stored in the unique information column.

・図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 detail analysis unit 16, since it was determined to pass the packet of the session, as shown in FIG. 24, in addition to the session data for the control connection with session ID = 6 and 7, Session data for a data connection having session ID = 8 and 9 is newly registered, and “passing filtering” is stored in the applicable service type column of the session data.

次に、図25及び図26を用いて、パケット詳細解析部16が備えるテーブルについて説明する。パケット詳細解析部16は、パケットを解析するために、詳細解析用セッションテーブル及び詳細解析用ポリシーテーブルを備える。   Next, a table provided in the packet detail analysis unit 16 will be described with reference to FIGS. 25 and 26. The packet detailed analysis unit 16 includes a detailed analysis session table and a detailed analysis policy table in order to analyze 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 detail analysis unit 16 analyzing the packet. The session data in the session table for detailed analysis is registered by the packet detailed analysis unit 16 when performing the detailed analysis based on the session data stored in the session table 22a ′, and when the detailed analysis ends, the packet detailed analysis unit 16 Deleted by.

図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 service control unit 14 in the server 11 writes the policy in the policy table 25 of the network connection device 20 and the detailed analysis policy table in the packet detailed analysis unit 16 via the control information communication unit 31 (arrow A11). ).

続いて、ネットワーク接続装置20にパケットが入力されると、セッション管理部22は、パケットのヘッダに格納された情報を用いてポリシーテーブル25を参照し、ヘッダ内の情報とポリシー検索キーがマッチするポリシーを取得し、そのポリシーに基づいてセッションデータを作成し、セッションテーブル22a’に格納する(矢印A12)。   Subsequently, when a packet is input to the network connection device 20, the session management unit 22 refers to the policy table 25 using information stored in the header of the packet, and the information in the header matches the policy search key. A policy is acquired, session data is created based on the policy, and stored in the session table 22a ′ (arrow A12).

そのセッションデータの適用サービスタイプの欄に「サーバ転送: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 processing distribution unit 26 transfers the packet to the packet detail analysis unit 16 via the packet communication unit 33. The packet detailed analysis 16 analyzes the packet using the detailed analysis policy table and the detailed analysis session table (arrow A13). The packet detail analysis unit 16 resets the session data stored in the session table 22a 'in the network connection device 20 based on the packet analysis result (arrow A14). After the packet analysis, the packet input to the network connection device 20 is processed by the service processing unit 27 without being analyzed by the packet detail analysis unit 16 and output from the network connection device 20 (arrow A15).

以下、第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 packet processing unit 21 and the session management unit 22 is the same as that in the first to fourth embodiments, and thus description thereof is omitted. Hereinafter, the processing procedure by the processing distribution unit 26, the service processing unit 27, and the packet detail analysis unit 16 will be described with emphasis.

図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 processing distribution unit 26 and the service processing unit 27. Of the processes shown in FIG. 28, the processes up to the header rewriting process (step S64) are the same as those in FIG. Further, according to the fifth embodiment, the processing distribution unit 26 determines whether or not the input packet is a corresponding packet to be transferred to the server 11 based on the applicable service type included in the session data (Step S1). S81). If “server transfer: ON” and the applicable service type are set in the applied service type, the distribution processing unit 26 determines that the packet is to be transferred to the server 11 (step S81: Yes). ), The process is distributed to the service processing unit 27 that performs the process of attaching the transfer header to the packet. The service processing unit 27 to which the process has been assigned attaches a transfer header to the packet. The contents of the transfer header are the same as in the fourth embodiment. The packet with the transfer header is transferred to the packet detail analysis unit 16 of the server 11 via the packet communication unit 33 (step S82). The packet detail analysis unit 16 analyzes the received packet, and resets the session data stored in the session table 22a 'via the control information communication unit 31 based on the analysis result (step S83).

図29は、パケット詳細解析部16の処理の手順を示すフローチャートである。図29に示す処理は、図28のステップS83に相当する。本実施例においては、例として、URLフィルタリング、URL負荷分散、及びFTPフィルタリングサービスをパケット詳細解析部16を用いて提供する場合について説明する。   FIG. 29 is a flowchart illustrating a processing procedure of the packet detail analysis unit 16. The process shown in FIG. 29 corresponds to step S83 in FIG. In the present embodiment, as an example, a case where URL filtering, URL load distribution, and FTP filtering service are provided using the packet detail analysis unit 16 will be described.

まず、URLフィルタリングサービスについて説明する。
予めサーバ11のサービス制御部14が、「パケット詳細解析部16へパケットを転送しURLフィルタリングを行う」というポリシーを、制御通信情報部31を介してポリシーテーブル25に設定する。
First, the URL filtering service will be described.
The service control unit 14 of the server 11 sets a policy “transfer packet to the packet detail analysis unit 16 and performs URL filtering” in the policy table 25 via the control communication information unit 31 in advance.

設定された条件から、ネットワーク接続装置20の処理振分部26が、該当パケットをパケット詳細解析部16に転送する。
パケット詳細解析部16では、受信したパケットの転送用ヘッダ内に含まれる適用サービスタイプ「URLフィルタリング」に基づいて、そのパケットがURLフィルタリングサービスを受けるべきパケットであることを判定する。パケット詳細解析部16は、受信したパケットに含まれる情報に基づいてセッションデータを作成し、詳細解析用セッションテーブルに格納する(ステップS91:Yes)。以後、パケット詳細解析部16は、そのセッションの状態を管理し、HTTPのGETリクエストを受信するまで、受信したパケットをそのままネットワークへ出力させる。
Based on the set conditions, the processing distribution unit 26 of the network connection device 20 transfers the packet to the packet detail analysis unit 16.
Based on the applied service type “URL filtering” included in the transfer header of the received packet, the packet detail analysis unit 16 determines that the packet is to be subjected to the URL filtering service. The packet detail analysis unit 16 creates session data based on the information included in the received packet and stores it in the detail analysis session table (step S91: Yes). Thereafter, the packet detail analysis unit 16 manages the state of the session, and outputs the received packet as it is to the network until an HTTP GET request is received.

セッション状態が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 detail analysis unit 16 determines the URL and determines whether to pass or discard the packet. That is, the packet detail analysis unit 16 determines the passage / discard of the packet by referring to the URL filtering URL table included in the preset detailed analysis policy table using the URL included in the packet. (Step S93).

パケットを廃棄すると判定した場合には(ステップ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 detail analysis unit 16 discards the packet of the session (step S103). Further, the packet detail analysis unit 16 refers to the session table 22a ′ by using the session ID included in the packet, and sets the application service type column of the session data corresponding to the session ID to “server transfer: ON / URL filtering”. To “discard” (not shown).

また、パケットを通過させると判定したの場合には(ステップS93:No)、パケット詳細解析部16は、セッションテーブル22a’を参照し、パケットに含まれるセッションIDに対応するセッションデータの適用サービスタイプの欄を「サーバ転送:ON・URLフィルタリング」から「フィルタリング通過」に書き換える(ステップS94)。図21及び図23に示すセッションテーブル22a’においてセッションID=0及び1であるセッションデータは、それぞれ、URLフィルタリングの場合の、パケット解析前後のセッションデータの一例である。   If it is determined that the packet is allowed to pass (step S93: No), the packet detail analysis unit 16 refers to the session table 22a ′, and applies the service type of the session data corresponding to the session ID included in the packet. Is rewritten from “server transfer: ON / URL filtering” to “filtering pass” (step S94). In the session table 22a 'shown in FIGS. 21 and 23, the session data with session ID = 0 and 1 are examples of session data before and after packet analysis in the case of URL filtering.

セッションテーブル22a’内のセッションデータを再設定した後、パケット詳細解析部16は、詳細解析用セッションテーブルから、そのセッションIDに対応するセッションデータを削除する(不図示)。   After resetting the session data in the session table 22a ', the packet detail analysis unit 16 deletes the session data corresponding to the session ID from the detail analysis session table (not shown).

上記のように、パケット詳細解析部16が、ネットワーク接続装置20のセッションテーブル22a’内のセッションデータの適用サービスタイプを、「サーバ転送:ON」から「フィルタリング通過」または「廃棄」に設定し直すと、ネットワーク接続装置20は上記通過条件に従い、以後のパケットを処理する。すなわち、ネットワーク接続装置20は、サーバ11のパケット詳細解析部16にパケットを転送することなく、パケットを通過させたり、廃棄する。   As described above, the packet detail analysis unit 16 resets the application type of the session data in the session table 22a ′ of the network connection device 20 from “server transfer: ON” to “filtering pass” or “discard”. Then, the network connection device 20 processes subsequent packets according to the passage condition. That is, the network connection device 20 passes or discards the packet without transferring the packet to the packet detail analysis unit 16 of the server 11.

図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 network connection device 20 to the packet detail analysis unit 16, and the packet detail analysis unit 16 manages the state of the session. That is, processing is performed by the “network connection device 20” and the “server 11”.

セッションが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 detail analysis unit 16 of the server 11 The URL filtering URL table included in the detailed analysis policy is referred to determine whether the URL packet is a packet to be discarded or passed, and based on the determination result, the session table 22a ′ Rewrite the entry in the applicable service type column to “discard” or “pass”.

以後、ネットワーク接続装置20は、セッションテーブル22a’に設定された適用サービスタイプに応じて、そのセッションが終了するまで、パケットを廃棄または通過させる。つまり、「ネットワーク接続装置20」で処理が行われる。   Thereafter, the network connection device 20 discards or passes the packet until the session is ended according to the applied service type set in the session table 22a '. That is, processing is performed by the “network connection device 20”.

次に、図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 service control unit 14 of the server 11 sets a policy “transfer packet to the packet detail analysis unit 16 and performs URL load distribution” in the policy table 25 via the control communication information unit 31. Set in the applicable service type column.

設定された条件から、ネットワーク接続装置20の処理振分部26が該当パケットをサーバ11のパケット詳細解析部16に転送する。
パケット詳細解析部16では、受信したパケットに含まれる適用サービスタイプ「URL負荷分散」に基づいて、そのパケットがURL負荷分散サービスを受けるべきパケットであることを判定する。パケット詳細解析部16は、URLフィルタリングの場合と同様にして、受信したパケットに含まれる情報に基づいてセッションデータを作成し、詳細解析用セッションテーブルに格納する。さらに、パケット詳細解析部16は、パケットのヘッダに含まれる送信元アドレス、宛先アドレス及びポート番号等に基づいて代理応答を行い、相互に関連するセッションデータを登録し、セッションデータの関連セッションの欄に、関連するセッションデータのセッションIDを格納する(ステップS95:Yes)。
Based on the set conditions, the processing distribution unit 26 of the network connection device 20 transfers the packet to the packet detail analysis unit 16 of the server 11.
Based on the application service type “URL load distribution” included in the received packet, the packet detail analysis unit 16 determines that the packet is to be subjected to the URL load distribution service. The packet detailed analysis unit 16 creates session data based on the information included in the received packet, and stores it in the detailed analysis session table, as in the case of URL filtering. Further, the packet detail analysis unit 16 makes a proxy response based on the source address, the destination address, the port number, etc. included in the header of the packet, registers the mutually related session data, and stores the related session field of the session data. The session ID of the related session data is stored in (Step S95: Yes).

図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 detail analysis unit 16 establishes a connection between the client and the server 11, and thereafter manages the session state. The packet detail analysis unit 16 has a function of terminating TCP (Transmission Control Protocol), and until the distribution destination server determines, the packet detail analysis unit 16 sends a response to the client instead of the distribution destination server. Do. If the packet detail analysis unit 16 receives an HTTP GET request after the session state becomes ESTAB (step S96: Yes), the packet detail analysis unit 16 sets in advance using the URL included in the packet. The distribution destination server is determined with reference to the URL load distribution table included in the detailed analysis policy table (step S97). Thereafter, the server 11 establishes a connection with the distribution destination server by exchanging SYN, SYN_ACK, and ACK packets.

さらに、パケット詳細解析部16は、ネットワーク接続装置20のセッションデータ22a’を参照し、パケットに含まれるセッションIDに対応するセッションデータを取得する。そして、パケット詳細解析部16は、取得したセッションデータに含まれる適用サービスタイプを「サーバ転送:ON・URL負荷分散」から「サーバ転送:OFF・ヘッダ書換」に書き換える。さらに、パケット詳細解析部16は、セッションデータの固有情報の欄に、決定された振分先サーバのIPアドレス等に従って、IPアドレス:ポート番号、およびシーケンス番号/ACK番号差分を設定する(ステップS98)。これにより、相互に関連していると判定された2つのセッションデータを1つのセッションデータにまとめることになるため、2つのコネクションを1つのコネクションとして扱うことが可能となる。さらに、パケット詳細解析部16は、4つのセッションデータのうち、不要になった残りの2つのデータを、セッションテーブル22a’から削除する。   Further, the packet detail analysis unit 16 refers to the session data 22a 'of the network connection device 20, and acquires session data corresponding to the session ID included in the packet. The packet detail analysis unit 16 rewrites the applicable service type included in the acquired session data from “server transfer: ON / URL load distribution” to “server transfer: OFF / header rewrite”. Further, the packet detail analysis unit 16 sets the IP address: port number and sequence number / ACK number difference in the field of unique information of the session data according to the determined IP address of the allocation destination server (step S98). ). As a result, two session data determined to be related to each other are combined into one session data, so that two connections can be handled as one connection. Further, the packet detail analysis unit 16 deletes the remaining two unnecessary data from the session table 22a 'out of the four session data.

セッションテーブル22a’内のセッションデータを再設定した後、パケット詳細解析部16は、詳細解析用セッションテーブルから、そのセッションIDに対応するセッションデータを削除する(不図示)。そして、サーバ11は、振分先サーバにHTTPのGETリクエストを送出する。   After resetting the session data in the session table 22a ', the packet detail analysis unit 16 deletes the session data corresponding to the session ID from the detail analysis session table (not shown). Then, the server 11 sends an HTTP GET request to the distribution destination server.

図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 session IDs 2 to 5 in the session table 22a 'shown in FIGS. 21 and 23 are examples of session data before and after packet analysis in the case of URL load distribution. The two connections indicated by the two session data having session ID = 2 and 4 in FIG. 21 are grouped into one connection indicated by the session data having session ID = 2 in FIG. Similarly, the two connections indicated by the two session data with session ID = 3 and 5 in FIG. 21 are grouped into one connection indicated by the session data with session ID = 5 in FIG.

パケットの解析後、パケットは、パケット詳細解析部16に送られない。ネットワーク接続装置20のヘッダ書換処理を行うサービス処理部27は、セッションテーブル22a’に格納されたセッションデータ内の固有情報に基づいて、パケット内のIPアドレス:ポート番号、シーケンス番号、ACK番号を書き換えた後、そのパケットをネットワークに出力させる。   After analyzing the packet, the packet is not sent to the packet detail analysis unit 16. The service processing unit 27 that performs the header rewriting process of the network connection device 20 rewrites the IP address: port number, sequence number, and ACK number in the packet based on the unique information in the session data stored in the session table 22a ′. After that, the packet is output to the network.

図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 detail analysis unit 16 determines the URL of the GET request and determines a distribution destination server.

ついで、上記と同様に、パケット中継処理装置と振分先サーバの間で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 “network connection device 20” + “server 11”.

パケット中継処理装置から振分先サーバにHTTPのGETリクエストを送出した後、セッションが終了するまで、ネットワーク接続装置20が、セッションテーブル22a’に格納されたセッションデータに基づいて、クライアントと振分先サーバとの間の中継処理を行う。   After sending an HTTP GET request from the packet relay processing device to the distribution destination server, the network connection device 20 uses the session data stored in the session table 22a ′ until the session ends, and the client and the distribution destination Performs relay processing with the server.

次に、図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 service control unit 14 of the server 11 sets a policy “transfer packet to the packet detail analysis unit 16 and performs FTP filtering” in the policy table 25 via the control communication information unit in advance.

設定された条件から、ネットワーク接続装置20の処理振分部26が該当パケットを詳細解析部16に転送する。URLフィルタリングの場合と同様に、パケット詳細解析部16は、受信したパケットに含まれる適用サービスタイプに基づいて、そのパケットがFTPフィルタリングサービスを受けるべきパケットであることを判定し、パケット詳細解析部16は、詳細解析用セッションテーブルにセッションデータを格納する(ステップS99:Yes)。続いて、パケット詳細解析部16は、セッション状態を管理し、受信パケットをそのままネットワークへ出力させる。   Based on the set condition, the processing distribution unit 26 of the network connection device 20 transfers the packet to the detailed analysis unit 16. As in the case of URL filtering, the packet detail analysis unit 16 determines that the packet is to be subjected to the FTP filtering service based on the applied service type included in the received packet, and the packet detail analysis unit 16 Stores the session data in the session table for detailed analysis (step S99: Yes). Subsequently, the packet detail analysis unit 16 manages the session state and outputs the received packet to the network as it is.

セッション状態が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 detail analysis unit 16 receives the IP included in the packet. The address and port number are determined, and based on the determination result, it is determined whether to pass or discard the packet of the session (step S101).

すなわち、パケット詳細解析部16は、IPアドレスとポート番号を用いて予め設定された詳細解析用ポリシーテーブル内のFTPフィルタリング用テーブルを参照して、そのセッションのパケットを通過させるか廃棄するかを決定する。パケットを廃棄すると決定した場合には(ステップS101:Yes)、パケット詳細解析部16は、セッションテーブル22a’からパケットの転送用ヘッダに含まれるセッションIDに対応するセッションデータを取得し、そのセッションデータの適用サービスタイプの欄に「廃棄」を設定し、そのパケットを廃棄する(ステップS103)。   That is, the packet detail analysis unit 16 refers to the FTP filtering table in the detailed analysis policy table set in advance using the IP address and the port number, and determines whether to pass or discard the packet of the session. To do. When it is determined that the packet is to be discarded (step S101: Yes), the packet detail analysis unit 16 acquires the session data corresponding to the session ID included in the packet transfer header from the session table 22a ′, and the session data "Discard" is set in the column of the applicable service type, and the packet is discarded (step S103).

また、そのパケットを通過させると決定した場合には(ステップ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 detail analysis unit 16 determines the IP address and port number described in the data part of the ACK packet of the previous PORT command or PASV command. Based on the above, the session data for the data connection is registered in the session table 22a ′, and “passing filtering” is set in the application service type column of the session data (step S102).

上記のようにパケット詳細解析部16が、セッションテーブル22a’内のセッションデータを再設定すると、ネットワーク接続装置20は上記通過条件に従い、以後のデータコネクションに関するパケットを処理する。すなわち、サーバ11のパケット詳細解析部16にパケットを転送することなく、パケットを通過させたり、廃棄させたりする。   When the packet detail analysis unit 16 resets the session data in the session table 22a 'as described above, the network connection device 20 processes a packet related to the subsequent data connection in accordance with the passage condition. That is, the packet is passed or discarded without being transferred to the packet detail analysis unit 16 of the server 11.

図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 server 11 and the state transits to the ESTAB state, the packet is transferred to the packet detailed analysis unit 16, and “network connection device 20” + “server 11”. Processing is performed.

セッションの状態が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 detail analysis unit 16 receives the IP address and port included in the packet. By referring to the detailed analysis policy table using the number, it is determined whether the packet should be discarded or passed. When it is determined that the packet is to be discarded, the packet detail analysis unit 16 sets that the packet is to be discarded in the session data of the session table 22a '. When it is determined that the packet is allowed to pass, the packet detail analysis unit 16 registers the session data for the data connection in the session table 22a ′ and resets “pass” in the applicable service type column. Thereafter, the network connection device 20 performs a packet discard process or a data connection packet passage process.

最後に、パケット中継処理装置がクライアントから制御コネクションの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 network connection device 20 to the session detail analysis unit 16 of the server 11 via the packet communication unit 33. The server 11 performs the session closing process via the session detail analysis unit 16. Further, the session detail analysis unit 16 deletes the session data regarding the session to be closed based on the session ID included in the packet transfer header.

以下、図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 detail analysis unit 16.

セッションデータが再設定される前において、矢印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 network connection device 20. A packet P11 having a header of “original address: port number = 192.168.30.30: 11950” is transmitted. The session management unit 22 of the network connection device 20 refers to the policy table 25, acquires a policy whose information in the header matches the policy search key, and creates session data with session ID = 2 based on the policy. And stored in the session table 22a ′.

セッションデータ内の適用サービスタイプは「サーバ転送: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 processing distribution unit 26 in the network connection device 20 distributes the processing to the service processing unit 27 that performs server transfer processing. After the service processing unit 27 to which the process has been assigned attaches a transfer header to the packet, the packet is transferred to the server 11 as indicated by an arrow A22. The packet detail analysis unit 16 of the server 11 registers the session data in the detail analysis session table based on the information included in the transferred packet.

同様にして、サーバ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 server 11 to the client via the paths indicated by arrows A23 to A28, the session data with session IDs = 3, 4, and 5 are respectively stored in the session. The session management unit 22 stores the data in the table 22a ′, and the corresponding session data is stored in the detailed analysis session table by the packet detailed analysis unit 16.

セッションデータを各セッションテーブルに登録した後、HTTPのGETリクエストを受信するまで、パケット詳細解析部16は、各セッションの状態を管理し、図33に示すパケットフローに基づいて、受信したパケットをネットワークへ出力する。   After registering the session data in each session table, the packet detail analysis unit 16 manages the state of each session until receiving an HTTP GET request, and based on the packet flow shown in FIG. Output to.

その後、セッション状態がESTABとなった後、HTTPのGETリクエストを受信すると、パケット詳細解析部16は、パケットを解析し、解析結果に基づいて、セッションテーブル22a’に格納されたセッションデータを設定しなおす。再設定後のセッションデータは、図23に示す通りである。   After that, when an HTTP GET request is received after the session state becomes ESTAB, the packet detail analysis unit 16 analyzes the packet, and sets the session data stored in the session table 22a ′ based on the analysis result. fix. The session data after resetting is as shown in FIG.

図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 detail analysis unit 16. After the session data is reset, the destination server: 192.168.200.1:3333 as the port number and the source address: 192.168.200.10 as the port number, as indicated by arrow A31, from the distribution destination server to the network connection device 20. When the packet P14 storing “: 8080” in the header is transmitted, the processing distribution unit 26 of the network connection device 20 refers to the session table 22a ′ using the information included in the header of the packet, and sets the session ID = 5 is acquired, and the process is distributed to the service processing unit 27 that performs the header rewriting process based on the session data. Based on the session data, the service processing unit 27 rewrites the destination address and port number in the packet header to “192.168.30.30:11950” and the client address and port number to “192.168.200.1:http”. Thus, the packet P12 is created. Thereafter, as indicated by an arrow A32, the network connection device 20 outputs the packet P12 to the distribution destination server.

同様に、矢印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 network connection device 20, “destination address: port number = 192.168.200.1: http, transmission source address: port number = 192.168”. .30.30: 11950 "in the header is transmitted. The processing distribution unit 26 of the network connection device 20 refers to the session table 22a ′ using information included in the header of the packet, and acquires session data with session ID = 2. In this example, since “server transfer: OFF / header rewriting” is stored in the applicable service type column of the acquired session data, the processing distribution unit 26 performs processing on the service processing unit 27 that performs header rewriting processing. Sort out. Based on the session data, the service processing unit 27 rewrites the packet P13 by rewriting the destination address and port number in the header of the packet with the address and port number of the distribution destination server to “192.168.200.10:8080”. create. Thereafter, the network connection device 20 outputs the packet P13 to the distribution destination server as indicated by an arrow A34.

このように、セッション詳細解析部16がパケットの解析結果に基づいてセッションデータを書き換えた後は、サーバ11を介さずに、ネットワーク接続装置20によってパケットの中継処理が行われる。   As described above, after the session detail analysis unit 16 rewrites the session data based on the analysis result of the packet, the network connection device 20 performs the relay process of the packet without going through the server 11.

以上のように、本実施例においては、ネットワーク接続装置20にセッション管理に基づくパケット中継処理機能を設け、従来サーバ上に配置していた機能をネットワーク接続装置20が果たすようにしたので、第1の実施例と同様、サーバ11のCPUの使用率を下げることができる。また、第1の実施例と同様、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。   As described above, in the present embodiment, the network connection device 20 is provided with a packet relay processing function based on session management, and the network connection device 20 performs the function that is conventionally arranged on the server. As in the embodiment, the usage rate of the CPU of the server 11 can be lowered. As in the first embodiment, even if the routing table is changed during the session, consistency can be maintained for the currently ongoing session.

さらに、第5実施例によれば、サーバ11のパケット詳細解析部16においてパケットを解析してサービスを決定し、決定したサービス内容をネットワーク接続装置20に設定し、以後同じセッションに対してネットワーク接続装置20が上記決定されたサービス内容に基づき中継処理を行うようにする。従って、サーバ11で全ての処理を行う場合に比べ、サービス処理を高速に実現することができる。   Further, according to the fifth embodiment, the packet detail analysis unit 16 of the server 11 analyzes the packet to determine the service, sets the determined service content in the network connection device 20, and thereafter connects to the same session through the network connection. The apparatus 20 performs a relay process based on the determined service content. Therefore, service processing can be realized at a higher speed than when all processing is performed by the server 11.

以下、各実施例の変形例について説明する。まず、第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 session management unit 22 is different from the first to fifth embodiments. Processing performed by the session management unit 22 when the first modification is applied will be described with reference to FIG.

図5のステップS17において、セッション管理部22が、あるセッションがクローズしたと判定した場合(ステップS17:Yes)、セッション管理部22はタイマーを設定する。セッション管理部22は、セッションデータに含まれる一貫性保持時間だけ待機した後に、図5のステップS18に進み、そのセッションデータをセッションテーブル22a’から削除する。   In step S17 of FIG. 5, when the session management unit 22 determines that a certain session is closed (step S17: Yes), the session management unit 22 sets a timer. After waiting for the consistency holding time included in the session data, the session management unit 22 proceeds to step S18 in FIG. 5 and deletes the session data from the session table 22a '.

これにより、セッションが終了した後で、一貫性保持時間が経過するまでの間に、そのセッションが再度確立された場合、セッション検索キーに変更がなければ、セッション管理部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 session management unit 22 sets the session first. It can be handled as the same session as the session that ended. For example, in the load distribution service, it is possible to distribute packets to the same distribution destination server between a session once completed and a session reestablished. Furthermore, since the search of the policy table 25 by the session management unit 22 and the transfer of the packet to the server 11 by the processing distribution unit 26 can be omitted, the packet can be processed at high speed.

次に、第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 network connection device 20 further includes a flag table shown in FIG. .

以下、図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 session management unit 22 is different from the third to fifth embodiments. As an example, referring to FIG. 15 showing processing performed by the session management unit 22 according to the third embodiment, the processing performed by the session management unit 22 changes by applying the second modification to each embodiment. The point will be described in detail.

第2の変形例において、セッション管理部22は、図15のステップS43からステップS44の間でさらに、以下の処理を行う。まず、ステップS43で、セッション管理部22は、ポリシーテーブル25を検索し、パケットのヘッダに格納された情報と適合するポリシー検索キーを持つポリシーを取得する。セッション管理部22は、得られたポリシーに含まれるグループIDを用いてフラグテーブルを参照し、そのグループIDに対応するフラグがオンであるかオフであるか判定する。   In the second modified example, the session management unit 22 further performs the following processing between step S43 and step S44 in FIG. First, in step S43, the session management unit 22 searches the policy table 25 to obtain a policy having a policy search key that matches information stored in the header of the packet. The session management unit 22 refers to the flag table using the group ID included in the obtained policy, and determines whether the flag corresponding to the group ID is on or off.

判定の結果、フラグがオフである場合、セッション管理部22はそのポリシーを採用しない。一方、フラグがオンである場合、セッション管理部22は、そのポリシーを採用する。セッション管理部22は、ステップS44で、そのポリシーに基づいてセッションデータを作成し、セッションテーブル22a’に格納する。これにより、採用するべきポリシーをグループ毎に切り換えることができるようになる。   If the flag is off as a result of the determination, the session management unit 22 does not adopt the policy. On the other hand, when the flag is on, the session management unit 22 adopts the policy. In step S44, the session management unit 22 creates session data based on the policy and stores it in the session table 22a '. As a result, the policy to be adopted can be switched for each group.

例えば、複数の通常用のポリシーと複数の非常用のポリシーとを作成した場合、第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 server 11 in order to collect a log (history). When the event flag related to the header is on, the header of the packet is transferred to the server 11 in order to collect a log. The server 11 analyzes the transferred packet or the packet header and collects a log. Thus, for example, when a failure occurs in the system, it is possible to obtain useful information for recovering from the failure by analyzing the collected log using network management software.

次に、第4の変形例について説明する。第4の変形例によれば、第1実施例から第5実施例に係わるネットワーク接続装置20は、パケットに関する統計情報を取得するために、更にカウンタ(不図示)を備える。上記サーバ11のネットワーク制御部12又はサービス制御部14は、カウンタの値を参照する。統計情報として、例えば、インターフェースごとのパケット入力数と出力数が考えられる。この統計情報は、クライアント等に課金を行う際等において使用することができる。   Next, a fourth modification will be described. According to the fourth modification, the network connection device 20 according to the first to fifth embodiments further includes a counter (not shown) in order to obtain statistical information about the packet. The network control unit 12 or the service control unit 14 of the server 11 refers to the counter value. As the statistical information, for example, the number of packet inputs and the number of outputs for each interface can be considered. This statistical information can be used when charging a client or the like.

また、第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 session management unit 22 acquires a policy to be applied with reference to the policy table 25 in order to register the session data related to the new session in the session table 22a ′, the counter calculates the policy hit of the acquired policy. Increment the number. As a result, the network administrator can obtain information for determining whether or not the policy is effectively used.

また、第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 service processing unit 27 or the packet detail analysis unit 16 performs a process of determining a session allocation server, the counter calculates the number of allocation destination hits corresponding to the server determined as the allocation destination server. Increment. As a result, the network administrator can obtain information for determining whether or not the load balancing distribution method is operating effectively.

本実施形態において説明したネットワーク接続装置20を構成する各部及びサーバ11を構成する各部が行う処理を示すプログラムは、それぞれRAM(Random Access Memory)やROM(Read Only Memory)等のメモリに記録され、パケット中継処理装置にハードウェア或いはソフトウェアとして備えられても良い。以下、この場合について説明する。   A program indicating processing performed by each unit configuring the network connection device 20 and each unit configuring the server 11 described in the present embodiment is recorded in a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory), respectively. The packet relay processing apparatus may be provided as hardware or software. Hereinafter, this case will be described.

図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 memory 42. Further, the computer 40 may include an input device 43, an output device 44, an external storage device 45, a medium driving device 46, and a network interface 47. The devices are connected to each other by a bus 48.

メモリ42は、例えば、ROM、RAM等を含み、処理に用いられるプログラムとデータを格納する。CPU41は、メモリ42を利用してプログラムを実行することにより、必要な処理を行う。   The memory 42 includes, for example, a ROM, a RAM, and the like, and stores programs and data used for processing. The CPU 41 performs necessary processing by executing a program using the memory 42.

2以上のコンピュータ40に、パケット中継処理装置を構成するサーバ11及びネットワーク接続装置20に相当する機能を実現させる場合、まず、図2、10、12、18、20に示すパケット中継処理装置を構成する各部によって行われる処理を示すプログラムを用意する。そして、サーバ11に備えられる各部によって行われる処理を示すプログラム(以下、サーバ11用のプログラムという)をサーバ11を実現すべきコンピュータ内のメモリ42の特定のプログラムコードセグメントに格納する。   When realizing functions corresponding to the server 11 and the network connection device 20 constituting the packet relay processing device in two or more computers 40, first, the packet relay processing device shown in FIGS. 2, 10, 12, 18, and 20 is configured. A program showing the processing performed by each unit is prepared. Then, a program (hereinafter, referred to as a program for the server 11) indicating processing performed by each unit provided in the server 11 is stored in a specific program code segment of the memory 42 in the computer in which the server 11 is to be realized.

また、ネットワーク接続装置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 network connection device 20 is converted into a specific program code segment in the memory 42 in the computer in which the network connection device 20 is to be realized. To store. Here, the CPU of the computer that should realize the network connection device 20 is, for example, a network processor. In addition, the process performed by each part mentioned above is demonstrated using each flowchart in the above.

入力装置43は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。出力装置44は、例えば、ディスプレイやプリンタ等であり、コンピュータ40の利用者への問い合わせ、処理結果等の出力に用いられる。   The input device 43 is, for example, a keyboard, a pointing device, a touch panel, and the like, and is used for inputting instructions and information from the user. The output device 44 is, for example, a display or a printer, and is used for outputting an inquiry to a user of the computer 40, a processing result, and the like.

外部記憶装置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 memory 42 for use as required.

媒体駆動装置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 memory 42 for use as required.

ネットワークインターフェース47は、LAN、WAN等の任意のネットワーク(回線)を介して外部の装置を通信し、通信に伴なうデータ変換を行う。また、必要に応じて、上述のプログラムとデータを外部の装置から受け取り、それらをメモリ42にロードして使用することもできる。   The network interface 47 communicates with an external device via an arbitrary network (line) such as a LAN or a WAN, and performs data conversion accompanying the communication. If necessary, the above-described program and data can be received from an external device and loaded into the memory 42 for use.

図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 server 11 and the computer that should realize the network connection device 20, thereby performing packet relay processing on two or more computers. It is also possible to perform functions corresponding to the apparatus.

そのためには、上述のプログラムやデータを、コンピュータで読み取り可能な記録媒体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 server 11 to read a program for the server 11 from the recording medium 49 and the memory 42 of the computer (server 11). Or temporarily stored in the external storage device 45, and the stored program is read and executed by the CPU 41 of the computer (server 11).

同様に、記録媒体49からネットワーク接続装置20用のプログラム等をネットワーク接続装置20を実現すべきコンピュータのメモリ42等に一旦格納させ、そのコンピュータ(ネットワーク接続装置20)の有するCPU41に格納されたプログラムを読み出させて実行させる。   Similarly, a program or the like for the network connection device 20 is temporarily stored in the memory 42 or the like of the computer that should realize the network connection device 20 from the recording medium 49 and stored in the CPU 41 of the computer (network connection device 20). Is read and executed.

また、記録媒体49からプログラム等を、サーバ11を実現すべきコンピュータ及びネットワーク接続装置20を実現すべきコンピュータに読み出させる代わりに、プログラム(データ)提供者が有するDB50から、通信回線(ネットワーク)51を介して、プログラムをそれぞれのコンピュータにダウンロードすることとしてもよい。この場合、例えば、DB50を有しプログラムを送信するコンピュータでは、上記プログラムを表現するプログラム・データをプログラム・データ・シグナルに変換し、変換されたプログラム・データ・シグナルをモデムを用いて変調することにより伝送信号を得て、得られた伝送信号を通信回線51(伝送媒体)に出力する。プログラムを受信するコンピュータでは、受信した伝送信号をモデムを用いて復調することにより、プログラム・データ・シグナルを得て、得られたプログラム・データ・シグナルを変換することにより、プログラム・データを得る。   Further, instead of causing the computer to realize the server 11 and the computer to realize the network connection device 20 to read the program or the like from the recording medium 49, a communication line (network) is obtained from the DB 50 possessed by the program (data) provider. It is good also as downloading a program to each computer via 51. In this case, for example, in a computer having the DB 50 and transmitting a program, the program data representing the program is converted into a program data signal, and the converted program data signal is modulated using a modem. To obtain a transmission signal and output the obtained transmission signal to the communication line 51 (transmission medium). The computer that receives the program obtains the program data signal by demodulating the received transmission signal using a modem, and obtains the program data by converting the obtained program data signal.

次に、図38を用いて、サーバ11を実現すべきコンピュータ及びネットワーク接続装置20を実現すべきコンピュータへのプログラムやデータのローディングについて、例を挙げてより詳しく説明する。   Next, with reference to FIG. 38, the loading of programs and data to the computer that implements the server 11 and the computer that implements the network connection device 20 will be described in more detail with examples.

図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 server 11 and the network connection apparatus 20 is each provided with CPU and memory, and is connected via the above-mentioned control information communication part 31. FIG. For example, when the control information communication unit 31 is a PCI bus, the network connection device 20 may be realized as a PCI NIC (Network Interface Card).

例えば、サーバ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 server 11 and the like and a program for the network connection device 20 (firmware) are recorded, first, a medium driving device (not shown) provided in a computer that implements the server 11 is used. Then, the program for the server 11 and the program for the network connection device 20 are loaded from the recording medium into the memory of the server 11 (arrow A41). Subsequently, the network connection device 20 program stored in the memory of the server 11 is loaded into the memory of the network connection device 20 via the control information communication unit 31 (arrow 42). In this way, necessary programs and the like can be supplied to the computer that implements the server 11 and the computer that implements the network connection device 20, respectively. The CPU of the server 11 executes the program for the server 11 loaded in the memory of the server 11, and the CPU of the network connection apparatus 20 executes the program for the network connection apparatus 20 loaded in the memory of the network connection apparatus 20. To do.

また、上述のようにプログラム等を記録媒体からロードする代わりに、予め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 server 11 using a transmission signal instead of a recording medium.

また、ネットワーク接続装置20において、CPUの代わりにASIC(Application Specific Integrated Circuit)を用いて、ネットワーク接続装置20を構成する各部をハードウェアで構成する事としても良い。   Further, in the network connection device 20, each unit constituting the network connection device 20 may be configured by hardware using an ASIC (Application Specific Integrated Circuit) instead of the CPU.

以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、他の様々な変更が可能である。
以上説明したように、本発明においては、以下の効果を得ることができる。
(1)上記ネットワーク接続装置にセッション管理に基づくパケット中継処理部を設け、ネットワーク接続装置により、セッション管理に基づく中継処理を行うようにする。これにより、サーバのCPU使用率を下げることができる。また、ネットワーク接続装置上でセッション管理を行い、セッション開始時にセッションテーブルに出力先を登録することにより、セッションの途中でルーティングテーブルが変更されても、現在継続中のセッションについては、一貫性を保持できる。
(2)パケット中継処理装置のサーバに外部セッション管理機能を設け、ネットワーク接続装置からセッション情報を上記サーバに転送し、サーバによりセッション管理を行うことにより、セッション数がネットワーク接続装置のセッションテーブル登録数を上回った場合でも、ネットワーク接続装置で溢れた分をサーバで管理することができる。
〈3〉処理振分部と複数のサービス処理部をサーバに比べ高速に処理できるネットワーク接続装置に配置することにより、サーバのCPUの使用率を小さくすることができるとともに、サービス処理を高速化することができる。
(4)サーバに外部サービス処理部を設け、サービス処理を、ネットワーク接続装置とサーバの両方で実行できるようにすることにより、ネットワーク接続装置2上で実現するのは困難なサービス処理をサーバで行うことができ、ネットワーク接続装置が上記決定されたサービス内容に基づき中継処理を行うようにすることにより、サーバで全ての処理を行う場合に比べ、サービス処理を高速に実現することが可能となる。
(付記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) パケットを中継する機能を有するネットワーク接続装置に接続されたサーバに実行させるプログラムを記録した記録媒体であって、
上記ネットワーク接続装置から転送された上記パケットを受信し、
上記パケットを解析することにより、上記パケットに対するサービスの内容を決定し、
上記決定されたサービス内容に基づいて上記ネットワーク接続装置に上記パケットを処理させるために、該決定されたサービスの内容を上記ネットワーク接続装置に設定する、
ことを含む処理を上記サーバに実行させるプログラムを記録した記録媒体。
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 network connection device 2 is performed by the server. In addition, by allowing the network connection device to perform relay processing based on the determined service content, it is possible to realize service processing at a higher speed than when all processing is performed by the server.
(Supplementary note 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.
(Supplementary Note 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 1, wherein:
(Additional remark 3) The said packet relay processing apparatus is further provided with the 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 1, wherein:
(Additional remark 4) The said packet relay processing apparatus is further provided with the 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 1, wherein:
(Supplementary Note 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 1, wherein:
(Appendix 6) The packet relay processing apparatus 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 5, wherein
(Supplementary Note 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 1, wherein:
(Supplementary note 8) The packet relay processing device according to supplementary note 5, wherein the service processing unit has a function of rewriting a header of the packet.
(Supplementary note 9) The packet relay processing device according to supplementary note 5, wherein the service processing unit has a function of discarding a packet.
(Supplementary note 10) The packet relay processing device according to supplementary note 5, wherein the service processing unit has a function of determining a load distribution destination for load distribution of the server.
(Additional remark 11) The said network connection apparatus is provided with the session table which stores the session information regarding the said session, and the policy table which stores the policy describing the rule for performing the service with respect to the said 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 5, which is a feature.
(Supplementary Note 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 11, characterized in that.
(Additional remark 13) The said search key at the time of searching the said session table contains the destination and transmission source IP address of an IP packet, a protocol, a destination and transmission source port number, and an input interface, The additional description 11 characterized by the above-mentioned. Packet relay processing device.
(Supplementary note 14) The packet relay processing device according to supplementary note 11, wherein the session table includes, as entries, the search key, the state of the session, an application service, and information unique to the application service.
(Supplementary Note 15) The policy table has entries of IP packet destination and source IP address, protocol, destination and source port number, application service, information unique to the application service, and priority. The packet relay processing device according to attachment 11.
(Supplementary note 16) The packet according to supplementary note 1, wherein the session management unit further deletes session information related to the terminated session from the session table after a predetermined time has elapsed since the session was terminated. Relay processing device.
(Additional remark 17) The said network connection apparatus is further provided with the counter for acquiring the statistical information regarding a packet, The packet relay processing apparatus of Additional remark 1 characterized by the above-mentioned.
(Appendix 18) Multiple policies are divided into multiple groups,
The packet relay processing device according to appendix 11, wherein the network connection device further sets whether or not each policy is valid for each group.
(Supplementary note 19) The packet relay processing device according to supplementary note 12, wherein the network connection device further transfers at least a part of the packet to the server in order to collect a log of the packet.
(Supplementary note 20) The packet relay processing device according to supplementary note 18, wherein a part of the packet is a header of the packet.
(Supplementary Note 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 transmits the packet based on the server transfer instruction information. 13. The packet relay processing device according to appendix 12, wherein it is determined whether or not to transfer to a server.
(Supplementary Note 22) When the packet transferred to the server is an HTTP protocol GET packet, the packet detail analysis unit further provides a service for the packet based on a URL (Uniform Resource Locator) included in the packet. Decide
The packet relay processing device according to appendix 7, wherein
(Additional remark 23) The said packet detailed analysis part is further based on the IP address and port number of the data connection of the said session, when the said packet transferred to the said server is a PORT command of FTP protocol, or ACK of a PASV command. To determine the service for the packet,
The packet relay processing device according to appendix 7, wherein
(Additional remark 24) When performing the process which distributes the load of the said server, the said packet detailed analysis part responds on behalf of the said allocation destination server until the allocation destination server used as the allocation destination of the said load is determined. The packet relay processing device according to appendix 7, wherein:
(Additional remark 25) The said packet detailed analysis part writes the kind of service with respect to the said packet, the IP address for translation, a port number, a sequence number, and an ACK number to the said session table by analyzing the said packet,
Item 22. The packet relay processing device according to appendix 21, wherein
(Supplementary note 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.
(Supplementary Note 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 attachment 26, wherein the server manages the session based on the transferred session information.
(Supplementary Note 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 supplementary note 26, wherein:
(Additional remark 29) The said process distribution part transfers the said packet to the server with which the said packet relay processing apparatus was provided according to the conditions provided, The said server is made to perform the service process with respect to the said packet, It is characterized by the above-mentioned. The network connection device according to attachment 26.
(Supplementary Note 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 26, wherein the service processing unit processes the packet of the session based on the service content determined by the server after the service is determined by the server.
(Supplementary Note 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.
(Supplementary Note 32) Transfer session information related to the session to a server connected to the network connection device according to a given condition so that the server manages the session.
32. The program according to appendix 31, wherein the computer is further caused to execute processing including the above.
(Additional remark 33) Based on the content of the service with respect to the said packet, the said packet is distributed to the apparatus or program segment which performs the process corresponding to the said service,
32. The program according to appendix 31, wherein the computer is further caused to execute processing including the above.
(Supplementary Note 34) The packet is forwarded to a server connected to the network connection device according to a given condition so that the server can execute a service for the packet.
34. The program according to appendix 33, which causes the computer to execute a process further including the above.
(Supplementary Note 35) According to the given conditions, the packet is transferred to a server connected to the network connection device in order to determine a service for the packet,
The program according to appendix 31, wherein the computer is caused to execute processing including processing the packet based on the determined service content after the server determines the service for the packet.
(Supplementary note 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 apparatus to process the packet, a policy describing a rule for executing a service for the packet is set in the network connection apparatus.
A program that causes the server to execute processing including the above.
(Supplementary Note 37) The packet transferred from the network connection device is received, and the service for the received packet is executed.
37. The program according to appendix 36, which causes the server to execute processing including the above.
(Supplementary Note 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.
(Supplementary note 39) A recording medium recording a program for causing a computer provided in a network connection device to execute control of 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.
(Supplementary Note 40) Transfer session information related to the session to a server connected to the network connection device according to a given condition 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.
(Additional remark 41) Based on the content of the service with respect to the said packet, the said packet is distributed to the apparatus or program segment which performs the process corresponding to the said 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.
(Supplementary Note 42) The packet is forwarded to a server connected to the network connection device according to a given condition so that the server can execute 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.
(Supplementary Note 43) Transferring 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.
(Supplementary Note 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 apparatus to process the packet, a policy describing a rule for executing a service for the packet is set in the network connection apparatus.
The recording medium which recorded the program which makes the said server perform the process including this.
(Supplementary Note 45) The packet transferred from the network connection device is received, and the service for the received packet is executed.
45. A recording medium according to supplementary note 44, in which a program for causing the server to execute processing further including the above is recorded.
(Supplementary Note 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.

本発明の概要を説明する図である。It is a figure explaining the outline | summary of this invention. 本発明の第1の実施例のパケット中継処理装置の構成を示す図である。It is a figure which shows the structure of the packet relay processing apparatus of 1st Example of this invention. 転送パケットのフレーム構成を示す図である。It is a figure which shows the flame | frame structure of a transfer packet. パケット処理部の処理フローを示す図である。It is a figure which shows the processing flow of a packet process part. セッション管理部の処理フローを示す図である。It is a figure which shows the processing flow of a session management part. セッションテーブルの構成例を示す図である。It is a figure which shows the structural example of a session table. TCPの状態遷移を示す図である。It is a figure which shows the state transition of TCP. TCPのセッション開始からセッション終了までの状態遷移を説明する図である。It is a figure explaining the state transition from the session start of TCP to the session end. UDPの状態遷移を示す図である。It is a figure which shows the state transition of UDP. 本発明の第2の実施例のパケット中継処理装置の構成を示す図である。It is a figure which shows the structure of the packet relay processing apparatus of 2nd Example of this invention. 第2の実施例のセッション管理部、外部セッション管理部における処理フローを示す図である。It is a figure which shows the processing flow in the session management part of the 2nd Example, and an external session management part. 本発明の第3の実施例のパケット中継処理装置の構成を示す図である。It is a figure which shows the structure of the packet relay processing apparatus of 3rd Example of this invention. 第3実施例に係わるセッションテーブルの構成例を示す図である。It is a figure which shows the structural example of the session table concerning 3rd Example. 第3実施例にかかわるポリシーテーブルの構成例を示す図である。It is a figure which shows the structural example of the policy table in connection with 3rd Example. 本発明の第3の実施例のセッション管理部の処理フローを示す図である。It is a figure which shows the processing flow of the session management part of the 3rd Example of this invention. 第3の実施例の処理振分部及びサービス処理部における処理フローを示す図である。It is a figure which shows the processing flow in the process distribution part and service processing part of a 3rd Example. 第3実施例におけるポリシー検索終了後の負荷分散サービスでのパケッフローを示す図である。It is a figure which shows the packet flow in the load distribution service after the policy search completion | finish in 3rd Example. 本発明の第4の実施例のパケット中継処理装置の構成を示す図である。It is a figure which shows the structure of the packet relay processing apparatus of the 4th Example of this invention. 第4の実施例に係わる処理振分部、サービス処理部及び外部サービス処理部における処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process in the process distribution part, the service processing part, and an external service processing part concerning a 4th Example. 本発明の第5の実施例のパケット中継処理装置の構成を示す図である。It is a figure which shows the structure of the packet relay processing apparatus of the 5th Example of this invention. 第5実施例に係わるセッションテーブルの一例を示す図(その1)である。It is FIG. (1) which shows an example of the session table concerning 5th Example. 第5実施例に係わるセッションテーブルの一例を示す図(その2)である。It is FIG. (2) which shows an example of the session table concerning 5th Example. 第5実施例におけるパケット詳細解析終了後のセッションテーブルの一例を示す図(その1)である。It is FIG. (1) which shows an example of the session table after completion | finish of packet detailed analysis in 5th Example. 第5実施例におけるパケット詳細解析終了後のセッションテーブルの一例を示す図(その2)である。It is FIG. (2) which shows an example of the session table after completion | finish of the packet detailed analysis in 5th Example. 詳細解析用セッションテーブルの構成例を示す図である。It is a figure which shows the structural example of the session table for detailed analysis. 詳細解析用ポリシーテーブルの構成例を示す図である。It is a figure which shows the structural example of the policy table for detailed analysis. 第5実施例に係わるパケット中継処理装置の動作概念を示す図である。It is a figure which shows the operation | movement concept of the packet relay processing apparatus concerning 5th Example. 第5の実施例に係わる処理振分部、サービス処理部及びパケット詳細解析部における処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process in the process distribution part, the service processing part, and the packet detailed analysis part concerning a 5th Example. パケット詳細解析部における処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process in a packet detailed analysis part. URLフィルタリングの動作を説明する図である。It is a figure explaining operation | movement of URL filtering. URL負荷分散サービスの動作を説明する図である。It is a figure explaining operation | movement of URL load distribution service. FTPフィルタリングの動作を説明する図である。It is a figure explaining the operation | movement of FTP filtering. 第5実施例における詳細解析前のURL負荷分散サービスでのパケットフローを示す図である。It is a figure which shows the packet flow in the URL load distribution service before the detailed analysis in 5th Example. 第5実施例における詳細解析後のURL負荷分散サービスでのパケットフローを示す図である。It is a figure which shows the packet flow in the URL load distribution service after the detailed analysis in 5th Example. フラグテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a flag table. コンピュータの構成図である。It is a block diagram of a computer. コンピュータにプログラムやデータを供給する記録媒体や伝送信号を説明する図である。It is a figure explaining the recording medium and transmission signal which supply a program and data to a computer. サーバ及びネットワーク接続装置へのプログラムやデータのローディングを説明する図である。It is a figure explaining loading of the program and data to a server and a network connection apparatus. 従来のパケット中継処理装置の構成を示す図である。It is a figure which shows the structure of the conventional packet relay processing apparatus.

符号の説明Explanation of symbols

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 SYMBOLS 1 Server 2 Network connection apparatus 11 Server 12 Network control part 13 External session management part 13a External session table 14 Service control part 15 External service processing part 16 Packet detailed analysis part 20 Network connection apparatus 21 Packet processing part 22 Session management part 22a Session table 22a 'session table 23 routing processing unit 23a routing table 24 server transfer unit 25 policy table 26 processing distribution unit 27 service processing unit 30 network connection unit 31 control information communication unit 32 session information communication unit 33 packet communication path 40 computer 41 CPU
42 memory 43 input device 44 output device 45 external storage device 46 medium drive device 47 network interface 48 bus 49 portable recording medium 50 database 51 line A arrow P packet S step

Claims (8)

ネットワーク接続装置を有するパケット中継処理装置であって、
前記ネットワーク接続装置がセッションを管理するセッション管理部と、前記セッション管理部によるセッション管理に基づいてパケットを中継するパケット処理部を備え、
前記パケット中継処理装置は、更に、サーバを備え、
前記サーバは上記セッションを管理する外部セッション管理部を備え、
前記セッション管理部は、与えられた条件に応じて前記セッションに関するセッション情報を前記サーバに転送し、前記外部セッション管理部は、受信した前記セッション情報に基づいて前記セッションを管理する、
ことを特徴とするパケット中継処理装置。
A packet relay processing device having a network connection device,
A session management unit for managing sessions by the network connection device, and a packet processing unit for relaying packets based on session management by the session management unit;
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 regarding the session to the server according to a given condition, and the external session management unit manages the session based on the received session information.
A packet relay processing apparatus.
ネットワーク接続装置を有するパケット中継処理装置であって、
前記ネットワーク接続装置がセッションを管理するセッション管理部と、前記セッション管理部によるセッション管理に基づいてパケットを中継するパケット処理部と、前記パケットのルーティング先に関するルーティング情報を格納するルーティングテーブルと、前記セッションの開始時に、前記ルーティング情報に基づいて前記パケットのルーティング先を決定するルーティング処理部とを備え、
前記パケット処理部は、前記パケットを決定された前記ルーティング先に出力し、
前記パケット中継処理装置は、更に、サーバを備え、
前記サーバは、記ルーティングテーブルに前記ルーティング情報を書き込むネットワーク制御部を備えたことを特徴とするパケット中継処理装置。
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 processing unit for relaying a packet based on session management by the session management unit; a routing table for storing routing information regarding a routing destination of the packet; and the session A routing processing unit that determines a routing destination of the packet based on the routing information at the start of
The packet processing unit outputs the packet to the determined routing destination;
The packet relay processing device further includes a server,
Wherein the server, the packet relay processing apparatus characterized by comprising a pre SL network controller for writing the routing information in the routing table.
ネットワーク接続装置を有するパケット中継処理装置であって、
前記ネットワーク接続装置がセッションを管理するセッション管理部と、前記セッション管理部によるセッション管理に基づいてパケットを中継するパケット処理部とを備え、
前記パケット中継処理装置は、サーバを更に備え、
前記サーバはパケット詳細解析部を備え、
前記ネットワーク接続装置は、更に処理振分部とサービス処理部を備え、前記処理振分部が、与えられた条件によって前記パケットを上記パケット詳細解析部に転送し、前記パケット詳細解析部は、前記パケットを解析することにより前記パケットに対するサービス内容を決定し、決定した前記サービス内容を記ネットワーク接続装置に設定し、該設定後、記ネットワーク接続装置は、前記決定されたサービス内容に基づいて前記パケットを処理する、
ことを特徴とするパケット中継処理装置。
A packet relay processing device having a network connection device,
A session management unit for managing sessions by the network connection device; and a packet processing unit for relaying packets based on session management by the session management unit,
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, and the processing distribution unit transfers the packet to the packet detail analysis unit according to a given condition. packet determines the service content for the packet by analyzing the sets the determined the service content before SL network connection device, after the setting, the pre SL network connection device, on the basis of the service contents to the determined Process the packet;
A packet relay processing apparatus.
前記ネットワーク接続装置は、更に、パケットに関する統計情報を取得するためのカウンタを備えることを特徴とする請求項1乃至請求項3のいずれか1項に記載のパケット中継処理装置。 4. The packet relay processing device according to claim 1, wherein the network connection device further includes a counter for acquiring statistical information about the packet. 5. 前記パケット詳細解析部は、更に、前記サーバに転送された前記パケットがHTTPプロトコルのGETパケットである場合、前記パケットに含まれるURL(Uniform Resource Locator)に基づいて、前記パケットに対するサービスを決定する、ことを特徴とする請求項3に記載のパケット中継処理装置。 The packet detail 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 claim 3. 前記パケット詳細解析部は、更に、前記サーバに転送された前記パケットがFTPプロトコルのPORT命令、或いはPASV命令のACKである場合、前記セッションのデータコネクションのIPアドレスとポート番号に基づいて、前記パケットに対するサービスを決定する、ことを特徴とする請求項3に記載のパケット中継処理装置。 The packet detail analysis unit further, based on the IP address and port number of the data connection of the session, when the packet transferred to the server is an PORT command of FTP protocol or an ACK of a PASV command The packet relay processing apparatus according to claim 3, wherein a service for the packet is determined. 前記パケット詳細解析部は、前記サーバの負荷を分散させる処理を行う場合、記負荷の振分先となる振分先サーバが決定されるまで、前記振分先サーバに代わって応答することを特徴とする請求項3に記載のパケット中継処理装置。 The packet details analyzing unit, when performing the processing to distribute the load of the server, to distribution destination server to which the distribution destination before Symbol load is determined, to respond on behalf of the distribution destination server The packet relay processing device according to claim 3, wherein: 前記パケット詳細解析部は、前記パケットを解析することにより、前記セッションテーブルに、前記パケットに対するサービスの種類、変換用IPアドレス及びポート番号、シーケンス番号及びACK番号差分を書き込む、ことを特徴とする請求項3に記載のパケット中継処理装置。 The packet detail analysis unit writes the service type, translation IP address and port number, sequence number, and ACK number difference for the packet into the session table by analyzing the packet. Item 4. The packet relay processing device according to Item 3.
JP2006297354A 2001-03-27 2006-11-01 Packet relay processor Expired - Fee Related JP4365397B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006297354A JP4365397B2 (en) 2001-03-27 2006-11-01 Packet relay processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001090122 2001-03-27
JP2006297354A JP4365397B2 (en) 2001-03-27 2006-11-01 Packet relay processor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001308387A Division JP3963690B2 (en) 2001-03-27 2001-10-04 Packet relay processor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009123037A Division JP5229109B2 (en) 2001-03-27 2009-05-21 Packet relay processor

Publications (2)

Publication Number Publication Date
JP2007104700A true JP2007104700A (en) 2007-04-19
JP4365397B2 JP4365397B2 (en) 2009-11-18

Family

ID=38031096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006297354A Expired - Fee Related JP4365397B2 (en) 2001-03-27 2006-11-01 Packet relay processor

Country Status (1)

Country Link
JP (1) JP4365397B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1980891A1 (en) 2007-04-12 2008-10-15 Olympus Corporation Fluorescence microscope apparatus
WO2011093228A1 (en) * 2010-01-29 2011-08-04 日本電気株式会社 Front end system and front end processing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1980891A1 (en) 2007-04-12 2008-10-15 Olympus Corporation Fluorescence microscope apparatus
WO2011093228A1 (en) * 2010-01-29 2011-08-04 日本電気株式会社 Front end system and front end processing method
JP2011160041A (en) * 2010-01-29 2011-08-18 Nec Corp Front end system and front end processing method
US8863269B2 (en) 2010-01-29 2014-10-14 Nec Corporation Frontend system and frontend processing method

Also Published As

Publication number Publication date
JP4365397B2 (en) 2009-11-18

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
JP4309359B2 (en) Packet communication apparatus and function expansion method thereof
US11689631B2 (en) Transparent network service migration across service devices
JP2009539167A (en) Distributed local web server architecture for storage devices
JP2005165847A (en) Policy rule scenario control device and control method
JP6766110B2 (en) Control devices, control methods, and programs
JPWO2003103233A1 (en) Packet relay device, network connection device, packet relay method, recording medium, program
EP1759317B1 (en) Method and system for supporting read operations for iscsi and iscsi chimney
US7937435B2 (en) Identifying, storing, and retrieving context data for a network message
US8825877B2 (en) Session persistence
JP5900352B2 (en) Packet processing apparatus, packet processing method and program
Cha et al. A mobility link service for ndn consumer mobility
US7000027B2 (en) System and method for knowledgeable node initiated TCP splicing
JP5229109B2 (en) Packet relay processor
JP4365397B2 (en) Packet relay processor
JP6330814B2 (en) COMMUNICATION SYSTEM, CONTROL INSTRUCTION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
JP2007149080A (en) Context based navigation
JP5270603B2 (en) Virtual environment data transfer system and virtual environment data transfer device
JP4776412B2 (en) Packet transfer apparatus, packet transfer method, and program
JP2002354009A (en) Network node device, as well as packet processing method and program
JP4418409B2 (en) PREMIUM PACKET IDENTIFICATION DEVICE, TERMINAL DEVICE, PREMIER PACKET IDENTIFICATION SYSTEM, AND PREMIER PACKET IDENTIFICATION METHOD
JP2006352567A (en) Service provision device and communication control program
JP2020198653A (en) Control device, control method, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090521

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: 20090818

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090820

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees