JPWO2009066350A1 - Communication control device and communication control method - Google Patents

Communication control device and communication control method Download PDF

Info

Publication number
JPWO2009066350A1
JPWO2009066350A1 JP2007558389A JP2007558389A JPWO2009066350A1 JP WO2009066350 A1 JPWO2009066350 A1 JP WO2009066350A1 JP 2007558389 A JP2007558389 A JP 2007558389A JP 2007558389 A JP2007558389 A JP 2007558389A JP WO2009066350 A1 JPWO2009066350 A1 JP WO2009066350A1
Authority
JP
Japan
Prior art keywords
data
circuit
communication control
communication
communication data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007558389A
Other languages
Japanese (ja)
Other versions
JP4638513B2 (en
Inventor
貢 名古屋
貢 名古屋
Original Assignee
デュアキシズ株式会社
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 デュアキシズ株式会社 filed Critical デュアキシズ株式会社
Application granted granted Critical
Publication of JP4638513B2 publication Critical patent/JP4638513B2/en
Publication of JPWO2009066350A1 publication Critical patent/JPWO2009066350A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

通信データを送出する効率を向上させる技術を提供する。通信制御装置は、通信データを送出すべき帯域のクラスごとに、通信データを送出するタイミングを管理する複数のクラス別管理回路420と、送出すべき通信データと、通信データを送出すべき帯域のクラスの情報とを取得し、クラスの情報に応じて、複数のクラス別管理回路420の中から通信データを供給すべきクラス別管理回路420を選択し、選択したクラス別管理回路420に通信データを供給する選択回路405と、を備える。A technique for improving the efficiency of transmitting communication data is provided. The communication control apparatus includes a plurality of class-specific management circuits 420 that manage the timing of transmitting communication data, the communication data to be transmitted, and the band of the communication data to be transmitted. Class information is acquired, and a class management circuit 420 to which communication data is to be supplied is selected from a plurality of class management circuits 420 according to the class information, and communication data is transmitted to the selected class management circuit 420. And a selection circuit 405 for supplying.

Description

本発明は、通信制御技術に関し、特に、通信データの送出を制御する通信制御装置及び通信制御方法に関する。   The present invention relates to a communication control technique, and more particularly to a communication control apparatus and a communication control method for controlling transmission of communication data.

インターネットのインフラが整備され、携帯電話端末、パーソナルコンピュータ、VoIP(Voice over Internet Protocol)電話端末などの通信端末が広く普及した現在、インターネットの利用者は爆発的に増加している。このような状況下、コンピュータウイルス、ハッキング、スパムメールなど、セキュリティに関する問題が顕在化しており、通信を適切に制御する技術が求められている。   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.

インターネットを利用して、膨大な情報に容易にアクセスすることができるようになったが、有害な情報が氾濫してきているのも事実であり、有害な情報の発信元に対する規制が追いつかない状況にある。誰もが安心して効果的にインターネットを利用する環境を整えるために、有害なコンテンツに対するアクセスを適切に制御する技術が求められる。
国際公開WO2006−087832号パンフレット
Although it has become possible to easily access a vast amount of information using the Internet, it is also true that harmful information is flooding, and regulations on the source of harmful information cannot be caught up. is there. In order to create an environment in which everyone can use the Internet safely and effectively, technology that appropriately controls access to harmful content is required.
International Publication WO2006-087832 Pamphlet

通信量が膨大になるにつれて、限られたインフラを有効に活用しつつ、通信の優先度を適切に管理する技術の必要性が高まっている。   As the amount of communication becomes enormous, there is an increasing need for a technique for appropriately managing communication priority while effectively utilizing limited infrastructure.

本発明はこうした状況に鑑みてなされたものであり、その目的は、通信データを送出する効率を向上させる技術の提供にある。   The present invention has been made in view of such circumstances, and an object thereof is to provide a technique for improving the efficiency of sending communication data.

本発明のある態様は、通信制御装置に関する。この通信制御装置は、通信データを送出すべき帯域のクラスごとに、通信データを送出するタイミングを管理する複数の管理回路と、送出すべき通信データと、前記通信データを送出すべき帯域のクラスの情報とを取得し、前記クラスの情報に応じて、前記複数の管理回路の中から前記通信データを供給すべき管理回路を選択し、選択した管理回路に前記通信データを供給する選択回路と、を備えることを特徴とする。   One embodiment of the present invention relates to a communication control apparatus. The communication control device includes a plurality of management circuits that manage the timing of transmitting communication data, the communication data to be transmitted, and the band class to which the communication data is to be transmitted, for each band class to which the communication data is to be transmitted. A selection circuit that selects the management circuit to which the communication data is to be supplied from the plurality of management circuits according to the class information, and supplies the communication data to the selected management circuit; It is characterized by providing.

前記選択回路は、前記クラスの情報から、前記通信データを供給すべき管理回路をアクティブにするチップセレクト信号を生成し、前記管理回路へ供給してもよい。   The selection circuit may generate a chip select signal for activating a management circuit to which the communication data is to be supplied from the class information, and supply the chip selection signal to the management circuit.

前記管理回路は、あるタイミングにおいて、自身が担当するクラスに割り当てられた送出可能ビット数を超過するパケットを送出したとき、次回以降のタイミングにおいて、前記送出可能ビット数から超過したパケットのビット数を差し引いたビット数のパケットを送出してもよい。   When the management circuit transmits a packet exceeding the number of transmittable bits assigned to the class in charge at a certain timing, the management circuit calculates the number of bits of the packet exceeding the number of transmittable bits at the next and subsequent timings. A packet with the number of subtracted bits may be transmitted.

前記管理回路は、次回送出予定のパケットが、自身が担当するクラスに割り当てられた送出可能ビット数を超過するとき、次回送出予定のパケットが送出可能ビット数に満たないクラスを担当する別の管理回路に、超過分のパケットの送出を依頼してもよい。   When the packet scheduled to be sent next time exceeds the number of sendable bits assigned to the class to which the management circuit is responsible, the management circuit performs another management responsible for the class in which the packet to be sent next time is less than the number of sendable bits. The circuit may be requested to send out excess packets.

本発明の別の態様は、通信制御方法に関する。この通信制御方法は、送出すべき通信データと、前記通信データを送出すべき帯域のクラスの情報とを取得するステップと、通信データを送出すべき帯域のクラスごとに設けられた、通信データを送出するタイミングを管理する複数の管理回路の中から、前記クラスの情報に応じて前記通信データを供給すべき管理回路を選択し、選択した管理回路に前記通信データを供給するステップと、を備えることを特徴とする。   Another aspect of the present invention relates to a communication control method. The communication control method includes the steps of acquiring communication data to be transmitted, information on a class of a band to which the communication data is to be transmitted, and communication data provided for each band class to which the communication data is to be transmitted. Selecting a management circuit to which the communication data is to be supplied from a plurality of management circuits for managing the transmission timing according to the class information, and supplying the communication data to the selected management circuit. It is characterized by that.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   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 improves the efficiency which sends out communication data can be provided.

前提技術に係る通信制御システムの構成を示す図である。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 internal structure of a packet processing circuit. 位置検出回路の内部構成を示す図である。It is a figure which shows the internal structure 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 the structure of the comparison circuit contained in a binary search circuit. 第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 which concerns on embodiment. 管理テーブルの内部データの例を示す図である。It is a figure which shows the example of the internal data of a management table.

符号の説明Explanation of symbols

10 通信制御装置、12 通信制御ユニット、14 切替制御部、20 パケット処理回路、30 検索回路、32 位置検出回路、33 比較回路、34 インデックス回路、35 比較回路、36 バイナリサーチ回路、40 処理実行回路、50 第1データベース、57 ユーザデータベース、60 第2データベース、100 通信制御システム、110 運用監視サーバ、111 管理テーブル、120 接続管理サーバ、130 メッセージ出力サーバ、140 ログ管理サーバ、150 データベースサーバ、160 URLデータベース、161 ウイルス/フィッシングサイトリスト、162 ホワイトリスト、163 ブラックリスト、164 共通カテゴリリスト、170 課金サーバ、180 登録受付サーバ、210 サイト運営者端末、220 ウイルス/フィッシングサイトリスト提供サーバ、230 ユーザ端末、300 検索サイト、310 通信部、320 検索要求受付部、330 検索部、340 検索結果提示部、400 帯域制御回路、405 選択回路、410 登録部、420 クラス別管理回路、430 管理テーブル、440 通信データ登録RAM、450 データ取出回路。   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, 40 Process execution circuit , 50 First database, 57 User database, 60 Second database, 100 Communication control system, 110 Operation monitoring server, 111 Management table, 120 Connection management server, 130 Message output server, 140 Log management server, 150 Database server, 160 URL Database, 161 Virus / phishing site list, 162 White list, 163 Black list, 164 Common category list, 170 Billing server, 180 Registration reception server, 210 Site management User terminal, 220 virus / phishing site list providing server, 230 user terminal, 300 search site, 310 communication unit, 320 search request reception unit, 330 search unit, 340 search result presentation unit, 400 bandwidth control circuit, 405 selection circuit, 410 Registration unit, 420 class-specific management circuit, 430 management table, 440 communication data registration RAM, 450 data extraction circuit.

(前提技術)
まず、前提技術として、通信制御装置と、その周辺装置の構成及び動作の概要について説明する。
(Prerequisite technology)
First, an outline of the configuration and operation of a communication control device and its peripheral devices will be described as a prerequisite technology.

図1は、前提技術に係る通信制御システムの構成を示す。通信制御システム100は、通信制御装置10と、通信制御装置10の動作を支援するために設けられた各種の周辺装置を含む。前提技術の通信制御装置10は、インターネットサービスプロバイダなどにより提供されるURLフィルタリング機能を実現する。ネットワークの経路に設けられた通信制御装置10は、コンテンツに対するアクセス要求を取得して、その内容を解析し、コンテンツに対するアクセスの許否を判断する。コンテンツに対するアクセスが許可される場合は、通信制御装置10は、そのアクセス要求を、コンテンツを保持するサーバへ送出する。コンテンツに対するアクセスが禁止される場合は、通信制御装置10は、そのアクセス要求を破棄し、要求元に対して警告メッセージなどを返信する。前提技術では、通信制御装置10は、HTTP(HyperText Transfer Protocol)の「GET」リクエストメッセージ等のアクセス要求を受信し、アクセス先のコンテンツのURLが、アクセスの許否を判断するための基準データのリストに合致するか否かを検索して、コンテンツに対するアクセスの許否を判断する。   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 URL filtering function provided by an Internet service provider or the like. The communication control device 10 provided in the network path acquires an access request for content, analyzes the content, and determines whether to permit access to the content. If access to the content is permitted, the communication control apparatus 10 sends the access request to the server that holds the content. If access to the content is prohibited, the communication control apparatus 10 discards the access request and returns a warning message or the like to the request source. In the base technology, the communication control apparatus 10 receives an access request such as a “GET” request message of HTTP (HyperText Transfer Protocol), and the URL of the content of the access destination is a list of reference data for determining whether access is permitted or not. To determine whether or not access to the content is permitted.

周辺装置は、運用監視サーバ110、接続管理サーバ120、メッセージ出力サーバ130、ログ管理サーバ140、及びデータベースサーバ150を含む。接続管理サーバ120は、通信制御装置10に対する接続を管理する。接続管理サーバ120は、例えば、携帯電話端末から送出されたパケットを通信制御装置10で処理する際に、パケットに含まれる携帯電話端末を一意に識別する情報を用いて、通信制御装置10のユーザであることを認証する。いったん認証されると、その携帯電話端末に一時的に付されたIPアドレスから送出されたパケットは、一定の期間は接続管理サーバ120で認証せずに通信制御装置10へ送られて処理される。メッセージ出力サーバ130は、通信制御装置10により判定されたアクセスの許否の結果に応じて、アクセスの要求先又は要求元に対するメッセージを出力する。ログ管理サーバ140は、通信制御装置10の運用履歴を管理する。データベースサーバ150は、URLデータベース160から最新のデータベースを取得し、通信制御装置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 device 10 processes a packet transmitted from a mobile phone terminal, the connection management server 120 uses the information that uniquely identifies the mobile phone terminal included in the packet, and the user of the communication control device 10 Authenticate that 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 access request destination or request source according to the access permission / rejection result determined by the communication control apparatus 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 URL database 160 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, with such a configuration, the performance of the communication control device 1 depends on the performance of the CPU, and there is a limit to the implementation of a communication control device 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は、図2に示した従来の通信制御装置1においてはCPU及びOSを含むソフトウェアにより実現されていたパケット処理部3に代えて、ワイヤードロジック回路による専用のハードウェアにより構成されたパケット処理回路20を備える。汎用処理回路であるCPUにおいて動作するOSとソフトウェアにより通信データを処理するのではなく、通信データを処理するための専用のハードウェア回路を設けることにより、CPUやOSなどに起因する性能の限界を克服し、処理能力の高い通信制御装置を実現することが可能となる。   FIG. 3 shows the configuration of the communication control apparatus of the base technology. The communication control device 10 is configured by dedicated hardware using a wired logic circuit in place of the packet processing unit 3 realized by software including a CPU and an OS in the conventional communication control device 1 shown in FIG. A packet processing circuit 20 is provided. 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ビットの処理を可能にすることで、飛躍的に処理速度を向上させることができる。比較器の数を多くすれば処理能力も向上するが、コストやサイズも増大するので、所望の処理性能と、コスト、サイズ、などを考慮して、最適なハードウェア回路を設計すればよい。専用のハードウェア回路は、FPGA(Field Programmable Gate Array)などを用いて実現されてもよい。   On the other hand, in the base technology, a dedicated hardware circuit configured by a wired logic circuit is provided to compare communication data and reference data. 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. The dedicated hardware circuit may be realized using an FPGA (Field Programmable Gate Array) or 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). For this reason, there is no need for OS installation, bug handling, version upgrade, and the like, and costs and man-hours for management and maintenance can be reduced. 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 a CPU and an 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 device 10 of the base technology, since processing is performed by a dedicated hardware circuit, it is not necessary to start processing after receiving all 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データベース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 a first database 50 that stores reference data serving as a reference for determining the content of processing to be performed on communication data, and whether the received communication data includes reference data. Whether or not the search circuit 30 for searching by comparing the communication data with the reference data, and the second database 60 for storing the search result by the search circuit 30 and the contents of the processing to be executed on the communication data in association with each other. And a processing execution circuit 40 that processes communication data based on the search result by the search circuit 30 and the conditions stored in the second database 60.

