JP2009159154A - Network address and port translator - Google Patents

Network address and port translator Download PDF

Info

Publication number
JP2009159154A
JP2009159154A JP2007333226A JP2007333226A JP2009159154A JP 2009159154 A JP2009159154 A JP 2009159154A JP 2007333226 A JP2007333226 A JP 2007333226A JP 2007333226 A JP2007333226 A JP 2007333226A JP 2009159154 A JP2009159154 A JP 2009159154A
Authority
JP
Japan
Prior art keywords
data
communication
communication control
circuit
database
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.)
Pending
Application number
JP2007333226A
Other languages
Japanese (ja)
Inventor
Mitsugi Nagoya
貢 名古屋
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.)
Duaxes Corp
Original Assignee
Duaxes Corp
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 Duaxes Corp filed Critical Duaxes Corp
Priority to JP2007333226A priority Critical patent/JP2009159154A/en
Publication of JP2009159154A publication Critical patent/JP2009159154A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology for appropriately translating a network address and a port number of a communication device. <P>SOLUTION: A communication control device 10 includes: a first database 50 for associating and storing thereon first IP addresses, second IP addresses and port numbers assigned to communication devices together with a user ID of a user; a user database 57 for associating and storing thereon the user ID and an IP address of a terminal of the user; a user database update section 460 which acquires from a connection management server 120 the user ID of the terminal and the IP address imparted to the terminal and registers then on the user database 57; a user identification section for acquiring the user ID by retrieving from the user database 57 an IP address of a transmission source or of a transmission destination of acquired communication data; a retrieval circuit 30 which performs retrieval while referring to a record of the acquired user ID on the first database 50; and a processing execution circuit 40 for translating the IP address and a port number of the transmission source or of the transmission destination of the communication data. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、通信制御技術に関し、特に、通信装置のネットワークアドレス及びポート番号を変換するネットワークアドレスポート変換装置に関する。   The present invention relates to a communication control technique, and more particularly to a network address port conversion device that converts a network address and a port number of a communication device.

インターネットのインフラが整備され、携帯電話端末、パーソナルコンピュータ、VoIP(Voice over Internet Protocol)電話端末などの通信端末が広く普及した現在、インターネットの利用者は爆発的に増加している。このような状況下、コンピュータウイルス、ハッキング、スパムメールなど、セキュリティに関する問題が顕在化しており、通信を適切に制御する技術が求められている。
国際公開WO2006−087832号パンフレット
With the development of the Internet infrastructure and the widespread use of communication terminals such as mobile phone terminals, personal computers, and VoIP (Voice over Internet Protocol) telephone terminals, the number of Internet users is increasing explosively. Under such circumstances, security problems such as computer viruses, hacking, and spam mails are becoming obvious, and a technique for appropriately controlling communication is required.
International Publication WO2006-087832 Pamphlet

IPアドレスの枯渇により、グローバルIPアドレスとプライベートIPアドレスが使い分けられるようになっており、プライベートIPアドレスが割り当てられた装置がインターネットを介して通信を行う際には、プライベートIPアドレスをグローバルIPアドレスに変換する必要がある。また、IPv4からIPv6への移行期には、両者のIPアドレスが混在するため、両者の間でIPアドレスを変換する必要がある。このようなネットワークアドレスの変換を高速に行う技術が求められる。   Due to the depletion of IP addresses, global IP addresses and private IP addresses can be used properly. When a device to which a private IP address is assigned communicates via the Internet, the private IP address is changed to the global IP address. Need to convert. Also, since both IP addresses coexist during the transition period from IPv4 to IPv6, it is necessary to convert the IP addresses between them. A technique for performing such network address conversion at high speed is required.

本発明はこうした状況に鑑みてなされたものであり、その目的は、通信装置のネットワークアドレス及びポート番号を適切に変換する技術の提供にある。   The present invention has been made in view of such circumstances, and an object thereof is to provide a technique for appropriately converting a network address and a port number of a communication apparatus.

本発明のある態様は、ネットワークアドレスポート変換装置に関する。このネットワークアドレスポート変換装置は、ユーザのユーザIDと、第1のネットワークにおける通信のために通信装置に割り当てられた第1のIPアドレスと、第2のネットワークにおける通信のために前記通信装置に割り当てられた第2のIPアドレス及びポート番号とを対応づけて記憶するデータベースと、ユーザIDと、ユーザの端末に割り当てられているIPアドレスとを対応づけて記憶するユーザデータベースと、インターネットに接続する端末にIPアドレスを動的に付与するサーバから、前記端末のユーザIDと、前記端末に付与したIPアドレスとを取得し、それらを対応づけて前記ユーザデータベースに登録するユーザデータベース更新部と、通信データを取得したときに、前記通信データの送信元又は送信先のIPアドレスを前記ユーザデータベースから検索して、該当するIPアドレスに対応するユーザIDを取得するユーザ識別部と、前記データベースのうち、前記ユーザ識別部が取得したユーザIDに該当するレコードを参照して、取得した通信データの送信元又は送信先のIPアドレスを前記データベースから検索する検索部と、前記第1のネットワークから前記第2のネットワークへ送信された通信データの送信元のIPアドレスが前記通信装置の第1のIPアドレスであった場合、前記送信元のIPアドレスをその通信装置に割り当てられた第2のIPアドレスに変換するとともに、ポート番号にその通信装置に割り当てられたポート番号を格納し、前記第2のネットワークから前記第1のネットワークへ送信された通信データの送信先のIPアドレスが前記通信装置の第2のIPアドレスであった場合、更にポート番号を参照して通信装置を特定し、前記送信先のIPアドレスをその通信装置に割り当てられた第1のIPアドレスに変換する処理実行回路と、を備えることを特徴とする。   One embodiment of the present invention relates to a network address port translation apparatus. The network address port conversion device assigns a user ID of a user, a first IP address assigned to the communication device for communication in the first network, and the communication device for communication in the second network. A database for storing the second IP address and the port number associated with each other, a user database for storing the user ID and the IP address assigned to the user terminal, and a terminal connected to the Internet A user database update unit that obtains a user ID of the terminal and an IP address assigned to the terminal from a server that dynamically assigns an IP address to the terminal and associates them with each other and registers them in the user database; IP address of the transmission source or destination of the communication data A user identification unit that retrieves a dress from the user database and obtains a user ID corresponding to the corresponding IP address, and refers to a record corresponding to the user ID acquired by the user identification unit in the database, A search unit that searches the database for a source or destination IP address of the acquired communication data, and an IP address of a source of communication data transmitted from the first network to the second network is the communication device. The IP address of the transmission source is converted into a second IP address assigned to the communication device, and the port number assigned to the communication device is stored in the port number. , I of the transmission destination of communication data transmitted from the second network to the first network If the address is the second IP address of the communication device, the communication device is further identified with reference to the port number, and the destination IP address is converted to the first IP address assigned to the communication device And a process execution circuit.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

本発明によれば、通信装置のネットワークアドレス及びポート番号を適切に変換する技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which converts the network address and port number of a communication apparatus appropriately can be provided.

(前提技術)
図1は、前提技術に係る通信制御システムの構成を示す。通信制御システム100は、通信制御装置10と、通信制御装置10の動作を支援するために設けられた各種の周辺装置を含む。前提技術の通信制御装置10は、インターネットサービスプロバイダなどにより提供されるパケットフィルタリング機能を実現する。ネットワークの経路に設けられた通信制御装置10は、ネットワークを介して送受信されるパケットを取得して、その内容を解析し、通信の許否を判断する。通信が許可される場合は、通信制御装置10は、そのパケットをネットワークへ送出する。通信が禁止される場合は、通信制御装置10は、そのパケットを破棄し、必要であれば送信元に対して警告メッセージなどを返信する。
(Prerequisite technology)
FIG. 1 shows a configuration of a communication control system according to the base technology. The communication control system 100 includes a communication control device 10 and various peripheral devices provided to support the operation of the communication control device 10. The communication control apparatus 10 of the base technology realizes a packet filtering function provided by an Internet service provider or the like. The communication control device 10 provided in the network path acquires a packet transmitted / received via the network, analyzes the content, and determines whether communication is permitted. When communication is permitted, the communication control apparatus 10 sends the packet to the network. When communication is prohibited, the communication control apparatus 10 discards the packet and returns a warning message or the like to the transmission source if necessary.

前提技術の通信制御システム100では、複数の通信制御装置10a、10b、10c、・・・、が設けられており、それらを協働させて、1台の通信制御装置10として機能させているが、以下、個々の通信制御装置10a、10b、10c、・・・も、それらの総称も区別せずに通信制御装置10と呼ぶ。   In the communication control system 100 of the base technology, a plurality of communication control devices 10 a, 10 b, 10 c,... Hereinafter, the individual communication control devices 10a, 10b, 10c,... Are also referred to as the communication control device 10 without being distinguished from each other.

本前提技術の通信制御システム100では、それぞれの通信制御装置10は、パケットの処理に必要なデータベースの少なくとも一部を分割して保持しているが、分割して保持するのに必要な台数よりも少なくとも1台以上余分に設けられる。例えば、データ数が30万件以上40万件未満である場合、運用に必要な通信制御装置の台数は4台であるが、いずれかの通信制御装置10が故障したときに代わって運用させるための待機用として、また、通信制御装置10に含まれるデータベースを更新するときの待機用として、1台以上の通信制御装置10を設け、合計で最低5台の通信制御装置10を設ける。従来は、フォールトトレラントのために、システム全体を二重化させる必要があったが、本前提技術の技術によれば、分割された単位の通信制御装置10を余分に設けておけばよいので、コストを低減することができる。これら複数の通信制御装置10a、10b、10c、・・・、の運用状況は、運用監視サーバ110により管理される。本前提技術の運用監視サーバ110は、通信制御装置の運用状況を管理するための管理テーブルを有する。   In the communication control system 100 of the base technology, each communication control device 10 divides and holds at least a part of a database necessary for packet processing. Also, at least one extra is provided. For example, when the number of data is 300,000 or more and less than 400,000, the number of communication control devices necessary for operation is four, but in order to operate instead of one of the communication control devices 10 One or more communication control devices 10 are provided, and at least five communication control devices 10 in total are provided for standby for updating the database included in the communication control device 10. Conventionally, it has been necessary to double the entire system for fault tolerance, but according to the technology of the present prerequisite technology, it is only necessary to provide an additional communication control device 10 in divided units. Can be reduced. The operation status of the plurality of communication control apparatuses 10a, 10b, 10c,... Is managed by the operation monitoring server 110. The operation monitoring server 110 of the base technology has a management table for managing the operation status of the communication control device.

周辺装置は、運用監視サーバ110、接続管理サーバ120、メッセージ出力サーバ130、ログ管理サーバ140、及びデータベースサーバ150を含む。接続管理サーバ120は、通信制御装置10に対する接続を管理する。接続管理サーバ120は、例えば、携帯電話端末から送出されたパケットを通信制御装置10で処理する際に、パケットに含まれる携帯電話端末を一意に識別する情報を用いて、通信制御システム100のサービスを享受可能なユーザであることを認証する。いったん認証されると、その携帯電話端末に一時的に付されたIPアドレスから送出されたパケットは、一定の期間は接続管理サーバ120で認証せずに通信制御装置10へ送られて処理される。メッセージ出力サーバ130は、通信制御装置10により判定された通信の許否の結果に応じて、パケットの送信先又は送信元に対するメッセージを出力する。ログ管理サーバ140は、通信制御装置10の運用履歴を管理する。データベースサーバ150は、外部から最新のデータベースを取得し、通信制御装置10に入力する。通信制御装置10の運用を止めずにデータベースを更新するために、通信制御装置10はバックアップ用のデータベースを有してもよい。運用監視サーバ110は、通信制御装置10と、接続管理サーバ120、メッセージ出力サーバ130、ログ管理サーバ140、データベースサーバ150などの周辺装置の運用状況を監視する。運用監視サーバ110は、通信制御システム100の中で最も優先度が高く、通信制御装置10及び全ての周辺装置の監視制御を行う。通信制御装置10は、後述するように、専用のハードウェア回路により構成されるが、運用監視サーバ110は、本出願人による特許第3041340号などの技術を利用して、バウンダリスキャン回路を利用して監視のためのデータを通信制御装置10などとの間で入出力することにより、通信制御装置10の運用中にも運用状況を監視することができる。   The peripheral devices include an operation monitoring server 110, a connection management server 120, a message output server 130, a log management server 140, and a database server 150. The connection management server 120 manages the connection to the communication control device 10. For example, when the communication control apparatus 10 processes a packet sent from a mobile phone terminal, the connection management server 120 uses the information that uniquely identifies the mobile phone terminal included in the packet to provide a service of the communication control system 100. It authenticates that it is a user who can enjoy. Once authenticated, a packet sent from the IP address temporarily attached to the mobile phone terminal is sent to the communication control device 10 without being authenticated by the connection management server 120 for a certain period of time and processed. . The message output server 130 outputs a message to the transmission destination or transmission source of the packet according to the result of the communication permission / rejection determined by the communication control device 10. The log management server 140 manages the operation history of the communication control apparatus 10. The database server 150 acquires the latest database from the outside and inputs it to the communication control apparatus 10. In order to update the database without stopping the operation of the communication control apparatus 10, the communication control apparatus 10 may have a backup database. The operation monitoring server 110 monitors the operation status of peripheral devices such as the communication control device 10, the connection management server 120, the message output server 130, the log management server 140, and the database server 150. The operation monitoring server 110 has the highest priority in the communication control system 100 and performs monitoring control of the communication control device 10 and all peripheral devices. As will be described later, the communication control device 10 is configured by a dedicated hardware circuit. However, the operation monitoring server 110 uses a boundary scan circuit by using a technique such as Japanese Patent No. 3041340 by the present applicant. By inputting / outputting monitoring data to / from the communication control device 10 or the like, the operation status can be monitored even during operation of the communication control device 10.

前提技術の通信制御システム100は、以下に説明するように、高速化のために専用のハードウェア回路により構成された通信制御装置10を、周辺に接続された各種の機能を有するサーバ群により制御する構成とすることにより、サーバ群のソフトウェアを適当に入れ替えることで、同様の構成により各種の機能を実現することができる。前提技術によれば、このような柔軟性の高い通信制御システムを提供することができる。   As will be described below, the communication control system 100 of the base technology controls the communication control device 10 configured by a dedicated hardware circuit for speeding up by a server group having various functions connected to the periphery. With this configuration, various functions can be realized with the same configuration by appropriately replacing the software of the server group. According to the base technology, such a highly flexible communication control system can be provided.

図2は、従来の通信制御装置1の構成を示す。従来の通信制御装置1は、受信側の通信制御部2と、パケット処理部3と、送出側の通信制御部4とを備える。通信制御部2及び4は、それぞれ、パケットの物理層の処理を行うPHY処理部5a及び5bと、パケットのMAC層の処理を行うMAC処理部6a及び6bとを備える。パケット処理部3は、IP(Internet Protocol)のプロトコル処理を行うIP処理部7、TCP(Transport Control Protocol)のプロトコル処理を行うTCP処理部8など、プロトコルに応じた処理を行うプロトコル処理部と、アプリケーション層の処理を行うAP処理部9とを備える。AP処理部9は、パケットに含まれるデータに応じて、フィルタリングなどの処理を実行する。   FIG. 2 shows a configuration of a conventional communication control device 1. The conventional communication control device 1 includes a communication control unit 2 on the reception side, a packet processing unit 3, and a communication control unit 4 on the transmission side. The communication control units 2 and 4 include PHY processing units 5a and 5b that perform processing on the physical layer of the packet, and MAC processing units 6a and 6b that perform processing on the MAC layer of the packet, respectively. The packet processing unit 3 includes a protocol processing unit that performs processing according to a protocol, such as an IP processing unit 7 that performs IP (Internet Protocol) protocol processing and a TCP processing unit 8 that performs TCP (Transport Control Protocol) protocol processing. And an AP processing unit 9 that performs application layer processing. The AP processing unit 9 performs processing such as filtering according to the data included in the packet.

従来の通信制御装置1では、パケット処理部3は、汎用プロセッサであるCPUと、CPU上で動作するOSとを利用して、ソフトウェアにより実現されていた。しかしながら、このような構成では、通信制御装置1の性能はCPUの性能に依存することになり、高速に大容量のパケットを処理可能な通信制御装置を実現しようとしても、自ずと限界がある。例えば、64ビットのCPUであれば、一度に同時に処理可能なデータ量は最大で64ビットであり、それ以上の性能を有する通信制御装置は存在しなかった。また、汎用的な機能を有するOSの存在を前提としていたので、セキュリティホールなどが存在する可能性が絶無ではなく、OSのバージョンアップなどのメンテナンス作業を必要としていた。   In the conventional communication control apparatus 1, the packet processing unit 3 is realized by software using a CPU that is a general-purpose processor and an OS that runs on the CPU. However, in such a configuration, the performance of the communication control apparatus 1 depends on the performance of the CPU, and there is a limit to the implementation of a communication control apparatus that can process a large-capacity packet at high speed. For example, in the case of a 64-bit CPU, the maximum amount of data that can be processed simultaneously at a time is 64 bits, and there has been no communication control device having higher performance. Further, since it is assumed that there is an OS having a general-purpose function, there is no possibility that a security hole exists, and maintenance work such as OS version upgrade is required.

図3は、前提技術に係る通信制御装置の構成を示す。本前提技術の通信制御装置10は、従来の通信制御装置においてはCPU及びOSを含むソフトウェアにより実現されていたパケット処理部に代えて、ワイヤードロジック回路による専用のハードウェアにより構成されたパケット処理回路20を備える。汎用処理回路であるCPUにおいて動作するOSとソフトウェアにより通信データを処理するのではなく、通信データを処理するための専用のハードウェア回路を設けることにより、CPUやOSなどに起因する性能の限界を克服し、処理能力の高い通信制御装置を実現することが可能となる。   FIG. 3 shows a configuration of a communication control apparatus according to the base technology. The communication control apparatus 10 of the base technology is a packet processing circuit configured by dedicated hardware using a wired logic circuit in place of the packet processing unit realized by software including a CPU and an OS in the conventional communication control apparatus. 20. Rather than processing communication data with an OS and software that run on a CPU that is a general-purpose processing circuit, a dedicated hardware circuit for processing communication data is provided, thereby limiting the performance limit caused by the CPU, OS, etc. It is possible to overcome and realize a communication control device with high processing capability.

例えば、パケットフィルタリングなどを実行するために、パケットに含まれるデータに、フィルタリングの判断基準となる基準データが含まれるか否かを検索する場合に、CPUを用いて通信データと基準データを比較すると、一度に高々64ビットしか比較することができず、処理速度を向上させようとしてもCPUの性能で頭打ちになるという問題があった。CPUでは、通信データから64ビットをメモリへ読み上げ、基準データとの比較を行い、つづいて、次の64ビットをメモリへ読み上げる、という処理を何度も繰り返し行う必要があるので、メモリへの読み上げ時間が律速となり、処理速度に限界がある。   For example, when searching for whether or not the data included in the packet includes reference data that is a criterion for filtering in order to perform packet filtering or the like, the communication data and the reference data are compared using the CPU. However, only 64 bits can be compared at a time, and even if it is attempted to improve the processing speed, there is a problem that the performance of the CPU reaches a peak. In the CPU, it is necessary to repeat the process of reading 64 bits from the communication data into the memory, comparing with the reference data, and then reading the next 64 bits into the memory. Time is rate limiting and processing speed is limited.

それに対し、本前提技術では、通信データと基準データとを比較するために、ワイヤードロジック回路により構成された専用のハードウェア回路を設ける。この回路は、64ビットよりも長いデータ長、例えば、1024ビットのデータ長の比較を可能とするために、並列に設けられた複数の比較器を含む。このように、専用のハードウェアを設けることにより、同時に並列して多数のビットマッチングを実行することができる。従来のCPUを用いた通信制御装置1では一度に64ビットしか処理できなかったところを、一度に1024ビットの処理を可能にすることで、飛躍的に処理速度を向上させることができる。比較器の数を多くすれば処理能力も向上するが、コストやサイズも増大するので、所望の処理性能と、コスト、サイズ、などを考慮して、最適なハードウェア回路を設計すればよい。   On the other hand, in the base technology, in order to compare communication data with reference data, a dedicated hardware circuit configured by a wired logic circuit is provided. This circuit includes a plurality of comparators provided in parallel to enable comparison of data lengths longer than 64 bits, for example, a data length of 1024 bits. In this way, by providing dedicated hardware, a large number of bit matching operations can be executed in parallel at the same time. The communication control apparatus 1 using a conventional CPU can process 1024 bits at a time, which can process only 64 bits at a time, and can dramatically improve the processing speed. If the number of comparators is increased, the processing capability is improved, but the cost and size also increase. Therefore, an optimum hardware circuit may be designed in consideration of desired processing performance, cost, size, and the like.

また、本前提技術の通信制御装置10は、ワイヤードロジック回路による専用のハードウェアにより構成されるので、OS(Operating System)を必要としない。このため、OSのインストール、バグ対応、バージョンアップなどの作業が必要なく、管理やメンテナンスのためのコストや工数を低減させることができる。また、汎用的な機能が求められるCPUとは異なり、不必要な機能を包含していないので、余計なリソースを用いることがなく、低コスト化、回路面積の低減、処理速度の向上などが望める。さらに、OSを利用していた従来の通信制御装置とは異なり、余分な機能を有しないので、セキュリティホールなどが発生する可能性が低く、ネットワークを介した悪意ある第三者からの攻撃に対する耐性に優れている。   Further, the communication control apparatus 10 of the base technology is configured by dedicated hardware using a wired logic circuit, and therefore does not require an OS (Operating System). This eliminates the need for OS installation, bug handling, version upgrade, and the like, and can reduce costs and man-hours for management and maintenance. Unlike CPUs that require general-purpose functions, unnecessary functions are not included, so unnecessary resources are not used, and cost reduction, circuit area reduction, and processing speed improvement can be expected. . Furthermore, unlike conventional communication control devices that use an OS, it does not have an extra function, so it is unlikely that security holes will occur, and is resistant to attacks from malicious third parties via the network. Is excellent.

従来の通信制御装置1は、CPUとOSを前提としたソフトウェアによりパケットを処理しており、パケットの全てのデータを受信してからプロトコル処理を行い、データがアプリケーションに渡される。それに対して、本前提技術の通信制御装置10では、専用のハードウェア回路により処理を行うので、パケットの全てのデータを受信してから処理を開始する必要はなく、処理に必要なデータを受信すれば、後続のデータの受信を待たずに、任意の時点で処理を開始することができる。例えば、後述する位置検出回路における位置検出処理は、比較対象データの位置を特定するための位置特定データを受信した時点で開始することができる。このように、全てのデータの受信を待たずに様々な処理をフローティングで実行することができるので、パケットのデータを処理するのに要する時間を短縮することができる。   The conventional communication control apparatus 1 processes a packet by software premised on the CPU and the OS, receives all data of the packet, performs protocol processing, and passes the data to the application. On the other hand, in the communication control apparatus 10 of the base technology, since processing is performed by a dedicated hardware circuit, it is not necessary to start processing after receiving all the data of the packet, and receive data necessary for processing. Then, the process can be started at an arbitrary time without waiting for the reception of subsequent data. For example, position detection processing in a position detection circuit described later can be started when position specifying data for specifying the position of comparison target data is received. As described above, since various processes can be executed in a floating manner without waiting for reception of all data, the time required to process packet data can be shortened.

図4は、パケット処理回路の内部構成を示す。パケット処理回路20は、通信データに対して実行する処理の内容を決定するための基準となる基準データを記憶する第1データベース50A、50B、及び50C(これらを総称して「第1データベース50」という)と、受信された通信データの中に基準データが含まれているか否かを、通信データと基準データとを比較することにより検索する検索回路30と、検索回路30による検索結果と通信データに対して実行する処理の内容とを対応づけて記憶する第2データベース60と、検索回路30による検索結果と第2データベース60に記憶された条件とに基づいて通信データを処理する処理実行回路40とを含む。   FIG. 4 shows the internal configuration of the packet processing circuit. The packet processing circuit 20 includes first databases 50A, 50B, and 50C that store reference data serving as a reference for determining the contents of processing to be performed on communication data (collectively, “first database 50”). And a search circuit 30 that searches whether the received communication data includes reference data by comparing the communication data with the reference data, and the search result by the search circuit 30 and the communication data. The second database 60 that stores the contents of the processing to be executed in association with each other, the processing execution circuit 40 that processes the communication data based on the search result by the search circuit 30 and the conditions stored in the second database 60. Including.

検索回路30は、通信データの中から基準データと比較すべき比較対象データの位置を検出する位置検出回路32と、第1データベース50に記憶された基準データを3以上の範囲に分割したとき、比較対象データがそれらの範囲のうちいずれに属するかを判定する判定回路の一例であるインデックス回路34と、判定された範囲の中で比較対象データと合致する基準データを検索するバイナリサーチ回路36とを含む。比較対象データを基準データの中から検索する方法としては、任意の検索技術を利用可能であるが、本前提技術ではバイナリサーチ法を用いる。本前提技術では、後述するように、改良されたバイナリサーチ法を用いるので、そのために第1データベース50を3つ設けている。第1データベース50A、50B、及び50Cには、同じ基準データが格納されている。   When the search circuit 30 divides the reference data stored in the first database 50 into three or more ranges, the position detection circuit 32 detects the position of the comparison target data to be compared with the reference data from the communication data. An index circuit 34 that is an example of a determination circuit that determines which of the ranges the comparison target data belongs to; a binary search circuit 36 that searches for reference data that matches the comparison target data in the determined range; including. Although any search technique can be used as a method for searching the comparison target data from the reference data, the binary search method is used in the base technology. As will be described later, since this base technology uses an improved binary search method, three first databases 50 are provided for this purpose. The same reference data is stored in the first databases 50A, 50B, and 50C.

図5は、位置検出回路の内部構成を示す。位置検出回路32は、比較対象データの位置を特定するための位置特定データと通信データとを比較するための複数の比較回路33a〜33fを含む。ここでは、6個の比較回路33a〜33fが設けられているが、後述するように、比較回路の個数は任意でよい。それぞれの比較回路33a〜33fには、通信データが、所定のデータ長、例えば、1バイトずつずらして入力される。そして、これら複数の比較回路33a〜33fにおいて、同時に並列して、検出すべき位置特定データと通信データとの比較がなされる。   FIG. 5 shows the internal configuration of the position detection circuit. The position detection circuit 32 includes a plurality of comparison circuits 33a to 33f for comparing the position specifying data for specifying the position of the comparison target data with the communication data. Here, six comparison circuits 33a to 33f are provided, but the number of comparison circuits may be arbitrary as will be described later. Communication data is input to each of the comparison circuits 33a to 33f with a predetermined data length, for example, shifted by 1 byte. In the plurality of comparison circuits 33a to 33f, the position specifying data to be detected and the communication data are compared in parallel at the same time.

本前提技術においては、通信制御装置10の動作を説明するための例として、通信データ中に含まれる「No. ###」という文字列を検出し、その文字列中に含まれる数字「###」を基準データと比較して、基準データに合致した場合はパケットの通過を許可し、合致しなかった場合はパケットを破棄する処理を行う場合について説明する。   In the base technology, as an example for explaining the operation of the communication control apparatus 10, the character string “No. ##” included in the communication data is detected, and the number “#” included in the character string is detected. ## ”is compared with the reference data, and a case will be described in which a packet is allowed to pass if it matches the reference data and a packet is discarded if it does not match.

図5の例では、通信データの中から、数字「###」の位置を特定するための位置特定データ「No.」を検出するために、通信データ「01No. 361・・・」を、1文字ずつずらして比較回路33a〜33fに入力している。すなわち、比較回路33aには「01N」が、比較回路33bには「1No」が、比較回路33cには「No.」が、比較回路33dには「o. 」が、比較回路33eには「. 3」が、比較回路33fには「 36」が、それぞれ入力される。ここで、比較回路33a〜33fが同時に位置特定データ「No.」との比較を実行する。これにより、比較回路33cがマッチし、通信データの先頭から3文字目に「No.」という文字列が存在することが検出される。こうして、位置検出回路32により検出された位置特定データ「No.」の次に、比較対象データである数字のデータが存在することが検出される。   In the example of FIG. 5, in order to detect the position specifying data “No.” for specifying the position of the number “####” from the communication data, the communication data “01No. 361. Each character is shifted and input to the comparison circuits 33a to 33f. That is, the comparison circuit 33a has "01N", the comparison circuit 33b has "1No", the comparison circuit 33c has "No.", the comparison circuit 33d has "o." . 3 ”and“ 36 ”are input to the comparison circuit 33f. Here, the comparison circuits 33a to 33f simultaneously perform comparison with the position specifying data “No.”. Thereby, the comparison circuit 33c matches, and it is detected that the character string “No.” exists as the third character from the head of the communication data. In this way, it is detected that numerical data as comparison target data exists after the position specifying data “No.” detected by the position detection circuit 32.

CPUにより同様の処理を行うならば、まず、文字列「01N」を「No.」と比較し、続いて、文字列「1No」を「No.」と比較する、というように、先頭から順に1つずつ比較処理を実行する必要があるため、検出速度の向上は望めない。これに対し、本前提技術の通信制御装置10では、複数の比較回路33a〜33fを並列に設けることにより、CPUではなしえなかった同時並列的な比較処理が可能となり、処理速度を格段に向上させることができる。比較回路は多ければ多いほど同時に比較可能な位置が多くなるので、検出速度も向上するが、コスト、サイズ、などを考慮の上、所望の検出速度を得られるのに十分な数の比較回路を設ければよい。   If similar processing is performed by the CPU, first, the character string “01N” is compared with “No.”, and then the character string “1No” is compared with “No.”. Since it is necessary to execute the comparison process one by one, the detection speed cannot be improved. On the other hand, in the communication control apparatus 10 of the base technology, by providing a plurality of comparison circuits 33a to 33f in parallel, it becomes possible to perform parallel and parallel comparison processing that cannot be performed by the CPU, and the processing speed is greatly improved. Can be made. As the number of comparison circuits increases, the number of positions that can be compared simultaneously increases, so the detection speed also improves.However, considering the cost, size, etc., a sufficient number of comparison circuits are required to obtain the desired detection speed. What is necessary is just to provide.

位置検出回路32は、位置特定データを検出するためだけでなく、汎用的に文字列を検出する回路として利用されてもよい。また、文字列だけでなく、ビット単位で位置特定データを検出するように構成されてもよい。   The position detection circuit 32 may be used not only for detecting position specifying data but also for detecting a character string for general use. Further, not only the character string but also the position specifying data may be detected in bit units.

図6は、位置検出回路の別の例を示す。図6に示した例では、位置検出回路32に設けられたそれぞれの比較回路33a〜33fのデータ長よりも位置特定データの方が短い場合は、位置特定データの後に所定のデータ、例えば、「00H」又は「01H」などをパディングする。また、位置特定データと比較する通信データについても、位置特定データと同じデータ長のみを抜き出して、その後に、位置特定データにパディングしたデータと同じデータをパディングする。このとき、通信データ自身を改変しないために、通信データをワークとしてコピーし、コピーしたデータを加工して比較回路33a〜33fに入力してもよい。これにより、位置特定データのデータ長によらず、位置検出回路32を汎用的に用いることができる。   FIG. 6 shows another example of the position detection circuit. In the example illustrated in FIG. 6, when the position specifying data is shorter than the data length of each of the comparison circuits 33 a to 33 f provided in the position detecting circuit 32, predetermined data such as “ "00H" or "01H" is padded. For communication data to be compared with the position specifying data, only the same data length as the position specifying data is extracted, and then the same data as the data padded in the position specifying data is padded. At this time, in order not to modify the communication data itself, the communication data may be copied as a work, and the copied data may be processed and input to the comparison circuits 33a to 33f. Thereby, the position detection circuit 32 can be used for general purposes regardless of the data length of the position specifying data.

図7は、位置検出回路の更に別の例を示す。図7に示した例では、図6に示した例と同様に、位置特定データの後に所定のデータをパディングするが、このデータをワイルドカードとして扱う。すなわち、比較回路33a〜33fは、ワイルドカードであるデータが入力されると、比較対象のデータが何であっても無条件に合致したと判定する。これにより、位置特定データのデータ長によらず、位置検出回路32を汎用的に用いることができる。   FIG. 7 shows still another example of the position detection circuit. In the example shown in FIG. 7, as in the example shown in FIG. 6, predetermined data is padded after the position specifying data, but this data is treated as a wild card. In other words, when data that is a wild card is input, the comparison circuits 33a to 33f determine that the data to be compared matches unconditionally. Thereby, the position detection circuit 32 can be used for general purposes regardless of the data length of the position specifying data.

図8は、第1データベースの内部データの例を示す。第1データベース50には、パケットのフィルタリング、ルーティング、スイッチング、置換などの処理の内容を決定するための基準となる基準データが、何らかのソート条件にしたがって昇順又は降順にソートされて格納されている。図8の例では、1000個の基準データが記憶されている。   FIG. 8 shows an example of internal data of the first database. The first database 50 stores reference data serving as a reference for determining processing contents such as packet filtering, routing, switching, and replacement, sorted in ascending or descending order according to some sort condition. In the example of FIG. 8, 1000 pieces of reference data are stored.

インデックス回路34は、第1データベース50に格納されている基準データを3以上の範囲52a〜52dに分割したとき、比較対象データがそれらの範囲のうちいずれに属するかを判定する。図8の例では、1000個の基準データは、250個ずつ4つの範囲52a〜52dに分割されている。インデックス回路34は、範囲の境界の基準データと比較対象データとを比較する複数の比較回路35a〜35cを含む。比較回路35a〜35cにより比較対象データと境界の基準データとを同時に並列して比較することにより、比較対象データがいずれの範囲に属するかを1度の比較処理で判定することができる。   When the reference data stored in the first database 50 is divided into three or more ranges 52a to 52d, the index circuit 34 determines to which of the ranges the comparison target data belongs. In the example of FIG. 8, 1000 pieces of reference data are divided into four ranges 52 a to 52 d, each having 250 pieces. The index circuit 34 includes a plurality of comparison circuits 35a to 35c that compare the reference data at the boundary of the range with the comparison target data. By comparing the comparison target data with the boundary reference data simultaneously in parallel by the comparison circuits 35a to 35c, it is possible to determine in which range the comparison target data belongs by one comparison process.

インデックス回路34の比較回路35a〜35cに入力される境界の基準データは、通信制御装置10の外部に設けられた装置により設定されてもよいし、予め第1データベース50の所定位置の基準データが自動的に入力されるようにしてもよい。後者の場合、第1データベース50を更新しても、自動的に第1データベース50の所定位置の基準データが比較回路35a〜35cに入力されるので、初期設定などを必要とせず、直ちに通信制御処理を実行させることができる。   The boundary reference data input to the comparison circuits 35 a to 35 c of the index circuit 34 may be set by a device provided outside the communication control device 10, or the reference data at a predetermined position in the first database 50 is previously stored. You may make it input automatically. In the latter case, even if the first database 50 is updated, the reference data at a predetermined position in the first database 50 is automatically input to the comparison circuits 35a to 35c. Processing can be executed.

前述したように、CPUによりバイナリサーチを実行する場合は、同時に複数の比較を実行することができないが、本前提技術の通信制御装置10では、複数の比較回路35a〜35cを並列に設けることにより、同時並列的な比較処理を可能とし、検索速度を格段に向上させることができる。   As described above, when a binary search is executed by the CPU, a plurality of comparisons cannot be executed at the same time. However, in the communication control apparatus 10 of the present prerequisite technology, a plurality of comparison circuits 35a to 35c are provided in parallel. Thus, simultaneous parallel processing can be performed, and the search speed can be remarkably improved.

インデックス回路34により範囲が判定されると、バイナリサーチ回路36がバイナリサーチ法により検索を実行する。バイナリサーチ回路36は、インデックス回路34により判定された範囲をさらに2個に分割し、その境界位置にある基準データと比較対象データとを比較することにより、いずれの範囲に属するかを判定する。バイナリサーチ回路36は、基準データと比較対象データとをビット単位で比較する比較器を複数個、例えば本前提技術では1024個含んでおり、1024ビットのビットマッチングを同時に実行する。2分割された範囲のいずれに属するかが判定されると、さらに、その範囲を2分割して境界位置にある基準データを読み出し、比較対象データと比較する。以降、この処理を繰り返すことにより範囲をさらに限定し、最終的に比較対象データと合致する基準データを検索する。 When the range is determined by the index circuit 34, the binary search circuit 36 executes a search by the binary search method. The binary search circuit 36 further divides the range determined by the index circuit 34 into 2 n pieces, and compares the reference data at the boundary position with the comparison target data to determine which range the data belongs to. . The binary search circuit 36 includes a plurality of comparators for comparing the reference data and the comparison target data in bit units, for example, 1024 in the base technology, and simultaneously executes 1024-bit bit matching. When it is determined which of the 2n- divided ranges it belongs, the range is further divided into 2n , the reference data at the boundary position is read, and compared with the comparison target data. Thereafter, this process is repeated to further limit the range, and finally, reference data that matches the comparison target data is searched.

前述した例を用いてさらに詳細に動作を説明する。インデックス回路34の比較回路35a〜35cには、比較対象データとして「361」が入力され、基準データとして、比較回路35aには、範囲52aと52bの境界にある基準データ「378」が、比較回路35bには、範囲52bと52cの境界にある基準データ「704」が、比較回路35cには、範囲52cと52dの境界にある基準データ「937」が、それぞれ入力される。比較回路35a〜35cにより同時に比較が行われ、比較対象データ「361」が範囲52aに属することが判定される。以降、バイナリサーチ回路36が基準データの中に比較対象データ「361」が存在するか否かを検索する。   The operation will be described in more detail using the example described above. “361” is input as comparison target data to the comparison circuits 35a to 35c of the index circuit 34, and reference data “378” at the boundary between the ranges 52a and 52b is input to the comparison circuit 35a as reference data. The reference data “704” at the boundary between the ranges 52b and 52c is input to 35b, and the reference data “937” at the boundary between the ranges 52c and 52d is input to the comparison circuit 35c. The comparison circuits 35a to 35c perform comparison at the same time, and it is determined that the comparison target data “361” belongs to the range 52a. Thereafter, the binary search circuit 36 searches whether or not the comparison target data “361” exists in the reference data.

図9は、第1データベースの内部データの別の例を示す。図9に示した例では、基準データのデータ数が、第1データベース50に保持可能なデータ数、ここでは1000個よりも少ない。このとき、第1データベース50には、最終データ位置から降順に基準データが格納される。そして、残りのデータには0が格納される。データベースのローディング方法として、先頭からデータを配置せずにローディングエリアの後方から配置し、ローディングエリア先頭に空きが生じた場合は全ての空きをゼロサプレスすることで、データーベースは常にフルの状態になり、バイナリー検索する場合の検索時間を一定にすることができる。また、バイナリサーチ回路36は、検索中に基準データとして「0」を読み込んだときには、比較結果が自明であるから、比較を行わずに範囲を特定して、次の比較にうつることができる。これにより、検索速度を向上させることができる。   FIG. 9 shows another example of internal data of the first database. In the example shown in FIG. 9, the number of reference data is less than the number of data that can be held in the first database 50, here 1000. At this time, the first database 50 stores the reference data in descending order from the last data position. Then, 0 is stored in the remaining data. As a database loading method, data is placed from the back of the loading area without placing data from the beginning, and if there is a space at the beginning of the loading area, all the space is zero-suppressed, so the database is always full. The search time for binary search can be made constant. Further, when “0” is read as the reference data during the search, the binary search circuit 36 can identify the range without performing the comparison and can proceed to the next comparison because the comparison result is self-explanatory. Thereby, the search speed can be improved.

CPUによるソフトウェア処理においては、第1データベース50に基準データを格納する際に、最初のデータ位置から昇順に基準データが格納される。残りのデータには、例えば最大値が格納されることになるが、この場合、バイナリサーチにおいて、上述したような比較処理の省略はできない。上述した比較技術は、専用のハードウェア回路により検索回路30を構成したことにより実現される。   In the software processing by the CPU, when the reference data is stored in the first database 50, the reference data is stored in ascending order from the first data position. For example, the maximum value is stored in the remaining data. In this case, the comparison process as described above cannot be omitted in the binary search. The comparison technique described above is realized by configuring the search circuit 30 with a dedicated hardware circuit.

図10は、第1データベースの内部データのさらに別の例を示す。図10に示した例では、基準データを均等に3以上の範囲に分割するのではなく、範囲52aは500個、範囲52bは100個というように、範囲に属する基準データの数が不均一になっている。これらの範囲は、通信データ中における基準データの出現頻度の分布に応じて設定されてもよい。すなわち、それぞれの範囲に属する基準データの出現頻度の和がほぼ同じになるように範囲が設定されてもよい。これにより、検索効率を向上させることができる。インデックス回路34の比較回路35a〜35cに入力される基準データは、外部から変更可能になっていてもよい。これにより、範囲を動的に設定することができ、検索効率を最適化することができる。   FIG. 10 shows still another example of internal data of the first database. In the example shown in FIG. 10, the reference data is not equally divided into three or more ranges, but the number of reference data belonging to the range is uneven, such as 500 for the range 52a and 100 for the range 52b. It has become. These ranges may be set according to the distribution of the appearance frequency of the reference data in the communication data. That is, the ranges may be set so that the sum of the appearance frequencies of the reference data belonging to each range is substantially the same. Thereby, search efficiency can be improved. The reference data input to the comparison circuits 35a to 35c of the index circuit 34 may be changeable from the outside. Thereby, a range can be set dynamically and search efficiency can be optimized.

図11は、インデックス回路の別の例を示す。図8〜10に示した例では、インデックス回路34は、3つの比較回路35a〜35cを用いて、比較対象データが第1データベース50の4つの範囲52a〜52dのいずれに属するかを判定したが、図11の例では、インデックス回路34には、比較対象データが、4つの範囲52a〜52dのそれぞれに含まれるか否かを判定するための4つの比較回路35d〜35gが設けられている。例えば、比較回路35dには、第1データベース50の0件目の基準データと、250件目の基準データと、比較対象データとが入力され、それぞれの基準データと比較対象データとを比較することにより、基準データが範囲52aに含まれるか否かを判定する。それぞれの比較回路35d〜35gの比較結果は判定回路35zに入力され、判定回路35zから、基準データがいずれの範囲に含まれているかが出力される。比較回路35d〜35gは、基準データが入力された2つの基準データの間に含まれるか否かを出力してもよいし、範囲よりも大きい、範囲に含まれる、範囲よりも小さい、のいずれかを出力してもよい。比較対象データが、範囲52a〜52dのいずれにも含まれないと判定された場合は、比較対象データが第1データベース50中に存在しないことが分かるので、以降のバイナリサーチを行うまでもなく、検索を終了することができる。   FIG. 11 shows another example of the index circuit. In the example shown in FIGS. 8 to 10, the index circuit 34 uses three comparison circuits 35 a to 35 c to determine which of the four ranges 52 a to 52 d of the first database 50 belongs to the comparison target data. In the example of FIG. 11, the index circuit 34 is provided with four comparison circuits 35d to 35g for determining whether or not the comparison target data is included in each of the four ranges 52a to 52d. For example, the comparison circuit 35d receives the 0th reference data, the 250th reference data, and the comparison target data in the first database 50, and compares each reference data with the comparison target data. Thus, it is determined whether or not the reference data is included in the range 52a. The comparison results of the respective comparison circuits 35d to 35g are input to the determination circuit 35z, and the determination circuit 35z outputs in which range the reference data is included. The comparison circuits 35d to 35g may output whether or not the reference data is included between the two input reference data, and may be any one of larger than the range, included in the range, and smaller than the range. May be output. If it is determined that the comparison target data is not included in any of the ranges 52a to 52d, it can be seen that the comparison target data does not exist in the first database 50. The search can be terminated.

図12は、バイナリサーチ回路に含まれる比較回路の構成を示す。前述したように、バイナリサーチ回路36に含まれる比較回路は、1024個の比較器36a、36b、・・・、を含む。それぞれの比較器36a、36b、・・・、には、基準データ54と比較対象データ56が1ビットずつ入力され、それらの大小が比較される。インデックス回路34の各比較回路35a〜35cの内部構成も同様である。このように、専用のハードウェア回路で比較処理を実行することにより、多数の比較回路を並列して動作させ、多数のビットを同時に比較することができるので、比較処理を高速化することができる。   FIG. 12 shows a configuration of a comparison circuit included in the binary search circuit. As described above, the comparison circuit included in the binary search circuit 36 includes 1024 comparators 36a, 36b,. Each of the comparators 36a, 36b,... Receives the reference data 54 and the comparison target data 56 one bit at a time, and compares them. The internal configurations of the comparison circuits 35a to 35c of the index circuit 34 are the same. In this way, by executing the comparison process with a dedicated hardware circuit, a large number of comparison circuits can be operated in parallel and a large number of bits can be compared simultaneously, so that the comparison process can be speeded up. .

図13は、バイナリサーチ回路の構成を示す。バイナリサーチ回路36は、図12に示した1024個の比較器36a、36b、・・・を含む比較回路36A、36B、及び36Cと、それらの比較回路を制御する制御回路36Zを含む。   FIG. 13 shows the configuration of the binary search circuit. The binary search circuit 36 includes comparison circuits 36A, 36B, and 36C including the 1024 comparators 36a, 36b,... Shown in FIG.

従来のバイナリサーチ法では、まず1回目は、データが昇順又は降順に整列されたデータベースの探索対象範囲の1/2の位置にあるデータを読み出して比較対象データと比較する。データが昇順に並べられている場合、比較対象データの方が小さければ、比較対象データは探索対象範囲の前半に存在するので、2回目は前半を探索対象範囲としてその1/2、すなわち最初の探索対象範囲の1/4の位置にあるデータを読み出して比較対象データと比較する。逆に、比較対象データの方が大きければ、比較対象データは探索対象範囲の後半に存在するので、2回目は後半を探索対象範囲としてその1/2、すなわち最初の探索対象範囲の3/4の位置にあるデータを読み出して比較対象データと比較する。このように、探索対象範囲を半分ずつ絞っていき、最終的に対象データに到達する。   In the conventional binary search method, first, data at a position half the search target range of a database in which data is arranged in ascending or descending order is read and compared with comparison target data. When the data is arranged in ascending order, if the comparison target data is smaller, the comparison target data exists in the first half of the search target range, so the second time uses the first half as the search target range, that is, the first Data at a position ¼ of the search target range is read and compared with the comparison target data. On the other hand, if the comparison target data is larger, the comparison target data exists in the latter half of the search target range. Therefore, in the second time, the second half is set as the search target range, that is, 3/4 of the first search target range. The data at the position is read out and compared with the comparison target data. In this way, the search target range is narrowed by half and finally reaches the target data.

本前提技術では、バイナリサーチのための比較回路を3つ設けているので、1回目の探索のために探索対象範囲の1/2の位置にあるデータと比較対象データとを比較させるときに、同時に並行して、2回目の探索のために探索対象範囲の1/4及び3/4の位置にあるデータと比較対象データとを比較させる。これにより、2回分の探索を一度に行うことができるので、データベースからデータを読み上げる時間を短縮することができる。また、3つの比較回路を同時に並列して動作させることにより、比較の回数を半分に抑え、探索に要する時間を短縮することができる。   In the base technology, since three comparison circuits for binary search are provided, when comparing the data in the half of the search target range with the comparison target data for the first search, At the same time, the comparison target data is compared with the data at the positions 1/4 and 3/4 of the search target range for the second search. Thereby, since the search for 2 times can be performed at once, the time which reads data from a database can be shortened. Also, by operating the three comparison circuits in parallel at the same time, the number of comparisons can be reduced to half and the time required for the search can be shortened.

図13の例では、2回分の探索を同時に行うために、3つの比較回路を設けたが、一般に、n回分の探索を同時に並行して行うためには、2−1個の比較回路を設ければよい。制御回路36Zは、探索対象範囲の1/2、2/2、・・・、(2−1)/2の位置のデータを、2−1個の比較回路のそれぞれに入力させ、それらを同時に並列して動作させて比較対象データと比較させる。制御回路36Zは、それぞれの比較回路の比較結果を取得して、比較対象データが探索されたか否かを判定する。制御回路36Zは、いずれかの比較回路が、データが一致した旨の信号を出力した場合、比較対象データが探索されたと判定して、バイナリサーチを終了する。一致した旨の信号が出力されなかった場合、次回の探索に移る。比較対象データがデータベースに存在するならば、2−1個の比較回路の比較結果が反転する範囲に存在するはずである。例えば、15個の比較回路が設けられているときに、5/16の位置のデータが比較対象データより小さく、6/16の位置のデータが比較対象データより大きければ、5/16から6/16の間の範囲に比較対象データがある。したがって、制御回路36Zは、各比較回路の比較結果を取得して、比較結果が反転した範囲を次回の探索対象範囲と決定し、決定された次回の探索対象範囲の1/2、2/2、・・・、(2−1)/2の位置のデータをそれぞれの比較回路へ入力させる。 In the example of FIG. 13, three comparison circuits are provided in order to perform two searches simultaneously. In general, in order to perform n searches in parallel at the same time, 2 n −1 comparison circuits are provided. What is necessary is just to provide. The control circuit 36Z inputs data at positions of 1/2 n , 2/2 n ,..., (2 n −1) / 2 n in the search target range to each of the 2 n −1 comparison circuits. They are operated in parallel at the same time and compared with the data to be compared. The control circuit 36Z acquires the comparison results of the respective comparison circuits and determines whether comparison target data has been searched. When any of the comparison circuits outputs a signal indicating that the data match, the control circuit 36Z determines that the comparison target data has been searched and ends the binary search. If no match signal is output, the next search is performed. If the data to be compared exists in the database, it should exist in a range where the comparison results of 2 n −1 comparison circuits are inverted. For example, when 15 comparison circuits are provided, if the data at the position of 5/16 is smaller than the data to be compared and the data at the position of 6/16 is larger than the data to be compared, 5/16 to 6 / The comparison target data is in the range between 16. Therefore, the control circuit 36Z acquires the comparison results of the respective comparison circuits, determines the range in which the comparison results are inverted as the next search target range, ½ n of the determined next search target range, 2 n ,..., (2 n −1) / 2 n position data is input to each comparison circuit.

本前提技術では、第1データベース50を3つ設けており、第1データベース50Aは比較回路36Aに接続されて探索対象範囲の1/4の位置にあるデータを比較回路36Aに供給し、第2データベース50Bは比較回路36Bに接続されて探索対象範囲の2/4の位置にあるデータを比較回路36Bに供給し、第1データベース50Cは比較回路36Cに接続されて探索対象範囲の3/4の位置にあるデータを比較回路36Cに供給する。これにより、それぞれの比較回路にデータを同時に並行して読み上げることができるので、データの読み上げに要する時間を更に短縮し、バイナリサーチを高速化することができる。   In the base technology, three first databases 50 are provided, and the first database 50A is connected to the comparison circuit 36A and supplies data at a position ¼ of the search target range to the comparison circuit 36A. The database 50B is connected to the comparison circuit 36B and supplies data at a position 2/4 of the search target range to the comparison circuit 36B, and the first database 50C is connected to the comparison circuit 36C and is 3/4 of the search target range. The data at the position is supplied to the comparison circuit 36C. As a result, data can be simultaneously read out in parallel to the respective comparison circuits, so that the time required for reading data can be further shortened and the binary search can be speeded up.

比較回路は多ければ多いほど探索速度も向上するが、コスト、サイズなどを考慮の上、所望の探索速度を得られるのに十分な数の比較回路を設ければよい。また、比較回路の数と同じだけ第1データベースを設けるのが好ましいが、コスト、サイズなどを考慮の上、いくつかの比較回路でデータベースを共用してもよい。   As the number of comparison circuits increases, the search speed improves. However, in consideration of cost, size, etc., a sufficient number of comparison circuits may be provided to obtain a desired search speed. In addition, it is preferable to provide as many first databases as the number of comparison circuits. However, in consideration of cost, size, etc., databases may be shared by several comparison circuits.

図14は、第1データベースの内部データの更に別の例を示す。図14に示した第1データベース50は、フィルタリングの対象となるコンテンツのURLを格納している。第1データベース50に格納されるデータは、ワイルドカードとして認識される所定のデータ、例えば、「00H」又は「01H」などを含んでもよい。図14に示した例において、「http://www.xx.xx/*********」は、「*********」がワイルドカードとして認識され、比較器36a、36b、・・・において、比較対象データが何であっても合致すると判定される。したがって、「http://www.xx.xx/」で始まる文字列は全てバイナリサーチ回路36により検出される。これにより、例えば、ドメイン「http://www.xx.xx/」の配下にあるコンテンツの全てにフィルタリングをかける処理などを容易に行うことができる。   FIG. 14 shows still another example of internal data of the first database. The first database 50 shown in FIG. 14 stores URLs of contents to be filtered. The data stored in the first database 50 may include predetermined data recognized as a wild card, for example, “00H” or “01H”. In the example shown in FIG. 14, “http: //www.xx.xx/*********” is recognized as a wild card because “*********” In the devices 36a, 36b,..., It is determined that they match regardless of the comparison target data. Therefore, all the character strings starting with “http: //www.xx.xx/” are detected by the binary search circuit 36. Thereby, for example, it is possible to easily perform processing for filtering all the contents under the domain “http: //www.xx.xx/”.

図15は、第2データベースの内部データの例を示す。第2データベース60は、検索回路30による検索結果を格納する検索結果欄62と、通信データに対して実行する処理の内容を格納する処理内容欄64とを含み、検索結果と処理内容とを対応づけて保持する。図15の例では、通信データに基準データが含まれている場合は、そのパケットの通過を許可し、含まれていない場合は、そのパケットを破棄するという条件が設定されている。処理実行回路40は、検索結果に基づいて第2データベース60から処理内容を検索し、通信データに対して処理を実行する。処理実行回路40も、ワイヤードロジック回路により実現されてもよい。   FIG. 15 shows an example of internal data of the second database. The second database 60 includes a search result column 62 for storing a search result by the search circuit 30 and a processing content column 64 for storing the content of processing to be executed on communication data, and corresponds the search result to the processing content. Hold it. In the example of FIG. 15, a condition is set such that when the reference data is included in the communication data, the packet is allowed to pass, and when the reference data is not included, the packet is discarded. The process execution circuit 40 searches the second database 60 for process contents based on the search result, and executes the process on the communication data. The processing execution circuit 40 may also be realized by a wired logic circuit.

図16は、第2データベースの内部データの別の例を示す。図16の例では、基準データごとに、処理内容が設定されている。パケットの置換を行う場合、置換先のデータを第2データベース60に格納しておいてもよい。パケットのルーティングやスイッチングを行う場合、経路に関する情報を第2データベース60に格納しておいてもよい。処理実行回路40は、検索回路30による検索結果に応じて、第2データベース60に格納された、フィルタリング、ルーティング、スイッチング、置換などの処理を実行する。図16のように、基準データごとに処理内容を設定する場合、第1データベース50と第2データベース60とを統合してもよい。   FIG. 16 shows another example of internal data of the second database. In the example of FIG. 16, the processing content is set for each reference data. When packet replacement is performed, replacement destination data may be stored in the second database 60. When packet routing or switching is performed, information on the route may be stored in the second database 60. The process execution circuit 40 executes processes such as filtering, routing, switching, and replacement stored in the second database 60 according to the search result by the search circuit 30. As shown in FIG. 16, when setting the processing content for each reference data, the first database 50 and the second database 60 may be integrated.

第1のデータベース及び第2のデータベースは、外部から書き換え可能に設けられる。これらのデータベースを入れ替えることにより、同じ通信制御装置10を用いて、さまざまなデータ処理や通信制御を実現することができる。また、検索対象となる基準データを格納したデータベースを2以上設けて、多段階の検索処理を行ってもよい。このとき、検索結果と処理内容とを対応づけて格納したデータベースを2以上設けて、より複雑な条件分岐を実現してもよい。このように、データベースを複数設けて多段階の検索を行う場合に、位置検出回路32、インデックス回路34、バイナリサーチ回路36などを複数設けてもよい。   The first database and the second database are rewritable from the outside. By exchanging these databases, various data processing and communication control can be realized using the same communication control device 10. In addition, two or more databases storing reference data to be searched may be provided to perform multi-stage search processing. At this time, two or more databases that store search results and processing contents in association with each other may be provided to realize more complicated conditional branching. As described above, in the case where a plurality of databases are provided to perform a multi-stage search, a plurality of position detection circuits 32, index circuits 34, binary search circuits 36, etc. may be provided.

上述した比較に用いられるデータは、同じ圧縮ロジックにより圧縮されてもよい。比較に際して、比較元のデータと比較先のデータが同じ方式で圧縮されていれば、通常と同様の比較が可能である。これにより、比較の際にローディングするデータ量を低減することができる。ローディングするデータ量が少なくなれば、メモリからデータを読み出すのに要する時間が短縮されるので、全体の処理時間も短縮することができる。また、比較器の量を削減することができるので、装置の小型化、軽量化、低コスト化に寄与することができる。比較に用いられるデータは、圧縮された形式で格納されていてもよいし、メモリから読み出した後、比較の前に圧縮されてもよい。   The data used for the comparison described above may be compressed by the same compression logic. In comparison, if the comparison source data and the comparison destination data are compressed by the same method, the same comparison as usual is possible. As a result, the amount of data loaded at the time of comparison can be reduced. If the amount of data to be loaded is reduced, the time required to read data from the memory is reduced, so that the overall processing time can also be reduced. Further, since the amount of the comparator can be reduced, it is possible to contribute to downsizing, weight reduction, and cost reduction of the apparatus. The data used for the comparison may be stored in a compressed form, or may be compressed after being read from the memory and before the comparison.

図17は、前提技術の通信制御装置の別の構成例を示す。本図に示した通信制御装置10は、図4に示した通信制御装置10と同様の構成を備える通信制御ユニット12を2つ有している。また、それぞれの通信制御ユニット12の動作を制御する切替制御部14が設けられている。それぞれの通信制御ユニット12は、2つの入出力インタフェース16を有しており、それぞれの入出力インタフェース16を介して、上流側、下流側の2つのネットワークに接続されている。通信制御ユニット12は、いずれか一方のネットワークから通信データを入力し、処理したデータを他方のネットワークに出力する。切替制御部14は、それぞれの通信制御ユニット12に設けられた入出力インタフェース16の入出力を切り替えることにより、通信制御ユニット12における通信データの流れの方向を切り替える。これにより、一方向だけではなく、双方向の通信制御が可能となる。   FIG. 17 shows another configuration example of the communication control apparatus of the base technology. The communication control apparatus 10 shown in this figure has two communication control units 12 having the same configuration as the communication control apparatus 10 shown in FIG. Moreover, the switching control part 14 which controls operation | movement of each communication control unit 12 is provided. Each communication control unit 12 has two input / output interfaces 16 and is connected to two networks on the upstream side and the downstream side via the input / output interfaces 16. The communication control unit 12 inputs communication data from one of the networks and outputs the processed data to the other network. The switching control unit 14 switches the direction of communication data flow in the communication control unit 12 by switching input / output of the input / output interface 16 provided in each communication control unit 12. Thereby, not only one direction but two-way communication control becomes possible.

切替制御部14は、通信制御ユニット12の一方がインバウンド、他方がアウトバウンドのパケットを処理するように制御してもよいし、双方がインバウンドのパケットを処理するように制御してもよいし、双方がアウトバウンドのパケットを処理するように制御してもよい。これにより、例えばトラフィックの状況や目的などに応じて、制御する通信の方向を可変とすることができる。   The switching control unit 14 may perform control so that one of the communication control units 12 processes an inbound packet and the other processes an outbound packet, or may control both to process an inbound packet. May handle outbound packets. Thereby, for example, the direction of communication to be controlled can be made variable in accordance with the traffic status and purpose.

切替制御部14は、各通信制御ユニット12の動作状況を取得し、その動作状況に応じて通信制御の方向を切り替えてもよい。例えば、一方の通信制御ユニット12を待機状態として、他方の通信制御ユニット12を動作させている場合に、その通信制御ユニット12が故障などにより停止したことを検知したときに、代替として待機中の通信制御ユニット12を動作させてもよい。これにより、通信制御装置10のフォールトトレランスを向上させることができる。また、一方の通信制御ユニット12に対して、データベースの更新などのメンテナンスを行うときに、他方の通信制御ユニット12を代替として動作させてもよい。これにより、通信制御装置10の運用を停止させずに、適切にメンテナンスを行うことができる。   The switching control unit 14 may acquire the operation status of each communication control unit 12 and switch the communication control direction according to the operation status. For example, when one communication control unit 12 is in a standby state and the other communication control unit 12 is operated, when it is detected that the communication control unit 12 has stopped due to a failure or the like, The communication control unit 12 may be operated. Thereby, the fault tolerance of the communication control apparatus 10 can be improved. Further, when maintenance such as database update is performed on one communication control unit 12, the other communication control unit 12 may be operated as an alternative. Thereby, it is possible to appropriately perform maintenance without stopping the operation of the communication control apparatus 10.

通信制御装置10に3以上の通信制御ユニット12が設けられてもよい。切替制御部14は、例えば、トラフィックの状況を取得して、通信量の多い方向の通信制御処理に、より多くの通信制御ユニット12を割り当てるように、各通信制御ユニット12の通信の方向を制御してもよい。これにより、ある方向の通信量が増加しても、通信速度の低下を最小限に抑えることができる。   Three or more communication control units 12 may be provided in the communication control device 10. For example, the switching control unit 14 acquires the traffic status, and controls the communication direction of each communication control unit 12 so that more communication control units 12 are allocated to the communication control process in the direction with a large amount of communication. May be. Thereby, even if the communication amount in a certain direction increases, it is possible to minimize a decrease in communication speed.

図18は、複数の通信制御装置10a、10b、10c、・・・、を含む通信制御装置10の構成を示す。第1データベース50は、データ数に比例して大きな容量を必要とするので、分割して通信制御装置10a、10b、10c、・・・、に保持させる。後述するように、本前提技術の通信制御システム100では、処理すべき通信パケットを、運用中の全ての通信制御装置10a、10b、10c、・・・、に供給し、それぞれの通信制御装置10が受け取ったパケットを処理する。例えば、通信制御装置10aは、データIDが「000001」から「100000」まで、通信制御装置10bは、データIDが「100001」から「200000」まで、通信制御装置10cは、データIDが「200001」から「300000」までのデータを保持しており、それぞれが保持するデータを参照してパケットを処理する。   FIG. 18 shows a configuration of the communication control apparatus 10 including a plurality of communication control apparatuses 10a, 10b, 10c,. Since the first database 50 requires a large capacity in proportion to the number of data, it is divided and held in the communication control devices 10a, 10b, 10c,. As will be described later, in the communication control system 100 of the base technology, a communication packet to be processed is supplied to all the communication control devices 10a, 10b, 10c,. Process the received packet. For example, the communication control device 10a has a data ID “000001” to “100000”, the communication control device 10b has a data ID “100001” to “200000”, and the communication control device 10c has a data ID “200001”. To “300000”, and the packet is processed with reference to the data held by each.

図19は、運用監視サーバ110に設けられた管理テーブル111の内部データの例を示す。管理テーブル111には、装置ID欄112、運用状況欄113、データID欄114が設けられている。装置ID欄112には、通信制御装置10a、10b、・・・、の装置IDが格納され、運用状況欄113には、その通信制御装置の運用状況が格納され、データID欄114には、その通信制御装置が担当すべきデータIDの範囲が格納される。運用状況には、例えば、「運用中」、「スタンバイ」、「故障中」、「データ更新中」などがある。運用状況欄113は、通信制御装置10a、10b、・・・、の運用状況が変更されるたびに、運用監視サーバ110により更新される。図19に示した例では、「465183」件のデータが第1データベース50に格納されるので、装置ID「1」〜「5」の5台の通信制御装置10が運用されており、装置ID「6」の通信制御装置10はスタンバイ状態となっている。   FIG. 19 shows an example of internal data of the management table 111 provided in the operation monitoring server 110. The management table 111 is provided with a device ID column 112, an operation status column 113, and a data ID column 114. The device ID column 112 stores the device IDs of the communication control devices 10a, 10b,..., The operation status column 113 stores the operation status of the communication control device, and the data ID column 114 stores A range of data IDs to be handled by the communication control device is stored. The operational status includes, for example, “in operation”, “standby”, “failure”, “data updating”, and the like. The operation status column 113 is updated by the operation monitoring server 110 every time the operation status of the communication control devices 10a, 10b,. In the example shown in FIG. 19, since “465183” data is stored in the first database 50, five communication control devices 10 with device IDs “1” to “5” are operated, and device IDs are used. The communication control device 10 of “6” is in a standby state.

運用監視サーバ110は、複数の通信制御装置10の運用状況を監視し、いずれかの通信制御装置10においてトラブルが発生して運用不可能な状態になったことを検知したときには、スタンバイ状態となっている通信制御装置10に、運用が停止した通信制御装置10と同じデータを格納し、その通信制御装置10に運用を切り替える。例えば、図20に示すように、装置ID「2」の通信制御装置10が故障により運用停止した場合、スタンバイ状態であった装置ID「6」の通信制御装置10に、データID「100001〜200000」のデータを格納して運用を開始させる。これにより、何らかのトラブルで通信制御装置10が停止されるような状況になっても、適切に運用を継続することができる。スタンバイ中の通信制御装置10には、予めいずれかのデータを格納しておき、ホットスタンバイ状態にしておいてもよいし、コールドスタンバイ状態にしておいてもよい。   The operation monitoring server 110 monitors the operation status of the plurality of communication control devices 10 and enters a standby state when it is detected that a trouble has occurred in any of the communication control devices 10 and the operation becomes impossible. The same data as that of the communication control device 10 whose operation has been stopped is stored in the communication control device 10 being operated, and the operation is switched to the communication control device 10. For example, as illustrated in FIG. 20, when the communication control device 10 with the device ID “2” is stopped due to a failure, the data ID “100001 to 200000” is assigned to the communication control device 10 with the device ID “6” in the standby state. Is stored and the operation is started. Accordingly, even if the communication control apparatus 10 is stopped due to some trouble, the operation can be continued appropriately. The communication control apparatus 10 in standby may store any data in advance and may be in a hot standby state or in a cold standby state.

次に、通信制御装置10に含まれるデータベースを更新する手順について説明する。データベースサーバ150は、所定のタイミングで外部のデータベースから最新のデータベースを取得して保持する。運用監視サーバ110は、所定のタイミングで、データベースサーバ150に保持された最新のデータベースを通信制御装置10に反映させるために、データベースサーバ150から通信制御装置10にデータを転送して格納させる。   Next, a procedure for updating a database included in the communication control apparatus 10 will be described. The database server 150 acquires and holds the latest database from an external database at a predetermined timing. The operation monitoring server 110 transfers and stores data from the database server 150 to the communication control device 10 in order to reflect the latest database held in the database server 150 to the communication control device 10 at a predetermined timing.

図21(a)(b)(c)は、データベースを更新する様子を説明するための図である。図21(a)は、図19と同様に、装置ID「1」〜「5」の通信制御装置10が運用中であり、装置ID「6」の通信制御装置10がスタンバイ中である状況を示す。運用監視サーバ110は、データベースを更新するタイミングが到来すると、現在スタンバイ状態である通信制御装置10を特定し、その通信制御装置10に対してデータを格納するようデータベースサーバ150に指示する。図21(a)の例では、装置ID「6」の通信制御装置10がスタンバイ中であるから、この通信制御装置10にデータベースサーバ150からデータが格納される。このとき、運用監視サーバ110は、装置ID「6」の運用状況欄113を「データ更新中」に変更する。   FIGS. 21A, 21B, and 21C are diagrams for explaining how the database is updated. FIG. 21A shows a situation where the communication control devices 10 with device IDs “1” to “5” are in operation and the communication control device 10 with device ID “6” is in a standby state, as in FIG. Show. When it is time to update the database, the operation monitoring server 110 identifies the communication control device 10 that is currently in the standby state, and instructs the database server 150 to store data in the communication control device 10. In the example of FIG. 21A, since the communication control device 10 with the device ID “6” is on standby, data is stored in the communication control device 10 from the database server 150. At this time, the operation monitoring server 110 changes the operation status column 113 of the device ID “6” to “data updating”.

図21(b)は、通信制御装置10のデータベースが更新中である状況を示す。データベースサーバ150は、運用中の通信制御装置10のいずれかが担当するデータを、スタンバイ中であった装置ID「6」の通信制御装置10の第1データベース50に格納する。図21(b)の例では、装置ID「1」の通信制御装置10が担当していた、データID「000001〜100000」のデータを、装置ID「6」の通信制御装置10に格納している。   FIG. 21B shows a situation where the database of the communication control apparatus 10 is being updated. The database server 150 stores the data handled by any of the operating communication control devices 10 in the first database 50 of the communication control device 10 with the device ID “6” being in standby. In the example of FIG. 21B, the data of the data ID “000001 to 100,000”, which was handled by the communication control device 10 of the device ID “1”, is stored in the communication control device 10 of the device ID “6”. Yes.

図21(c)は、装置ID「6」の通信制御装置10のデータベースが更新されて運用が開始され、代わって装置ID「1」の通信制御装置10がスタンバイ状態となった状況を示す。運用監視サーバ110は、装置ID「6」の通信制御装置10に対するデータの格納が終了すると、更新後のデータベースを保持する装置ID「6」の通信制御装置10の運用を開始すると同時に、更新前のデータベースを保持する装置ID「1」の通信制御装置10の運用を停止してスタンバイ状態にする。これにより、データベースが更新された通信制御装置10に運用が切り替えられる。つづいて、装置ID「1」の通信制御装置10に、データID「100001〜200000」のデータを格納した後、装置ID「1」の通信制御装置10を運用開始し、装置ID「2」の通信制御装置10の運用を停止する。以降、同様に、巡回的にデータベースを更新していくことで、通信制御システム100の運用を停止することなく、全ての通信制御装置10のデータベースを背後で更新することができる。   FIG. 21C illustrates a situation in which the database of the communication control device 10 with the device ID “6” is updated and the operation is started, and the communication control device 10 with the device ID “1” is in a standby state instead. When the operation monitoring server 110 finishes storing data in the communication control device 10 with the device ID “6”, the operation monitoring server 110 starts operation of the communication control device 10 with the device ID “6” that holds the updated database, and at the same time before the update. The operation of the communication control device 10 with the device ID “1” holding the database is stopped and put into a standby state. As a result, the operation is switched to the communication control apparatus 10 whose database has been updated. Subsequently, after storing the data ID “100001 to 200000” in the communication control device 10 with the device ID “1”, the communication control device 10 with the device ID “1” is started to operate, and the device ID “2” is started. The operation of the communication control apparatus 10 is stopped. Thereafter, similarly, by updating the database cyclically, it is possible to update the databases of all the communication control devices 10 behind without stopping the operation of the communication control system 100.

このように、本前提技術の通信制御装置10では、各通信制御装置10に格納されているデータは固定的ではなく、あるデータがいずれの通信制御装置10に格納されているかは、時間によって移り変わる。各通信制御装置10にパケットを送る前に、いずれの通信制御装置10にそのユーザのデータが存在するかを判定する処理を行うと、その処理に要する時間が余分にかかる。そのため、本実施の形態では、受信したパケットを全ての通信制御装置10へ供給し、各通信制御装置10がパケットを処理する。以下、このような仕組みを実現するための技術について説明する。   As described above, in the communication control device 10 of the base technology, the data stored in each communication control device 10 is not fixed, and which communication control device 10 stores certain data changes depending on time. . If processing for determining in which communication control device 10 the user's data exists before sending the packet to each communication control device 10, it takes extra time for the processing. Therefore, in the present embodiment, the received packet is supplied to all the communication control devices 10, and each communication control device 10 processes the packet. Hereinafter, a technique for realizing such a mechanism will be described.

図22は、複数の通信制御装置10によりパケットを処理するために設けられた通信経路制御装置の構成を示す。通信経路制御装置190は、スイッチ191、データ供給ユニットの一例である光スプリッタ192、及びスイッチ193を備える。スイッチ191は、受信したパケットを通信制御装置10へ送信する。ここで、スイッチ191と通信制御装置10の間には、複数の通信制御装置10a、10b、10cにパケットを並行して供給するための光スプリッタ192が設けられており、スイッチ191は、実際には光スプリッタ192へパケットを送信し、光スプリッタ192が各通信制御装置へパケットを並行して送信する。   FIG. 22 shows a configuration of a communication path control device provided for processing a packet by a plurality of communication control devices 10. The communication path control device 190 includes a switch 191, an optical splitter 192 that is an example of a data supply unit, and a switch 193. The switch 191 transmits the received packet to the communication control device 10. Here, between the switch 191 and the communication control device 10, an optical splitter 192 for supplying packets to the plurality of communication control devices 10a, 10b, and 10c in parallel is provided. Transmits the packet to the optical splitter 192, and the optical splitter 192 transmits the packet to each communication control device in parallel.

複数の通信制御装置10a、10b、10cへパケットを送信するために、パケットをブロードキャストに変換すると、例えばヘッダにタイムスタンプを追加するなどの余分な処理が発生し、処理速度が低下してしまう。そのため、パケットに変更を加えずに、光スプリッタ192により分割して、ユニキャストのまま複数の通信制御装置10a、10b、10cへパケットを送信する。この方式を、本明細書では「パラレルキャスト」と呼ぶ。   If a packet is converted into a broadcast in order to transmit the packet to a plurality of communication control apparatuses 10a, 10b, and 10c, extra processing such as adding a time stamp to the header occurs, and the processing speed decreases. Therefore, without changing the packet, the packet is divided by the optical splitter 192, and the packet is transmitted to the plurality of communication control apparatuses 10a, 10b, and 10c while being unicast. This method is called “parallel cast” in this specification.

各通信制御装置は、自装置のMACアドレス宛のパケットのみを受信するモードではなく、宛先のMACアドレスに関係なく全てのパケットを受信するプロミスキャスモードに設定される。各通信制御装置は、光スプリッタ192からパラレルキャストされたパケットを受信すると、MACアドレスのマッチング処理を省き、全てのパケットを取得して処理する。   Each communication control device is set to a promiscuous mode that receives all packets regardless of the destination MAC address, not a mode that receives only packets addressed to its own MAC address. When each communication control apparatus receives a parallel-cast packet from the optical splitter 192, it omits the MAC address matching process and acquires and processes all packets.

通信制御装置10cは、通信が禁止された場合など、送信元宛にパケットを返信する場合には、光スプリッタ192を介さずにスイッチ191へ応答パケットを送信する。通信制御装置10cは、パケットを処理した結果、通信が許可された場合は、そのパケットをネットワークへ送出する。ここで、通信制御装置10と上流の通信回線の間には、複数の通信制御装置10a、10b、10cから送出されるパケットを集約するためのスイッチ193が設けられており、通信制御装置10cは、実際にはスイッチ193へパケットを送信し、スイッチ193が上流の通信回線へパケットを送出する。   The communication control device 10c transmits a response packet to the switch 191 without passing through the optical splitter 192 when returning a packet addressed to the transmission source such as when communication is prohibited. If the communication is permitted as a result of processing the packet, the communication control device 10c sends the packet to the network. Here, a switch 193 for aggregating packets transmitted from the plurality of communication control devices 10a, 10b, and 10c is provided between the communication control device 10 and the upstream communication line. Actually, the packet is transmitted to the switch 193, and the switch 193 transmits the packet to the upstream communication line.

パケットの送信先から返信されたパケットをスイッチ193が受信したときに、返信されたパケットが通信制御装置10による処理を必要としない場合は、スイッチ193のポート195からスイッチ191のポート194へ送信され、スイッチ191から送信元に向けて送出される。通常、インターネットでは、パケットに対する応答パケットが確実に送信元に返信されるよう、返信経路を確保するために、送信時の経路がパケットに記録される。しかし、本実施の形態では、通信経路制御装置190内における返信経路が予め用意されているので、経路を記録せずに、すなわち、パケットを加工せずに装置間の通信を行う。これにより、無駄な処理を省き、処理速度を向上させることができる。   When the switch 193 receives a packet returned from the packet transmission destination, if the returned packet does not require processing by the communication control device 10, it is transmitted from the port 195 of the switch 193 to the port 194 of the switch 191. , And sent from the switch 191 to the transmission source. Normally, on the Internet, a route at the time of transmission is recorded in the packet in order to ensure a return route so that a response packet to the packet is surely returned to the transmission source. However, in this embodiment, since a return route in the communication route control device 190 is prepared in advance, communication between devices is performed without recording the route, that is, without processing a packet. Thereby, useless processing can be omitted and the processing speed can be improved.

図22の例では、送信元から発信されたパケットを送信先へ送出する場合にのみパケットを処理し、送信先から送信元へ送出された応答パケットは処理せずに通過させる場合の構成を示しているが、通信制御装置10が両方向のパケットを処理するように構成してもよい。この場合、通信制御装置10の両側に光スプリッタ192を設ければよい。また、スイッチ193からスイッチ191へのバイパス経路は設けなくてもよい。   The example of FIG. 22 shows a configuration in which a packet is processed only when a packet transmitted from the transmission source is transmitted to the transmission destination, and a response packet transmitted from the transmission destination to the transmission source is passed without being processed. However, the communication control apparatus 10 may be configured to process packets in both directions. In this case, the optical splitter 192 may be provided on both sides of the communication control device 10. Further, a bypass path from the switch 193 to the switch 191 may not be provided.

このように、複数の通信制御装置のうち、パケットを処理すべき通信制御装置を予め特定しなくても、全ての通信制御装置に同じパケットをパラレルキャストすることにより、処理すべき通信制御装置に適切にパケットを処理させることができる。   In this way, even if the communication control device that should process the packet is not specified in advance among the plurality of communication control devices, the same packet is parallel-cast to all the communication control devices, so that Packets can be processed appropriately.

これらの通信制御装置は、上述したように、通信経路制御装置190からパラレルキャストされる全てのパケットを受信して処理又は破棄するので、インターネット上で装置を一意に識別するためのIPアドレスを付与しておく必要がない。サーバ装置などにより、上述したようなパケット処理を実行する場合は、サーバ装置に対する攻撃を考慮する必要があるが、本実施の形態の通信制御装置は、インターネットを介して悪意ある第三者から直接攻撃を受けることがないので、安全に通信制御を行うことができる。   Since these communication control devices receive and process or discard all packets cast in parallel from the communication path control device 190 as described above, they are given an IP address for uniquely identifying the device on the Internet. There is no need to keep it. When executing packet processing as described above by a server device or the like, it is necessary to consider an attack on the server device. However, the communication control device according to the present embodiment is directly transmitted from a malicious third party via the Internet. Since there is no attack, communication control can be performed safely.

つづいて、上述した通信制御装置10を利用した通信制御の一例として、URLフィルタリング技術について説明する。以下では、フィッシングサイトやウイルスサイトなどの悪質なサイトへのアクセスを的確に抑止する技術を提案する。また、このようなアクセス制御技術を利用して、ユーザが安心してネットワークサービスを享受することができるような通信システムを構築する技術を提案する。   Next, a URL filtering technique will be described as an example of communication control using the communication control device 10 described above. In the following, we propose a technology that accurately prevents access to malicious sites such as phishing sites and virus sites. In addition, a technique for constructing a communication system that allows a user to enjoy a network service with confidence using such an access control technique is proposed.

図23は、URLフィルタリングのためのパケット処理回路20の内部構成を示す。パケット処理回路20は、第1データベース50として、ウイルス/フィッシングサイトリスト161、ホワイトリスト162、ブラックリスト163、及び共通カテゴリリスト164を備える。通信制御装置10がコンテンツに対するアクセス要求を取得すると、コンテンツに対するアクセスの許否を判断するために、コンテンツのURLが、ウイルス/フィッシングサイトリスト161、ホワイトリスト162、ブラックリスト163、及び共通カテゴリリスト164に照合される。   FIG. 23 shows an internal configuration of the packet processing circuit 20 for URL filtering. The packet processing circuit 20 includes a virus / phishing site list 161, a white list 162, a black list 163, and a common category list 164 as the first database 50. When the communication control apparatus 10 obtains an access request for content, the URL of the content is displayed in the virus / phishing site list 161, the white list 162, the black list 163, and the common category list 164 in order to determine whether access to the content is permitted. Matched.

ウイルス/フィッシングサイトリスト161は、コンピュータウイルスを含むコンテンツのURLのリストと、フィッシング詐欺に用いられる「罠」のサイトのURLのリストとを格納する。ウイルス/フィッシングサイトリスト161に格納されたURLのコンテンツに対するアクセス要求は拒否される。これにより、ユーザが気づかずに、又は騙されて、ウイルスサイトやフィッシングサイトにアクセスしようとする場合であっても、適切にアクセスを禁止し、ウイルスやフィッシング詐欺の被害からユーザを保護することができる。また、ユーザの端末にウイルスサイトやフィッシングサイトのリストを格納させて端末側でアクセス制限を行うのではなく、通信経路に設けられた通信制御装置10で一元的にアクセス制限を行うので、より確実かつ効率的にアクセス制限を行うことができる。通信制御装置10は、ウイルスサイトやフィッシングサイトではない正当なサイトであることが認証機関により証明された認証済みサイトのリストを取得して保持し、そのリストに格納されたURLに対するアクセスを許可するようにしてもよい。また、正当なサイトがハッキングなどにより乗っ取られて、ウイルスが組み込まれたり、フィッシング詐欺に利用されたりする事態が生じた場合、正当なサイトの運営者などがウイルス/フィッシングサイトリスト161に乗っ取られたサイトのURLを登録し、サイトが正常な状態に回復するまでの間、一時的にアクセスを禁止できるようにしてもよい。また、URLのリストとともに、IP番号、TCP番号、MACアドレス等の情報を組み合わせてチェックしてもよい。これにより、更に精度の高い禁止条件を設定することができるので、より確実にウイルスサイトやフィッシングサイトをフィルタリングすることができる。   The virus / phishing site list 161 stores a list of URLs of contents including computer viruses and a list of URLs of “罠” sites used for phishing scams. An access request for the content of the URL stored in the virus / phishing site list 161 is rejected. As a result, even if the user is not aware or deceived and tries to access a virus site or phishing site, the user can be appropriately prohibited from access and protected from the damage caused by the virus or phishing scam. it can. In addition, since the list of virus sites and phishing sites is stored in the user's terminal and access is not restricted on the terminal side, access restriction is performed centrally by the communication control device 10 provided in the communication path, so that more reliable In addition, it is possible to restrict access efficiently. The communication control apparatus 10 acquires and holds a list of authenticated sites that have been certified by a certification authority as being a legitimate site that is not a virus site or a phishing site, and permits access to URLs stored in the list. You may do it. In addition, when a legitimate site is hijacked by hacking, etc. and a virus is incorporated or used for phishing, a legitimate site operator is hijacked in the virus / phishing site list 161. The URL of the site may be registered, and access may be temporarily prohibited until the site is restored to a normal state. Further, information such as an IP number, a TCP number, and a MAC address may be combined and checked together with the URL list. As a result, a more accurate prohibition condition can be set, and thus virus sites and phishing sites can be filtered more reliably.

ホワイトリスト162は、アクセスを許可するコンテンツのURLのリストを格納する。ブラックリスト163は、アクセスを禁止するコンテンツのURLのリストを格納する。図24(a)は、ウイルス/フィッシングサイトリスト161の内部データの例を示し、図24(b)は、ホワイトリスト162の内部データの例を示し、図24(c)は、ブラックリスト163の内部データの例を示す。ウイルス/フィッシングサイトリスト161、ホワイトリスト162、及びブラックリスト163には、それぞれ、カテゴリ番号欄165、URL欄166、及びタイトル欄167が設けられている。URL欄166には、アクセスが許可される、又は禁止されるコンテンツのURLが格納される。カテゴリ番号欄165には、コンテンツのカテゴリの番号が格納される。タイトル欄167には、コンテンツのタイトルが格納される。   The white list 162 stores a list of URLs of contents that are permitted to be accessed. The black list 163 stores a list of URLs of contents whose access is prohibited. 24A shows an example of internal data of the virus / phishing site list 161, FIG. 24B shows an example of internal data of the white list 162, and FIG. 24C shows an example of the black list 163. An example of internal data is shown. The virus / phishing site list 161, the white list 162, and the black list 163 have a category number column 165, a URL column 166, and a title column 167, respectively. The URL column 166 stores URLs of contents that are permitted or prohibited to be accessed. The category number column 165 stores content category numbers. The title column 167 stores the title of the content.

共通カテゴリリスト164は、URLで示されるコンテンツを複数のカテゴリに分類するためのリストを格納する。図25は、共通カテゴリリスト164の内部データの例を示す。共通カテゴリリスト164にも、カテゴリ番号欄165、URL欄166、及びタイトル欄167が設けられている。   The common category list 164 stores a list for classifying the content indicated by the URL into a plurality of categories. FIG. 25 shows an example of internal data of the common category list 164. The common category list 164 is also provided with a category number column 165, a URL column 166, and a title column 167.

通信制御装置10は、「GET」リクエストメッセージ等の中に含まれるURLを抽出し、そのURLが、ウイルス/フィッシングサイトリスト161、ホワイトリスト162、ブラックリスト163、又は共通カテゴリリスト164に含まれるか否かを検索回路30により検索する。このとき、例えば、位置検出回路32により「http://」という文字列を検出し、その文字列に続くデータ列を対象データとして抽出してもよい。抽出されたURLは、インデックス回路34及びバイナリサーチ回路36により、ウイルス/フィッシングサイトリスト161、ホワイトリスト162、ブラックリスト163、及び共通カテゴリリスト164の基準データとマッチングされる。   The communication control apparatus 10 extracts the URL included in the “GET” request message or the like, and whether the URL is included in the virus / phishing site list 161, the white list 162, the black list 163, or the common category list 164. The search circuit 30 searches for whether or not. At this time, for example, a character string “http: //” may be detected by the position detection circuit 32, and a data string following the character string may be extracted as target data. The extracted URL is matched with the reference data of the virus / phishing site list 161, the white list 162, the black list 163, and the common category list 164 by the index circuit 34 and the binary search circuit 36.

図26(a)、(b)、(c)、及び(d)は、URLフィルタリングのための第2データベース60の内部データの例を示す。図26(a)は、ウイルス/フィッシングサイトリスト161に対する検索結果と処理内容を示す。GETリクエスト等に含まれるURLが、ウイルス/フィッシングサイトリスト161に含まれるURLに合致した場合、そのURLに対するアクセスは禁止される。図26(b)は、ホワイトリスト162に対する検索結果と処理内容を示す。GETリクエスト等に含まれるURLが、ホワイトリスト162に含まれるURLに合致した場合、そのURLに対するアクセスは許可される。図26(c)は、ブラックリスト163に対する検索結果と処理内容を示す。GETリクエスト等に含まれるURLが、ブラックリスト163に含まれるURLに合致した場合、そのURLに対するアクセスは禁止される。   FIGS. 26A, 26B, 26C, and 26D show examples of internal data of the second database 60 for URL filtering. FIG. 26A shows search results and processing contents for the virus / phishing site list 161. When the URL included in the GET request or the like matches the URL included in the virus / phishing site list 161, access to the URL is prohibited. FIG. 26B shows search results and processing contents for the white list 162. When the URL included in the GET request or the like matches the URL included in the white list 162, access to the URL is permitted. FIG. 26C shows search results and processing contents for the black list 163. When the URL included in the GET request or the like matches the URL included in the black list 163, access to the URL is prohibited.

図26(d)は、共通カテゴリリスト164に対する検索結果と処理内容を示す。図26(d)に示すように、共通カテゴリリスト164に対する検索結果に対して、そのカテゴリに属するコンテンツに対するアクセスを許可するか禁止するかが個別に設定される。共通カテゴリリスト164に関する第2データベース60には、カテゴリ欄169が設けられている。カテゴリ欄169には、57種に分類されたカテゴリのそれぞれについて、カテゴリに属するコンテンツに対するアクセスを許可するか否かを示す情報が格納される。GETリクエストに含まれるURLが、共通カテゴリリスト164に含まれるURLに合致した場合、そのURLのカテゴリに基づいて、そのURLに対するアクセスの許否が判定される。なお、図26(d)では、共通カテゴリの数が57であるが、それ以外であってもよい。   FIG. 26D shows search results and processing contents for the common category list 164. As shown in FIG. 26D, whether to permit or prohibit access to contents belonging to the category is individually set for the search result for the common category list 164. In the second database 60 related to the common category list 164, a category column 169 is provided. The category column 169 stores information indicating whether or not access to content belonging to the category is permitted for each of the 57 categories. When the URL included in the GET request matches the URL included in the common category list 164, whether or not access to the URL is permitted is determined based on the category of the URL. In FIG. 26D, the number of common categories is 57, but other common categories may be used.

図27は、ウイルス/フィッシングサイトリスト161、ホワイトリスト162、ブラックリスト163、及び共通カテゴリリスト164の優先度を示す。本前提技術では、ウイルス/フィッシングサイトリスト161、ホワイトリスト162、ブラックリスト163、共通カテゴリリスト164の順に優先度が高く、例えば、ホワイトリスト162に格納されたアクセスが許可されるコンテンツのURLであったとしても、そのURLがウイルス/フィッシングサイトリスト161に格納されていれば、コンピュータウイルスを含むコンテンツ、又はフィッシング詐欺に用いられるコンテンツであるとしてアクセスが禁止される。   FIG. 27 shows priorities of the virus / phishing site list 161, the white list 162, the black list 163, and the common category list 164. In the base technology, the virus / phishing site list 161, the white list 162, the black list 163, and the common category list 164 have a higher priority in the order, for example, the URL of the content that is permitted to be accessed stored in the white list 162. Even if the URL is stored in the virus / phishing site list 161, access is prohibited as content including a computer virus or content used for phishing.

従来、ソフトウェアを用いて、このような優先度を考慮したマッチングを行うときは、例えば、優先度の高いリストから順にマッチングを行って最初にヒットしたものを採用するか、優先度の低いリストから順にマッチングを行って後からヒットしたものを上書きするか、いずれかの方法がとられていた。しかしながら、前提技術では、専用のハードウェア回路により構成された通信制御装置10を利用することにより、ウイルス/フィッシングサイトリスト161のマッチングを行う検索回路30aと、ホワイトリスト162のマッチングを行う検索回路30bと、ブラックリスト163のマッチングを行う検索回路30cと、共通カテゴリリスト164のマッチングを行う検索回路30dとを設けて、それぞれの検索回路30において同時に並列してマッチングを行う。そして、複数のリストでヒットした場合は、優先度の高いものを採用する。これにより、複数のデータベースが設けられ、それらに優先度が設定されている場合であっても、検索時間を大幅に短縮することができる。   Conventionally, when performing matching in consideration of such priorities using software, for example, the first hit that is performed by matching in order from the list with the highest priority, or from the list with the lower priority Either matching was done in order, and the one that was hit later was overwritten, or either method was taken. However, in the base technology, a search circuit 30a for matching the virus / phishing site list 161 and a search circuit 30b for matching the white list 162 are obtained by using the communication control device 10 configured by a dedicated hardware circuit. In addition, a search circuit 30c for matching the black list 163 and a search circuit 30d for matching the common category list 164 are provided, and each search circuit 30 performs matching in parallel at the same time. If there is a hit in a plurality of lists, the one with higher priority is adopted. Thereby, even if a plurality of databases are provided and priorities are set for them, the search time can be greatly reduced.

ウイルス/フィッシングサイトリスト161、ホワイトリスト162、ブラックリスト163、及び共通カテゴリリスト164のいずれを優先してアクセスの許否を判断するかは、例えば、第2データベース60に設定されていてもよい。いずれのリストを優先するかに応じて第2データベース60の条件を書き換えてもよい。   Whether the virus / phishing site list 161, the white list 162, the black list 163, or the common category list 164 is to be prioritized for access permission may be set in the second database 60, for example. The conditions of the second database 60 may be rewritten according to which list has priority.

このように、複数のデータベースを利用してURLに基づいたフィルタリングを行う際に、データベースに優先度を設定して優先度に応じたフィルタリング処理を行うことができるように構成し、かつ、ウイルス/フィッシングサイトリスト161によるフィルタリングを最優先することで、ユーザによるホワイトリスト162などの設定状況にかかわらず、ウイルスサイトやフィッシングサイトへのアクセスを確実に禁止することができる。これにより、ウイルスやフィッシング詐欺の被害からユーザを適切に保護することができる。   In this way, when performing filtering based on URL using a plurality of databases, it is configured so that the priority can be set in the database and filtering processing according to the priority can be performed, and the virus / By giving the highest priority to filtering by the phishing site list 161, access to the virus site and phishing site can be surely prohibited regardless of the setting status of the white list 162 and the like by the user. Thereby, a user can be appropriately protected from the damage of a virus or a phishing scam.

コンテンツに対するアクセスが許可された場合は、処理実行回路40は、メッセージ出力サーバ130にその旨を通知するための信号を出力する。メッセージ出力サーバ130は、コンテンツを保持するサーバに向けて「GET」リクエストメッセージを送出する。コンテンツに対するアクセスが禁止された場合は、処理実行回路40が、メッセージ出力サーバ130にその旨を通知するための信号を出力すると、メッセージ出力サーバ130は、アクセス先のサーバに「GET」リクエストメッセージを送信せずに破棄する。このとき、アクセスが禁止された旨の応答メッセージを要求元に送信してもよい。また、強制的に別のウェブページに転送させてもよい。この場合、処理実行回路40は、デスティネーションアドレスとURLを転送先のものに書き換えて送出する。応答メッセージや転送先のURLなどの情報は、第2データベース60やメッセージ出力サーバ130などに格納されていてもよい。   When access to the content is permitted, the process execution circuit 40 outputs a signal for notifying the message output server 130 of the fact. The message output server 130 sends a “GET” request message to the server holding the content. When access to the content is prohibited, when the process execution circuit 40 outputs a signal for notifying the message output server 130, the message output server 130 sends a “GET” request message to the access destination server. Discard without sending. At this time, a response message indicating that access is prohibited may be transmitted to the request source. Further, it may be forcibly transferred to another web page. In this case, the process execution circuit 40 rewrites and sends the destination address and URL to those of the transfer destination. Information such as the response message and the transfer destination URL may be stored in the second database 60, the message output server 130, or the like.

メッセージ出力サーバ130は、pingコマンドなどを用いて、要求元が実際に存在することを確認し、また、存在する場合はその状態を確認してから、要求元に対してメッセージを出力してもよい。メッセージ出力サーバ130から要求元へ送信されるメッセージは、アクセス先のコンテンツごとに、カテゴリごとに、又は、ホワイトリスト162やブラックリスト163などのデータベースごとに、設定可能としてもよい。例えば、アクセスが禁止されたときに表示される画面をカテゴリごとにカスタマイズしてメッセージ出力サーバ130に登録できるようにしてもよい。また、上述したように、正当なサイトがハッキングされてアクセスを一時的に制限しているときに、正規サイトが一時的に閲覧不可能になっていることをユーザに告知するメッセージや、正当なサイトのミラーサイトへ誘導するメッセージを出力するようにしてもよい。   The message output server 130 uses the ping command or the like to confirm that the request source actually exists, and if it exists, confirms the state and outputs a message to the request source. Good. The message transmitted from the message output server 130 to the request source may be settable for each content to be accessed, for each category, or for each database such as the white list 162 and the black list 163. For example, the screen displayed when access is prohibited may be customized for each category and registered in the message output server 130. In addition, as described above, when a legitimate site is hacked and access is temporarily restricted, a message notifying the user that the legitimate site is temporarily inaccessible, You may make it output the message guided to the mirror site of a site.

メッセージ出力サーバ130は、メッセージの送出履歴を管理し、そのメッセージ送出履歴情報を各種制御に利用してもよい。例えば、同一の要求元から短時間に多数のアクセス要求が発信されている場合、サービス妨害攻撃(Denial of Service attack:DoSアタック)などである可能性があるので、その要求元をアクセス拒否リストに登録し、その要求元からのパケットを要求先へ送らずに遮断してもよい。また、メッセージの送出履歴を統計処理し、ウェブサイトの管理者などへ提供してもよい。これにより、ユーザのアクセス履歴をマーケティングに利用したり、通信状況の制御などに活用したりすることができる。また、状況に応じてメッセージの送出回数を少なくしたり、逆に増やしたりする事もできる。たとえば特定のIP番号からアクセス要求が発信された場合に、その1通のリクエストメッセージに対して、何倍ものメッセージを送ることもできる。   The message output server 130 may manage the message transmission history and use the message transmission history information for various controls. For example, if a large number of access requests are sent in a short time from the same request source, there is a possibility of a denial of service attack (DoS attack). It may be registered and blocked without sending a packet from the request source to the request destination. Further, the message transmission history may be statistically processed and provided to a website administrator or the like. Thereby, a user's access history can be utilized for marketing, or it can be utilized for control of a communication situation. In addition, the number of message transmissions can be reduced or increased depending on the situation. For example, when an access request is transmitted from a specific IP number, it is possible to send many times as many messages as the one request message.

以上の構成及び動作により、不適切なコンテンツに対するアクセスを禁止することができる。また、検索回路30がFPGAなどにより構成された専用のハードウェア回路であるから、上述したように高速な検索処理が実現され、トラフィックに与える影響を最小限に抑えつつ、フィルタリング処理を実行することができる。インターネットサービスプロバイダなどが、このようなフィルタリングのサービスを提供することにより、付加価値が高まり、より多くのユーザを集めることができる。   With the above configuration and operation, access to inappropriate content can be prohibited. Further, since the search circuit 30 is a dedicated hardware circuit composed of an FPGA or the like, high-speed search processing is realized as described above, and filtering processing is executed while minimizing the influence on traffic. Can do. By providing such a filtering service, an Internet service provider or the like can increase added value and attract more users.

図28は、通信制御システムの配置例を示す。本図は、ユーザ端末の一例として、携帯電話端末260が用いられる例を示している。携帯電話端末260から発せられるアクセス要求は、キャリアが設置した基地局装置262、局舎に設けられた制御局装置264を介してインターネット200へ送出され、インターネット200を介してウェブサーバ250へ到達する。本図の例では、基地局装置262に通信制御システム100が設けられる。この場合、第1データベース50を基地局装置262ごとに変えて、基地局装置262がカバーする領域ごとに異なるフィルタリングを行ってもよい。基地局装置262に通信制御システム100を設ける場合、必要最低限の機能のみを搭載することにより通信制御システム100の小型化を図ってもよい。例えば、接続管理サーバ120、ログ管理サーバ140などの構成を省略してもよい。基地局装置262に通信制御システム100を設けることにより、フィルタリング処理が分散されるので、小規模な通信制御システム100を設ければよく、装置を小型化・軽量化できるとともに、コストを低減することができる。また、携帯電話端末260から発せられたアクセス要求を制御局装置264へ送出する前にフィルタリングすることができるので、通信量を低減することができる。また、携帯電話端末260と直接通信する基地局装置262においてパケットをフィルタリングするので、より確実にフィルタリングを実行することができる。   FIG. 28 shows an arrangement example of the communication control system. This figure shows an example in which a mobile phone terminal 260 is used as an example of a user terminal. The access request issued from the mobile phone terminal 260 is sent to the Internet 200 via the base station device 262 installed by the carrier and the control station device 264 provided in the station building, and reaches the web server 250 via the Internet 200. . In the example of this figure, the base station apparatus 262 is provided with the communication control system 100. In this case, the first database 50 may be changed for each base station apparatus 262, and different filtering may be performed for each area covered by the base station apparatus 262. When the communication control system 100 is provided in the base station apparatus 262, the communication control system 100 may be downsized by mounting only the minimum necessary functions. For example, the configuration of the connection management server 120 and the log management server 140 may be omitted. Since the filtering process is distributed by providing the communication control system 100 in the base station apparatus 262, it is only necessary to provide a small-scale communication control system 100. The apparatus can be reduced in size and weight, and the cost can be reduced. Can do. Further, since the access request issued from the mobile phone terminal 260 can be filtered before being sent to the control station apparatus 264, the amount of communication can be reduced. Further, since the packet is filtered in the base station apparatus 262 that communicates directly with the mobile phone terminal 260, the filtering can be executed more reliably.

図29は、通信制御システムの別の配置例を示す。本図も、携帯電話端末260が用いられる例を示しているが、図28に示した例とは異なり、制御局装置264に通信制御システム100が設けられる。局舎に設けられた制御局装置264において一元的にフィルタリングを実行するので、システムのメンテナンスが容易である。   FIG. 29 shows another arrangement example of the communication control system. This figure also shows an example in which the mobile phone terminal 260 is used, but unlike the example shown in FIG. 28, the communication control system 100 is provided in the control station device 264. Since the control station device 264 provided in the station building performs centralized filtering, system maintenance is easy.

図30は、通信制御システムの更に別の配置例を示す。本図でも、ユーザ端末の一例として、携帯電話端末260が用いられる。携帯電話端末260から発せられるアクセス要求は、無線LANのアクセスポイント272、ルータ装置274を介してインターネット200へ送出され、インターネット200を介してウェブサーバ250へ到達する。本図の例では、アクセスポイント272に通信制御システム100が設けられる。図28に示した例と同様に、携帯電話端末260に近い装置でパケットをフィルタリングすることにより、無駄な通信を削減することができる。また、例えば企業内の無線LANの場合、従業員が勤務時間中に不適切なウェブサイトにアクセスすることができないようにすることができる。   FIG. 30 shows still another arrangement example of the communication control system. Also in this figure, a mobile phone terminal 260 is used as an example of a user terminal. An access request issued from the mobile phone terminal 260 is transmitted to the Internet 200 via the wireless LAN access point 272 and the router device 274, and reaches the web server 250 via the Internet 200. In the example of this figure, the communication control system 100 is provided at the access point 272. As in the example shown in FIG. 28, useless communication can be reduced by filtering packets with an apparatus close to the mobile phone terminal 260. For example, in the case of a wireless LAN in a company, it is possible to prevent employees from accessing inappropriate websites during working hours.

図31は、通信制御システムの更に別の配置例を示す。本図も、無線LANの例を示しているが、図30とは異なり、ルータ装置274に通信制御システム100が設けられる。ルータ装置274に通信制御システム100を設けることにより、通信制御システム100の設置数を低減することができ、メンテナンスも容易となる。   FIG. 31 shows still another arrangement example of the communication control system. This figure also shows an example of a wireless LAN, but unlike FIG. 30, the communication control system 100 is provided in the router device 274. By providing the communication control system 100 in the router device 274, the number of communication control systems 100 can be reduced, and maintenance is facilitated.

図32及び図33は、通信制御システムの更に別の配置例を示す。本図では、ユーザ端末の一例として、パーソナルコンピュータ(PC)290が用いられる例を示している。PC290から発せられるアクセス要求は、LANのルータ装置282及び284を介してインターネット200へ送出され、インターネット200を介してウェブサーバ250へ到達する。図32は、ルータ装置282に通信制御システム100が設けられる例を示しており、図33は、ルータ装置284に通信制御システム100が設けられる例を示している。   32 and 33 show still another arrangement example of the communication control system. This figure shows an example in which a personal computer (PC) 290 is used as an example of a user terminal. An access request issued from the PC 290 is sent to the Internet 200 via the LAN router devices 282 and 284 and reaches the web server 250 via the Internet 200. FIG. 32 shows an example in which the communication control system 100 is provided in the router device 282, and FIG. 33 shows an example in which the communication control system 100 is provided in the router device 284.

上記の例では、ネットワークを構成する装置に通信制御システム100を組み込む例を示したが、通信制御システム100は、これらの装置とは別に、ネットワークの任意の位置に設けられてもよい。   In the above example, an example in which the communication control system 100 is incorporated in a device configuring a network is shown, but the communication control system 100 may be provided at an arbitrary position on the network separately from these devices.

これらの配置例において、基地局装置262やアクセスポイント272のアンテナ、制御局装置264やルータ装置274、282、又は284のネットワークインタフェースなどの受信部により受信された通信データは、アクセス制御の要否を判定することなく、パケット処理回路20により処理されてもよい。すなわち、通信制御システム100は、受信した通信データのアクセス制御の要否に関わらず、通過する全てのパケットを捕捉してフィルタリングしてもよい。また、通信制御システム100は、アクセスを禁止すると判断したパケットを破棄してもよいし、ログを記録するだけでネットワークへ再送出してもよい。   In these arrangement examples, the communication data received by the receiving unit such as the antenna of the base station device 262 or the access point 272, the network device interface of the control station device 264, the router device 274, 282, or 284 is the necessity of access control. May be processed by the packet processing circuit 20 without determining. That is, the communication control system 100 may capture and filter all passing packets regardless of whether access control of received communication data is necessary. Further, the communication control system 100 may discard the packet that is determined to be prohibited from access, or may retransmit the packet to the network simply by recording a log.

(実施の形態1)
つづいて、上述した通信制御装置10を利用した新しい通信制御技術について説明する。
(Embodiment 1)
Next, a new communication control technique using the above-described communication control device 10 will be described.

図34は、実施の形態に係る通信制御装置の構成を示す。本実施の形態の通信制御装置10においては、図3に示した前提技術の通信制御装置10の構成から、MAC処理部6a及び6bが省略されている。その他の構成及び動作は、前提技術と同様である。   FIG. 34 shows the configuration of the communication control apparatus according to the embodiment. In the communication control apparatus 10 of the present embodiment, the MAC processing units 6a and 6b are omitted from the configuration of the communication control apparatus 10 of the base technology shown in FIG. Other configurations and operations are the same as those of the base technology.

通信制御装置10は、OSI参照モデルの第1層である物理層のプロトコルを実装したPHY処理部5aにより、ケーブルなどのネットワーク媒体から受信した電気信号をデータ列に変換すると、上位のプロトコル、すなわち、第2層のデータリンク層、第3層のネットワーク層、第4層のトランスポート層、第5層のセッション層、第6層のプレゼンテーション層、及び第7層のアプリケーション層に関する処理を省略して、データ列をパケット処理回路20の検索回路30へ直接供給する。つまり、受信した通信データの宛先のMACアドレスやIPアドレスの確認など、通信データの着信に必要な処理を省略し、全ての通信データを取り込んで検索回路30へ供給する。   The communication control device 10 converts the electrical signal received from the network medium such as a cable into a data string by the PHY processing unit 5a that implements the protocol of the physical layer that is the first layer of the OSI reference model, , The data link layer of the second layer, the network layer of the third layer, the transport layer of the fourth layer, the session layer of the fifth layer, the presentation layer of the sixth layer, and the application layer of the seventh layer are omitted. Thus, the data string is directly supplied to the search circuit 30 of the packet processing circuit 20. That is, processing necessary for receiving communication data such as confirmation of the destination MAC address and IP address of the received communication data is omitted, and all the communication data is captured and supplied to the search circuit 30.

検索回路30は、PHY処理部5aが受信したフレーム内の任意のデータにアクセスして、ビットマッチングにより検索を実行する。パケット処理回路20は、通信データに対して、複製、転送、追加、削除、変更、圧縮、暗号化、復号化など、任意の編集処理を行って、通信データを出力する。パケット処理回路20から出力された通信データは、宛先のMACアドレスを変更せずに、PHY処理部5bからネットワークへ再送出される。   The search circuit 30 accesses arbitrary data in the frame received by the PHY processing unit 5a, and executes search by bit matching. The packet processing circuit 20 performs arbitrary editing processing such as duplication, transfer, addition, deletion, change, compression, encryption, and decryption on the communication data, and outputs the communication data. The communication data output from the packet processing circuit 20 is retransmitted from the PHY processing unit 5b to the network without changing the destination MAC address.

図35は、実施の形態に係る通信制御技術を説明するための概念図である。通信制御装置10は、通信装置502と通信装置504との間で送受信されている通信データを抜き出して、各種の通信制御を行う。通信装置502が通信装置504へ送信した通信データには、データリンク層における宛先のMACアドレスとして通信装置504のMACアドレスが設定されているが、通信制御装置10は、宛先のMACアドレスを確認せずに通信データを取り込むので、通信装置504に宛てた通信データも取り込んで制御することができる。また、通信制御装置10は、宛先のMACアドレスを変更せずにネットワークへ再送出するので、通信制御装置10により処理された通信データは、そのまま元の宛先である通信装置504へ送信される。したがって、通信装置502及び504は、通信制御装置10の存在を全く意識することなく、通常のプロトコルを用いて通信を行うことができる。図35において、実際には、実線で示した経路により通信データが送受信されるが、通信装置502及び504からは、点線で示したように、お互いの間で直接通信を行っているように見えている。通信装置504から通信装置502へ送信される通信データについても同様である。   FIG. 35 is a conceptual diagram for explaining the communication control technique according to the embodiment. The communication control device 10 extracts communication data transmitted and received between the communication device 502 and the communication device 504, and performs various types of communication control. In the communication data transmitted from the communication device 502 to the communication device 504, the MAC address of the communication device 504 is set as the destination MAC address in the data link layer, but the communication control device 10 confirms the destination MAC address. Therefore, communication data addressed to the communication device 504 can also be captured and controlled. Further, since the communication control apparatus 10 retransmits to the network without changing the destination MAC address, the communication data processed by the communication control apparatus 10 is transmitted to the communication apparatus 504 that is the original destination as it is. Accordingly, the communication devices 502 and 504 can perform communication using a normal protocol without being conscious of the existence of the communication control device 10 at all. In FIG. 35, communication data is actually transmitted and received through the path indicated by the solid line, but it appears that the communication devices 502 and 504 are directly communicating with each other as indicated by the dotted line. ing. The same applies to communication data transmitted from the communication device 504 to the communication device 502.

このように、本実施の形態の通信制御装置10は、MACアドレスやIPアドレスを確認せずに、ネットワークを流れる通信データを抜き出して制御し、通信制御装置10にMACアドレスやIPアドレスを割り当てる必要がない。また、宛先のMACアドレスを書き換えずに、元の宛先のMACアドレスへ通信データを再送出するので、ネットワークの設定を複雑に変更することなく通信制御装置10をネットワークへ導入することができる。   As described above, the communication control apparatus 10 according to the present embodiment needs to extract and control communication data flowing through the network without checking the MAC address or IP address, and assign the MAC address or IP address to the communication control apparatus 10. There is no. Further, since the communication data is retransmitted to the original destination MAC address without rewriting the destination MAC address, the communication control apparatus 10 can be introduced into the network without complicatedly changing the network settings.

本実施の形態の通信制御装置10では、ネットワークにおける通信速度と同等の速度で通信制御処理を完了できるように、検索回路30の比較器の個数やメモリの容量などを設計している。したがって、受信したデータ列を受信バッファにいったん蓄積し、読み出しながら処理を行うのではなく、受信したデータ列を受信バッファに蓄積させず、そのまま即座に検索回路へ供給し、処理を行うことができる。   In the communication control apparatus 10 according to the present embodiment, the number of comparators and the memory capacity of the search circuit 30 are designed so that the communication control process can be completed at a speed equivalent to the communication speed in the network. Therefore, the received data string is not temporarily stored in the reception buffer and processed while being read, but the received data string is not immediately stored in the reception buffer but can be immediately supplied to the search circuit for processing. .

従来の通信制御装置は、例えば、プロトコル番号を参照してプロトコルの種別を判断し、プロトコルに応じた処理を行うが、本実施の形態の通信制御装置10は、プロトコル処理を行わずに、フレーム内のデータに直接アクセスして通信制御を行うので、プロトコルに依存しない汎用的な通信制御を行うことができる。したがって、少量多品種の通信制御装置として利用可能である。   The conventional communication control device, for example, refers to the protocol number to determine the protocol type and performs processing according to the protocol. However, the communication control device 10 according to the present embodiment performs frame processing without performing protocol processing. Since the communication control is performed by directly accessing the data, general-purpose communication control independent of the protocol can be performed. Therefore, the present invention can be used as a small amount and a variety of communication control devices.

特定の通信装置に対して、その通信装置の機械的限界まで通信データを送りつけることにより、通信装置を動作停止に追い込む攻撃があるが、本実施の形態の通信制御装置10は、アドレスを有しないので、攻撃者は通信制御装置10に対して明示的に通信データを送りつけることができない。また、通信制御装置10以外の通信装置に対して攻撃がなされた場合であっても、通信制御装置10は通過中の通信データを抜き出して制御することができるので、その通信装置へ到達する前に、攻撃を意図した通信データを検知して削除することができる。また、通信経路の途中のルータのメモリの故障や、プログラムのバグなどにより通信データが破壊された場合であっても、通信制御装置10により検知して削除することができるので、ネットワークや通信装置の負荷を低減させることができる。   There is an attack that drives a communication device to stop operation by sending communication data to a specific communication device to the mechanical limit of the communication device. However, the communication control device 10 of the present embodiment has an address. Therefore, the attacker cannot explicitly send communication data to the communication control device 10. Further, even when an attack is made against a communication device other than the communication control device 10, the communication control device 10 can extract and control the communication data being passed, so In addition, communication data intended for attack can be detected and deleted. Further, even when communication data is destroyed due to a router memory failure or a program bug in the middle of a communication path, the communication control device 10 can detect and delete the data, so that the network or communication device Can be reduced.

通信制御に必要な情報を収集するなどの目的で、他の通信装置との間で通信を行う必要がある場合には、仮想的なIPアドレスを用いて通信を行ってもよい。例えば、通信装置との間で通信を行う際に、通信制御装置10よりも下流のネットワークに接続されている通信装置のIPアドレスを仮想的に通信制御装置10に割り当てて通信を行う。   When it is necessary to communicate with another communication device for the purpose of collecting information necessary for communication control, the communication may be performed using a virtual IP address. For example, when communicating with a communication device, the communication control device 10 is virtually assigned an IP address of a communication device connected to a network downstream from the communication control device 10 to perform communication.

図36は、実施の形態に係る通信制御装置の別の構成例を示す。図36に示した通信制御装置10は、図34に示した通信制御装置10の構成に加えて、判定部510及び仮想通信装置520を更に備える。その他の構成及び動作は、図34に示した通信制御装置10と同様である。   FIG. 36 shows another configuration example of the communication control apparatus according to the embodiment. The communication control apparatus 10 illustrated in FIG. 36 further includes a determination unit 510 and a virtual communication apparatus 520 in addition to the configuration of the communication control apparatus 10 illustrated in FIG. Other configurations and operations are the same as those of the communication control apparatus 10 shown in FIG.

仮想通信装置520は、通信制御装置10における通信制御に必要な情報を、他の通信装置との間で送受信する。例えば、通信制御装置10をルータ装置として機能させる場合、仮想通信装置520は、BGP4(Border Gateway Protocol 4)などのプロトコルにしたがって、他のルータ装置との間で経路情報をやり取りする。このとき、仮想通信装置520は、BGP4による通信を行う相手のルータ装置の方向を上流とすると、自装置よりも下流のネットワークに接続された他の通信装置に割り当てられたIPアドレスを取得し、そのIPアドレスを仮想通信装置520の仮想IPアドレスとして判定部510へ通知する。また、仮想通信装置520は、仮想IPアドレスを用いて他の装置との間で通信を行うプロトコルのプロトコル番号を判定部510へ通知する。このように、仮想通信装置520は、下流の通信装置から取得したIPアドレスを仮想的に自装置のIPアドレスに設定して、他の装置との間で通信を行う。   The virtual communication device 520 transmits / receives information necessary for communication control in the communication control device 10 to / from other communication devices. For example, when the communication control device 10 functions as a router device, the virtual communication device 520 exchanges route information with other router devices according to a protocol such as BGP4 (Border Gateway Protocol 4). At this time, the virtual communication device 520 obtains an IP address assigned to another communication device connected to a network downstream from the own device, assuming that the direction of the router device of the other party performing communication by BGP4 is upstream, The IP address is notified to determination section 510 as the virtual IP address of virtual communication device 520. Further, the virtual communication device 520 notifies the determination unit 510 of the protocol number of the protocol for performing communication with other devices using the virtual IP address. As described above, the virtual communication device 520 virtually sets the IP address acquired from the downstream communication device as the IP address of the own device, and performs communication with other devices.

判定部510は、PHY処理部5aが受信した通信データのうち、送信先のIPアドレスが、仮想通信装置520から通知された仮想IPアドレスに一致し、かつ、プロトコル番号が、仮想通信装置520から通知されたプロトコル番号に一致する通信データを、パケット処理回路20へ供給せずに、仮想通信装置520へ送る。仮想通信装置520は、判定部510から送られた通信データを処理する。例えば、他のルータ装置から送信された経路情報を取得してルーティングテーブルを再計算し、パケット処理回路20へ投入する。仮想通信装置520は、他の通信装置へ通信データを送信する場合は、送信元のIPアドレスに仮想IPアドレスを設定し、PHY処理部5bを介してネットワークへ送出する。   In the communication data received by the PHY processing unit 5a, the determination unit 510 has a destination IP address that matches the virtual IP address notified from the virtual communication device 520, and a protocol number from the virtual communication device 520. Communication data matching the notified protocol number is sent to the virtual communication device 520 without being supplied to the packet processing circuit 20. The virtual communication device 520 processes the communication data sent from the determination unit 510. For example, route information transmitted from another router device is acquired, the routing table is recalculated, and input to the packet processing circuit 20. When transmitting communication data to another communication device, the virtual communication device 520 sets a virtual IP address as the IP address of the transmission source, and sends it to the network via the PHY processing unit 5b.

図37は、実施の形態に係る通信制御技術を説明するための概念図である。通信制御装置10は、通信装置502が通信装置504へ送信した通信データのうち、実際には仮想通信装置520が受信すべき通信データを抜き出して、仮想通信装置520へ送る。また、仮想通信装置520は、通信装置502に通信データを送信するときに、送信元のIPアドレスとして、通信装置504のIPアドレスを設定する。図37において、実際には、実線で示した経路により通信データが送受信されるが、通信装置502は、点線で示したように、通信装置504との間で通信を行っているように見えている。これにより、実際にはIPアドレスを有しない仮想通信装置520が、他の通信装置502との間で通信を行うことが可能となる。   FIG. 37 is a conceptual diagram for explaining the communication control technique according to the embodiment. The communication control apparatus 10 extracts the communication data that the virtual communication apparatus 520 should actually receive from the communication data transmitted from the communication apparatus 502 to the communication apparatus 504 and sends it to the virtual communication apparatus 520. Further, when transmitting communication data to the communication device 502, the virtual communication device 520 sets the IP address of the communication device 504 as the source IP address. In FIG. 37, communication data is actually transmitted and received through the path indicated by the solid line, but the communication device 502 appears to be communicating with the communication device 504 as indicated by the dotted line. Yes. As a result, the virtual communication device 520 that does not actually have an IP address can communicate with another communication device 502.

(実施の形態2)
つづいて、上述した通信制御装置10において実行すべき処理を高速に判定する技術について説明する。
(Embodiment 2)
Next, a technique for determining the processing to be executed in the communication control apparatus 10 described above at high speed will be described.

図38は、実施の形態に係るパケット処理回路20の構成を示す。図38に示したパケット処理回路20は、本発明に係る判定装置の一例であり、図4に示した前提技術に係るパケット処理回路20の構成に加えて、比較対象抽出回路300を更に備える。その他の構成及び動作は、前提技術と同様である。   FIG. 38 shows a configuration of the packet processing circuit 20 according to the embodiment. The packet processing circuit 20 illustrated in FIG. 38 is an example of a determination device according to the present invention, and further includes a comparison target extraction circuit 300 in addition to the configuration of the packet processing circuit 20 according to the base technology illustrated in FIG. Other configurations and operations are the same as those of the base technology.

図39は、通信制御装置10が取得した通信データの例を示す。通信データ310には、通信プロトコルの種別に応じたパケットレイアウトでデータが格納されている。図39では、説明の便宜のため、データエリアに番号を付している。例えば、データエリアが「1」であるデータを、「データ1」と表記する。   FIG. 39 shows an example of communication data acquired by the communication control apparatus 10. The communication data 310 stores data with a packet layout corresponding to the type of communication protocol. In FIG. 39, data areas are numbered for convenience of explanation. For example, data whose data area is “1” is expressed as “data 1”.

図40は、通信制御装置10において実行すべき処理を判定するためのフローチャートの例を示す。図40の例では、通信制御装置10が取得した通信データ310のうち、データ1、データ5、及びデータ7を判定基準として用い、それらのデータをもとに複数回の条件判断分岐を経て、実行すべき処理が判定されている。このフローチャートにしたがって一連の処理を実行するためには、2〜3回の条件判断分岐が必要となる。   FIG. 40 shows an example of a flowchart for determining processing to be executed in the communication control apparatus 10. In the example of FIG. 40, among the communication data 310 acquired by the communication control apparatus 10, data 1, data 5, and data 7 are used as determination criteria, and after a plurality of condition determination branches based on those data, Processing to be executed has been determined. In order to execute a series of processes according to this flowchart, two or three conditional decision branches are required.

図41は、本実施の形態に係る判定方法を説明するための図である。比較対象抽出回路300は、通信制御装置10が取得した通信データ310の中から、実行すべき処理を判定するために用いられる複数の判定用データを抽出し、それらを連結することにより比較対象データ320を生成する。図40に示したフローチャートの例では、通信データ310の中から、データ1の「A」、データ5の「E」、及びデータ7の「F」を抽出し、それらを連結することにより、比較対象データ320として「AEF」を生成する。比較対象抽出回路300は、生成した比較対象データ320をインデックス回路34及びバイナリサーチ回路36へ供給する。比較対象抽出回路300は、通信データ310の中から判定用データを抽出する際に、位置検出回路32を用いてその判定用データの位置を検出してもよい。   FIG. 41 is a diagram for explaining the determination method according to the present embodiment. The comparison target extraction circuit 300 extracts a plurality of determination data used for determining a process to be executed from the communication data 310 acquired by the communication control apparatus 10 and connects them together to compare the comparison target data. 320 is generated. In the example of the flowchart shown in FIG. 40, “A” of data 1, “E” of data 5, and “F” of data 7 are extracted from communication data 310, and the comparison is performed by connecting them. “AEF” is generated as the target data 320. The comparison target extraction circuit 300 supplies the generated comparison target data 320 to the index circuit 34 and the binary search circuit 36. The comparison target extraction circuit 300 may detect the position of the determination data using the position detection circuit 32 when extracting the determination data from the communication data 310.

図42は、本実施の形態に係る第1データベース50及び第2データベース60の内部データの例を示す。第1データベース50には、データ1、データ5、データ7のそれぞれが取り得る値を連結した基準データが格納されている。また、第2データベース60には、データ1、データ5、データ7の値の組合せに対して、図40に示したフローチャートにしたがって複数回の条件判断分岐を経て判定された実行すべき処理の内容が基準データに対応づけて格納されている。例えば、データ1が「A」、データ5が「E」、データ7が「F」という組合せであれば、基準データは「AEF」となり、図40のフローチャートから分かるように、実行すべき処理の内容は「処理a+処理e」となる。バイナリサーチ回路36は、比較対象抽出回路300により生成された比較対象データ320を第1データベース50から検索することにより、複数回の条件判断分岐をまとめて実行し、比較対象データに合致する基準データに対応づけられた実行すべき処理の内容を出力する。処理実行回路40は、検索回路30により判定された処理の内容を実行する。   FIG. 42 shows an example of internal data of the first database 50 and the second database 60 according to the present embodiment. The first database 50 stores reference data obtained by concatenating possible values of the data 1, data 5, and data 7. Also, the second database 60 contains the contents of the processing to be executed, which are determined through a plurality of condition determination branches according to the flowchart shown in FIG. 40, for the combinations of the values of data 1, data 5, and data 7. Are stored in association with the reference data. For example, if data 1 is “A”, data 5 is “E”, and data 7 is “F”, the reference data is “AEF”. As can be seen from the flowchart of FIG. The content is “processing a + processing e”. The binary search circuit 36 searches the comparison target data 320 generated by the comparison target extraction circuit 300 from the first database 50, thereby executing a plurality of conditional decision branches at once, and the reference data that matches the comparison target data Outputs the contents of the process to be executed associated with. The process execution circuit 40 executes the contents of the process determined by the search circuit 30.

このように、予め通信データの中から判定の基準となるデータを抽出し、それらを連結して比較対象データを生成するとともに、生成される比較対象データの答えを予想したデータベースを用意しておくことにより、実行すべき処理を判定するための複数の条件判断分岐を逐次実行するのではなく、まとめて同時に実行することができる。これにより、実行すべき処理を高速に判定することができる。   In this way, data that is a criterion for determination is extracted from communication data in advance, and the comparison target data is generated by connecting them, and a database that predicts the answer of the generated comparison target data is prepared. As a result, a plurality of condition determination branches for determining the process to be executed can be simultaneously executed instead of being executed sequentially. Thereby, the process to be executed can be determined at high speed.

また、複数の条件判断分岐を含むロジックをデータで表現することができるので、ロジックを変更する際に、ソフトウェア全体を変更する代わりに、第1データベース50又は第2データベース60を変更すればよい。これにより、工数を低減することができる。   In addition, since logic including a plurality of condition determination branches can be expressed by data, the first database 50 or the second database 60 may be changed instead of changing the entire software when changing the logic. Thereby, a man-hour can be reduced.

図43は、本実施の形態に係る第1データベース50及び第2データベース60の内部データの別の例を示す。図43の例では、基準データに含まれる複数の判定用データの値の組合せにおいて、複数回の条件判断分岐に用いられない判定用データがある場合には、その判定用データはマスクされている。例えば、図40に示したフローチャートにおいて、データ1が「A」であれば、データ5に関する条件判断分岐は実行されないので、データ5がいかなるデータであっても同じ結果となる。したがって、データ1として「A」を含む基準データには、データ5としてワイルドカードが格納されている。   FIG. 43 shows another example of internal data of the first database 50 and the second database 60 according to the present embodiment. In the example of FIG. 43, when there is determination data that is not used for multiple conditional determination branches in a combination of values of a plurality of determination data included in the reference data, the determination data is masked. . For example, in the flowchart shown in FIG. 40, if the data 1 is “A”, the condition determination branch for the data 5 is not executed, so the same result is obtained regardless of the data 5. Therefore, the reference data including “A” as data 1 stores a wild card as data 5.

データをマスクして比較するには、前提技術において説明したように、比較対象データと基準データの双方のマスクする位置のデータを所定のデータ、例えば「0」に置換してから比較回路へ入力してもよいし、マスクする位置のデータを比較する比較回路に、両者が一致した旨の出力信号を出力させてもよいし、マスクする位置のデータの比較結果として、比較回路を介さずに両者が一致した旨の出力信号を供給してもよいし、それぞれの比較回路の出力信号を取得して比較結果を判定する回路において、マスクする位置のデータの比較結果を無視してもよい。   In order to compare the data by masking, as described in the base technology, the data at the masked position of both the comparison target data and the reference data is replaced with predetermined data, for example, “0” and then input to the comparison circuit Alternatively, the comparison circuit that compares the data at the masking position may output an output signal indicating that both match, or the comparison result of the data at the masking position may be output without going through the comparison circuit. An output signal indicating that the two match each other may be supplied, or the comparison result of the data at the masked position may be ignored in the circuit that obtains the output signal of each comparison circuit and determines the comparison result.

このような構成を採用することにより、第1データベース50の容量を低減することができるとともに、比較処理の効率を向上させることができる。   By adopting such a configuration, the capacity of the first database 50 can be reduced, and the efficiency of the comparison process can be improved.

図44は、本実施の形態に係る判定方法の別の例を説明するための図である。比較対象抽出回路300は、通信データ310の中から、条件判断分岐のために用いられる複数の判定用データを含むように予め定められた所定位置から所定長の比較対象データを抽出する。図44の例では、判定用データであるデータ1、データ5、及びデータ7を含むように、データ1からデータ7までのデータが比較対象データとして抽出される。この場合、第1データベース50には、図45に示すように、比較対象データと同じデータ長の基準データが格納される。   FIG. 44 is a diagram for explaining another example of the determination method according to the present embodiment. The comparison target extraction circuit 300 extracts, from the communication data 310, comparison target data having a predetermined length from a predetermined position so as to include a plurality of determination data used for condition determination branching. In the example of FIG. 44, data from data 1 to data 7 is extracted as comparison target data so as to include data 1, data 5, and data 7 as determination data. In this case, the first database 50 stores reference data having the same data length as the comparison target data, as shown in FIG.

図45は、本実施の形態に係る第1データベース50及び第2データベース60の内部データの別の例を示す。図45の例では、判定用データとして用いられないデータも含んだ形式で基準データが格納されている。第1データベース50の基準データは、比較対象データとして抽出されるデータ1からデータ7までのデータと同じデータ長を有し、それぞれの判定用データの位置に、判定用データのそれぞれが取り得る値が格納されている。判定用データ以外の位置には、ワイルドカードが格納されている。   FIG. 45 shows another example of internal data of the first database 50 and the second database 60 according to the present embodiment. In the example of FIG. 45, the reference data is stored in a format including data that is not used as determination data. The reference data of the first database 50 has the same data length as the data from data 1 to data 7 extracted as the comparison target data, and values that can be taken by the determination data at the positions of the determination data. Is stored. Wildcards are stored at positions other than the determination data.

インデックス回路34及びバイナリサーチ回路36は、複数の判定用データ以外のデータをマスクして比較対象データをデータベースから検索する。これにより、複数回の条件判断分岐をまとめて実行し、比較対象データに合致する前記基準データに対応づけられた実行すべき処理の内容を高速に判定することができる。   The index circuit 34 and the binary search circuit 36 search data for comparison from the database by masking data other than the plurality of determination data. As a result, a plurality of condition determination branches can be executed together, and the contents of the process to be executed associated with the reference data matching the comparison target data can be determined at high speed.

図46は、実施の形態に係るパケット処理回路20の別の構成例を示す。図46に示したパケット処理回路20は、図38に示したパケット処理回路20の構成に加えて、比較対象設定回路330を更に備え、複数の第1データベース50a及び50bを備える。比較対象設定回路330は、比較対象抽出回路300が抽出すべきデータを設定する。比較対象抽出回路300は、比較対象設定回路330により設定されたデータを抽出して比較対象データを生成する。その他の構成及び動作は、図38に示したパケット処理回路20と同様である。   FIG. 46 shows another configuration example of the packet processing circuit 20 according to the embodiment. The packet processing circuit 20 illustrated in FIG. 46 further includes a comparison target setting circuit 330 in addition to the configuration of the packet processing circuit 20 illustrated in FIG. 38, and includes a plurality of first databases 50a and 50b. The comparison target setting circuit 330 sets data to be extracted by the comparison target extraction circuit 300. The comparison target extraction circuit 300 extracts the data set by the comparison target setting circuit 330 and generates comparison target data. Other configurations and operations are the same as those of the packet processing circuit 20 shown in FIG.

図47は、本実施の形態に係る判定方法の別の例を説明するための図である。図47の例では、比較対象設定回路330により、データ1、データ5、及びデータ7に代えて、データ3、データ6、及びデータ10を抽出するように設定されている。比較対象抽出回路300は、この設定にしたがって、通信データ310の中からデータ3、データ6、及びデータ10を抽出して比較対象データ320を生成する。これにより、比較対象データとして抽出する判定用データを任意に設定することができる。設定の変更に合わせて、第1データベース50の基準データを切り替えることで、実行すべき処理を判定するためのロジックを容易に変更することができる。   FIG. 47 is a diagram for explaining another example of the determination method according to the present embodiment. In the example of FIG. 47, the comparison target setting circuit 330 is set to extract data 3, data 6, and data 10 instead of data 1, data 5, and data 7. In accordance with this setting, the comparison target extraction circuit 300 extracts data 3, data 6, and data 10 from the communication data 310 to generate comparison target data 320. Thereby, the data for determination extracted as comparison object data can be set arbitrarily. The logic for determining the process to be executed can be easily changed by switching the reference data of the first database 50 in accordance with the change of the setting.

比較対象設定回路330は、比較対象抽出回路300が抽出すべきデータを動的に切り替えてもよい。この場合、比較対象設定回路330は、適用すべき第1データベース50を動的に切り替えてもよい。これにより、比較対象データと基準データの双方を動的に切り替え、異なるロジックで実行すべき処理を決定することができるので、例えば、1台の通信制御装置10により異なる複数の通信プロトコルの処理を実行したり、複数のユーザの設定に応じたフィルタリング処理を実行したりすることができる。   The comparison target setting circuit 330 may dynamically switch data to be extracted by the comparison target extraction circuit 300. In this case, the comparison target setting circuit 330 may dynamically switch the first database 50 to be applied. Thereby, since both the comparison target data and the reference data can be dynamically switched and processing to be executed with different logic can be determined, for example, processing of a plurality of different communication protocols can be performed by one communication control device 10. It is possible to execute the filtering process according to the settings of a plurality of users.

図48は、実施の形態に係るパケット処理回路20の別の構成例を示す。図48に示したパケット処理回路20は、図38に示したパケット処理回路20の構成に加えて、報知回路340を更に備える。報知回路340は、比較対象データが第1データベース50の基準データのいずれにも合致しなかった場合に、その旨を外部の装置へ報知する。その他の構成及び動作は、図38に示したパケット処理回路20と同様である。   FIG. 48 shows another configuration example of the packet processing circuit 20 according to the embodiment. The packet processing circuit 20 shown in FIG. 48 further includes a notification circuit 340 in addition to the configuration of the packet processing circuit 20 shown in FIG. When the comparison target data does not match any of the reference data in the first database 50, the notification circuit 340 notifies the external device to that effect. Other configurations and operations are the same as those of the packet processing circuit 20 shown in FIG.

比較対象データが第1データベース50の基準データのいずれにも合致しなかった場合、実行すべき処理を判定するためのロジックに漏れがあることになる。このとき、報知回路340にその旨を報知させることにより、第1データベース50及び第2データベース60を適切に修正し、ロジックの漏れを無くすことができる。図48の例では、報知回路340は、第1データベース50の基準データのいずれにも合致しなかった比較対象データをデータベースサーバ150へ報知する。データベースサーバ150は、オペレータなどから、この比較対象データに対して実行すべき処理の内容を受け付け、第1データベース50に、この比較対象データと同じ基準データのレコードを追加するとともに、第2データベース60に、受け付けた処理の内容をこの基準データに対応づけて格納する。データベースサーバ150は、修正済みの第1データベース50及び第2データベース60を通信制御装置10へ再投入し、データベースの修正を反映させる。   If the comparison target data does not match any of the reference data in the first database 50, there is a leak in the logic for determining the process to be executed. At this time, by notifying the notification circuit 340 to that effect, it is possible to appropriately correct the first database 50 and the second database 60 and eliminate the leakage of logic. In the example of FIG. 48, the notification circuit 340 notifies the database server 150 of comparison target data that does not match any of the reference data in the first database 50. The database server 150 accepts the contents of processing to be performed on the comparison target data from an operator or the like, adds a record of the same reference data as the comparison target data to the first database 50, and the second database 60. The contents of the accepted process are stored in association with the reference data. The database server 150 re-injects the corrected first database 50 and second database 60 into the communication control apparatus 10 to reflect the correction of the database.

(実施の形態3)
つづいて、上述した通信制御装置10の異常を検知する技術について説明する。
(Embodiment 3)
Next, a technique for detecting the abnormality of the communication control device 10 described above will be described.

図49は、実施の形態に係る検知回路の構成を示す。検知回路201は、通信ケーブルを通信制御装置に接続するためのコネクタが抜けたり接触不良を生じたりするなどの物理的な異常により通信データを受信できない状態に陥っていることを検知する。近年、インターネットにおける通信量が飛躍的に増大しているとともに、ダイナミック・ルーティングを実現するためのRIP(Routing Information Protocol)などのプロトコルによりルータ間で常時通信が行われていたり、ポーリングなどによる通信が行われていることが多いので、通信制御装置が通信データを長時間受信しない状況になることはほとんどない。したがって、検知回路は、所定時間以上通信データを受信しなかったことを検知して、コネクタが抜けている旨の警告を発する。   FIG. 49 shows a configuration of the detection circuit according to the embodiment. The detection circuit 201 detects that communication data cannot be received due to a physical abnormality such as a connector for connecting the communication cable to the communication control device being disconnected or a contact failure. In recent years, the amount of communication on the Internet has increased dramatically, and communication is always performed between routers using a protocol such as RIP (Routing Information Protocol) for realizing dynamic routing, or communication by polling or the like. In many cases, the communication control apparatus is unlikely to receive communication data for a long time. Therefore, the detection circuit detects that the communication data has not been received for a predetermined time or more and issues a warning that the connector is disconnected.

検知回路201は、入力部202、カウンタ回路204、及び報知部206を含む。入力部202は、通信ケーブルから着信した通信データを取得し、通信制御部2へ送る。入力部202は、通信データを取得したときに、カウンタ回路204へリセット信号を送る。入力部202は、ディジタル形式で取得した通信データ自体をリセット信号としてカウンタ回路204へ送ってもよい。この場合、「1」の通信データを取得するたびにカウンタ回路204がリセットされる。また、入力部202は、通信データの波形の立ち上がり又は立ち下がりに同期してリセット信号をカウンタ回路204へ送ってもよい。要は、入力部202が取得した通信データからカウンタ回路204のリセット信号が生成されてカウンタ回路204へ入力されるようになっており、入力部202が通信データを取得している間はカウンタ回路204がリセットされ続けるように構成されていればよい。報知部206は、カウンタ回路204のカウンタ値が所定値を超えたときに、その旨を報知する。以上のような構成により、簡易な構成で、通信制御装置10の物理的な異常を的確に検知して報知することができるので、通信制御の安全性を高めることができる。また、主となる通信制御装置10の構成とは別に、検知回路を追加することもできる。   The detection circuit 201 includes an input unit 202, a counter circuit 204, and a notification unit 206. The input unit 202 acquires communication data received from the communication cable and sends it to the communication control unit 2. The input unit 202 sends a reset signal to the counter circuit 204 when communication data is acquired. The input unit 202 may send the communication data itself acquired in digital format to the counter circuit 204 as a reset signal. In this case, the counter circuit 204 is reset every time the communication data “1” is acquired. Further, the input unit 202 may send a reset signal to the counter circuit 204 in synchronization with the rising or falling edge of the communication data waveform. In short, the reset signal of the counter circuit 204 is generated from the communication data acquired by the input unit 202 and is input to the counter circuit 204. While the input unit 202 acquires the communication data, the counter circuit What is necessary is just to be comprised so that 204 may continue resetting. When the counter value of the counter circuit 204 exceeds a predetermined value, the notification unit 206 notifies that fact. With the above configuration, a physical abnormality of the communication control device 10 can be accurately detected and notified with a simple configuration, so that the safety of communication control can be improved. In addition to the configuration of the main communication control device 10, a detection circuit can be added.

例えば、従来の公衆交換電話網では、交換機と加入者電話端末が電気的に接続され、閉じた回路を形成していたので、交換機のコネクタが外れてしまうなどの物理的な異常を容易に検知することができたが、IP電話網における交換機として前提技術の通信制御装置10を利用する場合には、通信制御装置10と端末との間での電気的な接続はないので、本実施の形態の技術が特に有効である。   For example, in a conventional public switched telephone network, the exchange and the subscriber telephone terminal are electrically connected to form a closed circuit, so that a physical abnormality such as disconnection of the connector of the exchange is easily detected. However, in the case where the communication control device 10 of the base technology is used as an exchange in the IP telephone network, there is no electrical connection between the communication control device 10 and the terminal. This technique is particularly effective.

(実施の形態4)
つづいて、上述した通信制御装置10において、複数の種別の通信データを制御する技術について説明する。例えば、IPv4におけるIPアドレスの枯渇により、より広大なアドレス空間が用意されたIPv6への移行が進行しているが、移行の過渡期においては、IPv4とIPv6の双方のパケットが通信されるので、双方のパケットを適切に制御する技術が求められる。本実施の形態では、複数の種別の通信データのうち、通信データの種別に応じて、検索対象となるデータのみを残して他のデータをマスクすることにより、検索対象となるデータを切り替える技術について説明する。
(Embodiment 4)
Next, a technique for controlling a plurality of types of communication data in the communication control apparatus 10 described above will be described. For example, due to the exhaustion of IP addresses in IPv4, the transition to IPv6 with a larger address space is in progress, but both IPv4 and IPv6 packets are communicated during the transitional period, A technique for appropriately controlling both packets is required. In the present embodiment, among the plurality of types of communication data, according to the type of communication data, only the data to be searched is left and other data is masked to switch the data to be searched. explain.

図50は、実施の形態に係る通信制御装置のパケット処理回路の構成を示す。図50に示したパケット処理回路20は、図13に示した前提技術の通信制御装置10のパケット処理回路20の構成に加えて、マスク回路380及びワークメモリ382を更に備える。その他の構成及び動作は、前提技術と同様である。   FIG. 50 shows a configuration of a packet processing circuit of the communication control apparatus according to the embodiment. The packet processing circuit 20 shown in FIG. 50 further includes a mask circuit 380 and a work memory 382 in addition to the configuration of the packet processing circuit 20 of the communication control apparatus 10 of the base technology shown in FIG. Other configurations and operations are the same as those of the base technology.

本実施の形態では、通信制御装置10が取得したIPパケットの送信元IPアドレスを、正当なユーザの端末のIPアドレスを格納したユーザデータベース57から検索することにより、送信元のユーザを認証する例について説明する。   In the present embodiment, an example of authenticating a transmission source user by searching a transmission source IP address of an IP packet acquired by the communication control device 10 from a user database 57 storing an IP address of a legitimate user's terminal. Will be described.

本実施の形態では、位置検出回路32は、通信データの所定位置から所定長のデータを比較対象データとして抽出する抽出部として機能する。位置検出回路32が比較対象データを抽出する通信データの位置とデータ長は、通信データの種別によらず、検索回路30において検索対象となる検索対象データが含まれるように設定される。本実施の形態の例では、IPv4パケットにおいても、IPv6パケットにおいても、検索対象となる送信元IPアドレスが含まれるように、比較対象データが抽出される。   In the present embodiment, the position detection circuit 32 functions as an extraction unit that extracts data of a predetermined length from a predetermined position of communication data as comparison target data. The position and data length of the communication data from which the position detection circuit 32 extracts the comparison target data are set so that the search target data to be searched in the search circuit 30 is included regardless of the type of communication data. In the example of the present embodiment, the comparison target data is extracted so that the source IP address to be searched is included in both the IPv4 packet and the IPv6 packet.

IPv6においては、IPヘッダの先頭から65ビット目以降に、128ビット分の「送信元IPアドレス(Source Address)」が格納されている。IPv4においては、パケットヘッダの先頭から65ビット目以降には、8ビットの「生存時間(Time to Live)」、8ビットの「プロトコル(Protocol)」、16ビットの「ヘッダチェックサム(Header Checksum)」、32ビットの「送信元IPアドレス(Source Address)」、32ビットの「送信先IPアドレス(Destination Address)」、可変長の「オプション(Option)」及び「パディング(Padding)」が格納されている。したがって、位置検出回路32は、いずれのパケットであっても検索対象データとなる送信元IPアドレスが含まれるように、IPヘッダの65ビット目から128ビット分を比較対象データとして抽出し、マスク回路380へ送る。   In IPv6, “source IP address” for 128 bits is stored after the 65th bit from the top of the IP header. In IPv4, after the 65th bit from the beginning of the packet header, an 8-bit “Time to Live”, an 8-bit “Protocol”, and a 16-bit “Header Checksum” ”, 32-bit“ source IP address ”, 32-bit“ destination IP address (Destination Address) ”, variable-length“ Option ”and“ Padding ”are stored. Yes. Therefore, the position detection circuit 32 extracts 128 bits from the 65th bit of the IP header as comparison target data so that the transmission source IP address that is the search target data is included in any packet, and the mask circuit Send to 380.

この場合、IPv6パケットであれば、位置検出回路32は、ちょうど「送信元IPアドレス」を比較対象データとして取り出すことになるが、IPv4パケットであれば、「送信元IPアドレス」以外のデータも含んだ形で比較対象データが取り出される。位置検出回路32は、マスク回路380の動作のために、IPヘッダに格納されているIPのバージョン番号をマスク回路380へ通知する。   In this case, if it is an IPv6 packet, the position detection circuit 32 will just extract “source IP address” as comparison target data, but if it is an IPv4 packet, it also includes data other than “source IP address”. The comparison target data is extracted in the form of an oval. The position detection circuit 32 notifies the mask circuit 380 of the IP version number stored in the IP header for the operation of the mask circuit 380.

マスク回路380は、取得した通信データの種別に応じて、位置検出回路32により抽出された比較対象データのうち、検索回路30が検索対象とする検索対象データ以外のデータをマスクして検索回路30へ供給する。マスク回路380は、位置検出回路32から通知されるIPヘッダの「バージョン(Version)」を参照し、バージョンが「6」であれば、取り出された比較対象データをそのままインデックス回路34へ送る。バージョンが「4」であれば、マスク回路380は、取り出された比較対象データをいったんワークメモリ382へ格納し、比較対象データのうち、「送信元IPアドレス」以外のデータをマスクする。すなわち、マスク回路380は、比較対象データの先頭から32ビット分と、65ビット目から64ビット分をマスクする。これにより、IPv4パケットから生成された比較対象データは、検索対象となる「送信元IPアドレス」のみを残してマスクされる。マスク回路380は、マスクした比較対象データをインデックス回路34へ送る。   The mask circuit 380 masks data other than the search target data to be searched by the search circuit 30 among the comparison target data extracted by the position detection circuit 32 according to the type of the acquired communication data, and searches the search circuit 30. To supply. The mask circuit 380 refers to the “Version” of the IP header notified from the position detection circuit 32, and if the version is “6”, the extracted comparison target data is sent to the index circuit 34 as it is. If the version is “4”, the mask circuit 380 temporarily stores the extracted comparison target data in the work memory 382 and masks data other than the “source IP address” in the comparison target data. That is, the mask circuit 380 masks 32 bits from the beginning of the comparison target data and 64 bits from the 65th bit. As a result, the comparison target data generated from the IPv4 packet is masked leaving only the “source IP address” to be searched. The mask circuit 380 sends the masked comparison target data to the index circuit 34.

図51は、ユーザデータベース57の内部データの例を示す。ユーザデータベース57は、通信制御装置10が通信データの送信元のユーザを認証するために、ユーザの端末のIPアドレスのリストを基準データとして格納している。ユーザデータベース57には、IPv6のIPアドレス及びIPv4のIPアドレスが格納されているが、いずれの基準データも、位置検出回路32において抽出される比較対象データと同じデータ長を有しており、その基準データが比較されるべき通信データの種別に応じて、比較対象データにおける検索対象データの位置以外の位置のデータがマスクされている。すなわち、IPv6の128ビットのIPアドレスは、そのままの形で格納されるが、IPv4の32ビットのIPアドレスは、IPv6のIPアドレスのビット長と同じ128ビットのビット列のうち、先頭から33ビット目から64ビット目までに格納され、残りのビットには「0」がセットされている。   FIG. 51 shows an example of internal data of the user database 57. The user database 57 stores a list of IP addresses of user terminals as reference data in order for the communication control apparatus 10 to authenticate a user who is a transmission source of communication data. The user database 57 stores the IPv6 IP address and the IPv4 IP address, but both reference data have the same data length as the comparison target data extracted by the position detection circuit 32. Data at positions other than the position of the search target data in the comparison target data is masked according to the type of communication data to be compared with the reference data. That is, the IPv6 128-bit IP address is stored as it is, but the IPv4 32-bit IP address is the 33rd bit from the top of the 128-bit bit string that is the same as the bit length of the IPv6 IP address. To 64th bit, and the remaining bits are set to “0”.

マスク回路380は、ユーザデータベース57に格納された基準データのうち、比較対象データにおける検索対象データの位置以外の位置に格納されているデータと同じデータを、比較対象データのうち検索対象データ以外の位置に格納する。したがって、本実施の形態の例では、マスク回路380は、比較対象データのマスクすべき位置に「0」を格納する。マスクすべき位置に格納するデータは、ユーザデータベース57の基準データと共通に使用されていれば任意のデータであってよい。   The mask circuit 380 uses the same data as the data stored in the reference data stored in the user database 57 at a position other than the position of the search target data in the comparison target data. Store in position. Therefore, in the example of the present embodiment, the mask circuit 380 stores “0” at the position where the comparison target data is to be masked. The data stored at the position to be masked may be arbitrary data as long as it is used in common with the reference data of the user database 57.

インデックス回路34及びバイナリサーチ回路36は、前提技術で説明した方法と同様に、マスク回路380から供給された比較対象データをユーザデータベース57から検索する。このように、比較対象データにおける検索対象データの位置が、通信データの種別に応じて異なる場合であっても、第1データベース50に格納される基準データと、位置検出回路32により抽出される比較対象データの双方を、同じ位置に検索対象データが含まれるようにマスクしているので、同じインデックス回路34及びバイナリサーチ回路36を用いて検索を実行することができる。したがって、簡易な構成により、通信データのうち所望のデータを検索対象とすることができる。   The index circuit 34 and the binary search circuit 36 search the user database 57 for the comparison target data supplied from the mask circuit 380 in the same manner as the method described in the base technology. Thus, even when the position of the search target data in the comparison target data differs depending on the type of communication data, the reference data stored in the first database 50 and the comparison extracted by the position detection circuit 32 Since both of the target data are masked so that the search target data is included in the same position, the search can be executed using the same index circuit 34 and binary search circuit 36. Therefore, it is possible to search for desired data among communication data with a simple configuration.

処理実行回路40は、マスク回路380がマスクする前の通信データを必要とする場合は、ワークメモリ382からマスクされていない元の通信データを読み出して必要な制御を行う。このように、本実施の形態の技術によれば、複数の種別の通信データを適切に制御することができる。   When the communication data before masking by the mask circuit 380 is required, the processing execution circuit 40 reads the original communication data not masked from the work memory 382 and performs necessary control. As described above, according to the technique of the present embodiment, it is possible to appropriately control a plurality of types of communication data.

マスク回路380は、比較対象データのうち、検索対象データ以外の位置に、ワイルドカードとして機能するデータを格納してもよい。インデックス回路34及びバイナリサーチ回路36の比較器は、ワイルドカードとして機能するデータが入力されると、両者が一致する旨の信号を出力する。ワイルドカードが格納された位置のデータを比較する比較器には、データが入力されるまでもなく、両者が一致する旨の信号が出力されたものとして扱われてもよい。この場合、ユーザデータベース57の基準データのうち、マスクすべき位置には、任意のデータが格納されてもよい。   The mask circuit 380 may store data that functions as a wild card at a position other than the search target data in the comparison target data. The comparators of the index circuit 34 and the binary search circuit 36, when data functioning as a wild card is input, output a signal indicating that they match. The comparator that compares the data at the position where the wild card is stored may be treated as if a signal indicating that the two match is output, without needing to input the data. In this case, arbitrary data may be stored in the reference data of the user database 57 at the position to be masked.

ユーザデータベース57の基準データのうち、比較対象データにおける検索対象データの位置以外の位置に、ワイルドカードとして機能するデータを格納してもよい。この場合、マスク回路380及びワークメモリ382は設けられなくてもよい。   Of the reference data in the user database 57, data that functions as a wild card may be stored at a position other than the position of the search target data in the comparison target data. In this case, the mask circuit 380 and the work memory 382 may not be provided.

処理実行回路40は、認証に成功したユーザのIPアドレスを変換してもよい。例えば、第1データベース50、第2データベース60、又は他の通信機などにおいて、IPv4のIPアドレスを用いてユーザが識別される場合には、処理実行回路40は、IPv4のIPアドレスはそのままとし、IPv6のIPアドレスをIPv4のIPアドレスへ変換することにより、IPv4に統一してもよい。逆に、IPv4のIPアドレスをIPv6のIPアドレスに変換することにより、IPv6に変換してもよい。また、第1データベース50、第2データベース60、又は他の通信機などにおいて、ユーザのIDを用いてユーザが識別される場合には、処理実行回路40は、IPv4及びIPv6のIPアドレスをユーザIDに変換してもよい。   The process execution circuit 40 may convert the IP address of the user who has been successfully authenticated. For example, when the user is identified using the IPv4 IP address in the first database 50, the second database 60, or another communication device, the process execution circuit 40 keeps the IPv4 IP address as it is, You may unify into IPv4 by converting the IP address of IPv6 into the IP address of IPv4. Conversely, it may be converted to IPv6 by converting an IPv4 IP address into an IPv6 IP address. When the user is identified using the user ID in the first database 50, the second database 60, or another communication device, the process execution circuit 40 uses the IPv4 and IPv6 IP addresses as the user ID. May be converted to

(実施の形態5)
図52は、実施の形態に係る通信管理システムの構成を示す。通信管理システム600は、パケットフィルタリングなどの機能を有する通信制御装置10を用いて、ボットを操作するための通信など、不適切な通信を検知して遮断するための処理を行う。
(Embodiment 5)
FIG. 52 shows a configuration of a communication management system according to the embodiment. The communication management system 600 uses the communication control apparatus 10 having a function such as packet filtering to perform processing for detecting and blocking inappropriate communication such as communication for operating a bot.

前述したように、ボットは、ユーザ端末610に感染して被害をもたらす。ボットが感染したユーザ端末(以下、「ボット620」という)は、攻撃者の意のままに操られ、攻撃者の端末として振る舞う。したがって、ボット620を操作する通信や、ボット620が他のユーザ端末610を攻撃する通信を検知して遮断することが望まれる。   As described above, the bot infects the user terminal 610 and causes damage. A user terminal infected with a bot (hereinafter referred to as “bot 620”) is manipulated as an attacker and acts as an attacker's terminal. Therefore, it is desirable to detect and block communication for operating the bot 620 and communication for the bot 620 to attack other user terminals 610.

しかし、ソースコードが公開されたボットをもとに、新しい亜種が次々と登場しているので、ボット620や、複数のボット620により構成されるボットネット622に対して送受信される不適切な通信データの全てを確実に検知することは難しい。   However, since new variants are appearing one after another based on the bots for which the source code has been released, it is inappropriate to be transmitted / received to / from the bot 620 or the botnet 622 composed of a plurality of bots 620. It is difficult to reliably detect all communication data.

したがって、本実施の形態では、発想を逆転させ、正常な通信のシグネチャリストを作成して正常な通信を通過させる一方、正常ではない通信を逐一エスカレーションして解析し、正常な通信のシグネチャリストと異常な通信のシグネチャリストを随時更新していく技術を提案する。この技術により、ボットネットによる被害が軽減されることが期待されるため、本発明の社会的な貢献度は非常に高いと言える。   Therefore, in the present embodiment, the idea is reversed, a normal communication signature list is created and normal communication is allowed to pass, while non-normal communication is escalated and analyzed one by one. We propose a technique to update the abnormal communication signature list as needed. Since this technology is expected to reduce the damage caused by the botnet, it can be said that the social contribution of the present invention is very high.

通信管理システム600において、ユーザ端末610とインターネット690の間に通信制御装置10が設けられており、インターネット690を介して送受信される通信データが制御される。通信制御装置10は、正常でない通信データを検知すると、運用者端末640へ通知する。運用者端末640において、該当する通信データが解析され、その通信データが正常であるか否かが判定される。正常であると判定された通信データのシグネチャは通信制御装置10に反映され、以降、この通信データと同種の通信データは送受信を許可される。異常であると判定された通信データのシグネチャも通信制御装置10に反映され、以降、この通信データと同種の通信データは送受信を禁止され遮断される。このようにして、通信制御装置10は、ボット620とボットネット622との間の通信や、インターネット690を介してボット620を操作するための通信などを検知して遮断する。   In the communication management system 600, the communication control apparatus 10 is provided between the user terminal 610 and the Internet 690, and communication data transmitted / received via the Internet 690 is controlled. When the communication control apparatus 10 detects abnormal communication data, the communication control apparatus 10 notifies the operator terminal 640. In the operator terminal 640, the corresponding communication data is analyzed, and it is determined whether or not the communication data is normal. The signature of the communication data determined to be normal is reflected in the communication control device 10, and thereafter, communication data of the same type as this communication data is permitted to be transmitted and received. The signature of the communication data determined to be abnormal is also reflected in the communication control apparatus 10, and thereafter, communication data of the same type as this communication data is prohibited from being transmitted / received and blocked. In this way, the communication control apparatus 10 detects and blocks communication between the bot 620 and the botnet 622, communication for operating the bot 620 via the Internet 690, and the like.

本実施の形態の通信制御装置10には、第1データベース50として、正常シグネチャリスト632、異常シグネチャリスト634、及びルールデータベース636が設けられている。正常シグネチャリスト632は、正常な通信として通過させるべき通信データのシグネチャのリストを格納する。異常シグネチャリスト634は、異常な通信として遮断すべき通信データのシグネチャのリストを格納する。ルールデータベース636は、解析を要する通信データを抽出するためのルールを格納する。   In the communication control apparatus 10 of the present embodiment, a normal signature list 632, an abnormal signature list 634, and a rule database 636 are provided as the first database 50. The normal signature list 632 stores a list of communication data signatures to be passed as normal communication. The abnormal signature list 634 stores a list of communication data signatures to be blocked as abnormal communication. The rule database 636 stores rules for extracting communication data that requires analysis.

第1データベース50が3つ設けられているのに合わせて、検索回路30も3つ設けられている。検索回路30Aは、取得した通信データが正常シグネチャリスト632に格納された正常な通信のシグネチャに合致するか否かを検索する第1の検索部として機能する。検索回路30Bは、取得した通信データが異常シグネチャリスト634に格納された異常な通信のシグネチャに合致するか否かを検索する第2の検索部として機能する。検索回路30Cは、取得した通信データがルールデータベース636に格納されたルールに合致するか否かを検索する第3の検索部として機能する。これらの検索回路30のうち少なくとも2つ、好ましくは全ての検索回路30が、同時に並列して検索を実行する。これにより、スループットを低下させることなく、正常な通信、異常な通信、抽出すべき通信を高速に検知することができる。通信データを3つの検索回路30へ同時に供給するために、図22に示した技術を利用してもよい。   In addition to the three first databases 50 being provided, three search circuits 30 are also provided. The search circuit 30 </ b> A functions as a first search unit that searches whether the acquired communication data matches the normal communication signature stored in the normal signature list 632. The search circuit 30 </ b> B functions as a second search unit that searches whether the acquired communication data matches the signature of the abnormal communication stored in the abnormal signature list 634. The search circuit 30C functions as a third search unit that searches whether the acquired communication data matches the rules stored in the rule database 636. At least two of these search circuits 30, preferably all the search circuits 30 execute the search in parallel at the same time. Thus, normal communication, abnormal communication, and communication to be extracted can be detected at high speed without reducing the throughput. In order to simultaneously supply communication data to the three search circuits 30, the technique shown in FIG. 22 may be used.

第2データベース60には、正常シグネチャリスト632に格納された正常な通信のシグネチャに合致しない通信データを検知したときに、警告を発する旨の処理内容が格納されている。これに応じて、処理実行回路40は、検索回路30Aが正常シグネチャリスト632に格納されたシグネチャに合致しない通信データを検知すると、警告を発して運用者端末640へ通知する警告部として機能する。   The second database 60 stores processing contents for issuing a warning when communication data that does not match the normal communication signature stored in the normal signature list 632 is detected. In response to this, when the search circuit 30A detects communication data that does not match the signature stored in the normal signature list 632, the process execution circuit 40 functions as a warning unit that issues a warning and notifies the operator terminal 640.

また、第2データベース60には、異常シグネチャリスト634に格納された遮断すべき通信のシグネチャに合致する通信データを検知したときに、その通信データを遮断する旨の処理内容が格納されている。これに応じて、処理実行回路40は、検索回路30Bが異常シグネチャリスト634に格納されたシグネチャに合致する通信データを検知すると、その通信データを破棄して遮断する遮断部として機能する。   Further, the second database 60 stores processing contents for blocking communication data when it detects communication data matching the signature of the communication to be blocked stored in the abnormal signature list 634. In response to this, when the search circuit 30B detects communication data that matches the signature stored in the abnormal signature list 634, the processing execution circuit 40 functions as a blocking unit that discards and blocks the communication data.

運用者端末640では、警告取得部642が通信制御装置10から警告を取得すると、その旨を表示又は音声などにより運用者へ報知する。このとき、通信データ取得部644は、警告を発せられた通信データを通信制御装置10から取得する。解析部646は、警告を発せられた、正常な通信のシグネチャに合致しない通信データを解析し、正常な通信であるか否かを判定して判定結果取得部648へ伝達する。判定結果取得部648は、通信データを解析した運用者から判定結果を取得してもよい。また、運用者からエスカレーションされたセキュリティベンダーなどから判定結果を取得してもよい。   In the operator terminal 640, when the warning acquisition unit 642 acquires a warning from the communication control device 10, the operator terminal 640 notifies the operator to that effect by display or voice. At this time, the communication data acquisition unit 644 acquires communication data for which a warning has been issued from the communication control device 10. The analysis unit 646 analyzes the communication data that does not match the signature of the normal communication for which a warning is issued, determines whether the communication is normal, and transmits the determination result to the determination result acquisition unit 648. The determination result acquisition unit 648 may acquire a determination result from an operator who has analyzed the communication data. Further, the determination result may be acquired from a security vendor or the like escalated from the operator.

判定結果取得部648は、警告を発せられた通信データが正常な通信データであるとの判定結果を取得したときに、正常シグネチャリスト662にその通信データのシグネチャを追加するよう正常シグネチャリスト更新部652へ指示する。正常シグネチャリスト更新部652は、正常シグネチャリスト662に、正常であると判定された通信データのシグネチャを追加する。   When the determination result acquisition unit 648 acquires the determination result that the communication data for which the warning has been issued is normal communication data, the normal signature list update unit adds the signature of the communication data to the normal signature list 662 Direct to 652. The normal signature list update unit 652 adds the signature of communication data determined to be normal to the normal signature list 662.

判定結果取得部648は、警告を発せられた通信データが遮断すべき通信データであるとの判定結果を取得したときに、異常シグネチャリスト664にその通信データのシグネチャを追加するよう異常シグネチャリスト更新部654へ指示する。異常シグネチャリスト更新部654は、異常シグネチャリスト664に、遮断すべきと判定された通信データのシグネチャを追加する。   When the determination result acquisition unit 648 acquires the determination result that the communication data for which the warning has been issued is communication data to be blocked, the abnormality signature list update is performed so as to add the signature of the communication data to the abnormality signature list 664. To the unit 654. The abnormal signature list update unit 654 adds the signature of the communication data determined to be blocked to the abnormal signature list 664.

更新された正常シグネチャリスト662及び異常シグネチャリスト664は、データベースサーバ150により、所定のタイミングで通信制御装置10の正常シグネチャリスト632及び異常シグネチャリスト634へ反映される。データベースの更新は、前提技術で説明した手順により行われてもよい。また、正常シグネチャリスト更新部652及び異常シグネチャリスト更新部654が、正常シグネチャリスト632及び異常シグネチャリスト634へ直接アクセスして更新してもよい。複数の通信制御装置10が設けられる場合は、データベースサーバ150が、それぞれの通信制御装置10により警告を発せられた通信データの判定結果を集約した正常シグネチャリスト662を作成し、集約された正常シグネチャリスト662をそれぞれの通信制御装置10の正常シグネチャリスト632に反映させる。   The updated normal signature list 662 and the abnormal signature list 664 are reflected in the normal signature list 632 and the abnormal signature list 634 of the communication control apparatus 10 by the database server 150 at a predetermined timing. The database update may be performed according to the procedure described in the base technology. Further, the normal signature list update unit 652 and the abnormal signature list update unit 654 may directly access and update the normal signature list 632 and the abnormal signature list 634. In the case where a plurality of communication control devices 10 are provided, the database server 150 creates a normal signature list 662 in which the determination results of communication data for which warnings have been issued by the respective communication control devices 10 are created, and the collected normal signatures The list 662 is reflected in the normal signature list 632 of each communication control apparatus 10.

このように、異常な通信のみをシグネチャにより抽出して遮断するのではなく、正常な通信のみをシグネチャにより抽出して通過させ、それ以外の通信を解析し、正常か否かを判定して判定結果を反映させる。これにより、ボットネット622などにおいて新しい通信プロトコルにより不適切な通信が行われたとしても、それは正常な通信ではないので、確実に検知することができる。また、いったん遮断すべき通信データを検知すると、そのシグネチャを異常シグネチャリスト634に登録するので、以降は適切に遮断することができる。正常シグネチャリスト632及び異常シグネチャリスト664のシグネチャの量はかなり多くなるが、前提技術で説明したように、本実施の形態の通信制御装置10は、専用のハードウェアにより構成されていて、非常に高速な検索が可能であるから、スループットを低下させることなく適切に通信を管理することができる。   In this way, instead of extracting and blocking only abnormal communication by signature, only normal communication is extracted by signature and allowed to pass, and other communication is analyzed to determine whether it is normal or not. Reflect the results. As a result, even if inappropriate communication is performed by a new communication protocol in the botnet 622 or the like, it is not normal communication and can be reliably detected. Further, once the communication data to be blocked is detected, the signature is registered in the abnormal signature list 634, so that it can be blocked appropriately thereafter. Although the amount of signatures in the normal signature list 632 and the abnormal signature list 664 is considerably large, as described in the base technology, the communication control device 10 of the present embodiment is configured by dedicated hardware, Since a high-speed search is possible, communication can be managed appropriately without reducing the throughput.

第2データベース60には、さらに、ルールデータベース666に格納されたルールに合致する通信データを検知したときに、その通信データを複製して出力する旨の処理内容が格納されている。これに応じて、処理実行回路40は、検索回路30Cがルールデータベース636に格納されたルールに合致する通信データを検知すると、その通信データの複製を出力ポートから運用者端末640へ出力する抽出部として機能する。   The second database 60 further stores processing contents for copying and outputting the communication data that matches the rules stored in the rule database 666. In response to this, when the search circuit 30C detects communication data that matches the rules stored in the rule database 636, the process execution circuit 40 outputs a copy of the communication data from the output port to the operator terminal 640. Function as.

例えば、警告が発せられた通信データが正常であるか遮断すべきであるかを判定するにあたって、同じ送信元から送られた他の通信データや、同じ送信先へ送られた他の通信データなどを参照して解析する必要がある場合がある。このような場合に、警告が発せられた通信データの送信元のIPアドレス、送信先のIPアドレス、ペイロードの内容などをルールとしてルールデータベース636に登録しておけば、そのルールに合致した通信データを収集して解析することができる。前提技術で説明したように、本実施の形態の通信制御装置10は、送信元又は送信先のIPアドレスなど、ヘッダに格納された情報だけでなく、ペイロード部分に格納された情報も検索対象とすることができるので、より細かいルールの設定が可能である。   For example, other communication data sent from the same source or other communication data sent to the same destination in determining whether the communication data for which the warning has been issued is normal or should be blocked It may be necessary to analyze by referring to. In such a case, if the transmission source IP address, transmission destination IP address, payload content, etc. of the communication data for which the warning has been issued are registered as rules in the rule database 636, the communication data that matches the rules Can be collected and analyzed. As described in the base technology, the communication control apparatus 10 according to the present embodiment searches not only the information stored in the header, such as the IP address of the transmission source or the transmission destination, but also the information stored in the payload part. It is possible to set more detailed rules.

運用者は、警告を発せられた通信データを解析する際に、他の通信データも参照して解析すべきと判断した場合、ルールデータベース更新部656を介して、関連した通信データを抽出するためのルールをルールデータベース666に追加することができる。更新されたルールデータベース666は、データベースサーバ150により、通信制御装置10のルールデータベース636に反映される。これにより、シグネチャを随時変更可能なパケットキャプチャ装置を実現することができる。   When the operator analyzes the communication data for which the warning has been issued, and determines that the analysis should be performed with reference to other communication data, the operator extracts the related communication data via the rule database update unit 656. Can be added to the rules database 666. The updated rule database 666 is reflected in the rule database 636 of the communication control apparatus 10 by the database server 150. As a result, a packet capture device that can change the signature at any time can be realized.

(実施の形態6)
実施の形態では、異なる複数の種別の通信制御のための複数のデータベースを設け、それらを切り替えて適用させることにより、1つの通信制御装置に複数の種別の通信制御を実行させる技術について説明する。
(Embodiment 6)
In the embodiment, a technique will be described in which a plurality of types of communication control are executed by one communication control device by providing a plurality of databases for a plurality of different types of communication control and switching them to apply.

図53は、実施の形態に係るパケット処理回路20の構成を示す。図53に示したパケット処理回路26は、図4に示した前提技術のパケット処理回路20の構成に加えて、切替部180を更に備える。また、第1データベース50及び第2データベース60として、複数の種別の通信制御用に設けられた複数のデータベースを備える。図53の例では、ネットワークを介したコンテンツに対するアクセスを制御するためのURLフィルタリング用データベース181と、スパムメールをフィルタリングするためのスパムメールフィルタリング用データベース182と、P2P通信の帯域制御を行うためのP2P帯域制御用データベース183が設けられている。   FIG. 53 shows a configuration of the packet processing circuit 20 according to the embodiment. The packet processing circuit 26 shown in FIG. 53 further includes a switching unit 180 in addition to the configuration of the packet processing circuit 20 of the base technology shown in FIG. Further, the first database 50 and the second database 60 include a plurality of databases provided for a plurality of types of communication control. In the example of FIG. 53, a URL filtering database 181 for controlling access to content via the network, a spam mail filtering database 182 for filtering spam mail, and P2P for performing bandwidth control of P2P communication. A bandwidth control database 183 is provided.

切替部180は、第1データベース50及び第2データベース60を、異なる複数の通信制御用のデータベースの間で切り替えることにより、通信制御装置10を異なる複数の通信制御に利用可能とする。切替部180は、チップセレクト信号などを用いて、使用するデータベースが格納されたROM又はRAMなどのメモリ装置を切り替えてもよい。   The switching unit 180 enables the communication control apparatus 10 to be used for a plurality of different communication controls by switching the first database 50 and the second database 60 between a plurality of different communication control databases. The switching unit 180 may switch a memory device such as a ROM or a RAM in which a database to be used is stored using a chip select signal or the like.

切替部180は、第1データベース50及び第2データベース60を切り替える際に、位置検出回路32が検出すべき位置特定データを、切り替えた後のデータベースに格納された基準データの格納位置を特定するための位置特定データに切り替えてもよい。例えば、通信制御装置10にURLフィルタリングの機能を持たせる際には、第1データベース50及び第2データベース60をURLフィルタリング用データベース181に切り替えるとともに、位置検出回路32の位置特定データとして「http::/」という文字列を設定し、アクセス先のコンテンツのURLの格納位置を検出させる。また、通信制御装置10にスパムメールフィルタリングの機能を持たせる際には、第1データベース50及び第2データベース60をスパムメールフィルタリング用データベース182に切り替えるとともに、位置検出回路32の位置特定データとして「DATA」という文字列を設定し、電子メールの本文の格納位置を検出させる。   When the switching unit 180 switches the first database 50 and the second database 60, the switching unit 180 specifies the storage position of the reference data stored in the database after switching the position specifying data to be detected by the position detection circuit 32. It may be switched to the position specifying data. For example, when the communication control device 10 is provided with a URL filtering function, the first database 50 and the second database 60 are switched to the URL filtering database 181, and “http :: A character string “/” is set, and the storage location of the URL of the accessed content is detected. Further, when the communication control device 10 is provided with a spam mail filtering function, the first database 50 and the second database 60 are switched to the spam mail filtering database 182, and “DATA DATA” is used as position specifying data of the position detection circuit 32. Is set to detect the storage location of the body of the e-mail.

切替部180は、通信データの種別に応じて動的に適用すべきデータベースを切り替えてもよい。例えば、検索回路30を、パケットの種別を判定するための判定回路として用い、検索回路30によりパケットのポート番号を検出して切替部180へ通知させる。切替部180は、通知されたポート番号、すなわちパケットの種別に応じて、第1データベース50及び第2データベース60を切り替える。例えば、ポート番号が「80」であればHTTPパケットであるから、URLフィルタリング用データベース181に切り替え、ポート番号が「25」であればSMTPパケットであるから、スパムメールフィルタリング用データベース182に切り替えてもよい。これにより、1つの通信制御装置10の機能を動的に切り替え、パケットの種別に応じて異なる複数の通信制御を行うことができる。この場合、切替部180は、検索回路30から出力されるポート番号の信号から、それぞれの第1データベース50及び第2データベース60に対するチップセレクト信号を生成して供給するための回路であってもよい。   The switching unit 180 may switch the database to be dynamically applied according to the type of communication data. For example, the search circuit 30 is used as a determination circuit for determining the packet type, and the search circuit 30 detects the port number of the packet and notifies the switching unit 180 of it. The switching unit 180 switches between the first database 50 and the second database 60 according to the notified port number, that is, the packet type. For example, if the port number is “80”, since it is an HTTP packet, it is switched to the URL filtering database 181, and if the port number is “25”, it is an SMTP packet, so it can be switched to the spam mail filtering database 182. Good. Thereby, the function of one communication control apparatus 10 can be dynamically switched, and a plurality of different communication controls can be performed according to the type of packet. In this case, the switching unit 180 may be a circuit for generating and supplying a chip select signal for each of the first database 50 and the second database 60 from the port number signal output from the search circuit 30. .

(実施の形態7)
つづいて、上述した通信制御装置10におけるバイナリサーチを実現するための新たな技術について説明する。
(Embodiment 7)
Next, a new technique for realizing the binary search in the communication control apparatus 10 described above will be described.

図54は、バイナリサーチ回路の別の構成例を示す。図54に示した例では、4回分の探索を一度に実行するために、15個の比較回路36A〜36Oが設けられている。制御回路36Zは、15個の比較回路36A〜36Oのそれぞれに接続された第1データベース50から、探索対象範囲の1/16、2/16、・・・、15/16の位置のデータを同時に並列して読み上げて比較回路36A〜36Oに入力する。また、比較対象データxをそれぞれの比較回路36A〜36Oに入力する。   FIG. 54 shows another configuration example of the binary search circuit. In the example shown in FIG. 54, 15 comparison circuits 36A to 36O are provided in order to execute four searches at a time. The control circuit 36Z simultaneously receives data at positions 1/16, 2/16,..., 15/16 of the search target range from the first database 50 connected to each of the 15 comparison circuits 36A to 36O. They are read out in parallel and input to the comparison circuits 36A to 36O. Further, the comparison target data x is input to each of the comparison circuits 36A to 36O.

制御回路36Zは、まず、第1段階として、探索対象範囲の4/16、8/16、12/16の位置のデータが入力された3個の比較回路36A、36B、36Cにより、比較対象データxが、探索対象範囲を4個に分割した範囲のいずれに属するかを判定する。つづいて、第2段階として、第1段階で判定された範囲の1/4、2/4、3/4の位置のデータが入力された3個の比較回路により、比較対象データxが、探索対象範囲を16個に分割した範囲のいずれに属するかを判定する。   First, as a first step, the control circuit 36Z uses the three comparison circuits 36A, 36B, and 36C to which the data of the positions 4/16, 8/16, and 12/16 of the search target range are input, as the comparison target data. It is determined which x belongs to the range obtained by dividing the search target range into four. Subsequently, as the second stage, the comparison target data x is searched by three comparison circuits to which data at positions 1/4, 2/4, and 3/4 of the range determined in the first stage is input. It is determined which of the ranges obtained by dividing the target range into 16 pieces.

バイナリサーチ回路36には、第1段階の比較回路36A、36B、36Cの比較結果を示す出力信号から、次の第2段階の比較回路36D〜36Oのうち第1段階で判定された範囲のデータが入力されている比較回路に比較を実行させるトリガ信号を生成して第2段階の比較回路36D〜36Oに入力するトリガ回路として、否定回路37及び排他的論理和回路38A、38Bを更に備えている。ここで、比較回路36A〜36Oは、比較対象データxが参照データよりも大きいときに「1」、小さいときに「0」を出力するものとする。   The binary search circuit 36 receives data in the range determined in the first stage among the next second stage comparison circuits 36D to 36O from the output signal indicating the comparison results of the first stage comparison circuits 36A, 36B, and 36C. Is further provided with a negation circuit 37 and exclusive OR circuits 38A and 38B as a trigger circuit that generates a trigger signal that causes the comparison circuit to input the comparison to be input to the second-stage comparison circuits 36D to 36O. Yes. Here, the comparison circuits 36A to 36O output “1” when the comparison target data x is larger than the reference data, and output “0” when it is smaller.

まず、第1段階の比較回路36A、36B、36Cにトリガ信号が入力され、同時に並列して比較が実行される。比較回路36Aの出力が「0」であれば、比較対象データxは、第1データベース50の探索対象範囲のうち0/16〜4/16の範囲に属するので、その範囲の参照データが入力されている比較回路36D、36E、36Fに、否定回路37を介して、トリガ信号「1」が入力される。これにより、第2段階の比較回路36D〜36Oのうち、探索対象範囲の1/16、2/16、3/16の位置の参照データが入力されている比較回路36D、36E、36Fのみが起動され、同時に並列して第2段階の比較を実行する。比較対象データxが、探索対象範囲のうち4/16〜16/16の範囲に属する場合は、比較回路36Aの出力が「1」となるので、否定回路37からは「0」が出力され、比較回路36D、36E、36Fには、トリガ信号が入力されない。   First, a trigger signal is input to the first stage comparison circuits 36A, 36B, and 36C, and the comparison is executed in parallel at the same time. If the output of the comparison circuit 36A is “0”, the comparison target data x belongs to the range of 0/16 to 4/16 of the search target range of the first database 50, and therefore the reference data of that range is input. The trigger signal “1” is input to the comparison circuits 36D, 36E, and 36F through the negative circuit 37. Thereby, only the comparison circuits 36D, 36E, and 36F to which the reference data at the positions 1/16, 2/16, and 3/16 of the search target range are input are activated among the comparison circuits 36D to 36O in the second stage. At the same time, the second stage comparison is performed in parallel. When the comparison target data x belongs to the range of 4/16 to 16/16 of the search target range, the output of the comparison circuit 36A is “1”, so that “0” is output from the negative circuit 37, A trigger signal is not input to the comparison circuits 36D, 36E, and 36F.

比較回路36Aの出力が「1」で、比較回路36Bの出力が「0」であれば、比較対象データxは、探索対象範囲のうち4/16〜8/16の範囲に属するので、その範囲の参照データが入力されている比較回路36G、36H、36Iに、排他的論理和回路38Aを介して、トリガ信号「1」が入力される。これにより、第2段階の比較回路36D〜36Oのうち、探索対象範囲の5/16、6/16、7/16の位置の参照データが入力されている比較回路36G、36H、36Iのみが起動され、同時に並列して第2段階の比較を実行する。比較対象データxが、探索対象範囲のうち4/16〜8/16の範囲に属さない場合は、比較回路36A及び36Bの出力が同じになるので、排他的論理和回路38Aからは「0」が出力され、36G、36H、36Iには、トリガ信号は入力されない。   If the output of the comparison circuit 36A is “1” and the output of the comparison circuit 36B is “0”, the comparison target data x belongs to the range of 4/16 to 8/16 of the search target range. The trigger signal “1” is input to the comparison circuits 36G, 36H, and 36I to which the reference data is input via the exclusive OR circuit 38A. Thereby, only the comparison circuits 36G, 36H, and 36I to which the reference data at the positions of 5/16, 6/16, and 7/16 of the search target range are input are activated among the comparison circuits 36D to 36O in the second stage. At the same time, the second stage comparison is performed in parallel. When the comparison target data x does not belong to the range of 4/16 to 8/16 of the search target range, the outputs of the comparison circuits 36A and 36B are the same, so that the exclusive OR circuit 38A receives “0”. Is output, and no trigger signal is input to 36G, 36H, and 36I.

比較回路36Bの出力が「1」で、比較回路36Cの出力が「0」であれば、比較対象データxは、探索対象範囲のうち8/16〜12/16の範囲に属するので、その範囲の参照データが入力されている比較回路36J、36K、36Lに、排他的論理和回路38Bを介して、トリガ信号「1」が入力される。これにより、第2段階の比較回路36D〜36Oのうち、探索対象範囲の9/16、10/16、11/16の位置の参照データが入力されている比較回路36J、36K、36Lのみが起動され、同時に並列して第2段階の比較を実行する。比較対象データxが、探索対象範囲のうち8/16〜12/16の範囲に属さない場合は、比較回路36B及び36Cの出力が同じになるので、排他的論理和回路38Bからは「0」が出力され、36J、36K、36Lには、トリガ信号は入力されない。   If the output of the comparison circuit 36B is “1” and the output of the comparison circuit 36C is “0”, the comparison target data x belongs to the range of 8/16 to 12/16 of the search target range. The trigger signal “1” is input to the comparison circuits 36J, 36K, and 36L to which the reference data is input via the exclusive OR circuit 38B. Thereby, only the comparison circuits 36J, 36K, and 36L to which the reference data of the positions 9/16, 10/16, and 11/16 of the search target range are input are activated among the comparison circuits 36D to 36O in the second stage. At the same time, the second stage comparison is performed in parallel. When the comparison target data x does not belong to the range of 8/16 to 12/16 of the search target range, the outputs of the comparison circuits 36B and 36C are the same, so that the exclusive OR circuit 38B receives “0”. Is output, and no trigger signal is input to 36J, 36K, and 36L.

比較回路36Cの出力が「1」であれば、比較対象データxは、探索対象範囲のうち12/16〜16/16の範囲に属するので、その範囲の参照データが入力されている比較回路36M、36N、36Oに、比較回路36Cの出力信号がトリガ信号「1」として入力される。これにより、第2段階の比較回路36D〜36Oのうち、探索対象範囲の13/16、14/16、15/16の位置の参照データが入力されている比較回路36M、36N、36Oのみが起動され、同時に並列して第2段階の比較を実行する。比較対象データxが、探索対象範囲のうち0/16〜12/16の範囲に属する場合は、比較回路36Cの出力が「0」となるので、36M、36N、36Oには、トリガ信号は入力されない。   If the output of the comparison circuit 36C is “1”, the comparison target data x belongs to the range of 12/16 to 16/16 of the search target range, and therefore the comparison circuit 36M to which the reference data of that range is input. , 36N, 36O, the output signal of the comparison circuit 36C is input as the trigger signal “1”. Thereby, only the comparison circuits 36M, 36N, and 36O to which the reference data of the positions 13/16, 14/16, and 15/16 of the search target range are input among the second-stage comparison circuits 36D to 36O are activated. At the same time, the second stage comparison is performed in parallel. When the comparison target data x belongs to the range of 0/16 to 12/16 of the search target range, the output of the comparison circuit 36C becomes “0”, so that a trigger signal is input to 36M, 36N, and 36O. Not.

こうして、図54に示した例では、2段階の比較処理で4回分の探索を実行することができる。この4回分の探索において比較対象データxが探索されなかった場合は、制御回路36Zは、新たに、第2段階で判定された範囲の1/16、2/16、・・・、15/16の位置のデータを、15個の比較回路36A〜36Oのそれぞれに入力させ、次の4回分の探索を実行する。   In this way, in the example shown in FIG. 54, four searches can be executed by the two-stage comparison process. If the comparison target data x is not searched in the four searches, the control circuit 36Z newly sets the 1/16, 2/16,..., 15/16 of the range determined in the second stage. Is input to each of the 15 comparison circuits 36A to 36O, and the next four searches are executed.

このように、n回分の探索を行うための比較回路を複数の段階に階層化させ、第2段階以降は、前段階までに判定された範囲の比較回路のみを動作させるので、消費電力を低減させることができる。   In this way, the comparison circuit for performing the search for n times is hierarchized into a plurality of stages, and after the second stage, only the comparison circuits in the range determined up to the previous stage are operated, thereby reducing power consumption. Can be made.

図54の例では、4回分の探索を同時に行うために、15個の比較回路を設けたが、一般に、n回分の探索を同時に並行して行うためには、2−1個の比較回路を設ければよい。制御回路36Zは、第1データベース50の探索対象範囲を2個に分割したとき、比較対象データxと、探索対象範囲の1/2、2/2、・・・、(2−1)/2の位置のデータとを、2−1個の比較回路のそれぞれに入力させる。まず、第1段階として、探索対象範囲の1/2n1、2/2n1、・・・、(2n1−1)/2n1の位置のデータが入力された2n1−1個の比較回路により、比較対象データxが、探索対象範囲を2n1個に分割した範囲のいずれに属するかを判定する。つづいて、第2段階として、第1段階で判定された範囲の1/2n2、2/2n2、・・・、(2n2−1)/2n2の位置のデータが入力された2n2−1個の比較回路により、比較対象データxが、探索対象範囲を2n1+n2個に分割した範囲のいずれに属するかを判定する。以降同様にして、第N段階(ただし、n1+n2+・・・+nN=n)まで繰り返すことにより、n回分の探索を実行する。n回分の探索において比較対象データxが探索されなかった場合は、新たに、第N段階で判定された範囲の1/2、2/2、・・・、(2−1)/2の位置のデータを、2−1個の比較回路のそれぞれに入力させ、次のn回分の探索を実行する。 In the example of FIG. 54, 15 comparison circuits are provided to perform four searches simultaneously, but in general, 2 n -1 comparison circuits are used to perform n searches simultaneously in parallel. May be provided. Control circuit 36Z is, when dividing a search range of the first database 50 to the 2 n, the compared data x, 1/2 n, 2/2 n the search range, · · ·, (2 n - 1) / 2 and n of the location of the data, it is input to each of the 2 n -1 comparison circuits. First, as a first stage, 2 n1 −1 comparison circuits to which data at positions of 1/2 n1 , 2/2 n1 ,..., (2 n1 −1) / 2 n1 of the search target range are input. Thus, it is determined whether the comparison target data x belongs to a range obtained by dividing the search target range into 2 n1 pieces. Subsequently, as the second step, 1/2 n2, 2/2 n2 ranges determined in the first stage, ···, (2 n2 -1) / 2 2 data of the position is input n2 n2 It is determined by the one comparison circuit whether the comparison target data x belongs to the range obtained by dividing the search target range into 2 n1 + n2 . In the same manner, n times of searches are executed by repeating until the Nth stage (where n1 + n2 +... + NN = n). If the comparison target data x is not searched in the n searches, a new value of 1/2 n , 2/2 n ,..., (2 n −1) / Data of 2 n positions are input to each of 2 n −1 comparison circuits, and the next n searches are executed.

この場合、トリガ回路は、第m(1≦m<N)段階の比較回路の比較結果を示す出力信号から、次の第(m+1)段階の比較回路のうち第m段階で判定された範囲のデータが入力されている比較回路に比較を実行させるトリガ信号を生成して第(m+1)段階の比較回路に入力する。具体的には、第m段階の2−1個の比較回路のうち、隣接する比較回路から異なる比較結果を示す出力信号が出力されたときに、それらの比較回路に入力されているデータの間の範囲のデータが入力された第(m+1)段階の比較回路にトリガ信号を入力すればよい。また、第m段階で判定される2の範囲のうち、最小の範囲と、最大の範囲のデータが入力された第(m+1)段階の比較回路には、第m段階の2−1個の比較回路のうち、最小と最大の参照データが入力された比較回路の比較結果に応じてトリガ信号を入力すればよい。 In this case, the trigger circuit has an output signal indicating the comparison result of the m-th (1 ≦ m <N) -stage comparison circuit, within the range determined in the m-th stage among the next (m + 1) -th comparison circuits. A trigger signal that causes the comparison circuit to which data is input to perform comparison is generated and input to the (m + 1) th comparison circuit. Specifically, among the 2 m -1 comparison circuits in the m-th stage, when an output signal indicating a different comparison result is output from an adjacent comparison circuit, the data input to the comparison circuits The trigger signal may be input to the (m + 1) -th stage comparison circuit to which data in the range between them is input. In addition, in the (m + 1) -th stage comparison circuit to which the data of the minimum range and the maximum range among the 2 m ranges determined in the m-th stage are input, 2 m −1 pieces in the m-th stage are included. Of these comparison circuits, a trigger signal may be input according to the comparison result of the comparison circuit to which the minimum and maximum reference data are input.

図55は、バイナリサーチ回路の更に別の構成例を示す。図55に示した例では、バイナリサーチ回路36は、3つの比較回路36A〜36Cを用いて、比較対象データxが第1データベース50の探索対象範囲を4つに分割した範囲のいずれに属するかを判定したが、図55の例では、比較対象データxが、4つの範囲のそれぞれに含まれるか否かを判定するための4つの比較回路36P〜36Sが設けられている。例えば、比較回路36Pには、第1データベース50の探索対象範囲の0/16の位置にある基準データと、4/16の位置にある基準データと、比較対象データxとが入力され、それぞれの基準データと比較対象データxとを比較することにより、基準データが探索対象範囲の0/16から4/16の範囲に含まれるか否かを判定する。範囲に含まれる場合には、比較回路36Pから、その範囲に含まれるデータが参照データとして入力されている比較回路36D、36E、36Fに、トリガ信号が入力される。これにより、第2段階では、第1段階で判定された範囲の比較回路のみが比較を実行するので、消費電力を低減させることができる。   FIG. 55 shows still another configuration example of the binary search circuit. In the example shown in FIG. 55, the binary search circuit 36 uses the three comparison circuits 36A to 36C and belongs to which of the ranges obtained by dividing the comparison target data x into four search target ranges of the first database 50. However, in the example of FIG. 55, four comparison circuits 36P to 36S for determining whether the comparison target data x is included in each of the four ranges are provided. For example, the reference data at the position 0/16 of the search target range of the first database 50, the reference data at the position 4/16, and the comparison target data x are input to the comparison circuit 36P. By comparing the reference data and the comparison target data x, it is determined whether or not the reference data is included in the range of 0/16 to 4/16 of the search target range. When included in the range, the trigger signal is input from the comparison circuit 36P to the comparison circuits 36D, 36E, and 36F to which the data included in the range is input as reference data. Thereby, in the second stage, only the comparison circuit in the range determined in the first stage performs the comparison, so that the power consumption can be reduced.

なお、図54及び図55に示した例では、n回分の探索を一度に行うための2−1個の比較回路のうち、1/2n1、2/2n1、・・・、(2n1−1)/2n1の位置のデータが入力された2n1−1個の比較回路を第1段階の比較回路としたが、これに限らず、任意の位置のデータが入力された比較回路を第1段階の比較回路としてもよい。要は、複数の比較回路を階層化し、前段階までに判定された範囲の比較回路のみを動作させるようにすればよい。 In the example shown in FIGS. 54 and 55, of 2 n −1 comparison circuits for performing n searches at a time, 1/2 n1 , 2/2 n1,. n1 -1) / 2 The 2 n1 -1 comparison circuits to which the data at the position of n1 are input are the first-stage comparison circuits. May be a first-stage comparison circuit. In short, a plurality of comparison circuits may be hierarchized so that only the comparison circuits in the range determined up to the previous stage are operated.

第1のデータベース及び第2のデータベースは、外部から書き換え可能に設けられる。これらのデータベースを入れ替えることにより、同じ通信制御装置10を用いて、さまざまなデータ処理や通信制御を実現することができる。また、検索対象となる基準データを格納したデータベースを2以上設けて、多段階の検索処理を行ってもよい。このとき、検索結果と処理内容とを対応づけて格納したデータベースを2以上設けて、より複雑な条件分岐を実現してもよい。このように、データベースを複数設けて多段階の検索を行う場合に、位置検出回路32、インデックス回路34、バイナリサーチ回路36などを複数設けてもよい。   The first database and the second database are rewritable from the outside. By exchanging these databases, various data processing and communication control can be realized using the same communication control device 10. In addition, two or more databases storing reference data to be searched may be provided to perform multi-stage search processing. At this time, two or more databases that store search results and processing contents in association with each other may be provided to realize more complicated conditional branching. As described above, in the case where a plurality of databases are provided to perform a multi-stage search, a plurality of position detection circuits 32, index circuits 34, binary search circuits 36, etc. may be provided.

上述した比較に用いられるデータは、同じ圧縮ロジックにより圧縮されてもよい。比較に際して、比較元のデータと比較先のデータが同じ方式で圧縮されていれば、通常と同様の比較が可能である。これにより、比較の際にローディングするデータ量を低減することができる。ローディングするデータ量が少なくなれば、メモリからデータを読み出すのに要する時間が短縮されるので、全体の処理時間も短縮することができる。また、比較器の量を削減することができるので、装置の小型化、軽量化、低コスト化に寄与することができる。比較に用いられるデータは、圧縮された形式で格納されていてもよいし、メモリから読み出した後、比較の前に圧縮されてもよい。   The data used for the comparison described above may be compressed by the same compression logic. In comparison, if the comparison source data and the comparison destination data are compressed by the same method, the same comparison as usual is possible. As a result, the amount of data loaded at the time of comparison can be reduced. If the amount of data to be loaded is reduced, the time required to read data from the memory is reduced, so that the overall processing time can also be reduced. Further, since the amount of the comparator can be reduced, it is possible to contribute to downsizing, weight reduction, and cost reduction of the apparatus. The data used for the comparison may be stored in a compressed form, or may be compressed after being read from the memory and before the comparison.

(実施の形態8)
つづいて、上述した通信制御装置10において、ユーザの端末を識別する技術について説明する。インターネットサービスプロバイダにダイアルアップ接続している端末や、携帯電話端末などは、インターネットに接続するときに、接続を管理するサーバからIPアドレスを付与されるので、接続のたびにIPアドレスが変化する。そのため、IPアドレスのみではユーザの端末を一意に識別することができない。本実施の形態では、端末の接続を管理するサーバから、端末に付与したIPアドレスを取得して、端末を一意に識別する技術について説明する。
(Embodiment 8)
Next, a technique for identifying a user terminal in the communication control apparatus 10 described above will be described. A terminal or a mobile phone terminal that is dial-up connected to an Internet service provider is given an IP address from a server that manages the connection when connecting to the Internet, so that the IP address changes each time the connection is made. Therefore, the user terminal cannot be uniquely identified only by the IP address. In the present embodiment, a technique for uniquely identifying a terminal by acquiring an IP address assigned to the terminal from a server that manages the connection of the terminal will be described.

図56は、実施の形態に係る通信制御装置のパケット処理回路の構成を示す。図56に示したパケット処理回路20は、図4に示した前提技術の通信制御装置10のパケット処理回路20の構成に加えて、ユーザデータベース更新部460を更に備える。その他の構成及び動作は、前提技術と同様である。   FIG. 56 shows a configuration of a packet processing circuit of the communication control apparatus according to the embodiment. The packet processing circuit 20 shown in FIG. 56 further includes a user database update unit 460 in addition to the configuration of the packet processing circuit 20 of the communication control apparatus 10 of the base technology shown in FIG. Other configurations and operations are the same as those of the base technology.

接続管理サーバ120は、インターネットに接続しようとするユーザの端末を認証し、認証に成功した端末にIPアドレスを付与する。接続管理サーバ120は、ユーザの端末に付与可能なIPアドレスのテーブルを有しており、空いているIPアドレスを端末に動的に付与する。接続管理サーバ120は、端末の認証及びアカウンティングを行うRADIUS(Remote Authentication Dial In User Service)サーバであってもよいし、RADIUSサーバにユーザの端末の認証を要求するRADIUSクライアントであってもよい。接続管理サーバ120は、認証に成功したユーザの端末に付与したIPアドレスと、その端末のユーザのユーザIDとを通信制御装置10へ通知する。ユーザデータベース更新部460は、接続管理サーバ120から取得したユーザのIDとIPアドレスの組をユーザデータベース57に登録する。   The connection management server 120 authenticates a terminal of a user who is trying to connect to the Internet, and assigns an IP address to the terminal that has been successfully authenticated. The connection management server 120 has a table of IP addresses that can be assigned to the user's terminal, and dynamically assigns a free IP address to the terminal. The connection management server 120 may be a RADIUS (Remote Authentication Dial In User Service) server that performs terminal authentication and accounting, or may be a RADIUS client that requests the RADIUS server to authenticate the user terminal. The connection management server 120 notifies the communication control apparatus 10 of the IP address assigned to the terminal of the user who has been successfully authenticated and the user ID of the user of the terminal. The user database update unit 460 registers the set of the user ID and IP address acquired from the connection management server 120 in the user database 57.

図57は、ユーザデータベース57の内部データの例を示す。ユーザデータベース57には、IPアドレス欄401及びユーザID欄402が設けられている。IPアドレス欄401には、ユーザの端末に割り当てられる可能性のある全てのIPアドレスが昇順又は降順にソートして格納されている。ユーザデータベース更新部460は、接続管理サーバ120から、ユーザのユーザIDと、ユーザの端末に現在割り当てられているIPアドレスとを取得すると、該当するIPアドレスのレコードに、ユーザIDを登録する。これにより、以降は、IPアドレスからユーザを識別することが可能となる。   FIG. 57 shows an example of internal data of the user database 57. The user database 57 is provided with an IP address column 401 and a user ID column 402. The IP address column 401 stores all IP addresses that may be assigned to the user's terminal, sorted in ascending or descending order. When the user database update unit 460 obtains the user ID of the user and the IP address currently assigned to the user terminal from the connection management server 120, the user database update unit 460 registers the user ID in the corresponding IP address record. This makes it possible to identify the user from the IP address thereafter.

通信制御装置10は、通信データを受信すると、まず、検索回路30により、通信データの送信元又は送信先のIPアドレスをユーザデータベース57のIPアドレス欄401から検索し、該当するIPアドレスに対応するユーザIDを取得する。ユーザデータベース57のIPアドレス欄401が昇順又は降順にソートされている場合は、検索回路30は、バイナリサーチにより送信元又は送信先のIPアドレスを検索する。このとき、検索回路30は、通信データの送信元又は送信先の端末のユーザを識別するユーザ識別部として機能する。   When the communication control apparatus 10 receives the communication data, first, the search circuit 30 searches the IP address column 401 of the user database 57 for the IP address of the communication data transmission source or transmission destination, and corresponds to the corresponding IP address. Obtain a user ID. When the IP address column 401 of the user database 57 is sorted in ascending or descending order, the search circuit 30 searches for the IP address of the transmission source or the transmission destination by binary search. At this time, the search circuit 30 functions as a user identification unit that identifies a user of a communication data transmission source or transmission destination terminal.

つづいて、検索回路30は、通信データに含まれる基準データを第1データベース50から検索し、検索結果に応じて第2データベース60から実行すべき処理の内容を読み出して通信データを制御する。このとき、第2データベース60の共通カテゴリリストなど、ユーザごとにデータベースが設けられていて、ユーザIDが対応づけてデータベースに格納されている場合は、該当するユーザIDのレコードを参照して検索を実行する。これにより、ユーザごとに設定された制御を適切に実行することができる。   Subsequently, the search circuit 30 searches the reference data included in the communication data from the first database 50, reads the contents of processing to be executed from the second database 60 according to the search result, and controls the communication data. At this time, when a database such as a common category list of the second database 60 is provided for each user and the user ID is stored in the database in association with the user ID, the search is performed by referring to the record of the corresponding user ID. Execute. Thereby, the control set for every user can be performed appropriately.

通信制御装置10は、IPアドレスを検索するための検索回路30を更に備えてもよい。この場合、IPアドレスの検索と、通信データに含まれる基準データの検索を、同時に並行して実行することができるので、より高速な通信制御を実現することができる。   The communication control apparatus 10 may further include a search circuit 30 for searching for an IP address. In this case, the search for the IP address and the search for the reference data included in the communication data can be executed in parallel at the same time, so that higher-speed communication control can be realized.

上記のように、本実施の形態に係る技術によれば、IP電話においても、発呼した端末を一意に識別することができる。固定加入電話網においては、電話交換機と加入者端末が直接電気的に接続されているので、発呼した端末を確実に識別することができるという特性を有していた。固定加入電話網からIP電話網への切り替えに際して、この特性が喪われてしまうことに大きな危惧がもたれていたが、本実施の形態の技術を利用することにより、IP電話網においても同様に、電話のライフラインとしての特性を維持することができる。例えば、緊急通報において、通報者が落ち着いて名乗れなかったり、発声に障害があったり、危険な状況に陥ってうまく発声できない状態になっていたりしても、緊急通報機関側で発呼した端末を特定することができる。また、発呼者が特定されるので、迷惑電話を防止する技術としても重要である。   As described above, according to the technique according to the present embodiment, a terminal that has made a call can be uniquely identified even in an IP telephone. In the fixed subscriber telephone network, the telephone exchange and the subscriber terminal are directly electrically connected, so that the terminal that made the call can be reliably identified. When switching from the fixed telephone network to the IP telephone network, there was a great concern that this characteristic would be lost, but by using the technology of the present embodiment, similarly in the IP telephone network, The characteristics of the telephone lifeline can be maintained. For example, in an emergency call, even if the caller is calm and unable to name himself, there is a failure in speaking, or the terminal is called by the emergency call organization even if it falls into a dangerous situation and cannot speak well. Can be identified. In addition, since the caller is specified, it is also important as a technique for preventing unwanted calls.

(実施の形態9)
実施の形態では、前提技術において説明した通信制御装置において、通信データを編集したり複製したりする技術について説明する。
(Embodiment 9)
In the embodiment, a technique for editing or duplicating communication data in the communication control apparatus described in the base technology will be described.

図58は、実施の形態に係るパケット処理回路20の構成を示す。本実施の形態のパケット処理回路20は、図4に示した前提技術のパケット処理回路20の構成に加えて、編集部42及び複製部44を更に備える。その他の構成及び動作は、前提技術に係る通信制御装置10と同様である。   FIG. 58 shows a configuration of the packet processing circuit 20 according to the embodiment. The packet processing circuit 20 according to the present embodiment further includes an editing unit 42 and a duplicating unit 44 in addition to the configuration of the packet processing circuit 20 of the base technology shown in FIG. Other configurations and operations are the same as those of the communication control apparatus 10 according to the base technology.

編集部42は、通信制御装置10が取得した通信データをネットワークへ送出する前に、通信データに対して様々な編集を加える。編集部42は、第1データベース50及び第2データベース60に格納された条件にしたがって、通信データを編集する。第1データベース50及び第2データベース60は、複数の条件に応じて複数設けられてもよいし、ユーザごと、ユーザのグループごと、又は通信プロトコルごとに設けられてもよい。第1データベース50及び第2データベース60は、通信の方向に応じて、又は所定のタイミングで切り替えられてもよい。   The editing unit 42 performs various editing on the communication data before sending the communication data acquired by the communication control device 10 to the network. The editing unit 42 edits the communication data according to the conditions stored in the first database 50 and the second database 60. A plurality of the first database 50 and the second database 60 may be provided according to a plurality of conditions, or may be provided for each user, for each group of users, or for each communication protocol. The first database 50 and the second database 60 may be switched according to the direction of communication or at a predetermined timing.

編集部42は、所定のデータを通信データから削除する機能を有する。編集部42は、所定の条件にしたがって、パケットのペイロードに格納されている通信文やコンテンツなどを削除してもよい。   The editing unit 42 has a function of deleting predetermined data from communication data. The editing unit 42 may delete the communication text or content stored in the payload of the packet according to a predetermined condition.

編集部42は、所定のデータを通信データに追加する機能を有する。編集部42は、所定の条件にしたがって、広告などのコンテンツ、通信制御装置10の位置情報、地域情報、IPアドレスなどをパケットのペイロードに追加してもよい。   The editing unit 42 has a function of adding predetermined data to communication data. The editing unit 42 may add content such as advertisements, location information of the communication control device 10, region information, IP address, and the like to the packet payload according to predetermined conditions.

編集部42は、通信データの所定のデータを別のデータに変更する機能を有する。編集部42は、所定の条件にしたがって、パケットの送信元又は送信先のIPアドレス、MACアドレスなどを変更してもよいし、スパムメールなどの禁止キーワードをスペースなどに置換してもよい。   The editing unit 42 has a function of changing predetermined data of communication data to another data. The editing unit 42 may change the IP address or MAC address of the packet transmission source or transmission destination according to a predetermined condition, or may replace a prohibited keyword such as spam mail with a space or the like.

編集部42は、通信データを圧縮又は解凍する機能を有する。編集部42は、所定の条件にしたがって、パケットのペイロードに格納されたデータを圧縮したり、圧縮されたデータを解凍したりしてもよい。編集部42は、パケットのペイロードに格納された所定のデータのハッシュ値を算出し、算出されたハッシュ値に置換してもよい。   The editing unit 42 has a function of compressing or decompressing communication data. The editing unit 42 may compress the data stored in the payload of the packet or decompress the compressed data according to a predetermined condition. The editing unit 42 may calculate a hash value of predetermined data stored in the payload of the packet and replace it with the calculated hash value.

編集部42は、通信データを暗号化又は復号化する機能を有する。編集部42は、所定の条件にしたがって、パケットのペイロードに格納された平文のデータを暗号化したり、暗号化されたデータを復号化したりしてもよい。   The editing unit 42 has a function of encrypting or decrypting communication data. The editing unit 42 may encrypt plaintext data stored in the payload of the packet or decrypt the encrypted data according to a predetermined condition.

編集部42は、通信データに含まれる文字又は文章のデータを翻訳したり、文字コードを変更したりする機能を有する。編集部42は、所定の条件にしたがって、パケットのペイロードに格納された文字又は文章のデータを所定の言語に翻訳してもよい。編集部42は、所定の条件にしたがって、パケットのペイロードに格納された文字又は文章のデータの文字コードを正規化してもよい。編集部42は、所定の条件にしたがって、パケットのペイロードに格納されたデータのデータ名や添付ファイルのファイル名などに含まれるスペース、記号、制御文字などを置換することにより、データ名又はファイル名を正規化してもよい。これにより、送信元のコンピュータと送信先のコンピュータのファイルシステムの差異などにより、文字データを読むことができなかったり、ファイルを開くことができなかったりする事態を低減させることができる。また、データ名やファイル名を他の名称に置換しておくことで、データが誤って第三者に渡ったとしても、データを保護することができる。   The editing unit 42 has a function of translating character or sentence data included in the communication data or changing a character code. The editing unit 42 may translate character or sentence data stored in the payload of the packet into a predetermined language according to a predetermined condition. The editing unit 42 may normalize the character code of the character or sentence data stored in the payload of the packet according to a predetermined condition. The editing unit 42 replaces spaces, symbols, control characters, etc. included in the data name of the data stored in the payload of the packet, the file name of the attached file, etc. according to a predetermined condition. May be normalized. As a result, it is possible to reduce a situation in which character data cannot be read or a file cannot be opened due to a difference in file system between the transmission source computer and the transmission destination computer. Also, by replacing the data name and file name with another name, the data can be protected even if the data is accidentally passed to a third party.

編集部42は、上記のような機能により通信データを編集したときに、編集した回数やデータ量などをカウントしてもよい。このカウント値は、編集部42や、通信制御装置10の他の構成に供給され、通信制御に利用されてもよい。編集部42は、上記のような機能により通信データを編集したときに、必要であれば、巡回冗長検査(CRC:Cyclic Redundancy Check)を再計算して更新する。   The editing unit 42 may count the number of times of editing, the amount of data, and the like when the communication data is edited by the function as described above. This count value may be supplied to the editing unit 42 and other components of the communication control apparatus 10 and used for communication control. The editing unit 42 recalculates and updates a cyclic redundancy check (CRC) if necessary when editing communication data by the function as described above.

複製部44は、処理実行回路40が送出する通信データとは別に、所定の条件にしたがって通信データを複製し、記憶装置46にバックアップする。複製部44は、例えば、企業におけるコンプライアンス対策として、企業のメールサーバのメールアドレスに対して送受信された電子メールの通信データを複製して記憶装置46にバックアップしてもよい。このとき、同じ企業の複数のメールアドレスに宛てて電子メールが送信された場合は、1件分の通信データのみを複製し、その他を破棄してもよい。また、警察による捜査などのために、所定の条件に合致する通信データを複製して記憶装置46にバックアップしてもよい。複製部44は、全てのデータを無条件に複製して記憶装置46にバックアップしてもよい。複製部44は、編集部42による編集前の通信データをバックアップしてもよいし、編集後の通信データをバックアップしてもよい。   The duplication unit 44 duplicates the communication data in accordance with a predetermined condition separately from the communication data transmitted by the processing execution circuit 40 and backs up the data in the storage device 46. For example, as a compliance measure in a company, the duplicating unit 44 may duplicate e-mail communication data transmitted / received to / from a mail address of a company mail server and back it up in the storage device 46. At this time, when an e-mail is transmitted to a plurality of e-mail addresses of the same company, only one communication data may be copied and others may be discarded. In addition, communication data that matches a predetermined condition may be copied and backed up in the storage device 46 for investigation by the police. The duplication unit 44 may duplicate all data unconditionally and back it up in the storage device 46. The duplication unit 44 may back up the communication data before editing by the editing unit 42, or may back up the communication data after editing.

図59は、実施の形態に係る通信制御システムの構成を示す。図59の例では、基地局装置262に通信制御システム100aが、制御局装置264に通信制御システム100bが、インターネット200と送信先端末230との間の通信経路に通信制御システム100cが、それぞれ設けられている。   FIG. 59 shows a configuration of a communication control system according to the embodiment. In the example of FIG. 59, the communication control system 100a is provided in the base station device 262, the communication control system 100b is provided in the control station device 264, and the communication control system 100c is provided in the communication path between the Internet 200 and the destination terminal 230. It has been.

送信元の携帯電話端末260に最も近い通信制御システム100aの編集部42は、携帯電話端末260が送出する通信データを暗号化し、携帯電話端末260へ送出する通信データを復号する。また、送信先端末230に最も近い通信制御システム100cの編集部42は、送信先端末230へ送出する通信データを復号し、送信先端末230が送出する通信データを暗号化する。   The editing unit 42 of the communication control system 100a closest to the transmission source mobile phone terminal 260 encrypts the communication data sent from the mobile phone terminal 260 and decrypts the communication data sent to the mobile phone terminal 260. The editing unit 42 of the communication control system 100c closest to the transmission destination terminal 230 decrypts the communication data transmitted to the transmission destination terminal 230 and encrypts the communication data transmitted from the transmission destination terminal 230.

すなわち、図59に示したように、携帯電話端末260が送出した通信データ270は、基地局装置262の通信制御システム100aにより暗号化される。暗号化された通信データ271は、制御局装置264を介してインターネット200へ送信される。通信制御システム100cは、暗号化された通信データ271を復号して送信先端末230へ送信する。これにより、通信制御システム100aと通信制御システム100cとの間では、通信データが暗号化されて送受信されるので、安全な通信路を構築することができる。   That is, as shown in FIG. 59, the communication data 270 sent from the mobile phone terminal 260 is encrypted by the communication control system 100a of the base station device 262. The encrypted communication data 271 is transmitted to the Internet 200 via the control station device 264. The communication control system 100 c decrypts the encrypted communication data 271 and transmits it to the transmission destination terminal 230. Thereby, since communication data is encrypted and transmitted / received between the communication control system 100a and the communication control system 100c, a safe communication path can be constructed.

上述したように、本実施の形態の通信制御装置10は、IPアドレスを有さず、物理的な着信を要しない透過型の通信機であるため、VPNなどのように既存のネットワークの設定を複雑に改変することなく、容易に安全なプライベートネットワークを構築することができる。   As described above, the communication control apparatus 10 according to the present embodiment is a transparent communication device that does not have an IP address and does not require a physical incoming call. Therefore, an existing network such as a VPN is set. A secure private network can be easily constructed without complicated modifications.

図59に示した通信制御システムにおいて、通信制御システム100の編集部42は、端末が送出した通信データを圧縮し、端末へ送出する圧縮された通信データを解凍してもよい。これにより、通信制御システム100間の通信量を低減することができる。   In the communication control system shown in FIG. 59, the editing unit 42 of the communication control system 100 may compress the communication data sent from the terminal and decompress the compressed communication data sent to the terminal. Thereby, the communication amount between the communication control systems 100 can be reduced.

(実施の形態10)
実施の形態では、前提技術で説明した通信制御システムを、インターネットなどのネットワークを利用した電話網における緊急通報に利用する技術について説明する。
(Embodiment 10)
In the embodiment, a technique for using the communication control system described in the base technology for an emergency call in a telephone network using a network such as the Internet will be described.

VoIPなどの技術を利用したIP電話が実現されているが、現状では、IP電話から緊急通報を行うことはできないようになっている。これは、緊急通報のために加入電話に求められている以下の要件をIP電話が充足していないからである。
(1)通報者の位置に応じて、その位置を管轄区域とする緊急通報機関に接続すること。
(2)通報者から通話を終了できないようにするとともに、緊急通報機関から通報者を呼び出すことができるようにすること。
(3)通報者の電話番号や位置情報を緊急通報機関に通知すること。
Although IP telephones using technologies such as VoIP have been realized, at present, emergency calls cannot be made from IP telephones. This is because IP telephones do not satisfy the following requirements for subscriber telephones for emergency calls.
(1) Depending on the location of the whistleblower, connect to the emergency call organization that has that jurisdiction.
(2) Make sure that the caller cannot end the call and that the caller can be called from the emergency call organization.
(3) Notify the emergency call organization of the caller's phone number and location information.

本実施の形態では、前提技術の通信制御システム100を利用して、上記の要件を充足したIP電話又は携帯電話による緊急通報を実現する技術を提案する。   In the present embodiment, a technology for realizing an emergency call by an IP phone or a mobile phone satisfying the above requirements using the communication control system 100 of the base technology is proposed.

本実施の形態の通信制御システム100は、緊急電話番号が格納された第1データベース50を利用して、通信制御装置10の検索回路30により緊急電話番号を発呼する通信データを検出し、緊急通報の通話を制御する。この通信制御システム100は、緊急電話の発呼元の電話端末と、緊急通報機関との間の通信経路に設けられる。以下、通信制御システム100の配置例を列挙する。   The communication control system 100 according to the present embodiment uses the first database 50 in which the emergency telephone number is stored to detect communication data for calling the emergency telephone number by the search circuit 30 of the communication control apparatus 10, and Control the call for notifications. This communication control system 100 is provided in a communication path between a telephone terminal that is an originator of an emergency call and an emergency call organization. Hereinafter, arrangement examples of the communication control system 100 are listed.

図60は、通信制御システムの配置例を示す。本図は、発呼元の電話端末の一例として、携帯電話端末260が用いられる例を示している。携帯電話端末260から発せられる通信データは、キャリアが設置した基地局装置262、局舎に設けられた制御局装置264を介してインターネット200へ送出され、インターネット200を介して発呼先の電話端末210又は緊急通報機関220へ到達する。本図の例では、基地局装置262に通信制御システム100が設けられる。この場合、必要最低限の機能のみを搭載することにより通信制御システム100の小型化を図ってもよい。例えば、接続管理サーバ120、ログ管理サーバ140などの構成を省略してもよい。   FIG. 60 shows an example of arrangement of the communication control system. This figure shows an example in which a mobile phone terminal 260 is used as an example of a caller telephone terminal. Communication data transmitted from the mobile phone terminal 260 is transmitted to the Internet 200 through the base station device 262 installed by the carrier and the control station device 264 provided in the station building, and the call destination telephone terminal through the Internet 200. 210 or emergency call organization 220 is reached. In the example of this figure, the base station apparatus 262 is provided with the communication control system 100. In this case, the communication control system 100 may be downsized by mounting only the necessary minimum functions. For example, the configuration of the connection management server 120 and the log management server 140 may be omitted.

図61は、通信制御システムの別の配置例を示す。本図も、携帯電話端末260が用いられる例を示しているが、図60に示した例とは異なり、制御局装置264に通信制御システム100が設けられる。局舎に設けられた制御局装置264において一元的に緊急通報を制御するので、システムのメンテナンスが容易である。   FIG. 61 shows another arrangement example of the communication control system. This figure also shows an example in which the mobile phone terminal 260 is used. However, unlike the example shown in FIG. 60, the communication control system 100 is provided in the control station device 264. Since the emergency call is centrally controlled by the control station device 264 provided in the station building, system maintenance is easy.

図62及び図63は、通信制御システムの更に別の配置例を示す。本図では、電話端末の一例として、インターネットに接続されたIP電話端末280が用いられる例を示している。IP電話端末280から発せられる通信データは、LAN又はWANなどのルータ装置282及び284を介してインターネット200へ送出され、インターネット200を介して発呼先の電話端末210又は緊急通報機関220へ到達する。図62は、ルータ装置282に通信制御システム100が設けられる例を示しており、図63は、ルータ装置284に通信制御システム100が設けられる例を示している。通信制御システム100は、回線業者により設けられてもよいし、ISPにより設けられてもよい。   62 and 63 show still another arrangement example of the communication control system. This figure shows an example in which an IP telephone terminal 280 connected to the Internet is used as an example of a telephone terminal. Communication data transmitted from the IP telephone terminal 280 is transmitted to the Internet 200 via router devices 282 and 284 such as LAN or WAN, and reaches the telephone terminal 210 or the emergency call organization 220 as a call destination via the Internet 200. . FIG. 62 shows an example in which the communication control system 100 is provided in the router device 282, and FIG. 63 shows an example in which the communication control system 100 is provided in the router device 284. The communication control system 100 may be provided by a circuit provider or may be provided by an ISP.

上記の例では、ネットワークを構成する装置に通信制御システム100を組み込む例を示したが、通信制御システム100は、これらの装置とは別に、ネットワークの任意の位置に設けられてもよい。   In the above example, an example in which the communication control system 100 is incorporated in a device configuring a network is shown, but the communication control system 100 may be provided at an arbitrary position on the network separately from these devices.

図64は、実施の形態に係る通信制御システムの構成を示す。本実施の形態の通信制御システム100では、メッセージ出力サーバ130が、緊急電話制御部137及び位置情報保持部138を備える。その他の構成及び動作は、図1に示した前提技術の通信制御システム100と同様である。緊急電話制御部137は、通信制御装置10が緊急電話番号を発呼する通信データを検出したときに、その緊急電話の通話を制御する。位置情報保持部138は、発呼元の電話端末又は通信制御システム100の位置に関する情報を保持する。この位置情報は、位置情報付加部としても機能する緊急電話制御部137により、緊急通報機関220へ送信される通信データに付加され、緊急通報機関220へ通知される。   FIG. 64 shows a configuration of a communication control system according to the embodiment. In the communication control system 100 of the present embodiment, the message output server 130 includes an emergency telephone control unit 137 and a location information holding unit 138. Other configurations and operations are the same as those of the communication control system 100 of the base technology shown in FIG. When the communication control device 10 detects communication data for calling an emergency telephone number, the emergency telephone control unit 137 controls the emergency telephone call. The location information holding unit 138 holds information related to the location of the caller telephone terminal or the communication control system 100. This location information is added to communication data transmitted to the emergency call organization 220 by the emergency telephone control unit 137 that also functions as a location information addition unit, and is notified to the emergency call organization 220.

図62又は図63に示したIP電話端末280を用いた緊急通報のための通信制御システム100においては、位置情報保持部138に、郵便番号、住所コード、住所などの情報を格納してもよい。これらの情報は、通信制御システム100の設置位置の情報であってもよいし、個々のIP電話端末280の設置位置の情報であってもよい。後者の場合、位置情報保持部138は、電気通信回線事業者の登録ユーザのIP電話端末280の電話番号、郵便番号、住所コード、住所などを格納する。この場合、位置情報保持部138を通信制御装置10の第1データベース50として機能させ、検索回路30により緊急通報を発信したIP電話端末280の電話番号を検索し、該当するIP電話端末280の位置情報を得てもよい。図60又は図61に示した携帯電話端末260を用いた緊急通報のための通信制御システム100においては、位置情報保持部138に、基地局装置262の緯度、経度及び精度情報を格納してもよい。この場合、緯度及び軽度の単位は度表記で小数点以下五位とし、精度情報の単位はメートルとしてもよい。   In the communication control system 100 for emergency calls using the IP telephone terminal 280 shown in FIG. 62 or 63, information such as a zip code, an address code, and an address may be stored in the position information holding unit 138. . These pieces of information may be information on the installation positions of the communication control system 100 or information on the installation positions of the individual IP telephone terminals 280. In the latter case, the location information holding unit 138 stores the telephone number, postal code, address code, address, and the like of the IP telephone terminal 280 of the registered user of the telecommunication carrier. In this case, the position information holding unit 138 functions as the first database 50 of the communication control device 10 to search the telephone number of the IP telephone terminal 280 that has made an emergency call by the search circuit 30, and the position of the corresponding IP telephone terminal 280. Information may be obtained. In the communication control system 100 for emergency call using the mobile phone terminal 260 shown in FIG. 60 or 61, the latitude, longitude, and accuracy information of the base station device 262 are stored in the position information holding unit 138. Good. In this case, the latitude and light units may be expressed in degrees and the fifth decimal place, and the accuracy information unit may be meters.

図65は、実施の形態に係る通信制御方法の手順を示すシーケンス図である。図65は、通信制御システム100が発呼元の電話端末との間で接続を確立するまでの手順を示す。この手順は、主にTCP/IP通信におけるスリーウェイハンドシェイクを想定しているが、別の通信プロトコルに適用されてもよい。発呼元の電話端末が携帯電話端末260である場合は、これらの手順を省略してもよい。   FIG. 65 is a sequence diagram illustrating a procedure of the communication control method according to the embodiment. FIG. 65 shows a procedure until the communication control system 100 establishes a connection with the caller telephone terminal. This procedure mainly assumes a three-way handshake in TCP / IP communication, but may be applied to another communication protocol. If the calling telephone terminal is the mobile telephone terminal 260, these procedures may be omitted.

ユーザが緊急電話番号を発呼すると、発呼元の電話端末280は、緊急電話番号の接続先へ接続を要求するための「SYN」パケットを発信する(S10)。通信制御装置10は、この「SYN」パケットを取得し、緊急電話番号のリストが格納された第1データベース50を参照して、検索回路30により発呼先の電話番号が緊急電話番号であるか否かを判定する(S12)。発呼先の電話番号が一般の電話番号である場合は、通信制御装置10は「SYN」パケットをインターネットへ送出し、発呼先の電話端末210へ送信する。発呼先の電話番号が緊急電話番号である場合は、通信制御装置10はその旨を緊急電話制御部137へ通知する(S14)。   When the user calls an emergency telephone number, the caller telephone terminal 280 transmits a “SYN” packet for requesting connection to the connection destination of the emergency telephone number (S10). The communication control apparatus 10 acquires this “SYN” packet, refers to the first database 50 in which the list of emergency telephone numbers is stored, and determines whether the telephone number of the call destination is an emergency telephone number by the search circuit 30. It is determined whether or not (S12). When the call destination telephone number is a general telephone number, the communication control apparatus 10 transmits a “SYN” packet to the Internet and transmits it to the call destination telephone terminal 210. If the call destination telephone number is an emergency telephone number, the communication control apparatus 10 notifies the emergency telephone control unit 137 to that effect (S14).

緊急電話制御部137は、緊急電話の発呼を通知されると、発呼元の電話端末280の存在を確認するために、発呼元の電話端末280へ「ping」コマンドを発する(S16)。発呼元の電話端末280は、「ping」コマンドを受信すると、それに対する応答を返信する(S18)。発呼元の電話端末280から応答が得られない場合は、IPアドレスや電話番号などを偽装している可能性があるので、緊急電話制御部137は、「SYN」パケットを破棄し、緊急電話の接続を禁止する。これにより、緊急電話の発信者のなりすましを抑止することができる。   When notified of an emergency call, the emergency telephone control unit 137 issues a “ping” command to the caller telephone terminal 280 in order to confirm the presence of the caller telephone terminal 280 (S16). . When receiving the “ping” command, the caller telephone terminal 280 returns a response to the command (S18). If a response cannot be obtained from the caller telephone terminal 280, there is a possibility that the IP address or telephone number is forged, so the emergency call control unit 137 discards the “SYN” packet, Prohibit connection. Thereby, the impersonation of the caller of an emergency call can be suppressed.

緊急電話制御部137は、「ping」コマンドにより、発呼元の電話端末280に対する疎通が正常であることが確認されると、発呼元の電話端末280に「FIN」パケットを送信する(S20)。「FIN」パケットは、通常、接続の終了を要求するときに送信されるので、発呼元の電話端末280は、いったん接続を終了しようとして、ハーフクローズ(CLOSE_WAIT)又は再送待機(TIME_WAIT)状態となる。この間に、緊急電話制御部137は、発呼元の電話端末280に、接続要求に対する確認応答と接続の確立を要求するための「SYN/ACK」パケットを送信する(S22)。発呼元の電話端末280は、応答確認のための「ACK」パケットを緊急電話制御部137に送信する(S24)。以上の手順により、発呼先の電話端末に代わって、緊急電話制御部137が発呼元の電話端末280との間で接続を確立する。これにより、発呼元の電話端末280から通話を終了することができなくするとともに、緊急通報機関が緊急電話制御部137を介して通報者を呼び出すことが可能となり、上述した要件の(2)を充足することができる。   When it is confirmed by the “ping” command that the communication with the caller telephone terminal 280 is normal, the emergency telephone control unit 137 transmits a “FIN” packet to the caller telephone terminal 280 (S20). ). Since the “FIN” packet is normally transmitted when requesting the termination of the connection, the caller telephone terminal 280 attempts to terminate the connection once and enters the half-close (CLOSE_WAIT) or retransmission wait (TIME_WAIT) state. Become. During this time, the emergency telephone control unit 137 transmits a “SYN / ACK” packet for requesting an acknowledgment response to the connection request and establishment of the connection to the caller telephone terminal 280 (S22). The calling telephone terminal 280 transmits an “ACK” packet for confirming the response to the emergency telephone control unit 137 (S24). Through the above procedure, the emergency telephone control unit 137 establishes a connection with the caller telephone terminal 280 instead of the callee telephone terminal. This makes it impossible to end the call from the caller telephone terminal 280 and allows the emergency call organization to call the caller via the emergency call control unit 137. Can be satisfied.

図66は、実施の形態に係る通信制御方法の手順を示すシーケンス図である。図66は、通信制御システム100が発呼元の電話端末260又は280と緊急通報機関220との間の通話を制御する手順を示す。緊急電話制御部137は、発呼元の電話端末260又は280との間で接続を確立すると、接続すべき緊急通報機関を選択する(S30)。図60に示した通信制御システム100においては、基地局装置262から数百メートル程度の範囲内に発呼元の携帯電話端末260が存在するので、緊急電話制御部137は、発呼先の電話番号に応じて、自身の設置場所の位置を管轄とする緊急通報機関を選択する。図61に示した通信制御システム100においては、後述するように、基地局装置262の通信制御システム100が通信データに付加した位置情報を参照して発呼元の携帯電話端末260の位置を判定し、発呼先の緊急電話番号に応じて、判定された発呼元の携帯電話端末260の位置を管轄とする緊急通報機関を選択する。図62又は63に示した通信制御システム100においては、後述するように、発呼元のIP電話端末280が発した通信データに付加された位置情報を参照して発呼元のIP電話端末280の位置を判定し、発呼先の緊急電話番号に応じて、判定された発呼元のIP電話端末280の位置を管轄とする緊急通報機関を選択する。これにより、発呼元の電話端末の位置を管轄区域とする緊急通報機関に接続することができるので、上述した要件の(1)を充足することができる。   FIG. 66 is a sequence diagram illustrating a procedure of the communication control method according to the embodiment. FIG. 66 shows a procedure in which the communication control system 100 controls a call between the caller telephone terminal 260 or 280 and the emergency call organization 220. When the emergency call control unit 137 establishes a connection with the caller telephone terminal 260 or 280, the emergency call control unit 137 selects an emergency call organization to be connected (S30). In the communication control system 100 shown in FIG. 60, since the caller mobile phone terminal 260 exists within a range of about several hundred meters from the base station apparatus 262, the emergency call control unit 137 is configured to call the callee telephone. Depending on the number, select the emergency call organization that has jurisdiction over the location of your installation location. In communication control system 100 shown in FIG. 61, as will be described later, the position of caller mobile phone terminal 260 is determined by referring to the position information added to communication data by communication control system 100 of base station apparatus 262. Then, an emergency call organization having jurisdiction over the location of the determined mobile phone terminal 260 is selected according to the emergency telephone number of the call destination. In communication control system 100 shown in FIG. 62 or 63, caller IP telephone terminal 280 is referred to by referring to location information added to communication data issued by caller IP telephone terminal 280, as will be described later. And the emergency call organization having jurisdiction over the location of the determined IP telephone terminal 280 is selected according to the emergency telephone number of the call destination. As a result, it is possible to connect to the emergency call organization whose jurisdiction is the location of the caller's telephone terminal, so that the above requirement (1) can be satisfied.

緊急電話制御部137は、緊急通報機関を選択すると、その緊急通報機関の電話端末を発呼するための通信データに、発呼元の電話端末の電話番号と、位置情報保持部138に保持された位置情報を付加する(S32)。このとき、上流の通信制御システム100により既に位置情報が付加されていた場合は、位置情報を付加しなくてもよいし、更に位置情報を付加してもよい。後者の場合、発呼元の電話端末から緊急通報機関に至るまでの通信経路を把握することが可能となる。これにより、通報者の電話番号や位置情報を緊急通報機関に通知することができるので、上述した要件の(3)を充足することができる。   When the emergency call control unit 137 selects the emergency call organization, it is held in the communication data for calling the telephone terminal of the emergency call organization in the telephone number of the caller's phone terminal and the location information holding unit 138. The added position information is added (S32). At this time, if the location information has already been added by the upstream communication control system 100, the location information may not be added or may be added. In the latter case, it is possible to grasp the communication path from the calling terminal to the emergency call organization. As a result, the telephone number and location information of the reporter can be notified to the emergency call organization, so that the requirement (3) described above can be satisfied.

緊急電話制御部137は、位置情報が付加された通信データを緊急通報機関へ送り、緊急通報機関の電話端末を発呼する(S34)。緊急電話制御部137は、インターネットを利用したIP電話網を用いて緊急通報機関の電話端末を発呼してもよいし、固定電話網や専用線などを用いて緊急通報機関の電話端末を発呼してもよい。緊急通報機関との間で接続が確立されると(S36)、緊急電話制御部137は、発呼元の電話端末と緊急通報機関との間の通話を中継し、通信を制御する(S38)。   The emergency telephone control unit 137 sends the communication data to which the location information is added to the emergency call agency, and calls the telephone terminal of the emergency call agency (S34). The emergency telephone control unit 137 may call the telephone terminal of the emergency call organization using the IP telephone network using the Internet, or the telephone terminal of the emergency call organization using a fixed telephone network or a dedicated line. You may call. When the connection is established with the emergency call organization (S36), the emergency call control unit 137 relays the call between the caller telephone terminal and the emergency call organization and controls the communication (S38). .

緊急通報機関が終話信号を発すると(S40)、緊急電話制御部137は、発呼元の電話端末との間の接続を開放し(S42)、緊急通報機関との間の接続を開放する(S44)。これにより、両者の接続が切断される。緊急電話制御部137は、緊急通報機関から終話信号を受信しない限り、発呼元の電話端末との間の接続を開放しない。これにより、上述した要件の(2)を充足することができる。   When the emergency call organization issues an end call signal (S40), the emergency call control unit 137 releases the connection with the caller telephone terminal (S42) and opens the connection with the emergency call organization. (S44). Thereby, both connection is cut | disconnected. The emergency telephone control unit 137 does not release the connection with the caller's telephone terminal unless it receives an end call signal from the emergency call agency. Thereby, (2) of the requirements mentioned above can be satisfied.

通信経路に、位置情報付加機能を有する通信制御システム100を複数設け、通信制御システム100を通過するごとに、その通信制御システム100の位置情報を通信データに付加してもよい。例えば、既に付加された上流の通信制御システム100の位置情報の後に、自身の位置情報を付加してもよい。これにより、通信データが通過した経路をトレースすることができる。   A plurality of communication control systems 100 having a position information addition function may be provided on the communication path, and the position information of the communication control system 100 may be added to the communication data every time the communication control system 100 passes. For example, the position information of itself may be added after the position information of the upstream communication control system 100 already added. Thereby, the path | route which the communication data passed can be traced.

実施の形態では、位置情報保持部138に保持された、通信制御システム100の位置を示す情報を通信データに付加したが、通信制御システム100が設けられた基地局装置262、制御局装置264、ルータ装置282又は284などの識別情報などを付加してもよいし、発呼元の電話端末から通知されたGPS情報などを付加してもよいし、発呼元の電話端末と通信中の複数の基地局装置262の位置情報に基づいて三角測量などにより発呼元の電話端末の位置を算出し、算出された位置情報を付加してもよい。   In the embodiment, the information indicating the position of the communication control system 100 held in the position information holding unit 138 is added to the communication data. However, the base station device 262, the control station device 264 provided with the communication control system 100, Identification information such as the router device 282 or 284 may be added, GPS information notified from the caller telephone terminal may be added, or a plurality of communication with the caller telephone terminal may be added. Based on the position information of the base station device 262, the position of the caller telephone terminal may be calculated by triangulation or the like, and the calculated position information may be added.

上記のように、本実施の形態に係る技術によれば、IP電話においても、緊急通報の発呼者の位置情報を緊急通報機関へ的確に通知することができる。緊急通報においては、緊急通報機関が通報者の位置を正確に把握することが非常に重要である。固定加入電話網は、緊急通報に求められている上述した要件を全て具備していたので、とにかく通報者が発呼しさえすれば緊急通報機関側で位置情報などを割り出して対処することができるという意味で、ライフラインとしての優れた特性を有していた。固定加入電話網からIP電話網への切り替えに際して、この特性が喪われてしまうことに大きな危惧がもたれていたが、本実施の形態の技術を利用することにより、IP電話網にも同様の特性を与えることができるので、通報者が落ち着いて自分の位置を正確に伝えられなかったり、発声に障害があったり、危険な状況に陥ってうまく発声できない状態になっていたりしても、緊急通報を発呼することにより緊急通報機関へ通報者の位置情報が通知されるので、適切な対処を受けることができる。   As described above, according to the technique according to the present embodiment, the location information of the caller of the emergency call can be accurately notified to the emergency call organization even in the IP phone. In emergency calls, it is very important that the emergency call organization knows the location of the caller accurately. Since the fixed telephone network had all the above-mentioned requirements for emergency calls, any emergency call organization can determine and deal with location information as long as the caller makes a call anyway. In that sense, it had excellent characteristics as a lifeline. When switching from a fixed telephone network to an IP telephone network, there was a great concern that this characteristic would be lost. Even if the caller calms down and cannot accurately tell his / her position, or there is a problem in speaking, or even if the situation falls into a dangerous situation and the voice cannot be spoken well, The location information of the whistleblower is notified to the emergency call organization by making a call, so that appropriate measures can be taken.

図67は、実施の形態に係る通信制御システムの別の構成例を示す。図67に示した通信制御システム100は、図60に示した通信制御システム100の構成に加えて、返信部139を更に備える。返信部139は、位置情報付加部の一例である緊急電話制御部137により位置情報が付加された通信データを発呼元の電話端末260へ返信する。その他の構成及び動作は、図60に示した通信制御システム100と同様である。   FIG. 67 shows another configuration example of the communication control system according to the embodiment. The communication control system 100 shown in FIG. 67 further includes a reply unit 139 in addition to the configuration of the communication control system 100 shown in FIG. The reply unit 139 returns the communication data to which the location information is added by the emergency telephone control unit 137, which is an example of the location information addition unit, to the caller telephone terminal 260. Other configurations and operations are the same as those of the communication control system 100 shown in FIG.

図68は、電話端末が他の電話端末を発呼するための通信データが送信される様子を示す。携帯電話端末260が発した緊急通報のための通信データ270は、基地局装置262、制御局装置264、インターネット200を介して、緊急通報機関220へ送信される。基地局装置262に設けられた通信制御システム100a、制御局装置264に設けられた通信制御システム100b、及びインターネットプロバイダなどにより通信経路に設けられた通信制御システム100cは、通信データ270を通過させる際に、緊急電話制御部137により自装置の位置情報を通信データ270に付加する。このとき、緊急電話制御部137は、通信データ270に既に付加された上流の通信制御システム100の位置情報があれば、それに加えて更に自装置の位置情報を付加する。例えば、基地局装置262の通信制御システム100aから送出された通信データ270には、通信制御システム100aの位置情報である「東京都千代田区霞が関100」が付加されている。また、通信制御システム100cから送出された通信データ270には、それまでに通過した通信制御システム100a及び100bの位置情報とともに、通信制御システム100cの位置情報である「東京都千代田区霞が関300」が付加されている。   FIG. 68 shows a state in which communication data for a telephone terminal to call another telephone terminal is transmitted. Communication data 270 for emergency notification issued by the mobile phone terminal 260 is transmitted to the emergency notification organization 220 via the base station device 262, the control station device 264, and the Internet 200. The communication control system 100a provided in the base station device 262, the communication control system 100b provided in the control station device 264, and the communication control system 100c provided in the communication path by an Internet provider or the like pass the communication data 270. In addition, the emergency telephone control unit 137 adds the position information of the own device to the communication data 270. At this time, if there is position information of the upstream communication control system 100 already added to the communication data 270, the emergency telephone control unit 137 further adds the position information of the own device. For example, the communication data 270 sent from the communication control system 100a of the base station device 262 is added with “Sagagatake 100, Chiyoda-ku, Tokyo”, which is position information of the communication control system 100a. The communication data 270 sent from the communication control system 100c includes the position information of the communication control systems 100a and 100b that have passed so far, as well as the position information of the communication control system 100c, “Sagagatake 300, Chiyoda-ku, Tokyo”. It has been added.

なお、前述した発呼元端末と緊急通報機関との間で接続を確立するための制御は、いずれか1つの通信制御システム100において実行されればよく、その他の通信制御システム100は、自装置の位置情報を通信データ270に付加して送出すればよい。   The control for establishing a connection between the calling terminal and the emergency call organization described above may be executed by any one of the communication control systems 100, and the other communication control systems 100 The position information may be added to the communication data 270 and transmitted.

通信制御システム100a、100b、及び100cのうち少なくともいずれかは、図67に示したように返信部139を備えており、それまでに通過した通信制御システム100の位置情報が付加された通信データ270を発呼元の携帯電話端末260へ返信する。発呼元の携帯電話端末260に近い位置にある通信制御システム、例えば基地局装置262の通信制御システム100aが通信データ270を返信してもよい。これにより、発呼元の携帯電話端末260へ即座に返信することができるので、ユーザは自身のいる場所の位置情報をすぐに把握することができる。発呼先の電話端末、例えば緊急通報機関220の電話端末に近い位置にある通信制御システム100cが通信データ270を返信してもよい。これにより、ユーザは自身のいる位置とともに、自身のいる位置から最寄りの緊急通報機関220の位置情報を把握することができる。   At least one of the communication control systems 100a, 100b, and 100c includes a reply unit 139 as shown in FIG. 67, and communication data 270 to which position information of the communication control system 100 that has passed so far is added. Is returned to the caller mobile phone terminal 260. The communication control system located near the caller mobile phone terminal 260, for example, the communication control system 100a of the base station device 262 may return the communication data 270. As a result, it is possible to immediately reply to the caller mobile phone terminal 260, so that the user can immediately grasp the position information of the place where the user is. The communication control system 100c located near the call destination telephone terminal, for example, the telephone terminal of the emergency call organization 220 may return the communication data 270. Thereby, the user can grasp the position information of the nearest emergency call organization 220 from the position where the user is located together with the position where the user is located.

緊急電話制御部137は、自装置の位置情報として、郵便番号、住所、住所コードなどを通信データ270に付加してもよい。また、これらの情報を文字データとして通信データ270に付加してもよい。これにより、発呼元のユーザに位置情報を可読性のある文字データとして提供することができるので、ユーザの利便性を向上させることができる。また、位置情報に、建物の階数や、場所に関する詳細情報などを含めてもよい。これにより、GPSなどでは取得し得ない情報をユーザに提供することができ、ユーザの利便性を向上させることができる。   The emergency telephone control unit 137 may add a zip code, an address, an address code, etc. to the communication data 270 as position information of the own device. These pieces of information may be added to the communication data 270 as character data. As a result, the location information can be provided to the caller user as readable character data, so that the convenience for the user can be improved. Further, the position information may include the number of floors of the building, detailed information on the location, and the like. Thereby, information that cannot be acquired by GPS or the like can be provided to the user, and the convenience of the user can be improved.

前述したように、通信制御装置10には、緊急通報機関の電話番号を格納した緊急通報機関データベースとして機能する第1データベース50と、通信データに含まれる発呼先の電話番号が緊急通報機関データベース中に存在するか否かを検索する検索回路30とが備えられているので、返信部139は、通信データ270に含まれる発呼先の電話番号が緊急通報機関データベース中に存在していたとき、すなわち、緊急通報であったときに、位置情報が付加された通信データ270を発呼元の電話端末260へ返信してもよい。   As described above, the communication control device 10 includes the first database 50 functioning as an emergency call agency database storing the telephone numbers of emergency call agencies, and the call destination telephone number included in the communication data is stored in the emergency call agency database. And the search circuit 30 for searching whether or not the telephone number included in the communication data 270 exists in the emergency call institution database. That is, when an emergency call is made, the communication data 270 to which the location information is added may be returned to the caller telephone terminal 260.

また、通信制御装置10に、本実施の形態で説明したサービスを享受するユーザの電話端末の電話番号を格納したユーザデータベースを設けておき、検索回路30により、通信データ270に含まれる発呼元の電話端末の電話番号がユーザデータベース中に存在するか否かを検索し、存在していたときに、返信部139が通信データ270を発呼元の電話端末へ返信するようにしてもよい。この場合、通信制御装置10は、発呼元の電話端末の電話番号がユーザデータベースに存在していれば、通信データ270を返信すべき旨を返信部139へ通知し、返信部139は、通信制御装置10から通知を受けたときに通信データ270を返信する。または、メッセージ出力サーバ130にユーザデータベース及び検索回路30を設けてもよい。このような構成により、特定のユーザに対して本サービスを提供することができる。特定のユーザに対してサービスを提供する場合であっても、緊急通報の場合には全てのユーザに対して通信データ270を返信するようにしてもよい。   Further, the communication control device 10 is provided with a user database storing the telephone numbers of the telephone terminals of the users who enjoy the service described in the present embodiment, and the calling circuit included in the communication data 270 is retrieved by the search circuit 30. It is possible to search whether or not the telephone number of the telephone terminal exists in the user database, and when it exists, the reply unit 139 may return the communication data 270 to the calling telephone terminal. In this case, if the telephone number of the caller telephone terminal exists in the user database, the communication control apparatus 10 notifies the reply unit 139 that the communication data 270 should be returned, and the reply unit 139 When the notification is received from the control device 10, the communication data 270 is returned. Alternatively, the message output server 130 may be provided with a user database and search circuit 30. With this configuration, this service can be provided to a specific user. Even when a service is provided to a specific user, the communication data 270 may be returned to all users in the case of an emergency call.

本実施の形態の通信制御装置10は、IPアドレスを有しない完全透過型の通信機であり、通信データを物理的に着信せずに上記の機能を実行する。つまり、通信制御装置10は、ネットワークを通過中の通信データを取り込み、プロトコル処理など物理的な着信に要する処理を省略して、上述した処理を行い、位置情報を付加した通信データを発呼元へ返信する。従来の通信機は、自装置宛の通信データを受信して制御していたが、本実施の形態の通信制御装置10は、自装置宛に送信されたのではない通過中の通信データを取り込んで制御する。したがって、発呼元及び発呼先の装置や、通信経路に設けられた他の通信装置は、通信制御装置10が設けられることによる設定等の変更を何ら必要とすることなく、通信制御装置10の存在を全く意識せずに通信を行うことができる。したがって、本実施の形態の技術によれば、通信システムに大きな改変を行うことなく、上記のようなシステムを構築することができる。また、本実施の形態の通信制御装置10はIPアドレスを有しないので、悪意あるハッカーなどから攻撃を受けることがなく、セキュリティ性に優れている。   The communication control apparatus 10 according to the present embodiment is a completely transparent communication device that does not have an IP address, and executes the above function without physically receiving communication data. That is, the communication control apparatus 10 captures communication data passing through the network, omits processing necessary for physical incoming calls such as protocol processing, performs the above-described processing, and transmits communication data with location information added to the caller. Reply to The conventional communication device receives and controls the communication data addressed to its own device, but the communication control device 10 according to the present embodiment captures the communication data that is not transmitted to the own device. To control. Accordingly, the communication control device 10 does not require any change in setting or the like due to the provision of the communication control device 10 for the call source and call destination devices and other communication devices provided in the communication path. It is possible to communicate without being conscious of the existence of Therefore, according to the technique of the present embodiment, it is possible to construct a system as described above without greatly modifying the communication system. Moreover, since the communication control apparatus 10 of this Embodiment does not have an IP address, it is not attacked by a malicious hacker etc., and is excellent in security.

(実施の形態11)
つづいて、アクセス要求元に対してメッセージを出力する技術を提案する。また、このメッセージを利用したビジネスモデルを提案する。更に、このメッセージを利用して、悪意ある攻撃に対して適切な防御策を講じる技術を提案する。
(Embodiment 11)
Next, we propose a technique for outputting a message to the access requester. We also propose a business model using this message. Furthermore, we propose a technology that uses this message to take appropriate defenses against malicious attacks.

前提技術で説明したように、通信制御装置10は、コンテンツに対するアクセス要求のパケットを受信し、そのアクセスの可否を判定して、アクセスが禁止された場合は、メッセージ出力サーバ130にエラーメッセージなどのメッセージの出力を指示する。本実施の形態では、このメッセージ出力サーバ130によりアクセス要求元へ出力されるメッセージを、アクセス要求元のユーザごと、アクセス先のURLごと、カテゴリごと、データベースごとなど、柔軟に設定可能とし、状況に応じて適切なメッセージを出力することを可能とする。アクセスが禁止された場合に限らず、コンテンツとメッセージを対応づけて保持しておき、コンテンツに対するアクセス要求を発信したユーザに対して、そのコンテンツに対応づけられたメッセージを出力するようにしてもよい。   As described in the base technology, the communication control apparatus 10 receives the access request packet for the content, determines whether or not the access is permitted, and if the access is prohibited, the communication control apparatus 10 sends an error message or the like to the message output server 130. Directs message output. In the present embodiment, the message output to the access request source by the message output server 130 can be flexibly set for each user of the access request source, for each URL of the access destination, for each category, for each database, etc. It is possible to output an appropriate message accordingly. Not only when access is prohibited, content and a message may be held in association with each other, and a message associated with the content may be output to a user who has transmitted an access request to the content. .

図69は、実施の形態に係るメッセージ出力サーバ130の構成を示す。本実施の形態のメッセージ出力サーバ130は、メッセージ出力部131、メッセージ保持部132、履歴保持部133、評価部134、登録受付部135、及び課金部136を含む。   FIG. 69 shows a configuration of the message output server 130 according to the embodiment. The message output server 130 of the present embodiment includes a message output unit 131, a message holding unit 132, a history holding unit 133, an evaluation unit 134, a registration receiving unit 135, and a charging unit 136.

メッセージ保持部132は、アクセス要求元に対して出力するメッセージを保持する。メッセージは、ユーザごとに設定されてもよい。この場合、メッセージ保持部132は、ユーザを識別する情報と、そのユーザに出力するメッセージ又はそのメッセージを格納したファイルのファイル名などを対応づけて格納する。メッセージは、カテゴリリストにおけるカテゴリごとに設定されてもよいし、アクセス先のURLごとに設定されてもよい。例えば、サイト運営者が、URLごとに広告情報などをメッセージとして設定してもよい。メッセージ保持部132が、ユーザごと、URLごとなど、複数の条件に応じたメッセージを設定可能である場合には、いずれのメッセージを優先するかを示す情報を更に格納してもよい。   The message holding unit 132 holds a message output to the access request source. The message may be set for each user. In this case, the message holding unit 132 stores information for identifying the user in association with the message output to the user or the file name of the file storing the message. The message may be set for each category in the category list, or may be set for each URL to be accessed. For example, the site operator may set advertisement information as a message for each URL. When the message holding unit 132 can set a message according to a plurality of conditions such as for each user or for each URL, information indicating which message is given priority may be further stored.

登録受付部135は、メッセージの登録を受け付ける。メッセージをユーザごとに設定可能とする場合、登録受付部135は、ユーザからメッセージの登録を受け付け、メッセージ保持部132に登録する。その他、コンテンツの提供者、広告提供事業者などから、メッセージの登録を受け付けてもよい。メッセージの登録者に対して登録料を課金する場合は、登録受付部135は、メッセージの登録を受け付けると、登録料を課金するよう課金部136に指示する。課金部136は、登録者のアカウントから登録料を減じる処理を行う。   The registration accepting unit 135 accepts message registration. When the message can be set for each user, the registration receiving unit 135 receives the message registration from the user and registers the message in the message holding unit 132. In addition, registration of a message may be accepted from a content provider, an advertisement provider, or the like. When charging the registration fee for the message registrant, the registration receiving unit 135 instructs the charging unit 136 to charge the registration fee when receiving registration of the message. The billing unit 136 performs a process of subtracting the registration fee from the registrant's account.

メッセージがアクセス要求元のユーザごとに設定されている場合、メッセージ出力部131は、アクセス要求のパケットを処理する接続管理サーバ120又は通信制御装置10から、アクセス要求元のユーザのユーザIDなどを取得し、メッセージ保持部132を参照して、そのユーザに設定されたメッセージを出力する。メッセージがアクセス先のURL、カテゴリごとに設定されている場合、メッセージ出力部131は、通信制御装置10から、アクセス先のURL又はカテゴリの識別情報などを取得し、メッセージ保持部132を参照して、そのURL又はカテゴリに設定されたメッセージを出力する。メッセージ出力部131は、メッセージを出力した履歴を履歴保持部133に登録する。また、メッセージの出力に対してメッセージの登録者又はメッセージの受信者に対価を課金する場合は、課金部136に課金を指示する。   When the message is set for each access request source user, the message output unit 131 acquires the user ID of the access request source user from the connection management server 120 or the communication control device 10 that processes the access request packet. Then, referring to the message holding unit 132, the message set for the user is output. When the message is set for each URL and category of the access destination, the message output unit 131 acquires the URL or category identification information of the access destination from the communication control device 10, and refers to the message holding unit 132. The message set in the URL or category is output. The message output unit 131 registers the history of outputting the message in the history holding unit 133. In addition, when charging a message registrant or a message recipient for the output of the message, the charging unit 136 is instructed to charge.

第1データベース50のリストごとにメッセージを設定する場合、例えば、ウイルス/フィッシングサイトリスト161に登録されたURLへのアクセスを要求したユーザに、「ウイルス感染サイトであるため、アクセスが制限されました。」「フィッシングサイトであるため、アクセスが制限されました。」など、アクセスを禁止した理由をメッセージとして出力することができる。また、共通カテゴリリスト164のカテゴリごとにメッセージを設定する場合も、例えば、「閲覧禁止カテゴリであるため、アクセスが制限されました。」など、アクセスを禁止した理由をメッセージとして出力することができる。それぞれのリストに登録されているURLごとにメッセージを設定する場合も同様である。   When setting a message for each list in the first database 50, for example, a user who requested access to the URL registered in the virus / phishing site list 161 is "Access is restricted because it is a virus-infected site." The reason why access is prohibited can be output as a message, such as "Access is restricted because it is a phishing site." Also, when a message is set for each category in the common category list 164, for example, the reason for prohibiting access can be output as a message such as “Access is restricted because it is a browsing prohibited category”. . The same applies when a message is set for each URL registered in each list.

アクセス要求元のユーザごとにメッセージを設定する場合、例えば、企業などにおいて役職等に応じたアクセス権限が設定されているときに、「このサイトにアクセスする権限がありません。」などのメッセージを出力することができる。また、親が子供に携帯電話などを与える場合に、子供が不適切なサイトへアクセスしようとしたとき、別の健全な又は優良なサイトへのリンクを含むメッセージを出力し、そのリンク先へ誘導してもよい。   When setting a message for each access requesting user, for example, when the access authority is set according to the job title in a company, a message such as "You do not have authority to access this site" is output. be able to. In addition, when a parent gives a child a mobile phone etc., when the child tries to access an inappropriate site, a message including a link to another healthy or good site is output and the user is directed to the link destination. May be.

アクセス先のカテゴリやURLごとに、広告などを含むメッセージを設定してもよい。例えば、サイトの内容に関連した広告をメッセージに含ませてもよい。これにより、ユーザが閲覧しようとしたサイトに関連する広告を提供することができるので、広告効果を高めることができる。また、ユーザごとに、広告などを含むメッセージを設定してもよい。例えば、ユーザが、関心のある分野を設定しておき、それに属する広告などの情報をメッセージに含ませてもよい。   You may set the message containing an advertisement etc. for every category or URL of an access destination. For example, an advertisement related to the content of the site may be included in the message. Thereby, since the advertisement relevant to the site which the user tried to browse can be provided, the advertising effect can be enhanced. Moreover, you may set the message containing an advertisement etc. for every user. For example, the user may set a field of interest, and information such as advertisements belonging to the field may be included in the message.

メッセージは、別のサイトへのリンクを含んでもよい。別のサイトへのリンクの例として、広告を提供するサイトへのリンク、アクセス先のコンテンツに関連するサイトへのリンク、人気ランキングの上位のサイトへのリンク、認証局により認定された安全なサイトへのリンク、などを含んでもよい。例えば、正規のサイトがハッキングを受けて閉鎖されているような場合に、そのサイトへアクセスしようとするユーザに対して、ミラーサイトへのリンクを含むメッセージを出力してもよい。また、サイトのURLを移転した場合に、移転前のURLへアクセスしようとするユーザに対して、移転先のURLへのリンクを含むメッセージを出力してもよい。また、メッセージ出力部131は、アクセス先のコンテンツに関連するサイトのうち、関連度の高いサイト、人気のあるサイト、優良度の高いサイト、認証局により認証されたサイトなどを抽出してリストを作成し、メッセージに含ませてもよい。   The message may include a link to another site. Examples of links to other sites include links to sites that offer advertisements, links to sites related to the content being accessed, links to sites with higher rankings, and secure sites certified by a certificate authority May include a link to For example, when a legitimate site is closed due to hacking, a message including a link to a mirror site may be output to a user who tries to access the site. Further, when the URL of the site is transferred, a message including a link to the URL of the transfer destination may be output to the user who tries to access the URL before the transfer. In addition, the message output unit 131 extracts a list by extracting a highly relevant site, a popular site, a high-quality site, a site authenticated by a certificate authority, etc. from the sites related to the accessed content. It may be created and included in the message.

評価部134は、履歴保持部133に保持されたメッセージ出力履歴を参照して、通信状況やアクセス要求元の状況などを評価する。評価部134は、メッセージの送出履歴を統計処理し、ウェブサイトの管理者などへ提供してもよい。これにより、ユーザのアクセス履歴をマーケティングに利用したり、通信状況の制御などに活用したりすることができる。また、ユーザの端末が定期的にアクセス要求を発信するように設定しておき、それに対するメッセージの送出履歴を参照して、ユーザの行動履歴などを把握して利用できるようにしてもよい。   The evaluation unit 134 refers to the message output history held in the history holding unit 133 and evaluates the communication status and the status of the access request source. The evaluation unit 134 may statistically process the message transmission history and provide it to a website administrator or the like. Thereby, a user's access history can be utilized for marketing, or it can be utilized for control of a communication situation. Alternatively, the user terminal may be set to periodically send an access request, and a user's action history or the like may be grasped and used by referring to a message transmission history.

評価部134は、同一の要求元から短時間に多数のアクセス要求が発信されている場合、サービス妨害攻撃(Denial of Service attack:DoSアタック)などである可能性があると評価して、その要求元をアクセス拒否リストに登録し、その要求元からのパケットを要求先へ送らずに遮断してもよい。このとき、評価部134は、pingコマンドなどを用いて要求元が実際に存在することを確認し、また、存在する場合はその状態を確認してもよい。サービス妨害攻撃など不正なアクセス要求を発信している要求元を特定した場合、メッセージ出力部131は、その要求元に対してメッセージを出力してもよい。本実施の形態の通信制御装置10は、上述したように、OS及びCPUを持たない完全透過型の通信装置であり、IPアドレスも有しないので、攻撃を受けることはない。逆に、メッセージ出力サーバ130から攻撃者に対してメッセージを「はね返す」ことにより、攻撃者の装置に負荷を与えることができる。この場合、通信制御システム100は、不正なアクセス要求を通さずにはね返すので、いわば鏡(ミラー)のような役割を果たすことになる。1つのアクセス要求に対して、複数のメッセージを送出することもできる。   The evaluation unit 134 evaluates that there is a possibility of a denial of service attack (DoS attack) when a large number of access requests are transmitted in a short time from the same request source. The source may be registered in the access denial list, and a packet from the request source may be blocked without being sent to the request destination. At this time, the evaluation unit 134 may confirm that the request source actually exists by using a ping command or the like, and may confirm the state if it exists. When a request source that is sending an unauthorized access request such as a denial of service attack is specified, the message output unit 131 may output a message to the request source. As described above, the communication control apparatus 10 according to the present embodiment is a completely transparent communication apparatus that does not have an OS and a CPU, and does not have an IP address. Conversely, a message can be given to the attacker's device by “bounce” the message from the message output server 130 to the attacker. In this case, since the communication control system 100 rebounds without passing an unauthorized access request, it plays a role like a mirror. A plurality of messages can be sent in response to one access request.

(実施の形態12)
実施の形態では、前提技術において説明した通信制御装置が出力するログをフィルタリングする技術について説明する。
(Embodiment 12)
In the embodiment, a technique for filtering a log output from the communication control apparatus described in the base technology will be described.

図70は、実施の形態に係る通信制御装置10の構成を示す。本実施の形態の通信制御装置10は、図3に示した前提技術に係る通信制御装置10の構成に加えて、ログ出力制御装置145を更に備える。ログ出力制御装置145は、ログ出力制御回路141a及び141b、ログ出力設定部142、及び複数のログ出力ポート143a〜143fを備える。これらの構成は、ログ管理サーバ140に備えられてもよい。その他の構成及び動作は、前提技術に係る通信制御装置10と同様である。   FIG. 70 shows a configuration of the communication control apparatus 10 according to the embodiment. The communication control apparatus 10 according to the present embodiment further includes a log output control apparatus 145 in addition to the configuration of the communication control apparatus 10 according to the base technology shown in FIG. The log output control device 145 includes log output control circuits 141a and 141b, a log output setting unit 142, and a plurality of log output ports 143a to 143f. These configurations may be included in the log management server 140. Other configurations and operations are the same as those of the communication control apparatus 10 according to the base technology.

ログ出力制御回路141は、通信制御装置10のパケット処理回路20における処理のログの出力を制御する。ログ出力制御回路141は、図4に示したパケット処理回路20の構成と同様の構成を含んでおり、パケット処理回路20から出力されるログに含まれるデータに基づいて、ログを出力する方法を決定する。ログ出力制御回路141は、ログに含まれるデータに基づいて、ログを出力するポート、ログ出力先などを決定し、必要であればログを編集して出力する。   The log output control circuit 141 controls output of processing logs in the packet processing circuit 20 of the communication control device 10. The log output control circuit 141 includes a configuration similar to the configuration of the packet processing circuit 20 illustrated in FIG. 4, and a method for outputting a log based on data included in the log output from the packet processing circuit 20. decide. Based on the data included in the log, the log output control circuit 141 determines a port for outputting the log, a log output destination, and the like, and edits and outputs the log if necessary.

図71は、ログ出力制御回路141に備えられた第1データベース50及び第2データベース60の内部データの例を示す。第1データベース50には、送信元IPアドレス欄71、送信先IPアドレス欄72、プロトコル番号欄73、及びポート番号欄74が設けられている。第2データベース60には、処理欄81、出力ポート欄82、及び出力先欄83が設けられている。ログ出力制御回路141に設けられた検索回路30は、パケット処理回路20から出力されたログ、又は、そのログのもとになった通信データに含まれる送信元IPアドレス、送信先IPアドレス、プロトコル番号、ポート番号などを取得して第1データベース50を検索する。ログ出力制御回路141に設けられた処理実行回路40は、検索回路30による検索結果に基づいて、第2データベース60から実行すべき処理、出力ポート、出力先を取得し、必要な処理を実行した後、指定されたログ出力ポート143から出力先へログを出力する。   FIG. 71 shows an example of internal data of the first database 50 and the second database 60 provided in the log output control circuit 141. The first database 50 is provided with a source IP address column 71, a destination IP address column 72, a protocol number column 73, and a port number column 74. The second database 60 is provided with a processing column 81, an output port column 82, and an output destination column 83. The search circuit 30 provided in the log output control circuit 141 includes a transmission source IP address, a transmission destination IP address, a protocol included in the log output from the packet processing circuit 20 or the communication data that is the basis of the log. The first database 50 is searched by acquiring the number, port number, and the like. The process execution circuit 40 provided in the log output control circuit 141 acquires the process to be executed, the output port, and the output destination from the second database 60 based on the search result by the search circuit 30 and executes the necessary process. Thereafter, the log is output from the designated log output port 143 to the output destination.

ログ出力制御回路141は、ログの出力方法を決定する基準となるデータの種別の数に応じて、複数の検索回路30を有してもよい。例えば、図71の例のように、送信元IPアドレス、送信先IPアドレス、プロトコル番号、及びポート番号を基準としてログの出力方法を決定する場合は、それぞれの検索のために4つの検索回路30が設けられ、同時に並列して複数の種別のデータを検索可能としてもよい。これにより、より高速にログの出力を制御することができる。ログ出力制御回路141は、送信元又は送信先のMACアドレス、通信ステータス、その他通信データ中に存在する任意のデータやビットを単独で又は複数組み合わせて、ログ出力方法を決定する基準としてもよい。   The log output control circuit 141 may include a plurality of search circuits 30 according to the number of types of data serving as a reference for determining a log output method. For example, as in the example of FIG. 71, when the log output method is determined based on the source IP address, the destination IP address, the protocol number, and the port number, four search circuits 30 are used for each search. And a plurality of types of data can be searched in parallel at the same time. Thereby, log output can be controlled at higher speed. The log output control circuit 141 may be used as a reference for determining a log output method using a MAC address of a transmission source or a transmission destination, a communication status, or any other data or bit existing in communication data alone or in combination.

ログ出力制御回路141は、ログを出力する前に、ログを圧縮したり、暗号化したり、所定のデータのみを抽出したり、所定のデータを削除したり、所定のデータを追加したり、文字コードを変更したり、送信元や送信先のMACアドレスやIPアドレスなどを変更したり、プロトコルを変更したりして、ログを編集する機能を有していてもよい。   Before outputting the log, the log output control circuit 141 compresses or encrypts the log, extracts only predetermined data, deletes predetermined data, adds predetermined data, It may have a function of editing the log by changing the code, changing the MAC address or IP address of the transmission source or transmission destination, or changing the protocol.

ログ出力制御回路141は、複数のログをまとめてログ出力ポート143から出力させてもよい。例えば、所定の数又は所定のデータ量のログがパケット処理回路20から出力されるまで、出力されたログを一時メモリに保持し、一時メモリに蓄積されたログが所定の数又は所定のデータ量に達すると、一時メモリからログのデータを読み出して、それらをまとめてログ出力ポート143から出力させてもよい。   The log output control circuit 141 may collectively output a plurality of logs from the log output port 143. For example, until the log of a predetermined number or a predetermined amount of data is output from the packet processing circuit 20, the output log is held in the temporary memory, and the log accumulated in the temporary memory has a predetermined number or a predetermined amount of data. The log data may be read from the temporary memory and output from the log output port 143 together.

ログ出力設定部142は、ログ出力制御回路141によるログの出力方法を設定する。ログ出力設定部142は、ログ出力制御回路141に設けられた第1データベース50及び第2データベース60を書き換えることにより、ログの出力方法を切り替える。本実施の形態では、ログ出力制御回路として、ログ出力制御回路141aとログ出力制御回路141bの2つを設けているので、ログ出力設定部142がいずれか一方のログ出力制御回路141のデータベースを書き換えてログ出力方法を更新している間にも、他方のログ出力制御回路141により運用を継続することができる。ログ出力設定部142は、チップセレクト信号などを用いて運用するログ出力制御回路141を切り替えてもよい。これにより、運用を停止することなくログ出力方法を変更することができる。   The log output setting unit 142 sets a log output method by the log output control circuit 141. The log output setting unit 142 switches the log output method by rewriting the first database 50 and the second database 60 provided in the log output control circuit 141. In this embodiment, since the log output control circuit 141a and the log output control circuit 141b are provided as the log output control circuit, the log output setting unit 142 stores the database of one of the log output control circuits 141. The operation can be continued by the other log output control circuit 141 while the log output method is updated by rewriting. The log output setting unit 142 may switch the log output control circuit 141 operated using a chip select signal or the like. As a result, the log output method can be changed without stopping the operation.

前提技術で説明したメッセージ出力サーバ130により、本実施の形態のログ出力制御機能を実現してもよい。また、逆に、前提技術で説明したメッセージ出力サーバ130の機能を、本実施の形態のログ出力制御回路141などにより実現してもよい。例えば、DoS攻撃を企図した通信データをパケット処理回路20が処理したときに、ログ出力制御回路141がその通信データの発信元へ通信データを返送してミラーリングしてもよい。また、通信制御装置10から何らかのデータを外部へ出力するための予備のポートとしてログ出力ポート143を利用してもよい。   The log output control function of this embodiment may be realized by the message output server 130 described in the base technology. Conversely, the function of the message output server 130 described in the base technology may be realized by the log output control circuit 141 according to the present embodiment. For example, when the packet processing circuit 20 processes communication data intended for a DoS attack, the log output control circuit 141 may return the communication data to the transmission source of the communication data and perform mirroring. Further, the log output port 143 may be used as a spare port for outputting some data from the communication control device 10 to the outside.

ログ出力制御回路141は、ログ出力ポート143の使用状況に応じて、使用するログ出力ポート143を決定してもよい。例えば、ログ出力ポート143aから出力すべきログが大量に出力されたとき、それらを全てログ出力ポート143aから出力する代わりに、輻輳していない他のログ出力ポート143から出力させてもよい。これにより、ログ出力ポート143の負荷を分散し、効率良くログを出力させることができる。   The log output control circuit 141 may determine the log output port 143 to be used according to the usage status of the log output port 143. For example, when a large number of logs to be output from the log output port 143a are output, instead of outputting all of them from the log output port 143a, the logs may be output from another log output port 143 that is not congested. Thereby, the load of the log output port 143 can be distributed and the log can be output efficiently.

ログ出力制御回路141は、メッセージ出力サーバ130の状況も更に考慮して、使用するログ出力ポート143を決定してもよい。例えば、メッセージ出力サーバ130が大量のメッセージを出力する必要が生じたときに、そのメッセージをメッセージ出力サーバ130から受け付けて、ログ出力ポート143から出力してもよい。また、逆に、全てのログ出力ポート143が輻輳しているときに、出力すべきログのデータをメッセージ出力サーバ130へ送り、メッセージ出力サーバ130から出力させてもよい。このように、ログ出力制御回路141は、メッセージ出力サーバ130と協働して負荷分散を行ってもよい。これにより、更に効率良くメッセージやログを出力させることができる。   The log output control circuit 141 may further determine the log output port 143 to be used in consideration of the status of the message output server 130. For example, when the message output server 130 needs to output a large number of messages, the message may be received from the message output server 130 and output from the log output port 143. Conversely, when all the log output ports 143 are congested, log data to be output may be sent to the message output server 130 and output from the message output server 130. As described above, the log output control circuit 141 may perform load distribution in cooperation with the message output server 130. As a result, messages and logs can be output more efficiently.

ログ出力制御回路141は、通信データの送信先の装置に異常が生じて通信データを受信できない状況に陥っているときに、その通信データを他の装置へ転送してもよい。例えば、電子メールの宛先のSMTPサーバがダウンしているときに、そのSMTPサーバ宛の電子メールの通信データをスプール先の装置へ転送し、一時的にスプールさせてもよい。異常が生じている装置及び転送先の装置のIPアドレス又はMACアドレスは、外部の装置からパケット処理回路20を介して、又は直接ログ出力設定部142へ伝達され、ログ出力設定部142からログ出力制御回路141へ設定されてもよい。これにより、通信データの送信先の装置に異常が生じている場合であっても、適切に通信データを制御することができる。   The log output control circuit 141 may transfer the communication data to another device when the communication data transmission destination device is abnormal and cannot receive the communication data. For example, when the destination SMTP server of the e-mail is down, the communication data of the e-mail addressed to the SMTP server may be transferred to the spool destination device and temporarily spooled. The IP address or MAC address of the device in which an abnormality has occurred and the transfer destination device are transmitted from an external device to the log output setting unit 142 via the packet processing circuit 20 or directly, and the log output setting unit 142 outputs the log. It may be set in the control circuit 141. Thereby, even if it is a case where abnormality has arisen in the apparatus of the transmission destination of communication data, communication data can be controlled appropriately.

(実施の形態13)
実施の形態では、前提技術において説明したメッセージ出力サーバ130の機能を利用して、通信データの送信先の装置の負荷を分散する技術について説明する。
(Embodiment 13)
In the embodiment, a technique for distributing the load of a communication data transmission destination device using the function of the message output server 130 described in the base technology will be described.

図72は、実施の形態に係るメッセージ出力サーバ130の構成を示す。本実施の形態のメッセージ出力サーバ130は、メッセージ出力制御回路171a及び171b、メッセージ出力設定部172、複数のメッセージ出力ポート173a〜173f、及び負荷状況保持部174を備える。メッセージ出力サーバ130は、負荷分散装置として機能し、メッセージ出力制御回路171は送信先制御部及び送出部として、メッセージ出力設定部172は設定部として、それぞれ機能する。   FIG. 72 shows a configuration of the message output server 130 according to the embodiment. The message output server 130 of this embodiment includes message output control circuits 171a and 171b, a message output setting unit 172, a plurality of message output ports 173a to 173f, and a load status holding unit 174. The message output server 130 functions as a load distribution device, the message output control circuit 171 functions as a transmission destination control unit and a transmission unit, and the message output setting unit 172 functions as a setting unit.

図73は、負荷状況保持部174の内部データの例を示す。負荷状況保持部174には、送信先IPアドレス欄91、グループID欄92、及び負荷状況欄93が設けられている。負荷状況保持部174には、ウェブサーバのミラーサーバや、ダウンロードサイトなど、同じ機能を有する複数の装置が用意されている場合に、それらの装置がグループ化して登録されており、それぞれの装置の負荷状況が格納される。例えば、図73の例では、IPアドレスが「xxx.100.0.1」の装置と「xxx.100.0.2」の装置と「xxx.100.0.3」の装置は、それぞれ同じ機能を有していて、いずれの装置に通信データが送信されても同じ処理がなされるものとする。このとき、これらの装置のIPアドレスが、グループID「1」の装置群として負荷状況保持部174に登録され、それぞれの装置の負荷状況が格納される。それぞれの装置の負荷状況は、通信制御装置10を介してそれぞれの装置から受信し、メッセージ出力設定部172により自動的に格納されてもよいし、外部の装置から負荷状況保持部174を更新可能に構成してもよい。   FIG. 73 shows an example of internal data of the load status holding unit 174. The load status holding unit 174 is provided with a transmission destination IP address column 91, a group ID column 92, and a load status column 93. When a plurality of devices having the same function such as a mirror server of a web server or a download site are prepared in the load status holding unit 174, these devices are registered as a group. Load status is stored. For example, in the example of FIG. 73, the device with the IP address “xxx.100.0.1”, the device with “xxx.100.0.2”, and the device with “xxx.100.0.3” have the same functions. It is assumed that the same processing is performed no matter which communication data is transmitted to any device. At this time, the IP addresses of these devices are registered in the load status holding unit 174 as a device group of the group ID “1”, and the load status of each device is stored. The load status of each device may be received from each device via the communication control device 10 and automatically stored by the message output setting unit 172, or the load status holding unit 174 can be updated from an external device. You may comprise.

本実施の形態では、通信制御装置10の第1データベース50には、負荷状況保持部174の送信先IPアドレス欄91と同じデータが基準データとして格納されており、検索回路30は、通信制御装置10が取得した通信データの送信先IPアドレスが、第1データベース50に登録されているか否かを検索する。通信データの送信先IPアドレスが第1データベース50に登録されている場合には、その送信先IPアドレスに対応づけられいてるグループIDがメッセージ出力サーバ130に通知される。   In the present embodiment, the first database 50 of the communication control apparatus 10 stores the same data as the transmission destination IP address column 91 of the load status holding unit 174 as reference data, and the search circuit 30 It is searched whether or not the transmission destination IP address of the communication data acquired by 10 is registered in the first database 50. When the transmission destination IP address of communication data is registered in the first database 50, the group ID associated with the transmission destination IP address is notified to the message output server 130.

メッセージ出力制御回路171は、通信制御装置10から通知されたグループIDと同一のグループIDを有する装置の負荷状況を負荷状況保持部174から読み出し、それぞれの装置の負荷状況に応じて、その通信データの送信先を決定する。メッセージ出力制御回路171は、最も負荷の低い装置へ通信データを送信してもよいし、それまでにメッセージ出力サーバ130から出力した送信先の履歴に基づいて送信先を決定してもよい。また、メッセージ出力制御回路171は、負荷状況の時間変化に応じて通信データの送信先を決定してもよい。例えば、負荷状況が減少している装置へ通信データを送信してもよい。メッセージ出力制御回路171は、何らかの異常が発生している装置は、送信先として選択しないようにする。   The message output control circuit 171 reads the load status of the device having the same group ID as the group ID notified from the communication control device 10 from the load status holding unit 174, and depending on the load status of each device, the communication data Determine the destination of. The message output control circuit 171 may transmit communication data to a device with the lowest load, or may determine a transmission destination based on a transmission destination history output from the message output server 130 so far. In addition, the message output control circuit 171 may determine the transmission destination of the communication data according to the time change of the load situation. For example, communication data may be transmitted to a device whose load status is decreasing. The message output control circuit 171 does not select a device in which some abnormality has occurred as a transmission destination.

メッセージ出力制御回路171は、メッセージ出力ポート173を介して、決定した送信先の装置へ通信データを送出する。決定した送信先の装置が、通信データに設定されていた送信先の装置とは異なる場合、メッセージ出力制御回路171は、新たに決定した送信先の装置のIPアドレスを負荷状況保持部174から読み出し、通信データの送信先IPアドレスに設定して送出する。以上のような技術により、通信データの送信先の装置の負荷を適切に分散し、効率よく通信データを処理させることができる。   The message output control circuit 171 sends communication data to the determined transmission destination device via the message output port 173. When the determined transmission destination device is different from the transmission destination device set in the communication data, the message output control circuit 171 reads the IP address of the newly determined transmission destination device from the load status holding unit 174. The communication data is set to the transmission destination IP address and transmitted. With the technique as described above, it is possible to appropriately distribute the load on the communication data transmission destination device and to efficiently process the communication data.

メッセージ出力制御回路171は、複数のメッセージ出力ポート173の中から、送信先の装置に応じて、通信データを出力するメッセージ出力ポート173を決定してもよい。例えば、それぞれのメッセージ出力ポート173が異なるネットワークに接続されている場合、送信先の装置のIPアドレスに応じて、適切なメッセージ出力ポート173を選択して通信データを送出してもよい。これにより、通信データを適切にルーティングすることができる。   The message output control circuit 171 may determine a message output port 173 that outputs communication data from a plurality of message output ports 173 according to a transmission destination device. For example, when each message output port 173 is connected to a different network, an appropriate message output port 173 may be selected according to the IP address of the transmission destination device and the communication data may be transmitted. Thereby, communication data can be appropriately routed.

メッセージ出力制御回路171は、通信データを出力する前に、送信先を変更するだけでなく、送信元を変更したり、データを圧縮したり、暗号化したり、所定のデータのみを抽出したり、所定のデータを削除したり、所定のデータを追加したり、文字コードを変更したり、プロトコルを変更したりして、通信データを編集する機能を有していてもよい。   The message output control circuit 171 not only changes the transmission destination before outputting communication data, but also changes the transmission source, compresses data, encrypts, extracts only predetermined data, It may have a function of editing communication data by deleting predetermined data, adding predetermined data, changing a character code, or changing a protocol.

メッセージ出力設定部172は、メッセージ出力制御回路171による通信データの出力方法を設定する。メッセージ出力設定部172は、メッセージ出力制御回路171において送信先の装置又はメッセージ出力ポート173を決定するためのアルゴリズムを切り替える。本実施の形態では、メッセージ出力制御回路として、メッセージ出力制御回路171aとメッセージ出力制御回路171bの2つを設けているので、メッセージ出力設定部172がいずれか一方のメッセージ出力制御回路171のアルゴリズムを更新している間にも、他方のメッセージ出力制御回路171により運用を継続することができる。メッセージ出力設定部172は、チップセレクト信号などを用いて運用するメッセージ出力制御回路171を切り替えてもよい。これにより、運用を停止することなくメッセージ出力制御回路171における通信データの出力方法を変更することができる。   The message output setting unit 172 sets a communication data output method by the message output control circuit 171. The message output setting unit 172 switches an algorithm for determining the transmission destination device or the message output port 173 in the message output control circuit 171. In this embodiment, since the message output control circuit 171a and the message output control circuit 171b are provided as the message output control circuit, the message output setting unit 172 uses the algorithm of one of the message output control circuits 171. Even during the update, the other message output control circuit 171 can continue the operation. The message output setting unit 172 may switch the message output control circuit 171 operated using a chip select signal or the like. Thereby, the communication data output method in the message output control circuit 171 can be changed without stopping the operation.

メッセージ出力制御回路171は、メッセージ出力ポート173の使用状況に応じて、使用するメッセージ出力ポート173を決定してもよい。例えば、メッセージ出力ポート173aから送出すべき通信データが大量に受信されたとき、それらを全てメッセージ出力ポート173aから出力する代わりに、輻輳していない他のメッセージ出力ポート173から出力させてもよい。これにより、メッセージ出力ポート173の負荷を分散し、効率良く通信データを送出させることができる。   The message output control circuit 171 may determine the message output port 173 to be used according to the usage status of the message output port 173. For example, when a large amount of communication data to be transmitted from the message output port 173a is received, instead of outputting all of it from the message output port 173a, it may be output from another message output port 173 that is not congested. As a result, the load on the message output port 173 can be distributed and communication data can be transmitted efficiently.

メッセージ出力制御回路171は、通信データの送信先の装置に異常が生じて通信データを受信できない状況に陥っているときに、その通信データを他の装置へ転送してもよい。例えば、電子メールの宛先のSMTPサーバがダウンしているときに、そのSMTPサーバ宛の電子メールの通信データをスプール先の装置へ転送し、一時的にスプールさせてもよい。これにより、通信データの送信先の装置に異常が生じている場合であっても、適切に通信データを制御することができる。   The message output control circuit 171 may transfer the communication data to another device when the communication data transmission destination device is abnormal and cannot receive the communication data. For example, when the destination SMTP server of the e-mail is down, the communication data of the e-mail addressed to the SMTP server may be transferred to the spool destination device and temporarily spooled. Thereby, even if it is a case where abnormality has arisen in the apparatus of the transmission destination of communication data, communication data can be controlled appropriately.

以上、メッセージ出力サーバ130が負荷分散装置として機能する例について説明したが、処理実行回路40が負荷分散装置としての機能を有していてもよい。この場合も、処理実行回路40は、通信データの送信先の装置と同じ機能を有する複数の装置の負荷状況を負荷状況保持部174から読み出し、それらの装置の負荷状況に応じて送信先の装置を決定し、必要であれば送信先の装置の識別情報を書き換えてから通信データを送出する。   The example in which the message output server 130 functions as a load distribution device has been described above, but the process execution circuit 40 may have a function as a load distribution device. Also in this case, the process execution circuit 40 reads the load statuses of a plurality of devices having the same function as the communication data transmission destination device from the load status holding unit 174, and the transmission destination devices according to the load status of these devices. If necessary, the communication data is transmitted after rewriting the identification information of the destination device.

(実施の形態14)
実施の形態では、前提技術において説明したメッセージ出力サーバ130の機能を利用して、IP電話の利用者の利便性を向上させるための新たなサービスを提供する技術について説明する。本実施の形態では、発呼元の電話端末が発呼先の電話端末を呼び出している間に、発呼先の電話番号の利用者が事前に登録していた広告などの音声メッセージを発呼元の電話端末に送信して再生させ、発呼元の電話端末の利用者が広告メッセージを聞いたことを条件として、発呼元の電話端末の利用者に利益を付与するサービスを提案する。
(Embodiment 14)
In the embodiment, a technique for providing a new service for improving the convenience of an IP telephone user using the function of the message output server 130 described in the base technology will be described. In this embodiment, while the caller telephone terminal is calling the callee telephone terminal, a voice message such as an advertisement previously registered by the user of the callee telephone number is called. A service is proposed that gives a benefit to the user of the caller's telephone terminal on the condition that the user of the caller's telephone terminal hears the advertisement message, transmitted to the original telephone terminal and played back.

図74は、実施の形態に係るメッセージ出力サーバ130の構成を示す。本実施の形態のメッセージ出力サーバ130は、メッセージ出力制御回路171a及び171b、メッセージ出力設定部172、複数のメッセージ出力ポート173a〜173f、登録受付部135、及び課金部136を備える。メッセージ出力制御回路171a及び171bは、図69に示したメッセージ出力サーバ130のメッセージ出力部131及びメッセージ保持部132を含む。また、登録受付部135、課金部136は、それぞれ、図69に示したメッセージ出力サーバ130の登録受付部135、課金部136と同様の機能を有している。   FIG. 74 shows a configuration of the message output server 130 according to the embodiment. The message output server 130 according to the present embodiment includes message output control circuits 171a and 171b, a message output setting unit 172, a plurality of message output ports 173a to 173f, a registration receiving unit 135, and a charging unit 136. The message output control circuits 171a and 171b include the message output unit 131 and the message holding unit 132 of the message output server 130 shown in FIG. Further, the registration receiving unit 135 and the charging unit 136 have the same functions as the registration receiving unit 135 and the charging unit 136 of the message output server 130 shown in FIG. 69, respectively.

通信制御装置10は、電話端末が他の電話端末を発呼するための通信データを取得すると、その通信データを発呼先の電話端末へ送出するとともに、その通信データをメッセージ出力サーバ130へ送る。メッセージ出力制御回路171は、通信制御装置10から通信データを取得し、その通信データに含まれる発呼元の電話端末へ音声メッセージを送信する。メッセージ出力制御回路171は、図4に示したパケット処理回路20の構成と同様の構成を含んでおり、通信データに含まれる発呼元又は発呼先の電話番号に基づいて、音声メッセージを出力する方法を決定する。   When the communication terminal 10 acquires communication data for calling another telephone terminal, the communication control apparatus 10 sends the communication data to the call destination telephone terminal and sends the communication data to the message output server 130. . The message output control circuit 171 acquires communication data from the communication control device 10 and transmits a voice message to the caller telephone terminal included in the communication data. The message output control circuit 171 includes a configuration similar to the configuration of the packet processing circuit 20 shown in FIG. 4, and outputs a voice message based on the caller or callee telephone number included in the communication data. Decide how to do.

図75は、メッセージ出力制御回路171に備えられた第1データベース50及び第2データベース60の内部データの例を示す。第1データベース50には、発呼元電話番号欄94及び発呼先電話番号欄95が設けられている。第2データベース60には、音声ファイル名欄96、処理欄97、及び出力ポート欄98が設けられている。このように、第1データベース50及び第2データベース60には、発呼元電話番号及び発呼先電話番号に対応づけて、発呼元の電話端末へ送信すべき音声ファイル名、実行すべき処理の内容、及び出力するメッセージ出力ポート173が格納されている。   FIG. 75 shows an example of internal data of the first database 50 and the second database 60 provided in the message output control circuit 171. The first database 50 is provided with a caller telephone number column 94 and a callee telephone number column 95. The second database 60 is provided with an audio file name column 96, a processing column 97, and an output port column 98. Thus, in the first database 50 and the second database 60, the voice file name to be transmitted to the caller telephone terminal in association with the caller telephone number and the callee telephone number, and the process to be executed And a message output port 173 to be output are stored.

メッセージ出力制御回路171に設けられた検索回路30は、通信制御装置10から取得した通信データに含まれる発呼元又は発呼先の電話番号を第1データベース50から検索する。メッセージ出力制御回路171に設けられた処理実行回路40は、検索回路30による検索結果に基づいて、第2データベース60から実行すべき処理を読み出して実行する。   The search circuit 30 provided in the message output control circuit 171 searches the first database 50 for the caller or callee telephone number included in the communication data acquired from the communication control device 10. The process execution circuit 40 provided in the message output control circuit 171 reads and executes the process to be executed from the second database 60 based on the search result by the search circuit 30.

処理実行回路40は、発呼元の電話端末に送信すべき音声メッセージのファイル名と出力ポートを第2データベース60から読み出し、メッセージ出力部131に通知する。メッセージ出力部131は、処理実行回路40から指定された音声ファイルをメッセージ保持部132から読み出し、指定されたメッセージ出力ポート173から発呼元の電話端末へ送出する。発呼元の電話端末は、この音声メッセージを取得すると、発呼先の電話端末を呼び出している間に再生する。これにより、発呼元の電話端末の利用者は、発呼先の電話端末を呼び出している間に、従来の呼出音に代えて、音楽や広告などの音声メッセージを楽しむことができる。発呼元の電話端末は、発呼先の電話端末が着呼して接続が確立したときに、音声メッセージの再生を中止して通常の通話に切り替えてもよいし、音声メッセージの再生が終了するまで待ってから通常の通話に切り替えてもよい。   The process execution circuit 40 reads the file name and output port of the voice message to be transmitted to the caller telephone terminal from the second database 60 and notifies the message output unit 131 of it. The message output unit 131 reads the voice file designated by the processing execution circuit 40 from the message holding unit 132 and sends it from the designated message output port 173 to the caller telephone terminal. When the call source telephone terminal acquires this voice message, it reproduces it while calling the call destination telephone terminal. As a result, the user of the calling telephone terminal can enjoy a voice message such as music or advertisement instead of the conventional ringing tone while calling the calling telephone terminal. When the call destination telephone terminal receives a call and the connection is established, the call source telephone terminal may stop playing the voice message and switch to a normal call, or the voice message finishes playing. You may switch to a normal call after waiting.

また、処理実行回路40は、課金部136が実行すべき処理の内容を第2データベース60から読み出し、課金部136に通知する。課金部136は、処理実行回路40から指定された内容の課金処理を実行する。例えば、課金部136は、発呼元の電話端末が音声メッセージを再生することを条件として、発呼元の電話端末の利用者にポイント付与や通話料割引などの利益を付与する。課金部136は、発呼先の電話番号に対応づけられた発呼先の広告などを含む音声メッセージを発呼元の電話端末が再生したとき、発呼元の電話端末と発呼先の電話端末との間の通話の料金を発呼先の電話端末の利用者に課金してもよい。課金部136は、発呼元の電話端末から、音声メッセージを再生した旨の通知を受けてから上記の処理を実行してもよいし、発呼元の電話端末が音声メッセージを必ず再生する仕様になっている場合には、音声メッセージが再生されたか否かを確認せずに上記の処理を実行してもよい。   Further, the process execution circuit 40 reads the contents of the process to be executed by the charging unit 136 from the second database 60 and notifies the charging unit 136 of the contents. The charging unit 136 executes a charging process with the content specified by the process execution circuit 40. For example, on the condition that the caller telephone terminal reproduces a voice message, the billing unit 136 grants a profit such as a point grant or a call charge discount to the user of the caller telephone terminal. When the call source telephone terminal reproduces a voice message including a call destination advertisement associated with the call destination telephone number, the billing unit 136 calls the call source telephone terminal and the call destination telephone. You may charge the user of the call destination telephone terminal for the charge of the call with the terminal. The charging unit 136 may execute the above-described processing after receiving a notification that the voice message has been reproduced from the caller telephone terminal, or the caller telephone terminal must reproduce the voice message. If it is, the above processing may be executed without confirming whether or not the voice message has been reproduced.

メッセージ出力設定部172は、メッセージ出力制御回路171による音声メッセージの出力方法を設定する。メッセージ出力設定部172は、メッセージ出力制御回路171に設けられた第1データベース50、第2データベース60、又はメッセージ保持部132などのデータベースを更新することにより、音声メッセージの出力方法を切り替える。本実施の形態では、メッセージ出力制御回路として、メッセージ出力制御回路171aとメッセージ出力制御回路171bの2つを設けているので、メッセージ出力設定部172がいずれか一方のメッセージ出力制御回路171のデータベースを更新している間にも、他方のメッセージ出力制御回路171により運用を継続することができる。メッセージ出力設定部172は、チップセレクト信号などを用いて運用するメッセージ出力制御回路171を切り替えてもよい。これにより、運用を停止することなくメッセージ出力制御回路171における音声メッセージの出力方法を変更することができる。   The message output setting unit 172 sets a voice message output method by the message output control circuit 171. The message output setting unit 172 switches a voice message output method by updating a database such as the first database 50, the second database 60, or the message holding unit 132 provided in the message output control circuit 171. In this embodiment, since the message output control circuit 171a and the message output control circuit 171b are provided as the message output control circuit, the message output setting unit 172 uses the database of one of the message output control circuits 171 as the database. Even during the update, the other message output control circuit 171 can continue the operation. The message output setting unit 172 may switch the message output control circuit 171 operated using a chip select signal or the like. As a result, the voice message output method in the message output control circuit 171 can be changed without stopping the operation.

登録受付部135は、広告主又は広告事業者などから、発呼先の電話端末の電話番号と、発呼元の電話端末へ送信すべき音声メッセージの登録を受け付ける。メッセージ出力設定部172は、受け付けたデータをメッセージ出力制御回路171に反映させる。登録受付部135が、広告主又は広告事業者などから音声メッセージを受け付けたときに、課金部136が登録者に対して広告費を課金してもよい。登録受付部135は、音楽などの音声メッセージの登録を受け付けてもよい。例えば、一般利用者が、自身の電話端末を発呼した電話端末の利用者に聞かせたい音楽を登録できるようにしてもよい。また、音楽配信業者が、発呼元の電話端末へ配信したい音楽を登録できるようにしてもよい。これにより、発呼元の電話端末の利用者にとっても魅力的なサービスを提供することができる。   The registration accepting unit 135 accepts registration of a telephone number of a call destination telephone terminal and a voice message to be transmitted to the call origination telephone terminal from an advertiser or an advertising business. The message output setting unit 172 reflects the received data on the message output control circuit 171. When the registration receiving unit 135 receives a voice message from an advertiser or an advertising business, the charging unit 136 may charge the registrant with the advertising cost. The registration accepting unit 135 may accept registration of a voice message such as music. For example, a general user may be able to register music that he / she wants to hear from the user of the telephone terminal that has called his / her telephone terminal. Further, the music distributor may be able to register music to be distributed to the caller's telephone terminal. This makes it possible to provide an attractive service for the user of the caller telephone terminal.

メッセージ保持部132に、発呼元の電話端末の種別に応じて複数のデータ形式の音声メッセージを格納しておいてもよい。このとき、第2データベース60の音声ファイル名欄96に、発呼元電話番号に対応する電話端末の仕様に合ったデータ形式の音声メッセージのファイル名を登録しておく。これにより、メッセージ出力制御回路171は、発呼元の電話端末の仕様に合わせて適切な音声メッセージをメッセージ保持部132から読み出して送信することができる。このように、本実施の形態では、発呼先の電話番号だけでなく、発呼元の電話番号も参照して送信すべき音声メッセージを決定するので、同一の発呼先の電話番号に発呼した場合であっても、発呼元の電話端末に合わせて異なる音声メッセージを送信することができる。例えば、同じ電話番号に発呼しても、発呼元の電話端末の利用者の年齢、性別、住所、嗜好などの属性に合わせて、異なる音声メッセージを発呼元の電話端末へ送信することができる。これにより、より柔軟できめ細かなサービスを提供することができる。   The message holding unit 132 may store voice messages in a plurality of data formats according to the type of the caller telephone terminal. At this time, the file name of the voice message in the data format corresponding to the specification of the telephone terminal corresponding to the caller telephone number is registered in the voice file name column 96 of the second database 60. As a result, the message output control circuit 171 can read and transmit an appropriate voice message from the message holding unit 132 according to the specification of the caller telephone terminal. In this way, in this embodiment, since the voice message to be transmitted is determined by referring not only to the telephone number of the call destination but also to the telephone number of the call source, the call is made to the same call destination telephone number. Even when a call is made, a different voice message can be transmitted in accordance with the caller's telephone terminal. For example, even if a call is made to the same telephone number, different voice messages are sent to the caller's phone terminal according to attributes such as the age, gender, address, and preferences of the user of the caller's phone terminal. Can do. Thereby, a more flexible and detailed service can be provided.

メッセージ出力制御回路171は、音声メッセージの出力方法を決定する基準となるデータの種別の数に応じて、複数の検索回路30を有してもよい。例えば、図75の例のように、発呼元電話番号及び発呼先電話番号を基準として音声メッセージの出力方法を決定する場合は、それぞれの検索のために2つの検索回路30が設けられ、同時に並列して検索を実行させてもよい。これにより、より高速に音声メッセージの出力を制御することができる。メッセージ出力制御回路171は、送信元又は送信先のMACアドレス、通信ステータス、その他通信データ中に存在する任意のデータやビットを単独で又は複数組み合わせて、音声メッセージを出力する方法を決定する基準としてもよい。   The message output control circuit 171 may include a plurality of search circuits 30 according to the number of types of data serving as a reference for determining a voice message output method. For example, as in the example of FIG. 75, when the voice message output method is determined based on the caller telephone number and the callee telephone number, two search circuits 30 are provided for each search. Searches may be executed in parallel at the same time. Thereby, the output of the voice message can be controlled at higher speed. The message output control circuit 171 is used as a reference for determining a method for outputting a voice message by combining a MAC address of a transmission source or a transmission destination, a communication status, or any other data or bit existing in communication data, alone or in combination. Also good.

メッセージ出力制御回路171は、複数のメッセージ出力ポート173の中から、送信先の電話端末に応じて、音声メッセージを出力するメッセージ出力ポート173を決定してもよい。例えば、それぞれのメッセージ出力ポート173が異なるネットワークに接続されている場合、送信先の電話端末のIPアドレスに応じて、適切なメッセージ出力ポート173を選択して音声メッセージを送出してもよい。これにより、通信データを適切にルーティングすることができる。   The message output control circuit 171 may determine a message output port 173 that outputs a voice message from a plurality of message output ports 173 according to a destination telephone terminal. For example, when each message output port 173 is connected to a different network, an appropriate message output port 173 may be selected according to the IP address of the destination telephone terminal to send a voice message. Thereby, communication data can be appropriately routed.

メッセージ出力制御回路171は、メッセージ出力ポート173の使用状況に応じて、使用するメッセージ出力ポート173を決定してもよい。例えば、メッセージ出力ポート173aから送出すべき音声メッセージが大量に生じたとき、それらを全てメッセージ出力ポート173aから出力する代わりに、輻輳していない他のメッセージ出力ポート173から出力させてもよい。これにより、メッセージ出力ポート173の負荷を分散し、効率良く音声メッセージを送出させることができる。   The message output control circuit 171 may determine the message output port 173 to be used according to the usage status of the message output port 173. For example, when a large number of voice messages to be transmitted from the message output port 173a are generated, instead of outputting them all from the message output port 173a, they may be output from other message output ports 173 that are not congested. As a result, the load on the message output port 173 can be distributed and the voice message can be transmitted efficiently.

なお、発呼元の電話端末が固定電話である場合には、送信すべき音声メッセージを音声サーバからアナログ信号で発呼元の電話端末へ供給してもよい。   When the calling telephone terminal is a fixed telephone, the voice message to be transmitted may be supplied from the voice server to the calling telephone terminal as an analog signal.

上記のような技術によれば、電話端末の利用者は、発呼先の電話端末を呼び出している間にも音楽などの音声メッセージを楽しむことができるとともに、広告などの音声メッセージを聞くことで通話料の低減などの利益を享受することができる。また、広告主や広告事業者は、自身の電話端末の電話番号に発呼してきた利用者に広告を提供することができるので、効率よく広告を行うことができる。さらに、通信事業者は、魅力的なサービスを提供することで利用者の増加を見込めるとともに、音声メッセージの提供主からの広告収入や、通信量の増加による通話料の増収を得ることができる。このように、本実施の形態で提案したサービスは、サービスに関係する全ての主体が利益を享受することが可能な魅力あるビジネスモデルとなっている。   According to the technology as described above, a user of a telephone terminal can enjoy a voice message such as music while calling the telephone terminal of the call destination, and can also listen to a voice message such as an advertisement. Benefits such as reduced call charges can be enjoyed. In addition, since the advertiser or the advertising business can provide the advertisement to the user who has called the telephone number of his / her telephone terminal, the advertisement can be efficiently performed. Furthermore, the telecommunications carrier can expect an increase in the number of users by providing an attractive service, and can obtain an advertising revenue from a voice message provider and an increase in a call charge due to an increase in the amount of communication. As described above, the service proposed in the present embodiment is an attractive business model in which all entities related to the service can enjoy the benefits.

上記の例では、音声メッセージを発呼元の電話端末へ送信したが、音声メッセージに代えて、文字や画像などを含むコンテンツを発呼元の電話端末へ送信してもよい。この場合、発呼元の電話端末は、送信されたコンテンツを電話端末の表示装置などに表示する。   In the above example, the voice message is transmitted to the caller telephone terminal. However, instead of the voice message, content including characters and images may be transmitted to the caller telephone terminal. In this case, the calling telephone terminal displays the transmitted content on the display device of the telephone terminal.

音声メッセージとして、発呼先の電話端末が話中であったときの応答メッセージなどをメッセージ保持部132に登録しておいてもよい。この場合、メッセージ出力制御回路171は、発呼先の電話端末から話中である旨の情報を含む通信データが返送されてきたときに、発呼元の電話端末へ応答メッセージを送出する。これにより、発呼先の電話端末が話中で呼が成立しない場合であっても、発呼元の電話端末へ適切な応答メッセージを送信することができる。   As the voice message, a response message or the like when the call destination telephone terminal is busy may be registered in the message holding unit 132. In this case, the message output control circuit 171 sends a response message to the caller telephone terminal when communication data including information indicating that the call is busy is returned from the callee telephone terminal. Thereby, even when the call destination telephone terminal is busy and a call is not established, an appropriate response message can be transmitted to the call source telephone terminal.

また、音声メッセージとして、大規模災害発生時などにIP電話網を含む通信回線が輻輳状態に陥ったときに、電話がつながりにくい旨や、現況の詳細情報などを案内する案内メッセージなどをメッセージ保持部132に登録しておいてもよい。この場合、メッセージ出力設定部172は、発呼が困難な状況にある電話端末の電話番号に対応づけて案内メッセージをメッセージ保持部132に登録し、メッセージ出力制御回路171は、その電話番号へ発呼した電話端末へ案内メッセージを送信する。これにより、発呼先の電話端末までの通信経路が輻輳状態にあって呼が成立しない場合であっても、発呼元の電話端末へ適切な案内メッセージを送信することができる。   In addition, as a voice message, when a large-scale disaster occurs, when the communication line including the IP telephone network is in a congested state, it holds a message that it is difficult to connect, and a guidance message that provides detailed information on the current situation It may be registered in the unit 132. In this case, the message output setting unit 172 registers a guidance message in the message holding unit 132 in association with the telephone number of the telephone terminal that is difficult to make a call, and the message output control circuit 171 calls the telephone number. A guidance message is transmitted to the called telephone terminal. Thus, even when the communication path to the call destination telephone terminal is in a congested state and the call is not established, an appropriate guidance message can be transmitted to the call source telephone terminal.

また、音声メッセージとして、緊急通報機関からの自動応答メッセージなどをメッセージ保持部132に登録しておいてもよい。この場合、メッセージ出力制御回路171は、発呼先の電話番号が緊急通報機関の電話番号であったときに、通報者に対して適切な対処を説明するための自動応答メッセージなどを送出する。通報者が発声又は聴き取りに障害を有している場合もあるので、文字又は画像により、例えば電話端末の適切な操作方法などを説明する自動応答メッセージを送出してもよい。これにより、緊急通報の通報者の電話端末へ適切な応答メッセージを送信することができる。   Further, an automatic response message from an emergency call organization may be registered in the message holding unit 132 as a voice message. In this case, the message output control circuit 171 sends an automatic response message or the like for explaining an appropriate countermeasure to the reporter when the call destination telephone number is the telephone number of the emergency call organization. Since the whistleblower may have a disability in speaking or listening, an automatic response message explaining, for example, an appropriate operation method of the telephone terminal may be transmitted by text or an image. Thereby, an appropriate response message can be transmitted to the telephone terminal of the caller of the emergency call.

このように、本実施の形態の技術によれば、電話端末と交換機が直接電気的に接続されている公衆交換電話網から、電話端末と交換機との間の直接の接続がないIP電話網へ移行しても、上記のようなライフラインとしての機能を持つサービスを提供することができる。   Thus, according to the technique of the present embodiment, from a public switched telephone network in which a telephone terminal and a switch are directly electrically connected to an IP telephone network in which there is no direct connection between the telephone terminal and the switch. Even after the migration, it is possible to provide a service having a function as a lifeline as described above.

(実施の形態15)
つづいて、上述した通信制御装置10において、帯域制御を実現する技術について説明する。
(Embodiment 15)
Next, a technique for realizing bandwidth control in the communication control apparatus 10 described above will be described.

図76は、実施の形態に係る通信制御装置の構成を示す。本実施の形態の通信制御装置10は、図3に示した前提技術の通信制御装置10の構成に加えて、帯域制御回路400を更に備える。その他の構成及び動作は、図3に示した通信制御装置10と同様である。   FIG. 76 shows a configuration of a communication control apparatus according to the embodiment. The communication control apparatus 10 according to the present embodiment further includes a band control circuit 400 in addition to the configuration of the communication control apparatus 10 of the base technology shown in FIG. Other configurations and operations are the same as those of the communication control apparatus 10 shown in FIG.

帯域制御回路400は、選択回路405、登録部410、クラス別管理回路420、管理テーブル430、通信データ登録RAM440、及びデータ取出回路450を備える。パケット処理回路20から出力される通信データには、その通信データを送出する帯域のクラスを示すクラス情報が付されている。クラス情報は、通信データのプロトコル番号、ポート番号、送信元IPアドレス、送信先IPアドレスなどに応じて、パケット処理回路20により決定される。   The bandwidth control circuit 400 includes a selection circuit 405, a registration unit 410, a class management circuit 420, a management table 430, a communication data registration RAM 440, and a data extraction circuit 450. The communication data output from the packet processing circuit 20 is attached with class information indicating a class of a band for transmitting the communication data. The class information is determined by the packet processing circuit 20 according to the protocol number, port number, transmission source IP address, transmission destination IP address, etc. of the communication data.

クラス別管理回路420は、通信データを送出する帯域のクラスごとに設けられ、通信データを送出するタイミングを制御する。クラス別管理回路420は、パケット処理回路20から出力される通信データのうち、自身が担当するクラスに属する通信データを取得してパケット化する。クラス別管理回路420は、管理テーブル430に登録された基本情報にしたがって、送出するパケットのデータ長、メモリ領域の開始点と終了点を通信データ登録RAM440に登録する。クラス別管理回路420は、行った制御に関する情報を管理テーブル430に登録する。登録部410は、管理テーブル430に基本情報を登録する。   The class-specific management circuit 420 is provided for each class of a band for transmitting communication data, and controls the timing for transmitting the communication data. The management circuit by class 420 acquires communication data belonging to the class that it is in charge of from the communication data output from the packet processing circuit 20 and packetizes it. The class-specific management circuit 420 registers the data length of the packet to be transmitted and the start and end points of the memory area in the communication data registration RAM 440 according to the basic information registered in the management table 430. The class management circuit 420 registers information related to the control performed in the management table 430. The registration unit 410 registers basic information in the management table 430.

図77は、管理テーブルの内部データの例を示す。管理テーブル430には、クラス欄431、送出可能ビット数欄432、登録パケット数欄433、及び超過ビット数欄434が設けられている。クラス欄431は、帯域のクラスを格納する。送出可能ビット数欄432は、クラス別に割り当てられた単位時間に送出可能なビット数を格納する。登録パケット数欄433は、クラス別管理回路420が次回に送出する通信データとして通信データ登録RAM440に登録した通信データのパケットの量を格納する。図77の例では、登録されたパケットの量をビット数で格納している。超過ビット数欄434は、クラス別管理回路420が通信データ登録RAM440に登録した通信データのビット数が、送出可能ビット数欄432に登録されている単位時間に送出可能なビット数を超過した場合に、超過したビット数を格納する。   FIG. 77 shows an example of internal data of the management table. The management table 430 includes a class column 431, a sendable bit number column 432, a registered packet number column 433, and an excess bit number column 434. The class column 431 stores a band class. The sendable bit number column 432 stores the number of bits that can be sent per unit time assigned for each class. The registered packet number column 433 stores the amount of packets of communication data registered in the communication data registration RAM 440 as communication data to be transmitted next time by the class management circuit 420. In the example of FIG. 77, the amount of registered packets is stored in the number of bits. The excess bit number column 434 is used when the bit number of communication data registered in the communication data registration RAM 440 by the class management circuit 420 exceeds the number of bits that can be transmitted per unit time registered in the transmittable bit number column 432. The excess number of bits is stored in

クラス別管理回路420は、自身の担当するクラスに属する通信データが大量に発生したり、大容量のファイルなどを送出しようとしたときに、管理テーブル430の送出可能ビット数欄432に規定されたビット数を超過したパケットを通信データ登録RAM440に登録してもよい。しかし、クラス別管理回路420は、超過したビット数を管理テーブル430の超過ビット数欄434に登録しておき、次回以降に、送出可能ビット数から超過ビット数を差し引いたビット数のパケットを通信データ登録RAM440に登録して、超過分を調整する。これにより、クラスごとに適切な帯域制御を行いつつ、パケット単位で柔軟に通信データの送出量を調整することができる。   The class-specific management circuit 420 is defined in the sendable bit number column 432 of the management table 430 when a large amount of communication data belonging to the class in charge of the class is generated or a large-capacity file is to be sent. Packets exceeding the number of bits may be registered in the communication data registration RAM 440. However, the class-specific management circuit 420 registers the excess number of bits in the excess bit number column 434 of the management table 430, and communicates a packet with the number of bits obtained by subtracting the excess bit number from the number of transmittable bits after the next time. It is registered in the data registration RAM 440 and the excess is adjusted. Accordingly, it is possible to flexibly adjust the transmission amount of communication data in units of packets while performing appropriate bandwidth control for each class.

クラス別管理回路420は、次回送出予定のパケットが、送出可能ビット数を超過する場合に、管理テーブル430を参照して、登録パケット数が送出可能ビット数に満たないクラスを抽出し、そのクラスを担当するクラス別管理回路420に、超過分の通信データの送出を依頼してもよい。依頼されたクラス別管理回路420は、送出可能ビット数を超えない範囲で追加の通信データの送出を受け付け、通信データをパケット化して通信データ登録RAM440に登録するとともに、管理テーブル430の登録パケット数欄433を更新する。これにより、通信データのクラスが偏っても、空いている帯域を利用して送出することができるので、帯域全体を有効に活用することができる。   The class-specific management circuit 420 refers to the management table 430 to extract a class whose registered packet number is less than the transmittable bit number when a packet scheduled to be transmitted next exceeds the transmittable bit number, May be requested to send the excess communication data to the class-specific management circuit 420 in charge of. The requested class-specific management circuit 420 accepts transmission of additional communication data within a range that does not exceed the number of bits that can be transmitted, packetizes the communication data, registers it in the communication data registration RAM 440, and registers the number of registered packets in the management table 430. Update column 433. Thereby, even if the class of communication data is biased, it is possible to transmit using the available band, so that the entire band can be used effectively.

データ取出回路450は、所定のタイミングで通信データ登録RAM440に登録されているパケットを取り出してネットワークへ送出する。   The data extraction circuit 450 extracts a packet registered in the communication data registration RAM 440 at a predetermined timing and transmits it to the network.

選択回路405は、パケット処理回路20から取得した通信データのクラス情報に応じて、通信データをクラス別管理回路420a〜420dに振り分ける。選択回路405は、パケット処理回路20から通知されるクラス情報から、通信データを振り分けるべきクラス別管理回路420をアクティブにするためのチップセレクト信号を生成して、クラス別管理回路420へ供給する。これにより、簡易な構成で、通信データを処理すべきクラス別管理回路420をアクティブにし、通信データを処理させることができる。   The selection circuit 405 distributes the communication data to the class-specific management circuits 420a to 420d according to the class information of the communication data acquired from the packet processing circuit 20. The selection circuit 405 generates a chip select signal for activating the class management circuit 420 to which communication data should be distributed from the class information notified from the packet processing circuit 20 and supplies the chip select signal to the class management circuit 420. As a result, the class-specific management circuit 420 that should process the communication data can be activated and the communication data can be processed with a simple configuration.

(実施の形態16)
図78は、実施の形態に係る試験装置900の構成を示す。試験装置900は、生成部902、出力部904、入力部906、及び検査部908を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
(Embodiment 16)
FIG. 78 shows a configuration of a test apparatus 900 according to the embodiment. The test apparatus 900 includes a generation unit 902, an output unit 904, an input unit 906, and an inspection unit 908. In terms of hardware components, these configurations are realized by a CPU of a computer, a memory, a program loaded in the memory, and the like, but here, functional blocks realized by their cooperation are illustrated. Accordingly, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.

生成部902は、通信制御装置10へ出力する試験データと、通信制御装置10の処理実行回路40がその試験データを正常に処理したときに処理実行回路40から出力されるべき解答データを生成する。例えば、パケットフィルタリングを行うための通信制御装置10の場合、生成部902は、通過させるべきパケットと遮断すべきパケットを混在させた試験データを生成するとともに、通過させるべきパケットを含み遮断すべきパケットを含まない解答データを生成する。通信制御装置10がパケットに含まれるデータを所定のアルゴリズムにより変換する処理を行う場合、生成部902は、通信されるパケットのサンプルを試験データとして生成するとともに、そのパケットに含まれるデータを所定のアルゴリズムにより変換した解答データを生成する。   The generation unit 902 generates test data to be output to the communication control apparatus 10 and answer data to be output from the process execution circuit 40 when the process execution circuit 40 of the communication control apparatus 10 has processed the test data normally. . For example, in the case of the communication control apparatus 10 for performing packet filtering, the generation unit 902 generates test data in which a packet to be passed and a packet to be blocked are mixed, and includes a packet to be blocked and includes a packet to be blocked. Generate answer data that does not contain. When the communication control apparatus 10 performs processing for converting data included in a packet using a predetermined algorithm, the generation unit 902 generates a sample of the packet to be communicated as test data, and converts the data included in the packet into a predetermined data The answer data converted by the algorithm is generated.

生成部902は、試験データと解答データを予め生成して、ハードディスク装置やメモリなどの記憶装置に格納しておいてもよい。この場合、生成部902は、試験が開始されると、試験データを記憶装置から読み出して出力部904へ送り、解答データを記憶装置から読み出して検査部908へ送る。出力部904が記憶装置から直接試験データを読み出してもよい。また、検査部908が記憶装置から直接解答データを読み出してもよい。   The generation unit 902 may generate test data and answer data in advance and store them in a storage device such as a hard disk device or a memory. In this case, when the test is started, the generation unit 902 reads the test data from the storage device and sends it to the output unit 904, and reads the answer data from the storage device and sends it to the inspection unit 908. The output unit 904 may read test data directly from the storage device. Further, the inspection unit 908 may read the answer data directly from the storage device.

試験データと解答データは、別の装置で生成されて試験装置900へ入力されてもよい。この場合、試験装置900は、生成部902に代えて、別の装置から試験データと解答データを取得する構成を備える。   The test data and answer data may be generated by another device and input to the test device 900. In this case, the test apparatus 900 includes a configuration for acquiring test data and answer data from another apparatus instead of the generation unit 902.

出力部904は、通信制御装置10へ試験データを出力する。入力部906は、通信制御装置10から出力される結果データを入力する。検査部908は、生成部902が生成した解答データと、入力部906が入力した結果データとを、両データの先頭から順に比較することにより、通信制御装置10が正常に動作しているか否かを検査する。   The output unit 904 outputs test data to the communication control device 10. The input unit 906 inputs result data output from the communication control device 10. The inspection unit 908 compares the answer data generated by the generation unit 902 and the result data input by the input unit 906 in order from the top of both data, thereby determining whether the communication control device 10 is operating normally. Inspect.

図79は、検査部908の構成を示す。検査部908は、図12に示したバイナリサーチ回路36と同様に、生成部902が生成した解答データ910と入力部906が入力した結果データ912とをビット単位で比較する複数の比較器920a、920b、・・・、を含む比較回路920を備える。複数の比較器920a、920b、・・・は、同時に並行して複数の比較を実行可能であってもよい。これにより、多数のデータを高速に比較することができるので、試験に要する時間を大幅に短縮することができる。また、比較の対象となる解答データ910及び結果データ912を一時的に格納するバッファの容量を低減することができる。   FIG. 79 shows the configuration of the inspection unit 908. As in the binary search circuit 36 shown in FIG. 12, the inspection unit 908 includes a plurality of comparators 920a that compare the answer data 910 generated by the generation unit 902 and the result data 912 input by the input unit 906 in bit units. 920b,... Are provided. The plurality of comparators 920a, 920b,... May be capable of performing a plurality of comparisons in parallel. As a result, a large number of data can be compared at high speed, and the time required for the test can be greatly reduced. In addition, the capacity of the buffer that temporarily stores the answer data 910 and the result data 912 to be compared can be reduced.

前提技術で説明した通信制御装置10は、検索回路30を含むパケット処理回路20がワイヤードロジック回路により構成されている上に、比較対象のデータを高速に検出するための位置検出回路32、高速なバイナリサーチを実現するためのインデックス回路34、バイナリサーチ回路36を設けているため、非常に高速な処理が可能である。このような通信制御装置10を試験する場合、試験装置900も高速な動作が可能であることが好ましい。上述したように、本実施の形態の試験装置900によれば、高速に動作する通信制御装置10に見合った高速な試験を実現することができる。   In the communication control apparatus 10 described in the base technology, the packet processing circuit 20 including the search circuit 30 is configured by a wired logic circuit, and a position detection circuit 32 for detecting data to be compared at high speed, a high speed Since the index circuit 34 and the binary search circuit 36 for realizing the binary search are provided, very high-speed processing is possible. When testing such a communication control apparatus 10, it is preferable that the test apparatus 900 can also operate at high speed. As described above, according to the test apparatus 900 of the present embodiment, it is possible to realize a high-speed test suitable for the communication control apparatus 10 that operates at high speed.

判定回路922は、複数の比較器920a、920b、・・・から比較結果を取得し、解答データ910と結果データ912が一致するか否かを判定する。解答データ910と結果データ912が一致しなかった場合、報知部930は、表示装置932にエラーメッセージを表示したり、スピーカ934から警報音を出力するなどして、エラーが発生した旨を報知する。ログ記録部940は、エラーの内容をログ保持部942に保持されるエラーログに記録する。エラーログは、エラーが発生したデータの位置、そのときの解答データ、出力データなどを含んでもよい。報知部930は、図示しない印刷装置などにエラーメッセージを印刷してもよい。また、ログ記録部940は、図示しない印刷装置などにエラーログを印刷してもよい。   The determination circuit 922 acquires a comparison result from the plurality of comparators 920a, 920b,..., And determines whether the answer data 910 and the result data 912 match. If the answer data 910 and the result data 912 do not match, the notification unit 930 notifies the fact that an error has occurred by displaying an error message on the display device 932 or outputting an alarm sound from the speaker 934. . The log recording unit 940 records the content of the error in an error log held in the log holding unit 942. The error log may include the position of data in which an error has occurred, answer data at that time, output data, and the like. The notification unit 930 may print an error message on a printing device (not shown). Further, the log recording unit 940 may print the error log on a printing device (not shown).

図80は、実施の形態に係る試験装置の別の構成例を示す。図78に示した例では、生成部902、出力部904、入力部906、及び検査部908が同一の試験装置900に設けられていたが、図80に示した例では、通信制御装置10の入力側の試験装置900aが生成部902、出力部904a及び904bを備え、通信制御装置10の出力側の試験装置900bが入力部906a及び906b、検査部908を備える。   FIG. 80 shows another configuration example of the test apparatus according to the embodiment. In the example shown in FIG. 78, the generation unit 902, the output unit 904, the input unit 906, and the inspection unit 908 are provided in the same test apparatus 900. However, in the example shown in FIG. The test apparatus 900a on the input side includes a generation unit 902, output units 904a and 904b, and the test apparatus 900b on the output side of the communication control apparatus 10 includes input units 906a and 906b and an inspection unit 908.

出力部904aは、生成部902が生成した試験データを通信制御装置10へ出力する。出力部904bは、生成部902が生成した解答データを試験装置900bへ出力する。入力部906aは、通信制御装置10から出力された結果データを入力する。入力部906bは、出力部904bから出力された解答データを入力する。その他の構成及び動作は、図78に示した例と同様である。   The output unit 904 a outputs the test data generated by the generation unit 902 to the communication control device 10. The output unit 904b outputs the answer data generated by the generation unit 902 to the test apparatus 900b. The input unit 906a inputs the result data output from the communication control device 10. The input unit 906b inputs the answer data output from the output unit 904b. Other configurations and operations are the same as those of the example shown in FIG.

検査部908は、入力部906aがデータを入力した時刻と、入力部906bが対応するデータを入力した時刻との差を計測することにより、通信制御装置10における処理時間を推定してもよい。この場合、より正確に通信制御装置10のスループットを計測するために、出力部904aから通信制御装置10を介して入力部906aへ至る通信経路と、出力部904bから入力部906bへ至る通信経路との通信能力を揃えておくのが好ましい。   The inspection unit 908 may estimate the processing time in the communication control device 10 by measuring the difference between the time when the input unit 906a inputs data and the time when the input unit 906b inputs corresponding data. In this case, in order to more accurately measure the throughput of the communication control device 10, a communication path from the output unit 904a to the input unit 906a via the communication control device 10, and a communication path from the output unit 904b to the input unit 906b It is preferable to have the same communication capability.

図81は、実施の形態に係る試験装置の更に別の構成例を示す。図81に示した例では、通信制御装置10から2系統のデータが出力される。例えば、パケットフィルタリングを行う通信制御装置10において、通過させるべきパケットが出力される系統と、遮断すべきパケットに対してエラーメッセージ等が出力される系統が用意されている場合などが考えられる。この場合、通信制御装置10から出力される2つの系統のデータのそれぞれに対して、試験装置900b及び900cが設けられる。試験装置900aの出力部904bは、2つの系統の解答データを試験装置900b及び900cのそれぞれに出力する。試験装置900bの入力部906aは、通信制御装置10から出力される一方の系統の結果データを入力し、入力部906bは、その系統の解答データを入力する。試験装置900cの入力部906cは、通信制御装置10から出力される他方の系統の結果データを入力し、入力部906dは、その系統の解答データを入力する。通信制御装置10から3以上の系統のデータが出力される場合は、それに応じて試験装置900を設ければよい。   FIG. 81 shows still another configuration example of the test apparatus according to the embodiment. In the example shown in FIG. 81, two systems of data are output from the communication control device 10. For example, in the communication control apparatus 10 that performs packet filtering, a system in which a packet to be passed is output and a system in which an error message is output for a packet to be blocked are prepared. In this case, test devices 900 b and 900 c are provided for each of the two systems of data output from the communication control device 10. The output unit 904b of the test apparatus 900a outputs answer data of two systems to each of the test apparatuses 900b and 900c. The input unit 906a of the test apparatus 900b inputs result data of one system output from the communication control apparatus 10, and the input unit 906b inputs answer data of that system. The input unit 906c of the test apparatus 900c inputs the result data of the other system output from the communication control apparatus 10, and the input unit 906d inputs the answer data of that system. When three or more systems of data are output from the communication control device 10, the test device 900 may be provided accordingly.

図82は、実施の形態に係る試験装置の更に別の構成例を示す。図81に示した例では、試験装置900bと試験装置900cが別に設けられていたが、図82に示した例では、同一の試験装置900dが、通信制御装置10から出力される2系統のデータを検査する。試験装置900dは、通信制御装置10から出力される2つの系統のデータのそれぞれを入力する入力部906a及び906cを有しており、さらに、試験装置900aの出力部904bから出力される2つの系統の解答データを入力する入力部906bを有している。検査部908は、2系統の結果データと解答データとを比較する2つの比較回路920を有してもよいし、同一の比較回路920を時分割して2系統の結果データと解答データとを比較してもよい。   FIG. 82 shows still another configuration example of the test apparatus according to the embodiment. In the example shown in FIG. 81, the test apparatus 900b and the test apparatus 900c are provided separately. However, in the example shown in FIG. 82, the same test apparatus 900d has two systems of data output from the communication control apparatus 10. Inspect. The test apparatus 900d includes input units 906a and 906c for inputting two systems of data output from the communication control apparatus 10, and further includes two systems output from the output unit 904b of the test apparatus 900a. Input unit 906b for inputting the answer data. The inspection unit 908 may include two comparison circuits 920 that compare the result data and answer data of the two systems, or time-divide the same comparison circuit 920 to obtain the result data and answer data of the two systems. You may compare.

図83は、実施の形態に係る試験装置の更に別の構成例を示す。図83の例では、通信制御装置10から出力される信号に基づいてメッセージ等を出力するメッセージ出力サーバ130を試験する試験装置900cが設けられている。この場合、試験装置900aの生成部902は、通信制御装置10に出力したデータに対応してメッセージ出力サーバ130が出力すべき解答データを更に生成し、出力部904cは、生成された解答データを試験装置900cへ出力する。試験装置900cの入力部906cは、メッセージ出力サーバ130から出力される結果データを入力し、入力部906dは、出力部904cから出力される解答データを入力する。検査部908cは、入力部906cが入力した結果データと、入力部906dが入力した解答データとを比較して、メッセージ出力サーバ130が正常に動作しているか否かを検査する。これにより、通信制御装置10だけでなく、通信制御装置10の周辺装置も含む通信制御システム100全体を同時に試験することができる。   FIG. 83 shows still another configuration example of the test apparatus according to the embodiment. In the example of FIG. 83, a test apparatus 900c that tests the message output server 130 that outputs a message or the like based on a signal output from the communication control apparatus 10 is provided. In this case, the generation unit 902 of the test apparatus 900a further generates answer data to be output by the message output server 130 in response to the data output to the communication control apparatus 10, and the output unit 904c outputs the generated answer data. Output to the test apparatus 900c. The input unit 906c of the test apparatus 900c inputs the result data output from the message output server 130, and the input unit 906d inputs the answer data output from the output unit 904c. The inspection unit 908c compares the result data input by the input unit 906c with the answer data input by the input unit 906d to inspect whether the message output server 130 is operating normally. As a result, not only the communication control device 10 but also the entire communication control system 100 including peripheral devices of the communication control device 10 can be tested simultaneously.

図84は、実施の形態に係る試験装置の更に別の構成例を示す。図84に示した試験装置900は、図78に示した試験装置900の構成に加えて、更新部952及び差分生成部954を更に備える。また、生成部902に代えて、保持部950を備える。その他の構成及び動作は、図78に示した試験装置900と同様である。   FIG. 84 shows still another configuration example of the test apparatus according to the embodiment. 84 includes an update unit 952 and a difference generation unit 954 in addition to the configuration of the test apparatus 900 shown in FIG. Further, a holding unit 950 is provided instead of the generation unit 902. Other configurations and operations are the same as those of the test apparatus 900 shown in FIG.

保持部950は、通信制御装置10へ出力する試験データと、通信制御装置10へ出力した試験データを通信制御装置10の処理実行回路40が正常に処理したときに処理実行回路40から出力されるべき解答データとを対応づけて保持する。試験データと解答データは、生成部902により生成されて保持部950に格納されてもよいし、他の装置から提供されてもよい。   The holding unit 950 is output from the process execution circuit 40 when the process execution circuit 40 of the communication control apparatus 10 has successfully processed the test data output to the communication control apparatus 10 and the test data output to the communication control apparatus 10. Corresponding and holding power answer data. The test data and answer data may be generated by the generation unit 902 and stored in the holding unit 950, or may be provided from another device.

差分生成部954は、データベースサーバ150が通信制御装置10の第1データベース50又は第2データベース60を更新するときに、更新される前のデータベースと、更新された後のデータベースとの間の差分を生成する。差分生成部954は、データベースサーバ150から、更新前のデータベースと更新後のデータベースとを取得して、それらの差分を生成してもよい。また、データベースサーバ150において生成された差分を取得してもよい。差分生成部954は、更新前後のデータベースの差分を更新部952及び出力部904へ通知する。   When the database server 150 updates the first database 50 or the second database 60 of the communication control device 10, the difference generation unit 954 calculates the difference between the database before being updated and the database after being updated. Generate. The difference generation unit 954 may acquire the database before update and the database after update from the database server 150 and generate a difference between them. Further, the difference generated in the database server 150 may be acquired. The difference generation unit 954 notifies the update unit 952 and the output unit 904 of the difference between the databases before and after the update.

更新部952は、通信制御装置10の第1データベース50又は第2データベース60が更新されるときに、データベースの更新に伴って、保持部950に保持されたデータを更新する。更新部952は、差分生成部954から更新前後のデータベースの差分を取得し、更新されたレコードに関連する試験データと解答データを生成してもよい。また、他の装置において生成された試験データと解答データを取得してもよい。更新部952は、新たに生成された試験データと解答データを保持部950に格納する。更新部952は、更新した試験データと解答データのレコードを出力部904へ通知する。   When the first database 50 or the second database 60 of the communication control apparatus 10 is updated, the update unit 952 updates the data held in the holding unit 950 along with the database update. The update unit 952 may acquire the difference between the databases before and after the update from the difference generation unit 954 and generate test data and answer data related to the updated record. Moreover, you may acquire the test data and answer data produced | generated in the other apparatus. The update unit 952 stores the newly generated test data and answer data in the holding unit 950. The update unit 952 notifies the output unit 904 of the updated test data and answer data records.

出力部904は、保持部950に保持されたデータのうち、更新部952により更新されたレコードの試験データを選択して通信制御装置10へ出力する。出力部904は、保持部950に保持されたデータのうち、差分生成部954が生成した更新前後のデータベースの差分のレコードに記憶されている基準データを含む試験データを選択して通信制御装置10へ出力してもよい。これにより、データベースの更新されたレコードに関する試験のみを選択的に行うことができるので、試験の効率を向上させることができる。また、更新されたレコードを重点的に試験することができるので、試験の精度を向上させることができる。   The output unit 904 selects the test data of the record updated by the update unit 952 from the data held in the holding unit 950 and outputs the selected test data to the communication control apparatus 10. The output unit 904 selects the test data including the reference data stored in the difference records in the database before and after the update generated by the difference generation unit 954 from the data held in the holding unit 950 and selects the communication control device 10. May be output. Thereby, only the test regarding the record updated in the database can be selectively performed, so that the efficiency of the test can be improved. In addition, since the updated record can be focused on, the accuracy of the test can be improved.

通信制御装置10が、ICMP(Internet Control Message Protocol)などのプロトコルにより、通信データの送信元に対して応答データを返信する機能を有している場合、試験装置900は、通信制御装置10が返信する応答データを試験してもよい。この場合、保持部950は、通信制御装置10へ出力するデータに対して通信制御装置10が返信すべき応答データを更に保持する。入力部906は、通信制御装置10へ出力したデータに対して通信制御装置10から返信された応答データを更に入力する。入力部906は、出力部904が通信制御装置10へ試験データを出力するポートと同じポートから応答データを入力してもよい。検査部908は、通信制御装置10から返信された応答データを、保持部950に保持されている応答データと比較することにより、応答データが正常に返信されているか否かを更に検査する。   When the communication control apparatus 10 has a function of returning response data to the transmission source of communication data using a protocol such as ICMP (Internet Control Message Protocol), the test apparatus 900 returns the response data. Response data may be tested. In this case, the holding unit 950 further holds response data to be returned by the communication control apparatus 10 with respect to the data output to the communication control apparatus 10. The input unit 906 further inputs response data returned from the communication control device 10 in response to the data output to the communication control device 10. The input unit 906 may input response data from the same port as the port from which the output unit 904 outputs test data to the communication control apparatus 10. The inspection unit 908 further inspects whether or not the response data is normally returned by comparing the response data returned from the communication control device 10 with the response data held in the holding unit 950.

前提技術で説明したように、通信制御装置10が、通信データの制御に際して所定の宛先へメッセージを送信する機能を有している場合、試験装置900は、通信制御装置10が送信するメッセージを試験してもよい。この場合、保持部950は、通信制御装置10へ出力するデータに対して通信制御装置10が送信すべきメッセージを更に保持する。入力部906は、通信制御装置10へ出力したデータに対して通信制御装置10から送信されたメッセージを更に入力する。入力部906は、通信制御装置10のメッセージ出力ポート21から送信されたメッセージを受信するためのメッセージ入力ポートを有していてもよい。入力部906は、メッセージ出力サーバ130から送信されたメッセージを受信してもよい。検査部908は、通信制御装置10から送信されたメッセージを、保持部950に保持されているメッセージと比較することにより、メッセージが正常に送信されているか否かを更に検査する。   As described in the base technology, when the communication control apparatus 10 has a function of transmitting a message to a predetermined destination when controlling communication data, the test apparatus 900 tests a message transmitted by the communication control apparatus 10. May be. In this case, the holding unit 950 further holds a message to be transmitted by the communication control apparatus 10 with respect to the data output to the communication control apparatus 10. The input unit 906 further inputs a message transmitted from the communication control apparatus 10 with respect to the data output to the communication control apparatus 10. The input unit 906 may have a message input port for receiving a message transmitted from the message output port 21 of the communication control device 10. The input unit 906 may receive a message transmitted from the message output server 130. The inspecting unit 908 further inspects whether the message is normally transmitted by comparing the message transmitted from the communication control device 10 with the message retained in the retaining unit 950.

前提技術で説明したように、通信制御装置10が、通信データの制御に際してログを出力する機能を有している場合、試験装置900は、通信制御装置10が出力するログを試験してもよい。この場合、保持部950は、通信制御装置10へ出力するデータに対して通信制御装置10が出力すべきログを更に保持する。入力部906は、通信制御装置10へ出力したデータに対して通信制御装置10から出力されたログを更に入力する。入力部906は、通信制御装置10のログ出力ポート22から出力されたログを入力するためのログ入力ポートを有していてもよい。入力部906は、ログ管理サーバ140から出力されたログを入力してもよい。検査部908は、通信制御装置10から出力されたログを、保持部950に保持されているログと比較することにより、ログが正常に出力されているか否かを更に検査する。   As described in the base technology, when the communication control apparatus 10 has a function of outputting a log when controlling communication data, the test apparatus 900 may test the log output by the communication control apparatus 10. . In this case, the holding unit 950 further holds a log to be output by the communication control apparatus 10 with respect to data output to the communication control apparatus 10. The input unit 906 further inputs a log output from the communication control apparatus 10 with respect to the data output to the communication control apparatus 10. The input unit 906 may have a log input port for inputting a log output from the log output port 22 of the communication control apparatus 10. The input unit 906 may input a log output from the log management server 140. The inspection unit 908 further inspects whether the log is normally output by comparing the log output from the communication control device 10 with the log stored in the storage unit 950.

以上の技術により、通信制御装置10が、通信データ以外に、応答データ、メッセージ、ログなどを出力する機能を有している場合であっても、それらの機能が正常に動作しているか否かを同時に試験することができる。   Even if the communication control device 10 has a function of outputting response data, a message, a log, and the like in addition to the communication data, whether or not those functions are operating normally by the above technique. Can be tested simultaneously.

本実施の形態の通信制御装置10は、IPアドレスを有しない完全透過型の通信機であり、通信データを物理的に着信せずに上記の機能を実行する。つまり、通信制御装置10は、ネットワークを通過中の通信データを取り込み、プロトコル処理など物理的な着信に要する処理を省略して、上述した処理を行い、所定の条件にしたがって通信データをネットワークへ再送出する。従来の通信機は、自装置宛の通信データを受信して制御していたが、本実施の形態の通信制御装置10は、自装置宛に送信されたのではない通過中の通信データを取り込んで制御する。したがって、送信元及び送信先の装置や、通信経路に設けられた他の通信装置は、通信制御装置10が設けられることによる設定等の変更を何ら必要とすることなく、通信制御装置10の存在を全く意識せずに通信を行うことができる。したがって、本実施の形態の技術によれば、通信システムに大きな改変を行うことなく、上記のような通信制御を行うことができる。また、本実施の形態の通信制御装置10はIPアドレスを有しないので、悪意あるハッカーなどから攻撃を受けることがなく、セキュリティ性に優れている。   The communication control apparatus 10 according to the present embodiment is a completely transparent communication device that does not have an IP address, and executes the above function without physically receiving communication data. That is, the communication control apparatus 10 captures communication data passing through the network, omits processing required for physical incoming calls such as protocol processing, performs the above-described processing, and retransmits the communication data to the network according to a predetermined condition. Put out. The conventional communication device receives and controls the communication data addressed to its own device, but the communication control device 10 according to the present embodiment captures the communication data that is not transmitted to the own device. To control. Therefore, the source and destination devices and the other communication devices provided in the communication path do not require any change in settings or the like due to the provision of the communication control device 10, and the presence of the communication control device 10 exists. It is possible to communicate without being conscious of Therefore, according to the technique of the present embodiment, the above-described communication control can be performed without greatly modifying the communication system. Moreover, since the communication control apparatus 10 of this Embodiment does not have an IP address, it is not attacked by a malicious hacker etc., and is excellent in security.

(実施の形態17)
本実施の形態では、上述した通信制御装置10を利用して、通信装置に割り当てられたネットワークアドレス及びポート番号を変換する技術について説明する。
(Embodiment 17)
In the present embodiment, a technique for converting a network address and a port number assigned to a communication device using the communication control device 10 described above will be described.

図85は、本実施の形態に係る通信制御システムの構成を示す。通信制御システムにおいて、通信制御装置10は、第1のネットワークの一例であるインターネット890と、第2のネットワークの一例であるLAN892との間の通信経路に設けられる。通信制御装置10の第1データベース50には、LAN892における通信のために通信装置に割り当てられたプライベートIPアドレスと、インターネット890における通信のためにその通信装置に割り当てられたグローバルIPアドレス及びUDP又はTCPポート番号とが対応づけて格納される。   FIG. 85 shows the configuration of the communication control system according to the present embodiment. In the communication control system, the communication control device 10 is provided on a communication path between the Internet 890 which is an example of a first network and a LAN 892 which is an example of a second network. The first database 50 of the communication control device 10 includes a private IP address assigned to the communication device for communication on the LAN 892, a global IP address assigned to the communication device for communication on the Internet 890, and UDP or TCP. Stored in association with the port number.

検索回路30は、インターネット890とLAN892との間で送受信される通信データを取得し、その通信データの送信元又は送信先のIPアドレスを第1データベース50から検索する。処理実行回路40は、LAN892からインターネット890へ送信された通信データの送信元のIPアドレスが通信装置のプライベートIPアドレスであった場合、送信元のIPアドレスをその通信装置に割り当てるべきグローバルIPアドレスに変換するとともに、UDP又はTCPのポート番号にその通信装置に割り当てられたポート番号を格納する。また、インターネット890からLAN892へ送信された通信データの送信先のIPアドレスが通信装置に割り当てられたグローバルIPアドレスであった場合、更にポート番号を参照して送信先の通信装置を特定し、送信先のIPアドレスをその通信装置に割り当てられたプライベートIPアドレスに変換する。これにより、プライベートIPアドレスが割り当てられた通信装置がインターネット890を介して通信を行うことができる。   The search circuit 30 acquires communication data transmitted / received between the Internet 890 and the LAN 892 and searches the first database 50 for the IP address of the transmission source or destination of the communication data. If the transmission source IP address of the communication data transmitted from the LAN 892 to the Internet 890 is the private IP address of the communication device, the processing execution circuit 40 sets the transmission source IP address to the global IP address to be assigned to the communication device. At the same time, the port number assigned to the communication device is stored in the UDP or TCP port number. If the destination IP address of the communication data transmitted from the Internet 890 to the LAN 892 is a global IP address assigned to the communication device, the destination communication device is further identified by referring to the port number and transmitted. The previous IP address is converted into a private IP address assigned to the communication device. As a result, a communication device to which a private IP address is assigned can perform communication via the Internet 890.

第1データベース50に、同一の通信装置に割り当てられたIPv4のIPアドレスとIPv6のIPアドレスとを対応づけて格納しておき、処理実行回路40により、両者の間でIPアドレスを変換してもよい。この場合、Ipv4のネットワークからIPv6のネットワークへ送信される通信データに、IPv4のIPアドレスが含まれている場合、処理実行回路40は、IPv4のIPアドレスをIPv6のIPアドレスに変換する。また、IPv6のネットワークからIPv4のネットワークへ送信される通信データに、IPv6のIPアドレスが含まれている場合、処理実行回路40は、IPv6のIPアドレスをIPv4のIPアドレスに変換する。   The first database 50 stores the IPv4 IP address and the IPv6 IP address assigned to the same communication device in association with each other, and the processing execution circuit 40 converts the IP address between them. Good. In this case, when the IPv4 IP address is included in the communication data transmitted from the IPv4 network to the IPv6 network, the process execution circuit 40 converts the IPv4 IP address into the IPv6 IP address. When the IPv6 IP address is included in the communication data transmitted from the IPv6 network to the IPv4 network, the processing execution circuit 40 converts the IPv6 IP address into an IPv4 IP address.

本実施の形態の技術によれば、通信装置のネットワークアドレス及びポート番号を適切かつ高速に変換することができる。   According to the technique of the present embodiment, the network address and port number of the communication device can be converted appropriately and at high speed.

以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.

前提技術に係る通信制御システムの構成を示す図である。It is a figure which shows the structure of the communication control system which concerns on a premise technique. 従来の通信制御装置の構成を示す図である。It is a figure which shows the structure of the conventional communication control apparatus. 前提技術に係る通信制御装置の構成を示す図である。It is a figure which shows the structure of the communication control apparatus which concerns on a premise technique. パケット処理回路の構成を示す図である。It is a figure which shows the structure of a packet processing circuit. 位置検出回路の構成を示す図である。It is a figure which shows the structure of a position detection circuit. 位置検出回路の別の例を示す図である。It is a figure which shows another example of a position detection circuit. 位置検出回路の別の例を示す図である。It is a figure which shows another example of a position detection circuit. 第1データベースの内部データの例を示す図である。It is a figure which shows the example of the internal data of a 1st database. 第1データベースの内部データの別の例を示す図である。It is a figure which shows another example of the internal data of a 1st database. 第1データベースの内部データの更に別の例を示す図である。It is a figure which shows another example of the internal data of a 1st database. インデックス回路の別の例を示す図である。It is a figure which shows another example of an index circuit. バイナリサーチ回路に含まれる比較回路の構成を示す図である。It is a figure which shows the structure of the comparison circuit contained in a binary search circuit. バイナリサーチ回路の構成を示す図である。It is a figure which shows the structure of a binary search circuit. 第1のデータベースの内部データの更に別の例を示す図である。It is a figure which shows another example of the internal data of a 1st database. 第2データベースの内部データの例を示す図である。It is a figure which shows the example of the internal data of a 2nd database. 第2データベースの内部データの別の例を示す図である。It is a figure which shows another example of the internal data of a 2nd database. 前提技術に係る通信制御装置の別の構成例を示す図である。It is a figure which shows another structural example of the communication control apparatus which concerns on a premise technique. 複数の通信制御装置を含む通信制御装置の構成を示す図である。It is a figure which shows the structure of the communication control apparatus containing a some communication control apparatus. 運用監視サーバに設けられた管理テーブルの内部データの例を示す図である。It is a figure which shows the example of the internal data of the management table provided in the operation | use monitoring server. 通信制御装置が故障したときの運用方法を説明するための図である。It is a figure for demonstrating the operation method when a communication control apparatus fails. 図21(a)(b)(c)は、通信制御装置のデータベースを更新する方法を説明するための図である。FIGS. 21A, 21B, and 21C are diagrams for explaining a method of updating the database of the communication control device. 複数の通信制御装置によりパケットを処理するために設けられた通信経路制御装置の構成を示す図である。It is a figure which shows the structure of the communication path control apparatus provided in order to process a packet with a some communication control apparatus. URLフィルタリングのためのパケット処理回路の内部構成を示す図である。It is a figure which shows the internal structure of the packet processing circuit for URL filtering. 図24(a)は、ウイルス/フィッシングサイトリストの内部データの例を示す図であり、図24(b)は、ホワイトリストの内部データの例を示す図であり、図24(c)は、ブラックリストの内部データの例を示す図である。FIG. 24A is a diagram showing an example of internal data of a virus / phishing site list, FIG. 24B is a diagram showing an example of internal data of a white list, and FIG. It is a figure which shows the example of the internal data of a black list. 共通カテゴリリストの内部データの例を示す図である。It is a figure which shows the example of the internal data of a common category list | wrist. 図26(a)(b)(c)(d)は、第2データベースの内部データの例を示す図である。FIGS. 26A, 26B, 26C, and 26D are diagrams showing examples of internal data of the second database. ウイルス/フィッシングサイトリスト、ホワイトリスト、ブラックリスト、及び共通カテゴリリストの優先度を示す図である。It is a figure which shows the priority of a virus / phishing site list, a white list, a black list, and a common category list. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 実施の形態に係る通信制御装置の構成を示す図である。It is a figure which shows the structure of the communication control apparatus which concerns on embodiment. 実施の形態に係る通信制御技術を説明するための概念図である。It is a conceptual diagram for demonstrating the communication control technique which concerns on embodiment. 実施の形態に係る通信制御装置の別の構成例を示す図である。It is a figure which shows another structural example of the communication control apparatus which concerns on embodiment. 実施の形態に係る通信制御技術を説明するための概念図である。It is a conceptual diagram for demonstrating the communication control technique which concerns on embodiment. 実施の形態に係るパケット処理回路の構成を示す図である。It is a figure which shows the structure of the packet processing circuit which concerns on embodiment. 通信制御装置が取得した通信データの例を示す図である。It is a figure which shows the example of the communication data which the communication control apparatus acquired. 通信制御装置において実行すべき処理を判定するためのフローチャートの例を示す図である。It is a figure which shows the example of the flowchart for determining the process which should be performed in a communication control apparatus. 実施の形態に係る判定方法を説明するための図である。It is a figure for demonstrating the determination method which concerns on embodiment. 実施の形態に係る第1データベース及び第2データベースの内部データの例を示す図である。It is a figure which shows the example of the internal data of the 1st database and 2nd database which concern on embodiment. 実施の形態に係る第1データベース及び第2データベースの内部データの別の例を示す図である。It is a figure which shows another example of the internal data of the 1st database and 2nd database which concern on embodiment. 実施の形態に係る判定方法の別の例を説明するための図である。It is a figure for demonstrating another example of the determination method which concerns on embodiment. 実施の形態に係る第1データベース及び第2データベースの内部データの別の例を示す図である。It is a figure which shows another example of the internal data of the 1st database and 2nd database which concern on embodiment. 実施の形態に係るパケット処理回路の別の構成例を示す図である。It is a figure which shows another structural example of the packet processing circuit which concerns on embodiment. 実施の形態に係る判定方法の別の例を説明するための図である。It is a figure for demonstrating another example of the determination method which concerns on embodiment. 実施の形態に係るパケット処理回路の別の構成例を示す図である。It is a figure which shows another structural example of the packet processing circuit which concerns on embodiment. 実施の形態に係る検知回路の構成を示す図である。It is a figure which shows the structure of the detection circuit which concerns on embodiment. 実施の形態に係る通信制御装置のパケット処理回路の構成を示す図である。It is a figure which shows the structure of the packet processing circuit of the communication control apparatus which concerns on embodiment. ユーザデータベースの内部データの例を示す図である。It is a figure which shows the example of the internal data of a user database. 実施の形態に係る通信管理システムの構成を示す図である。It is a figure which shows the structure of the communication management system which concerns on embodiment. 実施の形態に係るパケット処理回路の構成を示す図である。It is a figure which shows the structure of the packet processing circuit which concerns on embodiment. バイナリサーチ回路の別の構成例を示す図である。It is a figure which shows another structural example of a binary search circuit. バイナリサーチ回路の更に別の構成例を示す図である。It is a figure which shows another example of a structure of a binary search circuit. 実施の形態に係る通信制御装置のパケット処理回路の構成を示す図である。It is a figure which shows the structure of the packet processing circuit of the communication control apparatus which concerns on embodiment. ユーザデータベースの内部データの例を示す図である。It is a figure which shows the example of the internal data of a user database. 実施の形態に係るパケット処理回路の構成を示す図である。It is a figure which shows the structure of the packet processing circuit which concerns on embodiment. 実施の形態に係る通信制御システムの構成を示す図である。It is a figure which shows the structure of the communication control system which concerns on embodiment. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 通信制御システムの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a communication control system. 実施の形態に係る通信制御システムの構成を示す図である。It is a figure which shows the structure of the communication control system which concerns on embodiment. 実施の形態に係る通信制御方法の手順を示すシーケンス図である。It is a sequence diagram which shows the procedure of the communication control method which concerns on embodiment. 実施の形態に係る通信制御方法の手順を示すシーケンス図である。It is a sequence diagram which shows the procedure of the communication control method which concerns on embodiment. 実施の形態に係る通信制御システムの別の構成例を示す図である。It is a figure which shows another structural example of the communication control system which concerns on embodiment. 電話端末が他の電話端末を発呼するための通信データが送信される様子を示す図である。It is a figure which shows a mode that the communication data for a telephone terminal to call another telephone terminal is transmitted. 実施の形態に係るメッセージ出力サーバの構成を示す図である。It is a figure which shows the structure of the message output server which concerns on embodiment. 実施の形態に係る通信制御装置の構成を示す図である。It is a figure which shows the structure of the communication control apparatus which concerns on embodiment. ログ出力制御回路に備えられた第1データベース及び第2データベースの内部データの例を示す図である。It is a figure which shows the example of the internal data of the 1st database with which the log output control circuit was equipped, and the 2nd database. 実施の形態に係るメッセージ出力サーバの構成を示す図である。It is a figure which shows the structure of the message output server which concerns on embodiment. 負荷状況保持部の内部データの例を示す図である。It is a figure which shows the example of the internal data of a load condition holding | maintenance part. 実施の形態に係るメッセージ出力サーバの構成を示す図である。It is a figure which shows the structure of the message output server which concerns on embodiment. メッセージ出力制御回路に備えられた第1データベース及び第2データベースの内部データの例を示す図である。It is a figure which shows the example of the internal data of the 1st database with which the message output control circuit was equipped, and the 2nd database. 実施の形態に係る通信制御装置の構成を示す図である。It is a figure which shows the structure of the communication control apparatus which concerns on embodiment. 管理テーブルの内部データの例を示す図である。It is a figure which shows the example of the internal data of a management table. 実施の形態に係る試験装置の構成を示す図である。It is a figure which shows the structure of the test apparatus which concerns on embodiment. 検査部の構成を示す図である。It is a figure which shows the structure of a test | inspection part. 実施の形態に係る試験装置の別の構成例を示す図である。It is a figure which shows another structural example of the test apparatus which concerns on embodiment. 実施の形態に係る試験装置の更に別の構成例を示す図である。It is a figure which shows another example of a structure of the test apparatus which concerns on embodiment. 実施の形態に係る試験装置の更に別の構成例を示す図である。It is a figure which shows another example of a structure of the test apparatus which concerns on embodiment. 実施の形態に係る試験装置の更に別の構成例を示す図である。It is a figure which shows another example of a structure of the test apparatus which concerns on embodiment. 実施の形態に係る試験装置の更に別の構成例を示す図である。It is a figure which shows another example of a structure of the test apparatus which concerns on embodiment. 通信制御システムの構成を示す図である。It is a figure which shows the structure of a communication control system.

符号の説明Explanation of symbols

10 通信制御装置、12 通信制御ユニット、14 切替制御部、20 パケット処理回路、30 検索回路、32 位置検出回路、33 比較回路、34 インデックス回路、35 比較回路、36 バイナリサーチ回路、36A〜36O 比較回路、36Z 制御回路、37 否定回路、38A,38B 排他的論理和回路、40 処理実行回路、42 編集部、44 複製部、46 記憶装置、50 第1データベース、60 第2データベース、100 通信制御システム、110 運用監視サーバ、120 接続管理サーバ、130 メッセージ出力サーバ、131 メッセージ出力部、132 メッセージ保持部、133 履歴保持部、134 評価部、135 登録受付部、136 課金部、137 緊急電話制御部、138 位置情報保持部、139 返信部、140 ログ管理サーバ、141 ログ出力制御回路、142 ログ出力設定部、143 ログ出力ポート、145 ログ出力制御装置、150 データベースサーバ、160 URLデータベース、161 ウイルス/フィッシングサイトリスト、162 ホワイトリスト、163 ブラックリスト、164 共通カテゴリリスト、171 メッセージ出力制御回路、172 メッセージ出力設定部、173 メッセージ出力ポート、174 負荷状況保持部、180 切替部、181 URLフィルタリング用データベース、182 スパムメールフィルタリング用データベース、183 P2P帯域制御用データベース、190 通信経路制御装置、201 検知回路、202 入力部、204 カウンタ回路、206 報知部、210 電話端末、220 緊急通報機関、260 携帯電話端末、262 基地局装置、264 制御局装置、272 アクセスポイント、274,282,284 ルータ装置、280 IP電話端末、290 PC、300 比較対象抽出回路、310 通信データ、320 比較対象データ、330 比較対象設定回路、340 報知回路、380 マスク回路、382 ワークメモリ、400 帯域制御回路、405 選択回路、410 登録部、420 クラス別管理回路、430 管理テーブル、440 通信データ登録RAM、450 データ取出回路、460 ユーザデータベース更新部、502 通信装置、504 通信装置、510 判定部、520 仮想通信装置、600 通信管理システム、610 ユーザ端末、620 ボット、622 ボットネット、632 正常シグネチャリスト、634 異常シグネチャリスト、636 ルールデータベース、640 運用者端末、642 警告取得部、644 通信データ取得部、646 解析部、648 判定結果取得部、652 正常シグネチャリスト更新部、654 異常シグネチャリスト更新部、656 ルールデータベース更新部、662 正常シグネチャリスト、664 異常シグネチャリスト、666 ルールデータベース、690 インターネット、900 試験装置、902 生成部、904 出力部、906 入力部、908 検査部、920 比較回路、922 判定回路、930 報知部、932 表示装置、934 スピーカ、940 ログ記録部、942 ログ保持部、950 保持部、952 更新部、954 差分生成部。   DESCRIPTION OF SYMBOLS 10 Communication control apparatus, 12 Communication control unit, 14 Switching control part, 20 Packet processing circuit, 30 Search circuit, 32 Position detection circuit, 33 Comparison circuit, 34 Index circuit, 35 Comparison circuit, 36 Binary search circuit, 36A-36O Comparison Circuit, 36Z control circuit, 37 negation circuit, 38A, 38B exclusive OR circuit, 40 processing execution circuit, 42 editing unit, 44 replication unit, 46 storage device, 50 first database, 60 second database, 100 communication control system 110 operation monitoring server, 120 connection management server, 130 message output server, 131 message output unit, 132 message holding unit, 133 history holding unit, 134 evaluation unit, 135 registration reception unit, 136 billing unit, 137 emergency telephone control unit, 138 Position information holding unit, 1 39 Reply unit, 140 Log management server, 141 Log output control circuit, 142 Log output setting unit, 143 Log output port, 145 Log output control device, 150 Database server, 160 URL database, 161 Virus / phishing site list, 162 White list 163, black list, 164 common category list, 171 message output control circuit, 172 message output setting unit, 173 message output port, 174 load status holding unit, 180 switching unit, 181 URL filtering database, 182 spam mail filtering database, 183 P2P bandwidth control database, 190 communication path control device, 201 detection circuit, 202 input unit, 204 counter circuit, 206 notification unit, 210 Telephone terminal, 220 Emergency call organization, 260 Mobile phone terminal, 262 Base station device, 264 Control station device, 272 Access point, 274, 282, 284 Router device, 280 IP phone terminal, 290 PC, 300 Comparison target extraction circuit, 310 Communication data, 320 Comparison target data, 330 Comparison target setting circuit, 340 Notification circuit, 380 Mask circuit, 382 Work memory, 400 Band control circuit, 405 Selection circuit, 410 Registration unit, 420 Management circuit by class, 430 Management table, 440 Communication data registration RAM, 450 data extraction circuit, 460 user database update unit, 502 communication device, 504 communication device, 510 determination unit, 520 virtual communication device, 600 communication management system, 610 user terminal, 620 bot, 622 NET, 632 normal signature list, 634 abnormal signature list, 636 rule database, 640 operator terminal, 642 warning acquisition unit, 644 communication data acquisition unit, 646 analysis unit, 648 determination result acquisition unit, 652 normal signature list update unit, 654 Abnormal Signature List Update Unit, 656 Rule Database Update Unit, 662 Normal Signature List, 664 Abnormal Signature List, 666 Rule Database, 690 Internet, 900 Test Device, 902 Generation Unit, 904 Output Unit, 906 Input Unit, 908 Inspection Unit, 920 Comparison circuit, 922 determination circuit, 930 notification unit, 932 display device, 934 speaker, 940 log recording unit, 942 log holding unit, 950 holding unit, 952 updating unit, 954 difference generation unit.

Claims (1)

ユーザのユーザIDと、第1のネットワークにおける通信のために通信装置に割り当てられた第1のIPアドレスと、第2のネットワークにおける通信のために前記通信装置に割り当てられた第2のIPアドレス及びポート番号とを対応づけて記憶するデータベースと、
ユーザIDと、ユーザの端末に割り当てられているIPアドレスとを対応づけて記憶するユーザデータベースと、
インターネットに接続する端末にIPアドレスを動的に付与するサーバから、前記端末のユーザIDと、前記端末に付与したIPアドレスとを取得し、それらを対応づけて前記ユーザデータベースに登録するユーザデータベース更新部と、
通信データを取得したときに、前記通信データの送信元又は送信先のIPアドレスを前記ユーザデータベースから検索して、該当するIPアドレスに対応するユーザIDを取得するユーザ識別部と、
前記データベースのうち、前記ユーザ識別部が取得したユーザIDに該当するレコードを参照して、取得した通信データの送信元又は送信先のIPアドレスを前記データベースから検索する検索部と、
前記第1のネットワークから前記第2のネットワークへ送信された通信データの送信元のIPアドレスが前記通信装置の第1のIPアドレスであった場合、前記送信元のIPアドレスをその通信装置に割り当てられた第2のIPアドレスに変換するとともに、ポート番号にその通信装置に割り当てられたポート番号を格納し、前記第2のネットワークから前記第1のネットワークへ送信された通信データの送信先のIPアドレスが前記通信装置の第2のIPアドレスであった場合、更にポート番号を参照して通信装置を特定し、前記送信先のIPアドレスをその通信装置に割り当てられた第1のIPアドレスに変換する処理実行回路と、
を備えることを特徴とするネットワークアドレスポート変換装置。
A user ID of the user, a first IP address assigned to the communication device for communication in the first network, a second IP address assigned to the communication device for communication in the second network, and A database that stores port numbers in association with each other;
A user database that stores a user ID and an IP address assigned to the user's terminal in association with each other;
User database update that acquires a user ID of the terminal and an IP address assigned to the terminal from a server that dynamically assigns an IP address to a terminal connected to the Internet, and registers them in the user database in association with each other And
When acquiring communication data, a user identification unit that searches the user database for an IP address of a transmission source or a transmission destination of the communication data and acquires a user ID corresponding to the corresponding IP address;
A search unit that searches the database for a transmission source or transmission destination IP address of the acquired communication data with reference to a record corresponding to the user ID acquired by the user identification unit in the database,
When the transmission source IP address of the communication data transmitted from the first network to the second network is the first IP address of the communication device, the transmission source IP address is assigned to the communication device. The port number assigned to the communication device is stored in the port number, and the destination IP of the communication data transmitted from the second network to the first network is stored in the port number. If the address is the second IP address of the communication device, the communication device is further identified with reference to the port number, and the destination IP address is converted to the first IP address assigned to the communication device A processing execution circuit to
A network address port conversion device comprising:
JP2007333226A 2007-12-25 2007-12-25 Network address and port translator Pending JP2009159154A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007333226A JP2009159154A (en) 2007-12-25 2007-12-25 Network address and port translator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007333226A JP2009159154A (en) 2007-12-25 2007-12-25 Network address and port translator

Publications (1)

Publication Number Publication Date
JP2009159154A true JP2009159154A (en) 2009-07-16

Family

ID=40962713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007333226A Pending JP2009159154A (en) 2007-12-25 2007-12-25 Network address and port translator

Country Status (1)

Country Link
JP (1) JP2009159154A (en)

Similar Documents

Publication Publication Date Title
JP2009159141A (en) Network address translator
JP2009152933A (en) Communication monitoring device
JP2009152939A (en) Data processor
JP2009164656A (en) Emergency call controller
JP2009151585A (en) Database access control device
JP2009164658A (en) Emergency call controller
JP2009152931A (en) Communication monitoring device
JP2009153041A (en) Testing apparatus
JP2009159154A (en) Network address and port translator
JP2009159152A (en) Network address and port translator
JP2009159153A (en) Network address and port translator
JP2009159142A (en) Network address translator
JP2009159156A (en) Network address and port translator
JP2009159143A (en) Network address translator
JP2009159155A (en) Network address and port translator
JP2009159144A (en) Network address translator
JP2009159145A (en) Network address translator
JP2009159151A (en) Network address and port translator
JP2009159140A (en) Network address translator
JP2009159157A (en) Network address and port translator
JP2009159146A (en) Network address translator
JP2009159147A (en) Testing apparatus
JP2009159158A (en) Testing device
JP2009159178A (en) Band control apparatus
JP2009159179A (en) Band control apparatus