[go: up one dir, main page]

JP2016163085A - Communication device - Google Patents

Communication device Download PDF

Info

Publication number
JP2016163085A
JP2016163085A JP2015037634A JP2015037634A JP2016163085A JP 2016163085 A JP2016163085 A JP 2016163085A JP 2015037634 A JP2015037634 A JP 2015037634A JP 2015037634 A JP2015037634 A JP 2015037634A JP 2016163085 A JP2016163085 A JP 2016163085A
Authority
JP
Japan
Prior art keywords
transfer
unit
information
processing
packet group
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
JP2015037634A
Other languages
Japanese (ja)
Inventor
古橋 亮慈
Ryoji Furuhashi
亮慈 古橋
聡之 久保
Satoyuki Kubo
聡之 久保
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2015037634A priority Critical patent/JP2016163085A/en
Publication of JP2016163085A publication Critical patent/JP2016163085A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method that achieves stable transfer processing of packets.SOLUTION: A communication device comprises: a transfer unit that transfers packets to a transfer destination; and a function expansion unit that includes a function execution unit for executing prescribed processing to a packet group, which is a lump of a plurality of packets received from the transfer unit, a transfer processing unit for transferring the packet group having gone through the prescribed processing at the function execution unit to the transfer destination, and a transfer processing control unit for controlling the transfer unit to execute the transfer processing of a packet meeting a prescribed condition among packets belonging to a packet group which is an object to which the function execution unit executes the prescribed processing.SELECTED DRAWING: Figure 1B

Description

本発明は、通信装置に関する。   The present invention relates to a communication device.

近年、クラウドコンピューティングに代表されるネットワークを介したコンピューティング資源の利用の広まりや、ネットワークのマルチメディア利用などにより、ネットワーク上における多様なサービスの提供が求められている。そのような状況の中、ネットワーク上の通信装置に対して、従来の通信装置が持つ単純なパケット転送機能に加えて、複雑な処理(例えば、Internet Protocol(IP)電話などのセッションを制御する処理や、パケットを検査する処理、各種プロトコルに従った処理など)を行う機能を付加することが一般的になってきている。   In recent years, there has been a demand for providing various services on a network due to the widespread use of computing resources via a network typified by cloud computing and the use of multimedia on a network. Under such circumstances, in addition to the simple packet transfer function of a conventional communication device, a process for controlling a complicated process (for example, a process such as an Internet Protocol (IP) telephone) is performed on a communication device on a network. In addition, it has become common to add a function for performing packet inspection processing, processing according to various protocols, and the like.

特開2006−20034号公報(特許文献1)には、ネットワーク回線との間でパケットを送受信する複数のネットワークインタフェースモジュールと、Webキャッシュサービスを提供する複数の拡張モジュールと、これらのモジュール間を相互接続するスイッチング部と、を有し、複数の転送機能部であるネットワークインタフェースモジュールと拡張モジュールが協調して動作することで一体となって動作するパケット通信ノード装置が開示されている。   Japanese Patent Laying-Open No. 2006-20034 (Patent Document 1) describes a plurality of network interface modules that transmit and receive packets to and from a network line, a plurality of extension modules that provide a Web cache service, and a mutual connection between these modules. There is disclosed a packet communication node device that has a switching unit to be connected and operates integrally when a network interface module and an extension module as a plurality of transfer function units operate in cooperation.

特開2006−20034号公報JP 2006-20034 A

特許文献1に開示されたパケット通信ノード装置のような通信装置の場合、単純な転送機能の処理を実装する機能部(以下、「転送部」と呼ぶ。)は、パケットの宛先検索処理や中継処理など転送機能の処理に特化した専用のハードウェア(例えば、Application Specific Integrated Circuit(ASIC)など)によって実現されることが多い。   In the case of a communication device such as a packet communication node device disclosed in Patent Document 1, a functional unit that implements a simple transfer function process (hereinafter referred to as a “transfer unit”) performs packet destination search processing and relaying. It is often realized by dedicated hardware specialized in processing of a transfer function such as processing (for example, Application Specific Integrated Circuit (ASIC)).

また、通信装置が持つ単純なパケットの転送機能に付加する機能である複雑な処理を行う機能(以下、「付加機能」と呼ぶ。)は、転送部とは別の機能部に実装することが一般的である。また、そのような付加機能の処理を実装する機能部(以下、「機能拡張部」と呼ぶ。)は、開発コストを下げるなどのために、単純な転送機能と、付加機能の双方を実装し、転送部とは独立して動作するように構成される場合がある。この場合、付加機能を有する通信装置では、転送機能を実装する機能部を複数(転送部および機能拡張部)持つ。   In addition, a function for performing complex processing (hereinafter referred to as “additional function”), which is a function added to the simple packet transfer function of the communication device, may be implemented in a function unit different from the transfer unit. It is common. In addition, a function unit that implements such additional function processing (hereinafter referred to as a “function expansion unit”) implements both a simple transfer function and an additional function in order to reduce development costs. , May be configured to operate independently of the transfer unit. In this case, the communication device having the additional function has a plurality of function units (transfer unit and function expansion unit) that implement the transfer function.

また、このような機能拡張部は、ネットワーク処理に特化したプロセッサがメモリに格納された付加機能の処理のプログラムとパケット転送機能の処理のプログラムを読み込むことで実現されることが多い。
転送部と機能拡張部は、それぞれの構成や実行する機能の違いのために、それぞれが実行する転送機能の転送性能や転送するパケットを識別する転送情報のそれぞれの格納容量などの特性が異なる。
Such a function expansion unit is often realized by a processor specialized for network processing reading an additional function processing program and a packet transfer function processing program stored in a memory.
The transfer unit and the function expansion unit have different characteristics such as the transfer performance of the transfer function executed by each transfer unit and the storage capacity of transfer information for identifying the packet to be transferred due to the difference in configuration and function to be executed.

さらに、機能拡張部では、1つの付加機能が処理する対象の複数のパケットのまとまりであり、一連の通信に属していることを示すパケット群を識別する情報を格納する量は増えてきており、また、機能拡張部は、複数の付加機能の処理を実行するため、より多くの負荷が掛かる。そのため、機能拡張部の転送性能が低下し、例えば、機能拡張部が多量のパケットの転送処理を行おうとすると転送性能が不足してパケットを喪失し、転送処理が不安定となるという課題がある。   Furthermore, in the function expansion unit, the amount of information that identifies a group of packets that are a group of a plurality of packets to be processed by one additional function and that belongs to a series of communications is increasing. In addition, since the function expansion unit executes processing of a plurality of additional functions, more load is applied. For this reason, the transfer performance of the function expansion unit is reduced. For example, when the function expansion unit tries to transfer a large amount of packets, there is a problem that the transfer performance is insufficient and packets are lost, and the transfer processing becomes unstable. .

上記課題を解決するために、本発明の代表的な通信装置の1つは、機能拡張部が実行するパケットの転送処理を転送部が実行するように変更する。
通信装置は、転送部から受信する複数のパケットのまとまりであるパケット群に対して所定の処理を実行する機能実行部と、機能実行部によって所定の処理が実行されたパケット群を転送先に転送する転送処理部と、機能実行部が所定の処理を実行する対象のパケット群に属するパケットのうち、所定の条件のパケットの転送処理を転送部が実行するように制御する転送処理制御部と、を有する機能拡張部を備える。
In order to solve the above-described problem, one of the representative communication apparatuses of the present invention changes the packet transfer process executed by the function expansion unit to be executed by the transfer unit.
The communication device transfers a packet execution group for executing a predetermined process to a packet group that is a group of a plurality of packets received from the transfer unit, and a packet group for which the predetermined process has been executed by the function execution unit to a transfer destination. A transfer processing control unit for controlling the transfer unit to execute a transfer process of a packet under a predetermined condition among packets belonging to a packet group for which the function execution unit executes a predetermined process; A function expansion unit having

本発明によれば、安定したパケットの転送処理を実現する。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。   According to the present invention, stable packet transfer processing is realized. Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.

転送処理の動作主体を変更する動作の概要を説明する図の例である。It is an example of the figure explaining the outline | summary of the operation | movement which changes the operation subject of a transfer process. 転送処理の動作主体を変更する動作の概要を説明する図の例である。It is an example of the figure explaining the outline | summary of the operation | movement which changes the operation subject of a transfer process. 通信装置の装置構成図の例である。It is an example of the apparatus block diagram of a communication apparatus. 統計テーブルの例である。It is an example of a statistics table. 動的転送制御テーブルの例である。It is an example of a dynamic transfer control table. 閾値管理テーブルの例である。It is an example of a threshold value management table. 転送テーブルの例である。It is an example of a transfer table. 転送処理制御テーブルの例である。It is an example of a transfer process control table. 転送処理テーブルの例である。It is an example of a transfer process table. 閾値設定の流れを示すシーケンス図の例である。It is an example of a sequence diagram showing a flow of threshold setting. 管理サーバが表示する閾値管理画面の画面イメージの例である。It is an example of a screen image of a threshold management screen displayed by the management server. 管理サーバが表示する閾値管理画面の画面イメージの例である。It is an example of a screen image of a threshold management screen displayed by the management server. 転送処理制御部の動作を表すフローチャートの例である。It is an example of the flowchart showing operation | movement of a transfer process control part. 転送処理制御部の動作を表すフローチャートの例である。It is an example of the flowchart showing operation | movement of a transfer process control part. エントリ設定要求の一連の動作を表したシーケンス図の例である。It is an example of a sequence diagram showing a series of operations of an entry setting request. エントリ削除要求の一連の動作を表したシーケンス図の例である。It is an example of a sequence diagram showing a series of operations of an entry deletion request. 転送処理制御テーブルの例である。It is an example of a transfer process control table. 基本制御部の動的転送制御部の動作を表すフローチャートの例である。It is an example of the flowchart showing operation | movement of the dynamic transfer control part of a basic control part. 通信装置がパケットを受信する際の動作を表すフローチャートの例である。It is an example of the flowchart showing the operation | movement at the time of a communication apparatus receiving a packet.

図1A、図1Bは、本実施例のパケットの転送処理の動作主体を変更する動作の概要を説明する図の例である。通信装置1は、パケットの転送処理を実行する転送部30と、転送処理に加えて複雑な処理である所定の付加機能の処理(例えば、IP電話などのセッションを制御する処理や、パケットを検査する処理、各種プロトコルに従った処理など)を実行する機能拡張部40を有する(図1A)。つまり、通信装置1は、転送部30と機能拡張部40が、ネットワーク上のパケットを転送し、機能拡張部40がパケットに対して所定の付加機能の処理を実行する装置である。   FIG. 1A and FIG. 1B are examples of diagrams for explaining an outline of an operation for changing an operation subject of packet transfer processing according to the present embodiment. The communication device 1 includes a transfer unit 30 that executes packet transfer processing, processing of a predetermined additional function that is complicated processing in addition to the transfer processing (for example, processing for controlling a session such as an IP phone, inspection of a packet, etc. And a function expansion unit 40 that executes processes according to various protocols) (FIG. 1A). That is, the communication device 1 is a device in which the transfer unit 30 and the function expansion unit 40 transfer a packet on the network, and the function expansion unit 40 executes processing of a predetermined additional function on the packet.

転送部30は、転送処理を行う対象の複数のパケットのまとまりであり、IP電話のパケット、動画データを含むパケットなど特定のパケットの種別に属することを識別するパケット群をネットワークを介して送受信する転送Interface(I/F)36、37と、転送部30が受信したパケット群の転送処理を実行する転送実行部である転送エンジン31と、転送エンジン31が転送処理を実行する際に参照する転送テーブル32および転送制御テーブル群70と、機能拡張部40と接続し、転送部30または機能拡張部40を制御する制御通信を行う装置内通信I/F39と、機能拡張部40とパケット群を送受信する転送I/F38と、を有する。   The transfer unit 30 is a group of a plurality of packets to be subjected to transfer processing, and transmits / receives a packet group for identifying belonging to a specific packet type, such as an IP phone packet or a packet including moving image data, via the network. Transfer Interfaces (I / F) 36 and 37, a transfer engine 31 that is a transfer execution unit that executes a transfer process of a packet group received by the transfer unit 30, and a transfer that is referred to when the transfer engine 31 executes the transfer process Table 32 and transfer control table group 70 are connected to the function expansion unit 40, and the in-device communication I / F 39 that performs control communication for controlling the transfer unit 30 or the function expansion unit 40, and the function expansion unit 40 and the packet group are transmitted and received. A transfer I / F 38.

パケット群を示す情報は、例えば、受信する複数のパケットが音声データを含むなどIP電話に関するパケットである場合、特定の通信であるIP電話に属することを示すプロトコル番号「6」が、受信した複数のパケットそれぞれに含まれ、このプロトコル番号がIP電話のパケット群を示す情報となる。パケット群を示す情報は、受信した複数のパケットそれぞれが特定の通信に属していることを示す情報であれば、プロトコル番号に限られない。   The information indicating the packet group includes, for example, a protocol number “6” indicating that the packet belongs to an IP phone that is a specific communication when the received packets are packets related to an IP phone such as including voice data. This protocol number is information indicating the IP telephone packet group. The information indicating the packet group is not limited to the protocol number as long as it is information indicating that each of the plurality of received packets belongs to a specific communication.