検索回路30は、通信データの中から基準データと比較すべき比較対象データの位置を検出する位置検出回路32と、第1データベース50に記憶された基準データを3以上の範囲に分割したとき、比較対象データがそれらの範囲のうちいずれに属するかを判定する判定回路の一例であるインデックス回路34と、判定された範囲の中で比較対象データと合致する基準データを検索するバイナリサーチ回路36とを含む。比較対象データを基準データの中から検索する方法としては、任意の検索技術を利用可能であるが、前提技術ではバイナリサーチ法を用いる。   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 to which of the ranges the comparison target data belongs; 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 technique.

図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. A case where a process of discarding a packet is performed when “#” is compared with the reference data and when the packet matches the reference data is permitted.

図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 in the third character from the head of the communication data. In this way, it is detected that numerical data that is 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 comparison processing one by one, improvement in detection speed cannot be expected. On the other hand, in the communication control apparatus 10 of the base technology, by providing the plurality of comparison circuits 33a to 33f in parallel, simultaneous parallel comparison processing that cannot be performed by the CPU becomes possible, and the processing speed is remarkably improved. be able to. 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は、第1データベースの内部データの例を示す。第1データベース50には、パケットのフィルタリング、ルーティング、スイッチング、置換などの処理の内容を決定するための基準となる基準データが、何らかのソート条件にしたがってソートされて格納されている。図6の例では、1000個の基準データが記憶されている。   FIG. 6 shows an example of internal data of the first database. In the first database 50, reference data serving as a reference for determining processing contents such as packet filtering, routing, switching, and replacement is sorted and stored according to some sort condition. In the example of FIG. 6, 1000 pieces of reference data are stored.

