JP2014236423A - Communication device, control method, communication program and communication system - Google Patents
Communication device, control method, communication program and communication system Download PDFInfo
- 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
Links
Images
Landscapes
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
Abstract
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
通信端末内の通信制御に、例えばオープンフローのような、フローベース制御技術を適用することで、通信インタフェースの使い分け(経路制御)を細粒度で行うことができる。さらに、通信制御として、フロー粒度の通信遮断や統計情報取得、高度な通信処理(例えば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に開示されている。
非特許文献1に開示された技術は、フロー粒度での通信制御を行えるが、フローの識別に使うことができる情報が限定されることが問題となる。柔軟な通信制御を実現するためには、制御対象の通信(フロー)を指定するための情報として当該通信の内容を利用可能なことが望まれる。しかし、非特許文献1に開示された技術は、各パケットに含まれる規定済みの情報(アドレスフィールドやポート番号フィールド等)によってのみフローの識別を行う。非特許文献1に開示された技術において、すべてのパケットをコントローラで受信しその内容を解析することで上記問題を解決する方法は存在するが、その場合コントローラの複雑化や処理オーバヘッドの発生等の問題が生じる。すなわち、関連する技術では、各パケットに共通して含まれる情報以外の情報を用いて柔軟に通信(フロー)を指定し制御することができなかった。
Although the technique disclosed in Non-Patent
そこで、本発明は、フローベースの通信制御において、柔軟に通信(フロー)を指定し制御することができる通信装置、通信方法、通信プログラムおよび通信システムを提供することを目的とする。 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).
(実施形態の共通部分の概要)
まず、図面を参照して、各実施形態に共通する構成および動作の概要について説明する。
(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
通信端末(第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
サーバ(第2の通信装置)2は、通信端末1の通信相手であり、その一例としてWebサーバ、メールサーバ、ビデオサーバ、等が挙げられる。ただし、本発明のおけるサーバ2はこれらに限定されない。また、各実施形態の説明では通信端末1の通信相手がサーバである例を示したが、本発明はこれに限定されない。通信端末1の通信相手は通信端末1と通信する装置であればよく、その形態はサーバの他、端末、携帯電話、パーソナルコンピュータ、家電、等であってもよい。
The server (second communication device) 2 is a communication partner of the
通信ネットワーク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
図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
通信制御部10は、通信情報記憶部30に記憶された情報を利用し、通信処理部40による通信処理を制御する。後述のように、通信制御部10は、制御ポリシに基づいてフローエントリ(処理規則)を作成することで、通信処理部40の処理を制御する。
The
通信中継特徴抽出部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
-Information (address, port number, etc.) relating to communication (relay source communication) between the
-Information (address, port number, etc.) regarding communication (relay destination communication) between the
通信情報記憶部30は、通信制御部10が必要としている情報や、通信中継特徴抽出部20によって判定された通信利用部70による通信の特徴や、その中継動作に係る情報を記憶する。通信情報記憶部30は、通信端末1の内部の記憶部として説明するが、通信端末1の外部の記憶装置であってもよい。
The communication
通信処理部40は、通信制御部10による制御の下、通信IF部50や内部通信IF部60から送受信される通信(パケット)の処理を行う。後述のように、通信処理部40は、通信制御部10から設定されたフローエントリ(処理規則)に基づいて、受信したパケットを処理する。
The
通信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
内部通信IF部60は、通信端末1の内部の機能(処理部)間を接続するための内部インタフェースであり、通信端末1外の装置との物理的な接続を伴わない、仮想的な通信インタフェースである。内部通信IF部60は、通信利用部70との間で送信/受信するパケットを、通信処理部40との間で送信/受信(入力/出力)し、また、通信中継特徴抽出部20との間で送信/受信するパケットを、通信処理部40との間で送信/受信(入力/出力)する。内部通信IF部60は、それを利用し通信を行う、通信利用部70や通信中継特徴抽出部20に対し、従来の物理通信IFと同様に振る舞う。ただし、内部通信IF部60に送受信されたパケットは物理ネットワークに送受信されることなく、通信処理部40への入出力として扱われる。
The internal communication IF
通信利用部70は、通信端末1内において通信を行うモジュールである。例えば、通信利用部70は、通信処理部40、通信中継特徴抽出部20を介して、外部のサーバ2にアクセスし、サーバ2のサービスを利用するクライアント処理部である。通信利用部70の一例として、Webブラウザ、メールクライアント、ビデオストリーミングアプリケーション、SNS(Social Network Service)アプリケーション等が挙げられる。ただし、本発明のおける通信利用部70はこれらに限定されない。
The
例えば、実施形態に係る通信端末1は、少なくとも図15に示すように構成されていてもよい。すなわち、通信端末(通信装置)1は、通信処理部40と、通信中継特徴抽出部20と、通信制御部10とを備えている。通信処理部40は、パケットが属するフローとフローに属するパケットに対する処理とを規定する処理規則に基づいて、受信したパケットを処理する。通信中継特徴抽出部20は、受信したパケットを中継元と中継先の間で中継するとともに、中継するトラフィックの特徴を抽出する。通信制御部10は、受信したパケットと抽出したトラフィックの特徴に基づき、処理規則として、中継元から中継先へ中継後の中継先フローを処理する中継先処理規則を作成する。これにより、トラフィックの特徴に基づいて処理規則を作成するため、より柔軟に通信(フロー)を指定し制御することができる。
For example, the
図3は、実施形態に係る通信端末1の通信制御部10の構成の一例を示す構成図である。図3に示すように、通信制御部10は、制御処理部101と、制御ポリシ記憶部102と、を備えている。
FIG. 3 is a configuration diagram illustrating an example of a configuration of the
制御処理部101は、制御ポリシ記憶部102と通信情報記憶部30とに記憶された情報を利用し、通信処理部40による通信処理を制御する。
The
制御処理部101は、後述する通信処理部40の制御チャネル処理部401との間で制御用通信(制御チャネル)を行う。制御処理部101は、中継元通信に関する、制御チャネルを通じて通信処理部40から処理が必要なパケットの通知(パケット通知)を受け取ると、制御ポリシ記憶部102に記憶された制御ポリシと当該パケットの照合を行う。制御処理部101は、当該パケットの照合に成功し、適用する制御ポリシの決定に成功した場合、当該パケットが属する通信(フロー)に適用する処理を当該制御ポリシから決定する。制御処理部101は、当該パケットの照合に必要な情報(通信の特徴)が当該パケット通知に含まれていない場合、当該パケットのフロー(中継元フロー)に適用する処理(中継元処理規則、もしくは、第1の処理規則)を、当該フローを通信中継特徴抽出部20に中継させること、とする。制御処理部101は、通信中継特徴抽出部20により通信情報記憶部30に設定された情報(通信の特徴)を利用し、制御ポリシ記憶部102に記憶された制御ポリシと、当該パケットの照合を実施する。制御処理部101は、当該パケットの照合に成功し、適用する制御ポリシの決定に成功した場合、当該パケットのフローに対する中継先通信(中継先フロー)に適用する処理(中継先処理規則、もしくは、第2の処理規則)を当該制御ポリシから決定する。
The
制御処理部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
制御ポリシ記憶部102は、発生した通信に適用する処理を制御処理部101が決定するための情報である制御ポリシのリストを記憶する。制御ポリシは、少なくとも、当該制御ポリシの適用対象である通信(トラフィック、フロー)を指定するトラフィック条件と、当該制御ポリシが適用される際に実行すべき処理と、から構成される。例えば、制御ポリシは、トラフィックの特徴(通信の特徴)を含むトラフィック条件と当該トラフィック条件に適合する通信に対する処理とを規定しているともいえる。制御ポリシは、適用される優先順位を示す優先度を含んでもよい。制御ポリシ記憶部102は、通信制御部10の内部の記憶部として説明するが、その他の通信端末1の内部の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。
The control
制御ポリシのトラフィック条件は、例えば、以下の項目を含む。一つの制御ポリシに含まれるトラフィック条件は一つでも複数でもよく、それらは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
・ 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
図4は、実施形態に係る通信端末1の通信処理部40の構成の一例を示す構成図である。図4に示すように、通信処理部40は、制御チャネル処理部401と、パケット処理部402と、フローテーブル記憶部403と、を備えている。
FIG. 4 is a configuration diagram illustrating an example of the configuration of the
制御チャネル処理部401は、通信制御部10との間で制御用通信(制御チャネル)を行う。また、制御チャネル処理部401は、対応するフローエントリが存在しないパケットの通知をパケット処理部402から受けると、制御チャネルを用いてそのパケットを通信制御部10に通知する(パケット通知)。パケット通知には、当該パケットの全部もしくは一部、および当該パケットが受信されたIFの情報が含まれる。
The control
さらに、制御チャネル処理部401は、制御チャネルを介して通信制御部10からフローエントリを追加、変更、または、削除するよう指示(設定)されると、指示された内容に基づきフローテーブル記憶部403に記憶されているフローテーブルを更新する。また、制御チャネル処理部401は、制御チャネルを介して通信制御部10からパケットを出力するよう指示されると、指示された内容に基づきパケットを出力するようパケット処理部402に指示する。
Further, when the control
フローテーブル記憶部403は、処理規則(フローエントリ)を含むフローテーブルを記憶する。処理規則(フローエントリ)は、制御チャネル処理部401によってフローテーブル記憶部403に記録される。フローテーブル記憶部403は、通信処理部40の内部の記憶部として説明するが、その他の通信端末1の内部の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。
The flow
パケット処理部402は、通信IF部50−1〜50−2や内部通信IF部60を介して他の装置やモジュール(以降まとめてエンティティと記載)と接続され、接続されたエンティティとの間でパケットの送受信を行う。パケット処理部402は、他の装置からパケットを受信すると、受信したパケットに対応するフローエントリをフローテーブル記憶部403に記憶されているフローテーブル内から検索する。受信したパケットに対応するフローエントリがフローテーブル内に見つかった場合、パケット処理部402は、そのフローエントリのアクションに従って処理を行う。一方、受信したパケットに対応するフローエントリがフローテーブルに見つからなかった場合、パケット処理部402は、受信したパケットのフローエントリが存在しない旨を制御チャネル処理部401に通知する。
The
さらに、パケット処理部402は、他のエンティティと通信を行うためのポートを複数備え、各ポートは、それぞれ異なる通信IF部50−1〜50−2および内部通信IF部60と接続される。なお、各ポートは、ポート識別子により識別される。
Further, the
フローエントリのアクションに基づき、パケット処理部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
-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
(実施形態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
第1の実施形態における通信中継特徴抽出部20は、HTTP(Hypertext Transfer Protocol)通信の中継を行い、URLを中継される通信の特徴として抽出する。
The communication relay
通信中継特徴抽出部20は、中継対象のHTTPトラフィックを受信するため、特定のIPアドレス(中継待ち受け用IPアドレス)および特定のポート番号(中継待ち受け用ポート番号)でのTCP接続待ち受けを行う。通信中継特徴抽出部20は、中継待ち受け用ポート番号に接続要求があった場合、当該要求を受け付け、TCP接続を確立する(中継元コネクション、中継元通信(中継元フロー))。中継元コネクション確立後、通信中継特徴抽出部20は当該中継元コネクションからデータ(HTTPリクエスト行、HTTPヘッダ等)を読み込む。
The communication relay
通信中継特徴抽出部20は、当該中継元コネクションから読み込みこんだデータから当該通信の特徴(本例ではURL)を抽出し、中継元コネクションの情報(IPアドレスやポート番号)とともに通信情報記憶部30に記憶させる。通信中継特徴抽出部20は、例えば、URLを受信したHTTPリクエスト行やHTTP Hostヘッダから取得できる。
The communication relay
通信中継特徴抽出部20は、中継元コネクションから読み込んだデータや中継元コネクションの情報から、中継先のIPアドレスおよびポート番号を決定し、当該IPアドレス・ポート番号に対しTCP接続要求を出す(中継先コネクション、中継先通信(中継先フロー))。この時、通信中継特徴抽出部20は、中継先コネクションの情報(IPアドレスやポート番号)を、対応する中継元コネクションに関する追加情報として通信情報記憶部30に記憶させる。通信中継特徴抽出部20は、例えば、中継元コネクションから受信したHTTP Hostヘッダを用いて中継先のIPアドレスおよびポート番号を決定する。
The communication relay
通信中継特徴抽出部20は、中継元コネクションおよび中継先コネクションの確立完了後、両コネクション間でデータの中継を行う。すなわち、通信中継特徴抽出部20は、中継元コネクションから読み込んだデータ(中継先コネクション確立前に読み込んだものを含む)を中継先コネクションに書き込み、同様に、中継先コネクションから読み込んだデータを中継元コネクションに書き込む。
The communication relay
通信中継特徴抽出部20は、中継元コネクションにおいて通信されるプロトコルに対応していない場合、通信の特徴の抽出処理失敗とし、その旨を通信情報記憶部30に記憶させる。その場合、通信中継特徴抽出部20は、中継先コネクションの確立およびデータの中継を試みてもよい。
If the communication relay
第1の実施形態における制御処理部101は、通信処理部40からパケット通知を受信すると、通信情報記憶部30に記憶された情報を参照して、当該パケットが中継先コネクションに属するものか否かを判定する。
When receiving the packet notification from the
当該パケットが属する通信が中継先コネクションでなく中継元コネクションであり、当該中継元コネクションと制御ポリシとの照合に当該パケット通知に含まれない情報(本例では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
通信処理部40からのパケット通知で通知されたパケットが属する通信が中継先コネクションであった場合、制御処理部101は通信情報記憶部30を参照して当該通信に対応する中継元コネクションの情報と通信の特徴(本例ではURL)を取得し、それらの情報を基に制御ポリシとの照合を実施する。制御処理部101は、照合の結果決定された制御ポリシの処理を、当該中継先コネクションに適用する処理とし、そのためのフローエントリを作成して通信処理部40に設定する。
When the communication to which the packet notified by the packet notification from the
制御処理部101には、通信中継特徴抽出部20の中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号を予め与えられておいてよい。また、通信中継特徴抽出部20の中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号は予め通信情報記憶部30に記憶されており、制御処理部101および通信中継特徴抽出部20は通信情報記憶部30を参照して中継待ち受け用IPアドレスおよび中継待ち受け用ポート番号を決定してもよい。
The
[動作の説明]
次に、本実施形態に係る通信システムの動作について、図面を参照しつつ説明する。なお、ここでは以下のアドレス等が用いられるものとして説明を行う。
− サーバ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
Based on an instruction from the user or the like, the
-No flow entry is stored in the flow
-No information is stored in the communication
図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
続いて、通信処理部40のパケット処理部402は当該TCP接続要求を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS102)。ステップS102の時点において、フローテーブル記憶部403は空であるため、対応するフローエントリは見つからない。
Subsequently, the
続いて、通信処理部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
続いて、通信制御部10の制御処理部101はパケット通知を受信し、パケット通知により通知されたTCP接続要求に対する処理を決定する(ステップS104)。その動作の詳細は後述する。具体的には、本処理において、後述するステップS146が実行され、図8Aの項番1および2に示すフローエントリが生成される。
Subsequently, the
続いて、通信制御部10の制御処理部101は、ステップS104において生成されたフローエントリを通信処理部40に設定すると同時に、対応するTCP接続要求に対し当該フローエントリに基づく処理を適用するよう指示する(ステップS105)。
Subsequently, the
続いて、通信処理部40の制御チャネル処理部401は、通知(設定)されたフローエントリをフローテーブル記憶部403に記憶させる(ステップS106)。
Subsequently, the control
続いて、通信処理部40のパケット処理部402は、ステップS106で設定されたフローエントリに基づきTCP接続要求を処理する(ステップS107)。具体的には、パケットが図8Aの項番1のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、TCP接続要求の送信先IPアドレスを192.168.254.2(中継待ち受け用IPアドレス)、送信先ポート番号を8080(中継待ち受け用ポート番号)に変更した後、内部通信IF部60に出力する。
Subsequently, the
続いて、通信中継特徴抽出部20は、受信したTCP接続要求に対するTCP接続応答を送信する(ステップS108)。この時、当該TCP接続応答の送信元IPアドレスは192.168.254.2、送信元ポート番号は8080、送信先IPアドレスは192.168.254.1、送信先ポート番号は10001となる。
Subsequently, the communication relay
続いて、通信処理部40のパケット処理部402は、当該TCP接続応答を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS109)。ここでは、ステップS106において記憶されたフローエントリが発見される(図8Aの項番2)。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、ステップS109で発見したフローエントリに基づき処理する(ステップS110)。具体的には、パケットが図8Aの項番2のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、TCP接続応答の送信元IPアドレスを10.0.0.1(TCP接続要求の当初の送信先IPアドレス)に、送信元ポート番号を80(TCP接続要求の当初の送信先ポート番号)に変更した後、内部通信IF部60に出力する。
Subsequently, the
この時点において、通信利用部70は、接続先サーバとのHTTP通信用TCP接続(コネクション)の確立が完了したと認識し、当該コネクションを介してHTTPリクエスト行およびヘッダ(単にリクエストおよびヘッダとも称する)を送信する(ステップS111)。なお、当該コネクションは通信中継特徴抽出部20にとって中継元コネクションとなる。
At this point, the
続いて、通信処理部40のパケット処理部402は、当該リクエストおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS112)。ここでは、ステップS106において記憶されたフローエントリが発見される(図8Aの項番1)。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、ステップS109で発見したフローエントリに基づき処理する(ステップS113)。ステップS107と同様に、図8Aの項番1のフローエントリに基づき、リクエストおよびヘッダの送信先IPアドレス、送信先ポート番号を変更し、内部通信IF部60に出力する。
Subsequently, the
続いて、通信中継特徴抽出部20は、HTTPリクエスト行およびヘッダを受信し、その特徴としてURLを抽出する(ステップS114)。また、通信中継特徴抽出部20は、同時に、中継先コネクションの確立先の決定も行う。その動作の詳細は後述する。
Subsequently, the communication relay
続いて、通信中継特徴抽出部20は、抽出した特徴(URL)と、中継先コネクションの情報を通信情報記憶部30に記憶させる(ステップS115)。ここでは、当該中継先コネクションの送信元IPアドレスは192.168.254.2、送信元ポート番号は10002、送信先IPアドレスは10.0.0.1、送信先ポート番号は80であるとする。本例において通信情報記憶部30に記憶される情報の例を図9に示す。図9のように、中継元コネクション情報、所要情報、中継先コネクション情報、抽出情報を関連付ける。
Subsequently, the communication relay
続いて、通信中継特徴抽出部20は、ステップS114で決定された確立先に対し中継先コネクションを確立するため、TCP接続要求を送信する(ステップS116)。このとき、通信中継特徴抽出部20は、中継先コネクションに関し追加の情報が得られる場合、当該情報を通信情報記憶部30に記憶させてもよい。
Subsequently, the communication relay
続いて、通信処理部40のパケット処理部402は当該TCP接続要求を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS117)。ステップS117の時点において、対応するフローエントリは見つからない。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、当該TCP接続要求と一致するフローエントリが無いため、当該TCP接続要求を制御チャネル処理部401に通知し、制御チャネル処理部401は対応するパケット通知を通信制御部10に送信する(ステップS118)。
Subsequently, since there is no flow entry that matches the TCP connection request, the
続いて、通信制御部10の制御処理部101はパケット通知を受信し、パケット通知により通知されたTCP接続要求に対する処理を決定する(ステップS119)。その動作の詳細は後述する。本例では、当該TCP接続要求は図5の制御ポリシ12に適合すると判定され、後述するステップS148において図8Aの項番3および4に示すフローエントリが生成される。
Subsequently, the
続いて、通信制御部10の制御処理部101は、ステップS119において決定された処理に基づくフローエントリを通信処理部40に設定すると同時に、対応するTCP接続要求に対し当該フローエントリに基づく処理を適用するよう指示する(ステップS120)。
Subsequently, the
続いて、通信処理部40の制御チャネル処理部401は、通知(設定)されたフローエントリをフローテーブル記憶部403に記憶させる(ステップS121)。
Subsequently, the control
続いて、通信処理部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
続いて、サーバ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
続いて、通信処理部40のパケット処理部402は、通信IF部50−2から当該TCP接続応答を受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS124)。ここでは、ステップS121において記憶されたフローエントリが発見される(図8Aの項番4)。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、ステップS124で発見したフローエントリに基づきTCP接続応答を処理する(ステップS125)。具体的には、パケットが図8Aの項番4のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、TCP接続応答の送信先IPアドレスを192.168.254.2(TCP接続要求の当初の送信元IPアドレス)に変更した後、内部通信IF部60に出力する。
Subsequently, the
この時点で、通信中継特徴抽出部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
続いて、通信処理部40のパケット処理部402は、当該リクエストおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS127)。ここでは、ステップS121において記憶されたフローエントリが発見される(図8Aの項番3)。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、ステップS127で発見したフローエントリに基づきリクエストおよびヘッダを処理する(ステップS128)。ステップS122と同様に、図8Aの項番3のフローエントリに基づき、リクエストおよびヘッダはアドレス変換を施された後、通信IF部50−2から出力され、サーバ2へ送信される。
Subsequently, the
続いて、サーバ2は、受信したリクエストおよびヘッダに対するレスポンスおよびヘッダを、通信端末1(通信IF部50−2)へ送信する(ステップS129)。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、通信IF部50−2から当該レスポンスおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS130)。ここでは、ステップS121において記憶されたフローエントリが発見される(図8Aの項番4)。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、ステップS130で発見したフローエントリに基づきレスポンスおよびヘッダを処理する(ステップS131)。ステップS123と同様に、図8Aの項番4のフローエントリに基づき、レスポンスおよびヘッダはアドレス変換を施された後、内部通信IF部60から出力される。
Subsequently, the
続いて、通信中継特徴抽出部20は、通信情報記憶部30を参照し、受信したレスポンスおよびヘッダを中継元コネクションに書き込み送信する(ステップS132)。図9の通信情報記憶部30の情報に基づき、受信した中継先コネクションに対応する中継元コネクションを介して、レスポンスおよびヘッダを送信する。
Subsequently, the communication relay
続いて、通信処理部40のパケット処理部402は、当該レスポンスおよびヘッダを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS133)。ここでは、ステップS106において記憶されたフローエントリが発見される(図8Aの項番2)。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、ステップS133で発見したフローエントリに基づき当該レスポンスおよびヘッダを処理する(ステップS134)。ステップS110と同様、図8Aの項番2のフローエントリに基づき、当該レスポンスおよびヘッダはアドレス変換を施された後、内部通信IF部60から出力され、通信利用部70により受信される。
Subsequently, the
以降、同様に、通信中継特徴抽出部20は、中継元コネクションから受信したデータを中継先コネクションに送信し、中継先コネクションから受信したデータを中継元コネクションに送信する。この時、中継元コネクションのパケットは、ステップS106において記憶されたフローエントリ(図8Aの項番1および2)に基づきパケット処理部402により処理される。また、中継先コネクションのパケットは、ステップS121において記憶されたフローエントリ(図8Aの項番3および4)に基づきパケット処理部402により処理される。
Thereafter, similarly, the communication relay
次に、図7を用いて、図6A及び図6BのステップS104およびS119における通信制御部10の制御処理部101の動作を説明する。
Next, the operation of the
図7に示すように、まず、制御処理部101は、制御ポリシ記憶部102に記憶されている制御ポリシのうち最高優先度のものを選択する(ステップS141)。図5の例では、制御ポリシ1が選択される。
As shown in FIG. 7, first, the
続いて、制御処理部101は、選択した制御ポリシとパケット通知で通知されたパケットが属する通信(処理対象通信と記載)との照合に必要な情報がすべてあるかどうか確認する(ステップS142)。当該照合に必要な情報とは、制御ポリシのトラフィック条件に指定された項目の、処理対象通信に関する値である。例えば、制御ポリシ11の照合に必要な情報は処理対象通信のプロトコルタイプ、送信先IPアドレス、および送信先ポート番号であり、これらはパケット通知に含まれる。また、例えば、制御ポリシ12の照合に必要な情報は処理対象通信のプロトコルタイプ、送信先ポート、およびURLであり、これらのうち前者2つはパケット通知(例えば、図6AのステップS103の通知)に含まれるが、URLは含まれない。
Subsequently, the
なお、制御処理部101は、制御ポリシとの照合に際し、パケット通知が中継先コネクションに関するものであった場合、少なくとも通信端末1側の情報(例えば送信元IPアドレス、送信元ポート番号)として、中継元コネクションのものを使用する。その場合、制御処理部101は、当該中継先コネクションに対応する中継元コネクションの情報を通信情報記憶部30を参照して取得し、制御ポリシとの照合に使用する。
The
ステップS142において制御ポリシの照合に必要な情報がそろっている場合、制御処理部101は、選択した制御ポリシと処理対象通信との照合を行う(ステップS143)。当該照合は、選択した制御ポリシのトラフィック条件を、処理対象通信が満たすか否かを判定することで行われる。前述したとおり、パケット通知が中継先コネクションに関するものであった場合、制御処理部101は、中継元コネクションの情報、中継先コネクションの情報、通信中継特徴抽出部20によって抽出された追加情報(URL等)、等を組み合わせて参照し、トラフィック条件の判定を行う。
In step S142, when the information necessary for control policy verification is available, the
ステップ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
また、ステップS144において、未確認の制御ポリシが存在する場合、制御処理部101は、未確認の制御ポリシの内、優先度が最も高いもの(次の優先度の制御ポリシ)を選択する(ステップS145)。その後、ステップS142以降の処理を繰り返す。
If there is an unconfirmed control policy in step S144, the
また、ステップ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
本例において、ステップ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
ステップS146に続いて、制御処理部101は、制御ポリシ照合に必要な情報を通信情報記憶部30に記憶させ(ステップS147)、処理を終了する。本例の場合、URLが必要な情報であるため、制御処理部101は、処理対象通信を識別するための情報として端末側(通信利用部70側)のIPアドレスおよびポート番号と、当該通信に関しURLの情報が必要な旨を通信情報記憶部30に記憶させる。制御処理部101は、追加の情報として、サーバ側(サーバ2側)の変更前および変更後のIPアドレスおよびポート番号を通信情報記憶部30に記憶させてもよい。
Subsequent to step S146, the
本例において、ステップS147において通信情報記憶部30に設定される情報の例を、図9(中継元コネクション情報および所要情報)に示す。所要情報は、制御ポリシ照合に必要な情報であり、この例ではURLとなる。
In this example, an example of information set in the communication
また、ステップ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
制御処理部101は、指定された処理が"指定されたIFを使用して通信"であった場合、例えば、通信端末1が送信するパケットについて、"送信元IPアドレスを指定されたIFのIPアドレスに変更した後、指定されたIFから出力する"というアクションを持つフローエントリを作成し、通信端末1が受信するパケットについて、"送信先IPアドレスを通信端末1が送信するパケットの当初の送信元IPアドレスに変更した後、内部通信IF部60から出力する"というアクションを持つフローエントリを作成する。
When the designated process is “communication using the designated IF”, the
制御処理部101は、通信に使用するIFが複数指定されていた場合、優先度の高いものから順に指定されたIFが利用可能かを調べ、最初に利用可能であったIFに関し、前述のようなフローエントリを作成してよい。制御処理部101は、IFが利用可能か否かを、例えば、当該IFが存在するか否か、リンクアップしているか否か、IPアドレスが構成されているか否か、等によって判断してよい。
When a plurality of IFs to be used for communication are designated, the
制御処理部101は、指定された処理が"破棄する"であった場合、例えば、アクションが空のフローエントリを作成する。
If the designated process is “discard”, the
本例において、ステップ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
次に、図10を用いて、図6BのステップS114における通信中継特徴抽出部20の動作を説明する。なお、ここでは、通信中継特徴抽出部20は図11に示すHTTPリクエスト行およびヘッダ(HTTPリクエストメッセージ)を通信利用部70から受信したものとする。
Next, the operation of the communication relay
図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
続いて、通信中継特徴抽出部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
<通信利用部70がDNS通信を行った場合の動作>
通信利用部70が、DNS通信を行った場合の動作について説明する。本通信は、図5に示す制御ポリシ1によって処理されることが期待される。なお、以下の説明は、次の条件が成り立っていることを前提とする。
− フローテーブル記憶部403にはフローエントリが記憶されていない。
− DNSサーバ(図示されない)は通信ネットワーク3−3に接続されており、そのIPアドレスは10.0.53.1である。
<Operation when
An operation when the
-No flow entry is stored in the flow
-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
続いて、通信処理部40のパケット処理部402は当該DNSクエリを受信し、フローテーブル記憶部403を参照し、対応するフローエントリの有無を確認する(ステップS172)。ステップS172の時点において、フローテーブル記憶部403は空であるため、対応するフローエントリは見つからない。
Subsequently, the
続いて、通信処理部40のパケット処理部402は、DNSクエリと一致するフローエントリが無いため、当該DNSクエリを制御チャネル処理部401に通知し、制御チャネル処理部401は対応するパケット通知を通信制御部10に送信する(ステップS173)。
Subsequently, since there is no flow entry that matches the DNS query, the
続いて、通信制御部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
続いて、通信制御部10の制御処理部101は、ステップS174において生成されたフローエントリを通信処理部40に設定すると同時に、対応するDNSクエリに対し当該フローエントリに基づく処理を適用するよう指示する(ステップS175)。
Subsequently, the
続いて、通信処理部40の制御チャネル処理部401は、通知(設定)されたフローエントリをフローテーブル記憶部403に記憶させる(ステップS176)。
Subsequently, the control
続いて、通信処理部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
続いて、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
続いて、通信処理部40のパケット処理部402は、ステップS179で発見したフローエントリに基づきDNSレスポンスを処理する(ステップS180)。具体的には、パケットが図8Bの項番6のフローエントリにマッチするため、当該フローエントリのアクションを実行する。すなわち、パケット処理部402は、DNSレスポンスの送信先IPアドレスを192.168.254.1(DNSクエリの当初の送信元IPアドレス)に変更した後、内部通信IF部60に出力する。そうすると、通信利用部70がDNSレスポンスを受信する。
Subsequently, the
このように、制御処理部101は、パケット通知の処理に際しパケット通知に含まれる情報のみで制御ポリシとの照合が可能な場合、通信中継特徴抽出部20による中継を行うことなく、当該パケット通知を処理する。
As described above, the
以上説明したように、第1の実施形態によれば、通信制御部10は、通信利用部70による通信(中継元通信)に適用する制御ポリシの決定を通信処理部40からのパケット通知による情報のみからでは行えない場合、当該通信を通信中継特徴抽出部20が中継できるよう通信処理部40を制御する。通信中継特徴抽出部20は、中継元通信から受信したデータを基にその通信の特徴を抽出し通信情報記憶部30に記憶させるとともに、中継先通信を行い、中継元通信と中継先通信との間でデータの中継を行う。通信制御部10は、通信情報記憶部30を参照し、中継元通信の情報、抽出された通信の特徴、および中継先通信の情報を基に、当該中継先通信に適用する制御ポリシを決定し、決定された制御ポリシに基づき通信処理部40を制御する。
As described above, according to the first embodiment, the
よって、本実施形態によれば、通信処理部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
また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20がHTTPを中継する例を示したが、本発明はこれに限定されるものではない。他の例として、HTTPSを中継してもよい。また、通信中継特徴抽出部20は、受信したパケットが属するフローに応じて、中継先フローの数を変更してもよい。
In the description of the communication system according to the present embodiment, an example in which the communication relay
また、本実施形態に係る通信システムの説明では、通信の特徴として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
また、本実施形態に係る通信システムの説明では、ステップS147において、制御処理部101が制御ポリシ照合に必要な情報を通信情報記憶部30に記憶させる例を示したが、本発明はこれに限定されるものではない。他の例として、制御処理部101が制御ポリシ照合に必要な情報を通信情報記憶部30に記憶させず、通信中継特徴抽出部20は中継元コネクションを受け付けると、当該コネクションにおいて自身が抽出できるすべての特徴の抽出を行い、通信情報記憶部30に記憶させてもよい。
In the description of the communication system according to the present embodiment, an example in which the
また、本実施形態に係る通信システムの説明では、制御処理部101が中継元コネクションのサーバ2側IPアドレスおよびポート番号の変更に関する情報を通信情報記憶部30に記憶させ、通信中継特徴抽出部20は通信情報記憶部30を参照することでそれらの情報を取得する例を示したが、本発明はこれに限定されるものではない。他の例として、通信処理部40にアドレス変換処理時にアドレス変更情報をパケットに付加する機能を具備させ、制御処理部101は当該機能を利用するよう通信処理部40を制御し、通信中継特徴抽出部20はパケットに付加されたアドレス変更情報を参照するようにしてもよい。
In the description of the communication system according to the present embodiment, the
また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部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
また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部20は中継元コネクションの中継先を中継元コネクションから受信した情報を基に決定する例を示したが、本発明はこれに限定されるものではない。他の例として、例えば、中継先の情報は制御ポリシ記憶部102に記憶される制御ポリシに含まれてもよい。通信中継特徴抽出部20は制御ポリシ記憶部102を直接参照して当該情報を取得してもよいし、制御処理部101が当該情報を通信情報記憶部30に記憶させ、通信中継特徴抽出部20は通信情報記憶部30に記憶された当該情報を参照してもよい。
In the description of the communication system according to the present embodiment, the communication relay
また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部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
また、本実施形態に係る通信システムの説明では、通信制御部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
When the packet destination IP address is not used within the
また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部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
また、本実施形態に係る通信システムの説明では、通信中継特徴抽出部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
また、本実施形態に係る通信システムの説明では、通信制御部10は、中継元コネクションの制御ポリシと照合に通信の特徴が必要となる場合に通信中継特徴抽出部20に当該コネクションの処理をさせる例を示したが、本発明はこれに限定されるものではない。他の例として、通信制御部10は、例えば、通信の記録を収集する等の目的で、通信中継特徴抽出部20に中継元コネクションの処理をさせてもよい。これは、通信制御部10が中継元コネクションを通信中継特徴抽出部20に処理させるか否かの判定条件を、通信制御部10に与えることで実現できる。当該条件は、制御ポリシ記憶部102に制御ポリシの形で記憶されてもよい。また、当該条件は、通信端末1以外の装置から与えられてもよい。
Further, in the description of the communication system according to the present embodiment, the
また、本実施形態に係る通信システムの説明では、通信端末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
また、本実施形態に係る通信システムの説明では、通信端末1は二つの通信IF部50を具備する例を示したが、本発明はこれに限定されるものでなく、通信端末1は一つもしくは3以上の通信IF部50を具備してもよい。
In the description of the communication system according to the present embodiment, the
また、本実施形態に係る通信システムの説明では、通信利用部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
また、本実施形態に係る通信システムの説明では、中継元コネクションに関し通信利用部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
(実施形態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
本実施形態に係る通信システムでは、TCPスプライシングに代表される、ヘッダ変換処理による複数通信間(複数コネクション間)のデータ中継を行うデータ中継部80を設け、中継元通信と中継先通信との間のデータ中継の一部もしくは全部をデータ中継部80により行う。
In the communication system according to the present embodiment, a
データ中継部80は、例えば、通信端末1のOS(図示されない)の一部としてソフトウェアとして実装されてもよいし、ハードウェアとして実装されてもよい。データ中継部80によりデータ中継を行うことで、通信中継特徴抽出部20が中継を行うよりも転送性能や転送遅延を改善することができる。
For example, the
以下、本実施形態に係る通信システムの構成および動作について、第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
データ中継部80は、ヘッダ変換処理による複数通信間(複数コネクション間)のデータ中継を行う。データ中継部80は、TCP通信に関し、ヘッダ変換処理としてTCPスプライシングを行う。データ中継部80は、要求元(例えば通信中継特徴抽出部20)から2つのTCP接続のデータ中継を要求されると、当該TCP接続間(中継元と中継先の間)でのデータ中継を開始する。データ中継部80は、データ中継に係る情報として、例えば以下の情報の一部もしくはすべてを受け取る。
・送信元IPアドレス、送信先IPアドレス
・送信元ポート番号、送信先ポート番号
・中継開始位置(シーケンス番号、Ack番号)
・中継元コネクションで受信済のデータ
・中継先コネクションに送信済のデータ
The 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
・ 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
次に、本実施形態による通信システムの動作について、第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
通信中継特徴抽出部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
以上説明したように、本発明の第2の実施形態によれば、通信中継特徴抽出部20はデータ中継をデータ中継部80に委譲し、データ中継部80はヘッダ変換処理によるデータ中継を行う。
As described above, according to the second embodiment of the present invention, the communication relay
よって、本実施形態によれば、第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
また、本実施形態に係る通信システムの説明では、データ中継部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
(実施形態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
本実施形態に係る通信システムでは、通信中継特徴抽出部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
以下、本実施形態に係る通信システムの構成および動作について、第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
図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
続いて、通信制御部10の制御処理部101は、通信中継特徴抽出部20の要求を受け、要求された通信に対する処理を決定する(ステップS302)。その動作は、以下の違いを除き、図7を用いて説明した第1の実施形態における制御処理部101と同様である。
Subsequently, the
図7のステップS148において、第3の実施形態における制御処理部101は、選択した制御ポリシで指定された処理を実行するためのフローエントリを作成する代わりに、通信中継特徴抽出部20への応答を作成する。なお、この応答の内容は、フローエントリと同様の内容でもよい。すなわち、制御処理部101は、通信中継特徴抽出部20への応答として、フローエントリを通知してもよい。
In step S148 of FIG. 7, the
制御処理部101は、指定された処理が"指定されたIFを使用して通信"であった場合、例えば、"指定されたIFを使用する"という応答を作成する。
When the designated process is “communication using the designated IF”, for example, the
制御処理部101は、通信に使用するIFが複数指定されていた場合、優先度の高いものから順に指定されたIFが利用可能かを調べ、最初に利用可能であったIFに関し、前述のような応答を作成してよい。制御処理部101は、IFが利用可能か否かを、例えば、当該IFが存在するか否か、リンクアップしているか否か、IPアドレスが構成されているか否か、等によって判断してよい。
When a plurality of IFs to be used for communication are designated, the
制御処理部101は、指定された処理が"破棄する"であった場合、例えば、"破棄する"という応答を作成する。
If the designated process is “discard”, the
本例では、当該中継先コネクションは制御ポリシ12に適合すると判定され、"通信IF部50−2を使用する"という応答が作成される。
In this example, it is determined that the relay destination connection conforms to the
図14Bにおいて、通信制御部10の制御処理部101は、ステップS302で作成した応答を通信中継特徴抽出部20に通知する(ステップS303)。
14B, the
続いて、通信中継特徴抽出部20は、ステップS303で通知された処理方法により、ステップS114で決定された中継先に対TCP接続要求を送信する(ステップS304)。本例では、通信中継特徴抽出部20は、通信処理部40を介さずに、直接、通信IF部50−2を用いてTCP接続要求を送信する。なお、通信中継特徴抽出部20は、ステップS303において"破棄する"という処理方法を通知された場合、中継処理を終了してよい。
Subsequently, the communication relay
続いて、サーバ2は、受信したTCP接続要求に対するTCP接続応答を送信する(ステップS305)。当該TCP接続応答は、通信IF部50−2から、直接、通信中継特徴抽出部20により受信される。
Subsequently, the
この時点で、通信中継特徴抽出部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
続いて、サーバ2は、受信したリクエストおよびヘッダに対するレスポンスおよびヘッダを送信する(ステップS307)。当該レスポンスおよびヘッダは、通信IF部50−2から、直接、通信中継特徴抽出部20により受信される。
Subsequently, the
ステップ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
よって、本発明の第3の実施形態によれば、通信処理部40の負荷を軽減することができる。
Therefore, according to the third embodiment of the present invention, the load on the
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 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
(付記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
(付記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
(付記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
(付記6)
前記通信処理部は前記データ中継部を包含する、
ことを特徴とした付記1から付記5のうちのいずれか1項に記載の通信システム。
(Appendix 6)
The communication processing unit includes the data relay unit;
The communication system according to any one of
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
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のメッセージに基づいた、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の通信装置から受信したパケットを処理する通信処理部と、
前記受信したパケットを中継元と中継先の間で中継するとともに、前記中継するトラフィックの特徴を抽出する通信中継特徴抽出部と、
前記受信したパケットと前記抽出したトラフィックの特徴に基づき、前記処理規則として、前記中継元から前記中継先へ中継後の中継先フローを処理する中継先処理規則を作成する通信制御部と、
を備える通信システム。 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:
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)
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 |
-
2013
- 2013-06-04 JP JP2013117896A patent/JP2014236423A/en active Pending
Cited By (1)
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 |