JP2014236423A - Communication device, control method, communication program and communication system - Google Patents

Communication device, control method, communication program and communication system Download PDF

Info

Publication number
JP2014236423A
JP2014236423A JP2013117896A JP2013117896A JP2014236423A JP 2014236423 A JP2014236423 A JP 2014236423A JP 2013117896 A JP2013117896 A JP 2013117896A JP 2013117896 A JP2013117896 A JP 2013117896A JP 2014236423 A JP2014236423 A JP 2014236423A
Authority
JP
Japan
Prior art keywords
communication
relay
unit
packet
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013117896A
Other languages
Japanese (ja)
Inventor
義和 渡邊
Yoshikazu Watanabe
義和 渡邊
秀一 狩野
Shuichi Kano
秀一 狩野
才田 好則
Yoshinori Saida
好則 才田
弦 森田
Gen Morita
弦 森田
貴裕 飯星
Takahiro Iiboshi
貴裕 飯星
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2013117896A priority Critical patent/JP2014236423A/en
Publication of JP2014236423A publication Critical patent/JP2014236423A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a communication device, a control method, a communication program and a communication system, capable of controlling with flexible designation of communication (flow).SOLUTION: A communication terminal 1 includes: a communication processing unit 40 for processing a received packet on the basis of a processing rule that specifies a flow to which a packet belongs and processing on the packet belonging to the flow; a communication relay feature extraction unit 20 for relaying the received packet between a relay source and a relay destination, and for extracting the feature of relay traffic; and a communication control unit 10 for generating, as a processing rule, a relay destination processing rule for processing a flow at the relay destination after the relay from the relay source to the relay destination, on the basis of the received packet and the feature of the extracted traffic.

Description

本発明は、通信装置、通信方法、通信プログラムおよび通信システムに関し、特に、フローに属するパケットに対する処理を規定する処理規則に基づいてフロー制御を行う通信装置、通信方法、通信プログラムおよび通信システムに関する。   The present invention relates to a communication device, a communication method, a communication program, and a communication system, and more particularly, to a communication device, a communication method, a communication program, and a communication system that perform flow control based on a processing rule that defines processing for packets belonging to a flow.

近年、携帯電話等の通信端末の高機能化に伴い、複数の通信インタフェースを備えた通信端末が普及している。そのような通信インタフェースの一例として、3G(3rd Generation)、LTE(Long Term Evolution)、無線LAN(Local Area Network)、WiMAX(Worldwide Interoperability for Microwave Access)(登録商標)等が挙げられる。通信網が通信に利用できるリソースは有限であるため、通信が集中すると輻輳が発生し性能劣化やサービス停止が発生する虞がある。それは特に前述したような無線通信網においてより顕著である。   In recent years, communication terminals having a plurality of communication interfaces have become widespread with the enhancement of functions of communication terminals such as mobile phones. Examples of such communication interfaces include 3G (3rd Generation), LTE (Long Term Evolution), wireless LAN (Local Area Network), and WiMAX (Worldwide Interoperability Access) (registered trademark). Since resources that the communication network can use for communication are limited, if communication concentrates, congestion may occur and performance degradation or service stop may occur. This is particularly noticeable in the wireless communication network as described above.

通信端末が複数の通信インタフェースを備えている場合、通信の内容によってそれらが使用する通信インタフェースを使い分けることにより、通信網の混雑や輻輳を回避したり、よりよい通信品質を実現したりすることが可能となる。   When a communication terminal has multiple communication interfaces, it is possible to avoid congestion and congestion of the communication network or to realize better communication quality by properly using the communication interface used by the communication contents. It becomes possible.

非特許文献1では、オープンフロー(OpenFlow)という技術が開示されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御等を行う技術である。フローの識別はパケット単位で行われ、パケットに含まれるアドレスフィールドやポート番号フィールド等が識別のためのキーとして用いられる。   Non-Patent Document 1 discloses a technique called open flow. OpenFlow is a technology that regards communication as an end-to-end flow and performs route control and the like in units of flows. The flow is identified on a packet basis, and an address field, a port number field, and the like included in the packet are used as identification keys.

通信端末内の通信制御に、例えばオープンフローのような、フローベース制御技術を適用することで、通信インタフェースの使い分け(経路制御)を細粒度で行うことができる。さらに、通信制御として、フロー粒度の通信遮断や統計情報取得、高度な通信処理(例えばNAT(Network Address Translation)やNAPT(Network Address Port Translation)、以降まとめてNATと記述)等を行うことも可能である。   By applying a flow-based control technique such as OpenFlow to the communication control in the communication terminal, the communication interface can be selectively used (route control) with fine granularity. Furthermore, as communication control, it is also possible to perform flow granularity communication blocking, statistical information acquisition, advanced communication processing (for example, NAT (Network Address Translation) or NAPT (Network Address Port Translation), hereinafter collectively referred to as NAT), etc. It is.

また、特許文献1では、ヘッダ変換処理によるデータ中継手法として、TCP(Transmission Control Protocol)スプライシングという技術が開示されている。その他、関連する技術が、特許文献2〜4に開示されている。   Patent Document 1 discloses a technique called TCP (Transmission Control Protocol) splicing as a data relay technique using header conversion processing. Other related techniques are disclosed in Patent Documents 2 to 4.

"OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [平成25年5月27日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf〉、2009年12月31日"OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [Search May 27, 2013], Internet <URL: http://www.openflowswitch.org/documents/openflow-spec-v1.0.0. pdf>, December 31, 2009

特開2009−164948号公報JP 2009-164948 A 国際公開第2012/115058号International Publication No. 2012/115058 特開2006−121192号公報JP 2006-121192 A 特開2003−018198号公報JP 2003-018198 A

非特許文献1に開示された技術は、フロー粒度での通信制御を行えるが、フローの識別に使うことができる情報が限定されることが問題となる。柔軟な通信制御を実現するためには、制御対象の通信(フロー)を指定するための情報として当該通信の内容を利用可能なことが望まれる。しかし、非特許文献1に開示された技術は、各パケットに含まれる規定済みの情報(アドレスフィールドやポート番号フィールド等)によってのみフローの識別を行う。非特許文献1に開示された技術において、すべてのパケットをコントローラで受信しその内容を解析することで上記問題を解決する方法は存在するが、その場合コントローラの複雑化や処理オーバヘッドの発生等の問題が生じる。すなわち、関連する技術では、各パケットに共通して含まれる情報以外の情報を用いて柔軟に通信(フロー)を指定し制御することができなかった。   Although the technique disclosed in Non-Patent Document 1 can perform communication control at flow granularity, there is a problem that information that can be used for flow identification is limited. In order to realize flexible communication control, it is desired that the contents of the communication can be used as information for designating communication (flow) to be controlled. However, the technique disclosed in Non-Patent Document 1 identifies a flow only by using predefined information (address field, port number field, etc.) included in each packet. In the technique disclosed in Non-Patent Document 1, there is a method for solving the above problem by receiving all packets by the controller and analyzing the contents thereof. In this case, however, the complexity of the controller, the generation of processing overhead, etc. Problems arise. In other words, the related technology cannot flexibly specify and control communication (flow) using information other than information included in each packet in common.

そこで、本発明は、フローベースの通信制御において、柔軟に通信(フロー)を指定し制御することができる通信装置、通信方法、通信プログラムおよび通信システムを提供することを目的とする。   Therefore, an object of the present invention is to provide a communication device, a communication method, a communication program, and a communication system that can flexibly specify and control communication (flow) in flow-based communication control.

本発明に係る通信装置は、パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理する通信処理部と、前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出する通信中継特徴抽出部と、前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成する通信制御部とを備えるものである。   A communication apparatus according to the present invention includes a communication processing unit that processes a received packet based on a processing rule that defines a flow to which the packet belongs and a process for the packet that belongs to the flow, and the received packet is relayed to and from a relay source. A communication relay feature extraction unit that relays between the destinations and extracts the characteristics of the relayed traffic; and based on the received packet and the extracted traffic characteristics, the processing rule is used as the processing rule from the relay source to the relay destination. And a communication control unit for creating a relay destination processing rule for processing the relay destination flow after relaying to the network.

本発明に係る通信方法は、パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理し、前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出し、前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成するものである。   The communication method according to the present invention processes a received packet based on a processing rule defining a flow to which the packet belongs and a process for the packet belonging to the flow, and the received packet is transmitted between a relay source and a relay destination. And relaying, extracting the characteristics of the relayed traffic, and processing the relay destination flow after relaying from the relay source to the relay destination as the processing rule based on the received packet and the extracted traffic characteristics A relay destination processing rule is created.

本発明に係る通信プログラムは、コンピュータに通信処理を実行させるための通信プログラムであって、前記通信処理は、パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理し、前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出し、前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成するものである。   A communication program according to the present invention is a communication program for causing a computer to execute a communication process, and the communication process is based on a processing rule that defines a flow to which a packet belongs and a process for the packet to which the flow belongs. Process the received packet, relay the received packet between the relay source and the relay destination, extract the characteristics of the relayed traffic, and perform the processing based on the received packet and the extracted traffic characteristics As a rule, a relay destination processing rule for processing a relay destination flow after relay from the relay source to the relay destination is created.

本発明に係る通信システムは、第1の通信装置と第2の通信装置とがネットワークを介して通信可能に接続された通信システムであって、前記第1の通信装置は、パケットを送信する通信利用部と、前記パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、前記通信利用部または前記第2の通信装置から受信したパケットを処理する通信処理部と、前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出する通信中継特徴抽出部と、前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成する通信制御部とを備えるものである。   The communication system according to the present invention is a communication system in which a first communication device and a second communication device are communicably connected via a network, and the first communication device transmits a packet. A communication processing unit for processing a packet received from the communication using unit or the second communication device based on a processing rule that defines a use unit, a flow to which the packet belongs and a process for the packet belonging to the flow; The communication rule is extracted between the relay source and the relay destination and the characteristics of the relayed traffic are extracted, and the processing rule is based on the received packet and the extracted traffic characteristics. A communication control unit for creating a relay destination processing rule for processing a relay destination flow after relaying from the relay source to the relay destination A.

本発明によれば、柔軟に通信(フロー)を指定し制御することが可能な通信装置、通信方法、通信プログラムおよび通信システムを提供することができる。   According to the present invention, it is possible to provide a communication device, a communication method, a communication program, and a communication system that can flexibly specify and control communication (flow).

実施形態に係る通信システムの構成の一例を示す説明図である。It is explanatory drawing which shows an example of a structure of the communication system which concerns on embodiment. 実施形態に係る通信端末1の構成例を示すブロック図である。It is a block diagram which shows the structural example of the communication terminal 1 which concerns on embodiment. 実施形態に係る通信制御部10の構成例を示すブロック図である。It is a block diagram which shows the structural example of the communication control part 10 which concerns on embodiment. 実施形態に係る通信処理部40の構成例を示すブロック図である。It is a block diagram which shows the structural example of the communication process part 40 which concerns on embodiment. 第1の実施形態に係る制御ポリシ記憶部102が記憶する制御ポリシの例を示す説明図である。It is explanatory drawing which shows the example of the control policy which the control policy memory | storage part 102 which concerns on 1st Embodiment memorize | stores. 第1の実施形態に係る通信システムの動作の例を示すシーケンス図である。It is a sequence diagram which shows the example of operation | movement of the communication system which concerns on 1st Embodiment. 第1の実施形態に係る通信システムの動作の例を示すシーケンス図である。It is a sequence diagram which shows the example of operation | movement of the communication system which concerns on 1st Embodiment. 第1の実施形態に係る通信システムの動作の例を示すシーケンス図である。It is a sequence diagram which shows the example of operation | movement of the communication system which concerns on 1st Embodiment. 第1の実施形態に係る通信制御部10の動作の例を示すフローチャートである。It is a flowchart which shows the example of operation | movement of the communication control part 10 which concerns on 1st Embodiment. 第1の実施形態に係るフローテーブル記憶部403が記憶するフローエントリの例を示す説明図である。It is explanatory drawing which shows the example of the flow entry which the flow table memory | storage part 403 which concerns on 1st Embodiment memorize | stores. 第1の実施形態に係るフローテーブル記憶部403が記憶するフローエントリの例を示す説明図である。It is explanatory drawing which shows the example of the flow entry which the flow table memory | storage part 403 which concerns on 1st Embodiment memorize | stores. 第1の実施形態に係る通信情報記憶部30が記憶する情報の例を示す説明図である。It is explanatory drawing which shows the example of the information which the communication information storage part 30 which concerns on 1st Embodiment memorize | stores. 第1の実施形態に係る通信中継特徴抽出部20の動作の例を示すフローチャートである。It is a flowchart which shows the example of operation | movement of the communication relay feature extraction part 20 which concerns on 1st Embodiment. 第1の実施形態に係る通信利用部70が送信するHTTPリクエスト行およびヘッダの例を示す説明図である。It is explanatory drawing which shows the example of the HTTP request line and header which the communication utilization part 70 which concerns on 1st Embodiment transmits. 第1の実施形態に係る通信システムの動作の例を示すシーケンス図である。It is a sequence diagram which shows the example of operation | movement of the communication system which concerns on 1st Embodiment. 第2の実施形態に係る通信端末1の構成例を示すブロック図である。It is a block diagram which shows the structural example of the communication terminal 1 which concerns on 2nd Embodiment. 第3の実施形態に係る通信システムの動作の例を示すシーケンス図である。It is a sequence diagram which shows the example of operation | movement of the communication system which concerns on 3rd Embodiment. 第3の実施形態に係る通信システムの動作の例を示すシーケンス図である。It is a sequence diagram which shows the example of operation | movement of the communication system which concerns on 3rd Embodiment. 第3の実施形態に係る通信システムの動作の例を示すシーケンス図である。It is a sequence diagram which shows the example of operation | movement of the communication system which concerns on 3rd Embodiment. 実施形態に係る通信制御部10の構成例を示すブロック図である。It is a block diagram which shows the structural example of the communication control part 10 which concerns on embodiment.

(実施形態の共通部分の概要)
まず、図面を参照して、各実施形態に共通する構成および動作の概要について説明する。
(Overview of common parts of the embodiment)
First, an outline of the configuration and operation common to each embodiment will be described with reference to the drawings.

図1は、実施形態に係る通信システムの構成の一例を示す説明図である。図1に例示する通信システムは、通信端末1と、サーバ2と、通信ネットワーク3−1〜3−3と、を備えている。実施の形態に係る通信システムは、通信端末1とサーバ2とが通信ネットワーク3−1〜3−3を介して通信可能に接続されたシステムである。なお、図1に示すこれらの構成要素の数や接続関係は一例であり、本発明はこれに限定されるものではない。   FIG. 1 is an explanatory diagram illustrating an example of a configuration of a communication system according to the embodiment. The communication system illustrated in FIG. 1 includes a communication terminal 1, a server 2, and communication networks 3-1 to 3-3. The communication system according to the embodiment is a system in which a communication terminal 1 and a server 2 are communicably connected via communication networks 3-1 to 3-3. In addition, the number of these components shown in FIG. 1 and a connection relationship are examples, and this invention is not limited to this.

通信端末(第1の通信装置)1は、通信ネットワーク3−1および3−2と同時に接続し通信することができ、それらや通信ネットワーク3−3を介してサーバ2と通信を行う。通信端末1は、例えば、サーバ2のサービスを利用するクライアント端末であるが、その他、サーバ2と通信する任意の通信装置であってもよい。   The communication terminal (first communication device) 1 can be connected and communicated simultaneously with the communication networks 3-1 and 3-2, and communicates with the server 2 via these and the communication network 3-3. The communication terminal 1 is, for example, a client terminal that uses the service of the server 2, but may be any communication device that communicates with the server 2.

サーバ(第2の通信装置)2は、通信端末1の通信相手であり、その一例としてWebサーバ、メールサーバ、ビデオサーバ、等が挙げられる。ただし、本発明のおけるサーバ2はこれらに限定されない。また、各実施形態の説明では通信端末1の通信相手がサーバである例を示したが、本発明はこれに限定されない。通信端末1の通信相手は通信端末1と通信する装置であればよく、その形態はサーバの他、端末、携帯電話、パーソナルコンピュータ、家電、等であってもよい。   The server (second communication device) 2 is a communication partner of the communication terminal 1, and examples thereof include a Web server, a mail server, a video server, and the like. However, the server 2 in the present invention is not limited to these. In the description of each embodiment, an example in which the communication partner of the communication terminal 1 is a server has been described, but the present invention is not limited to this. The communication partner of the communication terminal 1 may be a device that communicates with the communication terminal 1, and the form may be a terminal, a mobile phone, a personal computer, a home appliance, or the like in addition to the server.

通信ネットワーク3−1〜3−2は、通信端末1と接続し、通信端末1と、自ネットワーク内に接続された装置もしくは通信ネットワーク3−3など他のネットワークとの間の通信を中継する。また、通信ネットワーク3−3は、サーバ2と接続し、通信ネットワーク3−1〜3−2を介した通信端末1とサーバ2との間の通信を中継する。通信ネットワーク3−1〜3−3は有線ネットワークであっても、無線ネットワークであってもよい。有線ネットワークの一例としてEthernet(登録商標)、専用線、が挙げられる。無線ネットワークの一例として、3G、LTE、無線LAN、WiMAX、PHS(Personal Handy−phone System)、が挙げられる。通信ネットワーク3−1〜3−3は、それぞれ別の種類のネットワークでもよいし、同じ種類のネットワークでもよい。例えば、通信ネットワーク3−1及び3−2の一方を3Gとし、他方を無線LANとしてもよい。   The communication networks 3-1 to 3-2 are connected to the communication terminal 1 and relay communication between the communication terminal 1 and another network such as a device connected to the own network or the communication network 3-3. The communication network 3-3 connects to the server 2 and relays communication between the communication terminal 1 and the server 2 via the communication networks 3-1 to 3-2. The communication networks 3-1 to 3-3 may be wired networks or wireless networks. Examples of the wired network include Ethernet (registered trademark) and a dedicated line. Examples of the wireless network include 3G, LTE, wireless LAN, WiMAX, and PHS (Personal Handy-phone System). The communication networks 3-1 to 3-3 may be different types of networks or the same type of networks. For example, one of the communication networks 3-1 and 3-2 may be 3G, and the other may be a wireless LAN.

図2は、実施形態に係る通信端末1の構成の一例を示す構成図である。図2に示すように、実施の形態に係る通信端末1は、通信制御部10と、通信中継特徴抽出部20と、通信情報記憶部30と、通信処理部40と、通信IF(Interface)部50−1〜50−2と、内部通信IF部60と、通信利用部70と、を備える。なお、図2は、通信端末1の機能ブロック(処理部もしくはモジュール)の一例であり、各実施の形態の動作が実現できれば、その他の構成であってもよい(図3及び図4も同様)。   FIG. 2 is a configuration diagram illustrating an example of the configuration of the communication terminal 1 according to the embodiment. As illustrated in FIG. 2, the communication terminal 1 according to the embodiment includes a communication control unit 10, a communication relay feature extraction unit 20, a communication information storage unit 30, a communication processing unit 40, and a communication IF (Interface) unit. 50-1 to 50-2, an internal communication IF unit 60, and a communication using unit 70. 2 is an example of a functional block (processing unit or module) of the communication terminal 1, and other configurations may be used as long as the operation of each embodiment can be realized (the same applies to FIGS. 3 and 4). .