第1データベース50の先頭のレコードには、通信データ中の比較対象データの位置を示すオフセット51が格納されている。例えば、TCPパケットにおいては、パケット内のデータ構成がビット単位で定められているため、パケットの処理内容を決定するためのフラグ情報などの位置をオフセット51として設定しておけば、必要なビットのみを比較して処理内容を決定することができるので、処理効率を向上させることができる。また、パケットのデータ構成が変更された場合であっても、オフセット51を変更することで対応することができる。第1データベース50には、比較対象データのデータ長を格納しておいてもよい。これにより、必要な比較器のみを動作させて比較を行うことができるので、検索効率を向上させることができる。   In the first record of the first database 50, an offset 51 indicating the position of the comparison target data in the communication data is stored. For example, in a TCP packet, since the data configuration in the packet is determined in units of bits, if a position such as flag information for determining the processing content of the packet is set as the offset 51, only necessary bits are set. Since the processing contents can be determined by comparing the two, the processing efficiency can be improved. Even if the data structure of the packet is changed, it can be dealt with by changing the offset 51. The first database 50 may store the data length of the comparison target data. As a result, the comparison can be performed by operating only the necessary comparators, so that the search efficiency can be improved.

インデックス回路34は、第1データベース50に格納されている基準データを3以上の範囲52a〜52dに分割したとき、比較対象データがそれらの範囲のうちいずれに属するかを判定する。図6の例では、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. 6, 1000 pieces of reference data are divided into four ranges 52a to 52d, 250 pieces each. 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 the binary search is executed by the CPU, a plurality of comparisons cannot be executed simultaneously. However, in the communication control device 10 of the base technology, by providing a plurality of comparison circuits 35a to 35c in parallel, 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 two, and compares the reference data at the boundary position with the comparison target data to determine which range it belongs to. The binary search circuit 36 includes a plurality of comparison circuits 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 two divided ranges, the reference data at the boundary position is read by dividing the range into two 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.