転送テーブル32は、通信装置1の運用開始前に管理者(保守者、ユーザ)などから設定される静的な領域329と、運用開始後に機能拡張部40などから動的に設定される動的な領域328を有し、転送部30が転送処理を実行する対象のパケット群を識別する転送部転送対象情報として、受信したパケット群を識別するパケット群識別情報(例えば、パケット群の送信元を識別する送信元アドレス、パケット群の送信先を識別する送信先アドレス、パケット群が従うプロトコルを識別するプロトコル番号など)とパケット群を転送する際に経由する転送先(他の通信装置や通信装置1内の機能拡張部40など)を識別する転送先情報(例えば、ネクストホップなど)とを対応付けて格納する(記憶する、記録する、登録する)。   The transfer table 32 is a static area 329 set by an administrator (maintenance person, user) or the like before the operation of the communication apparatus 1 is started, and is dynamically set by a function expansion unit 40 or the like after the operation is started. Packet group identification information for identifying the received packet group (for example, the transmission source of the packet group is used as transfer unit transfer target information for identifying the packet group for which the transfer unit 30 executes the transfer process. Source address to identify, destination address to identify the destination of the packet group, protocol number to identify the protocol that the packet group conforms to, and transfer destination (other communication device or communication device) through which the packet group is transferred 1 is stored in association (stored, recorded, registered) with transfer destination information (for example, next hop, etc.) for identifying the function extension unit 40 in 1.

転送エンジン31は、パケット群を受信すると転送テーブル32の動的な領域328から静的な領域329の順にパケット群識別情報を検索して、パケット群に含まれる情報と合致したパケット群識別情報に対応する転送先情報に受信したパケット群を転送する。   When receiving the packet group, the transfer engine 31 searches the packet group identification information in order from the dynamic area 328 to the static area 329 of the transfer table 32, and obtains the packet group identification information that matches the information included in the packet group. The received packet group is transferred to the corresponding transfer destination information.

図1Aでは、転送テーブル32の静的な領域329にパケット群識別情報:「プロトコル番号「6」」と転送先情報「機能拡張部」が予め格納され、一方、動的な領域328にはパケット群識別情報などは格納されておらず、転送エンジン31は、「受信したパケット群のプロトコル番号が「6」であれば機能拡張部40に転送する」ことを示している。
転送制御テーブル群70は、ルーティングテーブル(経路情報テーブル)やMedia Access Control(MAC)テーブルなどパケット群に属するパケット毎に転送先を特定する情報をそれぞれ有する。
In FIG. 1A, packet group identification information: “protocol number“ 6 ”” and transfer destination information “function expansion unit” are stored in a static area 329 of the transfer table 32 in advance, while a packet is stored in the dynamic area 328. Group identification information or the like is not stored, and the transfer engine 31 indicates that “if the received packet group protocol number is“ 6 ”, it is transferred to the function expansion unit 40”.
The transfer control table group 70 includes information for specifying a transfer destination for each packet belonging to the packet group, such as a routing table (route information table) and a media access control (MAC) table.

機能拡張部40は、転送部30とパケット群を送受信するユーザー通信I/F43と、機能拡張部40が受信したパケット群に対して付加機能の処理を実行する付加機能実行部53と、付加機能実行部53が付加機能の処理を実行する対象のパケット群(以下、「付加機能実行対象パケット群」と呼ぶ。)を識別する情報(以下、「付加機能対象識別情報」と呼ぶ。)を格納する転送処理制御テーブル56と、付加機能実行部53が付加機能の処理を実行したパケット群(以下、「付加機能実行済みパケット群」と呼ぶ。)に属するパケットの転送処理を実行する転送処理部50と、転送処理部50が転送処理を実行する際に参照する転送処理テーブル51と、転送処理制御テーブル56と転送処理テーブル51の各情報を格納し、転送処理を実行する転送機能部を変更する転送処理制御部54と、転送部30と接続し、転送部30または機能拡張部40を制御する制御通信を行う装置内通信I/F44とを有する。   The function expansion unit 40 includes a user communication I / F 43 that transmits / receives a packet group to / from the transfer unit 30, an additional function execution unit 53 that performs processing of an additional function on the packet group received by the function expansion unit 40, and an additional function Information (hereinafter referred to as “additional function target identification information”) for identifying a packet group (hereinafter referred to as “additional function execution target packet group”) for which the execution unit 53 executes processing of the additional function is stored. A transfer processing control table 56 that performs the transfer processing of packets belonging to the packet group (hereinafter referred to as “additional function executed packet group”) for which the additional function execution unit 53 has executed the processing of the additional function. 50, the transfer processing table 51 that is referred to when the transfer processing unit 50 executes the transfer processing, the transfer processing control table 56, and the transfer processing table 51. A transfer processing control unit 54 to change the transfer function unit for executing, connected to the transfer unit 30, and a device in the communication I / F 44 for controlling communication for controlling the transfer unit 30 or the function expansion unit 40.

転送処理制御テーブル56は、付加機能対象識別情報(例えば、送信元アドレス、送信先アドレス、プロトコル番号など)と付加機能実行部53が付加機能実行済みパケット群に属するパケットの転送処理を実行する転送機能部(転送部30または機能拡張部40)を特定する情報(以下、「転送機能部特定情報」と呼ぶ。)と対応付けて格納する。転送処理制御テーブル56には、機能拡張部40が付加機能実行対象パケット群を受信すると、各情報が転送処理制御部54によって格納される。   The transfer process control table 56 includes additional function target identification information (for example, a transmission source address, a transmission destination address, a protocol number, and the like) and a transfer in which the additional function execution unit 53 performs a transfer process of packets belonging to the additional function executed packet group. Stored in association with information (hereinafter referred to as “transfer function unit specifying information”) for specifying a function unit (transfer unit 30 or function expansion unit 40). When the function expansion unit 40 receives the additional function execution target packet group, each information is stored in the transfer processing control table 56 by the transfer processing control unit 54.

転送処理テーブル51は、転送処理制御テーブル56に格納された付加機能対象識別情報のうち、機能拡張部40が転送処理を実行する対象のパケット群を識別する情報(転送パケット群識別情報)(機能拡張部転送対象情報)を、この情報に対応するパケット群識別情報として格納し、パケット群識別情報と転送先情報とを対応付けて格納する。転送処理テーブル51には、転送処理制御テーブル56が作成された後に転送処理制御部54によって各情報が格納される。   The transfer processing table 51 is information (transfer packet group identification information) that identifies a target packet group for which the function expansion unit 40 executes the transfer processing, among the additional function target identification information stored in the transfer processing control table 56 (function Extended portion transfer target information) is stored as packet group identification information corresponding to this information, and the packet group identification information and transfer destination information are stored in association with each other. In the transfer processing table 51, each information is stored by the transfer processing control unit 54 after the transfer processing control table 56 is created.

図1Aでは、機能拡張部40が「AAからBBへのプロトコル番号「6」」のパケットの受信後に、転送処理制御テーブル56の付加機能対象情報:「AAからBBへのプロトコル番号「6」」を示す情報と転送機能部特定情報:「機能拡張部」が作成され、「CCからDDへのプロトコル番号「6」」のパケットの受信後に、付加機能対象情報:「CCからDDへのプロトコル番号「6」」を示す情報と転送機能部特定情報:「機能拡張部」が作成された例である。また、転送処理制御テーブル56の作成後に、転送処理テーブル51のパケット群識別情報:「AAからBBへのプロトコル番号「6」」を示す情報と転送先情報:「EE」およびパケット群識別情報:「CCからDDへのプロトコル番号「6」」を示す情報と転送先情報:「FF」が、転送処理制御テーブル56のそれぞれの転送機能部特定情報に対応して作成された例である。   In FIG. 1A, after the function expansion unit 40 receives the packet with the protocol number “6” from AA to BB, additional function target information in the transfer processing control table 56: “protocol number“ 6 ”from AA to BB” Information and transfer function part specifying information: “function extension part” is created, and after receiving the packet of “CC to DD protocol number“ 6 ””, additional function target information: “CC to DD protocol number” This is an example in which information indicating “6” and transfer function part specifying information: “function extension part” are created. Further, after the transfer process control table 56 is created, the packet group identification information of the transfer process table 51: information indicating “AA to BB protocol number“ 6 ””, transfer destination information: “EE”, and packet group identification information: This is an example in which “CC to DD protocol number“ 6 ”” and transfer destination information: “FF” are created corresponding to each transfer function part specifying information in the transfer processing control table 56.

機能拡張部40は、転送処理制御テーブル56の作成後に、付加機能対象情報に合致するパケット群、つまり、付加機能実行対象パケット群を受信すると、転送処理テーブル51を検索して、パケット群に含まれる情報と合致したパケット群識別情報に対応する転送先情報に受信したパケット群を転送して、転送処理部50が転送処理を実行する。   When the function expansion unit 40 receives a packet group that matches the additional function target information after creating the transfer process control table 56, that is, the additional function execution target packet group, it searches the transfer process table 51 and includes it in the packet group. The received packet group is transferred to the transfer destination information corresponding to the packet group identification information that matches the received information, and the transfer processing unit 50 executes the transfer process.

付加機能実行部53が、IP電話などのセッションを制御するセッション制御部として動作する場合、転送処理制御テーブル56への格納の契機となるパケットの受信は、セッションの確立を要求するセッション確立要求パケットの受信である。ここで、セッションとは、IP電話などの呼制御などにおいて、一連の通信を行う際に必要となる接続関係のことである。また、付加機能実行部53が、パケットを検査する処理を実行するDeep Packet Inspection(DPI)処理部として動作する場合、転送処理制御テーブル56への格納の契機となるパケットの受信は、予め管理者などから機能拡張部40に設定された検査対象のパケットの種別に属するパケットの受信である。   When the additional function execution unit 53 operates as a session control unit that controls a session such as an IP phone, the reception of a packet that triggers storage in the transfer processing control table 56 is a session establishment request packet that requests session establishment. Is receiving. Here, a session is a connection relationship required for performing a series of communications in call control such as an IP phone. In addition, when the additional function execution unit 53 operates as a deep packet inspection (DPI) processing unit that executes processing for inspecting a packet, reception of a packet that triggers storage in the transfer processing control table 56 is performed in advance by an administrator. For example, a packet belonging to the type of the packet to be inspected set in the function expansion unit 40 is received.

なお、セッション確立要求パケットの受信の場合、機能拡張部40は、受信したセッション確立要求パケットを他の装置へ転送することはないが、検査対象のパケットの種別に属するパケットの受信の場合、機能拡張部40は、受信した検査対象のパケットの種別に属するパケットを他の装置へ転送する。   In the case of reception of a session establishment request packet, the function expansion unit 40 does not transfer the received session establishment request packet to another apparatus, but in the case of reception of a packet belonging to the type of packet to be inspected, The extension unit 40 transfers a packet belonging to the type of the received packet to be inspected to another device.

図1Bは、転送処理制御部54が、転送処理制御テーブル56に格納された付加機能対象情報のうち、所定の選択条件を満たす付加機能対象情報について、転送処理制御テーブル56の転送機能部情報を更新して転送処理制御テーブル56の付加機能対象情報を転送部30の転送テーブル32の動的な領域328に転送部転送対象情報のパケット群識別情報として格納させる動作の流れを説明する図である。   In FIG. 1B, the transfer function control unit 54 sets the transfer function part information of the transfer process control table 56 for the additional function object information satisfying a predetermined selection condition among the additional function object information stored in the transfer process control table 56. FIG. 10 is a diagram for explaining the flow of operations for updating and storing the additional function target information in the transfer processing control table 56 in the dynamic area 328 of the transfer table 32 of the transfer unit 30 as packet group identification information of the transfer unit transfer target information. .

所定の選択条件とは、受信したパケットが転送処理制御テーブル56に情報を格納(登録)済みの付加機能実行対象パケット群に属するパケットである否かである。具体的には、付加機能実行対象パケット群として登録することを要求するパケットを受信するか、パケット群に属するパケットのうち所定の数のパケットを機能拡張部40が受信した後に受信するパケットであるか、パケット群に属するパケットのうち任意の番目に機能拡張部40が受信したパケットであるか、付加機能対象情報を転送処理制御テーブル56に格納済みで機能拡張部40の処理負荷状況を含む処理状況、もしくは、パケット群毎に設定された優先度、もしくは、特定のパケット群(例えば、特定のユーザー)の識別情報、もしくは、スケジューラなどで決められた時間などである。選択条件は、例えば、機能拡張部40に格納される。   The predetermined selection condition is whether or not the received packet is a packet belonging to the additional function execution target packet group for which information has been stored (registered) in the transfer processing control table 56. Specifically, it is a packet received after receiving a packet requesting to be registered as an additional function execution target packet group or after the function expansion unit 40 has received a predetermined number of packets belonging to the packet group. Or the packet received by the function expansion unit 40 at an arbitrary position among the packets belonging to the packet group, or the additional function target information is already stored in the transfer processing control table 56 and includes the processing load status of the function expansion unit 40 It is a situation, a priority set for each packet group, identification information of a specific packet group (for example, a specific user), a time determined by a scheduler, or the like. The selection conditions are stored in the function expansion unit 40, for example.

転送処理制御部54は、転送処理制御テーブル56に格納された付加機能対象情報のうち、所定の選択条件を満たす(例えば、機能拡張部40の処理負荷が所定の閾値を超える)付加機能対象情報を選択し、選択した付加機能対象情報の転送機能部情報を「機能拡張部」から「転送部」に変更し、転送機能部情報を変更した付加機能対象情報に対応する転送処理テーブル51のパケット群識別情報と転送先情報を装置内通信I/F44を介して転送部30へ向けて送信する。   The transfer processing control unit 54 satisfies the predetermined selection condition among the additional function target information stored in the transfer processing control table 56 (for example, the processing load of the function expansion unit 40 exceeds a predetermined threshold value). The transfer function part information of the selected additional function object information is changed from “function expansion part” to “transfer part”, and the packet of the transfer processing table 51 corresponding to the additional function object information whose transfer function part information is changed The group identification information and the transfer destination information are transmitted to the transfer unit 30 via the in-device communication I / F 44.

パケット群識別情報と転送先情報を装置内通信I/F39を介して受信した転送部30は、転送テーブル32の動的な領域328に受信したパケット群識別情報と転送先情報を転送部転送対象情報のパケット群識別情報と転送先情報として格納する。その後、転送エンジン31は、パケット群を受信すると、転送テーブル32の動的な領域328から静的な領域329の順にパケット群識別情報を検索し、受信したパケット群に含まれる情報と合致する動的な領域328に格納したパケット群識別情報に対応する転送先情報に受信したパケット群を転送する。   The transfer unit 30 that has received the packet group identification information and transfer destination information via the in-device communication I / F 39 transfers the received packet group identification information and transfer destination information to the dynamic area 328 of the transfer table 32. Information is stored as packet group identification information and transfer destination information. After that, when receiving the packet group, the forwarding engine 31 searches the packet group identification information in the order of the dynamic area 328 to the static area 329 in the forwarding table 32, and matches the information included in the received packet group. The received packet group is transferred to the transfer destination information corresponding to the packet group identification information stored in the general area 328.

図1Bでは、転送処理制御部54が、転送処理制御テーブル56の付加機能対象情報:「CCからDDへのプロトコル番号「6」」を示す情報の転送機能部情報を「機能拡張部」から「転送部」に変更し、変更した付加機能対象情報:「CCからDDへのプロトコル番号「6」」を示す情報に対応する転送処理テーブル51のパケット群識別情報:「CCからDDへのプロトコル番号「6」」と転送先情報:「FF」を転送部30へ向けて送信し、転送部30が、転送テーブル32の動的な領域328に転送部転送対象情報のパケット群識別情報:「CCからDDへのプロトコル番号「6」」と転送先情報「FF」を格納し、格納後に転送エンジン31が、「CCからDDへのプロトコル番号「6」」のパケット群を受信すると、パケット群識別情報:「CCからDDへのプロトコル番号「6」」に対応する転送先情報「FF」に受信したパケット群を転送する。   In FIG. 1B, the transfer processing control unit 54 changes the additional function target information in the transfer processing control table 56: the transfer function unit information of information indicating “CC protocol number“ 6 ”from CC to DD” from “function expansion unit” to “ Changed to “transfer section”, and changed additional function target information: packet group identification information of transfer processing table 51 corresponding to information indicating “CC to DD protocol number“ 6 ””: “CC to DD protocol number” “6” ”and transfer destination information:“ FF ”are transmitted to the transfer unit 30, and the transfer unit 30 stores the packet group identification information of the transfer unit transfer target information:“ CC ”in the dynamic area 328 of the transfer table 32. When the transfer engine 31 receives the packet group of the protocol number “6” from the CC to the DD after storing the protocol number “6” ”and the transfer destination information“ FF ”. Another information: transferring the packets received in the transfer destination information "FF" corresponding to the "protocol ID" 6 "to the DD from CC".

この結果、機能拡張部40は、転送処理制御テーブル56にて、「CCからDDへのプロトコル番号「6」」のパケット群が、付加機能実行対象パケット群であることを認識しつつ、転送エンジン31にて機能拡張部40に転送していた「CCからDDへのプロトコル番号「6」」のパケット群は、機能拡張部40に転送されることなく、転送先情報「FF」に転送される。つまり、機能拡張部40は、転送処理テーブル51のパケット群識別情報を転送部30の転送テーブル32に移動して、転送処理部50で実行していた「CCからDDへのプロトコル番号「6」」のパケット群の転送処理を転送部30が実行するように変更する。   As a result, the function expansion unit 40 recognizes in the transfer processing control table 56 that the packet group of “CC to DD protocol number“ 6 ”” is the additional function execution target packet group, and the transfer engine. The packet group of “CC to DD protocol number“ 6 ”” transferred to the function expansion unit 40 at 31 is transferred to the transfer destination information “FF” without being transferred to the function expansion unit 40. . That is, the function expansion unit 40 moves the packet group identification information of the transfer processing table 51 to the transfer table 32 of the transfer unit 30 and executes the “CC to DD protocol number“ 6 ”executed by the transfer processing unit 50. Is changed so that the transfer unit 30 executes the transfer process of the packet group.

したがって、機能拡張部40が実行する転送処理の一部の処理を転送部30が実行するように変更する結果、機能拡張部40の処理負荷が下がり、機能拡張部40でのパケットの喪失を防ぎ、通信装置1が提供する転送処理が安定する。   Therefore, as a result of changing part of the transfer processing executed by the function expansion unit 40 to be executed by the transfer unit 30, the processing load on the function expansion unit 40 is reduced, and packet loss in the function expansion unit 40 is prevented. The transfer process provided by the communication device 1 is stabilized.

また、機能拡張部40は、転送部30の転送テーブル32に移動したパケット群識別情報と転送先情報を転送テーブル32から削除し、転送処理テーブル51に追加することで、再度機能拡張部40の転送処理部50が転送処理を実行するように変更する。つまり、転送部30は、転送テーブル32の動的な領域328に格納した転送部転送対象情報を削除し、静的な領域329の転送部転送対象情報に従って、再度機能拡張部40へパケット群を転送し、機能拡張部40の転送処理部50が転送処理を実行して転送先に転送する。   Further, the function expansion unit 40 deletes the packet group identification information and the transfer destination information moved to the transfer table 32 of the transfer unit 30 from the transfer table 32 and adds them to the transfer processing table 51, so that the function expansion unit 40 again The transfer processing unit 50 is changed so as to execute the transfer process. In other words, the transfer unit 30 deletes the transfer unit transfer target information stored in the dynamic area 328 of the transfer table 32, and again transfers the packet group to the function expansion unit 40 according to the transfer unit transfer target information in the static area 329. Then, the transfer processing unit 50 of the function expansion unit 40 executes the transfer process and transfers it to the transfer destination.

具体的には、機能拡張部40は、転送部30の転送テーブル32に移動して、転送エンジン31で実行していた「CCからDDへのプロトコル番号「6」」のパケット群の転送処理を転送処理部50が実行するように変更する。   Specifically, the function expanding unit 40 moves to the transfer table 32 of the transfer unit 30 and performs the transfer process of the packet group “protocol number“ 6 ”from CC to DD” executed by the transfer engine 31. The transfer processing unit 50 is changed to execute.

以下、本実施例を具体的に説明する。
図2は、本実施例の通信装置の装置構成図の例である。
通信装置1は、通信端末3と管理サーバ2と接続し、通信網4を介してインターネットや各種サーバ(動画共有サービスや電子商取引サービスやクラウドサービスなどを提供するサーバやIP電話などのセッションを制御するサーバなど)と接続する。
Hereinafter, the present embodiment will be specifically described.
FIG. 2 is an example of a device configuration diagram of the communication device of this embodiment.
The communication device 1 is connected to the communication terminal 3 and the management server 2, and controls sessions such as the Internet and various servers (servers that provide a video sharing service, an electronic commerce service, a cloud service, and an IP phone) via the communication network 4. Connected to the server.

通信装置1は、管理サーバ2、通信端末3、通信網4との間に1または複数台の他の装置(スイッチやルータなど)が接続されていてもよい。また、通信装置1は、複数の通信端末3と接続してもよい。通信端末3は、例えば、IP電話などの加入者であるユーザーの宅内に配置され、ユーザーが使用するコンピュータや電話機などと接続される。
管理サーバ2は、通信装置1の転送処理制御部54の動作を決定する管理画面を通信装置1の管理者に提供する。また、通信装置1が管理画面を提供する機能を有し、管理サーバ2の代わりに管理画面を操作する端末が接続される構成であってもよい。
In the communication device 1, one or a plurality of other devices (such as a switch and a router) may be connected between the management server 2, the communication terminal 3, and the communication network 4. The communication device 1 may be connected to a plurality of communication terminals 3. For example, the communication terminal 3 is disposed in the home of a user who is a subscriber such as an IP phone, and is connected to a computer or a telephone used by the user.
The management server 2 provides a management screen for determining the operation of the transfer processing control unit 54 of the communication device 1 to the administrator of the communication device 1. Further, the communication device 1 may have a function of providing a management screen, and may be configured such that a terminal that operates the management screen is connected instead of the management server 2.

通信装置1は、基本制御部10、転送部30、機能拡張部40、コアI/F61、加入者I/F60を備える。
コアI/F61は、転送部30と接続するポート(図示せず)および通信網4と接続するポート(図示せず)を有し、通信網4とパケット群の送受信を行うネットワークインタフェースである。加入者I/F60は、転送部30と接続するポート(図示せず)および通信端末3と接続するポート(図示せず)を有し、通信端末3とパケット群の送受信を行うネットワークインタフェースである。
The communication device 1 includes a basic control unit 10, a transfer unit 30, a function expansion unit 40, a core I / F 61, and a subscriber I / F 60.
The core I / F 61 is a network interface that has a port (not shown) connected to the transfer unit 30 and a port (not shown) connected to the communication network 4 and transmits / receives a packet group to / from the communication network 4. The subscriber I / F 60 is a network interface that has a port (not shown) connected to the transfer unit 30 and a port (not shown) connected to the communication terminal 3, and transmits / receives a packet group to / from the communication terminal 3. .

なお、基本制御部10と転送部30、機能拡張部40は、1つのモジュールカード内に配置されてもよいし、それぞれ別々のモジュールカード(例えば、基本制御部10は基本制御モジュールカード、転送部30は転送モジュールカード、機能拡張部40はサービスモジュール部として機能拡張モジュールカード(サービスモジュールカード))内に配置されてもよい。   Note that the basic control unit 10, the transfer unit 30, and the function expansion unit 40 may be arranged in one module card, or each of them is a separate module card (for example, the basic control unit 10 has a basic control module card and a transfer unit). 30 may be a transfer module card, and the function expansion unit 40 may be disposed in a function expansion module card (service module card) as a service module unit.

また、通信装置1は、基本制御部10が配置される基本制御モジュールカードと、転送部30および機能拡張部40が配置される転送モジュールカードとを有する構成であってもよい。また、通信装置1は、複数の基本制御部10と複数の転送部30、複数の機能拡張部40を有してもよい。また、1つの機能拡張部40が、パケット転送機能および複数の付加機能の処理を実行してもよい。また、転送部30と各I/F(コアI/F61および/または加入者I/F60)が1つのモジュールカード内に配置されてもよい。つまり、転送部30が各I/Fの機能を有していてもよい。   Further, the communication apparatus 1 may have a configuration including a basic control module card in which the basic control unit 10 is disposed and a transfer module card in which the transfer unit 30 and the function expansion unit 40 are disposed. Further, the communication device 1 may include a plurality of basic control units 10, a plurality of transfer units 30, and a plurality of function expansion units 40. In addition, one function expansion unit 40 may execute processing of the packet transfer function and a plurality of additional functions. The transfer unit 30 and each I / F (core I / F 61 and / or subscriber I / F 60) may be arranged in one module card. That is, the transfer unit 30 may have a function of each I / F.

また、1つの機能拡張部40が、パケット転送機能の処理および1つの付加機能の処理を実行し、複数の機能拡張部40を通信装置1に実装して複数の付加機能の処理を実行してもよい。また、基本制御部10と転送部30と機能拡張部40を有するモジュールカードは、通信装置1に対して挿抜可能なように構成されてもよい。   In addition, one function expansion unit 40 executes processing of a packet transfer function and one additional function, and a plurality of function expansion units 40 are mounted on the communication device 1 to execute processing of a plurality of additional functions. Also good. Further, the module card having the basic control unit 10, the transfer unit 30, and the function expansion unit 40 may be configured to be insertable / removable with respect to the communication device 1.

通信装置1は、コアI/F61または加入者I/F60を介してパケットを受信すると、転送部30にて転送先(各種サーバ、通信端末3、または、機能拡張部40など)に到達するように、受信したパケットのヘッダ部または内部ヘッダ部の宛先アドレスなどを変更して、転送先に対応するI/F(コアI/F61または加入者I/F60)を介して変更したパケットを送信する転送処理を実行する。また、通信装置1は、機能拡張部40にて転送部30からパケットを受信すると、受信したパケットに付加機能の処理を実行し、転送先(各種サーバまたは通信端末3など)に到達するように受信したパケットのヘッダ部または内部ヘッダ部の宛先アドレスなどを変更して、転送部30を経由し、転送先に対応するI/F(コアI/F61または加入者I/F60)を介して変更したパケットを送信する転送処理を実行する。   When the communication device 1 receives a packet via the core I / F 61 or the subscriber I / F 60, the transfer unit 30 reaches the transfer destination (various servers, the communication terminal 3, or the function expansion unit 40, etc.). In addition, the destination address or the like of the header part or the internal header part of the received packet is changed, and the changed packet is transmitted via the I / F (core I / F 61 or subscriber I / F 60) corresponding to the transfer destination. Execute the transfer process. In addition, when the communication device 1 receives a packet from the transfer unit 30 at the function expansion unit 40, the communication device 1 executes processing of the additional function on the received packet so as to reach a transfer destination (such as various servers or the communication terminal 3). Change the destination address of the received packet header or internal header, etc., via the transfer unit 30 and change via the I / F (core I / F 61 or subscriber I / F 60) corresponding to the transfer destination The transfer process for transmitting the packet is executed.

基本制御部10は、Central Processing Unit(CPU)12、メモリ11、管理I/F13、装置内通信I/F14を含み、それらが相互に接続されている。基本制御部10は、管理I/F13を介して管理サーバ2と接続し、装置内通信I/F14を介して、転送部30および機能拡張部40と接続する。管理I/F13は、管理サーバ2と接続するポート(図示せず)を有し、装置内通信I/F14は、転送部30および機能拡張部40と接続するポート(図示せず)を有する。   The basic control unit 10 includes a central processing unit (CPU) 12, a memory 11, a management I / F 13, and an in-device communication I / F 14, which are connected to each other. The basic control unit 10 is connected to the management server 2 via the management I / F 13 and is connected to the transfer unit 30 and the function expansion unit 40 via the in-device communication I / F 14. The management I / F 13 has a port (not shown) connected to the management server 2, and the in-device communication I / F 14 has a port (not shown) connected to the transfer unit 30 and the function expansion unit 40.

メモリ11は、動的転送制御部20、閾値管理部21、統計管理部22、動的転送制御テーブル23、閾値管理テーブル24、統計テーブル25を格納(記憶)する。また、CPU12が、メモリ11に格納されたプログラムをロードして実行する(処理する)ことによって、動的転送制御部20等の基本制御部10の各機能部を実現する。   The memory 11 stores (stores) a dynamic transfer control unit 20, a threshold management unit 21, a statistics management unit 22, a dynamic transfer control table 23, a threshold management table 24, and a statistics table 25. Further, the CPU 12 loads and executes (processes) the program stored in the memory 11 to realize each functional unit of the basic control unit 10 such as the dynamic transfer control unit 20.

動的転送制御部20は、転送部30が実行する転送処理を制御し、機能拡張部40が実行する転送処理の一部の処理を転送部30が実行するように変更する。動的転送制御部20を転送部転送制御部とも呼ぶ。動的転送制御部20は、装置内通信I/F14を介して機能拡張部40から、機能拡張部40のパケット群識別情報を転送部30に追加することを要求する追加要求を受信し、受信した追加要求を転送部30に送信して機能拡張部40のパケット群識別情報を追加するように要求する。   The dynamic transfer control unit 20 controls the transfer process executed by the transfer unit 30 and changes the transfer unit 30 to execute a part of the transfer process executed by the function expansion unit 40. The dynamic transfer control unit 20 is also referred to as a transfer unit transfer control unit. The dynamic transfer control unit 20 receives and receives an addition request for requesting that the packet group identification information of the function expansion unit 40 be added to the transfer unit 30 from the function expansion unit 40 via the intra-device communication I / F 14. The added request is transmitted to the transfer unit 30 to request addition of the packet group identification information of the function expansion unit 40.

また、動的転送制御部20は、装置内通信I/F14を介して機能拡張部40から、転送部30が実行する追加された機能拡張部40のパケット群識別情報を転送部30から削除することを要求する削除要求を受信し、受信した削除要求を転送部30に送信して転送部30が実行する追加された機能拡張部40のパケット群識別情報を削除するように要求する。動的転送制御部20の詳細な動作は、図15を用いて後述する。   Further, the dynamic transfer control unit 20 deletes the packet group identification information of the added function expansion unit 40 executed by the transfer unit 30 from the transfer unit 30 from the function expansion unit 40 via the intra-device communication I / F 14. The request for deletion is received, the received deletion request is transmitted to the transfer unit 30, and a request is made to delete the packet group identification information of the added function expansion unit 40 executed by the transfer unit 30. The detailed operation of the dynamic transfer control unit 20 will be described later with reference to FIG.

閾値管理部21は、機能拡張部40の処理負荷の状況を監視する際に用いられ、機能拡張部40に設定する閾値を管理する。閾値管理部21は、管理サーバ2から受信した閾値を閾値管理テーブル24に格納する(書き込む)。閾値管理部21は、閾値管理テーブル24を更新し、管理する。閾値管理部21が閾値管理テーブル24に格納することで、機能拡張部40が行う付加機能の処理に対する閾値を基本制御部10が管理する。閾値管理部21の詳細な動作は図9を用いて後述する。   The threshold management unit 21 is used when monitoring the processing load status of the function expansion unit 40 and manages the threshold set in the function expansion unit 40. The threshold management unit 21 stores (writes) the threshold received from the management server 2 in the threshold management table 24. The threshold management unit 21 updates and manages the threshold management table 24. By storing the threshold management unit 21 in the threshold management table 24, the basic control unit 10 manages the threshold for the processing of the additional function performed by the function expansion unit 40. Detailed operation of the threshold management unit 21 will be described later with reference to FIG.

統計管理部22は、転送部30が転送したパケット群の統計情報を管理する。統計管理部22は、装置内通信I/F14を介して転送部30から転送部30が転送したパケット群の統計情報を取得する。統計情報は、転送部30が転送したパケット群を識別するエントリ識別子(エントリidentification(ID))と転送されたパケット群が使用した帯域量(使用帯域量)などの情報を含む。   The statistics management unit 22 manages the statistical information of the packet group transferred by the transfer unit 30. The statistics management unit 22 acquires the statistical information of the packet group transferred by the transfer unit 30 from the transfer unit 30 via the intra-device communication I / F 14. The statistical information includes information such as an entry identifier (entry identification (ID)) for identifying a packet group transferred by the transfer unit 30 and a bandwidth amount (used bandwidth amount) used by the transferred packet group.

統計管理部22は、転送部30から取得した統計情報を統計テーブル25に格納する(書き込む)。統計管理部22は、統計テーブル25を更新し、管理する。また、統計管理部22は、装置内通信I/F14を介して機能拡張部40から統計情報を要求する統計取得要求を受信すると、統計テーブル25を参照して統計情報を読み出し、読み出した統計情報を装置内通信I/F14を介して機能拡張部40に送信する。   The statistical management unit 22 stores (writes) the statistical information acquired from the transfer unit 30 in the statistical table 25. The statistics management unit 22 updates and manages the statistics table 25. Further, when receiving a statistical acquisition request for requesting statistical information from the function expansion unit 40 via the in-device communication I / F 14, the statistical management unit 22 reads the statistical information with reference to the statistical table 25, and reads the read statistical information Is transmitted to the function expansion unit 40 via the in-device communication I / F 14.

統計管理部22が、統計テーブル25に転送部30の統計情報を書き込むことで、転送部30が転送したパケット群の統計情報を基本制御部10が管理する。
統計テーブル25は、転送部30が転送したパケット群の統計情報に関する情報を格納するテーブルである。統計管理部22が統計テーブル25を管理する。統計テーブル25の構成例は、図3を用いて後述する。
The statistical control unit 22 writes the statistical information of the transfer unit 30 in the statistical table 25 so that the basic control unit 10 manages the statistical information of the packet group transferred by the transfer unit 30.
The statistical table 25 is a table that stores information related to statistical information of the packet group transferred by the transfer unit 30. The statistics management unit 22 manages the statistics table 25. A configuration example of the statistical table 25 will be described later with reference to FIG.

動的転送制御テーブル23は、転送部30に設定し、転送部30が実行する転送処理の転送先に関する情報を格納するテーブルであり、転送部30が転送するパケット群を識別するパケット群識別情報と転送先情報とを対応付けて格納するテーブルである。動的転送制御テーブル23は、後述する転送テーブル32に格納される転送先に関する情報であるパケット群識別情報と転送先情報の格納状況を示す。動的転送制御部20が動的転送制御テーブル23の各情報を格納し、動的転送制御テーブル23を更新し、管理する。動的転送制御テーブル23の構成例は、図4を用いて後述する。
閾値管理テーブル24は、機能拡張部40に設定する閾値に関する情報を格納するテーブルである。閾値管理部21が閾値管理テーブル24を管理する。閾値管理テーブル24の構成例は、図5を用いて後述する。
The dynamic transfer control table 23 is a table that is set in the transfer unit 30 and stores information related to a transfer destination of transfer processing executed by the transfer unit 30, and packet group identification information that identifies a packet group transferred by the transfer unit 30 This is a table for storing transfer destination information in association with each other. The dynamic transfer control table 23 indicates the storage status of packet group identification information and transfer destination information, which are information related to transfer destinations stored in the transfer table 32 described later. The dynamic transfer control unit 20 stores each piece of information in the dynamic transfer control table 23 and updates and manages the dynamic transfer control table 23. A configuration example of the dynamic transfer control table 23 will be described later with reference to FIG.
The threshold management table 24 is a table that stores information related to thresholds set in the function expansion unit 40. The threshold management unit 21 manages the threshold management table 24. A configuration example of the threshold management table 24 will be described later with reference to FIG.

転送部30は、相互に接続された転送エンジン31、転送テーブル32、メモリ33、CPU35、装置内通信I/F39、及び転送エンジン31に接続される転送I/F36、37、38を含む。
転送部30は、転送I/F36を介してコアI/F61と、転送I/F37を介して加入者I/F60と、転送I/F38を介して機能拡張部40と、装置内通信I/F39を介して基本制御部10および機能拡張部40と接続する。転送I/F36は、コアI/F61と接続するポート(図示せず)を有し、転送I/F37は、加入者I/F60と接続するポート(図示せず)を有し、転送I/F38は、機能拡張部40と接続するポート(図示せず)を有し、装置内通信I/F39は、基本制御部10および機能拡張部40と接続するポート(図示せず)を有する。
The transfer unit 30 includes a transfer engine 31, a transfer table 32, a memory 33, a CPU 35, an in-device communication I / F 39, and transfer I / Fs 36, 37, and 38 connected to the transfer engine 31.
The transfer unit 30 includes a core I / F 61 via the transfer I / F 36, a subscriber I / F 60 via the transfer I / F 37, a function expansion unit 40 via the transfer I / F 38, and an in-device communication I / F. The basic control unit 10 and the function expansion unit 40 are connected via F39. The transfer I / F 36 has a port (not shown) connected to the core I / F 61, and the transfer I / F 37 has a port (not shown) connected to the subscriber I / F 60. F38 has a port (not shown) connected to the function expansion unit 40, and the in-device communication I / F 39 has a port (not shown) connected to the basic control unit 10 and the function expansion unit 40.

メモリ33は、転送エンジン制御部34を格納(記憶)する。また、CPU35が、メモリ33に格納されたプログラムをロードして実行する(処理する)ことによって、転送エンジン制御部34等の転送部30の各機能部を実現する。転送エンジン31は、例えば、ASICやField−Programmable Gate Array(FPGA)のような集積回路で設計する等により実現される。転送テーブル32は、Content Addressable Memory(CAM)などに格納(記録)される。または、転送エンジン31と転送テーブル32は、FPGAで実現される。   The memory 33 stores (stores) the transfer engine control unit 34. Further, the CPU 35 loads and executes (processes) a program stored in the memory 33, thereby realizing each functional unit of the transfer unit 30 such as the transfer engine control unit 34. The transfer engine 31 is realized by designing with an integrated circuit such as an ASIC or a field-programmable gate array (FPGA), for example. The transfer table 32 is stored (recorded) in a content addressable memory (CAM) or the like. Alternatively, the transfer engine 31 and the transfer table 32 are realized by FPGA.

転送エンジン制御部34は、転送エンジン31の動作を制御する。転送エンジン制御部34は、転送テーブル32に各情報を格納し、転送テーブル32を更新し、管理する。転送エンジン制御部34は、基本制御部10から追加要求を受信し、受信した追加要求に含まれるパケット群識別情報と転送先情報を転送テーブル32に追加(登録)する。転送エンジン制御部34が転送テーブル32にパケット群識別情報と転送先情報を追加することで、転送部30が、転送テーブル32を参照して、転送処理を行う対象のパケット群を識別し、転送処理を実行する。   The transfer engine control unit 34 controls the operation of the transfer engine 31. The transfer engine control unit 34 stores each information in the transfer table 32 and updates and manages the transfer table 32. The transfer engine control unit 34 receives the addition request from the basic control unit 10 and adds (registers) packet group identification information and transfer destination information included in the received addition request to the transfer table 32. The transfer engine control unit 34 adds the packet group identification information and the transfer destination information to the transfer table 32, so that the transfer unit 30 refers to the transfer table 32, identifies the packet group to be transferred, and transfers the packet. Execute the process.

また、転送エンジン制御部34は、基本制御部10から削除要求を受信し、受信した削除要求に含まれるパケット群識別情報と転送先情報と一致する情報を転送テーブル32から削除する。転送エンジン制御部34が転送テーブル32からパケット群識別情報と転送先情報を削除することで、転送部30が実行していた、削除した転送テーブル32のパケット群識別情報に合致するパケット群の転送処理を中止する。   In addition, the transfer engine control unit 34 receives a deletion request from the basic control unit 10 and deletes information matching the packet group identification information and the transfer destination information included in the received deletion request from the transfer table 32. The transfer engine control unit 34 deletes the packet group identification information and the transfer destination information from the transfer table 32, so that the transfer of the packet group that matches the packet group identification information of the deleted transfer table 32, which has been executed by the transfer unit 30. Cancel processing.

転送エンジン31は、転送I/F36〜38を介して、機能拡張部40、またはコアI/F61、または加入者I/F60からパケット群を受信し、受信したパケット群を転送テーブル32を参照して転送する。受信したパケット群に属するパケットは、それぞれ、送信元アドレス、送信先アドレス、プロトコル番号などの情報を含む。また、受信したパケット群に属するパケットは、パケットの送信元のポートを識別する送信元ポートやパケットの送信先のポートを識別する送信先ポートを含んでいてもよい。また、通信装置1が格納する各情報は、受信するパケットに含まれる各情報に対応させてもよい。   The transfer engine 31 receives a packet group from the function expansion unit 40, the core I / F 61, or the subscriber I / F 60 via the transfer I / Fs 36 to 38, and refers to the transfer table 32 for the received packet group. Forward. Each packet belonging to the received packet group includes information such as a transmission source address, a transmission destination address, and a protocol number. A packet belonging to the received packet group may include a transmission source port that identifies a transmission source port of the packet and a transmission destination port that identifies a transmission destination port of the packet. In addition, each piece of information stored in the communication device 1 may correspond to each piece of information included in the received packet.

転送エンジン31は、パケット群を受信すると、転送テーブル32を参照して、受信したパケット群に属するパケットそれぞれに含まれる情報と転送テーブル32のパケット群識別情報とを比較する。比較の結果、転送エンジン31は、一致するパケット群識別情報に対応する転送先情報から転送先を特定する。転送エンジン31は、特定した転送先に受信したパケット群が到達するように、例えば、受信したパケット群に属するパケットに対して、パケットのヘッダ部、または内部ヘッダ部の宛先アドレスなどの変更など転送処理に必要な処理を施し、必要な処理を施したパケット群を転送I/F36〜38を介して機能拡張部40、またはコアI/F61、または加入者I/F60に送信して、受信したパケット群を転送する。   When receiving the packet group, the transfer engine 31 refers to the transfer table 32 and compares the information included in each packet belonging to the received packet group with the packet group identification information of the transfer table 32. As a result of the comparison, the transfer engine 31 specifies the transfer destination from the transfer destination information corresponding to the matching packet group identification information. The transfer engine 31 transfers, for example, a change of the destination address of the packet header part or the internal header part to the packet belonging to the received packet group so that the received packet group reaches the specified transfer destination. The processing necessary for processing is performed, and the group of packets subjected to the necessary processing is transmitted to the function expansion unit 40, the core I / F 61, or the subscriber I / F 60 via the transfer I / F 36 to 38 and received. Transfer packets.

また、転送エンジン31は転送したパケット群の統計情報を転送部30内の統計情報記憶部(図示せず)に記録する。このように、転送エンジン31は、受信したパケット群に属するパケットそれぞれに含まれる情報を適宜書き換え、情報を書き換えたパケット群を書き換えた情報が示す宛先に送信して、パケット群を転送する。   In addition, the transfer engine 31 records the statistical information of the transferred packet group in a statistical information storage unit (not shown) in the transfer unit 30. As described above, the transfer engine 31 appropriately rewrites information included in each of the packets belonging to the received packet group, transmits the rewritten packet group to the destination indicated by the rewritten information, and transfers the packet group.

転送テーブル32は、転送部30が受信したパケット群の転送に関する情報である転送部転送対象情報(パケット群識別情報と転送先情報)を格納し、転送エンジン31がパケット群を転送する際に参照するテーブルである。転送テーブル32には、転送に関する情報だけではなく、廃棄処理など転送処理以外の処理の情報が格納されていてもよい。転送テーブル32の構成例は、図6を用いて後述する。   The transfer table 32 stores transfer unit transfer target information (packet group identification information and transfer destination information) that is information related to transfer of the packet group received by the transfer unit 30 and is referred to when the transfer engine 31 transfers the packet group. It is a table to do. The transfer table 32 may store not only information related to transfer but also information on processing other than transfer processing such as discard processing. A configuration example of the transfer table 32 will be described later with reference to FIG.

また、転送部30は、パケット毎に受信したパケットの転送処理を制御する情報を格納する(有する)転送制御テーブル群70を有する。転送エンジン31は、転送テーブル32を検索した結果、転送テーブル32に合致しなかったパケットの転送先を転送制御テーブル群を参照して特定し、特定した転送先にパケットを転送する。   In addition, the transfer unit 30 includes a transfer control table group 70 that stores (has) information for controlling transfer processing of a packet received for each packet. As a result of searching the transfer table 32, the transfer engine 31 specifies a transfer destination of a packet that does not match the transfer table 32 with reference to the transfer control table group, and transfers the packet to the specified transfer destination.

機能拡張部40は、メモリ41、ネットワークプロセッサ42、ユーザー通信I/F43、装置内通信I/F44を含み、それらが相互に接続されている。ネットワークプロセッサ42はネットワーク処理に特化したSystem−on−a−chip(SoC)の集積回路であるが、汎用的なCPUでもよい。
機能拡張部40は、ユーザー通信I/F43を介して転送部30と接続し、装置内通信I/F44を介して、基本制御部10および転送部30と接続する。ユーザー通信I/F43は、転送部30と接続するポート(図示せず)を有し、装置内通信I/F44は、基本制御部10および転送部30と接続するポート(図示せず)を有する。
The function expansion unit 40 includes a memory 41, a network processor 42, a user communication I / F 43, and an in-device communication I / F 44, which are connected to each other. The network processor 42 is a system-on-a-chip (SoC) integrated circuit specialized for network processing, but may be a general-purpose CPU.
The function expansion unit 40 is connected to the transfer unit 30 via the user communication I / F 43 and is connected to the basic control unit 10 and the transfer unit 30 via the in-device communication I / F 44. The user communication I / F 43 has a port (not shown) connected to the transfer unit 30, and the in-device communication I / F 44 has a port (not shown) connected to the basic control unit 10 and the transfer unit 30. .

メモリ41は、転送処理部50、付加機能実行部53、転送処理制御部54、動的転送制御設定部55、転送処理テーブル51、総計テーブル52、転送処理制御テーブル56を格納(記憶)する。また、ネットワークプロセッサ42が、メモリ41に格納されたプログラムをロードして実行する(処理する)ことによって、機能拡張部40の各機能(転送処理部50、付加機能実行部53、転送処理制御部54、動的転送制御設定部55など)を実現する。   The memory 41 stores (stores) a transfer processing unit 50, an additional function execution unit 53, a transfer processing control unit 54, a dynamic transfer control setting unit 55, a transfer processing table 51, a total table 52, and a transfer processing control table 56. Further, the network processor 42 loads and executes (processes) a program stored in the memory 41, whereby each function (transfer processing unit 50, additional function execution unit 53, transfer processing control unit) of the function expansion unit 40. 54, dynamic transfer control setting unit 55, etc.).