通信制御部10は、通信情報記憶部30に記憶された情報を利用し、通信処理部40による通信処理を制御する。後述のように、通信制御部10は、制御ポリシに基づいてフローエントリ(処理規則)を作成することで、通信処理部40の処理を制御する。   The communication control unit 10 uses the information stored in the communication information storage unit 30 to control communication processing by the communication processing unit 40. As will be described later, the communication control unit 10 controls the processing of the communication processing unit 40 by creating a flow entry (processing rule) based on the control policy.

通信中継特徴抽出部20は、通信利用部70がその通信相手先(以降、サーバ2を通信相手先の例とする)に対し送信したパケットを、サーバ2の代わりに一旦受信した後、サーバ2に送信する(中継動作)。また、通信中継特徴抽出部20は、サーバ2が通信利用部70に対し送信したパケットを、通信利用部70の代わりに一旦受信した後、通信利用部70に送信する(中継動作)。通信利用部70と通信中継特徴抽出部20との間の通信を中継元通信(中継元フロー、もしくは、第1のフロー)と呼称し、当該中継元通信に対応する通信中継特徴抽出部20とサーバ2との間の通信を中継先通信(中継先フロー、もしくは、第2のフロー)と呼称する。この例では、通信中継特徴抽出部20より通信利用部70側が中継元であり、通信中継特徴抽出部20よりサーバ2側が中継先である。通信中継特徴抽出部20は、受信したパケットを中継元と中継先の間で中継する通信中継部と、中継する通信の特徴(トラフィックの特徴)を抽出する通信特徴抽出部を含むともいえる。通信中継特徴抽出部20は、中継動作の際、中継するパケットに含まれるデータを参照し、その通信の特徴となるデータを判定・抽出し、通信情報記憶部30に記憶させる。その際、通信中継特徴抽出部20は、中継に係る通信の情報として以下の情報も合わせて通信情報記憶部30に記憶させてよい。
− 当該中継動作に係る、通信利用部70と通信中継特徴抽出部20との間の通信(中継元通信)に関する情報(アドレス、ポート番号等)
− 当該中継動作に係る、サーバ2と通信中継特徴抽出部20との間の通信(中継先通信)に関する情報(アドレス、ポート番号等)
The communication relay feature extracting unit 20 receives the packet transmitted from the communication using unit 70 to the communication partner (hereinafter, the server 2 is an example of the communication partner) instead of the server 2, and then receives the server 2 Send to (relay operation). Further, the communication relay feature extracting unit 20 once receives a packet transmitted from the server 2 to the communication using unit 70 instead of the communication using unit 70, and then transmits the packet to the communication using unit 70 (relay operation). Communication between the communication utilization unit 70 and the communication relay feature extraction unit 20 is referred to as relay source communication (relay source flow or first flow), and the communication relay feature extraction unit 20 corresponding to the relay source communication Communication with the server 2 is referred to as relay destination communication (relay destination flow or second flow). In this example, the communication utilization unit 70 side from the communication relay feature extraction unit 20 is a relay source, and the server 2 side from the communication relay feature extraction unit 20 is a relay destination. It can be said that the communication relay feature extraction unit 20 includes a communication relay unit that relays a received packet between a relay source and a relay destination, and a communication feature extraction unit that extracts a communication feature (traffic feature) to be relayed. In the relay operation, the communication relay feature extraction unit 20 refers to data included in the packet to be relayed, determines / extracts data serving as a communication feature, and stores the data in the communication information storage unit 30. At that time, the communication relay feature extraction unit 20 may also store the following information in the communication information storage unit 30 as communication information related to the relay.
-Information (address, port number, etc.) relating to communication (relay source communication) between the communication using unit 70 and the communication relay feature extracting unit 20 relating to the relay operation
-Information (address, port number, etc.) regarding communication (relay destination communication) between the server 2 and the communication relay feature extraction unit 20 related to the relay operation

通信情報記憶部30は、通信制御部10が必要としている情報や、通信中継特徴抽出部20によって判定された通信利用部70による通信の特徴や、その中継動作に係る情報を記憶する。通信情報記憶部30は、通信端末1の内部の記憶部として説明するが、通信端末1の外部の記憶装置であってもよい。   The communication information storage unit 30 stores information required by the communication control unit 10, characteristics of communication performed by the communication using unit 70 determined by the communication relay feature extraction unit 20, and information related to the relay operation. The communication information storage unit 30 will be described as a storage unit inside the communication terminal 1, but may be a storage device outside the communication terminal 1.

通信処理部40は、通信制御部10による制御の下、通信IF部50や内部通信IF部60から送受信される通信(パケット)の処理を行う。後述のように、通信処理部40は、通信制御部10から設定されたフローエントリ(処理規則)に基づいて、受信したパケットを処理する。   The communication processing unit 40 processes communication (packets) transmitted and received from the communication IF unit 50 and the internal communication IF unit 60 under the control of the communication control unit 10. As will be described later, the communication processing unit 40 processes the received packet based on the flow entry (processing rule) set by the communication control unit 10.

通信IF部50−1〜50−2は、通信端末1の外部と接続するための外部インタフェースであり、それぞれ通信ネットワーク3−1および3−2に接続し、パケットの送受信を行う。通信IF部50−1および50−2は、それぞれ接続する通信ネットワーク3−1および3−2の通信プロトコルに準拠したインタフェースである。例えば、通信IF部50−1は、通信ネットワーク3−1を介して送信/受信するパケットを、通信処理部40との間で送信/受信(入力/出力)し、通信IF部50−2は、通信ネットワーク3−2を介して送信/受信するパケットを、通信処理部40との間で送信/受信(入力/出力)する。   The communication IF units 50-1 to 50-2 are external interfaces for connecting to the outside of the communication terminal 1, and are connected to the communication networks 3-1 and 3-2 to transmit and receive packets. The communication IF units 50-1 and 50-2 are interfaces compliant with the communication protocols of the communication networks 3-1 and 3-2 to be connected, respectively. For example, the communication IF unit 50-1 transmits / receives (input / output) a packet to be transmitted / received via the communication network 3-1, to / from the communication processing unit 40, and the communication IF unit 50-2 Packets to be transmitted / received via the communication network 3-2 are transmitted / received (input / output) to / from the communication processing unit 40.

内部通信IF部60は、通信端末1の内部の機能(処理部)間を接続するための内部インタフェースであり、通信端末1外の装置との物理的な接続を伴わない、仮想的な通信インタフェースである。内部通信IF部60は、通信利用部70との間で送信/受信するパケットを、通信処理部40との間で送信/受信(入力/出力)し、また、通信中継特徴抽出部20との間で送信/受信するパケットを、通信処理部40との間で送信/受信(入力/出力)する。内部通信IF部60は、それを利用し通信を行う、通信利用部70や通信中継特徴抽出部20に対し、従来の物理通信IFと同様に振る舞う。ただし、内部通信IF部60に送受信されたパケットは物理ネットワークに送受信されることなく、通信処理部40への入出力として扱われる。   The internal communication IF unit 60 is an internal interface for connecting internal functions (processing units) of the communication terminal 1, and is a virtual communication interface that does not involve physical connection with a device outside the communication terminal 1. It is. The internal communication IF unit 60 transmits / receives (input / output) a packet to be transmitted / received to / from the communication using unit 70 to / from the communication processing unit 40, and A packet to be transmitted / received between the communication processing unit 40 is transmitted / received (input / output). The internal communication IF unit 60 behaves in the same manner as the conventional physical communication IF with respect to the communication use unit 70 and the communication relay feature extraction unit 20 that perform communication using the internal communication IF unit 60. However, the packets transmitted / received to / from the internal communication IF unit 60 are handled as input / output to the communication processing unit 40 without being transmitted / received to / from the physical network.

通信利用部70は、通信端末1内において通信を行うモジュールである。例えば、通信利用部70は、通信処理部40、通信中継特徴抽出部20を介して、外部のサーバ2にアクセスし、サーバ2のサービスを利用するクライアント処理部である。通信利用部70の一例として、Webブラウザ、メールクライアント、ビデオストリーミングアプリケーション、SNS(Social Network Service)アプリケーション等が挙げられる。ただし、本発明のおける通信利用部70はこれらに限定されない。   The communication using unit 70 is a module that performs communication within the communication terminal 1. For example, the communication utilization unit 70 is a client processing unit that accesses the external server 2 via the communication processing unit 40 and the communication relay feature extraction unit 20 and uses the service of the server 2. Examples of the communication utilization unit 70 include a web browser, a mail client, a video streaming application, an SNS (Social Network Service) application, and the like. However, the communication utilization part 70 in this invention is not limited to these.

例えば、実施形態に係る通信端末1は、少なくとも図15に示すように構成されていてもよい。すなわち、通信端末(通信装置)1は、通信処理部40と、通信中継特徴抽出部20と、通信制御部10とを備えている。通信処理部40は、パケットが属するフローとフローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理する。通信中継特徴抽出部20は、受信したパケットを中継元と中継先の間で中継するとともに、中継するトラフィックの特徴を抽出する。通信制御部10は、受信したパケットと抽出したトラフィックの特徴に基づき、処理規則として、中継元から中継先へ中継後の中継先フローを処理する中継先処理規則を作成する。これにより、トラフィックの特徴に基づいて処理規則を作成するため、より柔軟に通信(フロー)を指定し制御することができる。   For example, the communication terminal 1 according to the embodiment may be configured as shown in at least FIG. That is, the communication terminal (communication device) 1 includes a communication processing unit 40, a communication relay feature extraction unit 20, and a communication control unit 10. The communication processing unit 40 processes the received packet based on a processing rule that defines the flow to which the packet belongs and the processing for the packet belonging to the flow. The communication relay feature extracting unit 20 relays the received packet between the relay source and the relay destination, and extracts the feature of the traffic to be relayed. The communication control unit 10 creates a relay destination processing rule for processing the relay destination flow after relaying from the relay source to the relay destination as a processing rule based on the characteristics of the received packet and the extracted traffic. Thereby, since a processing rule is created based on the characteristics of traffic, communication (flow) can be specified and controlled more flexibly.

図3は、実施形態に係る通信端末1の通信制御部10の構成の一例を示す構成図である。図3に示すように、通信制御部10は、制御処理部101と、制御ポリシ記憶部102と、を備えている。   FIG. 3 is a configuration diagram illustrating an example of a configuration of the communication control unit 10 of the communication terminal 1 according to the embodiment. As illustrated in FIG. 3, the communication control unit 10 includes a control processing unit 101 and a control policy storage unit 102.

制御処理部101は、制御ポリシ記憶部102と通信情報記憶部30とに記憶された情報を利用し、通信処理部40による通信処理を制御する。   The control processing unit 101 controls communication processing by the communication processing unit 40 using information stored in the control policy storage unit 102 and the communication information storage unit 30.

制御処理部101は、後述する通信処理部40の制御チャネル処理部401との間で制御用通信(制御チャネル)を行う。制御処理部101は、中継元通信に関する、制御チャネルを通じて通信処理部40から処理が必要なパケットの通知(パケット通知)を受け取ると、制御ポリシ記憶部102に記憶された制御ポリシと当該パケットの照合を行う。制御処理部101は、当該パケットの照合に成功し、適用する制御ポリシの決定に成功した場合、当該パケットが属する通信(フロー)に適用する処理を当該制御ポリシから決定する。制御処理部101は、当該パケットの照合に必要な情報(通信の特徴)が当該パケット通知に含まれていない場合、当該パケットのフロー(中継元フロー)に適用する処理(中継元処理規則、もしくは、第1の処理規則)を、当該フローを通信中継特徴抽出部20に中継させること、とする。制御処理部101は、通信中継特徴抽出部20により通信情報記憶部30に設定された情報(通信の特徴)を利用し、制御ポリシ記憶部102に記憶された制御ポリシと、当該パケットの照合を実施する。制御処理部101は、当該パケットの照合に成功し、適用する制御ポリシの決定に成功した場合、当該パケットのフローに対する中継先通信(中継先フロー)に適用する処理(中継先処理規則、もしくは、第2の処理規則)を当該制御ポリシから決定する。   The control processing unit 101 performs control communication (control channel) with a control channel processing unit 401 of the communication processing unit 40 described later. When the control processing unit 101 receives notification of a packet that needs to be processed (packet notification) from the communication processing unit 40 via the control channel regarding the relay source communication, the control processing unit 101 compares the control policy stored in the control policy storage unit 102 with the packet. I do. If the packet is successfully verified and the control policy to be applied is successfully determined, the control processing unit 101 determines a process to be applied to the communication (flow) to which the packet belongs from the control policy. When the information (communication characteristics) necessary for matching the packet is not included in the packet notification, the control processing unit 101 applies a process (relay source processing rule) or a process applied to the flow (relay source flow) of the packet. , The first processing rule) causes the communication relay feature extraction unit 20 to relay the flow. The control processing unit 101 uses the information (communication characteristics) set in the communication information storage unit 30 by the communication relay feature extraction unit 20, and collates the control policy stored in the control policy storage unit 102 with the packet. carry out. When the control processing unit 101 succeeds in matching the packet and determines the control policy to be applied, the control processing unit 101 applies a process (relay destination processing rule or relay destination flow) applied to the relay destination communication (relay destination flow) for the flow of the packet. The second processing rule) is determined from the control policy.

制御処理部101は、中継元通信(中継元フロー)もしくは中継先通信(中継先フロー)に適用する処理を決定した後、当該処理を表す0もしくは1以上のフローエントリ(中継元処理規則または中継先処理規則)を生成し、制御チャネルを通じて通信処理部40に当該フローエントリを設定する。   After determining a process to be applied to the relay source communication (relay source flow) or the relay destination communication (relay destination flow), the control processing unit 101 has zero or one or more flow entries (relay source processing rule or relay) representing the process. A preprocessing rule) is generated, and the flow entry is set in the communication processing unit 40 through the control channel.

制御ポリシ記憶部102は、発生した通信に適用する処理を制御処理部101が決定するための情報である制御ポリシのリストを記憶する。制御ポリシは、少なくとも、当該制御ポリシの適用対象である通信(トラフィック、フロー)を指定するトラフィック条件と、当該制御ポリシが適用される際に実行すべき処理と、から構成される。例えば、制御ポリシは、トラフィックの特徴(通信の特徴)を含むトラフィック条件と当該トラフィック条件に適合する通信に対する処理とを規定しているともいえる。制御ポリシは、適用される優先順位を示す優先度を含んでもよい。制御ポリシ記憶部102は、通信制御部10の内部の記憶部として説明するが、その他の通信端末1の内部の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。   The control policy storage unit 102 stores a list of control policies, which is information for the control processing unit 101 to determine a process to be applied to the generated communication. The control policy includes at least a traffic condition that specifies communication (traffic, flow) to which the control policy is applied and a process to be executed when the control policy is applied. For example, it can be said that the control policy prescribes traffic conditions including traffic characteristics (communication characteristics) and processing for communication conforming to the traffic conditions. The control policy may include a priority indicating the priority order to be applied. The control policy storage unit 102 will be described as an internal storage unit of the communication control unit 10. However, the control policy storage unit 102 may be another internal storage unit of the communication terminal 1 or a storage device external to the communication terminal 1. Good.

制御ポリシのトラフィック条件は、例えば、以下の項目を含む。一つの制御ポリシに含まれるトラフィック条件は一つでも複数でもよく、それらはANDで結合(AND条件)されたりORで結合(OR条件)されたりしてよい。また、トラフィック条件は完全一致でも部分一致でもよい。
・送信元IP(Internet Protocol)アドレス
・送信先IPアドレス
・プロトコルタイプ
・送信元ポート番号
・送信先ポート番号
・入力インタフェース
・入力インタフェース種別
・QoS(Quolity of Service)
・VLAN ID(Virtual Local Area Network Identification)
・ドメイン名
・アプリケーション
The traffic conditions of the control policy include the following items, for example. One or more traffic conditions may be included in one control policy, and they may be combined with AND (AND condition) or combined with OR (OR condition). Further, the traffic condition may be a complete match or a partial match.
• Source IP (Internet Protocol) address • Destination IP address • Protocol type • Source port number • Destination port number • Input interface • Input interface type • QoS (Quality of Service)
-VLAN ID (Virtual Local Area Network Identification)
・ Domain name / Application

制御ポリシの処理は、例えば、以下の項目を含む。一つの制御ポリシに含まれる処理は一つでも複数でもよい。
・指定されたIFを使用して通信する。
・指定されたIF群の中のいずれかを使用して通信する(IF間に優先度を設けてもよい)。
・指定されたIF群のすべてを使用して通信する。
・パケット中の指定されたフィールドを指定された値に変更する。
・指定されたサーバもしくはモジュールに転送する。
・指定されたフローエントリを通信処理部40に設定する。
・破棄する。
The process of the control policy includes the following items, for example. One or more processes may be included in one control policy.
・ Communicate using the specified IF.
Communicate using any of the designated IF groups (priorities may be set between IFs).
-Communicate using all of the specified IF groups.
Change the specified field in the packet to the specified value.
-Transfer to the specified server or module.
Set the specified flow entry in the communication processing unit 40.
・ Destroy.

なお、前述した制御ポリシのトラフィック条件および処理は一例であり、本発明はこれらに限定されない。また、制御ポリシ記憶部102が記憶する制御ポリシは予め与えられておいてもよいし、制御ポリシサーバ(図示されない)等の通信端末1以外の装置から受信されてもよい。   The control policy traffic conditions and processing described above are merely examples, and the present invention is not limited to these. The control policy stored in the control policy storage unit 102 may be given in advance, or may be received from a device other than the communication terminal 1 such as a control policy server (not shown).

図4は、実施形態に係る通信端末1の通信処理部40の構成の一例を示す構成図である。図4に示すように、通信処理部40は、制御チャネル処理部401と、パケット処理部402と、フローテーブル記憶部403と、を備えている。   FIG. 4 is a configuration diagram illustrating an example of the configuration of the communication processing unit 40 of the communication terminal 1 according to the embodiment. As illustrated in FIG. 4, the communication processing unit 40 includes a control channel processing unit 401, a packet processing unit 402, and a flow table storage unit 403.

制御チャネル処理部401は、通信制御部10との間で制御用通信(制御チャネル)を行う。また、制御チャネル処理部401は、対応するフローエントリが存在しないパケットの通知をパケット処理部402から受けると、制御チャネルを用いてそのパケットを通信制御部10に通知する(パケット通知)。パケット通知には、当該パケットの全部もしくは一部、および当該パケットが受信されたIFの情報が含まれる。   The control channel processing unit 401 performs control communication (control channel) with the communication control unit 10. In addition, when the control channel processing unit 401 receives a notification of a packet having no corresponding flow entry from the packet processing unit 402, the control channel processing unit 401 notifies the communication control unit 10 of the packet using the control channel (packet notification). The packet notification includes all or a part of the packet and information on the IF at which the packet is received.

さらに、制御チャネル処理部401は、制御チャネルを介して通信制御部10からフローエントリを追加、変更、または、削除するよう指示(設定)されると、指示された内容に基づきフローテーブル記憶部403に記憶されているフローテーブルを更新する。また、制御チャネル処理部401は、制御チャネルを介して通信制御部10からパケットを出力するよう指示されると、指示された内容に基づきパケットを出力するようパケット処理部402に指示する。   Further, when the control channel processing unit 401 is instructed (set) to add, change, or delete a flow entry from the communication control unit 10 via the control channel, the flow table storage unit 403 is based on the instructed content. Update the flow table stored in. When the communication control unit 10 is instructed to output a packet via the control channel, the control channel processing unit 401 instructs the packet processing unit 402 to output a packet based on the instructed content.