前述した例を用いてさらに詳細に動作を説明する。図5に示した通信データにおいて、位置特定データ「No.」につづく比較対象データは「361」という数字である。位置特定データ「No.」と比較対象データ「361」との間には1文字分のスペースが存在しているので、このスペースを比較対象データから除くために、オフセット51が「8」ビットに設定されている。バイナリサーチ回路36は、位置特定データ「No.」につづく通信データから、「8」ビット、すなわち1バイト分をスキップし、さらにつづく「361」を比較対象データとして読み込む。   The operation will be described in more detail using the example described above. In the communication data shown in FIG. 5, the comparison target data following the position specifying data “No.” is the number “361”. Since there is a space for one character between the position specifying data “No.” and the comparison target data “361”, the offset 51 is set to “8” bits in order to remove this space from the comparison target data. Is set. The binary search circuit 36 skips “8” bits, that is, one byte, from the communication data following the position specifying data “No.”, and reads “361” as the comparison target data.

インデックス回路34の比較回路35a〜35cには、比較対象データとして「361」が入力され、基準データとして、比較回路35aには、範囲52aと52bの境界にある基準データ「378」が、比較回路35bには、範囲52bと52cの境界にある基準データ「704」が、比較回路35cには、範囲52cと52dの境界にある基準データ「937」が、それぞれ入力される。比較回路35a〜35cにより同時に比較が行われ、比較対象データ「361」が範囲52aに属することが判定される。以降、バイナリサーチ回路36が基準データの中に比較対象データ「361」が存在するか否かを検索する。   “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.