付加機能実行部53は、通信装置1が転送するパケット群に対して付加機能の処理を実行する。付加機能実行部53は、転送処理制御テーブル56を参照して、付加機能の処理を実行する対象のパケット群を識別する。また、付加機能実行部53は、付加する機能毎に機能拡張部40に設けられてもよい。例えば、機能拡張部40が提供する付加機能が、IP電話の機能である場合、付加機能実行部53は、IP電話などのセッションを制御する処理(以下、「セッション制御処理」と呼ぶ。)を実行するセッション制御部である。   The additional function execution unit 53 executes processing of the additional function for the packet group transferred by the communication device 1. The additional function execution unit 53 refers to the transfer process control table 56 and identifies a packet group to be subjected to processing of the additional function. Moreover, the additional function execution part 53 may be provided in the function expansion part 40 for every function to add. For example, when the additional function provided by the function expansion unit 40 is an IP telephone function, the additional function execution unit 53 controls a process for controlling a session such as an IP telephone (hereinafter referred to as “session control process”). A session control unit to be executed.

また、機能拡張部40が提供する付加機能が、パケットを検査するDPI(Deep Packet Inspection)処理の機能の場合、付加機能実行部53は、パケットを検査する処理(以下、「検査処理」と呼ぶ。)を実行するDPI処理部である。本実施例では、付加機能実行部53が、2つの付加機能の処理、つまり、セッション制御部としてセッション制御処理とDPI処理部としてDPI処理を実行する。また、付加機能実行部53は、転送処理制御部54に対して、付加機能実行対象パケット群の登録を要求する登録要求を送信し、登録したパケット群の削除を要求する削除要求を送信する。   When the additional function provided by the function expansion unit 40 is a function of DPI (Deep Packet Inspection) processing for inspecting a packet, the additional function execution unit 53 performs processing for inspecting the packet (hereinafter referred to as “inspection processing”). .) To execute the DPI processing unit. In this embodiment, the additional function execution unit 53 executes processing of two additional functions, that is, a session control process as a session control unit and a DPI process as a DPI processing unit. Further, the additional function execution unit 53 transmits a registration request for requesting registration of the additional function execution target packet group to the transfer processing control unit 54, and transmits a deletion request for requesting deletion of the registered packet group.

転送処理部50は、機能拡張部40が受信したパケット群であり、付加機能実行済みパケット群に属するパケットの転送処理を転送処理テーブル51を参照して実行する。転送処理部50は、転送処理テーブル51を参照して、付加機能実行済みパケット群に属するパケットそれぞれに含まれる情報と転送処理テーブル51のパケット群識別情報とを比較する。比較の結果、転送処理部50は、一致するパケット群識別情報に対応する転送先を特定する。転送処理部50は、特定した転送先にパケット群が到達するように、転送処理に必要な処理を付加機能実行済みパケット群に施し、ユーザー通信I/F43を介して転送部30に送信して、付加機能実行済みパケット群を転送する。   The transfer processing unit 50 is a packet group received by the function expansion unit 40, and executes transfer processing of packets belonging to the additional function executed packet group with reference to the transfer processing table 51. The transfer processing unit 50 refers to the transfer processing table 51 and compares information included in each packet belonging to the additional function executed packet group with the packet group identification information of the transfer processing table 51. As a result of the comparison, the transfer processing unit 50 specifies a transfer destination corresponding to the matching packet group identification information. The transfer processing unit 50 performs processing necessary for the transfer process on the packet group that has been subjected to the additional function so that the packet group reaches the specified transfer destination, and transmits the packet to the transfer unit 30 via the user communication I / F 43. The additional function executed packet group is transferred.

また、転送処理部50は転送したパケット群の統計情報を統計テーブル52に格納(記録)する。転送処理部50は、統計テーブル52を更新し、管理する。このように、転送処理部50は、付加機能実行済みパケット群に属するパケットに含まれる情報を適宜書き換え、情報を書き換えたパケット群を書き換えた情報が示す宛先に送信して、付加機能実行済みパケット群を転送する。   Further, the transfer processing unit 50 stores (records) the statistical information of the transferred packet group in the statistical table 52. The transfer processing unit 50 updates and manages the statistics table 52. As described above, the transfer processing unit 50 appropriately rewrites the information included in the packet belonging to the additional function executed packet group, and transmits the rewritten packet group to the destination indicated by the rewritten information. Transfer the flock.

転送処理制御部54は、転送処理テーブル51と転送処理制御テーブル56を更新し、管理する。転送処理制御部54は、転送処理制御テーブル56に付加機能対象情報と転送機能部特定情報を格納した後、転送機能部特定情報に対応して転送処理テーブル51にパケット群識別情報と転送先情報を格納する。具体的には、転送処理制御部54は、付加機能実行部53から受信する登録要求に含まれる付加機能対象情報を転送処理制御テーブル56に格納し、転送機能部特定情報に転送処理を行う転送機能部を識別する情報を格納する。   The transfer process control unit 54 updates and manages the transfer process table 51 and the transfer process control table 56. The transfer process control unit 54 stores the additional function target information and the transfer function unit specifying information in the transfer process control table 56, and then stores the packet group identification information and the transfer destination information in the transfer process table 51 corresponding to the transfer function unit specifying information. Is stored. Specifically, the transfer processing control unit 54 stores the additional function target information included in the registration request received from the additional function executing unit 53 in the transfer processing control table 56 and performs transfer processing on the transfer function unit specifying information. Stores information for identifying a functional unit.

また、転送処理制御部54は、転送処理制御テーブル56の転送機能部特定情報に格納した転送機能部を識別する情報を参照して、付加機能実行部53によって付加機能の処理を実行された後のパケット群を転送する転送機能部(転送部30または機能拡張部40)を特定する。   Further, the transfer process control unit 54 refers to the information for identifying the transfer function unit stored in the transfer function unit specifying information of the transfer process control table 56, and after the additional function execution unit 53 executes the process of the additional function, The transfer function unit (transfer unit 30 or function expansion unit 40) for transferring the packet group of the first packet is specified.

転送処理制御部54は、転送機能部特定情報に「機能拡張部」を示す情報が格納されている場合に、転送処理テーブル51に付加機能対象情報をパケット群識別情報として格納し、パケット群識別情報に対応する転送先情報を格納する。また、転送処理制御部54は、付加機能実行部53から受信する削除要求に従って、転送処理テーブル51からパケット群識別情報と転送先情報を削除し、転送処理制御テーブル56から付加機能対象情報と転送機能部特定情報を削除する。   The transfer processing control unit 54 stores the additional function target information as packet group identification information in the transfer processing table 51 when the information indicating the “function expansion unit” is stored in the transfer function unit identification information, and packet group identification Stores transfer destination information corresponding to the information. Further, the transfer processing control unit 54 deletes the packet group identification information and the transfer destination information from the transfer processing table 51 according to the deletion request received from the additional function executing unit 53, and transfers the additional function target information and the transfer from the transfer processing control table 56. Delete the functional unit identification information.

また、転送機能部特定情報に格納する情報を変更して、格納した付加機能対象情報と一致するパケット群を転送する転送機能部を変更する制御を行う。つまり、転送処理制御部54は、機能拡張部40が受信したパケット群であり、付加機能実行済みパケット群に属するパケットの転送を行う転送機能部を決定し、転送機能部を変更する(切り替える)制御を行う。   Further, control is performed to change the information stored in the transfer function unit specifying information and change the transfer function unit that transfers a packet group that matches the stored additional function target information. That is, the transfer processing control unit 54 determines a transfer function unit that transfers a packet belonging to the packet group received by the function expansion unit 40 and belongs to the additional function executed packet group, and changes (switches) the transfer function unit. Take control.

転送処理制御部54は、動的転送制御設定部55に対して追加要求を送信して、転送処理部50が実行する転送処理を転送部30の転送エンジン31が実行するよう要求する。なお、転送処理部50が実行する転送処理を転送部30の転送エンジン31が実行するように変更することを、「機能拡張部40(転送処理部50)が実行する転送処理を機能拡張部40から転送部30に移管する(委託する、移動する)」とも表現する。また、転送処理制御部54は、動的転送制御設定部55に対して削除要求を送信して、転送部30が実行する機能拡張部40から追加された(変更された)転送処理を中止するよう要求する。   The transfer processing control unit 54 transmits an addition request to the dynamic transfer control setting unit 55 to request that the transfer engine 31 of the transfer unit 30 execute the transfer process executed by the transfer processing unit 50. It should be noted that changing the transfer process executed by the transfer processing unit 50 to be executed by the transfer engine 31 of the transfer unit 30 means that “the transfer process executed by the function expansion unit 40 (transfer processing unit 50) is executed by the function expansion unit 40”. To the transfer unit 30 (consignment, move) ". In addition, the transfer processing control unit 54 transmits a deletion request to the dynamic transfer control setting unit 55, and stops the transfer processing added (changed) from the function expansion unit 40 executed by the transfer unit 30. Request that.

付加機能実行済みパケット群とは、転送処理制御テーブル56の付加機能対象情報に格納された各情報と合致するパケット群のことである。付加機能実行済みパケット群に属するパケットには、機能拡張部40が実行する転送処理を転送部30が実行するように変更した後に、機能拡張部40を経由せずに転送部30にて転送先に転送されるパケットを含む。   The additional function executed packet group is a packet group that matches each information stored in the additional function target information of the transfer processing control table 56. For packets belonging to the additional function executed packet group, after the transfer processing executed by the function expansion unit 40 is changed to be executed by the transfer unit 30, the transfer unit 30 does not pass through the function expansion unit 40. Contains packets that are forwarded to