フローテーブル記憶部403は、処理規則(フローエントリ)を含むフローテーブルを記憶する。処理規則(フローエントリ)は、制御チャネル処理部401によってフローテーブル記憶部403に記録される。フローテーブル記憶部403は、通信処理部40の内部の記憶部として説明するが、その他の通信端末1の内部の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。   The flow table storage unit 403 stores a flow table including processing rules (flow entries). The processing rule (flow entry) is recorded in the flow table storage unit 403 by the control channel processing unit 401. The flow table storage unit 403 will be described as a storage unit inside the communication processing unit 40, but may be a storage unit inside another communication terminal 1 or a storage device outside the communication terminal 1. Good.

パケット処理部402は、通信IF部50−1〜50−2や内部通信IF部60を介して他の装置やモジュール(以降まとめてエンティティと記載)と接続され、接続されたエンティティとの間でパケットの送受信を行う。パケット処理部402は、他の装置からパケットを受信すると、受信したパケットに対応するフローエントリをフローテーブル記憶部403に記憶されているフローテーブル内から検索する。受信したパケットに対応するフローエントリがフローテーブル内に見つかった場合、パケット処理部402は、そのフローエントリのアクションに従って処理を行う。一方、受信したパケットに対応するフローエントリがフローテーブルに見つからなかった場合、パケット処理部402は、受信したパケットのフローエントリが存在しない旨を制御チャネル処理部401に通知する。   The packet processing unit 402 is connected to other devices and modules (hereinafter collectively referred to as an entity) via the communication IF units 50-1 to 50-2 and the internal communication IF unit 60, and between the connected entities. Send and receive packets. When receiving a packet from another device, the packet processing unit 402 searches the flow table stored in the flow table storage unit 403 for a flow entry corresponding to the received packet. When a flow entry corresponding to the received packet is found in the flow table, the packet processing unit 402 performs processing according to the action of the flow entry. On the other hand, when the flow entry corresponding to the received packet is not found in the flow table, the packet processing unit 402 notifies the control channel processing unit 401 that there is no flow entry for the received packet.

さらに、パケット処理部402は、他のエンティティと通信を行うためのポートを複数備え、各ポートは、それぞれ異なる通信IF部50−1〜50−2および内部通信IF部60と接続される。なお、各ポートは、ポート識別子により識別される。   Further, the packet processing unit 402 includes a plurality of ports for communicating with other entities, and each port is connected to a different communication IF unit 50-1 to 50-2 and an internal communication IF unit 60. Each port is identified by a port identifier.

フローエントリのアクションに基づき、パケット処理部402が行う処理には、以下に例示する処理が挙げられる。また、パケット処理部402が行う処理は、1つに限定されず、0であっても、2つ以上であってもよい。ただし、フローエントリのアクションに指定される処理は、以下の処理に限定されない。
・指定されたポートからパケットを出力する。
・パケットの送信先MAC(Media Access Control)アドレスを指定された値に変更する。
・パケットの送信元MACアドレスを指定された値に変更する。
・パケットの送信先IPアドレスを指定された値に変更する。
・パケットの送信元IPアドレスを指定された値に変更する。
・パケットの送信先ポート番号を指定された値に変更する。
・パケットの送信元ポート番号を指定された値に変更する。
・パケットにVLAN(Virtual Local Area Network)タグを追加する。
・パケットのVLANタグを削除する。
・パケットのVLANタグを変更する。
・パケットを破棄する。
Examples of the process performed by the packet processing unit 402 based on the action of the flow entry include the processes exemplified below. Further, the processing performed by the packet processing unit 402 is not limited to one, and may be zero or two or more. However, the processing specified as the action of the flow entry is not limited to the following processing.
-Output the packet from the specified port.
Change the destination MAC (Media Access Control) address of the packet to the specified value.
-Change the source MAC address of the packet to the specified value.
-Change the destination IP address of the packet to the specified value.
-Change the source IP address of the packet to the specified value.
-Change the destination port number of the packet to the specified value.
-Change the packet source port number to the specified value.
Add a VLAN (Virtual Local Area Network) tag to the packet.
-Delete the VLAN tag of the packet.
-Change the VLAN tag of the packet.
-Discard the packet.

制御チャネル処理部401およびパケット処理部402は、一例として、プログラムに従って動作するコンピュータのCPU(Central Processing Unit)によって実現することができる。また、制御チャネル処理部401およびパケット処理部402は、それぞれ、専用のハードウェアで実現されていてもよい。   As an example, the control channel processing unit 401 and the packet processing unit 402 can be realized by a CPU (Central Processing Unit) of a computer that operates according to a program. Further, each of the control channel processing unit 401 and the packet processing unit 402 may be realized by dedicated hardware.

(実施形態1)
次に、図面を参照して第1の実施形態に係る通信システムについて説明する。ここでは以下を仮定して第1の実施形態の説明を行う。ただし、本発明はこれらに限定されるものではない。
− 通信ネットワーク3−1は3Gネットワークであり、通信IF部50−1は3Gインタフェースであり、通信IF部50−1は通信ネットワーク3−1に接続する。
− 通信ネットワーク3−2は無線LANネットワークであり、通信IF部50−2は無線LANインタフェースであり、通信IF部50−2は通信ネットワーク3−2に接続する。
− 通信の特徴としてURL(Uniform Resource Locator)を利用する。
− 制御ポリシのトラフィック条件としてURLを利用可能である。
(Embodiment 1)
Next, a communication system according to the first embodiment will be described with reference to the drawings. Here, the first embodiment will be described assuming the following. However, the present invention is not limited to these.
The communication network 3-1 is a 3G network, the communication IF unit 50-1 is a 3G interface, and the communication IF unit 50-1 is connected to the communication network 3-1.
The communication network 3-2 is a wireless LAN network, the communication IF unit 50-2 is a wireless LAN interface, and the communication IF unit 50-2 is connected to the communication network 3-2.
-Use URL (Uniform Resource Locator) as a communication feature.
-The URL can be used as a traffic condition for the control policy.

第1の実施形態における制御ポリシ記憶部102が記憶する制御ポリシのリストの一例を図5に示す。図5に示すように、第1の実施形態における制御ポリシは、優先度と、トラフィック条件と、実行すべき処理とを関連付けた規則である。トラフィック条件は、ポリシを適用するトラフィックを識別するための条件である。トラフィックには、通信処理部40が処理するパケットやフローが含まれ、さらに、その他の抽象的な通信(接続やデータの流れ)が含まれる。すなわち、トラフィック条件には、フローエントリよりも抽象的な指定が可能であり、フローエントリで指定可能な条件以外の条件を指定することができる。トラフィック条件には、フローエントリで指定できない、すなわち、パケットに含まれない、トラフィックの特徴(例えば、URL)を指定できる。また、第1の実施形態における制御ポリシは優先度を含み、数値が小さいものが高優先であるとする。ここでは、説明の都合上、制御ポリシの優先度をその識別子として使用する。例えば、図5の上から一つ目の制御ポリシを参照する際、制御ポリシ1と記述する。本実施形態の説明において、トラフィック条件は特記がない場合AND結合(AND条件)とする。また、トラフィック条件でのURLの指定において、"*"は任意の文字列にマッチすることを意味する。   An example of a list of control policies stored in the control policy storage unit 102 in the first embodiment is shown in FIG. As shown in FIG. 5, the control policy in the first embodiment is a rule that associates priority, traffic conditions, and processing to be executed. The traffic condition is a condition for identifying traffic to which the policy is applied. The traffic includes packets and flows processed by the communication processing unit 40, and further includes other abstract communication (connection and data flow). That is, the traffic condition can be specified more abstractly than the flow entry, and conditions other than those that can be specified in the flow entry can be specified. In the traffic condition, a traffic characteristic (for example, URL) that cannot be specified in the flow entry, that is, not included in the packet can be specified. In addition, the control policy in the first embodiment includes priority, and a smaller numerical value has higher priority. Here, for convenience of explanation, the priority of the control policy is used as the identifier. For example, when referring to the first control policy from the top in FIG. In the description of this embodiment, the traffic condition is an AND combination (AND condition) unless otherwise specified. In addition, in the designation of a URL in traffic conditions, “*” means that an arbitrary character string is matched.

第1の実施形態における通信中継特徴抽出部20は、HTTP(Hypertext Transfer Protocol)通信の中継を行い、URLを中継される通信の特徴として抽出する。   The communication relay feature extraction unit 20 in the first embodiment relays HTTP (Hypertext Transfer Protocol) communication, and extracts a URL as a feature of the relayed communication.

通信中継特徴抽出部20は、中継対象のHTTPトラフィックを受信するため、特定のIPアドレス(中継待ち受け用IPアドレス)および特定のポート番号(中継待ち受け用ポート番号)でのTCP接続待ち受けを行う。通信中継特徴抽出部20は、中継待ち受け用ポート番号に接続要求があった場合、当該要求を受け付け、TCP接続を確立する(中継元コネクション、中継元通信(中継元フロー))。中継元コネクション確立後、通信中継特徴抽出部20は当該中継元コネクションからデータ(HTTPリクエスト行、HTTPヘッダ等)を読み込む。   The communication relay feature extraction unit 20 waits for a TCP connection at a specific IP address (relay standby IP address) and a specific port number (relay standby port number) in order to receive the HTTP traffic to be relayed. When there is a connection request for the relay standby port number, the communication relay feature extraction unit 20 accepts the request and establishes a TCP connection (relay source connection, relay source communication (relay source flow)). After establishing the relay source connection, the communication relay feature extracting unit 20 reads data (HTTP request line, HTTP header, etc.) from the relay source connection.

通信中継特徴抽出部20は、当該中継元コネクションから読み込みこんだデータから当該通信の特徴(本例ではURL)を抽出し、中継元コネクションの情報(IPアドレスやポート番号)とともに通信情報記憶部30に記憶させる。通信中継特徴抽出部20は、例えば、URLを受信したHTTPリクエスト行やHTTP Hostヘッダから取得できる。   The communication relay feature extraction unit 20 extracts the communication feature (URL in this example) from the data read from the relay source connection, and the communication information storage unit 30 together with information (IP address and port number) of the relay source connection. Remember me. The communication relay feature extracting unit 20 can acquire the URL from the HTTP request line or the HTTP Host header that has received the URL, for example.

通信中継特徴抽出部20は、中継元コネクションから読み込んだデータや中継元コネクションの情報から、中継先のIPアドレスおよびポート番号を決定し、当該IPアドレス・ポート番号に対しTCP接続要求を出す(中継先コネクション、中継先通信(中継先フロー))。この時、通信中継特徴抽出部20は、中継先コネクションの情報(IPアドレスやポート番号)を、対応する中継元コネクションに関する追加情報として通信情報記憶部30に記憶させる。通信中継特徴抽出部20は、例えば、中継元コネクションから受信したHTTP Hostヘッダを用いて中継先のIPアドレスおよびポート番号を決定する。   The communication relay feature extraction unit 20 determines the IP address and port number of the relay destination from the data read from the relay source connection and the information of the relay source connection, and issues a TCP connection request to the IP address / port number (relay) Destination connection, relay destination communication (relay destination flow)). At this time, the communication relay feature extraction unit 20 stores the information (IP address and port number) of the relay destination connection in the communication information storage unit 30 as additional information regarding the corresponding relay source connection. For example, the communication relay feature extraction unit 20 determines the IP address and port number of the relay destination using the HTTP Host header received from the relay source connection.

通信中継特徴抽出部20は、中継元コネクションおよび中継先コネクションの確立完了後、両コネクション間でデータの中継を行う。すなわち、通信中継特徴抽出部20は、中継元コネクションから読み込んだデータ(中継先コネクション確立前に読み込んだものを含む)を中継先コネクションに書き込み、同様に、中継先コネクションから読み込んだデータを中継元コネクションに書き込む。   The communication relay feature extraction unit 20 relays data between both connections after the establishment of the relay source connection and the relay destination connection is completed. That is, the communication relay feature extraction unit 20 writes data read from the relay source connection (including data read before establishing the relay destination connection) to the relay destination connection, and similarly, reads the data read from the relay destination connection to the relay source. Write to the connection.

通信中継特徴抽出部20は、中継元コネクションにおいて通信されるプロトコルに対応していない場合、通信の特徴の抽出処理失敗とし、その旨を通信情報記憶部30に記憶させる。その場合、通信中継特徴抽出部20は、中継先コネクションの確立およびデータの中継を試みてもよい。   If the communication relay feature extraction unit 20 does not support the protocol communicated in the relay source connection, the communication relay feature extraction unit 20 determines that the communication feature extraction processing has failed, and stores the fact in the communication information storage unit 30. In that case, the communication relay feature extraction unit 20 may attempt to establish a relay destination connection and relay data.

第1の実施形態における制御処理部101は、通信処理部40からパケット通知を受信すると、通信情報記憶部30に記憶された情報を参照して、当該パケットが中継先コネクションに属するものか否かを判定する。   When receiving the packet notification from the communication processing unit 40, the control processing unit 101 according to the first embodiment refers to the information stored in the communication information storage unit 30 and determines whether or not the packet belongs to the relay destination connection. Determine.

当該パケットが属する通信が中継先コネクションでなく中継元コネクションであり、当該中継元コネクションと制御ポリシとの照合に当該パケット通知に含まれない情報(本例ではURL)が必要な場合、制御処理部101は、当該中継元コネクションに属する通信利用部70からのパケットの送信先を通信中継特徴抽出部20の中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号に変更し、内部通信IF部60へ出力するフローエントリを通信処理部40に設定する。同時に、逆方向のパケットのフローエントリとして、制御処理部101は、当該中継元コネクションに属する通信利用部70宛てのパケットの送信元を通信利用部70が元々使用していた送信先アドレスおよびポート番号に変更し、内部通信IF部60へ出力するフローエントリを通信処理部40に設定する。その際、制御処理部101は、中継元コネクションの情報(アドレス変換に係る情報を含む)を通信情報記憶部30に記憶させてもよい。   When the communication to which the packet belongs is not a relay destination connection but a relay source connection, and information (URL in this example) that is not included in the packet notification is required for collation between the relay source connection and the control policy, the control processing unit 101 changes the transmission destination of the packet from the communication utilization unit 70 belonging to the relay source connection to the relay standby IP address and the relay standby port number of the communication relay feature extraction unit 20, and outputs them to the internal communication IF unit 60. A flow entry is set in the communication processing unit 40. At the same time, as the flow entry of the packet in the reverse direction, the control processing unit 101 uses the transmission destination address and port number originally used by the communication utilization unit 70 for the transmission source of the packet addressed to the communication utilization unit 70 belonging to the relay source connection. The flow entry to be output to the internal communication IF unit 60 is set in the communication processing unit 40. At this time, the control processing unit 101 may store information on the relay source connection (including information related to address conversion) in the communication information storage unit 30.

通信処理部40からのパケット通知で通知されたパケットが属する通信が中継先コネクションであった場合、制御処理部101は通信情報記憶部30を参照して当該通信に対応する中継元コネクションの情報と通信の特徴(本例ではURL)を取得し、それらの情報を基に制御ポリシとの照合を実施する。制御処理部101は、照合の結果決定された制御ポリシの処理を、当該中継先コネクションに適用する処理とし、そのためのフローエントリを作成して通信処理部40に設定する。   When the communication to which the packet notified by the packet notification from the communication processing unit 40 belongs is a relay destination connection, the control processing unit 101 refers to the communication information storage unit 30 and information on the relay source connection corresponding to the communication. Communication characteristics (URL in this example) are acquired, and collation with the control policy is performed based on the information. The control processing unit 101 sets the processing of the control policy determined as a result of the collation to processing to be applied to the relay destination connection, creates a flow entry for the processing, and sets it in the communication processing unit 40.

制御処理部101には、通信中継特徴抽出部20の中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号を予め与えられておいてよい。また、通信中継特徴抽出部20の中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号は予め通信情報記憶部30に記憶されており、制御処理部101および通信中継特徴抽出部20は通信情報記憶部30を参照して中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号を決定してもよい。   The control processing unit 101 may be given in advance the relay standby IP address and relay standby port number of the communication relay feature extraction unit 20. The relay standby IP address and the relay standby port number of the communication relay feature extracting unit 20 are stored in advance in the communication information storage unit 30, and the control processing unit 101 and the communication relay feature extracting unit 20 are included in the communication information storage unit 30. , The relay standby IP address and the relay standby port number may be determined.

[動作の説明]
次に、本実施形態に係る通信システムの動作について、図面を参照しつつ説明する。なお、ここでは以下のアドレス等が用いられるものとして説明を行う。
− サーバ2: 10.0.0.1 (example.com)
− 内部通信IF部60:192.168.254.1
− 通信IF部50−1:192.168.1.1
− 通信IF部50−2:192.168.2.1
− 通信中継特徴抽出部20の中継待ち受け用IPアドレス:192.168.254.2
− 通信中継特徴抽出部20の中継待ち受け用ポート番号:8080
[Description of operation]
Next, the operation of the communication system according to the present embodiment will be described with reference to the drawings. Here, description will be made assuming that the following addresses are used.
-Server 2: 10.0.0.1 (example.com)
-Internal communication IF unit 60: 192.168.254.1
-Communication IF unit 50-1: 192.168.1.1
-Communication IF unit 50-2: 192.168.2.1
-Relay standby IP address of the communication relay feature extracting unit 20: 192.168.254.2
-Relay standby port number of the communication relay feature extraction unit 20: 8080

なお、本実施形態において、ドメイン名からのIPアドレスの解決はDNS等の従来技術によって行われるものとし、その説明を省略する。   In the present embodiment, the IP address from the domain name is resolved by a conventional technique such as DNS, and the description thereof is omitted.

また、TCPによる通信では、Ack(Acknowledgement)送信や、データ欠落に伴うデータパケットの再送が通常発生するが、特記する場合を除きそれらの図示および説明は省略する。   In TCP communication, Ack (Acknowledgement) transmission and retransmission of a data packet accompanying data loss usually occur, but illustration and description thereof are omitted unless otherwise specified.

<通信利用部70がhttp://example.com/video/index.htmlにアクセスした場合の動作>
通信利用部70が、ユーザ等の指示に基づき、http://example.com/video/index.htmlにアクセスした場合の動作について説明する。本通信は、図5に示す制御ポリシ12によって処理されることが期待される。なお、以下の説明は、次の条件が成り立っていることを前提とする。
− フローテーブル記憶部403にはフローエントリが記憶されていない。
− 通信情報記憶部30には情報が記憶されていない。
<The communication using unit 70 is http://example.com. com / video / index. Operation when accessing html>
Based on an instruction from the user or the like, the communication using unit 70 receives http: // example. com / video / index. The operation when accessing html will be described. This communication is expected to be processed by the control policy 12 shown in FIG. In the following description, it is assumed that the following conditions are satisfied.
-No flow entry is stored in the flow table storage unit 403.
-No information is stored in the communication information storage unit 30.

図6A〜図6Cは、本実施形態における通信システムの動作の例を示すシーケンス図である。なお、図6A〜図6Cにおいて、通信ネットワーク3−3の図示は省略する。   6A to 6C are sequence diagrams illustrating an example of the operation of the communication system according to the present embodiment. In addition, illustration of the communication network 3-3 is abbreviate | omitted in FIG. 6A-FIG. 6C.