図7は、第1データベースの内部データの別の例を示す。図7に示した例では、基準データのデータ数が、第1データベース50に保持可能なデータ数、ここでは1000個よりも少ない。このとき、第1データベース50には、最終データ位置から降順に基準データが格納される。そして、残りのデータには0が格納される。データベースのローディング方法として、先頭からデータを配置せずにローディングエリアの後方から配置し、ローディングエリア先頭に空きが生じた場合は全ての空きをゼロサプレスすることで、データーベースは常にフルの状態になり、バイナリー検索する場合の最大時間を一定にすることができる。また、バイナリサーチ回路36は、検索中に基準データとして「0」を読み込んだときには、比較結果が自明であるから、比較を行わずに範囲を特定して、次の比較にうつることができる。これにより、検索速度を向上させることができる。   FIG. 7 shows another example of internal data of the first database. In the example shown in FIG. 7, 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 maximum 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 determine 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.

図8は、第1データベースの内部データのさらに別の例を示す。図8に示した例では、基準データを均等に3以上の範囲に分割するのではなく、範囲52aは500個、範囲52bは100個というように、範囲に属する基準データの数が不均一になっている。これらの範囲は、通信データ中における基準データの出現頻度の分布に応じて設定されてもよい。すなわち、それぞれの範囲に属する基準データの出現頻度の和がほぼ同じになるように範囲が設定されてもよい。これにより、検索効率を向上させることができる。インデックス回路34の比較回路35a〜35cに入力される基準データは、外部から変更可能になっていてもよい。これにより、範囲を動的に設定することができ、検索効率を最適化することができる。   FIG. 8 shows still another example of the internal data of the first database. In the example shown in FIG. 8, 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 the respective ranges 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.