また、転送処理制御部54は、装置内通信I/F44を介して基本制御部10から機能拡張部40に設定する閾値を受信し、受信した閾値を転送処理制御部54の閾値記憶部(図示せず)に記憶(保持)する。管理者からの閾値の設定によって、転送処理制御部54が閾値を保持するまでの流れは、図9を用いて説明する。   Further, the transfer processing control unit 54 receives a threshold value to be set in the function expansion unit 40 from the basic control unit 10 via the in-device communication I / F 44, and the received threshold value is stored in the threshold storage unit (see FIG. (Not shown) is stored (held). The flow until the transfer processing control unit 54 holds the threshold value by setting the threshold value from the administrator will be described with reference to FIG.

動的転送制御設定部55は、基本制御部10に対して転送部30の動作(機能拡張部40が実行する転送処理を転送部30が実行することおよび中止すること)を変更するよう要求する。動的転送制御設定部55は、転送処理制御部54から追加要求を受信すると、受信した追加要求を基本制御部10に送信する。また、動的転送制御設定部55は、転送処理制御部54から削除要求を受信すると、受信した削除要求を基本制御部10に送信する。なお、動的転送制御設定部55の機能は、転送処理制御部54に含まれていてもよい。   The dynamic transfer control setting unit 55 requests the basic control unit 10 to change the operation of the transfer unit 30 (the transfer unit 30 executes and cancels the transfer process executed by the function expansion unit 40). . When the dynamic transfer control setting unit 55 receives the addition request from the transfer processing control unit 54, the dynamic transfer control setting unit 55 transmits the received addition request to the basic control unit 10. When the dynamic transfer control setting unit 55 receives a deletion request from the transfer processing control unit 54, the dynamic transfer control setting unit 55 transmits the received deletion request to the basic control unit 10. Note that the function of the dynamic transfer control setting unit 55 may be included in the transfer processing control unit 54.

転送処理制御テーブル56は、付加機能対象情報と転送機能部特定情報と閾値に関する情報と付加機能対象情報を格納した時刻と対応付けて格納する。転送処理制御テーブル56の構成例は、図7を用いて後述する。   The transfer process control table 56 stores the additional function target information, the transfer function unit specifying information, the information about the threshold value, and the time when the additional function target information is stored. A configuration example of the transfer processing control table 56 will be described later with reference to FIG.

転送処理テーブル51は、機能拡張部40が受信したパケット群の転送に関する情報(パケット群識別情報と転送先情報)を格納し、転送処理部50がパケット群を転送する際に参照するテーブルである。転送処理テーブル51の構成例は、図8を用いて後述する。   The transfer processing table 51 stores information (packet group identification information and transfer destination information) related to the transfer of the packet group received by the function expansion unit 40, and is referred to when the transfer processing unit 50 transfers the packet group. . A configuration example of the transfer processing table 51 will be described later with reference to FIG.

統計テーブル52は、基本制御部10が有する統計テーブル25と同様の構成を持つテーブルであり、機能拡張部40が転送するパケット群を識別するエントリIDとこのエントリIDで識別されるパケット群が使用した帯域量(機能拡張部40を通過したパケット群の量)の情報である使用帯域量の各要素を持つテーブルである。統計テーブル52のエントリIDは、機能拡張部40が転送するパケット群を識別する情報であり、図8の転送処理テーブル51のエントリID511と同じ値が格納される。   The statistical table 52 is a table having the same configuration as the statistical table 25 included in the basic control unit 10, and an entry ID for identifying a packet group transferred by the function expansion unit 40 and a packet group identified by this entry ID are used. It is a table having each element of the used bandwidth amount, which is information on the bandwidth amount (packet group amount that has passed through the function expansion unit 40). The entry ID of the statistical table 52 is information for identifying a packet group transferred by the function expansion unit 40, and stores the same value as the entry ID 511 of the transfer processing table 51 of FIG.

図3は、基本制御部10の統計テーブル25の例である。統計テーブル25は、転送部30が転送したパケット群を識別する情報であるエントリID251とエントリID251で識別されるパケット群が使用した帯域量(転送部30を通過したパケット群の量)の情報である使用帯域量252の各要素を含み、エントリID251で識別されるレコードを含むテーブルである。統計テーブル25の各情報は、統計管理部22によって格納される。   FIG. 3 is an example of the statistics table 25 of the basic control unit 10. The statistics table 25 is information on the bandwidth used by the packet group identified by the entry ID 251 and the entry ID 251 (the amount of the packet group that has passed through the transfer unit 30) that is information identifying the packet group transferred by the transfer unit 30. It is a table that includes each element of a certain bandwidth usage 252 and includes a record identified by an entry ID 251. Each piece of information in the statistics table 25 is stored by the statistics management unit 22.

図4は、基本制御部10の動的転送制御テーブル23の例である。動的転送制御テーブル23は、転送部30が転送するパケット群を識別する情報であるエントリID231と、パケット群識別情報である送信元アドレス232、送信先アドレス233、プロトコル番号234と転送先情報であるネクストホップ237の各要素を含み、エントリID231で識別されるレコードを含むテーブルである。エントリID231は、図3の統計テーブル25のエントリID251と同じ値が格納される。
複数の転送部30が装置内通信I/F14を介して基本制御部10と接続する場合、動的転送制御テーブル23は、複数の転送部30毎に作成される。
FIG. 4 is an example of the dynamic transfer control table 23 of the basic control unit 10. The dynamic transfer control table 23 includes an entry ID 231 that is information for identifying a packet group transferred by the transfer unit 30, a transmission source address 232, a transmission destination address 233, a protocol number 234, and transfer destination information that are packet group identification information. It is a table that includes each element of a certain next hop 237 and includes a record identified by an entry ID 231. The entry ID 231 stores the same value as the entry ID 251 of the statistical table 25 in FIG.
When a plurality of transfer units 30 are connected to the basic control unit 10 via the in-device communication I / F 14, the dynamic transfer control table 23 is created for each of the plurality of transfer units 30.

図5は、基本制御部10の閾値管理テーブル24の例である。閾値管理テーブル24は、処理種別241、閾値種別242、閾値単位243、閾値244の各要素を持つテーブルである。処理種別241は、機能拡張部40がパケット群に対して実行する付加機能の処理の種別を識別する情報である。閾値種別242は、処理種別241に対応する閾値の種別を識別する情報である。閾値単位243は、閾値種別242に対応する閾値の単位である。閾値244は、機能拡張部40に設定する閾値である。閾値管理テーブル24の各情報は、閾値管理部21によって格納される。   FIG. 5 is an example of the threshold management table 24 of the basic control unit 10. The threshold management table 24 is a table having elements of a processing type 241, a threshold type 242, a threshold unit 243, and a threshold 244. The process type 241 is information for identifying the process type of the additional function executed by the function expansion unit 40 on the packet group. The threshold type 242 is information for identifying a threshold type corresponding to the processing type 241. The threshold unit 243 is a threshold unit corresponding to the threshold type 242. The threshold value 244 is a threshold value set in the function expansion unit 40. Each information of the threshold management table 24 is stored by the threshold management unit 21.

また、図5の例では、処理種別241毎に閾値244を割り当てるが、閾値244の割り当てをより柔軟に行うこともできる。例えば、受信するパケット群の送信元アドレスに応じて、処理種別241をさらに細かく識別する情報を有し、同じ処理種別241の中でも、異なる閾値244を割り当ててもよい。なお、図5に示した、処理種別241、閾値種別242、閾値単位243、閾値244は例であり、機能拡張部40の処理状況を監視するものであれば、他の処理種別、閾値種別、閾値単位、閾値であっても構わない。   In the example of FIG. 5, the threshold value 244 is assigned to each processing type 241, but the threshold value 244 can be assigned more flexibly. For example, according to the transmission source address of the received packet group, information that further identifies the processing type 241 may be included, and a different threshold value 244 may be assigned even within the same processing type 241. Note that the processing type 241, threshold type 242, threshold unit 243, and threshold value 244 shown in FIG. 5 are examples, and if the processing status of the function expansion unit 40 is monitored, other processing types, threshold types, It may be a threshold unit or a threshold.

図6は、転送部30の転送テーブル32の例である。転送テーブル32は、転送部転送対象情報を格納する動的な領域328および静的な領域329を有し、転送部30が転送するパケット群を識別する情報であるエントリID321と、パケット群識別情報である送信元アドレス322、送信先アドレス323、プロトコル番号234、転送先情報であるネクストホップ327の各要素を含み、エントリID321で識別されるレコードを含むテーブルである。動的な領域328のエントリID321は、図3の統計テーブル25のエントリID251と同じ値が格納される。   FIG. 6 is an example of the transfer table 32 of the transfer unit 30. The transfer table 32 includes a dynamic area 328 and a static area 329 for storing transfer unit transfer target information, and an entry ID 321 that is information for identifying a packet group transferred by the transfer unit 30, and packet group identification information A source address 322, a destination address 323, a protocol number 234, and a next hop 327 that is transfer destination information, and includes a record identified by an entry ID 321. The entry ID 321 of the dynamic area 328 stores the same value as the entry ID 251 of the statistical table 25 of FIG.

静的な領域329には、転送部転送対象情報(パケット群識別情報と転送先情報)として、付加機能対象識別情報がパケット群識別情報(送信元アドレス322、送信先アドレス323、プロトコル番号234)に格納され、付加機能対象識別情報で識別されるパケット群の転送先「機能拡張部」が転送先情報(ネクストホップ327)に格納される。静的な領域329の各情報は、通信装置1の運用開始前に通信装置1の管理者などによって設定される。また、機能拡張部40が付加機能対象識別情報を送信し、転送部30が受信した付加機能対象識別情報を静的な領域329に設定してもよい。   In the static region 329, additional function target identification information is included as packet transfer unit identification information (source address 322, destination address 323, protocol number 234) as transfer unit transfer target information (packet group identification information and transfer destination information). The transfer destination “function expansion unit” of the packet group identified by the additional function target identification information is stored in the transfer destination information (next hop 327). Each piece of information in the static area 329 is set by an administrator of the communication apparatus 1 before the operation of the communication apparatus 1 is started. Further, the function expansion unit 40 may transmit the additional function target identification information, and the additional function target identification information received by the transfer unit 30 may be set in the static area 329.

図6の例では、静的な領域329の転送部転送対象情報として、付加機能実行部53がセッション制御部として処理する対象のIP電話のパケット群を識別する情報である付加機能対象識別情報のプロトコル番号「6」が、パケット群識別情報のプロトコル番号324に格納され、その転送先としてネクストホップ327に「機能拡張部」が格納されているエントリID321「99」が、予め設定されている。   In the example of FIG. 6, additional function target identification information that is information for identifying a packet group of an IP telephone to be processed as the session control unit by the additional function execution unit 53 is used as transfer unit transfer target information in the static area 329. The protocol number “6” is stored in the protocol number 324 of the packet group identification information, and the entry ID 321 “99” in which “function expansion unit” is stored in the next hop 327 is set in advance as the transfer destination.

また、付加機能実行部53がDPI処理部として実行するDPI処理で処理する対象のパケット群を識別する情報である付加機能対象識別情報の送信元アドレス「203.133.100.112」が、パケット群識別情報の送信元アドレス322に格納され、その転送先としてネクストホップ327に「機能拡張部」が設定されているエントリID321「100」が、予め設定されている。   Further, the source address “203.133.100.112” of the additional function target identification information, which is information for identifying a packet group to be processed by the DPI processing executed by the additional function execution unit 53 as the DPI processing unit, is a packet. An entry ID 321 “100”, which is stored in the transmission source address 322 of the group identification information and the “function expansion unit” is set in the next hop 327 as the transfer destination, is set in advance.

動的な領域328の転送部転送対象情報(パケット群識別情報と転送先情報)には、基本制御部10による動的な制御によって、機能拡張部40から動的に送信される転送処理テーブル51のパケット群識別情報と転送先情報がそれぞれ格納される。つまり、動的な領域328には、図4の動的転送制御テーブル23の各情報が設定される。   The transfer processing table 51 that is dynamically transmitted from the function expansion unit 40 to the transfer unit transfer target information (packet group identification information and transfer destination information) in the dynamic area 328 by dynamic control by the basic control unit 10. Packet group identification information and forwarding destination information are stored. That is, each information of the dynamic transfer control table 23 of FIG. 4 is set in the dynamic area 328.

通信装置1の運用開始直後は、静的な領域329には各情報が格納されているが、動的な領域328には各情報が格納されていない。動的な領域328は、運用開始後に通信装置1の処理状況に応じて各情報が格納されるため、静的な領域329よりも、運用中に制御したい情報が必要に応じて格納される。そのため、動的な領域328に格納された転送部転送対象情報は、静的な領域329のそれよりも、転送エンジン31が転送テーブル32を検索する際の検索順位の優先度が高く設定される。   Immediately after the operation of the communication apparatus 1 is started, each piece of information is stored in the static area 329, but no piece of information is stored in the dynamic area 328. Since each information is stored in the dynamic area 328 according to the processing status of the communication apparatus 1 after the operation is started, information that is desired to be controlled during the operation is stored as needed, rather than the static area 329. Therefore, the transfer unit transfer target information stored in the dynamic area 328 is set to have a higher priority of the search order when the transfer engine 31 searches the transfer table 32 than that of the static area 329. .

具体的には、転送エンジン31は、パケットを受信すると、受信したパケットに含まれる情報(以下、「受信パケット情報」と呼ぶ。)と転送テーブル32の優先度が高い動的な領域328のパケット群識別情報とを比較し、合致(ヒット)したパケットを、合致したパケット群識別情報に対応するネクストホップ327に格納された転送先に転送する。   Specifically, when the transfer engine 31 receives a packet, the information included in the received packet (hereinafter referred to as “received packet information”) and the packet in the dynamic area 328 having a high priority in the transfer table 32. The group identification information is compared, and the matched packet is transferred to the transfer destination stored in the next hop 327 corresponding to the matched packet group identification information.

転送エンジン31は、受信パケット情報と一致するパケット群識別情報が動的な領域328に存在しない場合、受信パケット情報と静的な領域329のパケット群識別情報とを比較し、合致(ヒット)したパケットを、合致したパケット群識別情報に対応するネクストホップ327に格納された転送先に転送する。   When the packet group identification information that matches the received packet information does not exist in the dynamic area 328, the transfer engine 31 compares the received packet information with the packet group identification information in the static area 329 and matches (hits) the packet information. The packet is transferred to the transfer destination stored in the next hop 327 corresponding to the matched packet group identification information.

また、転送エンジン31は、受信パケット情報と静的な領域329のパケット群識別情報とが合致しなかった場合、転送制御テーブル群70を検索してこのパケットを転送先に転送する。なお、動的な領域328に格納された転送部転送対象情報の検索順位が、静的な領域329のそれよりも優先度が高く設定されれば、その方法は問わない。   If the received packet information does not match the packet group identification information in the static area 329, the transfer engine 31 searches the transfer control table group 70 and transfers this packet to the transfer destination. Note that the method is not limited as long as the search order of the transfer unit transfer target information stored in the dynamic area 328 has a higher priority than that of the static area 329.

図6の例では、基本制御部10による制御によって転送テーブル32の動的な領域328にエントリが追加され、転送エンジン31が受信したパケット群のうち、静的な領域329にヒットし機能拡張部40に転送していたプロトコル番号「6」のIP電話のパケット群は、動的な領域328にヒットして、ヒットしたエントリのネクストホップ327に転送される。つまり、機能拡張部40を経由して転送先に転送されていたIP電話のパケット群が、機能拡張部40を経由せずに転送先に転送される。
このように転送テーブル32は、受信したパケット群の転送処理に関して、フィルター機能やQuality of Service(QoS)機能の役割を果たす。
In the example of FIG. 6, an entry is added to the dynamic area 328 of the transfer table 32 under the control of the basic control unit 10, and among the packet groups received by the transfer engine 31, the static area 329 is hit and the function expansion unit The packet group of the IP telephone having the protocol number “6” transferred to 40 hits the dynamic area 328 and is transferred to the next hop 327 of the hit entry. That is, the IP telephone packet group transferred to the transfer destination via the function expansion unit 40 is transferred to the transfer destination without passing through the function expansion unit 40.
As described above, the forwarding table 32 plays a role of a filter function or a Quality of Service (QoS) function with respect to the forwarding process of the received packet group.

図7は、機能拡張部40の転送処理制御テーブル56―Aの例である。転送処理制御テーブル56―Aは、セッション制御部53に対応して作成される。
転送処理制御テーブル56―Aは、セッション制御部53が処理するパケット群を識別する情報であるエントリID561と、付加機能対象識別情報である送信元アドレス562、送信先アドレス563、プロトコル番号564と、セッション継続時間567と、転送機能部特定情報である転送機能部568と、エントリ登録時刻569の各要素を含み、エントリID561で識別されるレコードを含むテーブルである。
FIG. 7 is an example of the transfer processing control table 56-A of the function expansion unit 40. The transfer process control table 56 -A is created corresponding to the session control unit 53.
The transfer processing control table 56-A includes an entry ID 561 that is information for identifying a packet group processed by the session control unit 53, a transmission source address 562, a transmission destination address 563, a protocol number 564, which are additional function target identification information, The table includes a session duration 567, a transfer function part 568 as transfer function part specifying information, and an entry registration time 569, and includes a record identified by an entry ID 561.

セッション継続時間567は、機能拡張部40に設定される閾値に関する情報である。セッション継続時間567は、転送処理制御部54が記憶する閾値が転送処理制御部54によって格納される。   The session duration 567 is information regarding a threshold set in the function expansion unit 40. As for the session duration time 567, a threshold stored in the transfer process control unit 54 is stored by the transfer process control unit 54.

転送機能部568は、セッション制御部53によって処理が実行された付加機能実行済みパケット群の転送を行う転送機能部(転送部30または機能拡張部40)を指定する情報である。転送機能部568は、転送処理制御部54によって格納される。転送処理制御部54が、登録要求のパケットを受信した際には、管理者による所定の選択条件の設定に応じて、転送機能部568に「機能拡張部」または「転送部」が格納される。例えば、選択条件が、「付加機能実行対象パケット群として登録することを要求するパケットを受信するか」である場合、転送機能部568には「転送部」が格納される。   The transfer function unit 568 is information that designates a transfer function unit (transfer unit 30 or function expansion unit 40) that transfers the additional function executed packet group processed by the session control unit 53. The transfer function unit 568 is stored by the transfer processing control unit 54. When the transfer processing control unit 54 receives a registration request packet, “function expansion unit” or “transfer unit” is stored in the transfer function unit 568 according to the setting of a predetermined selection condition by the administrator. . For example, when the selection condition is “whether a packet requesting registration as an additional function execution target packet group is received”, the transfer function unit 568 stores “transfer unit”.

また、選択条件が、「機能拡張部40の処理負荷が所定の閾値を超えるか」である場合、転送機能部568には「機能拡張部」が格納される。また、転送処理制御部54は、転送機能部568の値「転送部」(「機能拡張部」)を「機能拡張部」(転送部)に変更して、転送部30(機能拡張部40)が実行する転送処理を転送部30(機能拡張部)が実行するように制御する。   When the selection condition is “whether the processing load of the function expansion unit 40 exceeds a predetermined threshold”, the transfer function unit 568 stores “function expansion unit”. In addition, the transfer processing control unit 54 changes the value “transfer unit” (“function expansion unit”) of the transfer function unit 568 to “function expansion unit” (transfer unit), and transfers the transfer unit 30 (function expansion unit 40). Is controlled so that the transfer unit 30 (function expansion unit) executes the transfer process executed by.

エントリ登録時刻569は、付加機能対象識別情報を格納した時刻に関する情報である。エントリ登録時刻569は、転送処理制御部54が、付加機能対象識別情報を格納する際に通信装置1の時刻管理部(図示せず)が管理する通信装置1内の時刻を取得して格納する。   The entry registration time 569 is information related to the time when the additional function target identification information is stored. The entry registration time 569 acquires and stores the time in the communication device 1 managed by the time management unit (not shown) of the communication device 1 when the transfer processing control unit 54 stores the additional function target identification information. .

図8は、機能拡張部40の転送処理テーブル51の例である。
転送処理テーブル51は、転送処理部50が転送するパケット群を識別する情報であるエントリID511と、パケット群識別情報である送信元アドレス512、送信先アドレス513、プロトコル番号514と、転送先情報であるネクストホップ517の各要素を含み、エントリID511で識別されるレコードを含むテーブルである。
転送処理テーブル51の各情報は、転送処理制御部54によって格納される。
FIG. 8 is an example of the transfer processing table 51 of the function expansion unit 40.
The transfer processing table 51 includes an entry ID 511 that is information for identifying a packet group transferred by the transfer processing unit 50, a transmission source address 512, a transmission destination address 513, a protocol number 514, and transfer destination information that are packet group identification information. It is a table that includes each element of a certain next hop 517 and includes a record identified by an entry ID 511.
Each piece of information in the transfer processing table 51 is stored by the transfer processing control unit 54.

ここで、図6の転送テーブル32および図8の転送処理テーブル51と図7の転送処理制御テーブル56ーAの関係について説明する。
転送処理制御テーブル56ーAの各エントリは、転送機能部568にて指定される転送機能部(転送部30または機能拡張部40)の転送テーブル32または転送処理テーブル51にそれぞれ登録(格納)される。
Here, the relationship between the transfer table 32 in FIG. 6, the transfer process table 51 in FIG. 8, and the transfer process control table 56-A in FIG. 7 will be described.
Each entry of the transfer processing control table 56-A is registered (stored) in the transfer table 32 or the transfer processing table 51 of the transfer function unit (transfer unit 30 or function expansion unit 40) designated by the transfer function unit 568, respectively. The

つまり、図6と図8、図7の例では、図7のエントリID561が「1」と「4」の転送処理部13178はともに「機能拡張部」であるので、エントリID561が「1」の各情報(送信元アドレス562〜プロトコル番号564)は、図8のエントリID511の「1」に、エントリID561が「4」の各情報は、図8のエントリID511の「4」にそれぞれ登録される。   That is, in the examples of FIGS. 6, 8, and 7, the transfer processing units 13178 with the entry IDs 561 of “1” and “4” in FIG. 7 are both “function expansion units”. Each information (source address 562 to protocol number 564) is registered in entry ID 511 “1” in FIG. 8, and each entry ID 561 in “4” is registered in entry ID 511 “4” in FIG. .

また、図7のエントリID561が「2」と「3」の転送処理部13178はともに「転送部」であるので、エントリID561が「2」の各情報は、図6のエントリID321の「2」に、エントリID561が「3」の各情報は、図6のエントリID321の「3」にそれぞれ登録される。なお、図6のネクストホップ327および図8のネクストホップ517の情報は、既知の手段にて取得した情報を格納すればよい。この登録の一連の流れは、図12を用いて説明する。   Further, since both the transfer processing units 13178 with the entry IDs 561 of “2” and “3” in FIG. 7 are “transfer units”, each piece of information with the entry ID 561 of “2” is “2” of the entry ID 321 of FIG. In addition, each piece of information whose entry ID 561 is “3” is registered in “3” of the entry ID 321 in FIG. In addition, what is necessary is just to store the information acquired by the known means as the information of the next hop 327 of FIG. 6, and the next hop 517 of FIG. A series of this registration flow will be described with reference to FIG.

図16は、通信装置1が、パケットを受信する際の動作を表すフローチャートの例である。IP電話のセッションを通信装置1に登録し、機能拡張部40がセッションに属するパケットの転送処理を実行し、セッションを通信装置1から削除する例を用いて説明する。   FIG. 16 is an example of a flowchart showing an operation when the communication device 1 receives a packet. An example will be described in which an IP telephone session is registered in the communication device 1, the function expansion unit 40 executes a process of transferring a packet belonging to the session, and the session is deleted from the communication device 1.

通信装置1が受信したネットワーク上のパケット群に対して、機能拡張部40がセッション制御処理を実行し、機能拡張部40が実行する転送処理を転送部30が実行するように変更する動作の概要を説明する。   Outline of operation for changing so that transfer function executed by function expansion unit 40 and transfer process executed by function expansion unit 40 is executed by function expansion unit 40 for a packet group on the network received by communication device 1 Will be explained.

通信装置1は、通信網4または通信端末3からパケットを受信する(S400)と、転送エンジン31は、転送テーブル32の優先度の高い動的な領域328を参照し、受信したパケットに含まれる情報(送信元アドレス、送信先アドレス、プロトコル番号など)と転送テーブル32の優先度の高い動的な領域328の各エントリとを比較し、受信したパケットに含まれる情報と合致するエントリがあるか判定する(S401)。   When the communication device 1 receives a packet from the communication network 4 or the communication terminal 3 (S400), the transfer engine 31 refers to the high priority dynamic area 328 of the transfer table 32 and is included in the received packet. Compares the information (source address, destination address, protocol number, etc.) with each entry in the dynamic area 328 with high priority in the forwarding table 32, and whether there is an entry that matches the information contained in the received packet Determination is made (S401).

合致するエントリがあれば(S401でYES)、転送エンジン31は、そのエントリのネクストホップ327を特定して、受信したパケットを機能拡張部40を経由せずに転送先に転送する(S402)。合致するエントリがなければ(S401でNO)、転送エンジン31は、静的な領域329を参照し、受信したパケットに含まれる情報と合致するエントリがあるか判定する(S403)。   If there is a matching entry (YES in S401), the transfer engine 31 specifies the next hop 327 of the entry and transfers the received packet to the transfer destination without passing through the function expansion unit 40 (S402). If there is no matching entry (NO in S401), the transfer engine 31 refers to the static area 329 and determines whether there is an entry that matches the information included in the received packet (S403).

合致するエントリがあれば(S403でYES)、転送エンジン31は、そのエントリのネクストホップ327を特定して、受信したパケットを転送先である機能拡張部40に転送する(S404)。   If there is a matching entry (YES in S403), the transfer engine 31 specifies the next hop 327 of the entry and transfers the received packet to the function expansion unit 40 that is the transfer destination (S404).

受信したパケットがIP電話に関するパケットである場合、機能拡張部40が実行するセッション制御処理で処理するセッションの制御に関するパケットであるため、転送エンジン31は、受信したIP電話に関するパケットを機能拡張部40に転送する。
IP電話に関するパケットには、セッションの制御に関するパケットや音声データを含むパケットが含まれる。
When the received packet is a packet related to an IP phone, since the packet is related to session control processed in the session control process executed by the function expansion unit 40, the transfer engine 31 transfers the received packet related to the IP phone to the function expansion unit 40. Forward to.
Packets relating to IP telephones include packets relating to session control and packets including voice data.

合致するエントリがなければ(S403でNO)、転送エンジン31は、転送制御テーブル群を参照し、受信したパケット群に属するパケットそれぞれに含まれる情報と合致するエントリを検索し、受信したパケットを合致するエントリの転送先に転送する(S405)。その後S400に戻る。   If there is no matching entry (NO in S403), the transfer engine 31 refers to the transfer control table group, searches for an entry that matches information contained in each packet belonging to the received packet group, and matches the received packet. The entry is transferred to the transfer destination (S405). Thereafter, the process returns to S400.

受信したパケットが通信端末3に接続された電話機などから通話先の電話機などに向けた呼の発信を要求する発信要求のパケット、または、通話中の電話機などから通話先の電話機などに向けた呼の切断を要求する切断要求のパケットである場合、発信要求のパケット、または、切断要求のパケットは、IP電話などのセッションの確立および切断を制御するサーバであるセッション制御サーバ(図示せず)宛てのパケットであり、付加機能実行対象パケット群に属するパケットではないので、転送テーブル32には転送先が格納されていない。そのため、転送エンジン31は、転送制御テーブル群を検索し、受信した発信要求のパケット、または、切断要求のパケットを転送先であるセッション制御サーバ宛てに転送する(S405)。   The received packet is a call request packet for requesting a call from the telephone connected to the communication terminal 3 to the destination telephone or the like, or a call from the active telephone to the destination telephone. If the packet is a disconnection request packet that requests disconnection, the outgoing request packet or the disconnection request packet is addressed to a session control server (not shown) that is a server that controls the establishment and disconnection of a session such as an IP phone. No transfer destination is stored in the transfer table 32 because it is not a packet belonging to the additional function execution target packet group. Therefore, the transfer engine 31 searches the transfer control table group and transfers the received call request packet or disconnection request packet to the session control server that is the transfer destination (S405).

パケットを受信した機能拡張部40は、セッション制御部53が、付加機能実行対象パケット群として登録することを要求するパケット(対象登録要求パケット)、つまり、セッション制御サーバからのセッション制御処理に関するセッションの確立制御を要求するセッション確立要求のパケットであるか判定する(S406)。なお、セッション確立要求は、確立を要求するセッションを特定する送信元アドレス、送信先アドレスおよびプロトコル番号などの情報を含む。   Upon receiving the packet, the function expansion unit 40 receives a packet (target registration request packet) that the session control unit 53 requests to register as an additional function execution target packet group, that is, a session control process session from the session control server. It is determined whether the packet is a session establishment request packet that requests establishment control (S406). The session establishment request includes information such as a transmission source address, a transmission destination address, and a protocol number that specify a session that requests establishment.

受信したパケットが対象登録要求パケット(セッション確立要求のパケット)である場合(S406でYES)、セッション制御部53は、対象登録要求パケット(セッション確立要求のパケット)が要求するパケットの情報(制御するセッションを識別する情報(付加機能対象識別情報)であるセッション情報)を登録するよう要求する登録要求(セッション登録要求)を転送処理制御部54に送信する(S407)。   If the received packet is a target registration request packet (session establishment request packet) (YES in S406), the session control unit 53 controls (controls) the packet requested by the target registration request packet (session establishment request packet). A registration request (session registration request) for requesting registration of information for identifying a session (session information as additional function target identification information) is transmitted to the transfer processing control unit 54 (S407).

登録要求を受信した転送処理制御部54は、登録要求に従って転送処理制御テーブル56ーAに、登録を要求された情報(セッション情報)を格納し、転送機能部568に「機能拡張部」を格納する(S408)。また、転送処理制御部54は、転送処理制御テーブル56ーAに格納したセッション情報に対応し、転送処理部50が転送するパケット群を識別する情報(転送パケット群識別情報)を転送処理テーブル51に格納する(S412)。その後ステップS400に戻る。   Upon receiving the registration request, the transfer processing control unit 54 stores the information requested for registration (session information) in the transfer processing control table 56-A according to the registration request, and stores “function expansion unit” in the transfer function unit 568. (S408). Further, the transfer process control unit 54 corresponds to the session information stored in the transfer process control table 56-A, and transfers information (transfer packet group identification information) for identifying the packet group transferred by the transfer process unit 50 to the transfer process table 51. (S412). Thereafter, the process returns to step S400.

ステップS408によって、セッション制御部53が付加機能実行対象パケット群を識別し、付加機能の処理を実行することができる。そのため、転送処理制御部54が登録を要求された情報である付加機能対象情報を転送処理制御テーブル56に格納したことを、「付加機能実行部53によって付加機能の処理が実行された」とも表現する。
また、ステップS412によって、転送処理部50が実行する転送処理の対象のパケット群を識別し、転送処理を実行する。
By step S408, the session control unit 53 can identify the additional function execution target packet group and execute the processing of the additional function. For this reason, the fact that the transfer process control unit 54 stores the additional function target information, which is information requested to be registered, in the transfer process control table 56 is also expressed as “additional function execution unit 53 has executed the process of the additional function”. To do.
In step S412, a packet group to be subjected to transfer processing executed by the transfer processing unit 50 is identified, and the transfer processing is executed.

受信したパケットが対象登録要求パケットではない場合(S406でNO)、セッション制御部53は、受信したパケットが付加機能実行対象パケット群として登録した情報を削除することを要求するパケット(対象削除要求パケット)、つまり、セッション制御サーバからのセッション制御処理に関するセッションの切断制御を要求するセッション切断要求のパケットであるか判定する(S409)。なお、セッション切断要求は、切断を要求するセッションを特定する送信元アドレス、送信先アドレスおよびプロトコル番号などの情報を含む。   If the received packet is not a target registration request packet (NO in S406), the session control unit 53 requests that the received packet delete information registered as an additional function execution target packet group (target deletion request packet). That is, it is determined whether the packet is a session disconnection request packet requesting session disconnection control related to the session control processing from the session control server (S409). The session disconnection request includes information such as a transmission source address, a transmission destination address, and a protocol number that specify a session that requests disconnection.

受信したパケットが対象削除要求パケット(セッション切断要求のパケット)である場合(S409でYES)、セッション制御部53は、対象削除要求パケット(セッション切断要求のパケット)が要求するパケットの情報(制御するセッションのセッション情報)を削除するよう要求する削除要求(セッション削除要求)を転送処理制御部54に送信する(S410)。   When the received packet is a target deletion request packet (session disconnection request packet) (YES in S409), the session control unit 53 controls (controls) the packet requested by the target deletion request packet (session disconnection request packet). A deletion request (session deletion request) requesting deletion of the session information (session information) is transmitted to the transfer processing control unit 54 (S410).

削除要求を受信した転送処理制御部54は、削除要求に従って、削除を要求された情報(セッション情報)に対応する転送パケット群識別情報を転送処理テーブル51から削除(S413)し、転送処理制御テーブル56ーAから、セッション情報を削除する(S411)。その後ステップS400に戻る。   The transfer processing control unit 54 that has received the deletion request deletes the transfer packet group identification information corresponding to the information (session information) requested to be deleted from the transfer processing table 51 in accordance with the deletion request (S413). The session information is deleted from 56-A (S411). Thereafter, the process returns to step S400.

ステップS413によって、転送処理テーブル51から削除した情報に合致するパケット群に対する、転送処理部50での転送処理を中止する。また、ステップS411によって、転送処理制御テーブル56ーAから削除した情報に合致するパケット群に対する、セッション制御部53での付加機能の処理を中止する。   In step S413, the transfer processing in the transfer processing unit 50 for the packet group that matches the information deleted from the transfer processing table 51 is stopped. Further, in step S411, the processing of the additional function in the session control unit 53 for the packet group matching the information deleted from the transfer processing control table 56-A is stopped.

受信したパケットが対象削除要求パケットではない場合(S409でNO)、セッション制御部53は、受信したパケットを転送処理部50へ送信し、パケットを受信した転送処理部50は、転送処理テーブル51を参照して転送部30を介して転送先へパケットを転送する(S414)。その後ステップS400に戻る。   When the received packet is not a target deletion request packet (NO in S409), the session control unit 53 transmits the received packet to the transfer processing unit 50, and the transfer processing unit 50 that has received the packet stores the transfer processing table 51 in the transfer processing table 51. By referring to the packet, the packet is transferred to the transfer destination via the transfer unit 30 (S414). Thereafter, the process returns to step S400.

受信したパケットが、IP電話の音声データを含むパケットである場合、転送処理部50が、転送処理テーブル51を参照して転送部30を介して転送先へパケットを転送する(S414)。通信装置1は、ステップS400〜S414を繰り返し実行することで、パケット群の転送処理を実行する。   When the received packet is a packet including voice data of the IP phone, the transfer processing unit 50 refers to the transfer processing table 51 and transfers the packet to the transfer destination via the transfer unit 30 (S414). The communication device 1 executes the packet group transfer process by repeatedly executing Steps S400 to S414.

このようにして、通信装置1が実行するセッション制御処理で処理するIP電話などのセッションの登録を行い、パケットの転送経路を設定し、パケット転送処理を行う。なお、設定されるパケットの転送経路は、論理的な経路であってもよい。   In this way, a session such as an IP phone to be processed in the session control process executed by the communication apparatus 1 is registered, a packet transfer path is set, and a packet transfer process is performed. The packet transfer path to be set may be a logical path.

なお、セッション確立要求のパケットとセッション切断要求のパケットをまとめてセッションに関する制御を要求するパケットであるセッション制御要求のパケットと呼び、セッションの確立制御とセッションの切断制御をまとめてセッションに関する制御であるセッションの制御と呼ぶ。   The session establishment request packet and the session disconnection request packet are collectively referred to as a session control request packet that requests control related to the session, and session establishment control and session disconnection control are collectively referred to as session control. This is called session control.

次に、機能拡張部40が実行する転送処理を転送部30が実行するように変更する動作を図16で説明した例を用いて説明する。   Next, an operation of changing the transfer process executed by the function expansion unit 40 so that the transfer unit 30 executes the transfer process will be described using the example described with reference to FIG.

機能拡張部40は、選択条件に応じて、機能拡張部40が実行するIP電話のパケット群の転送処理を転送部30が実行するように変更する。具体的には、機能拡張部40のセッション制御部53が実行する付加機能実行対象パケット群であるIP電話のパケット群について、転送部30の転送テーブル32の静的な領域329には、IP電話のパケット群を識別する情報とその転送先「機能拡張部」が格納されている。しかし、セッション制御サーバからセッション確立要求のパケットを受信して、セッション情報を転送処理制御部54が転送処理制御テーブル56ーAに格納するまでは、通信装置1は、セッションの制御を実行せず、機能拡張部40の転送処理テーブル51にも転送パケット群識別情報は格納されない。   The function expansion unit 40 changes the transfer unit 30 to execute the IP telephone packet group transfer process executed by the function expansion unit 40 according to the selection condition. Specifically, for the IP phone packet group that is the additional function execution target packet group executed by the session control unit 53 of the function expansion unit 40, the static area 329 of the transfer table 32 of the transfer unit 30 includes the IP phone. The information for identifying the packet group and the transfer destination “function expansion unit” are stored. However, the communication apparatus 1 does not execute session control until the session establishment request packet is received from the session control server and the session information is stored in the transfer processing control table 56-A by the transfer processing control unit 54. The transfer packet group identification information is not stored in the transfer processing table 51 of the function expansion unit 40.

転送処理制御部54が転送処理制御テーブル56ーAにセッション情報を格納すると、格納したセッション情報に合致するIP電話のパケット群をセッション制御部53が制御するパケット群として認識する。そして、転送処理制御部54が転送処理テーブル51にセッション情報に対応する転送パケット群識別情報を格納して、機能拡張部40の転送処理部50がIP電話のパケット群の転送処理を実行する。このセッション制御部53が認識したIP電話のパケット群に属するパケットの転送処理を、選択条件に応じて、機能拡張部40から転送部30に変更する。   When the transfer process control unit 54 stores the session information in the transfer process control table 56-A, the IP telephone packet group that matches the stored session information is recognized as a packet group controlled by the session control unit 53. Then, the transfer processing control unit 54 stores transfer packet group identification information corresponding to the session information in the transfer processing table 51, and the transfer processing unit 50 of the function expansion unit 40 executes the transfer processing of the IP telephone packet group. The transfer processing of packets belonging to the IP telephone packet group recognized by the session control unit 53 is changed from the function expansion unit 40 to the transfer unit 30 according to the selection condition.

転送処理制御部54は、セッション情報を転送処理制御テーブル56ーAに格納し、転送機能部568に「機能拡張部」を格納後、エントリID561で識別される転送処理制御テーブル56ーAのエントリのうち、転送部30の転送テーブル32に追加するエントリを管理者が設定した選択条件に従って選択する。通信装置1は、機能拡張部40の転送処理制御テーブル56ーAのエントリの一部を転送部30の転送テーブル32に追加することで、機能拡張部40が実行する転送処理の一部の処理を転送部30が実行するように変更する。   The transfer process control unit 54 stores the session information in the transfer process control table 56-A, stores the “function expansion unit” in the transfer function unit 568, and then enters the entry in the transfer process control table 56-A identified by the entry ID 561. Among them, an entry to be added to the transfer table 32 of the transfer unit 30 is selected according to a selection condition set by the administrator. The communication apparatus 1 adds a part of the entry of the transfer process control table 56-A of the function expansion unit 40 to the transfer table 32 of the transfer unit 30 to thereby execute a part of the transfer process executed by the function expansion unit 40. Is changed to be executed by the transfer unit 30.

機能拡張部40は、選択条件である、機能拡張部40が実行するパケット群の転送処理のうち高い優先度のパケット群、または、識別情報に合致するパケット群、または、特定の時間に受信するパケット群の転送処理を転送部30に変更する。本実施例では、選択条件として、機能拡張部40の処理負荷状況を含む処理状況の場合を説明する。   The function expansion unit 40 receives a packet group having a high priority in a packet group transfer process executed by the function expansion unit 40, which is a selection condition, a packet group that matches the identification information, or at a specific time. The packet group transfer process is changed to the transfer unit 30. In the present embodiment, a case of a processing situation including a processing load situation of the function expansion unit 40 will be described as a selection condition.

転送処理制御部54は、選択条件に従って選択したエントリ(例えば、機能拡張部40の処理負荷が大きいエントリ)の転送機能部568を「機能拡張部」から「転送部」に変更し、動的転送制御設定部55に選択したエントリを転送部30に追加することを要求する追加要求であるエントリ設定要求を基本制御部10に送信する。   The transfer processing control unit 54 changes the transfer function unit 568 of the entry selected according to the selection condition (for example, an entry with a large processing load of the function expansion unit 40) from “function expansion unit” to “transfer unit”, and performs dynamic transfer. An entry setting request that is an addition request for requesting the control setting unit 55 to add the selected entry to the transfer unit 30 is transmitted to the basic control unit 10.

エントリ設定要求を受信した基本制御部10は、動的転送制御部20が、動的転送制御テーブル23を参照して、転送部30の転送テーブル32の動的な領域328にエントリ設定要求が要求する情報を追加できるか判定する。追加できる場合、動的転送制御部20は、エントリ設定要求を転送部30に送信して、転送部30の動作を制御する。   In the basic control unit 10 that has received the entry setting request, the dynamic transfer control unit 20 requests the entry setting request to the dynamic area 328 of the transfer table 32 of the transfer unit 30 with reference to the dynamic transfer control table 23. Determine whether information to be added can be added. If it can be added, the dynamic transfer control unit 20 transmits an entry setting request to the transfer unit 30 to control the operation of the transfer unit 30.

エントリ設定要求を受信した転送部30は、転送エンジン制御部34が、転送テーブル32の動的な領域328のエントリにエントリ設定要求の情報を追加する。追加後、転送エンジン制御部34は、次にパケット群を受信すると、転送テーブル32を検索し、動的な領域328に追加したエントリと合致するパケット群を転送テーブル32の転送先であるネクストホップ327に従って転送する。   In the transfer unit 30 that has received the entry setting request, the transfer engine control unit 34 adds the entry setting request information to the entry in the dynamic area 328 of the transfer table 32. When the next packet group is received after the addition, the forwarding engine control unit 34 searches the forwarding table 32, and selects a packet group that matches the entry added to the dynamic area 328 as the next hop that is the forwarding destination of the forwarding table 32. Transfer according to H.327.

この結果、機能拡張部40では、IP電話のセッション情報を制御するが、制御するIP電話のパケット群に属するパケットの転送処理は、転送部30が実行するように変更する。例えば、機能拡張部40は、あるユーザーAのセッション情報を制御しているため、このユーザーAがIP電話を使用していることを認識しているが、このユーザーAのIP電話のパケット群の転送処理は転送部30が実行し、機能拡張部40では実行しない。そのため、機能拡張部40を経由して転送していたユーザーAのIP電話のパケット群は、転送部30から機能拡張部40に転送されることなく、転送部30にてIP電話のパケット群の通話先であるユーザーBに転送される。   As a result, the function expansion unit 40 controls the session information of the IP phone, but changes the transfer processing of the packets belonging to the IP phone packet group to be controlled by the transfer unit 30. For example, since the function expansion unit 40 controls session information of a certain user A, the function expansion unit 40 recognizes that the user A is using an IP phone. The transfer process is executed by the transfer unit 30 and is not executed by the function expansion unit 40. Therefore, the packet group of the IP phone of user A, which has been transferred via the function expansion unit 40, is not transferred from the transfer unit 30 to the function expansion unit 40, but is transferred to the IP phone packet group by the transfer unit 30. It is transferred to the user B who is a call destination.

したがって、転送処理制御テーブル56ーAに格納され、機能拡張部40が制御するセッション情報のうち、一部のセッション情報を変更対象のパケット群として選択して、転送部30の転送テーブル32の動的な領域328に追加することで、機能拡張部40が実行する転送処理の一部の処理を転送部30が実行するように変更する。   Therefore, a part of the session information stored in the transfer processing control table 56-A and controlled by the function expansion unit 40 is selected as a packet group to be changed, and the operation of the transfer table 32 of the transfer unit 30 is selected. By adding to the specific area 328, the transfer unit 30 is changed so that a part of the transfer process executed by the function expansion unit 40 is executed.

そして、機能拡張部40の処理負荷が下がり、機能拡張部40でのパケットの喪失を防ぎ、通信装置1が提供する転送処理が安定する。例えば、IP電話の場合、通信装置1は、転送処理が安定することによって、電話が切れにくくなり、高品質な音声を通話先に提供する。   Then, the processing load of the function expansion unit 40 is reduced, packet loss at the function expansion unit 40 is prevented, and the transfer processing provided by the communication device 1 is stabilized. For example, in the case of an IP phone, the communication apparatus 1 provides a high-quality voice to the call destination because the transfer process is stable, making it difficult to hang up the phone.

また、機能拡張部40は、機能拡張部40の処理状況に応じて、基本制御部10に転送部30の転送テーブル32の動的な領域328に追加したエントリの削除を要求する削除要求であるエントリ削除要求を送信して、変更した転送処理の実行を中止させる。つまり、通信装置1は、転送部30の転送テーブル32の動的な領域328に追加した、機能拡張部40が実行していた転送処理の対象のパケット群を識別するエントリを、転送テーブル32の動的な領域328から削除することで、転送部30での削除したエントリの転送処理を中止する。   The function expansion unit 40 is a deletion request that requests the basic control unit 10 to delete the entry added to the dynamic area 328 of the transfer table 32 of the transfer unit 30 according to the processing status of the function expansion unit 40. An entry deletion request is sent to stop execution of the changed transfer process. In other words, the communication device 1 adds an entry for identifying a packet group to be subjected to the transfer process executed by the function expansion unit 40 added to the dynamic area 328 of the transfer table 32 of the transfer unit 30 in the transfer table 32. By deleting from the dynamic area 328, the transfer processing of the deleted entry in the transfer unit 30 is stopped.

このように通信装置1は、所定の選択条件に応じて、機能拡張部40が実行する転送処理を転送部30に分散し、機能拡張部40の転送性能不足を解消して安定した転送処理を実現する。   In this way, the communication device 1 distributes the transfer processing executed by the function expansion unit 40 to the transfer unit 30 according to a predetermined selection condition, and solves the shortage of transfer performance of the function expansion unit 40 to perform stable transfer processing. Realize.

図9は、閾値設定の流れを示すシーケンス図の例である。   FIG. 9 is an example of a sequence diagram showing a flow of threshold setting.

管理サーバ2は通信装置1に閾値を設定する設定開始操作を管理者から受け付ける(S1301)。
設定開始操作を受けた管理サーバ2は、通信装置1の基本制御部10の閾値管理部21に対して、管理I/F13を介して閾値を設定する画面の表示を要求する画面表示要求を送信する(S1302)。
The management server 2 receives a setting start operation for setting a threshold value for the communication device 1 from the administrator (S1301).
The management server 2 that has received the setting start operation transmits a screen display request for requesting display of a screen for setting a threshold value to the threshold value management unit 21 of the basic control unit 10 of the communication device 1 via the management I / F 13. (S1302).

画面表示要求を受信した閾値管理部21は、閾値管理テーブル24の処理種別241、閾値種別242、閾値単位243を参照し、処理種別、閾値種別、閾値単位を取得し、取得した処理種別、閾値種別、閾値単位を管理I/F13を介して管理サーバ2に送信する(S1303)。   The threshold management unit 21 that has received the screen display request refers to the process type 241, threshold type 242, and threshold unit 243 of the threshold management table 24, acquires the process type, threshold type, and threshold unit, and acquires the acquired process type and threshold. The type and the threshold unit are transmitted to the management server 2 via the management I / F 13 (S1303).

図5の例では、基本制御部10の閾値管理部21は、処理種別として「セッション制御」と「DPI処理」を、閾値種別として「セッション接続時間」と「帯域量」を、閾値単位として「秒」と「bps」を送信する。しかし、本実施例はこれらに限られない。   In the example of FIG. 5, the threshold management unit 21 of the basic control unit 10 sets “session control” and “DPI processing” as processing types, “session connection time” and “bandwidth” as threshold types, and “threshold units” as “threshold units”. Seconds "and" bps "are transmitted. However, the present embodiment is not limited to these.

処理種別、閾値種別、閾値単位を受信した管理サーバ2は、受信した処理種別、閾値種別、閾値単位を基に閾値管理画面を表示する(S1304)。
管理サーバ2は、処理種別選択部82を介した閾値を設定する処理種別の選択と閾値入力部84を介した閾値の入力とを受け付ける閾値入力操作を管理者から受け付ける(S1305)。閾値入力操作を受けた管理サーバ2は、通信装置1の閾値管理部21に対して、選択された処理種別と入力された閾値を送信する(S1306)。
The management server 2 that has received the process type, threshold type, and threshold unit displays a threshold management screen based on the received process type, threshold type, and threshold unit (S1304).
The management server 2 receives a threshold value input operation for receiving a selection of a processing type for setting a threshold value via the processing type selection unit 82 and an input of a threshold value via the threshold value input unit 84 from the administrator (S1305). The management server 2 that has received the threshold value input operation transmits the selected processing type and the input threshold value to the threshold value management unit 21 of the communication device 1 (S1306).

処理種別と閾値を受信した閾値管理部21は、閾値管理テーブル24を参照し、受信した処理種別と閾値管理テーブル24の処理種別241と一致するエントリを検索し、一致するエントリの閾値244に受信した閾値を書き込む(S1307)。その後、閾値管理部21は、装置内通信I/F14、装置内通信I/F44を介して、機能拡張部40の転送処理制御部54に受信した閾値を送信する(S1308)。閾値を受信した転送処理制御部54は、受信した閾値を保持する(S1309)。   The threshold value management unit 21 that has received the process type and the threshold value refers to the threshold value management table 24, searches for an entry that matches the received process type and the process type 241 in the threshold value management table 24, and receives it in the threshold value 244 of the matching entry. The threshold value thus written is written (S1307). Thereafter, the threshold management unit 21 transmits the received threshold value to the transfer processing control unit 54 of the function expansion unit 40 via the intra-device communication I / F 14 and the intra-device communication I / F 44 (S1308). The transfer processing control unit 54 that has received the threshold holds the received threshold (S1309).

図10A、図10Bは、管理サーバ2が表示する閾値管理画面80の画面イメージの例である。
閾値管理画面80は、管理者からの新たな閾値の設定(入力)を受け付け、通信装置1に設定する閾値を管理する画面であり、例えば、図9のステップS1304などで表示される画面である。
10A and 10B are examples of screen images of the threshold management screen 80 displayed by the management server 2.
The threshold management screen 80 is a screen that receives a setting (input) of a new threshold from the administrator and manages the threshold set in the communication device 1, and is a screen displayed in, for example, step S1304 in FIG. .

管理者は、閾値管理画面80を介して通信装置1の閾値を設定する。管理サーバ2は、通信装置1から受信した処理種別の中から管理者が閾値を設定したい処理種別の選択を受け付ける処理種別選択ボックスである処理種別選択表示部(処理種別選択表示オブジェクト)82を、「処理種別」を表示する処理種別表示部(処理種別表示オブジェクト)81とともに閾値管理画面80に表示する。   The administrator sets the threshold value of the communication device 1 via the threshold value management screen 80. The management server 2 displays a process type selection display section (process type selection display object) 82 that is a process type selection box for accepting selection of a process type for which the administrator wants to set a threshold value from the process types received from the communication device 1. It is displayed on the threshold value management screen 80 together with a process type display section (process type display object) 81 for displaying “process type”.

処理種別選択部82は、プルダウンメニュー(プルダウンリスト)として構成され、管理者は複数の処理種別から1の処理種別を選択する。管理者は、処理種別選択表示部82のプルダウンボタン(選択表示オブジェクト)から管理サーバ2が受信した処理種別を選択して閾値を設定したい処理種別を選択する。   The process type selection unit 82 is configured as a pull-down menu (pull-down list), and the administrator selects one process type from a plurality of process types. The administrator selects the process type that the management server 2 has received from the pull-down button (selection display object) of the process type selection display unit 82 and wants to set a threshold value.

管理サーバ2は、通信装置1から受信した閾値種別と閾値単位の中から、管理者が処理種別選択表示部82にて選択した処理種別に対応する閾値種別および閾値単位をそれぞれ表示する閾値種別表示部(閾値種別表示オブジェクト)83および閾値単位表示部(閾値単位表示オブジェクト)85を閾値管理画面80に表示し、閾値種別表示部83と閾値単位表示部85の間に管理者が設定する閾値の入力を受け付ける閾値入力表示部(閾値入力表示オブジェクト)84を表示する。   The management server 2 displays a threshold type and a threshold unit corresponding to the processing type selected by the administrator in the processing type selection display unit 82 from the threshold type and threshold unit received from the communication device 1. Unit (threshold type display object) 83 and threshold unit display unit (threshold unit display object) 85 are displayed on the threshold management screen 80, and threshold values set by the administrator between the threshold type display unit 83 and the threshold unit display unit 85 are displayed. A threshold value input display unit (threshold value input display object) 84 that receives input is displayed.

図10Aは、管理者が閾値を設定したい処理種別として処理種別選択表示部82から「セッション制御」が選択され、閾値種別表示部83および閾値単位表示部85にそれぞれ表示される「セッション制御」の処理種別に対応する閾値種別である「セッション持続時間」および閾値単位である「秒」の値として、閾値入力表示部84に「180」が入力された場合の例である。
つまり、通信装置1にセッションを持続する時間の閾値として「180秒」を設定する閾値管理画面80の画面イメージである。なお、「セッション制御」とは、一連の通信であるセッションを制御することである。
In FIG. 10A, “session control” is selected from the process type selection display unit 82 as the process type for which the administrator wants to set a threshold, and “session control” displayed on the threshold type display unit 83 and the threshold unit display unit 85 respectively. In this example, “180” is input to the threshold value input display unit 84 as the value of “session duration” that is the threshold type corresponding to the processing type and “second” that is the threshold unit.
That is, this is a screen image of the threshold management screen 80 in which “180 seconds” is set as the threshold for the duration of the session in the communication device 1. “Session control” refers to controlling a session, which is a series of communications.

図10Bは、管理者が閾値を設定したい処理種別として処理種別選択表示部82から「DPI処理」が選択され、閾値種別表示部83および閾値単位表示部85にそれぞれ表示される「DPI処理」の処理種別に対応する閾値種別である「制限帯域量」および閾値単位である「bps」の値として、閾値入力表示部84に「300k」が入力された場合の例である。   In FIG. 10B, “DPI processing” is selected from the processing type selection display unit 82 as a processing type for which the administrator wants to set a threshold, and “DPI processing” displayed on the threshold type display unit 83 and the threshold unit display unit 85 respectively. This is an example in which “300 k” is input to the threshold value input display unit 84 as a value of “limited bandwidth amount” that is a threshold type corresponding to the processing type and “bps” that is a threshold unit.

つまり、通信装置1にDPI処理する帯域量を制限する閾値として「300kbps」を設定する閾値管理画面80の画面イメージである。なお、「帯域量」とは、DPI処理されるパケットの量のことであり、「bps」とは「bits per second」のことである。
なお、管理サーバ2は、処理種別、閾値種別、閾値単位に加えて、通信装置1から閾値を受信することで、閾値管理画面80に現在通信装置1に設定されている閾値を表示してもよい。
That is, it is a screen image of the threshold management screen 80 in which “300 kbps” is set as a threshold for limiting the bandwidth amount for DPI processing in the communication device 1. Note that “bandwidth” refers to the amount of packets subjected to DPI processing, and “bps” refers to “bits per second”.
The management server 2 displays the threshold currently set for the communication device 1 on the threshold management screen 80 by receiving the threshold from the communication device 1 in addition to the processing type, the threshold type, and the threshold unit. Good.

図15は基本制御部10の動的転送制御部20の動作を表すフローチャートの例である。
動的転送制御部20は、基本制御部10が起動すると、メモリ11からCPU12にロードされて動作を開始(S300)する。なお、ステップS301からステップS319は繰り返し(例えば、定期的に)実行される。
FIG. 15 is an example of a flowchart showing the operation of the dynamic transfer control unit 20 of the basic control unit 10.
When the basic control unit 10 is activated, the dynamic transfer control unit 20 is loaded from the memory 11 to the CPU 12 and starts operating (S300). Note that steps S301 to S319 are repeatedly executed (for example, periodically).

動的転送制御部20は、機能拡張部40から、機能拡張部40で行っているパケット転送処理のエントリを転送部30に追加する(設定する)ことを要求する追加要求であるエントリ設定要求を受信するかどうかを確認する(S301)。
エントリ設定要求は、設定を要求するエントリを特定する情報を含み、例えば、送信元アドレス、送信先アドレス、プロトコル番号およびネクストホップである。
The dynamic transfer control unit 20 sends an entry setting request, which is an addition request for adding (setting) an entry of the packet transfer processing performed by the function expanding unit 40 to the transferring unit 30 from the function expanding unit 40. It is confirmed whether or not to receive (S301).
The entry setting request includes information for specifying an entry requesting setting, and is, for example, a transmission source address, a transmission destination address, a protocol number, and a next hop.

動的転送制御部20がエントリ設定要求を受信した場合(S301でYES)は、エントリ設定要求の各情報を動的転送制御テーブル23に登録する(記録する)と、動的転送制御テーブル23のエントリの最大数を超過するか否かを判定する(S302)。つまり、エントリ設定要求の各情報をエントリとして動的転送制御テーブル23に登録(格納)可能か否かを判定する。ステップS302は、例えば、動的転送制御テーブル23に登録された現時点のエントリの数と動的転送制御テーブル23に登録可能なエントリの最大数とを比較することで実行する。   When the dynamic transfer control unit 20 receives an entry setting request (YES in S301), each piece of information of the entry setting request is registered (recorded) in the dynamic transfer control table 23. It is determined whether or not the maximum number of entries is exceeded (S302). That is, it is determined whether or not each information of the entry setting request can be registered (stored) in the dynamic transfer control table 23 as an entry. Step S302 is executed by, for example, comparing the current number of entries registered in the dynamic transfer control table 23 with the maximum number of entries that can be registered in the dynamic transfer control table 23.

動的転送制御テーブル23のエントリの最大数は、後述する転送部30の転送テーブル32のエントリの最大数と同じまたはそれ以下の所定の数であり、転送テーブル32のエントリの最大数を考慮して、動的転送制御部20に予め設定(保持)される。また、動的転送制御テーブル23のエントリの最大数は、動的転送制御部20以外の機能部に設定されてもよいし、管理者が管理サーバ2を介して通信装置1に設定されてもよい。   The maximum number of entries in the dynamic transfer control table 23 is a predetermined number that is equal to or less than the maximum number of entries in the transfer table 32 of the transfer unit 30 described later, and takes the maximum number of entries in the transfer table 32 into consideration. Thus, it is preset (held) in the dynamic transfer control unit 20. Further, the maximum number of entries in the dynamic transfer control table 23 may be set in a functional unit other than the dynamic transfer control unit 20 or may be set in the communication device 1 by the administrator via the management server 2. Good.

ステップS302での判定の結果、動的転送制御テーブル23のエントリの最大数を超過しない場合(S302でNO)、動的転送制御部20は、装置内通信I/F14を介して転送部30に機能拡張部40で行っているパケット転送処理のエントリを登録することを要求する格納要求であるエントリ設定要求を発行(送信)する(S303)。   As a result of the determination in step S302, if the maximum number of entries in the dynamic transfer control table 23 is not exceeded (NO in S302), the dynamic transfer control unit 20 sends the transfer unit 30 to the transfer unit 30 via the intra-device communication I / F 14. An entry setting request, which is a storage request for requesting registration of an entry for packet transfer processing performed by the function expansion unit 40, is issued (transmitted) (S303).

動的転送制御部20は、エントリ設定要求に対する応答として成功を示す応答を受信するかどうかを確認し(S304)、成功応答を受信した場合(S304でYES)、動的転送制御部20は、動的転送制御テーブル23に機能拡張部40から受信したエントリ設定要求の各情報をエントリとして登録する(S305)。その後、再度ステップS301に戻る。   The dynamic transfer control unit 20 confirms whether or not a response indicating success is received as a response to the entry setting request (S304). When the success response is received (YES in S304), the dynamic transfer control unit 20 Each entry setting request information received from the function expansion unit 40 is registered as an entry in the dynamic transfer control table 23 (S305). Then, it returns to step S301 again.

動的転送制御部20が、動的転送制御テーブル23にエントリを登録することで、機能拡張部40で行うパケット転送処理を転送部30が実行するように変更することを基本制御部10が制御する。   When the dynamic transfer control unit 20 registers an entry in the dynamic transfer control table 23, the basic control unit 10 controls that the packet transfer process performed by the function expansion unit 40 is changed to be executed by the transfer unit 30. To do.

ステップS302での判定の結果、エントリの最大数が超過する場合(S302でYES)、動的転送制御部20は、機能拡張部40にエントリの最大数が超過する旨の応答を送信し(S312)、エントリ設定要求が失敗した旨の応答(失敗応答)を返す(送信する)(S306)。その後、再度ステップS301に戻る。   As a result of the determination in step S302, if the maximum number of entries exceeds (YES in S302), the dynamic transfer control unit 20 transmits a response indicating that the maximum number of entries exceeds the function expansion unit 40 (S312). ), A response (failure response) indicating that the entry setting request has failed is returned (sent) (S306). Then, it returns to step S301 again.