図6A〜図6Cに示すように、まず、通信利用部70は、10.0.0.1(example.com)の80番ポートに対し、TCP接続要求を送信する(ステップS101)。この時、当該TCP接続要求(SYNパケット)の送信元IPアドレスは192.168.254.1、送信元ポート番号は10001、送信先IPアドレスは10.0.0.1、送信先ポート番号は80であるとする。   As shown in FIGS. 6A to 6C, first, the communication using unit 70 transmits a TCP connection request to the 80th port of 10.0.0.1 (example.com) (step S101). At this time, the source IP address of the TCP connection request (SYN packet) is 192.168.254.1, the source port number is 10001, the destination IP address is 10.0.0.1, and the destination port number is 80.

続いて、通信処理部40のパケット処理部402は当該TCP接続要求を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS102)。ステップS102の時点において、フローテーブル記憶部403は空であるため、対応するフローエントリは見つからない。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the TCP connection request, refers to the flow table storage unit 403, and checks whether there is a corresponding flow entry (step S102). Since the flow table storage unit 403 is empty at the time of step S102, no corresponding flow entry is found.

続いて、通信処理部40のパケット処理部402は、TCP接続要求と一致するフローエントリが無いため、当該TCP接続要求を制御チャネル処理部401に通知し、制御チャネル処理部401は対応するパケット通知を通信制御部10に送信する(ステップS103)。当該パケット通知は、当該TCP接続要求パケット全体を含んでもよい。しかし、一般的に当該TCP接続要求パケットにURL情報を含まれない。   Subsequently, since there is no flow entry that matches the TCP connection request, the packet processing unit 402 of the communication processing unit 40 notifies the TCP connection request to the control channel processing unit 401, and the control channel processing unit 401 notifies the corresponding packet notification. Is transmitted to the communication control unit 10 (step S103). The packet notification may include the entire TCP connection request packet. However, generally, the URL information is not included in the TCP connection request packet.

続いて、通信制御部10の制御処理部101はパケット通知を受信し、パケット通知により通知されたTCP接続要求に対する処理を決定する(ステップS104)。その動作の詳細は後述する。具体的には、本処理において、後述するステップS146が実行され、図8Aの項番1および2に示すフローエントリが生成される。   Subsequently, the control processing unit 101 of the communication control unit 10 receives the packet notification and determines processing for the TCP connection request notified by the packet notification (step S104). Details of the operation will be described later. Specifically, in this process, step S146 described later is executed, and flow entries shown in item numbers 1 and 2 in FIG. 8A are generated.

続いて、通信制御部10の制御処理部101は、ステップS104において生成されたフローエントリを通信処理部40に設定すると同時に、対応するTCP接続要求に対し当該フローエントリに基づく処理を適用するよう指示する(ステップS105)。   Subsequently, the control processing unit 101 of the communication control unit 10 sets the flow entry generated in step S104 in the communication processing unit 40, and at the same time instructs to apply processing based on the flow entry to the corresponding TCP connection request. (Step S105).

続いて、通信処理部40の制御チャネル処理部401は、通知(設定)されたフローエントリをフローテーブル記憶部403に記憶させる(ステップS106)。   Subsequently, the control channel processing unit 401 of the communication processing unit 40 stores the notified (set) flow entry in the flow table storage unit 403 (step S106).

続いて、通信処理部40のパケット処理部402は、ステップS106で設定されたフローエントリに基づきTCP接続要求を処理する(ステップS107)。具体的には、パケットが図8Aの項番1のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、TCP接続要求の送信先IPアドレスを192.168.254.2(中継待ち受け用IPアドレス)、送信先ポート番号を8080(中継待ち受け用ポート番号)に変更した後、内部通信IF部60に出力する。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the TCP connection request based on the flow entry set in step S106 (step S107). Specifically, since the packet matches the flow entry of item number 1 in FIG. 8A, the action of the flow entry is executed. That is, the packet processing unit 402 changes the transmission destination IP address of the TCP connection request to 192.168.254.2 (relay standby IP address) and the transmission destination port number to 8080 (relay standby port number). The data is output to the internal communication IF unit 60.

続いて、通信中継特徴抽出部20は、受信したTCP接続要求に対するTCP接続応答を送信する(ステップS108)。この時、当該TCP接続応答の送信元IPアドレスは192.168.254.2、送信元ポート番号は8080、送信先IPアドレスは192.168.254.1、送信先ポート番号は10001となる。   Subsequently, the communication relay feature extraction unit 20 transmits a TCP connection response to the received TCP connection request (step S108). At this time, the source IP address of the TCP connection response is 192.168.254.2, the source port number is 8080, the destination IP address is 192.168.254.1, and the destination port number is 10001.

続いて、通信処理部40のパケット処理部402は、当該TCP接続応答を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS109)。ここでは、ステップS106において記憶されたフローエントリが発見される(図8Aの項番2)。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the TCP connection response, refers to the flow table storage unit 403, and confirms whether there is a corresponding flow entry (step S109). Here, the flow entry stored in step S106 is found (item number 2 in FIG. 8A).

続いて、通信処理部40のパケット処理部402は、ステップS109で発見したフローエントリに基づき処理する(ステップS110)。具体的には、パケットが図8Aの項番2のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、TCP接続応答の送信元IPアドレスを10.0.0.1(TCP接続要求の当初の送信先IPアドレス)に、送信元ポート番号を80(TCP接続要求の当初の送信先ポート番号)に変更した後、内部通信IF部60に出力する。   Subsequently, the packet processing unit 402 of the communication processing unit 40 performs processing based on the flow entry found in step S109 (step S110). Specifically, since the packet matches the flow entry of item number 2 in FIG. 8A, the action of the flow entry is executed. That is, the packet processing unit 402 sets the source IP address of the TCP connection response to 10.0.0.1 (the initial destination IP address of the TCP connection request), and sets the source port number to 80 (the initial TCP connection request. Output to the internal communication IF unit 60.

この時点において、通信利用部70は、接続先サーバとのHTTP通信用TCP接続(コネクション)の確立が完了したと認識し、当該コネクションを介してHTTPリクエスト行およびヘッダ(単にリクエストおよびヘッダとも称する)を送信する(ステップS111)。なお、当該コネクションは通信中継特徴抽出部20にとって中継元コネクションとなる。   At this point, the communication using unit 70 recognizes that the establishment of an HTTP communication TCP connection (connection) with the connection destination server is completed, and an HTTP request line and header (also simply referred to as a request and a header) via the connection. Is transmitted (step S111). The connection is a relay source connection for the communication relay feature extraction unit 20.

続いて、通信処理部40のパケット処理部402は、当該リクエストおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS112)。ここでは、ステップS106において記憶されたフローエントリが発見される(図8Aの項番1)。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the request and the header, refers to the flow table storage unit 403, and confirms whether there is a corresponding flow entry (step S112). Here, the flow entry stored in step S106 is found (item number 1 in FIG. 8A).

続いて、通信処理部40のパケット処理部402は、ステップS109で発見したフローエントリに基づき処理する(ステップS113)。ステップS107と同様に、図8Aの項番1のフローエントリに基づき、リクエストおよびヘッダの送信先IPアドレス、送信先ポート番号を変更し、内部通信IF部60に出力する。   Subsequently, the packet processing unit 402 of the communication processing unit 40 performs processing based on the flow entry found in step S109 (step S113). Similarly to step S107, based on the flow entry of item number 1 in FIG. 8A, the transmission destination IP address and transmission destination port number of the request and header are changed and output to the internal communication IF unit 60.

続いて、通信中継特徴抽出部20は、HTTPリクエスト行およびヘッダを受信し、その特徴としてURLを抽出する(ステップS114)。また、通信中継特徴抽出部20は、同時に、中継先コネクションの確立先の決定も行う。その動作の詳細は後述する。   Subsequently, the communication relay feature extraction unit 20 receives the HTTP request line and the header, and extracts a URL as the feature (step S114). At the same time, the communication relay feature extraction unit 20 determines the establishment destination of the relay destination connection. Details of the operation will be described later.

続いて、通信中継特徴抽出部20は、抽出した特徴(URL)と、中継先コネクションの情報を通信情報記憶部30に記憶させる(ステップS115)。ここでは、当該中継先コネクションの送信元IPアドレスは192.168.254.2、送信元ポート番号は10002、送信先IPアドレスは10.0.0.1、送信先ポート番号は80であるとする。本例において通信情報記憶部30に記憶される情報の例を図9に示す。図9のように、中継元コネクション情報、所要情報、中継先コネクション情報、抽出情報を関連付ける。   Subsequently, the communication relay feature extraction unit 20 stores the extracted feature (URL) and information of the relay destination connection in the communication information storage unit 30 (step S115). Here, the source IP address of the relay destination connection is 192.168.254.2, the source port number is 10002, the destination IP address is 10.0.0.1, and the destination port number is 80. To do. An example of information stored in the communication information storage unit 30 in this example is shown in FIG. As shown in FIG. 9, relay source connection information, required information, relay destination connection information, and extraction information are associated.

続いて、通信中継特徴抽出部20は、ステップS114で決定された確立先に対し中継先コネクションを確立するため、TCP接続要求を送信する(ステップS116)。このとき、通信中継特徴抽出部20は、中継先コネクションに関し追加の情報が得られる場合、当該情報を通信情報記憶部30に記憶させてもよい。   Subsequently, the communication relay feature extraction unit 20 transmits a TCP connection request to establish a relay destination connection with respect to the establishment destination determined in step S114 (step S116). At this time, when additional information regarding the relay destination connection is obtained, the communication relay feature extraction unit 20 may store the information in the communication information storage unit 30.

続いて、通信処理部40のパケット処理部402は当該TCP接続要求を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS117)。ステップS117の時点において、対応するフローエントリは見つからない。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the TCP connection request, refers to the flow table storage unit 403, and checks whether there is a corresponding flow entry (step S117). At step S117, no corresponding flow entry is found.

続いて、通信処理部40のパケット処理部402は、当該TCP接続要求と一致するフローエントリが無いため、当該TCP接続要求を制御チャネル処理部401に通知し、制御チャネル処理部401は対応するパケット通知を通信制御部10に送信する(ステップS118)。   Subsequently, since there is no flow entry that matches the TCP connection request, the packet processing unit 402 of the communication processing unit 40 notifies the control channel processing unit 401 of the TCP connection request, and the control channel processing unit 401 A notification is transmitted to the communication control unit 10 (step S118).

続いて、通信制御部10の制御処理部101はパケット通知を受信し、パケット通知により通知されたTCP接続要求に対する処理を決定する(ステップS119)。その動作の詳細は後述する。本例では、当該TCP接続要求は図5の制御ポリシ12に適合すると判定され、後述するステップS148において図8Aの項番3および4に示すフローエントリが生成される。   Subsequently, the control processing unit 101 of the communication control unit 10 receives the packet notification and determines a process for the TCP connection request notified by the packet notification (step S119). Details of the operation will be described later. In this example, it is determined that the TCP connection request conforms to the control policy 12 of FIG. 5, and flow entries shown in item numbers 3 and 4 of FIG. 8A are generated in step S148 described later.

続いて、通信制御部10の制御処理部101は、ステップS119において決定された処理に基づくフローエントリを通信処理部40に設定すると同時に、対応するTCP接続要求に対し当該フローエントリに基づく処理を適用するよう指示する(ステップS120)。   Subsequently, the control processing unit 101 of the communication control unit 10 sets the flow entry based on the processing determined in step S119 in the communication processing unit 40, and at the same time applies the processing based on the flow entry to the corresponding TCP connection request. (Step S120).

続いて、通信処理部40の制御チャネル処理部401は、通知(設定)されたフローエントリをフローテーブル記憶部403に記憶させる(ステップS121)。   Subsequently, the control channel processing unit 401 of the communication processing unit 40 stores the notified (set) flow entry in the flow table storage unit 403 (step S121).

続いて、通信処理部40のパケット処理部402は、ステップS121で設定されたフローエントリに基づきTCP接続要求を処理する(ステップS122)。具体的には、パケットが図8Aの項番3のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、TCP接続要求の送信元IPアドレスを192.168.2.1(通信IF部50−2のIPアドレス)に変更した後、通信IF部50−2に出力する。当該TCP接続要求は、通信IF部50−2から、通信ネットワーク3−2および通信ネットワーク3−3を介し、サーバ2に送信される。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the TCP connection request based on the flow entry set in step S121 (step S122). Specifically, since the packet matches the flow entry of item number 3 in FIG. 8A, the action of the flow entry is executed. That is, the packet processing unit 402 changes the source IP address of the TCP connection request to 192.168.2.1 (IP address of the communication IF unit 50-2), and then outputs it to the communication IF unit 50-2. The TCP connection request is transmitted from the communication IF unit 50-2 to the server 2 via the communication network 3-2 and the communication network 3-3.

続いて、サーバ2は、受信したTCP接続要求に対するTCP接続応答を送信する(ステップS123)。この時、当該TCP接続応答の送信元IPアドレスは10.0.0.1、送信元ポート番号は80、送信先IPアドレスは192.168.2.1、送信先ポート番号は10002となる。当該TCP接続応答は、サーバ2から、通信ネットワーク3−3および通信ネットワーク3−2を介し、通信端末1(通信IF部50−2)に送信される。   Subsequently, the server 2 transmits a TCP connection response to the received TCP connection request (step S123). At this time, the source IP address of the TCP connection response is 10.0.0.1, the source port number is 80, the destination IP address is 192.168.2.1, and the destination port number is 10002. The TCP connection response is transmitted from the server 2 to the communication terminal 1 (communication IF unit 50-2) via the communication network 3-3 and the communication network 3-2.

続いて、通信処理部40のパケット処理部402は、通信IF部50−2から当該TCP接続応答を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS124)。ここでは、ステップS121において記憶されたフローエントリが発見される(図8Aの項番4)。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the TCP connection response from the communication IF unit 50-2, refers to the flow table storage unit 403, and confirms the presence or absence of the corresponding flow entry (step S124). ). Here, the flow entry stored in step S121 is found (item number 4 in FIG. 8A).

続いて、通信処理部40のパケット処理部402は、ステップS124で発見したフローエントリに基づきTCP接続応答を処理する(ステップS125)。具体的には、パケットが図8Aの項番4のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、TCP接続応答の送信先IPアドレスを192.168.254.2(TCP接続要求の当初の送信元IPアドレス)に変更した後、内部通信IF部60に出力する。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the TCP connection response based on the flow entry found in step S124 (step S125). Specifically, since the packet matches the flow entry of item number 4 in FIG. 8A, the action of the flow entry is executed. That is, the packet processing unit 402 changes the transmission destination IP address of the TCP connection response to 192.168.254.2 (original transmission source IP address of the TCP connection request), and then outputs it to the internal communication IF unit 60.

この時点で、通信中継特徴抽出部20とサーバ2との間のHTTP通信用TCP接続(中継先コネクション)の確立が完了し、通信中継特徴抽出部20は、ステップS113において受信した通信利用部70からのHTTPリクエストおよびヘッダを、中継先コネクションに書き込み送信する(ステップS126)。   At this time, establishment of the TCP connection for HTTP communication (relay destination connection) between the communication relay feature extracting unit 20 and the server 2 is completed, and the communication relay feature extracting unit 20 receives the communication using unit 70 received in step S113. The HTTP request and header from are written and transmitted to the relay destination connection (step S126).

続いて、通信処理部40のパケット処理部402は、当該リクエストおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS127)。ここでは、ステップS121において記憶されたフローエントリが発見される(図8Aの項番3)。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the request and the header, refers to the flow table storage unit 403, and confirms the presence or absence of the corresponding flow entry (step S127). Here, the flow entry stored in step S121 is found (item number 3 in FIG. 8A).

続いて、通信処理部40のパケット処理部402は、ステップS127で発見したフローエントリに基づきリクエストおよびヘッダを処理する(ステップS128)。ステップS122と同様に、図8Aの項番3のフローエントリに基づき、リクエストおよびヘッダはアドレス変換を施された後、通信IF部50−2から出力され、サーバ2へ送信される。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the request and the header based on the flow entry found in step S127 (step S128). Similar to step S122, based on the flow entry of item number 3 in FIG. 8A, the request and the header are subjected to address conversion, then output from the communication IF unit 50-2, and transmitted to the server 2.

続いて、サーバ2は、受信したリクエストおよびヘッダに対するレスポンスおよびヘッダを、通信端末1(通信IF部50−2)へ送信する(ステップS129)。   Subsequently, the server 2 transmits a response to the received request and header and a header to the communication terminal 1 (communication IF unit 50-2) (step S129).

続いて、通信処理部40のパケット処理部402は、通信IF部50−2から当該レスポンスおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS130)。ここでは、ステップS121において記憶されたフローエントリが発見される(図8Aの項番4)。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the response and the header from the communication IF unit 50-2, refers to the flow table storage unit 403, and confirms the presence or absence of the corresponding flow entry (step S130). ). Here, the flow entry stored in step S121 is found (item number 4 in FIG. 8A).

続いて、通信処理部40のパケット処理部402は、ステップS130で発見したフローエントリに基づきレスポンスおよびヘッダを処理する(ステップS131)。ステップS123と同様に、図8Aの項番4のフローエントリに基づき、レスポンスおよびヘッダはアドレス変換を施された後、内部通信IF部60から出力される。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the response and the header based on the flow entry found in step S130 (step S131). Similar to step S123, based on the flow entry of item number 4 in FIG. 8A, the response and the header are output from the internal communication IF unit 60 after address conversion.

続いて、通信中継特徴抽出部20は、通信情報記憶部30を参照し、受信したレスポンスおよびヘッダを中継元コネクションに書き込み送信する(ステップS132)。図9の通信情報記憶部30の情報に基づき、受信した中継先コネクションに対応する中継元コネクションを介して、レスポンスおよびヘッダを送信する。   Subsequently, the communication relay feature extraction unit 20 refers to the communication information storage unit 30 and writes and transmits the received response and header to the relay source connection (step S132). Based on the information in the communication information storage unit 30 in FIG. 9, the response and the header are transmitted through the relay source connection corresponding to the received relay destination connection.

続いて、通信処理部40のパケット処理部402は、当該レスポンスおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS133)。ここでは、ステップS106において記憶されたフローエントリが発見される(図8Aの項番2)。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the response and the header, refers to the flow table storage unit 403, and confirms whether or not there is a corresponding flow entry (step S133). Here, the flow entry stored in step S106 is found (item number 2 in FIG. 8A).

続いて、通信処理部40のパケット処理部402は、ステップS133で発見したフローエントリに基づき当該レスポンスおよびヘッダを処理する(ステップS134)。ステップS110と同様、図8Aの項番2のフローエントリに基づき、当該レスポンスおよびヘッダはアドレス変換を施された後、内部通信IF部60から出力され、通信利用部70により受信される。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the response and the header based on the flow entry found in step S133 (step S134). Similar to step S110, based on the flow entry of item number 2 in FIG. 8A, the response and the header are subjected to address conversion, then output from the internal communication IF unit 60, and received by the communication using unit 70.

以降、同様に、通信中継特徴抽出部20は、中継元コネクションから受信したデータを中継先コネクションに送信し、中継先コネクションから受信したデータを中継元コネクションに送信する。この時、中継元コネクションのパケットは、ステップS106において記憶されたフローエントリ(図8Aの項番1および2)に基づきパケット処理部402により処理される。また、中継先コネクションのパケットは、ステップS121において記憶されたフローエントリ(図8Aの項番3および4)に基づきパケット処理部402により処理される。   Thereafter, similarly, the communication relay feature extraction unit 20 transmits the data received from the relay source connection to the relay destination connection, and transmits the data received from the relay destination connection to the relay source connection. At this time, the packet of the relay source connection is processed by the packet processing unit 402 based on the flow entry (item numbers 1 and 2 in FIG. 8A) stored in step S106. The packet of the relay destination connection is processed by the packet processing unit 402 based on the flow entry (item numbers 3 and 4 in FIG. 8A) stored in step S121.