図9は、バイナリサーチ回路に含まれる比較回路の構成を示す。前述したように、バイナリサーチ回路36は、1024個の比較回路36a、36b、・・・、を含む。それぞれの比較回路36a、36b、・・・、には、基準データ54と比較対象データ56が1ビットずつ入力され、それらの大小が比較される。インデックス回路34の各比較回路35a〜35cの内部構成も同様である。このように、専用のハードウェア回路で比較処理を実行することにより、多数の比較回路を並列して動作させ、多数のビットを同時に比較することができるので、比較処理を高速化することができる。   FIG. 9 shows a configuration of a comparison circuit included in the binary search circuit. As described above, the binary search circuit 36 includes 1024 comparison circuits 36a, 36b,. Each of the comparison circuits 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. .

図10は、第2データベースの内部データの例を示す。第2データベース60は、検索回路30による検索結果を格納する検索結果欄62と、通信データに対して実行する処理の内容を格納する処理内容欄64とを含み、検索結果と処理内容とを対応づけて保持する。図10の例では、通信データに基準データが含まれている場合は、そのパケットの通過を許可し、含まれていない場合は、そのパケットを破棄するという条件が設定されている。処理実行回路40は、検索結果に基づいて第2データベース60から処理内容を検索し、通信データに対して処理を実行する。処理実行回路40も、ワイヤードロジック回路により実現されてもよい。   FIG. 10 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. 10, a condition is set such that when the reference data is included in the communication data, passage of the packet is permitted, 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.

図11は、第2データベースの内部データの別の例を示す。図11の例では、基準データごとに、処理内容が設定されている。パケットの置換を行う場合、置換先のデータを第2データベース60に格納しておいてもよい。パケットのルーティングやスイッチングを行う場合、経路に関する情報を第2データベース60に格納しておいてもよい。処理実行回路40は、検索回路30による検索結果に応じて、第2データベース60に格納された、フィルタリング、ルーティング、スイッチング、置換などの処理を実行する。図11のように、基準データごとに処理内容を設定する場合、第1データベース50と第2データベース60とを統合してもよい。   FIG. 11 shows another example of internal data of the second database. In the example of FIG. 11, 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. 11, 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, when a plurality of databases are provided to perform 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.