動的転送制御部20が、エントリ設定要求に対する応答として失敗を示す応答(失敗応答)を受信した場合(S304でNO)、ステップS306を実行し、再度ステップS301に戻る。   When the dynamic transfer control unit 20 receives a response indicating failure (failure response) as a response to the entry setting request (NO in S304), it executes Step S306 and returns to Step S301 again.

動的転送制御部20がエントリ設定要求を受信しない場合(S301でNO)は、動的転送制御部20は、機能拡張部40から、転送部30で行っている機能拡張部40から移動されたパケット転送処理のエントリを転送部30から削除し、機能拡張部40に戻すことを要求する削除要求であるエントリ削除要求を受信するかどうかを確認する(S307)。
エントリ削除要求は、削除を要求するエントリを特定する情報を含み、送信元アドレス、送信先アドレス、プロトコル番号、ネクストホップなどである。
When the dynamic transfer control unit 20 does not receive the entry setting request (NO in S301), the dynamic transfer control unit 20 has been moved from the function expansion unit 40 from the function expansion unit 40. It is confirmed whether or not an entry deletion request, which is a deletion request for deleting an entry for packet transfer processing from the transfer unit 30 and returning to the function expansion unit 40, is received (S307).
The entry deletion request includes information for specifying an entry requesting deletion, and includes a transmission source address, a transmission destination address, a protocol number, a next hop, and the like.

動的転送制御部20がエントリ削除要求を受信した場合(S307でYES)は、動的転送制御テーブル23を参照して、エントリ削除要求の各情報に合致するエントリが動的転送制御テーブル23に存在するか確認する(S308)。エントリ削除要求の各情報に合致するエントリが動的転送制御テーブル23に存在する場合(S308でYES)、動的転送制御部20は、転送部30に転送部30で行っている機能拡張部40から移動したパケット転送処理のエントリを削除することを要求する情報削除要求であるエントリ削除要求を発行(送信する)(S309)。   When the dynamic transfer control unit 20 receives the entry deletion request (YES in S307), the dynamic transfer control table 23 is referred to and an entry that matches each piece of information of the entry deletion request is stored in the dynamic transfer control table 23. It is confirmed whether it exists (S308). When an entry that matches each piece of information of the entry deletion request exists in the dynamic transfer control table 23 (YES in S308), the dynamic transfer control unit 20 makes the transfer unit 30 perform the function expansion unit 40 performed by the transfer unit 30. Issue (send) an entry deletion request, which is an information deletion request for deleting the entry of the packet transfer process moved from (S309).

動的転送制御部20は、エントリ削除要求に対する応答として成功を示す応答を受信するかどうかを確認し(S310)、成功応答を受信した場合(S310でYES)、動的転送制御部20は、機能拡張部40から受信したエントリ削除要求の各情報に合致するエントリを動的転送制御テーブル23から削除する(S311)。その後、再度ステップS301に戻る。   The dynamic transfer control unit 20 confirms whether or not a response indicating success is received as a response to the entry deletion request (S310), and if a successful response is received (YES in S310), the dynamic transfer control unit 20 The entry that matches the information of the entry deletion request received from the function expansion unit 40 is deleted from the dynamic transfer control table 23 (S311). Then, it returns to step S301 again.

動的転送制御部20がエントリ削除要求を受信しない場合(S307でNO)は、再度ステップS301に戻る。エントリ削除要求の各情報に合致するエントリが動的転送制御テーブル23に存在しない場合(S308でNO)や、動的転送制御部20が、エントリ削除要求に対する応答として失敗を示す応答(失敗応答)を受信した場合(S310でNO)、動的転送制御部20は、機能拡張部40にエントリ削除要求が失敗した旨の応答(失敗応答)を送信する(S313)。その後、再度ステップS301に戻る。   When the dynamic transfer control unit 20 does not receive the entry deletion request (NO in S307), the process returns to step S301 again. When there is no entry matching the information of the entry deletion request in the dynamic transfer control table 23 (NO in S308), the dynamic transfer control unit 20 indicates a failure as a response to the entry deletion request (failure response). Is received (NO in S310), the dynamic transfer control unit 20 transmits a response (failure response) indicating that the entry deletion request has failed to the function expansion unit 40 (S313). Then, it returns to step S301 again.

動的転送制御部20が、動的転送制御テーブル23からエントリを削除することで、転送部30が実行していた機能拡張部40から変更されたパケット転送処理の中止を基本制御部10が制御する。   When the dynamic transfer control unit 20 deletes the entry from the dynamic transfer control table 23, the basic control unit 10 controls the cancellation of the packet transfer process changed from the function expansion unit 40 that the transfer unit 30 has executed. To do.

転送部30は、機能拡張部40と比べて、パケット転送処理の性能が高いが、パケット転送処理を行う際に参照する転送テーブル32に登録するエントリの数が少ない。そのため、多量のパケットの転送を転送部30で行おうとすると、転送テーブル32に登録すべきエントリの数が登録可能な容量を上回ることがある。この問題を解決するために、動的転送制御部20は、動的転送制御テーブル23のエントリの数を確認して、転送部30に設定するエントリの数が転送部30でパケット転送処理可能な数を上回らないように制御する。   The transfer unit 30 has higher performance of packet transfer processing than the function expansion unit 40, but the number of entries registered in the transfer table 32 referred to when performing packet transfer processing is small. For this reason, if the transfer unit 30 tries to transfer a large amount of packets, the number of entries to be registered in the transfer table 32 may exceed the registerable capacity. In order to solve this problem, the dynamic transfer control unit 20 confirms the number of entries in the dynamic transfer control table 23, and the number of entries set in the transfer unit 30 can be transferred by the transfer unit 30. Control not to exceed the number.