次に、図7を用いて、図6A及び図6BのステップS104およびS119における通信制御部10の制御処理部101の動作を説明する。   Next, the operation of the control processing unit 101 of the communication control unit 10 in steps S104 and S119 of FIGS. 6A and 6B will be described using FIG.

図7に示すように、まず、制御処理部101は、制御ポリシ記憶部102に記憶されている制御ポリシのうち最高優先度のものを選択する(ステップS141)。図5の例では、制御ポリシ1が選択される。   As shown in FIG. 7, first, the control processing unit 101 selects a control policy having the highest priority among the control policies stored in the control policy storage unit 102 (step S141). In the example of FIG. 5, the control policy 1 is selected.

続いて、制御処理部101は、選択した制御ポリシとパケット通知で通知されたパケットが属する通信(処理対象通信と記載)との照合に必要な情報がすべてあるかどうか確認する(ステップS142)。当該照合に必要な情報とは、制御ポリシのトラフィック条件に指定された項目の、処理対象通信に関する値である。例えば、制御ポリシ11の照合に必要な情報は処理対象通信のプロトコルタイプ、送信先IPアドレス、および送信先ポート番号であり、これらはパケット通知に含まれる。また、例えば、制御ポリシ12の照合に必要な情報は処理対象通信のプロトコルタイプ、送信先ポート、およびURLであり、これらのうち前者2つはパケット通知(例えば、図6AのステップS103の通知)に含まれるが、URLは含まれない。   Subsequently, the control processing unit 101 checks whether or not there is all information necessary for collation with the selected control policy and the communication to which the packet notified by the packet notification belongs (described as processing target communication) (step S142). The information necessary for the collation is a value related to the processing target communication of the item specified in the traffic condition of the control policy. For example, information necessary for collation of the control policy 11 is a protocol type, a transmission destination IP address, and a transmission destination port number of the communication to be processed, and these are included in the packet notification. Further, for example, the information necessary for the verification of the control policy 12 is the protocol type, the transmission destination port, and the URL of the communication to be processed, and the former two of these are packet notifications (for example, notification in step S103 in FIG. 6A). Is included, but URL is not included.

なお、制御処理部101は、制御ポリシとの照合に際し、パケット通知が中継先コネクションに関するものであった場合、少なくとも通信端末1側の情報(例えば送信元IPアドレス、送信元ポート番号)として、中継元コネクションのものを使用する。その場合、制御処理部101は、当該中継先コネクションに対応する中継元コネクションの情報を通信情報記憶部30を参照して取得し、制御ポリシとの照合に使用する。   The control processing unit 101 relays at least information on the communication terminal 1 side (for example, the transmission source IP address and the transmission source port number) when the packet notification relates to the relay destination connection when collating with the control policy. Use the original connection. In that case, the control processing unit 101 acquires information of the relay source connection corresponding to the relay destination connection with reference to the communication information storage unit 30 and uses it for collation with the control policy.

ステップS142において制御ポリシの照合に必要な情報がそろっている場合、制御処理部101は、選択した制御ポリシと処理対象通信との照合を行う(ステップS143)。当該照合は、選択した制御ポリシのトラフィック条件を、処理対象通信が満たすか否かを判定することで行われる。前述したとおり、パケット通知が中継先コネクションに関するものであった場合、制御処理部101は、中継元コネクションの情報、中継先コネクションの情報、通信中継特徴抽出部20によって抽出された追加情報(URL等)、等を組み合わせて参照し、トラフィック条件の判定を行う。   In step S142, when the information necessary for control policy verification is available, the control processing unit 101 performs verification between the selected control policy and the communication to be processed (step S143). The collation is performed by determining whether the processing target communication satisfies the traffic condition of the selected control policy. As described above, when the packet notification is related to the relay destination connection, the control processing unit 101 transmits information on the relay source connection, information on the relay destination connection, additional information extracted by the communication relay feature extraction unit 20 (such as a URL). ), Etc. are referred to and traffic conditions are determined.

ステップS143において、選択した制御ポリシに処理対象通信が適合しない(条件を満たさない)と判定された場合、制御処理部101は、制御ポリシ記憶部102に記憶されている制御ポリシに、本処理において処理対象通信との照合を確認していないものがあるかどうか確認する(ステップS144)。この時、未確認の制御ポリシが存在しない場合、制御処理部101は、処理対象通信に適用すべき制御ポリシは存在しない、と判定し、その処理を終了する。   If it is determined in step S143 that the communication to be processed does not match the selected control policy (the condition is not satisfied), the control processing unit 101 adds the control policy stored in the control policy storage unit 102 to the control policy. It is confirmed whether or not there is a device that has not been verified against the processing target communication (step S144). At this time, when there is no unconfirmed control policy, the control processing unit 101 determines that there is no control policy to be applied to the processing target communication, and ends the processing.

また、ステップS144において、未確認の制御ポリシが存在する場合、制御処理部101は、未確認の制御ポリシの内、優先度が最も高いもの(次の優先度の制御ポリシ)を選択する(ステップS145)。その後、ステップS142以降の処理を繰り返す。   If there is an unconfirmed control policy in step S144, the control processing unit 101 selects an unconfirmed control policy having the highest priority (the control policy with the next priority) (step S145). . Then, the process after step S142 is repeated.

また、ステップS142において制御ポリシの照合に必要な情報がそろっていない場合、制御処理部101は、処理対象通信を通信中継特徴抽出部20が受信し処理できるよう、パケット転送およびNATを行うフローエントリを作成する(ステップS146)。制御処理部101は、通信利用部70が送信した処理対象通信のパケットに関するフローエントリのアクションとして、"送信先IPアドレスおよびポート番号を通信中継特徴抽出部20の中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号に変更し、内部通信IF部60から出力する"を設定する。また、制御処理部101は、当該パケットの逆方向のパケットに関するフローエントリのアクションとして、"送信元IPアドレスおよびポート番号を通信利用部70が送信先として設定していた値に戻し、内部通信IF部60から出力する"を設定する。   If the information necessary for collating the control policy is not available in step S142, the control processing unit 101 performs flow forwarding and NAT so that the communication relay feature extraction unit 20 can receive and process the processing target communication. Is created (step S146). The control processing unit 101 sets the “transmission destination IP address and port number as the relay standby IP address and relay standby for the communication relay feature extraction unit 20 as an action of the flow entry regarding the packet of the processing target communication transmitted by the communication using unit 70. Change to port number and set “output from internal communication IF unit 60”. Further, the control processing unit 101 returns “the source IP address and the port number to the values set by the communication using unit 70 as the transmission destination as the action of the flow entry relating to the packet in the reverse direction of the packet, and the internal communication IF "Output from unit 60" is set.

本例において、ステップS146において作成されるフローエントリの例を、図8Aの項番1および2に示す。例えば、図6AのステップS104では、図5の制御ポリシ12が選択されたとき、制御ポリシ照合に必要なURLがパケット通知に含まれないため、制御処理部101は、通信利用部70が送信するパケットに対するフローエントリ(図8Aの項番1)と、通信利用部70が受信するパケットに対するフローエントリ(図8Aの項番2)を作成する。   In this example, examples of flow entries created in step S146 are shown in item numbers 1 and 2 in FIG. 8A. For example, in step S104 of FIG. 6A, when the control policy 12 of FIG. 5 is selected, since the URL necessary for control policy matching is not included in the packet notification, the control processing unit 101 transmits the communication using unit 70. A flow entry for the packet (item number 1 in FIG. 8A) and a flow entry for the packet received by the communication using unit 70 (item number 2 in FIG. 8A) are created.

ステップS146に続いて、制御処理部101は、制御ポリシ照合に必要な情報を通信情報記憶部30に記憶させ(ステップS147)、処理を終了する。本例の場合、URLが必要な情報であるため、制御処理部101は、処理対象通信を識別するための情報として端末側(通信利用部70側)のIPアドレスおよびポート番号と、当該通信に関しURLの情報が必要な旨を通信情報記憶部30に記憶させる。制御処理部101は、追加の情報として、サーバ側(サーバ2側)の変更前および変更後のIPアドレスおよびポート番号を通信情報記憶部30に記憶させてもよい。   Subsequent to step S146, the control processing unit 101 stores information necessary for control policy matching in the communication information storage unit 30 (step S147), and ends the process. In the case of this example, since the URL is necessary information, the control processing unit 101 uses the IP address and port number on the terminal side (communication utilization unit 70 side) as information for identifying the processing target communication and the communication. The communication information storage unit 30 stores information indicating that URL information is required. The control processing unit 101 may store the IP address and port number before and after the change on the server side (server 2 side) in the communication information storage unit 30 as additional information.

本例において、ステップS147において通信情報記憶部30に設定される情報の例を、図9(中継元コネクション情報および所要情報)に示す。所要情報は、制御ポリシ照合に必要な情報であり、この例ではURLとなる。   In this example, an example of information set in the communication information storage unit 30 in step S147 is shown in FIG. 9 (relay source connection information and required information). The required information is information necessary for control policy collation, and is a URL in this example.

また、ステップS143において、選択した制御ポリシに処理対象通信が適合する(条件を満たす)と判定された場合、制御処理部101は、選択した制御ポリシで指定された処理を実行するためのフローエントリを作成し(ステップS148)、処理を終了する。   If it is determined in step S143 that the communication to be processed matches the condition of the selected control policy (condition is satisfied), the control processing unit 101 executes a flow entry for executing the process specified by the selected control policy. Is created (step S148), and the process is terminated.

制御処理部101は、指定された処理が"指定されたIFを使用して通信"であった場合、例えば、通信端末1が送信するパケットについて、"送信元IPアドレスを指定されたIFのIPアドレスに変更した後、指定されたIFから出力する"というアクションを持つフローエントリを作成し、通信端末1が受信するパケットについて、"送信先IPアドレスを通信端末1が送信するパケットの当初の送信元IPアドレスに変更した後、内部通信IF部60から出力する"というアクションを持つフローエントリを作成する。   When the designated process is “communication using the designated IF”, the control processing unit 101, for example, for the packet transmitted by the communication terminal 1, “IP of the IF for which the source IP address is designated” After changing to the address, a flow entry having an action “output from the designated IF” is created, and for the packet received by the communication terminal 1, “initial transmission of the packet transmitted by the communication terminal 1 with the destination IP address” After changing to the original IP address, a flow entry having an action “output from the internal communication IF unit 60” is created.

制御処理部101は、通信に使用するIFが複数指定されていた場合、優先度の高いものから順に指定されたIFが利用可能かを調べ、最初に利用可能であったIFに関し、前述のようなフローエントリを作成してよい。制御処理部101は、IFが利用可能か否かを、例えば、当該IFが存在するか否か、リンクアップしているか否か、IPアドレスが構成されているか否か、等によって判断してよい。   When a plurality of IFs to be used for communication are designated, the control processing unit 101 checks whether the designated IFs can be used in order from the one with the highest priority. You may create a simple flow entry. The control processing unit 101 may determine whether or not an IF is available based on, for example, whether the IF exists, whether the link is up, whether an IP address is configured, or the like. .

制御処理部101は、指定された処理が"破棄する"であった場合、例えば、アクションが空のフローエントリを作成する。   If the designated process is “discard”, the control processing unit 101 creates a flow entry with an empty action, for example.

本例において、ステップS148において作成されるフローエントリの例を、図8Aの項番3および4に示す。例えば、図6BのステップS119では、図5の制御ポリシ12が選択されたとき、制御ポリシ照合に必要なURLが抽出されており、制御ポリシ12に適合する。このため、制御処理部101は、制御ポリシ12の処理である無線LANを使用して通信を行うため、無線LANを介してサーバ2へ送信するパケットに対するフローエントリ(図8Aの項番3)と、無線LANを介してサーバ2から受信するパケットに対するフローエントリ(図8Aの項番3)を作成する。   In this example, examples of flow entries created in step S148 are shown in item numbers 3 and 4 in FIG. 8A. For example, in step S119 in FIG. 6B, when the control policy 12 in FIG. 5 is selected, a URL necessary for control policy matching is extracted and conforms to the control policy 12. For this reason, since the control processing unit 101 performs communication using the wireless LAN that is the process of the control policy 12, the flow entry (item number 3 in FIG. 8A) for the packet transmitted to the server 2 via the wireless LAN Then, a flow entry (item number 3 in FIG. 8A) for the packet received from the server 2 via the wireless LAN is created.

次に、図10を用いて、図6BのステップS114における通信中継特徴抽出部20の動作を説明する。なお、ここでは、通信中継特徴抽出部20は図11に示すHTTPリクエスト行およびヘッダ(HTTPリクエストメッセージ)を通信利用部70から受信したものとする。   Next, the operation of the communication relay feature extraction unit 20 in step S114 of FIG. 6B will be described using FIG. Here, it is assumed that the communication relay feature extraction unit 20 has received the HTTP request line and header (HTTP request message) shown in FIG.

図10に示すように、まず、通信中継特徴抽出部20は、中継元コネクションの通信の特徴を抽出する(ステップS161)。通信中継特徴抽出部20は、図9の通信情報記憶部30の所要情報を参照し、URLを抽出する。通信中継特徴抽出部20は、例えば、通信の特徴としてURLを、受信したリクエスト行およびHostヘッダから抽出する。本例では、図11のHTTPリクエスト行およびヘッダに基づき、抽出結果としてhttp://example.com/video/index.htmlを得る。すなわち、図11のHostヘッダ(example.com)とリクエスト行のパス名(/video/index.html)を組み合わせてURLを作成する。   As shown in FIG. 10, first, the communication relay feature extraction unit 20 extracts the communication feature of the relay source connection (step S161). The communication relay feature extraction unit 20 refers to the required information in the communication information storage unit 30 in FIG. 9 and extracts a URL. For example, the communication relay feature extraction unit 20 extracts a URL as a communication feature from the received request line and the Host header. In this example, based on the HTTP request line and header of FIG. 11, the extraction result is http: // example. com / video / index. Obtain html. That is, the URL is created by combining the Host header (example.com) and the path name (/video/index.html) of the request line in FIG.

続いて、通信中継特徴抽出部20は、中継先コネクションの確立先である中継先を決定し(ステップS162)、処理を終了する。通信中継特徴抽出部20は、例えば、Hostヘッダに記載されたサーバを中継先とする。図11のHostヘッダ(example.com)のアドレス(10.0.0.1)を中継先とする。通信中継特徴抽出部20は、DNS(Domain Name System)名がHostヘッダに記載されていた場合、DNS解決を行って対応するIPアドレスを取得してもよい。また、通信中継特徴抽出部20は、通信制御部10が通信情報記憶部30に記憶させた、中継元コネクションのアドレス変換適用前のサーバ側アドレスを中継先としてもよい。   Subsequently, the communication relay feature extraction unit 20 determines a relay destination that is an establishment destination of the relay destination connection (step S162), and ends the process. The communication relay feature extraction unit 20 uses, for example, a server described in the Host header as a relay destination. The address (10.0.0.1) of the Host header (example.com) in FIG. When the DNS (Domain Name System) name is described in the Host header, the communication relay feature extraction unit 20 may perform DNS resolution to obtain a corresponding IP address. In addition, the communication relay feature extraction unit 20 may use the server-side address before application of the address translation of the relay source connection stored in the communication information storage unit 30 by the communication control unit 10 as a relay destination.

<通信利用部70がDNS通信を行った場合の動作>
通信利用部70が、DNS通信を行った場合の動作について説明する。本通信は、図5に示す制御ポリシ1によって処理されることが期待される。なお、以下の説明は、次の条件が成り立っていることを前提とする。
− フローテーブル記憶部403にはフローエントリが記憶されていない。
− DNSサーバ(図示されない)は通信ネットワーク3−3に接続されており、そのIPアドレスは10.0.53.1である。
<Operation when communication using unit 70 performs DNS communication>
An operation when the communication using unit 70 performs DNS communication will be described. This communication is expected to be processed by the control policy 1 shown in FIG. In the following description, it is assumed that the following conditions are satisfied.
-No flow entry is stored in the flow table storage unit 403.
-A DNS server (not shown) is connected to the communication network 3-3 and its IP address is 10.0.53.1.

図12は、本実施形態における通信システムの動作の例を示すシーケンス図である。なお、図12において、通信ネットワーク3−3の図示は省略する。   FIG. 12 is a sequence diagram showing an example of the operation of the communication system in the present embodiment. In FIG. 12, the communication network 3-3 is not shown.

図12に示すように、まず、通信利用部70は、10.0.53.1のUDP(User Datagram Protocol)53番ポートに対し、DNSクエリを送信する(ステップS171)。この時、当該DNSクエリの送信元IPアドレスは192.168.254.1、送信元ポート番号は10053、送信先IPアドレスは10.0.53.1、送信先ポート番号は53であるとする。   As shown in FIG. 12, first, the communication using unit 70 transmits a DNS query to a UDP (User Datagram Protocol) 53 port of 10.0.53.1 (step S171). At this time, the source IP address of the DNS query is 192.168.254.1, the source port number is 10053, the destination IP address is 10.0.53.1, and the destination port number is 53. .

続いて、通信処理部40のパケット処理部402は当該DNSクエリを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS172)。ステップS172の時点において、フローテーブル記憶部403は空であるため、対応するフローエントリは見つからない。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the DNS query, refers to the flow table storage unit 403, and confirms the presence or absence of the corresponding flow entry (step S172). At step S172, the flow table storage unit 403 is empty, so no corresponding flow entry is found.

続いて、通信処理部40のパケット処理部402は、DNSクエリと一致するフローエントリが無いため、当該DNSクエリを制御チャネル処理部401に通知し、制御チャネル処理部401は対応するパケット通知を通信制御部10に送信する(ステップS173)。   Subsequently, since there is no flow entry that matches the DNS query, the packet processing unit 402 of the communication processing unit 40 notifies the control channel processing unit 401 of the DNS query, and the control channel processing unit 401 communicates the corresponding packet notification. It transmits to the control part 10 (step S173).

続いて、通信制御部10の制御処理部101はパケット通知を受信し、パケット通知により通知されたDNSクエリに対する処理を決定する(ステップS174)。その動作は図7に示したフローチャートに基づき行われる。本例の場合、DNSクエリは図5の制御ポリシ1に適合し、図7のステップS148により図8Bの項番5および6に示すフローエントリが生成される。すなわち、制御処理部101は、制御ポリシ1の処理である無線LANを使用して通信を行うため、無線LANを介してDNSサーバへ送信するパケットに対するフローエントリ(図8Bの項番5)と、無線LANを介してDNSサーバから受信するパケットに対するフローエントリ(図8Bの項番6)を作成する。   Subsequently, the control processing unit 101 of the communication control unit 10 receives the packet notification and determines a process for the DNS query notified by the packet notification (step S174). The operation is performed based on the flowchart shown in FIG. In the case of this example, the DNS query conforms to the control policy 1 in FIG. 5, and the flow entries shown in the item numbers 5 and 6 in FIG. 8B are generated in step S148 in FIG. That is, since the control processing unit 101 performs communication using the wireless LAN which is the processing of the control policy 1, a flow entry (item 5 in FIG. 8B) for a packet transmitted to the DNS server via the wireless LAN, A flow entry (item number 6 in FIG. 8B) is created for a packet received from the DNS server via the wireless LAN.