図12は、前提技術の通信制御装置の別の構成例を示す。本図に示した通信制御装置10は、図3に示した通信制御装置10と同様の構成を備える通信制御ユニット12を2つ有している。また、それぞれの通信制御ユニット12の動作を制御する切替制御部14が設けられている。それぞれの通信制御ユニット12は、2つの入出力インタフェース16を有しており、それぞれの入出力インタフェース16を介して、上流側、下流側の2つのネットワークに接続されている。通信制御ユニット12は、いずれか一方のネットワークから通信データを入力し、処理したデータを他方のネットワークに出力する。切替制御部14は、それぞれの通信制御ユニット12に設けられた入出力インタフェース16の入出力を切り替えることにより、通信制御ユニット12における通信データの流れの方向を切り替える。これにより、一方向だけではなく、双方向の通信制御が可能となる。   FIG. 12 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 operating, 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, maintenance can be performed appropriately 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.

なお、複数の通信制御ユニット12の間で、通信制御部2又は4の一部が共用されてもよい。また、パケット処理回路20の一部が共用されてもよい。   A part of the communication control unit 2 or 4 may be shared between the plurality of communication control units 12. A part of the packet processing circuit 20 may be shared.

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

図13は、実施の形態に係る通信制御装置の構成を示す。本実施の形態の通信制御装置10は、図3に示した前提技術の通信制御装置10の構成に加えて、帯域制御回路400を更に備える。その他の構成及び動作は、図3に示した通信制御装置10と同様である。   FIG. 13 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.

図14は、管理テーブルの内部データの例を示す。管理テーブル430には、クラス欄431、送出可能ビット数欄432、登録パケット数欄433、及び超過ビット数欄434が設けられている。クラス欄431は、帯域のクラスを格納する。送出可能ビット数欄432は、クラス別に割り当てられた単位時間に送出可能なビット数を格納する。登録パケット数欄433は、クラス別管理回路420が次回に送出する通信データとして通信データ登録RAM440に登録した通信データのパケットの量を格納する。図14の例では、登録されたパケットの量をビット数で格納している。超過ビット数欄434は、クラス別管理回路420が通信データ登録RAM440に登録した通信データのビット数が、送出可能ビット数欄432に登録されている単位時間に送出可能なビット数を超過した場合に、超過したビット数を格納する。   FIG. 14 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. 14, 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.

本実施の形態の通信制御装置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, it is possible to perform the band control 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.

以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   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.

本発明は、通信を制御する通信制御装置に適用することができる。   The present invention can be applied to a communication control apparatus that controls communication.

Claims (5)

通信データを送出すべき帯域のクラスごとに、通信データを送出するタイミングを管理する複数の管理回路と、
送出すべき通信データと、前記通信データを送出すべき帯域のクラスの情報とを取得し、前記クラスの情報に応じて、前記複数の管理回路の中から前記通信データを供給すべき管理回路を選択し、選択した管理回路に前記通信データを供給する選択回路と、
を備えることを特徴とする通信制御装置。
A plurality of management circuits for managing the timing of sending communication data for each class of bandwidth to which the communication data should be sent;
The communication circuit to be transmitted and the information on the class of the band to which the communication data is to be transmitted are acquired, and the management circuit to which the communication data is to be supplied from the plurality of management circuits according to the class information. A selection circuit for selecting and supplying the communication data to the selected management circuit;
A communication control apparatus comprising:
前記選択回路は、前記クラスの情報から、前記通信データを供給すべき管理回路をアクティブにするチップセレクト信号を生成し、前記管理回路へ供給することを特徴とする請求項1に記載の通信制御装置。   2. The communication control according to claim 1, wherein the selection circuit generates a chip select signal for activating the management circuit to which the communication data is to be supplied from the class information, and supplies the chip selection signal to the management circuit. apparatus. 前記管理回路は、あるタイミングにおいて、自身が担当するクラスに割り当てられた送出可能ビット数を超過するパケットを送出したとき、次回以降のタイミングにおいて、前記送出可能ビット数から超過したパケットのビット数を差し引いたビット数のパケットを送出することを特徴とする請求項1又は2に記載の通信制御装置。   When the management circuit sends a packet that exceeds the number of transmittable bits assigned to the class that it is responsible for at a certain timing, the management circuit calculates the number of packets that exceeded the transmittable bit number at the next and subsequent timings. The communication control apparatus according to claim 1 or 2, wherein a packet with the number of subtracted bits is transmitted. 前記管理回路は、次回送出予定のパケットが、自身が担当するクラスに割り当てられた送出可能ビット数を超過するとき、次回送出予定のパケットが送出可能ビット数に満たないクラスを担当する別の管理回路に、超過分のパケットの送出を依頼することを特徴とする請求項1から3のいずれかに記載の通信制御装置。   When the packet scheduled to be sent next time exceeds the number of sendable bits assigned to the class to which the management circuit itself is assigned, the management circuit performs another management responsible for a class in which the packet to be sent next time is less than the number of sendable bits. The communication control apparatus according to claim 1, wherein the circuit is requested to send an excess packet. 送出すべき通信データと、前記通信データを送出すべき帯域のクラスの情報とを取得するステップと、
通信データを送出すべき帯域のクラスごとに設けられた、通信データを送出するタイミングを管理する複数の管理回路の中から、前記クラスの情報に応じて前記通信データを供給すべき管理回路を選択し、選択した管理回路に前記通信データを供給するステップと、
を備えることを特徴とする通信制御方法。
Obtaining communication data to be sent and information of a class of a band to which the communication data is to be sent;
A management circuit to which the communication data is to be supplied is selected from a plurality of management circuits that are provided for each class of the band to which the communication data is to be transmitted and that manages the timing at which the communication data is transmitted. And supplying the communication data to the selected management circuit;
A communication control method comprising:
JP2007558389A 2007-11-19 2007-11-19 Communication control device and communication control method Expired - Fee Related JP4638513B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/001268 WO2009066350A1 (en) 2007-11-19 2007-11-19 Communication control device and communication control method