なお、追加要求および削除要求により、パケット群が機能拡張部40を経由するかどうかを制御する動作について、複数の要求によりパケット群が機能拡張部40を経由するかどうかを切り替える構成であれば、上記手段によらず他の手段で実現してもよい。   In addition, regarding the operation for controlling whether or not the packet group passes through the function expansion unit 40 by the addition request and the deletion request, if the configuration is to switch whether or not the packet group passes through the function expansion unit 40 by a plurality of requests, You may implement | achieve with another means irrespective of the said means.

機能拡張部40の転送処理制御部54の動作を、図11を用いて説明する。
図11A、図11Bは、転送処理制御部54の動作を表すフローチャートの例である。なお、転送処理制御部54は、図10Aで示した閾値を保持しているものとして説明する。また、付加機能実行部53が、IP電話などのセッションを制御するセッション制御部として動作する場合で説明する。
転送処理制御部54は、機能拡張部40が起動すると、メモリ41からネットワークプロセッサ42にロードされて動作を開始(S100)し、ステップS101へ進む。なお、ステップS101からステップS119は繰り返し(例えば、定期的に)実行される。
The operation of the transfer processing control unit 54 of the function expansion unit 40 will be described with reference to FIG.
FIG. 11A and FIG. 11B are examples of flowcharts showing the operation of the transfer processing control unit 54. Note that the transfer processing control unit 54 is assumed to hold the threshold shown in FIG. 10A. The case where the additional function execution unit 53 operates as a session control unit that controls a session such as an IP phone will be described.
When the function expansion unit 40 is activated, the transfer processing control unit 54 is loaded from the memory 41 to the network processor 42 to start operation (S100), and proceeds to step S101. Note that steps S101 to S119 are repeatedly executed (for example, periodically).

転送処理制御部54は、付加機能実行部53から付加機能対象識別情報の登録を要求する登録要求を受信するかどうか確認する(S101)。つまり、転送処理制御部54は、セッション制御部53からセッション登録要求を受信するかどうかを確認し(S101)、転送処理制御部54がセッション登録要求を受信した場合(S101でYES)はステップS102に進み、転送処理制御部54がセッション登録要求を受信しない場合(S101でNO)はステップS104に進む。なお、セッション登録要求には、登録を要求するセッションを特定する送信元アドレス、送信先アドレス、プロトコル番号などの情報が含まれる。   The transfer processing control unit 54 checks whether or not a registration request for requesting registration of additional function target identification information is received from the additional function execution unit 53 (S101). That is, the transfer processing control unit 54 checks whether or not a session registration request is received from the session control unit 53 (S101). If the transfer processing control unit 54 receives a session registration request (YES in S101), step S102 is performed. If the transfer process control unit 54 does not receive a session registration request (NO in S101), the process proceeds to step S104. The session registration request includes information such as a transmission source address, a transmission destination address, and a protocol number that specify a session for which registration is requested.

転送処理制御部54がセッション登録要求を受信した場合(S101でYES)、転送処理制御部54は、受信したセッション登録要求から、登録するセッション情報を抽出し、転送処理制御テーブル56ーAに抽出したセッション情報をエントリID561で識別されるセッション情報として登録する(記録する)(S102)。つまり、セッション登録要求に含まれる各情報が、機能拡張部40が処理するセッション情報として転送処理制御テーブル56ーAの送信元アドレス562、送信先アドレス563、プロトコル番号564に登録される。また、転送処理制御部54は、通信装置1内の現在時刻を取得してエントリ登録時刻569に登録し、記憶している閾値をセッション継続時間567に登録し、転送機能部568に「機能拡張部」を登録する。その後、ステップS103に進む。   When the transfer process control unit 54 receives a session registration request (YES in S101), the transfer process control unit 54 extracts session information to be registered from the received session registration request and extracts it to the transfer process control table 56-A. The registered session information is registered (recorded) as session information identified by the entry ID 561 (S102). That is, each piece of information included in the session registration request is registered as the session information processed by the function expansion unit 40 in the transmission source address 562, the transmission destination address 563, and the protocol number 564 of the transfer processing control table 56-A. In addition, the transfer processing control unit 54 acquires the current time in the communication device 1 and registers it at the entry registration time 569, registers the stored threshold value in the session duration 567, and sends a “function extension” to the transfer function unit 568. Part ". Thereafter, the process proceeds to step S103.

このように、転送処理制御部54が転送処理制御テーブル56ーAにセッション情報を登録することで、機能拡張部40のセッション制御部53がセッションを制御する機能を実行する対象のパケット群を識別する図7の転送処理制御テーブル56ーAが作成される。つまり、機能拡張部40のセッション制御部53は、転送処理制御テーブル56ーAを参照して、セッション情報に合致するパケット群に対してセッション制御処理を実行する。   As described above, the transfer process control unit 54 registers the session information in the transfer process control table 56-A, so that the session control unit 53 of the function expansion unit 40 identifies a target packet group for executing the function for controlling the session. The transfer processing control table 56-A in FIG. 7 is created. That is, the session control unit 53 of the function expansion unit 40 refers to the transfer processing control table 56-A and executes session control processing for a packet group that matches the session information.

なお、IP電話のセッション制御の場合、通信装置1がIP電話のパケットとして外部に転送するパケットは、セッション制御サーバからセッションの制御に関するパケットを受信した後に受信する音声データを含むパケットであるので、管理者による所定の選択条件の設定により、転送処理制御テーブル56ーAへのエントリ登録時に、転送機能部568の初期値を「転送部」としてもよい。   In the case of IP phone session control, the packet transferred to the outside by the communication apparatus 1 as an IP phone packet is a packet including voice data received after receiving a session control packet from the session control server. The initial value of the transfer function unit 568 may be set to “transfer unit” when an entry is registered in the transfer process control table 56-A by setting a predetermined selection condition by the administrator.

転送処理制御部54は、転送処理制御テーブル56ーAに登録した各情報をエントリID511で識別される転送処理エントリとして転送処理テーブル51に登録する(記録する)(S103)。つまり、機能拡張部40が転送するパケット群を識別する転送パケット群識別情報のエントリである転送処理エントリが転送処理テーブル51に登録される。この結果、機能拡張部40の転送処理部50がセッションを制御する機能を実行した後のパケット群を転送する際に参照する図8の転送処理テーブル51が作成される。   The transfer process control unit 54 registers (records) each information registered in the transfer process control table 56-A in the transfer process table 51 as a transfer process entry identified by the entry ID 511 (S103). That is, a transfer process entry that is an entry of transfer packet group identification information for identifying a packet group transferred by the function expansion unit 40 is registered in the transfer process table 51. As a result, the transfer processing table 51 of FIG. 8 to be referred to when the transfer processing unit 50 of the function expanding unit 40 transfers the packet group after executing the function of controlling the session is created.

つまり、転送処理テーブル51のエントリID511、送信元アドレス512、送信先アドレス513、プロトコル番号514が記録(格納)される。また、ネクストホップ517が既知の手段にて取得されて記録(格納)される。その後、再度ステップS101に戻る。   That is, the entry ID 511, the transmission source address 512, the transmission destination address 513, and the protocol number 514 of the transfer processing table 51 are recorded (stored). Further, the next hop 517 is acquired and recorded (stored) by a known means. Then, it returns to step S101 again.

転送処理制御部54がセッション登録要求を受信しない場合(S101でNO)、転送処理制御部54は、付加機能実行部53から付加機能対象識別情報の削除を要求する削除要求を受信するかどうか確認する(S104)。つまり、転送処理制御部54は、セッション制御部53から転送処理制御テーブル56ーAに記録するセッション情報の削除を要求するセッション削除要求を受信するかどうかを確認し(S104)、転送処理制御部54がセッション削除要求を受信した場合(S104でYES)は、ステップS105に進み、転送処理制御部54がセッション削除要求を受信しない場合(S104でNO)は、ステップS111に進む。なお、セッション削除要求は、削除を要求するセッションを特定する送信元アドレス、送信先アドレス、および、プロトコル番号などの情報を含む。   When the transfer process control unit 54 does not receive the session registration request (NO in S101), the transfer process control unit 54 confirms whether or not to receive a deletion request for requesting deletion of the additional function target identification information from the additional function execution unit 53. (S104). That is, the transfer process control unit 54 checks whether or not a session deletion request for requesting deletion of session information recorded in the transfer process control table 56-A is received from the session control unit 53 (S104). If 54 receives a session deletion request (YES in S104), the process proceeds to step S105. If the transfer process control unit 54 does not receive a session deletion request (NO in S104), the process proceeds to step S111. The session deletion request includes information such as a transmission source address, a transmission destination address, and a protocol number that specify a session for which deletion is requested.

転送処理制御部54がセッション削除要求を受信した場合(S104でYES)、ステップS105において、転送処理制御部54は、転送処理制御テーブル56ーAに格納したセッション情報を削除する。具体的には、転送処理制御部54は、転送処理制御テーブル56ーAを参照し、セッション削除要求が指定するセッションに合致するエントリを検索する。その後、ステップS106に進む。   When the transfer process control unit 54 receives the session deletion request (YES in S104), in step S105, the transfer process control unit 54 deletes the session information stored in the transfer process control table 56-A. Specifically, the transfer processing control unit 54 refers to the transfer processing control table 56-A and searches for an entry that matches the session specified by the session deletion request. Thereafter, the process proceeds to step S106.

ステップS106において、ステップS105で検索したエントリの転送機能部568が「転送部」かどうかを確認し、「転送部」であれば(S106でYES)ステップS107に進み、「転送部」でなければ(S106でNO)ステップS109に進む。
転送機能部568が「転送部」である場合(S106でYES)、転送処理制御部54は、動的転送制御設定部55に対して、ステップS105で検索したエントリの削除を要求するエントリ削除要求を送信する(S107)。その後、ステップS108に進む。
In step S106, it is confirmed whether or not the transfer function part 568 of the entry searched in step S105 is “transfer part”. If it is “transfer part” (YES in S106), the process proceeds to step S107. (NO in S106) The process proceeds to step S109.
When the transfer function unit 568 is “transfer unit” (YES in S106), the transfer processing control unit 54 requests the dynamic transfer control setting unit 55 to delete the entry searched in step S105. Is transmitted (S107). Thereafter, the process proceeds to step S108.

転送処理制御部54は、転送処理制御テーブル56ーAから、ステップS105で検索したエントリを削除する(S108)。その後、再度ステップS101に戻る。この結果、転送部30がパケット転送処理を行い、転送処理制御テーブル56ーAに登録された機能拡張部40が処理するセッションが削除される。   The transfer process control unit 54 deletes the entry searched in step S105 from the transfer process control table 56-A (S108). Then, it returns to step S101 again. As a result, the transfer unit 30 performs packet transfer processing, and the session processed by the function expansion unit 40 registered in the transfer processing control table 56-A is deleted.

転送機能部568が「転送部」ではない場合(S106でNO)、転送処理制御部54は、転送処理テーブル51から、ステップS105で検索したエントリに合致するエントリを削除する(S109)。その後、ステップS110に進む。
転送処理制御部54は、転送処理制御テーブル56ーAから、ステップS105で検索したエントリを削除する(S110)。その後、再度ステップS101に戻る。この結果、機能拡張部40がパケット転送処理を行い、転送処理制御テーブル56ーAに登録された機能拡張部40が処理するセッションが削除される。
When the transfer function unit 568 is not the “transfer unit” (NO in S106), the transfer processing control unit 54 deletes the entry that matches the entry searched in Step S105 from the transfer processing table 51 (S109). Then, it progresses to step S110.
The transfer process control unit 54 deletes the entry searched in step S105 from the transfer process control table 56-A (S110). Then, it returns to step S101 again. As a result, the function expansion unit 40 performs packet transfer processing, and the session processed by the function expansion unit 40 registered in the transfer processing control table 56-A is deleted.

このように、転送処理制御部54が転送処理制御テーブル56ーAからセッション情報を削除することで、削除した情報に合致するパケット群に対する、機能拡張部40のセッション制御部53でのセッション制御処理(付加機能の処理)の実行を中止する。   As described above, when the transfer process control unit 54 deletes the session information from the transfer process control table 56-A, the session control process in the session control unit 53 of the function expansion unit 40 for the packet group that matches the deleted information. Cancels execution of (additional function processing).

ステップS104で転送処理制御部54が、セッション削除要求を受信しない場合(S104でNO)、転送処理制御部54は、機能拡張部40の処理負荷状況を確認する。具体的には、転送処理制御部54は、転送処理制御テーブル56ーAを参照し、転送機能部568が「機能拡張部」であるエントリの情報と閾値とを比較し、閾値を超えているエントリを検索する(S111)。   If the transfer processing control unit 54 does not receive the session deletion request in step S104 (NO in S104), the transfer processing control unit 54 checks the processing load status of the function expansion unit 40. Specifically, the transfer processing control unit 54 refers to the transfer processing control table 56-A, compares the information of the entry whose transfer function unit 568 is “function expansion unit” with the threshold value, and exceeds the threshold value. The entry is searched (S111).

つまり、転送処理制御部54は、転送機能部568が「機能拡張部」であるエントリのうち、エントリ登録時刻569に格納された時刻から現在時刻までの経過時間が、閾値であるセッション継続時間567を超えているエントリを検索する(S111)。検索した結果、経過時間が、閾値を超えているエントリが存在しない(見つからなかった、ヒットしなかった)場合(S111でNO)は、再度ステップS101に戻る。検索した結果、経過時間が、閾値を超えているエントリが存在する(見つかった、ヒットした)場合(S111でYES)は、ステップS112に進む。   In other words, the transfer processing control unit 54 sets the session duration 567, which is a threshold value for the elapsed time from the time stored at the entry registration time 569 to the current time among the entries whose transfer function unit 568 is the “function expansion unit”. An entry exceeding the limit is searched (S111). As a result of the search, when there is no entry whose elapsed time exceeds the threshold value (not found or not hit) (NO in S111), the process returns to step S101 again. As a result of the search, if there is an entry whose elapsed time exceeds the threshold value (found or hit) (YES in S111), the process proceeds to step S112.

ここで、経過時間が、閾値を超えているエントリは、機能拡張部40でのパケット転送処理の負荷が高く、機能拡張部40での負荷が所定の閾値を超えているエントリであり、経過時間が、閾値を超えていないエントリは、機能拡張部40でのパケット転送処理の負荷が低く、機能拡張部40での負荷が所定の閾値を超えていないエントリである。   Here, an entry whose elapsed time exceeds the threshold is an entry in which the load of the packet transfer processing in the function expansion unit 40 is high and the load in the function expansion unit 40 exceeds a predetermined threshold, and the elapsed time However, an entry that does not exceed the threshold is an entry that has a low load of packet transfer processing in the function expansion unit 40 and the load in the function expansion unit 40 does not exceed a predetermined threshold.

経過時間が、閾値を超えているエントリが存在する場合(S111でYES)、転送処理制御部54は、動的転送制御設定部55に対して、ステップS111で検索して見つかったエントリの設定を要求するエントリ設定要求を送信する(S112)。転送処理制御部54は、動的転送制御設定部55を介して基本制御部10にエントリ設定要求を送信することで、機能拡張部40で行っているパケット転送処理を転送部30の転送エンジン31で行うよう要求する。エントリ設定要求に対する応答を受信した後、ステップS113に進む。   If there is an entry whose elapsed time exceeds the threshold (YES in S111), the transfer processing control unit 54 sets the entry found by searching in step S111 to the dynamic transfer control setting unit 55. The requested entry setting request is transmitted (S112). The transfer processing control unit 54 transmits an entry setting request to the basic control unit 10 via the dynamic transfer control setting unit 55, thereby performing packet transfer processing performed by the function expansion unit 40 on the transfer engine 31 of the transfer unit 30. Request to do it. After receiving a response to the entry setting request, the process proceeds to step S113.

転送処理制御部54は、ステップS112でのエントリ設定要求に対する応答から、基本制御部10の動的転送制御テーブル23に格納可能なエントリの最大数超過の応答を受信したかを確認する(S113)。転送処理制御部54がエントリの最大数超過の応答を受信していなければ(S113でNO)ステップS114に進み、転送処理制御部54がエントリの最大数超過の応答を受信していれば(S113でYES)ステップS116に進む。   The transfer processing control unit 54 checks whether or not a response exceeding the maximum number of entries that can be stored in the dynamic transfer control table 23 of the basic control unit 10 has been received from the response to the entry setting request in step S112 (S113). . If the transfer process control unit 54 has not received a response that exceeds the maximum number of entries (NO in S113), the process proceeds to step S114, and if the transfer process control unit 54 has received a response that exceeds the maximum number of entries (S113). YES) and goes to step S116.

転送処理制御部54がエントリの最大数超過の応答を受信していない場合(S113のNO)、転送処理制御部54は、ステップS111で検索して見つかったエントリの転送機能部568を「機能拡張部」から「転送部」に変更するように、転送処理制御テーブル56ーAに書き込む(更新する)(S114)。その後、ステップS115に進む。   When the transfer processing control unit 54 has not received a response indicating that the maximum number of entries has been exceeded (NO in S113), the transfer processing control unit 54 sets the transfer function unit 568 of the entry found by searching in step S111 to “function expansion”. The data is written (updated) in the transfer process control table 56-A so as to be changed from “copy” to “transfer” (S114). Thereafter, the process proceeds to step S115.

転送処理制御部54は、転送処理テーブル51から、ステップS111で検索して見つかったエントリに合致するエントリを削除する(S115)。その後、再度ステップS101に戻る。この結果、機能拡張部40は、ステップS111で検索して見つかったエントリに合致するパケット転送処理、すなわち、経過時間が閾値を超え、パケット転送処理の負荷が高いエントリに合致する機能拡張部40で実行しているパケット転送処理を、機能拡張部40の転送処理部50から転送部30の転送エンジン31に移管(移動)する。   The transfer processing control unit 54 deletes an entry that matches the entry found by searching in step S111 from the transfer processing table 51 (S115). Then, it returns to step S101 again. As a result, the function expansion unit 40 is a packet transfer process that matches the entry found by searching in step S111, that is, the function expansion unit 40 that matches the entry whose elapsed time exceeds the threshold and the load of the packet transfer process is high. The packet transfer process being executed is transferred (moved) from the transfer processing unit 50 of the function expansion unit 40 to the transfer engine 31 of the transfer unit 30.

以上の結果、機能拡張部40の処理負荷が下がり、機能拡張部40でのパケットの喪失を防ぎ、通信装置1が実行するパケット転送処理が安定する。通信装置1は、パケットの転送処理の安定によって、電話が切れにくくなり(通話が安定し)、高品質な音声を通話先に提供する。   As a result, the processing load on the function expansion unit 40 is reduced, packet loss in the function expansion unit 40 is prevented, and packet transfer processing executed by the communication device 1 is stabilized. The communication device 1 provides a high-quality voice to the callee because it becomes difficult to hang up the call (stable call) due to the stability of packet transfer processing.

転送処理制御部54がエントリの最大数超過の応答を受信した場合(S113のYES)、転送処理制御部54は、転送処理制御テーブル56ーAを参照し、転送機能部568が「転送部」であるエントリのうち、処理負荷が小さいエントリを検索する(S116)。つまり、転送処理制御部54は、エントリ登録時刻131709に格納された時刻から現在時刻までの経過時間が最短のエントリを検索する(S116)。その後、ステップS117に進む。   When the transfer processing control unit 54 receives a response indicating that the maximum number of entries has been exceeded (YES in S113), the transfer processing control unit 54 refers to the transfer processing control table 56-A, and the transfer function unit 568 sets the “transfer unit”. Are searched for entries with a low processing load (S116). That is, the transfer processing control unit 54 searches for an entry having the shortest elapsed time from the time stored at the entry registration time 131709 to the current time (S116). Thereafter, the process proceeds to step S117.

最短のエントリを検索するのは、転送処理の負荷が小さいエントリを検索するためである。転送部30の転送エンジン31に移管しているパケット転送処理のエントリのうち、セッションを機能拡張部40に登録している時間の経過時間が短い、すなわち、呼の中継時間が短いエントリは、転送処理の負荷が小さい。   The reason for searching for the shortest entry is to search for an entry having a small transfer processing load. Of the entries of the packet transfer process transferred to the transfer engine 31 of the transfer unit 30, an entry in which the session registration time is registered in the function expansion unit 40 is short, that is, an entry with a short call relay time is transferred. The processing load is small.

したがって、転送部30に移管しているパケット転送処理のうち、パケット転送処理の負荷の小さいエントリを、転送部30から削除し、機能拡張部40の転送処理部50に戻す。これは、機能拡張部40の転送処理能力が、転送部30の転送処理能力よりも低いので、パケット転送処理の負荷が小さいものを優先的に機能拡張部40の転送処理部50に戻すためである。   Therefore, of the packet transfer processes transferred to the transfer unit 30, the entry with a small load of the packet transfer process is deleted from the transfer unit 30 and returned to the transfer processing unit 50 of the function expansion unit 40. This is because the transfer processing capability of the function expansion unit 40 is lower than the transfer processing capability of the transfer unit 30, so that the one with a small packet transfer processing load is preferentially returned to the transfer processing unit 50 of the function expansion unit 40. is there.

パケット転送処理の負荷が小さいエントリを転送部30から機能拡張部40に移管する(戻す)ものであれば、「最短のエントリ」に限られず、所定の基準内のエントリであればよい。どのエントリを検索するかは、予め管理者がポリシーとして定めていてもよい。
転送処理制御部54は、ステップS116で検索したエントリの転送機能部を「転送部」から「機能拡張部」に変更するように、転送処理制御テーブル56ーAに書き込む(更新する)(S117)。その後、ステップS118に進む。
As long as an entry with a small load of packet transfer processing is transferred (returned) from the transfer unit 30 to the function expansion unit 40, the entry is not limited to the “shortest entry”, and may be an entry within a predetermined standard. Which entry is to be searched may be determined in advance by the administrator as a policy.
The transfer process control unit 54 writes (updates) in the transfer process control table 56-A so as to change the transfer function unit of the entry searched in step S116 from “transfer unit” to “function expansion unit” (S117). . Thereafter, the process proceeds to step S118.

転送処理制御部54は、転送処理テーブル51にステップS116で検索したエントリを登録する(記録する)(S118)。その後、ステップS119に進む。転送処理制御部54は、動的転送制御設定部55に対して、ステップS116で検索したエントリのエントリ削除要求を送信する(S119)。その後、再度ステップS101に戻る。
この結果、機能拡張部40は、ステップS116で検索して見つかったエントリに合致するパケット転送処理、すなわち、パケット転送処理の負荷が小さいエントリに合致する転送部30で実行しているパケット転送処理を中止させ、パケット転送処理の負荷が小さいエントリを転送部30の転送エンジン31から機能拡張部40の転送処理部50に戻し、機能拡張部40が、負荷が小さいパケット転送処理を実行する。
The transfer process control unit 54 registers (records) the entry searched in step S116 in the transfer process table 51 (S118). Thereafter, the process proceeds to step S119. The transfer processing control unit 54 transmits an entry deletion request for the entry searched in step S116 to the dynamic transfer control setting unit 55 (S119). Then, it returns to step S101 again.
As a result, the function expansion unit 40 performs the packet transfer process that matches the entry found by searching in step S116, that is, the packet transfer process that is being executed by the transfer unit 30 that matches the entry with a low load of the packet transfer process. The entry with a low load of packet transfer processing is returned from the transfer engine 31 of the transfer unit 30 to the transfer processing unit 50 of the function expansion unit 40, and the function expansion unit 40 executes a packet transfer process with a low load.

以上の結果、転送部30に移動しているエントリの数が下がり、転送部30に設定するエントリの数が転送部30でパケット転送処理可能な数を上回らないようにし、転送部30のパケット転送の品質が維持される。転送部30と機能拡張部40とで機能の違い、性能の違いを考慮してパケット転送処理を実行することで、パケット転送処理の安定を実現する。
なお、図11AのステップS101、S102、S103は、図16のステップS407、S408、S412と同じ処理である。
As a result, the number of entries moving to the transfer unit 30 decreases, the number of entries set in the transfer unit 30 does not exceed the number that can be transferred by the transfer unit 30, and the packet transfer of the transfer unit 30 Quality is maintained. By performing packet transfer processing in consideration of functional differences and performance differences between the transfer unit 30 and the function expansion unit 40, stable packet transfer processing is realized.
Note that steps S101, S102, and S103 in FIG. 11A are the same processes as steps S407, S408, and S412 in FIG.

図12は、エントリ設定要求の一連の動作を表したシーケンス図の例である。
機能拡張部40の転送処理制御部54は、動的転送制御設定部55に対して、機能拡張部40が実行している転送処理を転送部30が実行するように変更すること、すなわち、機能拡張部40が実行している転送処理のエントリを転送部30に追加することを要求するエントリ設定要求を送信する(S1401)。エントリ設定要求は、所定の選択条件に応じて、例えば、機能拡張部40でのパケット転送処理の負荷が所定の閾値より高くなる場合などに送信される。
FIG. 12 is an example of a sequence diagram showing a series of operations for entry setting requests.
The transfer processing control unit 54 of the function expansion unit 40 changes the dynamic transfer control setting unit 55 so that the transfer unit 30 executes the transfer process performed by the function expansion unit 40, that is, the function An entry setting request for requesting that the entry of the transfer process being executed by the extension unit 40 be added to the transfer unit 30 is transmitted (S1401). The entry setting request is transmitted according to a predetermined selection condition, for example, when the load of packet transfer processing in the function expansion unit 40 is higher than a predetermined threshold.

エントリ設定要求を受信した動的転送制御設定部55は、基本制御部10の動的転送制御部20にエントリ設定要求を送信する(S1402)。エントリ設定要求を受信した動的転送制御部20は、動的転送制御テーブル23を参照し、エントリの最大数を超過していないかチェックする(S1403)。チェックの結果、エントリの最大数を超過していなければ、動的転送制御部20は転送部30の転送エンジン制御部34にエントリ設定要求を送信する(S1404)。なお、チェックの結果、エントリの最大数を超過する場合、動的転送制御部20は機能拡張部40にエントリの最大数超過の応答を送信する。   The dynamic transfer control setting unit 55 that has received the entry setting request transmits the entry setting request to the dynamic transfer control unit 20 of the basic control unit 10 (S1402). The dynamic transfer control unit 20 that has received the entry setting request refers to the dynamic transfer control table 23 and checks whether the maximum number of entries has been exceeded (S1403). If the maximum number of entries is not exceeded as a result of the check, the dynamic transfer control unit 20 transmits an entry setting request to the transfer engine control unit 34 of the transfer unit 30 (S1404). As a result of the check, if the maximum number of entries is exceeded, the dynamic transfer control unit 20 transmits a response indicating that the maximum number of entries has been exceeded to the function expansion unit 40.

エントリ設定要求を受信した転送エンジン制御部34は、転送テーブル32を参照してエントリ設定要求の各情報と重複したエントリがないかを確認し、重複したエントリがなければ新しいエントリとしてエントリ設定要求の各情報を転送テーブル32に書き込み(記録し)(S1405)、動的転送制御部20に設定成功の応答を返す(送信する)(S1406)。   The transfer engine control unit 34 that has received the entry setting request refers to the transfer table 32 to check whether there is an entry that duplicates each piece of information in the entry setting request. If there is no duplicate entry, the transfer engine control unit 34 sets the entry setting request as a new entry. Each information is written (recorded) in the transfer table 32 (S1405), and a response indicating successful setting is returned (transmitted) to the dynamic transfer control unit 20 (S1406).