続いて、通信制御部10の制御処理部101は、ステップS174において生成されたフローエントリを通信処理部40に設定すると同時に、対応するDNSクエリに対し当該フローエントリに基づく処理を適用するよう指示する(ステップS175)。   Subsequently, the control processing unit 101 of the communication control unit 10 sets the flow entry generated in step S174 in the communication processing unit 40, and at the same time instructs the corresponding DNS query to apply processing based on the flow entry. (Step S175).

続いて、通信処理部40の制御チャネル処理部401は、通知(設定)されたフローエントリをフローテーブル記憶部403に記憶させる(ステップS176)。   Subsequently, the control channel processing unit 401 of the communication processing unit 40 stores the notified (set) flow entry in the flow table storage unit 403 (step S176).

続いて、通信処理部40のパケット処理部402は、ステップS176で設定されたフローエントリに基づきDNSクエリを処理する(ステップS177)。具体的には、パケットが図8Bの項番5のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、DNSクエリの送信元IPアドレスを192.168.2.1(通信IF部50−2のIPアドレス)に変更した後、通信IF部50−2に出力する。当該DNSクエリは、通信IF部50−2から、通信ネットワーク3−2および通信ネットワーク3−3を介し、DNSサーバに送信される。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the DNS query based on the flow entry set in step S176 (step S177). Specifically, since the packet matches the flow entry of item number 5 in FIG. 8B, the action of the flow entry is executed. That is, the packet processing unit 402 changes the DNS query source IP address to 192.168.2.1 (the IP address of the communication IF unit 50-2), and then outputs the DNS query to the communication IF unit 50-2. The DNS query is transmitted from the communication IF unit 50-2 to the DNS server via the communication network 3-2 and the communication network 3-3.

続いて、DNSサーバは、受信したDNSクエリに対するDNSレスポンスを送信する(ステップS178)。この時、当該DNSレスポンスの送信元IPアドレスは10.0.53.1、送信元ポート番号は53、送信先IPアドレスは192.168.2.1、送信先ポート番号は10053となる。当該DNSレスポンスは、DNSサーバから、通信ネットワーク3−3および通信ネットワーク3−2を介し、通信端末1(通信IF部50−2)に送信される。   Subsequently, the DNS server transmits a DNS response to the received DNS query (step S178). At this time, the source IP address of the DNS response is 10.0.53.1, the source port number is 53, the destination IP address is 192.168.2.1, and the destination port number is 10053. The DNS response is transmitted from the DNS server to the communication terminal 1 (communication IF unit 50-2) via the communication network 3-3 and the communication network 3-2.

続いて、通信処理部40のパケット処理部402は、通信IF部50−2から当該DNSレスポンスを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS179)。ここでは、ステップS176において記憶されたフローエントリが発見される(図8Bの項番6)。   Subsequently, the packet processing unit 402 of the communication processing unit 40 receives the DNS response from the communication IF unit 50-2, refers to the flow table storage unit 403, and confirms whether or not there is a corresponding flow entry (step S179). . Here, the flow entry stored in step S176 is found (item number 6 in FIG. 8B).

続いて、通信処理部40のパケット処理部402は、ステップS179で発見したフローエントリに基づきDNSレスポンスを処理する(ステップS180)。具体的には、パケットが図8Bの項番6のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、DNSレスポンスの送信先IPアドレスを192.168.254.1(DNSクエリの当初の送信元IPアドレス)に変更した後、内部通信IF部60に出力する。そうすると、通信利用部70がDNSレスポンスを受信する。   Subsequently, the packet processing unit 402 of the communication processing unit 40 processes the DNS response based on the flow entry found in step S179 (step S180). Specifically, since the packet matches the flow entry of item number 6 in FIG. 8B, the action of the flow entry is executed. That is, the packet processing unit 402 changes the transmission destination IP address of the DNS response to 192.168.254.1 (original transmission source IP address of the DNS query), and then outputs it to the internal communication IF unit 60. Then, the communication using unit 70 receives a DNS response.

このように、制御処理部101は、パケット通知の処理に際しパケット通知に含まれる情報のみで制御ポリシとの照合が可能な場合、通信中継特徴抽出部20による中継を行うことなく、当該パケット通知を処理する。   As described above, the control processing unit 101 performs the packet notification without relaying by the communication relay feature extracting unit 20 when it is possible to collate with the control policy only by the information included in the packet notification in the packet notification processing. To process.

以上説明したように、第1の実施形態によれば、通信制御部10は、通信利用部70による通信(中継元通信)に適用する制御ポリシの決定を通信処理部40からのパケット通知による情報のみからでは行えない場合、当該通信を通信中継特徴抽出部20が中継できるよう通信処理部40を制御する。通信中継特徴抽出部20は、中継元通信から受信したデータを基にその通信の特徴を抽出し通信情報記憶部30に記憶させるとともに、中継先通信を行い、中継元通信と中継先通信との間でデータの中継を行う。通信制御部10は、通信情報記憶部30を参照し、中継元通信の情報、抽出された通信の特徴、および中継先通信の情報を基に、当該中継先通信に適用する制御ポリシを決定し、決定された制御ポリシに基づき通信処理部40を制御する。   As described above, according to the first embodiment, the communication control unit 10 determines the control policy to be applied to the communication (relay source communication) by the communication using unit 70 by the packet notification from the communication processing unit 40. If the communication relay feature extraction unit 20 can relay the communication, the communication processing unit 40 is controlled. The communication relay feature extraction unit 20 extracts the characteristics of the communication based on the data received from the relay source communication, stores the feature in the communication information storage unit 30, performs relay destination communication, and performs relay destination communication and relay destination communication. Relay data between them. The communication control unit 10 refers to the communication information storage unit 30 and determines a control policy to be applied to the relay destination communication based on the relay source communication information, the extracted communication characteristics, and the relay destination communication information. The communication processing unit 40 is controlled based on the determined control policy.

よって、本実施形態によれば、通信処理部40からのパケット通知に含まれない情報を用いて、本通信システムはフロー粒度での通信制御を行うことができる。つまり、各パケットに共通して含まれる情報以外の情報を用いて、柔軟に通信(フロー)を指定し制御することができる。   Therefore, according to the present embodiment, the communication system can perform communication control at the flow granularity using information not included in the packet notification from the communication processing unit 40. That is, it is possible to flexibly specify and control communication (flow) using information other than information included in common in each packet.

また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20がHTTPを中継する例を示したが、本発明はこれに限定されるものではない。他の例として、HTTPSを中継してもよい。また、通信中継特徴抽出部20は、受信したパケットが属するフローに応じて、中継先フローの数を変更してもよい。   In the description of the communication system according to the present embodiment, an example in which the communication relay feature extraction unit 20 relays HTTP has been described, but the present invention is not limited to this. As another example, HTTPS may be relayed. In addition, the communication relay feature extraction unit 20 may change the number of relay destination flows according to the flow to which the received packet belongs.

また、本実施形態に係る通信システムの説明では、通信の特徴としてURLを通信中継特徴抽出部20が抽出し通信制御部10が利用する例を示したが、本発明はこれに限定されるものではない。他の例として、通信の特徴として、URI(Uniform Resource Identifier)、リクエスト行に含まれるメソッド、リクエスト行に含まれるHTTPバージョン、Authorizationヘッダで示される認証情報、Content−Lengthで示されるコンテンツ長、Content−Typeヘッダで示されるコンテンツタイプ、Hostヘッダ、Refererヘッダで示される要求元URL、User−Agentヘッダで示されるユーザエージェント、のいずれかもしくはそれらの組み合わせを用いてもよい。   In the description of the communication system according to the present embodiment, an example is shown in which the communication relay feature extraction unit 20 extracts a URL as a communication feature and the communication control unit 10 uses the URL. However, the present invention is not limited thereto. is not. As another example, communication features include URI (Uniform Resource Identifier), method included in the request line, HTTP version included in the request line, authentication information indicated in the Authorization header, content length indicated by Content-Length, Content A content type indicated by a Type header, a Host header, a request source URL indicated by a Referer header, a user agent indicated by a User-Agent header, or a combination thereof may be used.

また、本実施形態に係る通信システムの説明では、ステップS147において、制御処理部101が制御ポリシ照合に必要な情報を通信情報記憶部30に記憶させる例を示したが、本発明はこれに限定されるものではない。他の例として、制御処理部101が制御ポリシ照合に必要な情報を通信情報記憶部30に記憶させず、通信中継特徴抽出部20は中継元コネクションを受け付けると、当該コネクションにおいて自身が抽出できるすべての特徴の抽出を行い、通信情報記憶部30に記憶させてもよい。   In the description of the communication system according to the present embodiment, an example in which the control processing unit 101 stores information necessary for control policy collation in the communication information storage unit 30 in step S147 has been described, but the present invention is not limited thereto. Is not to be done. As another example, when the control processing unit 101 does not store information necessary for control policy matching in the communication information storage unit 30 and the communication relay feature extraction unit 20 accepts the relay source connection, all of the connections that can be extracted by the connection are included. May be extracted and stored in the communication information storage unit 30.

また、本実施形態に係る通信システムの説明では、制御処理部101が中継元コネクションのサーバ2側IPアドレスおよびポート番号の変更に関する情報を通信情報記憶部30に記憶させ、通信中継特徴抽出部20は通信情報記憶部30を参照することでそれらの情報を取得する例を示したが、本発明はこれに限定されるものではない。他の例として、通信処理部40にアドレス変換処理時にアドレス変更情報をパケットに付加する機能を具備させ、制御処理部101は当該機能を利用するよう通信処理部40を制御し、通信中継特徴抽出部20はパケットに付加されたアドレス変更情報を参照するようにしてもよい。   In the description of the communication system according to the present embodiment, the control processing unit 101 stores information related to the server 2 side IP address and port number change of the relay source connection in the communication information storage unit 30, and the communication relay feature extraction unit 20. Has shown an example of acquiring the information by referring to the communication information storage unit 30, but the present invention is not limited to this. As another example, the communication processing unit 40 has a function of adding address change information to a packet at the time of address conversion processing, and the control processing unit 101 controls the communication processing unit 40 to use the function, and extracts communication relay features. The unit 20 may refer to the address change information added to the packet.

また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20は一つの中継元コネクションに対し一つの中継先コネクションを確立する例を示したが、本発明はこれに限定されるものではない。他の例として、通信中継特徴抽出部20は一つの中継元コネクションに対し複数の中継先コネクションを確立してもよい。例えば、HTTPではキープアライブ拡張機能および持続的接続機能が提供されており、一TCPコネクション上で複数のリクエストを通信利用部70は送信することが可能である。通信中継特徴抽出部20は中継元コネクションで受信した複数のリクエストに対し、同じ中継先コネクションを利用してもよいし、リクエスト毎に中継先コネクションを確立してもよい。通信中継特徴抽出部20が中継先コネクションを新たに確立すべきか、確立済みのものを使用すべきかの判断基準を、制御処理部101は制御ポリシ記憶部102に記憶された制御ポリシを参照して提供してもよい。例えば、ある中継元コネクションにおいて、http://example.com/video/video_a.htmlおよびhttp://example.com/video/video_b.htmlに対する2つのリクエストが送信された場合、いずれの通信も図5の制御ポリシ12に適合するものであるため、それら2つのリクエストは同じ中継先コネクションを利用して通信されてよい。一方、ある中継元コネクションにおいて、http://example.com/video/video_a.htmlおよびhttp://example.com/mail/mail_a.htmlに対する2つのリクエストが送信された場合、前者は図5の制御ポリシ12に適合し後者は制御ポリシ13に適合するものであり、かつそれらの処理内容は異なるものであるため、それら2つのリクエストは異なる中継先コネクションを利用する必要がある。例えば、制御処理部101は、中継元コネクションにおける最初のリクエストの通信の特徴が通信中継特徴抽出部20によって抽出された時点で、当該中継元コネクションに対する中継先コネクションを共有可能な通信の特徴(例えば、http://example.com/video/*)を、通信情報記憶部30に記憶させてもよい。通信中継特徴抽出部20は、当該情報を参照することで、後続のリクエストについての中継先コネクションの共有可否を判断することができる。   In the description of the communication system according to the present embodiment, the communication relay feature extracting unit 20 establishes one relay destination connection for one relay source connection. However, the present invention is not limited to this. is not. As another example, the communication relay feature extracting unit 20 may establish a plurality of relay destination connections for one relay source connection. For example, in HTTP, a keep alive extension function and a persistent connection function are provided, and the communication using unit 70 can transmit a plurality of requests over one TCP connection. The communication relay feature extraction unit 20 may use the same relay destination connection for a plurality of requests received through the relay source connection, or may establish a relay destination connection for each request. The control processing unit 101 refers to the control policy stored in the control policy storage unit 102 to determine whether the communication relay feature extraction unit 20 should newly establish a relay destination connection or use an established connection. May be provided. For example, in a certain relay source connection, http: // example. com / video / video_a. html and http: // example. com / video / video_b. When two requests for html are transmitted, both communications are compatible with the control policy 12 of FIG. 5, and therefore these two requests may be communicated using the same relay destination connection. On the other hand, in a certain relay source connection, http: // example. com / video / video_a. html and http: // example. com / mail / mail_a. When two requests for html are transmitted, the former conforms to the control policy 12 of FIG. 5, the latter conforms to the control policy 13, and the processing contents thereof are different. Need to use different relay destination connections. For example, when the communication characteristic of the first request in the relay source connection is extracted by the communication relay feature extraction unit 20, the control processing unit 101 can share the relay destination connection for the relay source connection (for example, , Http://example.com/video/*) may be stored in the communication information storage unit 30. The communication relay feature extraction unit 20 can determine whether or not the relay destination connection can be shared for subsequent requests by referring to the information.

また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20は中継元コネクションの中継先を中継元コネクションから受信した情報を基に決定する例を示したが、本発明はこれに限定されるものではない。他の例として、例えば、中継先の情報は制御ポリシ記憶部102に記憶される制御ポリシに含まれてもよい。通信中継特徴抽出部20は制御ポリシ記憶部102を直接参照して当該情報を取得してもよいし、制御処理部101が当該情報を通信情報記憶部30に記憶させ、通信中継特徴抽出部20は通信情報記憶部30に記憶された当該情報を参照してもよい。   In the description of the communication system according to the present embodiment, the communication relay feature extracting unit 20 has shown an example in which the relay destination of the relay source connection is determined based on information received from the relay source connection. It is not limited. As another example, for example, relay destination information may be included in a control policy stored in the control policy storage unit 102. The communication relay feature extraction unit 20 may acquire the information by directly referring to the control policy storage unit 102, or the control processing unit 101 stores the information in the communication information storage unit 30, and the communication relay feature extraction unit 20 May refer to the information stored in the communication information storage unit 30.

また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20と通信利用部70とが内部通信IF部60を共用する例を示したが、本発明はこれに限定されるものではない。他の例として、内部通信IF部60は複数存在し、通信中継特徴抽出部20と通信利用部70はそれぞれ別の内部通信IF部60を利用してもよい。   In the description of the communication system according to the present embodiment, an example in which the communication relay feature extracting unit 20 and the communication using unit 70 share the internal communication IF unit 60 is shown, but the present invention is not limited to this. Absent. As another example, there may be a plurality of internal communication IF units 60, and the communication relay feature extracting unit 20 and the communication using unit 70 may use different internal communication IF units 60, respectively.

また、本実施形態に係る通信システムの説明では、通信制御部10は中継元コネクションに関しNATを適用し、通信中継特徴抽出部20は中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号を用いて当該コネクションの通信を送受信する例を示したが、本発明はこれに限定されるものではない。他の例として、通信制御部10は中継元コネクションに関しNATを適用せずに、当該コネクションに属するパケットを通信中継特徴抽出部20が利用する内部通信IF部60へ送受信してもよい。この時、通信中継特徴抽出部20は、当該内部通信IF部60で受信されるパケットすべてについて、データ中継および特徴抽出の処理を行ってよい。もしくは、通信中継特徴抽出部20は、当該内部通信IF部60で受信されるパケットの内、データ中継および特徴抽出が必要と考えられるパケットについてのみ、当該処理を行ってもよい。通信中継特徴抽出部20は、例えば、以下の条件のいずれかもしくは組み合わせが成立する場合に、当該処理が必要であると判断してよい。
・パケットの送信先IPアドレスが、通信端末1内で利用されているもので無い場合
・パケットの送信元IPアドレスが、通信利用部70が利用する内部通信IF部60に構成されているIPアドレスである場合
・パケットが、通信情報記憶部30に記憶された中継元コネクションの情報と合致する場合
In the description of the communication system according to the present embodiment, the communication control unit 10 applies NAT with respect to the relay source connection, and the communication relay feature extraction unit 20 uses the relay standby IP address and the relay standby port number for the connection. Although the example which transmits / receives this communication was shown, this invention is not limited to this. As another example, the communication control unit 10 may transmit / receive a packet belonging to the connection to the internal communication IF unit 60 used by the communication relay feature extraction unit 20 without applying NAT to the relay source connection. At this time, the communication relay feature extraction unit 20 may perform data relay and feature extraction processing for all packets received by the internal communication IF unit 60. Alternatively, the communication relay feature extraction unit 20 may perform the process only on packets that are considered to require data relay and feature extraction among the packets received by the internal communication IF unit 60. For example, the communication relay feature extraction unit 20 may determine that the processing is necessary when any one or combination of the following conditions is satisfied.
When the packet destination IP address is not used within the communication terminal 1 The packet source IP address is the IP address configured in the internal communication IF unit 60 used by the communication using unit 70 If the packet matches the relay source connection information stored in the communication information storage unit 30

また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20が使用する中継待ち受け用IPアドレスは通信利用部70が利用するIPアドレスとは別の例を示したが、本発明はこれに限定されるものではない。他の例として、通信中継特徴抽出部20は通信利用部70が利用するIPアドレスと同じIPアドレスを中継待ち受け用IPアドレスとして使用してよい。   In the description of the communication system according to the present embodiment, the relay standby IP address used by the communication relay feature extracting unit 20 is different from the IP address used by the communication using unit 70. It is not limited to this. As another example, the communication relay feature extracting unit 20 may use the same IP address as the IP address used by the communication using unit 70 as the relay standby IP address.

また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20はTCPによる通信を中継する例を示したが、本発明はこれに限定されるものではない。他の例として、通信中継特徴抽出部20はUDPによる通信や、ICMP(Internet Control Message Protocol)による通信や、GRE(Generic Routing Encapsulation)による通信や、トンネリングによる通信を中継してもよい。また、その際、通信中継特徴抽出部20は、通信の特徴として、GREキーや、トンネリングにおけるインナーヘッダの情報を使用してもよい。   In the description of the communication system according to the present embodiment, an example in which the communication relay feature extraction unit 20 relays TCP communication is shown, but the present invention is not limited to this. As another example, the communication relay feature extracting unit 20 may relay communication using UDP, communication using ICMP (Internet Control Message Protocol), communication using GRE (Generic Routing Encapsulation), or communication using tunneling. At that time, the communication relay feature extraction unit 20 may use the information of the GRE key or the inner header in tunneling as the feature of communication.