Publications (2)

Publication Number Publication Date
JP4638513B2 JP4638513B2 (en) 2011-02-23
JPWO2009066350A1 true JPWO2009066350A1 (en) 2011-03-31

Family

ID=40667189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007558389A Expired - Fee Related JP4638513B2 (en) 2007-11-19 2007-11-19 Communication control device and communication control method

Country Status (2)

Country Link
JP (1) JP4638513B2 (en)
WO (1) WO2009066350A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141241A (en) * 1997-07-18 1999-02-12 Hitachi Ltd Atm switch and cell output priority control method therefor
JP2002057704A (en) * 2000-08-09 2002-02-22 Nippon Telegr & Teleph Corp <Ntt> Packet transfer method
JP2002354023A (en) * 2001-05-25 2002-12-06 Fujitsu Ltd Method and device for packet scheduling
WO2004074997A2 (en) * 2003-02-14 2004-09-02 Lightspace Corporation Interactive system

Also Published As

Publication number Publication date
WO2009066350A1 (en) 2009-05-28
JP4638513B2 (en) 2011-02-23

Similar Documents

Publication Publication Date Title
JP4554675B2 (en) Communication control device and communication control system
JP4087428B2 (en) Data processing system
JP4554671B2 (en) Communication control device
JP4571184B2 (en) Communication management system
JP3981150B1 (en) Communication control device and communication control method
WO2008062542A1 (en) Communication control apparatus
JP4574675B2 (en) Communication management system
JP4146505B1 (en) Determination apparatus and determination method
JP3930044B1 (en) Communication control device and communication control method
JP4319246B2 (en) Communication control device and communication control method
JP4638513B2 (en) Communication control device and communication control method
JP5380710B2 (en) Communication control device
JPWO2009066343A1 (en) Communication control device and communication control method
WO2008075426A1 (en) Communication control device and communication control method
JPWO2009066347A1 (en) Load balancer
KR20080017046A (en) Data processing system
JP5156892B2 (en) Log output control device and log output control method
JPWO2009066341A1 (en) Detection circuit and detection method
JP4676530B2 (en) Communication control device
JPWO2009069178A1 (en) Communication control device and communication control method
JPWO2009066344A1 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, AND COMMUNICATION CONTROL METHOD
JPWO2009066345A1 (en) Communication control device and communication control method
JPWO2009066349A1 (en) Communication control device and communication control method

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101125

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

LAPS Cancellation because of no payment of annual fees
R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350