設定成功の応答を受信した動的転送制御部20は、動的転送制御テーブル23にステップS1403にて受信したエントリ設定要求の各情報をエントリとして書き込み(記録し)(S1407)、機能拡張部40の動的転送制御設定部55に設定成功の応答を返す(送信する)(S1408)。設定成功の応答を受信した動的転送制御設定部55は、転送処理制御部54に設定成功の応答を返す(送信する)(S1409)。   The dynamic transfer control unit 20 that has received the setting success response writes (records) each entry setting request information received in step S1403 as an entry in the dynamic transfer control table 23 (S1407), and the function expansion unit 40 A response indicating that the setting was successful is returned (transmitted) to the dynamic transfer control setting unit 55 (S1408). The dynamic transfer control setting unit 55 that has received the setting success response returns (sends) a setting success response to the transfer processing control unit 54 (S1409).

図13は、エントリ削除要求の一連の動作を表したシーケンス図の例である。
転送処理制御部54は、動的転送制御設定部55に対して、転送部30が実行している転送処理を機能拡張部40が実行するように変更すること、すなわち、転送部30が実行している転送処理のエントリを転送部30から削除することを要求するエントリ削除要求を送信する(S1501)。エントリ削除要求は、例えば、転送部30に登録したパケット転送処理のエントリの数が最大数を超過する場合、または、機能拡張部40でのパケット転送処理の負荷が所定の閾値より低くなる場合などに送信される。
FIG. 13 is an example of a sequence diagram showing a series of operations for an entry deletion request.
The transfer process control unit 54 changes the transfer process executed by the transfer unit 30 to the dynamic transfer control setting unit 55 so that the function expansion unit 40 executes, that is, the transfer unit 30 executes the transfer process. An entry deletion request is sent to request deletion of the transfer processing entry from the transfer unit 30 (S1501). The entry deletion request is, for example, when the number of packet transfer processing entries registered in the transfer unit 30 exceeds the maximum number, or when the load of packet transfer processing in the function expansion unit 40 is lower than a predetermined threshold. Sent to.

エントリ削除要求を受信した動的転送制御設定部55は、動的転送制御部20にエントリ削除要求を送信する(S1502)。エントリ削除要求を受信した動的転送制御部20は、動的転送制御テーブル23を参照し、エントリ削除要求の各情報に合致するエントリが存在するかチェックする(S1503)。チェックの結果、エントリ削除要求に合致するエントリが存在すれば、動的転送制御部20は転送エンジン制御部34にエントリ削除要求を送信する(S1504)。   The dynamic transfer control setting unit 55 that has received the entry deletion request transmits an entry deletion request to the dynamic transfer control unit 20 (S1502). The dynamic transfer control unit 20 that has received the entry deletion request refers to the dynamic transfer control table 23 and checks whether there is an entry that matches each piece of information of the entry deletion request (S1503). As a result of the check, if there is an entry that matches the entry deletion request, the dynamic transfer control unit 20 transmits the entry deletion request to the transfer engine control unit 34 (S1504).

エントリ削除要求を受信した転送エンジン制御部34は、転送テーブル32を参照してエントリ削除要求の各情報に合致するエントリを検索し、見つかったエントリを転送テーブル32から削除し(S1505)、動的転送制御部20に削除成功の応答を返す(送信する)(S1506)。   Upon receiving the entry deletion request, the transfer engine control unit 34 refers to the transfer table 32 to search for an entry that matches each piece of information of the entry deletion request, deletes the found entry from the transfer table 32 (S1505), and dynamically A deletion success response is returned (transmitted) to the transfer control unit 20 (S1506).

削除成功の応答を受信した動的転送制御部20は、動的転送制御テーブル23からエントリ削除要求の各情報に合致するエントリを削除し(S1507)、動的転送制御設定部55に削除成功の応答を返す(送信する)(S1508)。削除成功の応答を受信した動的転送制御設定部55は、転送処理制御部54に削除成功の応答を返す(送信する)(S1509)。
通信装置1は、ステップS1505によって、転送テーブル32から削除した情報に合致するパケット群に対する、転送部30の転送処理を中止する。
The dynamic transfer control unit 20 that has received the deletion success response deletes the entry that matches the information of the entry deletion request from the dynamic transfer control table 23 (S1507), and the dynamic transfer control setting unit 55 indicates that the deletion was successful. A response is returned (sent) (S1508). The dynamic transfer control setting unit 55 that has received the deletion success response returns (sends) a deletion success response to the transfer processing control unit 54 (S1509).
In step S <b> 1505, the communication device 1 stops the transfer process of the transfer unit 30 for the packet group that matches the information deleted from the transfer table 32.

以上の動作により、本実施例は、複数の転送機能部を持つ通信装置において、それぞれの転送機能部の特性と転送処理の処理状況に応じて、転送処理を行う転送機能部をセッション毎に変更することができる。また、本実施例は、転送機能を実装する異種の機能部(転送部と機能拡張部)の特性と処理状況に応じて、異種の機能部間で効率的な転送処理の分散を行い、安定した転送処理を実現する。また、本実施例は、転送されるパケットの品質の向上を実現する。   With the above operation, in this embodiment, in the communication apparatus having a plurality of transfer function units, the transfer function unit that performs the transfer process is changed for each session according to the characteristics of each transfer function unit and the processing status of the transfer process. can do. In addition, according to the present embodiment, transfer processing is efficiently distributed among different types of functional units according to the characteristics and processing status of different types of functional units (transfer units and function expansion units) that implement transfer functions, and stable. Realize the transfer process. In addition, the present embodiment realizes an improvement in the quality of transferred packets.

具体的には、転送処理の性能は高いが登録可能なエントリ数が少ない転送エンジン31と、転送処理の性能は低いが登録可能なエントリ数が多い転送処理部50において、所定の選択条件であるセッションの継続時間を基に、ある呼のセッションの継続中、つまり、機能拡張部40での付加機能の処理は実行したままで、転送処理を行う転送機能部を機能拡張部40の転送処理部50から転送部30の転送エンジン31に変更して、転送部30と機能拡張部40間で転送処理の効率的な処理分散を行い、安定した転送処理を実現する。   Specifically, the predetermined selection condition is used in the transfer engine 31 having a high transfer processing performance but a small number of registerable entries and the transfer processing unit 50 having a low transfer processing performance but a large number of registerable entries. Based on the duration of the session, a transfer function unit that performs a transfer process while a session of a call is continuing, that is, while the process of the additional function in the function extension unit 40 is executed, is transferred to the transfer processing unit of the function extension unit 40 The transfer engine 31 of the transfer unit 30 is changed from 50 to perform efficient processing distribution of transfer processing between the transfer unit 30 and the function expansion unit 40 to realize stable transfer processing.

また、本実施例において、機能拡張部40で行っているパケット転送処理を機能拡張部40から転送部30へ移管し、移管したパケット転送処理を転送部30から機能拡張部40へ戻しても、元々機能拡張部40で付加機能の処理を実行されることなく、つまり、元々機能拡張部40を経由することなく転送されるパケット(例えば、コアI/F61を介して受信し、転送エンジン31で転送され、加入者I/F60を介して送信する動画データなどのパケット)の転送処理は、継続される。   In the present embodiment, the packet transfer processing performed by the function expansion unit 40 is transferred from the function expansion unit 40 to the transfer unit 30, and the transferred packet transfer process is returned from the transfer unit 30 to the function expansion unit 40. A packet (for example, received via the core I / F 61) that is transferred without the function expansion unit 40 originally executing the processing of the additional function, that is, without passing through the function expansion unit 40, is transferred by the transfer engine 31. Transfer processing of packets such as moving image data transferred and transmitted via the subscriber I / F 60 is continued.

また、通信装置1に転送部30や機能拡張部40がそれぞれ複数搭載される場合は、基本制御部10の動的転送制御部20にて、例えば、転送部30毎の転送テーブル32を制御し、機能拡張部40毎にエントリ設定要求やエントリ削除要求を識別し、識別した要求に従って動作する。   When a plurality of transfer units 30 and function expansion units 40 are installed in the communication device 1, for example, the dynamic transfer control unit 20 of the basic control unit 10 controls the transfer table 32 for each transfer unit 30. The entry setting request and the entry deletion request are identified for each function expansion unit 40, and the operation is performed according to the identified request.

本実施例では、転送エンジン31は転送部30内に、転送処理部50と転送処理制御部54は機能拡張部40内に配置されているが、通信装置1の中に、パケット転送を担う複数の機能部として転送エンジンと転送処理部が存在し、パケット転送を行う機能部である転送エンジンまたは転送処理部を選択する制御を行う機能部として転送処理制御部が存在すれば、それらが配置される機能部(モジュールカード)は特に限定されるものではない。   In this embodiment, the transfer engine 31 is arranged in the transfer unit 30, and the transfer processing unit 50 and the transfer processing control unit 54 are arranged in the function expansion unit 40. If there is a transfer engine and a transfer processing unit as functional units of the transfer processing unit, and a transfer processing control unit as a functional unit that performs control for selecting a transfer engine or transfer processing unit that is a functional unit that performs packet transfer, these are arranged. The functional unit (module card) to be used is not particularly limited.

次に、通信装置1が、付加機能の処理としてDPI処理を実行する場合を説明する。つまり、付加機能実行部53がDPI処理部として動作する。
DPI処理部53は、通信装置1が転送するパケットに対して付加機能であるDPI処理機能を実行する。DPI処理部53は、転送部30から受信したパケット群に属するパケットに含まれる各情報を基に、受信したパケット群を特定する。特定したパケット群に基づいて、転送処理制御部54に対してDPI処理部53が処理するパケット群を識別する登録要求であるフローの登録を要求するフロー登録要求を送信する。フロー登録要求は、登録を要求するパケット群のフローを特定する情報を含み、例えば、送信元アドレス、送信先アドレスおよびプロトコル番号などの情報である。なお、受信したパケット群を特定する際のトリガは、予め管理者によって設定されている。
Next, the case where the communication apparatus 1 executes the DPI process as an additional function process will be described. That is, the additional function execution unit 53 operates as a DPI processing unit.
The DPI processing unit 53 executes a DPI processing function that is an additional function for the packet transferred by the communication device 1. The DPI processing unit 53 identifies the received packet group based on each piece of information included in the packet belonging to the packet group received from the transfer unit 30. Based on the specified packet group, a flow registration request for requesting registration of a flow, which is a registration request for identifying a packet group processed by the DPI processing unit 53, is transmitted to the transfer processing control unit. The flow registration request includes information for specifying a flow of a packet group for which registration is requested, for example, information such as a transmission source address, a transmission destination address, and a protocol number. A trigger for specifying the received packet group is set in advance by the administrator.

また、DPI処理部53は、実行する検査処理を中止する際に、登録を要求したフローの削除を要求するフロー削除要求を転送処理制御部54に対して送信する。フロー削除要求は、削除を要求するパケット群のフローを特定する情報を含み、例えば、送信元アドレス、送信先アドレスおよびプロトコル番号などの情報である。   In addition, when canceling the inspection process to be executed, the DPI processing unit 53 transmits to the transfer processing control unit 54 a flow deletion request that requests deletion of the flow that has requested registration. The flow deletion request includes information specifying a flow of a packet group that requests deletion, and is information such as a transmission source address, a transmission destination address, and a protocol number, for example.

DPI処理部53は、転送部30からパケットを受信すると、受信したパケットに含まれる各情報を基に受信したパケットが属するパケット群を特定する。特定したパケット群に基づいて、転送処理制御部54に対してフロー登録要求を送信する。   When the DPI processing unit 53 receives a packet from the transfer unit 30, the DPI processing unit 53 specifies a packet group to which the received packet belongs based on each piece of information included in the received packet. Based on the identified packet group, a flow registration request is transmitted to the transfer processing control unit 54.

転送処理制御部54は、DPI処理部53からフロー登録要求を受信すると、登録を要求されたフロー登録要求の各情報をDPI処理部53が処理するパケット群のフローを識別する情報であるフロー情報として転送処理制御テーブル56―Bに格納してフロー情報を登録する。また、転送処理制御部54は、転送処理制御テーブル56ーBに格納されたフローの情報と一致するパケット群を転送する転送機能部を変更する(切り替える)。つまり、転送処理制御部54は、機能拡張部40が受信し、DPI処理部53によって付加機能の処理であるDPI処理を実行された後のパケット群の転送を行う転送機能部を決定し、転送機能部を変更する。   When the transfer processing control unit 54 receives a flow registration request from the DPI processing unit 53, the transfer processing control unit 54 is flow information that is information for identifying a flow of a packet group that the DPI processing unit 53 processes each piece of information of the flow registration request for which registration is requested. Is stored in the transfer processing control table 56-B and the flow information is registered. In addition, the transfer processing control unit 54 changes (switches) a transfer function unit that transfers a packet group that matches the flow information stored in the transfer processing control table 56-B. That is, the transfer processing control unit 54 determines a transfer function unit that transfers the packet group after the function expansion unit 40 receives and the DPI processing unit 53 executes the DPI processing that is the processing of the additional function, Change the functional part.

また、転送処理制御部54は、転送処理制御テーブル56ーBに登録した各フロー情報を転送処理部50が転送するパケット群を識別する転送パケット群識別情報のエントリである転送処理エントリとして転送処理テーブル51に格納して、転送処理エントリを登録する。   The transfer processing control unit 54 performs transfer processing as a transfer processing entry that is an entry of transfer packet group identification information that identifies each packet information registered in the transfer processing control table 56-B. Store in the table 51 and register the transfer processing entry.

転送処理制御部54が転送処理制御テーブル56にフロー情報を登録することで、DPI処理部53が、転送処理制御テーブル56ーBを参照して、フロー情報からDPI処理を行うパケット群を識別し、識別したパケット群に対してDPI処理を実行する。つまり、転送処理制御テーブル56ーBのエントリは、DPI処理部53が付加機能の処理であるDPI処理を行うパケット群を識別するフロー情報を含むエントリである。   When the transfer processing control unit 54 registers the flow information in the transfer processing control table 56, the DPI processing unit 53 refers to the transfer processing control table 56-B and identifies a packet group that performs DPI processing from the flow information. Then, DPI processing is executed on the identified packet group. That is, the entry of the transfer process control table 56-B is an entry including flow information for identifying a packet group for which the DPI processing unit 53 performs DPI processing that is processing of an additional function.

また、転送処理制御部54が転送処理テーブル51に転送処理エントリを登録することで、転送処理部50が、転送処理テーブル51を参照して、転送処理を行うDPI処理を実行した後のパケット群を識別し、識別したパケット群に対して転送処理を実行する。つまり、転送処理テーブル51のエントリは、DPI処理を実行した後のパケット群であり転送処理部50が転送処理を行うパケット群を識別するエントリである。   In addition, the transfer processing control unit 54 registers the transfer processing entry in the transfer processing table 51, so that the transfer processing unit 50 refers to the transfer processing table 51 and executes the DPI processing for performing the transfer processing. And the transfer process is executed for the identified packet group. In other words, the entry in the transfer processing table 51 is an entry for identifying a packet group after the DPI process is performed and identifying a packet group for which the transfer processing unit 50 performs the transfer process.

転送処理制御テーブル56―Bは、フロー情報と、閾値に関する情報と、フロー情報で識別されるパケット群が使用した帯域量(使用帯域量)と、DPI処理部53がDPI処理を実行した後のパケット群の転送処理を行う転送機能部(転送部30の転送エンジン31または機能拡張部40の転送処理部50)を指定する情報を格納する。つまり、転送処理制御テーブル56―Bには、機能拡張部40が処理するフローが登録される。   The transfer processing control table 56-B includes flow information, information about threshold values, a bandwidth amount used by the packet group identified by the flow information (used bandwidth amount), and the DPI processing unit 53 after executing the DPI processing. Information for specifying a transfer function unit (transfer engine 31 of the transfer unit 30 or transfer processing unit 50 of the function expansion unit 40) that performs transfer processing of the packet group is stored. That is, the flow processed by the function expansion unit 40 is registered in the transfer processing control table 56-B.

図14は、機能拡張部40の転送処理制御テーブル56―Bの例である。転送処理制御テーブル56―Bは、DPI処理部53に対応して作成される。
転送処理制御テーブル56―Bは、転送処理制御テーブル56―Aと、制限帯域量580、使用帯域量581が異なる。
FIG. 14 is an example of the transfer processing control table 56-B of the function expansion unit 40. The transfer process control table 56 -B is created corresponding to the DPI processing unit 53.
The transfer process control table 56-B is different from the transfer process control table 56-A in the limited bandwidth amount 580 and the used bandwidth amount 581.

転送処理制御テーブル56―BのエントリID561、送信元アドレス562、送信先アドレス563、プロトコル番号564は、転送処理制御部54がDPI処理部53から受信したフロー登録要求の各情報であるフロー情報が、転送処理制御部54によって格納される。また、転送機能部568は、転送処理制御部54によって決定された、DPI処理を実行された後のパケット群の転送を行う転送機能部が格納される。   The entry ID 561, the transmission source address 562, the transmission destination address 563, and the protocol number 564 of the transfer processing control table 56-B are flow information that is each information of the flow registration request received from the DPI processing unit 53 by the transfer processing control unit 54. And stored by the transfer processing control unit 54. In addition, the transfer function unit 568 stores a transfer function unit that transfers the packet group after the DPI process is executed, which is determined by the transfer process control unit 54.

制限帯域量580は、機能拡張部40に設定される閾値に関する情報であり、転送機能部が転送するパケット群を制限する帯域量(パケット量)の情報である。制限帯域量580は、転送処理制御部54が記憶する閾値が転送処理制御部54によって格納される。使用帯域量581は、フロー情報で識別されるパケット群が使用した帯域量、つまり、フロー情報で識別されるパケット群を転送部30または機能拡張部40が転送した量を示す情報である。使用帯域量581は、転送処理制御部54が統計管理部22と統計テーブル52から取得した統計情報が、転送処理制御部54によって格納される。   The limited bandwidth amount 580 is information regarding a threshold set in the function expansion unit 40, and is information on a bandwidth amount (packet amount) that limits a packet group transferred by the transfer function unit. As for the limited bandwidth amount 580, the threshold stored in the transfer processing control unit 54 is stored by the transfer processing control unit 54. The used bandwidth amount 581 is information indicating the amount of bandwidth used by the packet group identified by the flow information, that is, the amount of transfer of the packet group identified by the flow information by the transfer unit 30 or the function expansion unit 40. As for the used bandwidth amount 581, statistical information acquired by the transfer processing control unit 54 from the statistical management unit 22 and the statistical table 52 is stored by the transfer processing control unit 54.

DPI処理部53は、転送処理制御テーブル56―Bに格納されたフロー情報を参照して、DPI処理を実行する対象のパケット群を識別する。また、転送処理制御部54は、転送処理制御テーブル56―Bに格納された転送機能部568を参照して、DPI処理を実行した後のパケットを転送する転送機能部(転送部30または機能拡張部40)を特定する。   The DPI processing unit 53 refers to the flow information stored in the transfer processing control table 56-B and identifies a packet group to be subjected to DPI processing. Further, the transfer process control unit 54 refers to the transfer function unit 568 stored in the transfer process control table 56-B and transfers the packet after executing the DPI process (the transfer unit 30 or the function extension). Part 40).

転送処理制御部54は、繰り返し、例えば、定期的に基本制御部10の統計管理部22に統計管理部22が管理する転送部30が転送したパケットの統計情報の取得を要求する統計取得要求を送信し、統計管理部22から統計情報を受信する。転送処理制御部54は、受信した統計情報のエントリIDに該当する転送処理制御テーブル56―BのエントリID561の使用帯域量581に、受信した統計情報の使用帯域量を書き込む(格納する)。   The transfer processing control unit 54 repeatedly issues, for example, a statistical acquisition request that requests the statistical management unit 22 of the basic control unit 10 to acquire statistical information of packets transferred by the transfer unit 30 managed by the statistical management unit 22 periodically. Transmit and receive statistical information from the statistical management unit 22. The transfer processing control unit 54 writes (stores) the used bandwidth amount of the received statistical information in the used bandwidth amount 581 of the entry ID 561 of the transfer processing control table 56-B corresponding to the entry ID of the received statistical information.

また、転送処理制御部54は、繰り返し、例えば、定期的に統計テーブル25から統計情報を読み出し、読み出した統計情報のエントリIDに該当する転送処理制御テーブル56―BのエントリID23171の使用帯域量581に、読み出した統計情報の使用帯域量を書き込む(格納する)。   In addition, the transfer processing control unit 54 repeatedly reads, for example, statistical information from the statistical table 25 periodically, and uses a bandwidth 581 of the entry ID 23171 of the transfer processing control table 56-B corresponding to the entry ID of the read statistical information. Is written (stored) in the used bandwidth amount of the read statistical information.

転送処理制御部54の動作を、図11を用いて説明する。なお、付加機能実行部53がセッション制御部の場合の図11の動作と異なる箇所を説明する。すなわち、セッション制御部53の場合のステップS101、ステップS104、ステップS111、ステップS116それぞれを、DPI処理部53の場合のステップS201、ステップS204、ステップS211、ステップS216として説明する。他のステップでは、「セッション」などを「フロー」などと適宜読み替える。また、転送処理制御部54は、図10Bで示した閾値を保持しているものとして説明する。   The operation of the transfer processing control unit 54 will be described with reference to FIG. Note that portions different from the operation of FIG. 11 when the additional function execution unit 53 is a session control unit will be described. That is, Step S101, Step S104, Step S111, and Step S116 in the case of the session control unit 53 will be described as Step S201, Step S204, Step S211, and Step S216 in the case of the DPI processing unit 53, respectively. In other steps, “session” or the like is appropriately read as “flow” or the like. Further, the transfer processing control unit 54 will be described as holding the threshold shown in FIG. 10B.

ステップS201において、転送処理制御部54は、付加機能実行部53から登録要求を受信するかどうか確認する(S201)。つまり、転送処理制御部54は、DPI処理部53からフロー情報の登録を要求するフロー登録要求を受信するかどうかを確認する(S201)。   In step S201, the transfer processing control unit 54 checks whether or not a registration request is received from the additional function execution unit 53 (S201). In other words, the transfer processing control unit 54 checks whether or not a flow registration request for requesting registration of flow information is received from the DPI processing unit 53 (S201).

ステップS204において、転送処理制御部54は、付加機能実行部53から削除要求を受信するかどうか確認する(S204)。つまり、転送処理制御部54は、DPI処理部53から転送処理制御テーブル56ーBに記録するフロー情報の削除を要求するフロー削除要求を受信するかどうかを確認する(S204)。   In step S204, the transfer processing control unit 54 checks whether or not a deletion request is received from the additional function execution unit 53 (S204). That is, the transfer processing control unit 54 checks whether or not a flow deletion request for requesting deletion of the flow information recorded in the transfer processing control table 56-B is received from the DPI processing unit 53 (S204).

ステップS211において、転送処理制御部54は、転送処理制御テーブル56―Bを参照し、転送機能部568が「機能拡張部」であるエントリの情報と閾値とを比較し、閾値を超えているエントリを検索する(S211)。つまり、転送処理制御部54は、転送機能部568が「機能拡張部」であるエントリのうち、使用帯域量581に格納された使用帯域量が、転送処理制御部54が保持する閾値である制限帯域量580を超えているエントリを検索する(S211)。   In step S211, the transfer processing control unit 54 refers to the transfer processing control table 56-B, compares the information of the entry in which the transfer function unit 568 is a “function expansion unit” with a threshold value, and enters an entry that exceeds the threshold value. Is searched (S211). In other words, the transfer processing control unit 54 restricts the use bandwidth amount stored in the use bandwidth amount 581 among the entries whose transfer function unit 568 is the “function expansion unit” as a threshold held by the transfer processing control unit 54. An entry exceeding the bandwidth amount 580 is searched (S211).

ここで、使用帯域量が、転送処理制御部54が保持する閾値を超えているエントリは、機能拡張部40での転送処理の負荷が高く、機能拡張部40での負荷が所定の閾値を超えているエントリであり、使用帯域量が、転送処理制御部54が保持する閾値を超えていないエントリは、機能拡張部40での転送処理の負荷が低く、機能拡張部40での負荷が所定の閾値を超えていないエントリである。   Here, an entry in which the amount of bandwidth used exceeds the threshold held by the transfer processing control unit 54 has a high transfer processing load in the function expansion unit 40, and the load in the function expansion unit 40 exceeds a predetermined threshold. Entries whose bandwidth usage does not exceed the threshold held by the transfer processing control unit 54 has a low transfer processing load at the function expansion unit 40 and the load at the function expansion unit 40 is a predetermined value. The entry does not exceed the threshold.

ステップS216において、転送処理制御部54は、転送処理制御テーブル56ーBを参照し、転送機能部568が「転送部」であるエントリのうち、処理負荷が小さいエントリを検索する(S216)。つまり、転送処理制御部54は、使用帯域量581に格納された使用帯域量が最小のエントリを検索する(S216)。   In step S216, the transfer processing control unit 54 refers to the transfer processing control table 56-B, and searches for an entry with a low processing load among entries whose transfer function unit 568 is “transfer unit” (S216). In other words, the transfer processing control unit 54 searches for an entry with the minimum used bandwidth amount stored in the used bandwidth amount 581 (S216).

最小のエントリを検索するのは、パケット転送処理の負荷が小さいエントリを検索するためである。転送部30の転送エンジン31に移管している転送処理のエントリのうち、DPI処理などが実行されるパケットのフローが使用する帯域量が小さい、すなわち、DPI処理などが実行されるパケットの量が少ないエントリは、転送処理の負荷が小さい。   The reason for searching for the minimum entry is to search for an entry with a small load of packet transfer processing. Of the transfer processing entries transferred to the transfer engine 31 of the transfer unit 30, the amount of bandwidth used by the flow of packets for which DPI processing or the like is executed is small, that is, the amount of packets for which DPI processing or the like is executed is small. With a small number of entries, the load of transfer processing is small.

したがって、転送部30に移管している転送処理のうち、転送処理の負荷の小さいエントリを機能拡張部40の転送処理部50に戻す。これは、機能拡張部40の転送処理能力が、転送部30の転送処理能力よりも低いので、転送処理の負荷が小さいものを優先的に機能拡張部40の転送処理部50に戻すためである。   Therefore, among the transfer processes transferred to the transfer unit 30, the entry with a small load on the transfer process is returned to the transfer processing unit 50 of the function expansion unit 40. This is because the transfer processing capability of the function expansion unit 40 is lower than the transfer processing capability of the transfer unit 30, so that the one with a small transfer processing load is preferentially returned to the transfer processing unit 50 of the function expansion unit 40. .

転送処理の負荷が小さいエントリを転送部30から機能拡張部40に移管するものであれば、「最小のエントリ」に限られず、所定の基準内のエントリであればよい。どのエントリを検索するかは、予め管理者がポリシーとして定めていてもよい。   As long as an entry with a small transfer processing load is transferred from the transfer unit 30 to the function expansion unit 40, the entry is not limited to the “minimum entry”, and may be an entry within a predetermined standard. Which entry is to be searched may be determined in advance by the administrator as a policy.