また、本実施形態に係る通信システムの説明では、通信制御部10は、中継元コネクションの制御ポリシと照合に通信の特徴が必要となる場合に通信中継特徴抽出部20に当該コネクションの処理をさせる例を示したが、本発明はこれに限定されるものではない。他の例として、通信制御部10は、例えば、通信の記録を収集する等の目的で、通信中継特徴抽出部20に中継元コネクションの処理をさせてもよい。これは、通信制御部10が中継元コネクションを通信中継特徴抽出部20に処理させるか否かの判定条件を、通信制御部10に与えることで実現できる。当該条件は、制御ポリシ記憶部102に制御ポリシの形で記憶されてもよい。また、当該条件は、通信端末1以外の装置から与えられてもよい。   Further, in the description of the communication system according to the present embodiment, the communication control unit 10 causes the communication relay feature extraction unit 20 to process the connection when the communication feature is required for the control policy and verification of the relay source connection. Although an example is shown, the present invention is not limited to this. As another example, the communication control unit 10 may cause the communication relay feature extraction unit 20 to process the relay source connection for the purpose of collecting communication records, for example. This can be realized by giving the communication control unit 10 a condition for determining whether the communication control unit 10 causes the communication relay feature extraction unit 20 to process the relay source connection. The condition may be stored in the control policy storage unit 102 in the form of a control policy. In addition, the condition may be given from a device other than the communication terminal 1.

また、本実施形態に係る通信システムの説明では、通信端末1は一つの通信利用部70を具備する例を示したが、本発明はこれに限定されるものでなく、通信端末1は複数の通信利用部70を具備してもよい。また、通信制御部10は、複数存在する通信利用部70毎に異なる制御を行ってよい。これは、例えば、制御ポリシのトラフィック条件に通信利用部70の種別、名称、識別子、等を加えることで実現できる。通信制御部10は、例えば、通信利用部70の種別、名称、識別子、を通信端末1のOS(Operating System、図示されない)から取得し利用することができる。   In the description of the communication system according to the present embodiment, an example in which the communication terminal 1 includes one communication utilization unit 70 is shown. However, the present invention is not limited to this, and the communication terminal 1 includes a plurality of communication terminals 1. A communication utilization unit 70 may be provided. Further, the communication control unit 10 may perform different control for each of the plurality of communication using units 70. This can be realized, for example, by adding the type, name, identifier, etc. of the communication using unit 70 to the traffic conditions of the control policy. For example, the communication control unit 10 can acquire and use the type, name, and identifier of the communication use unit 70 from the OS (Operating System, not shown) of the communication terminal 1.

また、本実施形態に係る通信システムの説明では、通信端末1は二つの通信IF部50を具備する例を示したが、本発明はこれに限定されるものでなく、通信端末1は一つもしくは3以上の通信IF部50を具備してもよい。   In the description of the communication system according to the present embodiment, the communication terminal 1 includes two communication IF units 50. However, the present invention is not limited to this, and there is one communication terminal 1. Alternatively, three or more communication IF units 50 may be provided.

また、本実施形態に係る通信システムの説明では、通信利用部70が通信端末1に含まれる例を示したが、本発明はこれに限定されるものでない。他の例として、通信利用部70は、通信端末1と通信IF部50−1もしくは50−2を介して通信可能な別の通信端末(図示されない)に含まれてもよい。また、当該別の通信端末は、本発明による通信端末でなくてもよく、例えばTCP/IPによる通信が可能なスマートフォン、携帯電話、パーソナルコンピュータ、家電、等であってよい。通信端末1と当該別の通信端末との接続形態の一例としては、通信端末1がWLAN IFである通信IF部50−2上でテザリング機能を提供し、当該別の通信端末が通信端末1の通信IF部50−2に対しWLAN接続する例が挙げられる。   Further, in the description of the communication system according to the present embodiment, an example in which the communication using unit 70 is included in the communication terminal 1 is shown, but the present invention is not limited to this. As another example, the communication using unit 70 may be included in another communication terminal (not shown) that can communicate with the communication terminal 1 via the communication IF unit 50-1 or 50-2. Further, the other communication terminal may not be the communication terminal according to the present invention, and may be, for example, a smartphone, a mobile phone, a personal computer, a home appliance, or the like capable of communication by TCP / IP. As an example of a connection form between the communication terminal 1 and the other communication terminal, the communication terminal 1 provides a tethering function on the communication IF unit 50-2 that is a WLAN IF, and the other communication terminal is connected to the communication terminal 1. An example of WLAN connection to the communication IF unit 50-2 is given.

また、本実施形態に係る通信システムの説明では、中継元コネクションに関し通信利用部70側のIPアドレスを変換しない例を示したが、本発明はこれに限定されるものではない。例えば、中継元コネクションに関し、通信利用部70側のIPアドレス(通信中継特徴抽出部20で認識される対向側IPアドレス)にNATを適用してもよい。NAT先のIPアドレスには、架空のIPアドレス(ダミーIPアドレスと呼称)を使用してよい。これは、ステップS146における制御処理部101の処理を以下のように変更することで実現できる。「制御処理部101は、通信利用部70が送信した処理対象通信のパケットに関するフローエントリのアクションとして、"送信先IPアドレスおよびポート番号を通信中継特徴抽出部20の中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号に変更し、送信元IPアドレスをダミーIPアドレスに変更し、内部通信IF部60から出力する"を設定する。また、制御処理部101は、当該パケットの逆方向のパケットに関するフローエントリ(送信先IPアドレスはダミーIPアドレス)のアクションとして、"送信元IPアドレスおよびポート番号を通信利用部70が送信先として設定していた値に戻し、送信先IPアドレスを通信利用部70が送信元として設定していた値に戻し、内部通信IF部60から出力する"を設定する。」このようなNATを行わない場合、通信端末1が具備するIPスタック(図示されない)の実装によっては、通信中継特徴抽出部20が送信する中継元コネクションのパケットが、内部通信IF部60から出力されない可能性がある。そのような場合であっても、前述のダミーIPアドレスへのNATを実行することで、通信中継特徴抽出部20が送信する中継元コネクションのパケットが内部通信IF部60から出力されるようにすることができる。   In the description of the communication system according to the present embodiment, an example in which the IP address on the communication utilization unit 70 side is not converted with respect to the relay source connection has been shown, but the present invention is not limited to this. For example, with respect to the relay source connection, NAT may be applied to the IP address on the communication utilization unit 70 side (opposite side IP address recognized by the communication relay feature extraction unit 20). A fictitious IP address (referred to as a dummy IP address) may be used as the NAT destination IP address. This can be realized by changing the processing of the control processing unit 101 in step S146 as follows. “The control processing unit 101 sets the transmission destination IP address and port number as the IP address for relay standby and the relay standby for the communication relay feature extraction unit 20 as the action of the flow entry relating to the packet of the processing target communication transmitted by the communication using unit 70. Port number, change the source IP address to a dummy IP address, and set “output from internal communication IF unit 60”. Control processing unit 101 also sets a flow entry for a packet in the reverse direction of the packet. As the action of (destination IP address is a dummy IP address), “the source IP address and the port number are returned to the values set by the communication using unit 70 as the destination, and the destination IP address is transmitted by the communication using unit 70. Return to the value set as the original, and set “output from internal communication IF unit 60”. When such NAT is not performed, depending on the implementation of the IP stack (not shown) included in the communication terminal 1, the packet of the relay source connection transmitted by the communication relay feature extracting unit 20 is output from the internal communication IF unit 60. It may not be. Even in such a case, by executing the NAT to the dummy IP address described above, the packet of the relay source connection transmitted by the communication relay feature extracting unit 20 is output from the internal communication IF unit 60. be able to.

(実施形態2)
次に、図面を参照して第2の実施形態について説明する。第1の実施形態に係る通信システムでは、通信中継特徴抽出部20が中継元通信と中継先通信との間のデータ中継を行う例を示したが、本発明はこれに限定されるものではない。
(Embodiment 2)
Next, a second embodiment will be described with reference to the drawings. In the communication system according to the first embodiment, the communication relay feature extraction unit 20 performs data relay between the relay source communication and the relay destination communication. However, the present invention is not limited to this. .

本実施形態に係る通信システムでは、TCPスプライシングに代表される、ヘッダ変換処理による複数通信間(複数コネクション間)のデータ中継を行うデータ中継部80を設け、中継元通信と中継先通信との間のデータ中継の一部もしくは全部をデータ中継部80により行う。   In the communication system according to the present embodiment, a data relay unit 80 that relays data between a plurality of communications (between a plurality of connections) by header conversion processing, represented by TCP splicing, is provided, and between the relay source communication and the relay destination communication. The data relay unit 80 performs part or all of the data relay.

データ中継部80は、例えば、通信端末1のOS(図示されない)の一部としてソフトウェアとして実装されてもよいし、ハードウェアとして実装されてもよい。データ中継部80によりデータ中継を行うことで、通信中継特徴抽出部20が中継を行うよりも転送性能や転送遅延を改善することができる。   For example, the data relay unit 80 may be implemented as software as part of the OS (not shown) of the communication terminal 1 or may be implemented as hardware. By performing data relay by the data relay unit 80, it is possible to improve transfer performance and transfer delay as compared with the communication relay feature extraction unit 20 performing relay.

以下、本実施形態に係る通信システムの構成および動作について、第1の実施形態に係る通信システムの構成および動作と異なる部分を説明する。   Hereinafter, with respect to the configuration and operation of the communication system according to the present embodiment, parts different from the configuration and operation of the communication system according to the first embodiment will be described.

図13は、本実施形態による通信端末1の構成の一例を示す構成図である。本実施形態による通信端末1は、図2を用いて説明した通信端末1の構成要素に加え、データ中継部80を備える。   FIG. 13 is a configuration diagram illustrating an example of the configuration of the communication terminal 1 according to the present embodiment. The communication terminal 1 according to the present embodiment includes a data relay unit 80 in addition to the components of the communication terminal 1 described with reference to FIG.

データ中継部80は、ヘッダ変換処理による複数通信間(複数コネクション間)のデータ中継を行う。データ中継部80は、TCP通信に関し、ヘッダ変換処理としてTCPスプライシングを行う。データ中継部80は、要求元(例えば通信中継特徴抽出部20)から2つのTCP接続のデータ中継を要求されると、当該TCP接続間(中継元と中継先の間)でのデータ中継を開始する。データ中継部80は、データ中継に係る情報として、例えば以下の情報の一部もしくはすべてを受け取る。
・送信元IPアドレス、送信先IPアドレス
・送信元ポート番号、送信先ポート番号
・中継開始位置(シーケンス番号、Ack番号)
・中継元コネクションで受信済のデータ
・中継先コネクションに送信済のデータ
The data relay unit 80 relays data between a plurality of communications (between a plurality of connections) by header conversion processing. The data relay unit 80 performs TCP splicing as header conversion processing regarding TCP communication. When the data relay unit 80 requests data relay of two TCP connections from the request source (for example, the communication relay feature extraction unit 20), the data relay unit 80 starts data relay between the TCP connections (between the relay source and the relay destination). To do. The data relay unit 80 receives, for example, part or all of the following information as information related to data relay.
Source IP address, destination IP address, source port number, destination port number, relay start position (sequence number, Ack number)
-Data received by relay source connection-Data sent to relay destination connection

データ中継部80は、中継対象のTCP接続からパケットを受信すると、例えば、以下のヘッダ変換処理を行った後、当該パケットを送信する(変換後の当該パケットは中継先TCP接続のものとなる)。
・送信元IPアドレスおよび送信先IPアドレスを中継先のものに変換
・必要な場合、IPオプションを更新
・IPヘッダチェックサムを更新
・送信元ポート番号および送信先ポート番号を中継先のものに変換
・シーケンス番号およびAck番号を中継先のものに変換
・必要な場合、TCPオプションを更新
・TCPヘッダチェックサムを更新
When the data relay unit 80 receives a packet from the TCP connection to be relayed, for example, after performing the following header conversion processing, the data relay unit 80 transmits the packet (the converted packet is that of the relay destination TCP connection). .
・ Transfer source IP address and destination IP address to relay destination ・ Update IP option if necessary ・ Update IP header checksum ・ Transfer source port number and destination port number to relay destination・ Convert sequence number and Ack number to relay destination ・ Update TCP option if necessary ・ Update TCP header checksum

本実施形態における通信中継特徴抽出部20は、中継元コネクションからの通信の特徴の抽出が完了した後、中継元コネクションと中継先コネクションとの間のデータ中継をデータ中継部80に要求する。   In this embodiment, the communication relay feature extraction unit 20 requests the data relay unit 80 to relay data between the relay source connection and the relay destination connection after the extraction of the communication feature from the relay source connection is completed.

次に、本実施形態による通信システムの動作について、第1の実施形態と特に異なる部分について説明する。例えば、図6A〜図6Cの動作では、通信中継特徴抽出部20等からの要求でデータ中継部80がデータ中継を行う点が異なる。   Next, the operation of the communication system according to this embodiment will be described with respect to parts that are particularly different from the first embodiment. For example, the operations of FIGS. 6A to 6C differ in that the data relay unit 80 relays data in response to a request from the communication relay feature extraction unit 20 or the like.

通信中継特徴抽出部20は、図6CのステップS125で中継先コネクションの接続が完了した後、中継元コネクションと中継先コネクションとの間のデータ中継の開始をデータ中継部80に要求する(ステップS126'(不図示))。その後、当該コネクション間のデータ中継は、通信中継特徴抽出部20ではなくデータ中継部80により行われる。   After the connection of the relay destination connection is completed in step S125 of FIG. 6C, the communication relay feature extraction unit 20 requests the data relay unit 80 to start data relay between the relay source connection and the relay destination connection (step S126). '(Not shown)). Thereafter, data relay between the connections is performed by the data relay unit 80, not the communication relay feature extraction unit 20.

以上説明したように、本発明の第2の実施形態によれば、通信中継特徴抽出部20はデータ中継をデータ中継部80に委譲し、データ中継部80はヘッダ変換処理によるデータ中継を行う。   As described above, according to the second embodiment of the present invention, the communication relay feature extraction unit 20 delegates data relay to the data relay unit 80, and the data relay unit 80 performs data relay by header conversion processing.

よって、本実施形態によれば、第1の実施形態による効果に加え、データ中継を高速に行うことができる。   Therefore, according to the present embodiment, in addition to the effects of the first embodiment, data relay can be performed at high speed.

また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20は、図6CのステップS125完了後にデータ中継部80に対しデータ中継の開始を要求する例を示したが、本発明はこれに限定されるものではない。他の例として、通信中継特徴抽出部20は、中継先コネクション確立後、任意のタイミングでデータ中継部80に対しデータ中継の開始を要求してもよい。   In the description of the communication system according to the present embodiment, the communication relay feature extracting unit 20 requests the data relay unit 80 to start data relay after step S125 in FIG. 6C is completed. It is not limited to this. As another example, the communication relay feature extraction unit 20 may request the data relay unit 80 to start data relaying at an arbitrary timing after establishing the relay destination connection.

また、本実施形態に係る通信システムの説明では、データ中継部80が通信処理部40とは別の構成要素である例を示したが、本発明はこれに限定されるものではない。他の例として、データ中継部80が提供する機能を通信処理部40が具備してもよい。これは、例えば、通信処理部40のパケット処理部402にヘッダ変換処理によるデータ中継機能を具備させ、フローエントリのアクションとして当該処理を指定可能とすることで実現できる。通信中継特徴抽出部20は、通信処理部40に対するデータ中継開始の要求を、通信制御部10を介して行ってもよいし、直接行ってもよい。   In the description of the communication system according to the present embodiment, an example in which the data relay unit 80 is a component different from the communication processing unit 40 is shown, but the present invention is not limited to this. As another example, the communication processing unit 40 may include a function provided by the data relay unit 80. This can be realized, for example, by providing the packet processing unit 402 of the communication processing unit 40 with a data relay function by header conversion processing so that the processing can be specified as an action of the flow entry. The communication relay feature extraction unit 20 may make a data relay start request to the communication processing unit 40 via the communication control unit 10 or directly.

(実施形態3)
次に、図面を参照して第3の実施形態について説明する。第1の実施形態に係る通信システムでは、通信中継特徴抽出部20による中継先通信をも通信処理部40で処理する例を示したが、本発明はこれに限定されるものではない。
(Embodiment 3)
Next, a third embodiment will be described with reference to the drawings. In the communication system according to the first embodiment, the example in which the communication processing unit 40 processes the relay destination communication by the communication relay feature extracting unit 20 has been shown, but the present invention is not limited to this.

本実施形態に係る通信システムでは、通信中継特徴抽出部20は、通信制御部10の指示の下、中継先通信に通信処理部40を用いず、通信IF部50−1〜50−2を直接利用する。通信中継特徴抽出部20が中継先通信に関し直接通信IF部50−1〜50−2を利用することで、通信処理部40の負荷を軽減することができる。   In the communication system according to the present embodiment, the communication relay feature extracting unit 20 directly uses the communication IF units 50-1 to 50-2 without using the communication processing unit 40 for relay destination communication under the instruction of the communication control unit 10. Use. The communication relay feature extraction unit 20 uses the direct communication IF units 50-1 to 50-2 for the relay destination communication, so that the load on the communication processing unit 40 can be reduced.

以下、本実施形態に係る通信システムの構成および動作について、第1の実施形態に係る通信システムの構成および動作と異なる部分を説明する。   Hereinafter, with respect to the configuration and operation of the communication system according to the present embodiment, parts different from the configuration and operation of the communication system according to the first embodiment will be described.

通信利用部70が、ユーザ等の指示に基づき、http://example.com/video/index.htmlにアクセスした場合の、本実施形態の動作について、図14A〜図14Cを参照して説明する。なお、本動作における前提(構成)や、図6A〜図6Cと同じ符号を付するステップについては、第1の実施形態と同様であるため、その説明を省略する。   Based on an instruction from the user or the like, the communication using unit 70 receives http: // example. com / video / index. The operation of this embodiment when accessing html will be described with reference to FIGS. 14A to 14C. Note that the premise (configuration) in this operation and the steps denoted by the same reference numerals as in FIGS. 6A to 6C are the same as those in the first embodiment, and thus the description thereof is omitted.

図14A〜図14Cは、本実施形態における通信システムの動作の例を示すシーケンス図である。図14A〜図14Cにおいて、ステップS101〜ステップS115は、第1の実施形態と同様である。   14A to 14C are sequence diagrams illustrating an example of the operation of the communication system according to the present embodiment. 14A to 14C, steps S101 to S115 are the same as those in the first embodiment.

図14A〜図14Cに示すように、ステップS115に続いて、通信中継特徴抽出部20は、中継先コネクションの処理方法を通信制御部10に要求し問い合わせる(ステップS301)。   As shown in FIGS. 14A to 14C, following step S115, the communication relay feature extraction unit 20 requests and inquires the communication control unit 10 about the processing method of the relay destination connection (step S301).

続いて、通信制御部10の制御処理部101は、通信中継特徴抽出部20の要求を受け、要求された通信に対する処理を決定する(ステップS302)。その動作は、以下の違いを除き、図7を用いて説明した第1の実施形態における制御処理部101と同様である。   Subsequently, the control processing unit 101 of the communication control unit 10 receives a request from the communication relay feature extraction unit 20, and determines a process for the requested communication (step S302). The operation is the same as that of the control processing unit 101 in the first embodiment described with reference to FIG. 7 except for the following differences.

図7のステップS148において、第3の実施形態における制御処理部101は、選択した制御ポリシで指定された処理を実行するためのフローエントリを作成する代わりに、通信中継特徴抽出部20への応答を作成する。なお、この応答の内容は、フローエントリと同様の内容でもよい。すなわち、制御処理部101は、通信中継特徴抽出部20への応答として、フローエントリを通知してもよい。   In step S148 of FIG. 7, the control processing unit 101 in the third embodiment responds to the communication relay feature extraction unit 20 instead of creating a flow entry for executing the process specified by the selected control policy. Create The content of this response may be the same as that of the flow entry. That is, the control processing unit 101 may notify the flow entry as a response to the communication relay feature extraction unit 20.

制御処理部101は、指定された処理が"指定されたIFを使用して通信"であった場合、例えば、"指定されたIFを使用する"という応答を作成する。   When the designated process is “communication using the designated IF”, for example, the control processing unit 101 creates a response “use the designated IF”.

制御処理部101は、通信に使用するIFが複数指定されていた場合、優先度の高いものから順に指定されたIFが利用可能かを調べ、最初に利用可能であったIFに関し、前述のような応答を作成してよい。制御処理部101は、IFが利用可能か否かを、例えば、当該IFが存在するか否か、リンクアップしているか否か、IPアドレスが構成されているか否か、等によって判断してよい。   When a plurality of IFs to be used for communication are designated, the control processing unit 101 checks whether the designated IFs can be used in order from the one with the highest priority. You may create a simple response. The control processing unit 101 may determine whether or not an IF is available based on, for example, whether the IF exists, whether the link is up, whether an IP address is configured, or the like. .

制御処理部101は、指定された処理が"破棄する"であった場合、例えば、"破棄する"という応答を作成する。   If the designated process is “discard”, the control processing unit 101 creates a response “discard”, for example.

本例では、当該中継先コネクションは制御ポリシ12に適合すると判定され、"通信IF部50−2を使用する"という応答が作成される。   In this example, it is determined that the relay destination connection conforms to the control policy 12, and a response “use communication IF unit 50-2” is created.

図14Bにおいて、通信制御部10の制御処理部101は、ステップS302で作成した応答を通信中継特徴抽出部20に通知する(ステップS303)。   14B, the control processing unit 101 of the communication control unit 10 notifies the communication relay feature extraction unit 20 of the response created in step S302 (step S303).

続いて、通信中継特徴抽出部20は、ステップS303で通知された処理方法により、ステップS114で決定された中継先に対TCP接続要求を送信する(ステップS304)。本例では、通信中継特徴抽出部20は、通信処理部40を介さずに、直接、通信IF部50−2を用いてTCP接続要求を送信する。なお、通信中継特徴抽出部20は、ステップS303において"破棄する"という処理方法を通知された場合、中継処理を終了してよい。   Subsequently, the communication relay feature extraction unit 20 transmits a TCP connection request to the relay destination determined in step S114 by the processing method notified in step S303 (step S304). In this example, the communication relay feature extraction unit 20 directly transmits a TCP connection request using the communication IF unit 50-2 without using the communication processing unit 40. Note that the communication relay feature extraction unit 20 may end the relay process when notified of the processing method “discard” in step S303.

続いて、サーバ2は、受信したTCP接続要求に対するTCP接続応答を送信する(ステップS305)。当該TCP接続応答は、通信IF部50−2から、直接、通信中継特徴抽出部20により受信される。   Subsequently, the server 2 transmits a TCP connection response to the received TCP connection request (step S305). The TCP connection response is directly received by the communication relay feature extraction unit 20 from the communication IF unit 50-2.

この時点で、通信中継特徴抽出部20とサーバ2との間のHTTP通信用TCP接続(中継先コネクション)の確立が完了し、通信中継特徴抽出部20は、ステップS113において受信した通信利用部70からのHTTPリクエストおよびヘッダを、中継先コネクションに書き込み、直接、通信IF部50−2からサーバ2へ送信する(ステップS306)。   At this time, establishment of the TCP connection for HTTP communication (relay destination connection) between the communication relay feature extracting unit 20 and the server 2 is completed, and the communication relay feature extracting unit 20 receives the communication using unit 70 received in step S113. The HTTP request and the header are written in the relay destination connection and directly transmitted from the communication IF unit 50-2 to the server 2 (step S306).

続いて、サーバ2は、受信したリクエストおよびヘッダに対するレスポンスおよびヘッダを送信する(ステップS307)。当該レスポンスおよびヘッダは、通信IF部50−2から、直接、通信中継特徴抽出部20により受信される。   Subsequently, the server 2 transmits a response and a header to the received request and header (step S307). The response and the header are directly received by the communication relay feature extraction unit 20 from the communication IF unit 50-2.

ステップS132〜ステップS134は、第1の実施形態と同様である。   Steps S132 to S134 are the same as those in the first embodiment.

以上説明したように、本発明の第3の実施形態によれば、通信中継特徴抽出部20は、通信制御部10の指示の下、中継先通信に通信処理部40を用いず、通信IF部50−1〜50−2を直接利用する。   As described above, according to the third embodiment of the present invention, the communication relay feature extraction unit 20 uses the communication IF unit without using the communication processing unit 40 for relay destination communication under the instruction of the communication control unit 10. 50-1 to 50-2 are used directly.

よって、本発明の第3の実施形態によれば、通信処理部40の負荷を軽減することができる。   Therefore, according to the third embodiment of the present invention, the load on the communication processing unit 40 can be reduced.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.

上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。通信端末やサーバの各機能(各処理)を、CPUやメモリ等を有するコンピュータにより実現してもよい。例えば、記憶装置に実施形態における通信方法(通信処理)を行うための通信プログラムを格納し、各機能を、記憶装置に格納された通信プログラムをCPUで実行することにより実現してもよい。   Each configuration in the above-described embodiment is configured by hardware and / or software, and may be configured by one piece of hardware or software, or may be configured by a plurality of pieces of hardware or software. Each function (each process) of the communication terminal and the server may be realized by a computer having a CPU, a memory, and the like. For example, the communication program for performing the communication method (communication processing) in the embodiment may be stored in the storage device, and each function may be realized by executing the communication program stored in the storage device by the CPU.

プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   The program may be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W and semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)) are included. The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則を保持し、前記処理規則に基づいて受信したパケットを処理する通信処理部と、
前記通信処理部が保持する前記処理規則を制御する通信制御部と、
通信を中継するとともに当該通信の特徴を抽出する通信中継特徴抽出部と、を備え、
前記通信処理部は対応する処理規則を保持していないパケットを受信した際に当該パケットの情報を前記通信制御部に通知し、
前記通信制御部は前記パケットが属するフローを処理する処理規則の作成に前記通知から得られない当該通信の特徴を必要とする場合に前記フローを前記通信中継特徴抽出部に転送するよう前記通信処理部を制御し、
前記通信制御部は前記通信中継特徴抽出部が抽出した前記通信の特徴を利用して前記通信中継特徴抽出部による前記フローの中継後のフローである中継フローを処理する処理規則を作成する、
ことを特徴とした通信システム。
(Appendix 1)
Holding a processing rule defining a flow to which a packet belongs and processing for the packet belonging to the flow, and a communication processing unit for processing a packet received based on the processing rule;
A communication control unit that controls the processing rules held by the communication processing unit;
A communication relay feature extraction unit that relays communication and extracts features of the communication,
When the communication processing unit receives a packet that does not hold a corresponding processing rule, the communication processing unit notifies the communication control unit of information on the packet,
The communication processing unit is configured to transfer the flow to the communication relay feature extracting unit when the communication control unit needs characteristics of the communication that cannot be obtained from the notification to create a processing rule for processing the flow to which the packet belongs. Control the part
The communication control unit creates a processing rule for processing a relay flow that is a flow after relaying the flow by the communication relay feature extraction unit using the communication feature extracted by the communication relay feature extraction unit;
A communication system characterized by that.

(付記2)
通信の特徴と当該特徴に適合する通信に対する処理を規定する制御ポリシを保持する制御ポリシ記憶部をさらに備え、
前記制御ポリシは前記処理規則よりも抽象的な指定を許容し、
前記通信制御部は前記フローおよび前記中継フローに適用する処理を前記制御ポリシを参照して決定する、
ことを特徴とした付記1に記載の通信システム。
(Appendix 2)
A control policy storage unit that holds a control policy that defines communication characteristics and processing for communication conforming to the characteristics;
The control policy allows a more abstract specification than the processing rule,
The communication control unit determines processing to be applied to the flow and the relay flow with reference to the control policy;
The communication system according to supplementary note 1, wherein the communication system is characterized.

(付記3)
前記通信中継特徴抽出部は、前記フローにおける通信の内容に応じて前記中継フローの数を変更する、
ことを特徴とした付記1から付記2のうちのいずれか1項に記載の通信システム。
(Appendix 3)
The communication relay feature extraction unit changes the number of the relay flows according to the content of communication in the flow.
The communication system according to any one of Supplementary Note 1 to Supplementary Note 2, which is characterized by the above.

(付記4)
前記通信中継特徴抽出部は、HTTPおよびHTTPSの少なくとも一方の中継を行い、
前記通信中継特徴抽出部および前記通信制御部は、通信の特徴としてURL、URI、メソッド、HTTPバージョン、認証情報、コンテンツ長、コンテンツタイプ、ホストヘッダ、要求元URL、ユーザエージェント、のいずれかもしくはそれらの組み合わせを利用する、
ことを特徴とした付記1から付記3のうちのいずれか1項に記載の通信システム。
(Appendix 4)
The communication relay feature extraction unit relays at least one of HTTP and HTTPS,
The communication relay feature extraction unit and the communication control unit may be any one of URL, URI, method, HTTP version, authentication information, content length, content type, host header, request source URL, and user agent as communication features. Use a combination of
4. The communication system according to any one of supplementary notes 1 to 3, wherein the communication system is characterized.

(付記5)
ヘッダ変換処理により複数の通信間でデータ中継を行うデータ中継部をさらに備え、
前記通信中継特徴抽出部は、通信の中継の一部あるいはすべてを前記データ中継部に委譲する、
ことを特徴とした付記1から付記4のうちのいずれか1項に記載の通信システム。
(Appendix 5)
A data relay unit that relays data between a plurality of communications by header conversion processing;
The communication relay feature extraction unit delegates part or all of communication relay to the data relay unit,
The communication system according to any one of Supplementary Note 1 to Supplementary Note 4, characterized by:

(付記6)
前記通信処理部は前記データ中継部を包含する、
ことを特徴とした付記1から付記5のうちのいずれか1項に記載の通信システム。
(Appendix 6)
The communication processing unit includes the data relay unit;
The communication system according to any one of Supplementary Note 1 to Supplementary Note 5, characterized in that:

1 通信端末
2 サーバ
3−1〜3−3 通信ネットワーク
10 通信制御部
20 通信中継特徴抽出部
30 通信情報記憶部
40 通信処理部
50−1〜50−2 通信IF部
60 内部通信IF部
70 通信利用部
80 データ中継部
101 制御処理部
102 制御ポリシ記憶部
401 制御チャネル処理部
402 パケット処理部
403 フローテーブル記憶部
DESCRIPTION OF SYMBOLS 1 Communication terminal 2 Server 3-1 to 3-3 Communication network 10 Communication control part 20 Communication relay characteristic extraction part 30 Communication information storage part 40 Communication processing part 50-1 to 50-2 Communication IF part 60 Internal communication IF part 70 Communication Use unit 80 Data relay unit 101 Control processing unit 102 Control policy storage unit 401 Control channel processing unit 402 Packet processing unit 403 Flow table storage unit

Claims (10)

パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理する通信処理部と、
前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出する通信中継特徴抽出部と、
前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成する通信制御部と、
を備える通信装置。
A communication processing unit that processes a received packet based on a processing rule that defines a flow to which the packet belongs and processing for the packet that belongs to the flow;
A communication relay feature extracting unit that relays the received packet between a relay source and a relay destination, and extracts features of the relayed traffic;
Based on the characteristics of the received packet and the extracted traffic, a communication control unit that creates a relay destination processing rule for processing a relay destination flow after relaying from the relay source to the relay destination as the processing rule;
A communication device comprising:
前記通信制御部は、前記受信したパケットが属する中継元フローを処理する前記処理規則を作成するために必要な前記トラフィックの特徴を得られない場合、前記処理規則として、前記中継元フローを前記通信処理部から前記通信中継特徴抽出部に転送する中継元処理規則を作成する、
請求項1に記載の通信装置。
When the communication control unit cannot obtain characteristics of the traffic necessary for creating the processing rule for processing the relay source flow to which the received packet belongs, the communication control unit uses the relay source flow as the processing rule. Creating a relay source processing rule to be transferred from the processing unit to the communication relay feature extracting unit;
The communication apparatus according to claim 1.
前記通信制御部は、前記トラフィックの特徴を含むトラフィック条件と当該トラフィック条件に適合する通信に対する処理とを規定する制御ポリシであって、前記処理規則に指定可能な条件以外の条件を指定可能な制御ポリシに基づいて、前記中継先処理規則を作成する、
請求項1または2に記載の通信装置。
The communication control unit is a control policy that prescribes a traffic condition including characteristics of the traffic and a process for communication conforming to the traffic condition, and is a control that can specify a condition other than a condition that can be specified in the processing rule. Creating the relay destination processing rule based on a policy;
The communication device according to claim 1 or 2.
前記通信中継特徴抽出部は、前記受信したパケットが属するフローに応じて、前記中継先フローの数を変更する、
請求項1乃至3のいずれか一項に記載の通信装置。
The communication relay feature extraction unit changes the number of relay destination flows according to a flow to which the received packet belongs.
The communication apparatus as described in any one of Claims 1 thru | or 3.
前記中継するトラフィックは、HTTPおよびHTTPSの少なくとも一方のトラフィックであり、
前記トラフィックの特徴は、HTTPまたはHTTPSのメッセージに基づいた、URL、URI、メソッド、HTTPバージョン、認証情報、コンテンツ長、コンテンツタイプ、ホストヘッダ、要求元URL、ユーザエージェント、のいずれかもしくはそれらの組み合わせを含む、
請求項1乃至4のいずれか一項に記載の通信装置。
The relayed traffic is at least one of HTTP and HTTPS,
The characteristics of the traffic are URL, URI, method, HTTP version, authentication information, content length, content type, host header, request source URL, user agent based on HTTP or HTTPS message, or a combination thereof including,
The communication apparatus as described in any one of Claims 1 thru | or 4.
前記通信中継特徴抽出部が行うデータ中継処理の一部あるいはすべてを、ヘッダ変換処理により行うデータ中継部をさらに備える、
請求項1乃至5のいずれか一項に記載の通信装置。
A data relay unit that performs part or all of the data relay processing performed by the communication relay feature extraction unit by header conversion processing;
The communication apparatus as described in any one of Claims 1 thru | or 5.
前記通信処理部は前記データ中継部を包含する、
請求項6に記載の通信装置。
The communication processing unit includes the data relay unit;
The communication apparatus according to claim 6.
パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理し、
前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出し、
前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成する、
通信方法。
Process the received packet based on a processing rule defining a flow to which the packet belongs and a process for the packet belonging to the flow;
Relaying the received packet between a relay source and a relay destination, and extracting the characteristics of the relayed traffic;
Based on the characteristics of the received packet and the extracted traffic, a relay destination processing rule for processing a relay destination flow after relay from the relay source to the relay destination is created as the processing rule.
Communication method.
コンピュータに通信処理を実行させるための通信プログラムであって、
前記通信処理は、
パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理し、
前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出し、
前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成する、
通信プログラム。
A communication program for causing a computer to execute communication processing,
The communication process includes
Process the received packet based on a processing rule defining a flow to which the packet belongs and a process for the packet belonging to the flow;
Relaying the received packet between a relay source and a relay destination, and extracting the characteristics of the relayed traffic;
Based on the characteristics of the received packet and the extracted traffic, a relay destination processing rule for processing a relay destination flow after relay from the relay source to the relay destination is created as the processing rule.
Communication program.
第1の通信装置と第2の通信装置とがネットワークを介して通信可能に接続された通信システムであって、
前記第1の通信装置は、
パケットを送信する通信利用部と、
前記パケットが属するフローと前記フローに属するパケットに対する処理とを規定する処理規則に基づいて、前記通信利用部または前記第2の通信装置から受信したパケットを処理する通信処理部と、
前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出する通信中継特徴抽出部と、
前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成する通信制御部と、
を備える通信システム。
A communication system in which a first communication device and a second communication device are connected to be communicable via a network,
The first communication device is:
A communication utilization unit for transmitting packets;
A communication processing unit that processes a packet received from the communication utilization unit or the second communication device based on a processing rule that defines a flow to which the packet belongs and a process for the packet that belongs to the flow;
A communication relay feature extracting unit that relays the received packet between a relay source and a relay destination, and extracts features of the relayed traffic;
Based on the characteristics of the received packet and the extracted traffic, a communication control unit that creates a relay destination processing rule for processing a relay destination flow after relaying from the relay source to the relay destination as the processing rule;
A communication system comprising:
JP2013117896A 2013-06-04 2013-06-04 Communication device, control method, communication program and communication system Pending JP2014236423A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013117896A JP2014236423A (en) 2013-06-04 2013-06-04 Communication device, control method, communication program and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013117896A JP2014236423A (en) 2013-06-04 2013-06-04 Communication device, control method, communication program and communication system

Publications (1)

Publication Number Publication Date
JP2014236423A true JP2014236423A (en) 2014-12-15

Family

ID=52138815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013117896A Pending JP2014236423A (en) 2013-06-04 2013-06-04 Communication device, control method, communication program and communication system

Country Status (1)

Country Link
JP (1) JP2014236423A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022165787A1 (en) * 2021-02-07 2022-08-11 Oppo广东移动通信有限公司 Parameter configuration method and apparatus, device, and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022165787A1 (en) * 2021-02-07 2022-08-11 Oppo广东移动通信有限公司 Parameter configuration method and apparatus, device, and storage medium

Similar Documents

Publication Publication Date Title
EP3113426B1 (en) Data packet processing method and device
US10135956B2 (en) Hardware-based packet forwarding for the transport layer
CN112954001B (en) Method and device for HTTP-to-HTTPS bidirectional transparent proxy
US9800551B2 (en) AVC Bi-directional correlation using an overlay fabric header
JPWO2011037105A1 (en) Content-based switch system and content-based switch method
JPWO2011081104A1 (en) Communication system, authentication device, control server, communication method, and program
CN106899500B (en) Message processing method and device for cross-virtual extensible local area network
WO2014119715A1 (en) Communication terminal, communication method, program, communication system, and information processing apparatus
CN109218111B (en) Method for processing message and repeater
JP6118122B2 (en) COMMUNICATION DEVICE, ITS CONTROL METHOD, PROGRAM
JP6662136B2 (en) Relay device, communication system, relay method, and relay program
US20150043588A1 (en) Communication System, Upper Layer Switch, Control Apparatus, Switch Control Method, and Program
JP5720340B2 (en) Control server, communication system, control method and program
WO2015165249A1 (en) Method and device for establishing service path
US10177973B2 (en) Communication apparatus, communication method, and communication system
US11968237B2 (en) IPsec load balancing in a session-aware load balanced cluster (SLBC) network device
JP2014236423A (en) Communication device, control method, communication program and communication system
CN113542450B (en) Method and system for realizing industrial control firewall supporting FTP (File transfer protocol) traversal NAT (network Address translation)
JP2015095789A (en) Communication terminal, communication method and communication program
JP2022120845A5 (en)
JP2013126219A (en) Transfer server and transfer program
US20170019845A1 (en) Communication terminal, communication method, and program-containing storage medium
US20150089058A1 (en) System and method for software defined adaptation of broadband network gateway services
JP6213028B2 (en) Communication system, communication method, communication program, and communication apparatus
JP5992348B2 (en) Load balancing system and load balancing method