以上の動作により、複数の転送機能部を持つ通信装置において、それぞれの転送機能部の特性と転送処理の処理状況に応じて、転送処理を行う転送機能部をフロー毎に移動することができる。また、本実施例は、転送機能を実装する異種の機能部(転送部と機能拡張部)の特性と処理状況に応じて、異種の機能部間で効率的な転送処理の分散を行い、安定した転送処理を実現する。また、本実施例は、転送されるパケットの品質の向上を実現する。   With the above operation, in a communication apparatus having a plurality of transfer function units, the transfer function unit that performs the transfer process can be moved for each flow according to the characteristics of each transfer function unit and the processing status of the transfer process. In addition, according to the present embodiment, transfer processing is efficiently distributed among different types of functional units according to the characteristics and processing status of different types of functional units (transfer units and function expansion units) that implement transfer functions, and stable. Realize the transfer process. In addition, the present embodiment realizes an improvement in the quality of transferred packets.

具体的には、性能は高いが登録可能なエントリ数が少ない転送部30の転送エンジン31と、性能は低いが登録可能なエントリ数が多い機能拡張部40の転送処理部50において、フローの使用帯域量を基に、あるフローのDPI処理の継続中、つまり、機能拡張部40での付加機能の処理は実行したままで、転送処理を行う転送機能部を機能拡張部40の転送処理部50から転送部30の転送エンジン31に変更して、転送部30と機能拡張部40間で転送処理の効率的な処理分散を行い、安定した転送処理を実現する。   Specifically, the flow is used in the transfer engine 31 of the transfer unit 30 having high performance but a small number of entries that can be registered, and the transfer processing unit 50 of the function expansion unit 40 having a low performance but a large number of entries that can be registered. Based on the amount of bandwidth, while the DPI processing of a flow is continued, that is, while the processing of the additional function in the function expansion unit 40 is executed, the transfer function unit that performs the transfer processing is changed to the transfer processing unit 50 of the function expansion unit 40. Is changed to the transfer engine 31 of the transfer unit 30 to perform efficient processing distribution of the transfer process between the transfer unit 30 and the function expansion unit 40 to realize stable transfer processing.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。   In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.

また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えばFPGAのような集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(SolidStateDrive)等の記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD等の記録媒体に置くことができる。   Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment. Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit such as an FPGA. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function may be placed in a recording device such as a memory, a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC (Integrated Circuit) card, an SD card, or a DVD. it can.

また、「aaaテーブル」の表現にて各種情報を説明したが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。また、「格納する」の表現にて各種テーブルに各情報を記録することを説明したが、「登録する」または「設定する」と表現されてもよい。   Moreover, although various information was demonstrated by the expression of "aaa table", various information may be expressed by data structures other than a table. In order to show that it does not depend on the data structure, the “aaa table” can be called “aaa information”. Further, the description has been given of recording each information in various tables in the expression “store”, but it may be expressed as “register” or “set”.

また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。   Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

1 通信装置
10 基本制御部
20 動的転送制御部
21 閾値管理部
23 動的転送制御テーブル
30 転送部
31 転送エンジン
32 転送テーブル
40 機能拡張部
50 転送処理部
51 転送処理テーブル
53 付加機能実行部
54 転送処理制御部
55 動的転送制御設定部
56 転送処理制御テーブル
DESCRIPTION OF SYMBOLS 1 Communication apparatus 10 Basic control part 20 Dynamic transfer control part 21 Threshold management part 23 Dynamic transfer control table 30 Transfer part 31 Transfer engine 32 Transfer table 40 Function expansion part 50 Transfer process part 51 Transfer process table 53 Additional function execution part 54 Transfer processing control unit 55 Dynamic transfer control setting unit 56 Transfer processing control table

Claims (12)

パケットを転送先に転送する転送部を備える通信装置であって、
前記転送部から受信する複数のパケットのまとまりであるパケット群に対して所定の処理を実行する機能実行部と、
前記機能実行部によって前記所定の処理が実行された前記パケット群を転送先に転送する転送処理を実行する転送処理部と、
前記機能実行部が前記所定の処理を実行する対象のパケット群である処理対象パケット群に属するパケットのうち、所定の条件のパケットの転送処理を前記転送部が実行するように制御する転送処理制御部と、
を有する機能拡張部
を備える
ことを特徴とする通信装置。
A communication device including a transfer unit that transfers a packet to a transfer destination,
A function execution unit that executes predetermined processing on a packet group that is a group of a plurality of packets received from the transfer unit;
A transfer processing unit that executes a transfer process of transferring the packet group, on which the predetermined process has been executed by the function execution unit, to a transfer destination;
Transfer processing control for controlling the transfer unit to execute transfer processing of a packet having a predetermined condition among packets belonging to a processing target packet group that is a packet group to be subjected to the predetermined processing by the function execution unit. And
A communication device comprising a function expansion unit having
請求項1に記載の通信装置であって、
前記所定の条件のパケットは、
前記機能実行部によって前記所定の処理が実行されたパケット群に属し、前記機能実行部が前記所定の処理を実行した後に前記転送部から受信するパケットであり、
前記転送処理制御部は、
前記機能実行部による前記所定の処理の実行を維持し、前記転送処理部が実行する前記処理対象パケット群に属するパケットの転送処理を前記転送部が実行するように制御する
ことを特徴とする通信装置。
The communication device according to claim 1,
The packet of the predetermined condition is
A packet that belongs to a packet group in which the predetermined process is executed by the function execution unit, and that the function execution unit receives from the transfer unit after executing the predetermined process;
The transfer processing control unit
Communication that maintains execution of the predetermined processing by the function execution unit and controls the transfer unit to execute transfer processing of packets belonging to the processing target packet group that the transfer processing unit executes apparatus.
請求項2に記載の通信装置であって、
前記転送処理制御部は、
前記転送処理部の転送処理の負荷状況を監視し、前記負荷状況に応じて、前記転送処理を前記転送処理部から前記転送部に変更するよう制御する
ことを特徴とする通信装置。
The communication device according to claim 2,
The transfer processing control unit
A communication apparatus that monitors a load state of a transfer process of the transfer processing unit and controls to change the transfer process from the transfer processing unit to the transfer unit according to the load state.
請求項3に記載の通信装置であって、
前記機能拡張部は、
前記処理対象パケット群を識別する処理対象識別情報と前記処理対象識別情報にて識別されるパケット群の転送処理を実行する転送機能部を識別する転送機能部情報とを対応づけて格納する転送処理制御情報と、前記転送処理部が転送する前記パケット群の転送先を識別する転送処理情報と、
を記憶する記憶部をさらに有し、
前記転送処理制御部は、
前記転送部から前記パケット群を受信すると、受信した前記パケット群に属する任意のパケットに含まれる所定の情報を前記処理対象識別情報に格納し、前記転送機能部情報に前記転送機能部として前記機能拡張部を示す情報を格納し、前記処理対象識別情報に格納した前記所定の情報を前記転送処理情報に格納し、
前記転送処理部は、
前記転送処理情報を参照して前記パケット群を転送先に転送する
ことを特徴とする通信装置。
The communication device according to claim 3,
The function expansion unit is
Transfer processing for associating and storing processing target identification information for identifying the processing target packet group and transfer function unit information for identifying a transfer function unit for executing transfer processing of the packet group identified by the processing target identification information Control information, transfer processing information for identifying a transfer destination of the packet group transferred by the transfer processing unit, and
A storage unit for storing
The transfer processing control unit
When the packet group is received from the transfer unit, predetermined information included in an arbitrary packet belonging to the received packet group is stored in the processing target identification information, and the function as the transfer function unit is stored in the transfer function unit information. Storing information indicating an extension unit, storing the predetermined information stored in the processing target identification information in the transfer processing information,
The transfer processing unit
A communication apparatus that transfers the packet group to a transfer destination with reference to the transfer processing information.
請求項4に記載の通信装置であって、
前記所定の処理は、
一連の通信の接続関係を制御する接続制御処理であり、
前記処理対象識別情報は、
前記接続制御処理の処理対象パケット群を識別し、前記接続関係を識別する接続関係情報であり、
前記転送処理制御情報は、
前記接続関係情報を格納した時刻を示す格納時刻情報と前記格納時刻情報に関する閾値と前記処理対象識別情報と前記転送機能部情報とを対応づけて格納し、
前記転送処理制御部は、
前記転送部から前記パケット群を受信すると、受信した前記パケット群に属するパケットのうち外部から受信する前記接続関係の確立を要求する確立要求パケットに含まれる確立を要求する接続関係に関する情報を、前記転送処理制御情報の前記接続関係情報として格納した後、前記格納時刻情報が示す時刻から現在時刻までの経過時間が前記閾値を超える接続関係情報と対応する転送機能部情報の値を前記転送機能部として前記転送部を示す情報に変更して、前記転送処理部での前記転送処理を前記転送部に変更するよう制御する
ことを特徴とする通信装置。
The communication device according to claim 4,
The predetermined process is:
A connection control process that controls the connection relationship of a series of communications.
The processing target identification information is
A connection relation information for identifying a processing target packet group of the connection control process and identifying the connection relation;
The transfer processing control information is
Storing the storage time information indicating the time when the connection relation information is stored, the threshold related to the storage time information, the processing target identification information, and the transfer function unit information in association with each other;
The transfer processing control unit
When receiving the packet group from the transfer unit, information on the connection relationship requesting establishment included in the establishment request packet for requesting establishment of the connection relationship received from the outside of the packets belonging to the packet group, After storing as the connection relation information of the transfer process control information, the value of the transfer function section information corresponding to the connection relation information whose elapsed time from the time indicated by the storage time information to the current time exceeds the threshold value is the transfer function section. And changing to the information indicating the transfer unit, and controlling to change the transfer process in the transfer processing unit to the transfer unit.
請求項5に記載の通信装置であって、
前記転送部は、
外部から受信するパケット群を識別する識別情報と前記識別情報にて識別されるパケット群の転送先とを対応づけて格納する転送情報を有し、
前記転送情報は、
前記識別情報のうち、前記接続制御処理の前記処理対象パケット群を識別する識別情報に対応する転送先として前記機能拡張部を示す情報を予め格納し、
前記転送部は、
前記接続制御処理の前記処理対象パケット群を識別する前記識別情報にて識別されるパケット群を外部から受信すると、前記転送情報を参照して前記識別情報にて識別されるパケット群を転送先である前記機能拡張部に転送する転送処理を実行し、
前記転送処理制御部は、
前記転送機能部情報の値を前記転送機能部として前記転送部を示す情報に変更すると、前記接続関係情報に格納した前記接続関係に関する情報を前記転送部に送信し、
前記転送部は、
受信した前記接続関係に関する情報を前記識別情報として格納した後、格納した前記識別情報にて識別されるパケット群を外部から受信すると、前記機能拡張部へ転送していたパケット群を外部の転送先へ転送する
ことを特徴とする通信装置。
The communication device according to claim 5,
The transfer unit
Transfer information for storing the identification information for identifying the packet group received from outside and the transfer destination of the packet group identified by the identification information in association with each other,
The transfer information is
Among the identification information, information indicating the function expansion unit as a transfer destination corresponding to the identification information for identifying the processing target packet group of the connection control processing is stored in advance,
The transfer unit
When a packet group identified by the identification information that identifies the processing target packet group of the connection control process is received from the outside, the packet group identified by the identification information is referred to at the transfer destination with reference to the transfer information. Execute transfer processing to transfer to the function extension unit,
The transfer processing control unit
When the value of the transfer function unit information is changed to information indicating the transfer unit as the transfer function unit, the information on the connection relationship stored in the connection relationship information is transmitted to the transfer unit,
The transfer unit
After storing the received information related to the connection relationship as the identification information, when receiving a packet group identified by the stored identification information from the outside, the packet group transferred to the function expansion unit is transferred to an external transfer destination A communication device characterized by transferring to a communication device.
請求項3に記載の通信装置であって、
前記転送部は、
外部から受信するパケット群を識別する識別情報と前記識別情報にて識別されるパケット群の転送先とを対応づけて格納する転送情報を有し、
前記外部からパケット群を受信すると、前記転送情報を参照して前記識別情報にて識別されるパケット群を前記転送先に転送する転送処理を実行し、
前記機能拡張部は、
前記処理対象パケット群を識別する処理対象識別情報と前記処理対象識別情報にて識別されるパケット群の転送処理を実行する転送機能部を識別する転送機能部情報とを対応づけて格納する転送処理制御情報と、前記転送処理部が転送する前記パケット群の転送先を識別する転送処理情報と、
を記憶する記憶部をさらに有し、
前記転送処理制御部は、
前記転送部から前記パケット群を受信すると、受信した前記パケット群に属する任意のパケットに含まれる所定の情報を前記処理対象識別情報に格納し、前記転送機能部情報に前記転送機能部として前記転送部を示す情報を格納し、前記処理対象識別情報に格納した前記所定の情報を前記転送部に送信し、
前記転送部は、
受信した前記所定の情報を前記識別情報として格納した後、格納した前記識別情報にて識別されるパケット群を外部から受信すると、受信した前記パケット群を前記転送情報に従って外部の転送先へ転送する
ことを特徴とする通信装置。
The communication device according to claim 3,
The transfer unit
Transfer information for storing the identification information for identifying the packet group received from outside and the transfer destination of the packet group identified by the identification information in association with each other,
When receiving a packet group from the outside, execute a transfer process of transferring the packet group identified by the identification information to the transfer destination with reference to the transfer information,
The function expansion unit is
Transfer processing for associating and storing processing target identification information for identifying the processing target packet group and transfer function unit information for identifying a transfer function unit for executing transfer processing of the packet group identified by the processing target identification information Control information, transfer processing information for identifying a transfer destination of the packet group transferred by the transfer processing unit, and
A storage unit for storing
The transfer processing control unit
When the packet group is received from the transfer unit, predetermined information included in an arbitrary packet belonging to the received packet group is stored in the processing target identification information, and the transfer function unit information is transferred as the transfer function unit. Storing information indicating a section, transmitting the predetermined information stored in the processing target identification information to the transfer section,
The transfer unit
After the received predetermined information is stored as the identification information, when the packet group identified by the stored identification information is received from the outside, the received packet group is transferred to an external transfer destination according to the transfer information A communication device.
請求項7に記載の通信装置であって、
前記所定の処理は、
一連の通信の接続関係を制御する接続制御処理であり、
前記処理対象識別情報は、
前記接続制御処理の処理対象パケット群を識別し、前記接続関係を識別する接続関係情報であり、
前記転送情報は、
前記識別情報のうち、前記接続制御処理の前記処理対象パケット群を識別する識別情報に対応する転送先として前記機能拡張部を示す情報を予め格納し、
前記転送処理制御部は、
前記転送部から前記パケット群を受信すると、受信した前記パケット群に属するパケットのうち外部から受信する前記接続関係の確立を要求する確立要求パケットに含まれる確立を要求する接続関係に関する情報を、前記転送処理制御情報の前記接続関係情報として格納し、前記転送機能部情報に前記転送部を示す情報を格納すると、前記接続関係情報に格納した前記接続関係に関する情報を前記転送部に送信し、
前記転送部は、
受信した前記接続関係に関する情報を前記識別情報として格納した後、格納した前記識別情報にて識別されるパケット群を外部から受信すると、受信した前記パケット群を前記転送情報に従って外部の転送先へ転送し、
前記転送処理制御部は、
前記転送機能部情報の値を前記機能拡張部を示す情報に変更すると、前記転送部が格納した前記転送処理制御部が送信した前記接続関係に関する情報を前記転送部から削除するよう要求する削除要求を前記転送部に送信して前記転送部での前記転送処理を前記転送処理部に変更するよう制御し、
前記転送部は、
受信した前記削除要求に従って、要求された前記接続関係に関する情報を前記転送情報から削除した後、前記予め前記転送先として前記機能拡張部を示す情報を格納した前記識別情報にて識別されるパケット群を外部から受信すると、受信した前記パケット群を前記転送情報に従って転送先である前記機能拡張部へ転送する
ことを特徴とする通信装置。
The communication device according to claim 7,
The predetermined process is:
A connection control process that controls the connection relationship of a series of communications.
The processing target identification information is
A connection relation information for identifying a processing target packet group of the connection control process and identifying the connection relation;
The transfer information is
Among the identification information, information indicating the function expansion unit as a transfer destination corresponding to the identification information for identifying the processing target packet group of the connection control processing is stored in advance,
The transfer processing control unit
When receiving the packet group from the transfer unit, information on the connection relationship requesting establishment included in the establishment request packet for requesting establishment of the connection relationship received from the outside of the packets belonging to the packet group, Storing the connection relation information in the transfer process control information, and storing the information indicating the transfer section in the transfer function section information, transmitting the connection relation information stored in the connection relation information to the transfer section;
The transfer unit
After storing the received information relating to the connection relationship as the identification information, when receiving a packet group identified by the stored identification information from the outside, the received packet group is transferred to an external transfer destination according to the transfer information And
The transfer processing control unit
When the value of the transfer function unit information is changed to information indicating the function extension unit, a deletion request for requesting that the information related to the connection relationship transmitted by the transfer processing control unit stored by the transfer unit is deleted from the transfer unit To transfer to the transfer unit and change the transfer process in the transfer unit to the transfer processing unit,
The transfer unit
In accordance with the received deletion request, a packet group identified by the identification information in which information indicating the function expansion unit is stored in advance as the transfer destination after deleting information on the requested connection relationship from the transfer information Is received from the outside, the received packet group is transferred to the function expansion unit as a transfer destination according to the transfer information.
請求項4に記載の通信装置であって、
前記所定の処理は、
受信したパケット群を検査する検査処理であり、
前記処理対象識別情報は、
前記検査処理の処理対象パケット群を識別し、当該処理対象パケット群のフローを識別するフロー情報であり、
前記転送処理制御情報は、
前記転送機能部が使用したパケット群の帯域量である使用帯域量情報と前記帯域量に関する閾値と前記処理対象識別情報と前記転送機能部情報とを対応づけて格納し、
前記転送処理制御部は、
前記転送部から前記処理対象パケット群を受信すると、受信した前記処理対象パケット群に属する前記任意のパケットに含まれる前記所定の情報を、前記転送処理制御情報の前記フロー情報として格納した後、前記使用帯域量情報が示す帯域量が前記閾値を超えるフロー情報と対応する転送機能部情報の値を前記転送部を示す情報に変更して、前記転送処理部での前記転送処理を前記転送部に変更するよう制御する
ことを特徴とする通信装置。
The communication device according to claim 4,
The predetermined process is:
An inspection process for inspecting received packets.
The processing target identification information is
A flow information for identifying a processing target packet group of the inspection processing and identifying a flow of the processing target packet group;
The transfer processing control information is
Use bandwidth information that is the bandwidth of the packet group used by the transfer function unit, a threshold related to the bandwidth, the processing target identification information, and the transfer function unit information in association with each other.
The transfer processing control unit
When receiving the processing target packet group from the transfer unit, after storing the predetermined information included in the arbitrary packet belonging to the received processing target packet group as the flow information of the transfer processing control information, The value of the transfer function unit information corresponding to the flow information whose bandwidth amount exceeds the threshold value is changed to information indicating the transfer unit, and the transfer processing in the transfer processing unit is changed to the transfer unit. A communication device that is controlled to change.
パケットを転送先に転送する転送部を備える通信装置であって、
前記転送部から受信する複数のパケットのまとまりであるパケット群に対して所定の処理を実行する機能実行部と、
前記機能実行部によって前記所定の処理が実行された前記パケット群を転送先に転送する転送処理を実行する転送処理部と、
前記機能実行部が前記所定の処理を実行した後、前記所定の処理が実行されたパケット群に属するパケットの転送処理を前記転送部または前記転送処理部のいずれかが実行するように制御する転送処理制御部と、
を有する機能拡張部
を備える
ことを特徴とする通信装置。
A communication device including a transfer unit that transfers a packet to a transfer destination,
A function execution unit that executes predetermined processing on a packet group that is a group of a plurality of packets received from the transfer unit;
A transfer processing unit that executes a transfer process of transferring the packet group, on which the predetermined process has been executed by the function execution unit, to a transfer destination;
After the function execution unit executes the predetermined process, the transfer is controlled so that either the transfer unit or the transfer processing unit executes a transfer process of a packet belonging to the packet group for which the predetermined process has been executed. A processing control unit;
Function expansion unit with
With
A communication device.
請求項10に記載の通信装置であって、
前記転送処理制御部は、
前記転送処理部の転送処理の負荷状況を監視し、前記負荷状況に応じて、前記転送処理部が実行する前記所定の処理が実行された前記パケット群の転送処理を前記転送部が実行するように制御する
ことを特徴とする通信装置。
The communication device according to claim 10,
The transfer processing control unit
The transfer processing unit monitors the load status of the transfer processing, and the transfer unit executes the transfer processing of the packet group in which the predetermined processing executed by the transfer processing unit is executed according to the load status. A communication device characterized by controlling the communication.
請求項11に記載の通信装置であって、
前記転送部は、
外部から受信するパケット群を識別する識別情報と前記識別情報にて識別されるパケット群の転送先とを対応づけて格納する転送情報を有し、
前記機能拡張部は、
前記機能実行部が前記所定の処理を実行する対象のパケット群である処理対象パケット群を識別する処理対象識別情報と前記処理対象識別情報にて識別されるパケット群の転送処理を実行する転送機能部を識別する転送機能部情報とを対応づけて格納する転送処理制御情報と、前記転送処理部が転送する前記パケット群の転送先を識別する転送処理情報と、
を記憶する記憶部をさらに有し、
前記転送処理制御部は、
前記転送部から前記パケット群を受信すると、受信した前記パケット群に属する任意のパケットに含まれる所定の情報を前記処理対象識別情報に格納し、前記転送機能部情報に前記転送機能部として前記機能拡張部または前記転送部を示す情報を格納し、前記転送機能部情報に前記機能拡張部を示す情報を格納した場合、前記処理対象識別情報に格納した前記所定の情報を前記転送処理情報に格納し、前記転送機能部情報に前記転送部を示す情報を格納した場合、前記処理対象識別情報に格納した前記所定の情報を前記転送部に送信し、
前記転送処理部は、
前記転送処理情報を参照して前記転送処理を実行し、
前記転送部は、
前記機能拡張部から受信した前記所定の情報を前記識別情報として格納した後、前記転送情報を参照して前記転送処理を実行する
ことを特徴とする通信装置。
The communication device according to claim 11,
The transfer unit
Transfer information for storing the identification information for identifying the packet group received from outside and the transfer destination of the packet group identified by the identification information in association with each other,
The function expansion unit is
Processing target identification information for identifying a processing target packet group that is a target packet group on which the function execution unit executes the predetermined processing, and a transfer function for executing a transfer process for the packet group identified by the processing target identification information Transfer processing control information for storing the transfer function unit information for identifying the unit in association with each other, transfer processing information for identifying the transfer destination of the packet group transferred by the transfer processing unit,
A storage unit for storing
The transfer processing control unit
When the packet group is received from the transfer unit, predetermined information included in an arbitrary packet belonging to the received packet group is stored in the processing target identification information, and the function as the transfer function unit is stored in the transfer function unit information. When the information indicating the extension unit or the transfer unit is stored and the information indicating the function extension unit is stored in the transfer function unit information, the predetermined information stored in the processing target identification information is stored in the transfer processing information When the information indicating the transfer unit is stored in the transfer function unit information, the predetermined information stored in the processing target identification information is transmitted to the transfer unit,
The transfer processing unit
Performing the transfer process with reference to the transfer process information;
The transfer unit
A communication apparatus that stores the predetermined information received from the function expansion unit as the identification information, and then executes the transfer process with reference to the transfer information.
JP2015037634A 2015-02-27 2015-02-27 Communication device Pending JP2016163085A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015037634A JP2016163085A (en) 2015-02-27 2015-02-27 Communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015037634A JP2016163085A (en) 2015-02-27 2015-02-27 Communication device

Publications (1)

Publication Number Publication Date
JP2016163085A true JP2016163085A (en) 2016-09-05

Family

ID=56845555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015037634A Pending JP2016163085A (en) 2015-02-27 2015-02-27 Communication device

Country Status (1)

Country Link
JP (1) JP2016163085A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438471B1 (en) 2023-07-10 2024-02-26 三菱電機株式会社 Equipment, communication systems, communication control methods and programs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006505188A (en) * 2002-10-30 2006-02-09 パケットフロント スウェーデン アーベー Router or switch for software and hardware packet flow forwarding and method
JP2009217841A (en) * 2001-03-27 2009-09-24 Fujitsu Ltd Packet relay processor
JP2011170718A (en) * 2010-02-19 2011-09-01 Nec Corp Computer system, controller, service provision server, and load distribution method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217841A (en) * 2001-03-27 2009-09-24 Fujitsu Ltd Packet relay processor
JP2006505188A (en) * 2002-10-30 2006-02-09 パケットフロント スウェーデン アーベー Router or switch for software and hardware packet flow forwarding and method
JP2011170718A (en) * 2010-02-19 2011-09-01 Nec Corp Computer system, controller, service provision server, and load distribution method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
あきみち、ほか, マスタリングTCP/IP OPENFLOW編, vol. 第1版, JPN6018000940, 25 July 2013 (2013-07-25), pages 133 - 134 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438471B1 (en) 2023-07-10 2024-02-26 三菱電機株式会社 Equipment, communication systems, communication control methods and programs
WO2025013176A1 (en) * 2023-07-10 2025-01-16 三菱電機株式会社 Apparatus, communication system, communication control method, and program

Similar Documents

Publication Publication Date Title
US12047287B2 (en) Data transmission method and apparatus, network adapter, and storage medium
EP3163809B1 (en) Methods for multi-path tcp communication
US20200351204A1 (en) Method, apparatus, and system for load balancing of service chain
JP5637471B2 (en) Service control method and system, evolved node B, and packet data network gateway
JP6250044B2 (en) Method, device, and system for supporting content registration in a content network
CN111245740B (en) Service quality strategy method and device for configuration service and computing equipment
WO2018090677A1 (en) Processing method, device and system for nf component abnormality
CN108347376B (en) A method, device and system for adjusting forwarding path
CN113692753B (en) Network device and method for searching edge services implemented in the network device
KR20180044806A (en) Method to be implemented at a device configured to be connected to a customer premises equipment of a first type network, corresponding device
US10333790B2 (en) Method and system for selective route download in network devices
JP7101308B2 (en) High-speed transfer table creation
KR102233894B1 (en) Network function and method for processing request using the same
EP2218214B1 (en) Network location service
JP5845554B2 (en) Method, device and system for recording multimedia data
US9277014B2 (en) Handling of auxiliary NAS
JP2016163085A (en) Communication device
WO2018113633A1 (en) Packet forwarding method, packet forwarding controller, bras, and computer storage medium
WO2016197917A1 (en) Flow entry issuing method, flow entry storage method, relevant apparatus and system
CN106341252A (en) Resource management method and device and control terminal
JP6522490B2 (en) Network system, control device, and program
JP7514308B2 (en) COMMUNICATION SYSTEM, COMMUNICATION METHOD AND PROGRAM FOR CAPTURE PORTION OF DATA - Patent application
JP6044218B2 (en) Network switch, network switch control method, and network switch control program
KR20210066641A (en) Method for processing push data in icn system and apparatus for the same
CN106375266A (en) Service monitoring control method and device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180710