JP2015095789A - Communication terminal, communication method and communication program - Google Patents

Communication terminal, communication method and communication program Download PDF

Info

Publication number
JP2015095789A
JP2015095789A JP2013234563A JP2013234563A JP2015095789A JP 2015095789 A JP2015095789 A JP 2015095789A JP 2013234563 A JP2013234563 A JP 2013234563A JP 2013234563 A JP2013234563 A JP 2013234563A JP 2015095789 A JP2015095789 A JP 2015095789A
Authority
JP
Japan
Prior art keywords
communication
packet
unit
address
control
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
JP2013234563A
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 JP2013234563A priority Critical patent/JP2015095789A/en
Publication of JP2015095789A publication Critical patent/JP2015095789A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a communication terminal capable of correctly operating communication even for communication inappropriate to address conversion, when performing communication to separately use each of a plurality of communication interfaces by address conversion.SOLUTION: A communication control unit 82 selects a communication interface unit 81 for use in packet transmission and reception from among a plurality of communication interfaces 81, to perform control to convert a source address, included in a packet, into an address usable in the selected communication interface unit. A source address control unit 83 detects or predicts the occurrence of target communication inappropriate to address conversion by the communication control unit 82, to perform control to set a source address, which does not change before and after the address conversion on the target communication packet by the communication control unit 82, to the target communication packet, prior to the address conversion.

Description

本発明は、複数の通信インタフェースを利用した通信を制御する通信端末、通信方法および通信プログラムに関する。   The present invention relates to a communication terminal, a communication method, and a communication program that control communication using a plurality of communication interfaces.

近年、携帯電話等の通信端末の高機能化に伴い、複数の通信インタフェースを備えた通信端末が普及している。そのような通信インタフェースの一例として、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), WiMAX (Worldwide Interoperability Access) and other registered trademarks.

通信網が通信に利用できるリソースは有限であるため、通信が集中すると輻輳が発生し性能劣化やサービス停止が発生するおそれがある。それは、特に前述したような無線通信網においてより顕著である。   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 the communication terminal has multiple communication interfaces, it is possible to avoid congestion and congestion of the communication network and achieve better communication quality by using different communication interfaces depending on the communication contents. become.

通信端末単体で通信の内容によって使用される通信インタフェースを使い分ける方法の一つとして、通信されるパケットのヘッダ内の通信端末側アドレスに対しNAT(Netowrk Address Translation、ネットワークアドレス変換)を適用する方法がある(非特許文献1参照。)。非特許文献1に記載された方法では、まず、通信端末から送信されようとするパケットについて、送信に使用すべき通信インタフェースを選択する。その後、パケットの送信元アドレスであるソースアドレスを、選択された通信インタフェース用に変換(NAT)した上で、そのパケットを選択された通信インタフェースから送信する。   As one method of properly using a communication interface used depending on the content of communication in a single communication terminal, a method of applying NAT (Network Address Translation) to a communication terminal side address in a header of a packet to be communicated. Yes (see Non-Patent Document 1). In the method described in Non-Patent Document 1, a communication interface to be used for transmission is first selected for a packet to be transmitted from a communication terminal. Thereafter, the source address which is the source address of the packet is converted (NAT) for the selected communication interface, and then the packet is transmitted from the selected communication interface.

通信端末が受信するパケットに対しては、送信先アドレスの逆変換が行われる。通信端末が送信するパケットにNATを適用しない場合、そのパケットは、選択された通信インタフェースが接続されているネットワークにおいて不適切なソースアドレスと判断され、正しく通信が行えなくなるおそれがある。   For the packet received by the communication terminal, the destination address is reversely converted. When NAT is not applied to a packet transmitted by a communication terminal, the packet is determined to be an inappropriate source address in the network to which the selected communication interface is connected, and communication may not be performed correctly.

選択された通信インタフェースからパケットを送受信する際、その通信インタフェースに設定されたアドレスを利用してNATを実施することで、アンカ装置やトンネリング装置等の対向装置が不要になる。そのため、通信端末単体で複数の通信インタフェースを使い分けすることが可能になる。   When a packet is transmitted / received from the selected communication interface, the opposite device such as an anchor device or a tunneling device becomes unnecessary by performing NAT using the address set in the communication interface. Therefore, it is possible to use a plurality of communication interfaces properly with a single communication terminal.

狩野秀一、他3名、「事業者による移動端末制御へのOpenFlowの適用」、電子情報通信学会技術研究報告(信学技報)、Vol. 111、No.468、NS2011-201、pp.123-128、2012年 3月Shuichi Kano and three others, “Application of OpenFlow to Mobile Terminal Control by Business Operators”, IEICE Technical Report (Science Technical Report), Vol. 111, No. 468, NS2011-201, pp.123 -128, March 2012

一方、NATを適用した場合に、正常に動作しない通信も存在する。NATが適用された場合に正常に動作しない通信の一例として、SIP(Session Initination Protocol)プロトコルやFTP(File Transfer Protocol)プロトコル、UPnP(Universal Plug and Play)プロトコルやDLNA(Digital Living Network Alliance)が定める通信仕様などがある。   On the other hand, there is communication that does not operate normally when NAT is applied. As an example of communication that does not operate normally when NAT is applied, SIP (Session Initiation Protocol) protocol, FTP (File Transfer Protocol) protocol, UPnP (Universal Plug and Play) protocol and DLNA (Digital Living Network) are defined. There are communication specifications.

これらのプロトコルでは、通信に使用されるアドレスがパケットのヘッダ部分だけでなくデータ部分にも含まれて通信される。そのため、パケットにNATが適用されヘッダ部分のアドレスが変更された場合、ヘッダ部分のアドレスとデータ部分のアドレスに差異が生じ、そのパケットを使用するプロトコルや通信の処理が失敗することとなる。   In these protocols, the address used for communication is included in the data portion as well as the header portion of the packet for communication. Therefore, when NAT is applied to a packet and the address of the header part is changed, a difference occurs between the address of the header part and the address of the data part, and the protocol or communication process using the packet fails.

NATが適用される場合に通信を正しく動作させるための方法として、例えば、NATトラバーサルなどの技術も知られている。しかし、この方法を用いる場合、通信を実行するモジュール(クライアントやサーバ等)に拡張する必要があったり、中継装置やプロキシ装置などの追加装置が必要になったりするという問題がある。   As a method for correctly operating communication when NAT is applied, for example, a technique such as NAT traversal is also known. However, when this method is used, there is a problem that it is necessary to expand to a module (client, server, etc.) that performs communication, or an additional device such as a relay device or a proxy device is required.

そこで、本発明は、アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる通信端末、通信方法および通信プログラムを提供することを目的とする。   Therefore, the present invention provides a communication terminal, a communication method, and a communication capable of correctly operating a communication that is not suitable for address conversion when performing communication that uses a plurality of communication interfaces by performing address conversion. The purpose is to provide a program.

本発明による通信端末は、複数の通信インタフェース部と、パケットの送受信に使用する通信インタフェース部を選択し、パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御部と、通信制御部によるアドレスの変換が適さない対象通信の発生を検知または予測し、通信制御部による対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に対象通信のパケットに設定させる制御を行うソースアドレス制御部とを備えたことを特徴とする。   The communication terminal according to the present invention selects a plurality of communication interface units and a communication interface unit used for packet transmission / reception, and converts the source address included in the packet into an address usable by the selected communication interface unit. Detecting or predicting the occurrence of target communication that is not suitable for address conversion by the communication control unit and the communication control unit, and setting the source address that does not change before and after address conversion for the packet of the target communication by the communication control unit And a source address control unit that performs control for setting the packet of the target communication before conversion.

本発明による通信方法は、複数の通信インタフェース部の中から、パケットの送受信に使用する通信インタフェース部を選択し、パケットに含まれるソースアドレスを、選択された通信インタフェース部で利用可能なアドレスに変換する制御を行い、アドレスの変換が適さない対象通信の発生を検知または予測し、対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に対象通信のパケットに設定させる制御を行うことを特徴とする。   In the communication method according to the present invention, a communication interface unit used for packet transmission / reception is selected from a plurality of communication interface units, and a source address included in the packet is converted into an address usable by the selected communication interface unit. Detects or predicts the occurrence of target communication that is not suitable for address conversion, and changes the source address that does not change before and after address conversion to the target communication packet to the target communication packet before the address conversion. Control to be set is performed.

本発明による通信プログラムは、コンピュータに、複数の通信インタフェース部の中から、パケットの送受信に使用する通信インタフェース部を選択し、パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御処理、および、通信制御処理におけるアドレスの変換が適さない対象通信の発生を検知または予測し、通信制御処理における対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に対象通信のパケットに設定させる制御を行うソースアドレス制御処理を実行させることを特徴とする。   A communication program according to the present invention selects a communication interface unit to be used for transmission / reception of a packet from a plurality of communication interface units, and uses a source address included in the packet as an address that can be used by the selected communication interface unit. A communication control process that performs control to convert to, and a source that detects or predicts the occurrence of target communication that is not suitable for address conversion in the communication control process, and does not change before and after address conversion for the packet of the target communication in the communication control process Source address control processing for performing control to set the address in the packet of the target communication before the conversion of the address is performed.

本発明によれば、アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる。   According to the present invention, when performing communication that uses a plurality of communication interfaces by performing address conversion, the communication can be correctly operated even for communication that is not suitable for address conversion.

本発明の通信端末が適用される通信システムの構成例を示す説明図である。It is explanatory drawing which shows the structural example of the communication system with which the communication terminal of this invention is applied. 本発明による通信端末の一実施形態を示すブロック図である。It is a block diagram which shows one Embodiment of the communication terminal by this invention. 通信制御部10の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a communication control unit 10. FIG. 通信処理部20の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a communication processing unit 20. FIG. ソースアドレス制御部40の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a source address control unit 40. FIG. 本実施形態における通信ネットワーク3−1の構成の具体例を示す説明図である。It is explanatory drawing which shows the specific example of a structure of the communication network 3-1 in this embodiment. 各装置のMACアドレスおよびIPアドレスの例を示す説明図である。It is explanatory drawing which shows the example of the MAC address and IP address of each apparatus. 制御ポリシのリストの例を示す説明図である。It is explanatory drawing which shows the example of the list | wrist of a control policy. 通信システムの動作例を示すフローチャートである。It is a flowchart which shows the operation example of a communication system. 通信システムの動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of a communication system. 通信制御部10の動作例を示すフローチャートである。3 is a flowchart illustrating an operation example of a communication control unit 10. フローエントリの例を示す説明図である。It is explanatory drawing which shows the example of a flow entry. 本発明による通信端末の概要を示すブロック図である。It is a block diagram which shows the outline | summary of the communication terminal by this invention.

以下、本発明の実施形態を図面を参照して説明する。図1は、本発明の通信端末が適用される通信システムの構成例を示す説明図である。図1に例示する通信システムは、通信端末1と、サーバ2と、通信ネットワーク3−1〜3−3とを備えている。なお、図1に示すこれらの構成要素の数や接続関係は一例であり、本発明はこの構成に限定されるものではない。以下の説明では、通信端末1とサーバ2を、それぞれ、第1の通信装置、第2の通信装置と記すことがある。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is an explanatory diagram showing a configuration example of a communication system to which a communication terminal of the present invention is applied. The communication system illustrated in FIG. 1 includes a communication terminal 1, a server 2, and communication networks 3-1 to 3-3. Note that the numbers and connection relationships of these components shown in FIG. 1 are merely examples, and the present invention is not limited to this configuration. In the following description, the communication terminal 1 and the server 2 may be referred to as a first communication device and a second communication device, respectively.

通信端末1は、通信ネットワーク3−1および通信ネットワーク3−2と同時に接続し通信することができ、これらの通信ネットワークや、他の通信ネットワークである通信ネットワーク3−3を介してサーバ2と通信を行う。通信端末1は、例えば、サーバ2のサービスを利用するクライアント端末であるが、その他、サーバ2と通信する任意の通信装置であってもよい。   The communication terminal 1 can connect and communicate simultaneously with the communication network 3-1 and the communication network 3-2, and communicates with the server 2 via these communication networks and the communication network 3-3 that is another communication network. I do. 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は、通信端末1の通信相手であり、その一例としてWebサーバ、メールサーバ、ビデオサーバ、等が挙げられる。ただし、本発明におけるサーバ2は、これらに限定されない。また、以下の説明では、通信端末1の通信相手がサーバ2である場合を例に説明するが、本発明はこの構成に限定されない。通信端末1の通信相手は、通信端末1と通信可能な装置であればよく、その形態は、サーバの他、端末、携帯電話、パーソナルコンピュータ、家電などであってもよい。   The server 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. Moreover, in the following description, the case where the communication partner of the communication terminal 1 is the server 2 will be described as an example, but the present invention is not limited to this configuration. The communication partner of the communication terminal 1 only needs to be a device that can communicate with the communication terminal 1, and the form may be a terminal, a mobile phone, a personal computer, a household appliance, or the like in addition to the server.

通信ネットワーク3−1および通信ネットワーク3−2は、通信端末1に接続され、通信端末1と、自ネットワーク内に接続された装置または他のネットワークとの間の通信を中継する。また、通信ネットワーク3−3は、サーバ2に接続され、通信端末1とサーバ2との間の通信を中継する。   The communication network 3-1 and the communication network 3-2 are connected to the communication terminal 1 and relay communication between the communication terminal 1 and a device connected to the own network or another network. The communication network 3-3 is connected to the server 2 and relays communication between the communication terminal 1 and the server 2.

通信ネットワーク3−1〜3−3は有線ネットワークであってもよいし、無線ネットワークであってもよい。有線ネットワークの一例として、Ethernet(登録商標)、専用線が挙げられる。無線ネットワークの一例として、3G、LTE、無線LAN、WiMAX、PHS(Personal Handy−phone System)が挙げられる。   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).

通信ネットワーク3−1〜3−3は、それぞれ別の種類のネットワークでもよいし、同じ種類のネットワークでもよい。例えば、通信ネットワーク3−1及び3−2の一方を3Gとし、他方を無線LANとしてもよい。   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は、通信制御部10と、通信処理部20と、通信IF(Interface)部30−1〜30−2と、ソースアドレス制御部40と、内部通信IF部50と、通信利用部60−1〜mと、プロトコルスタック部70とを備えている。なお、図2は、通信端末1の機能ブロック(処理部もしくはモジュール)の一例であり、本実施形態の動作が実現できれば、その他の構成であってもよい。なお、後述する図3及び図4に例示する構成についても同様である。   FIG. 2 is a block diagram showing an embodiment of a communication terminal according to the present invention. The communication terminal 1 of the present embodiment includes a communication control unit 10, a communication processing unit 20, communication IF (Interface) units 30-1 to 30-2, a source address control unit 40, an internal communication IF unit 50, Communication utilization units 60-1 to 60-m and a protocol stack unit 70 are provided. 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 the present embodiment can be realized. The same applies to the configurations illustrated in FIGS. 3 and 4 described later.

通信制御部10は、通信処理部20による通信処理を制御する。後述するように、通信制御部10は、制御ポリシに基づいてフローエントリ(処理規則)を作成することで、通信処理部20の処理を制御する。なお、本実施形態では、通信制御部10が、通信端末1の内部で通信処理部20を制御する制御部である場合を例に説明するが、通信制御部10は、通信端末1の外部でネットワーク等を介して通信処理部20を制御する制御装置であってもよい。すなわち、本実施形態の通信端末1は、複数の装置から構成されるシステムであってもよい。   The communication control unit 10 controls communication processing by the communication processing unit 20. As will be described later, the communication control unit 10 controls the processing of the communication processing unit 20 by creating a flow entry (processing rule) based on the control policy. In the present embodiment, a case where the communication control unit 10 is a control unit that controls the communication processing unit 20 inside the communication terminal 1 will be described as an example. However, the communication control unit 10 is outside the communication terminal 1. It may be a control device that controls the communication processing unit 20 via a network or the like. That is, the communication terminal 1 of the present embodiment may be a system composed of a plurality of devices.

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

プロトコルスタック部70は、通信プロトコル群を処理するモジュールである。プロトコルスタック部70は、例えば、OSI(Open Systems Interconnection)参照モデルやTCP/IP(Transmission Control Protocol/Internet Protocol)参照モデルのネットワーク層およびトランスポート層に相当するプロトコル群を処理する。   The protocol stack unit 70 is a module that processes a communication protocol group. The protocol stack unit 70 processes, for example, a protocol group corresponding to a network layer and a transport layer of an OSI (Open Systems Interconnection) reference model and a TCP / IP (Transmission Control Protocol / Internet Protocol) reference model.

プロトコルスタック部70は、階層化された通信プロトコルの一部または全部を処理するプロトコルスタックである。プロトコルスタック部70は、少なくとも、通信IF部30−1〜30−2よりも上位レイヤの通信プロトコルを処理する。プロトコルスタック部70は、上位レイヤの通信を行うアプリケーション(上位レイヤアプリケーション)である通信利用部60−1〜mに対し、例えば、ソケット(Socket)インタフェースによる通信機能を提供する。   The protocol stack unit 70 is a protocol stack that processes part or all of the layered communication protocols. The protocol stack unit 70 processes at least a communication protocol of a higher layer than the communication IF units 30-1 to 30-2. The protocol stack unit 70 provides, for example, a communication function using a socket interface to the communication using units 60-1 to 60-m, which are applications (upper layer applications) that perform upper layer communication.

プロトコルスタック部70は、上述するネットワーク層およびトランスポート層の処理をスキップして通信を行う機能(例えばRawソケット)を有していてもよい。プロトコルスタック部70は、例えば、ソケットインタフェースを通じ、上位レイヤアプリケーションに対し、送受信する通信を特定のアドレス、ポート、通信インタフェースに固定する(限定する、バインドする)機能(バインド機能)を有していてもよい。このバインド機能は、ソケットごとに動作させてもよい。プロトコルスタック部70は、例えば、ソケットインタフェースを通じ、上位レイヤアプリケーションが通信に使用したアドレス、ポート、通信インタフェースを取得する機能を有していてもよい。   The protocol stack unit 70 may have a function (for example, a Raw socket) for performing communication by skipping the processing of the network layer and the transport layer described above. The protocol stack unit 70 has a function (bind function) that fixes (limits, binds) communication to be sent and received to a higher layer application to a specific address, port, and communication interface through a socket interface, for example. Also good. This binding function may be operated for each socket. For example, the protocol stack unit 70 may have a function of acquiring an address, a port, and a communication interface used by an upper layer application for communication through a socket interface.

通信IF部30−1〜30−2は、それぞれ通信ネットワーク3−1および通信ネットワーク3−2に接続し、パケットの送受信を行う。通信IF部30−1〜30−2は、それぞれ接続する通信ネットワーク3−1および3−2の通信プロトコル(例えば、レイヤ1)に準拠した物理インタフェースである。   Communication IF units 30-1 to 30-2 are connected to communication network 3-1 and communication network 3-2, respectively, and transmit and receive packets. The communication IF units 30-1 to 30-2 are physical interfaces compliant with communication protocols (for example, layer 1) of the communication networks 3-1 and 3-2 to be connected.

ソースアドレス制御部40は、NATが適用されると支障が発生する通信に対しNATが適用されないよう、通信利用部60−1〜mが通信に使用するソースアドレスを制御する。以下、このような制御のことをソースアドレス制御と記す。なお、ソースアドレス制御部40の動作については後述される。   The source address control unit 40 controls the source addresses used for communication by the communication using units 60-1 to 60-m so that NAT is not applied to communication in which trouble occurs when NAT is applied. Hereinafter, such control is referred to as source address control. The operation of the source address control unit 40 will be described later.

内部通信IF部50は、通信端末1の内部の機能(処理部)間を接続するための内部インタフェースであり、通信端末1外の装置との物理的な接続を伴わない、仮想的な通信インタフェースである。内部通信IF部50は、これを利用し通信を行う通信利用部60−1〜mやプロトコルスタック部70に対し、一般的な物理通信IFと同様に振る舞う。ただし、内部通信IF部50で送受信されたパケットは、物理ネットワークに対して送受信されることなく、通信処理部20に対する入出力として扱われる。   The internal communication IF unit 50 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 50 behaves in the same manner as a general physical communication IF with respect to the communication use units 60-1 to 60-m and the protocol stack unit 70 that perform communication using the internal communication IF unit 50. However, packets transmitted / received by the internal communication IF unit 50 are handled as input / output to / from the communication processing unit 20 without being transmitted / received to / from the physical network.

通信利用部60−1〜mは、通信端末1内において通信を行うモジュールである。通信利用部60−1〜mは、例えば、通信処理部20を介して、外部のサーバ2にアクセスし、サーバ2が提供するサービスを利用するクライアント処理部である。   The communication using units 60-1 to 60-m are modules that perform communication within the communication terminal 1. The communication using units 60-1 to 60-m are client processing units that access the external server 2 via the communication processing unit 20 and use a service provided by the server 2, for example.

通信利用部60−1〜mの一例として、Webブラウザ、メールクライアント、ビデオストリーミングアプリケーション、SNS(Social Network Service)アプリケーション等が挙げられる。ただし、本発明のおける通信利用部60−1〜mの内容は、これらに限定されない。本実施形態では、通信利用部60−1〜mが行う通信には、内部通信IF部50が使われるものとする。この通信は、通信利用部60−1〜mによるソケットインタフェースを通じたプロトコルスタック部70への指示、またはプロトコルスタック部70への事前設定(例えば経路)によって実現できる。   Examples of the communication using units 60-1 to 60-m include a Web browser, a mail client, a video streaming application, a SNS (Social Network Service) application, and the like. However, the contents of the communication utilization units 60-1 to 60-m in the present invention are not limited to these. In the present embodiment, it is assumed that the internal communication IF unit 50 is used for communication performed by the communication using units 60-1 to 60-m. This communication can be realized by an instruction to the protocol stack unit 70 through the socket interface by the communication using units 60-1 to 60-m, or a preset (for example, a route) to the protocol stack unit 70.

図3は、通信制御部10の構成例を示すブロック図である。図3に示すように、通信制御部10は、制御処理部101と、制御ポリシ記憶部102とを備えている。   FIG. 3 is a block diagram illustrating a configuration example of the communication control unit 10. 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に記憶された情報を利用し、通信処理部20による通信処理を制御する。   The control processing unit 101 uses the information stored in the control policy storage unit 102 to control communication processing by the communication processing unit 20.

制御処理部101は、後述する通信処理部20の制御チャネル処理部201との間で制御用通信(制御チャネル)を行う。制御処理部101は、制御チャネルを通じて、処理が必要なパケットの通知(パケット通知)を通信処理部20から受け取ると、制御ポリシ記憶部102に記憶された制御ポリシとそのパケットを照合する。   The control processing unit 101 performs control communication (control channel) with a control channel processing unit 201 of the communication processing unit 20 described later. When the control processing unit 101 receives a notification of a packet that needs to be processed (packet notification) from the communication processing unit 20 through the control channel, the control processing unit 101 collates the control policy stored in the control policy storage unit 102 with the packet.

制御処理部101は、そのパケットの照合に成功し、適用する制御ポリシの決定に成功した場合、そのパケットが属する通信(フロー)に適用する処理を、その制御ポリシから決定する。制御処理部101は、その通信に適用する処理を決定した後、決定した処理を表す0または1以上のフローエントリ(処理規則)を生成し、制御チャネルを通じてそのフローエントリを通信処理部20に設定する。   When the control processing unit 101 succeeds in collating the packet and determines the control policy to be applied, the control processing unit 101 determines a process to be applied to the communication (flow) to which the packet belongs from the control policy. After determining the process to be applied to the communication, the control processing unit 101 generates 0 or 1 or more flow entries (processing rules) representing the determined process, and sets the flow entry in the communication processing unit 20 through the control channel. To do.

制御ポリシ記憶部102は、制御ポリシのリストを記憶する。制御ポリシとは、制御処理部101が、発生した通信に適用する処理を決定するために用いる情報である。制御ポリシは、少なくとも、その制御ポリシの適用対象である通信(トラフィック、フロー)を指定するトラフィック条件と、その制御ポリシが適用される際に実行すべき処理とを含む。制御ポリシは、優先度を含んでいてもよい。なお、本実施形態では、制御ポリシ記憶部102が、通信制御部10内部の記憶部である場合を例に説明するが、制御ポリシ記憶部102は、通信端末1内部のその他の部分の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。   The control policy storage unit 102 stores a list of control policies. The control policy is information used by 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 processing to be executed when the control policy is applied. The control policy may include priority. In this embodiment, a case where the control policy storage unit 102 is a storage unit inside the communication control unit 10 will be described as an example. However, the control policy storage unit 102 is a storage unit of other parts inside the communication terminal 1. It may be a storage device external to the communication terminal 1.

制御ポリシのトラフィック条件は、例えば、以下の項目を含む。一つの制御ポリシに含まれるトラフィック条件は、一つでも複数でもよく、また、それらの条件は、ANDで結合(AND条件)されたりOR(OR条件)で結合されたりしていてもよい。また、トラフィック条件は、完全一致でも部分一致でもよい。
・送信元IPアドレス
・送信先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 these conditions may be combined with AND (AND condition) or OR (OR condition). Further, the traffic condition may be complete match or partial match.
-Source IP 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群のすべてを使用して通信する。
・パケット中の指定されたフィールドを指定された値に変更する。
・指定されたサーバもしくはモジュールに転送する。
・指定されたフローエントリを通信処理部20に設定する。
・破棄する。
The process of the control policy includes the following items, for example. One or a plurality of 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 20.
・ Destroy.

なお、上述した制御ポリシのトラフィック条件および処理は一例であり、本発明に適用される条件や処理は、これらに限定されない。また、制御ポリシ記憶部102が記憶する制御ポリシは、予め与えられておいてもよいし、制御ポリシサーバ(図示せず)などの通信端末1以外の装置から受信されてもよい。   The control policy traffic conditions and processing described above are examples, and the conditions and processing applied to the present invention are 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は、通信処理部20の構成例を示すブロック図である。図4に示すように、通信処理部20は、制御チャネル処理部201と、パケット処理部202と、フローテーブル記憶部203とを備えている。   FIG. 4 is a block diagram illustrating a configuration example of the communication processing unit 20. As illustrated in FIG. 4, the communication processing unit 20 includes a control channel processing unit 201, a packet processing unit 202, and a flow table storage unit 203.

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

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

フローテーブル記憶部203は、処理規則(フローエントリ)を含むフローテーブルを記憶する。処理規則(フローエントリ)は、制御チャネル処理部201によってフローテーブル記憶部203に記録される。本実施形態では、フローテーブル記憶部203が、通信処理部20内部の記憶部である場合を例に説明するが、フローテーブル記憶部203は、通信端末1内部のその他の部分の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。   The flow table storage unit 203 stores a flow table including processing rules (flow entries). The processing rule (flow entry) is recorded in the flow table storage unit 203 by the control channel processing unit 201. In the present embodiment, a case where the flow table storage unit 203 is a storage unit inside the communication processing unit 20 will be described as an example. However, the flow table storage unit 203 is a storage unit of other parts inside the communication terminal 1. Alternatively, a storage device outside the communication terminal 1 may be used.

パケット処理部202は、通信IF部30−1〜30−2や内部通信IF部50を介して、他の装置やモジュール(以下、まとめてエンティティと記す。)と接続され、接続されたエンティティとの間でパケットの送受信を行う。   The packet processing unit 202 is connected to other devices and modules (hereinafter collectively referred to as entities) via the communication IF units 30-1 to 30-2 and the internal communication IF unit 50, and the connected entities Send and receive packets.

パケット処理部202は、他の装置からパケットを受信すると、受信したパケットに対応するフローエントリをフローテーブル記憶部203に記憶されているフローテーブル内から検索する。受信したパケットに対応するフローエントリがフローテーブル内に見つかった場合、パケット処理部202は、そのフローエントリのアクションに従って処理を行う。一方、受信したパケットに対応するフローエントリがフローテーブルに見つからなかった場合、パケット処理部202は、受信したパケットのフローエントリが存在しない旨を制御チャネル処理部201に通知する。   When the packet processing unit 202 receives a packet from another device, the packet processing unit 202 searches the flow table stored in the flow table storage unit 203 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 202 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 202 notifies the control channel processing unit 201 that there is no flow entry for the received packet.

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

フローエントリのアクションに基づいてパケット処理部202が行う処理には、以下に例示する処理が挙げられる。また、パケット処理部202が行う処理は、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 202 based on the action of the flow entry include the processes exemplified below. Further, the number of processes performed by the packet processing unit 202 is not limited to one, and may be zero (that is, no process is performed) or two or more. Further, the process designated as the action of the flow entry is not limited to the following process.
-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.

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

図5は、ソースアドレス制御部40の構成例を示すブロック図である。図5に示すように、ソースアドレス制御部40は、ソースアドレス制御対象検出部401と、対象リスト記憶部402と、ソースアドレス制御処理部403とを備えている。   FIG. 5 is a block diagram illustrating a configuration example of the source address control unit 40. As illustrated in FIG. 5, the source address control unit 40 includes a source address control target detection unit 401, a target list storage unit 402, and a source address control processing unit 403.

ソースアドレス制御対象検出部401は、ソースアドレス制御が必要な通信の発生またはその予兆を検出し、ソースアドレス制御処理部403に対しソースアドレス制御の処理開始を指示する。   The source address control target detection unit 401 detects the occurrence or sign of communication requiring source address control, and instructs the source address control processing unit 403 to start processing of source address control.

この指示は、対象となる通信に係る情報(通信を行う通信利用部60−1〜mの識別子等)を含んでいてもよい。ソースアドレス制御対象検出部401は、ソースアドレス制御の要否の判定に、対象リスト記憶部402に記憶されている情報を利用する。   This instruction may include information related to the target communication (identifiers or the like of the communication using units 60-1 to 60-m that perform communication). The source address control target detection unit 401 uses information stored in the target list storage unit 402 to determine whether or not source address control is necessary.

対象リスト記憶部402は、ソースアドレス制御の対象となる通信を識別するための情報を記憶する。対象リスト記憶部402が記憶する情報は、予め与えられておいてもよいし、通信端末1以外の装置から受信されてもよい。   The target list storage unit 402 stores information for identifying communication targeted for source address control. Information stored in the target list storage unit 402 may be given in advance or may be received from a device other than the communication terminal 1.

ソースアドレス制御処理部403は、ソースアドレス制御の対象となる通信へのNAT適用が不要となるよう、その通信が使用すべきソースアドレスを決定し、プロトコルスタック部70に設定されている各構成の情報を変更する。ソースアドレス制御処理部403は、使用すべきソースアドレスを決定するため、制御処理部101を参照する。   The source address control processing unit 403 determines the source address to be used for the communication so that the NAT is not applied to the communication subject to the source address control, and the configuration of each component set in the protocol stack unit 70 is determined. Change information. The source address control processing unit 403 refers to the control processing unit 101 in order to determine a source address to be used.

ソースアドレス制御対象検出部401およびソースアドレス制御処理部403は、一例として、プログラム(通信プログラム)に従って動作するコンピュータのCPU(Central Processing Unit)によって実現することができる。また、ソースアドレス制御対象検出部401およびソースアドレス制御処理部403は、それぞれ、専用のハードウェアで実現されていてもよい。   As an example, the source address control target detection unit 401 and the source address control processing unit 403 can be realized by a CPU (Central Processing Unit) of a computer that operates according to a program (communication program). Further, the source address control target detection unit 401 and the source address control processing unit 403 may each be realized by dedicated hardware.

以下、具体的な通信ネットワークの構成を例示して、本実施形態の通信システムの動作を説明する。ただし、本発明の内容は、以下に例示する通信システムの態様に限定されない。   Hereinafter, the operation of the communication system of the present embodiment will be described by exemplifying a specific communication network configuration. However, the content of this invention is not limited to the aspect of the communication system illustrated below.

まず、通信ネットワーク3−1が無線LANネットワークであり、通信IF部30−1が無線LANインタフェースであり、通信IF部30−1が通信ネットワーク3−1に接続されるものとする。また、通信ネットワーク3−2が3Gネットワークであり、通信IF部30−2が3Gインタフェースであり、通信IF部30−2が通信ネットワーク3−2に接続されるものとする。   First, it is assumed that the communication network 3-1 is a wireless LAN network, the communication IF unit 30-1 is a wireless LAN interface, and the communication IF unit 30-1 is connected to the communication network 3-1. Further, it is assumed that the communication network 3-2 is a 3G network, the communication IF unit 30-2 is a 3G interface, and the communication IF unit 30-2 is connected to the communication network 3-2.

図6は、本実施形態における通信ネットワーク3−1の構成の具体例を示す説明図である。図6に示すように、本実施形態における通信ネットワーク3−1は、LAN(Local Area Network)3−1−1と、無線LAN基地局3−1−2と、ルータ3−1−3とを備えている。   FIG. 6 is an explanatory diagram showing a specific example of the configuration of the communication network 3-1 in the present embodiment. As shown in FIG. 6, the communication network 3-1 in this embodiment includes a LAN (Local Area Network) 3-1-1, a wireless LAN base station 3-1-2, and a router 3-1-3. I have.

無線LAN基地局3−1−2は、無線LANの基地局(アクセスポイント)であり、通信端末1の通信IF部30−1と無線LAN方式により接続し、通信IF部30−1とLAN3−1−1との間の通信を中継する。   The wireless LAN base station 3-1-2 is a wireless LAN base station (access point), and is connected to the communication IF unit 30-1 of the communication terminal 1 by a wireless LAN method. Relay communication with 1-1.

ルータ3−1−3は、LAN3−1−1と通信ネットワーク3−3との間で、TCP/IPプロトコルの通信を中継するルータである。   The router 3-1-3 is a router that relays TCP / IP protocol communication between the LAN 3-1-1 and the communication network 3-3.

本実施形態におけるプロトコルスタック部70は、TCP/IPスタックである。本実施形態におけるプロトコルスタック部70は、特に、IP、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、ICMP(Internet Control Message Protocol)およびARPを処理する。ただし、本発明で使用されるプロトコルは、これらに限定されない。   The protocol stack unit 70 in the present embodiment is a TCP / IP stack. In particular, the protocol stack unit 70 in this embodiment processes IP, TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ICMP (Internet Control Message Protocol), and ARP. However, the protocol used in the present invention is not limited to these.

プロトコルスタック部70は、通信インタフェース(通信IF部30−1〜30−2および内部通信IF部50)ごとに、その通信インタフェースで使用するIPアドレスを保持する。このIPアドレスは、プロトコルスタック部70に予め与えられてもよいし、動的に取得されたり更新されたりしてもよい。プロトコルスタック部70は、一つの通信インタフェースについて、複数のIPアドレスを保持することもできる。   The protocol stack unit 70 holds an IP address used for each communication interface (the communication IF units 30-1 to 30-2 and the internal communication IF unit 50). This IP address may be given in advance to the protocol stack unit 70, or may be dynamically acquired or updated. The protocol stack unit 70 can also hold a plurality of IP addresses for one communication interface.

プロトコルスタック部70は、送信するIPパケットの転送先を決定するための情報である経路表を保持する。プロトコルスタック部70が保持する経路表は、例えば、送信先IPアドレスと、その送信先IPアドレスが設定されたIPパケットの転送先装置のIPアドレスおよび転送に使用する通信インタフェースの識別子またはそれらのいずれかと、その経路が使用される場合に推奨されるソースアドレスとを含む。   The protocol stack unit 70 holds a routing table that is information for determining a transfer destination of an IP packet to be transmitted. The routing table held by the protocol stack unit 70 includes, for example, a destination IP address, an IP address of an IP packet transfer destination device in which the destination IP address is set, and an identifier of a communication interface used for transfer, or any of them And the recommended source address if the route is used.

送信先IPアドレスは、ネットワークアドレスおよびサブネットアドレスであってもよい。経路表は、プロトコルスタック部70に予め与えられてもよいし、動的に取得されたり更新されたりしてもよい。   The destination IP address may be a network address and a subnet address. The route table may be given in advance to the protocol stack unit 70, or may be dynamically acquired or updated.

プロトコルスタック部70は、送信するIPパケットのソースアドレスが未決定であった場合、そのIPパケットに使用するソースアドレスを決定する。送信するIPパケットのソースアドレスは、例えば、送信要求者によって指定されていない場合や、TCPのようなコネクション型通信のIPパケットであって、そのIPパケットがコネクション確立処理開始前のパケットである場合に未決定となる。   When the source address of the IP packet to be transmitted has not been determined, the protocol stack unit 70 determines the source address to be used for the IP packet. The source address of the IP packet to be transmitted is, for example, not specified by the transmission requester, or a connection type communication IP packet such as TCP, and the IP packet is a packet before the start of connection establishment processing Undecided.

プロトコルスタック部70は、例えば、IPパケットの送信に使用する経路に推奨ソースアドレスが設定されている場合、そのソースアドレスをIPパケットのソースアドレスに使用してもよい。また、推奨ソースアドレスが設定されていない場合、プロトコルスタック部70は、そのIPパケットを送信する通信IF部に設定されているIPアドレスを、そのIPパケットのソースアドレスに使用してもよい。また、そのIPパケットを送信する通信IF部に複数のIPアドレスが設定されている場合、プロトコルスタック部70は、その複数のIPアドレスの中からそのIPパケットの宛先アドレスと最もアドレスプレフィックスが一致するものを、そのIPパケットのソースアドレスに使用してもよい。   For example, when the recommended source address is set in the path used for transmitting the IP packet, the protocol stack unit 70 may use the source address as the source address of the IP packet. When the recommended source address is not set, the protocol stack unit 70 may use the IP address set in the communication IF unit that transmits the IP packet as the source address of the IP packet. When a plurality of IP addresses are set in the communication IF unit that transmits the IP packet, the protocol stack unit 70 matches the destination address of the IP packet most closely among the plurality of IP addresses. May be used for the source address of the IP packet.

本実施形態のソースアドレス制御部40は、各通信利用部60−1〜mの単位で、ソースアドレス制御対象の検出および制御を行う。   The source address control unit 40 according to the present embodiment detects and controls a source address control target in units of the communication using units 60-1 to 60-m.

本実施形態の対象リスト記憶部402は、制御対象とする通信利用部60−1〜mの識別子のリストを保持する。通信利用部60−1〜mの識別子には、例えば、通信利用部60−1〜mのプロセス名、アプリケーション名、プログラムファイル名のいずれかまたはこれらの組み合わせが用いられてもよい。   The target list storage unit 402 of this embodiment holds a list of identifiers of the communication using units 60-1 to 60-m to be controlled. For the identifiers of the communication using units 60-1 to 60-m, for example, any of process names, application names, program file names of the communication using units 60-1 to 60-m, or combinations thereof may be used.

本実施形態のソースアドレス制御対象検出部401は、制御対象の通信利用部60−1〜mの稼動開始をソースアドレス制御が必要な通信の予兆として扱う。すなわち、ソースアドレス制御対象検出部401は、対象リスト記憶部402に含まれる通信利用部60−1〜mが稼動を開始した場合、ソースアドレス制御処理部403に対してソースアドレス制御の処理開始を指示する。ソースアドレス制御対象検出部401は、稼動を開始した通信利用部60−1〜mの識別子をその指示に含める。ソースアドレス制御対象検出部401は、例えば、通信利用部60−1〜mを実行するプロセスが起動されたこと、または、通信利用部60−1〜mがフォアグランドプロセスもしくはアプリケーションとなったこと、または、これらの組合せを検知したときに、通信利用部60−1〜mが稼動を開始したと判断してもよい。   The source address control target detection unit 401 according to the present embodiment treats the start of operation of the control target communication using units 60-1 to 60-m as a sign of communication that requires source address control. That is, the source address control target detection unit 401 starts the source address control process for the source address control processing unit 403 when the communication using units 60-1 to 60-m included in the target list storage unit 402 start operation. Instruct. The source address control target detection unit 401 includes the identifiers of the communication use units 60-1 to 60-m that have started operation in the instruction. For example, the source address control target detection unit 401 has started a process that executes the communication using units 60-1 to 60-m, or the communication using units 60-1 to 60-m have become foreground processes or applications, Alternatively, when these combinations are detected, it may be determined that the communication using units 60-1 to 60-m have started operation.

ソースアドレス制御対象検出部401は、通信利用部60−1〜mが稼動を開始したことを判断するための情報を、通信端末1のシステム管理モジュール(図示せず。例えば、Operationg System(OS))から取得してよい。ソースアドレス制御対象検出部401は、ポーリングによりこの情報を取得してもよく、システム管理モジュールからのイベント通知としてこの情報を取得してもよい。   The source address control target detection unit 401 uses the system management module (not shown, for example, Operation System (OS)) of the communication terminal 1 to determine that the communication using units 60-1 to 60-m have started operation. ). The source address control target detection unit 401 may acquire this information by polling, or may acquire this information as an event notification from the system management module.

本実施形態のソースアドレス制御処理部403は、制御対象の通信利用部60−1〜mが使用すべき通信IF部30の情報を通信制御部10に問い合わせて取得する。そして、ソースアドレス制御処理部403は、得られた通信IF部30に設定されたIPアドレスを制御対象の通信利用部60−1〜mが使用すべきソースアドレスと決定する。   The source address control processing unit 403 of the present embodiment inquires the communication control unit 10 for information on the communication IF unit 30 to be used by the communication using units 60-1 to 60-m to be controlled. Then, the source address control processing unit 403 determines the IP address set in the obtained communication IF unit 30 as a source address to be used by the communication usage units 60-1 to 60-m to be controlled.

ソースアドレス制御処理部403は、プロトコルスタック部70に対し、以下の設定変更を行う。ソースアドレス制御処理部403は、決定したソースアドレスを内部通信IF部50に追加する設定を行う。さらに、ソースアドレス制御処理部403は、プロトコルスタック部70に対し、デフォルト経路の推奨アドレスを、決定したソースアドレスに変更する設定を行う。   The source address control processing unit 403 makes the following setting changes to the protocol stack unit 70. The source address control processing unit 403 performs setting to add the determined source address to the internal communication IF unit 50. Further, the source address control processing unit 403 performs setting for changing the recommended address of the default route to the determined source address in the protocol stack unit 70.

図7は、各装置のMACアドレスおよびIPアドレスの例を示す説明図である。本実施形態では、図7に例示するMACアドレスおよびIPアドレスが各装置に設定されているとする。本実施形態では、図7に示すように、通信IF部30−1には、DHCP(Dynamic Host Configuration Protocol)によりアドレスが割り当てられ、通信IF部30−2には、PPP(Point to Point Protocol)によりアドレスが割り当てられる。これらのアドレス設定には、通信ネットワーク3−1〜3−3内のDHCPサーバ(図示せず)およびPPPサーバ(図示せず)が使用される。また、その他の通信インタフェース及び装置には、図7のアドレスが予め設定されているとする。   FIG. 7 is an explanatory diagram showing an example of the MAC address and IP address of each device. In this embodiment, it is assumed that the MAC address and IP address illustrated in FIG. 7 are set in each device. In the present embodiment, as shown in FIG. 7, an address is assigned to the communication IF unit 30-1 by DHCP (Dynamic Host Configuration Protocol), and a PPP (Point to Point Protocol) is assigned to the communication IF unit 30-2. To assign an address. For these address settings, a DHCP server (not shown) and a PPP server (not shown) in the communication networks 3-1 to 3-3 are used. Further, it is assumed that the addresses shown in FIG. 7 are set in advance in other communication interfaces and apparatuses.

また、本実施形態のプロトコルスタック部70には、経路表に予め以下の経路(デフォルト経路)が設定されているものとする。
−送信先 0.0.0.0/0
−転送先 内部通信IF部50
−推奨ソースアドレス 192.168.254.1 (内部通信IF部50のIPアドレス)
In the protocol stack unit 70 of the present embodiment, the following route (default route) is set in advance in the route table.
-Destination 0.0.0.0/0
-Transfer destination Internal communication IF unit 50
-Recommended source address 192.168.254.1 (IP address of internal communication IF unit 50)

図8は、制御ポリシ記憶部102が記憶する制御ポリシのリストの例を示す説明図である。図8に示すように、本実施形態における制御ポリシは、優先度と、トラフィック条件と、実行すべき処理とを関連付けた規則である。トラフィック条件は、ポリシを適用するトラフィックを識別するための条件である。また、本実施形態における制御ポリシは、優先度を含み、数値が小さいものほど高優先であるとする。ここでは、説明の都合上、制御ポリシの優先度をその制御ポリシの識別子として使用する。例えば、図8に例示する上から一つ目の制御ポリシを参照する際、制御ポリシ1と記述する。本実施形態の説明において、トラフィック条件は、特記がない場合AND結合(AND条件)とする。   FIG. 8 is an explanatory diagram illustrating an example of a list of control policies stored in the control policy storage unit 102. As shown in FIG. 8, the control policy in this 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. Further, the control policy in the present embodiment includes priority, and it is assumed that a smaller numerical value has higher priority. Here, for convenience of explanation, the priority of the control policy is used as the identifier of the control policy. For example, when referring to the first control policy from the top illustrated in FIG. In the description of this embodiment, the traffic condition is an AND combination (AND condition) unless otherwise specified.

以上に示す具体例をもとに、本実施形態の通信システムの動作を説明する。ここでは、通信利用部60−1〜mの一つである通信利用部60−Xのみが、対象リスト記憶部402に制御対象として記憶されている場合を例に説明する。   Based on the specific example shown above, operation | movement of the communication system of this embodiment is demonstrated. Here, a case where only the communication use unit 60-X, which is one of the communication use units 60-1 to 60-m, is stored as a control target in the target list storage unit 402 will be described as an example.

なお、本実施形態において、ドメイン名からIPアドレスを解決する処理は、DNS(Domain Name System)等の一般的な技術によって行われるものとし、その説明を省略する。また、TCPによる通信では、Ack(Acknowledgement)送信や、データ欠落に伴うデータパケットの再送が通常発生するが、特記する場合を除き、それらの図示および説明は省略する。   In the present embodiment, processing for resolving an IP address from a domain name is performed by a general technique such as DNS (Domain Name System), and the description thereof is omitted. In TCP communication, Ack (acknowledgment) transmission and data packet retransmission accompanying data loss usually occur, but their illustration and description are omitted unless otherwise specified.

初めに、通信利用部60−1〜mのいずれかが稼動を開始した場合の動作を説明する。図9は、本実施形態における通信システムの動作例を示すフローチャートである。   First, an operation when one of the communication using units 60-1 to 60-m starts operation will be described. FIG. 9 is a flowchart showing an operation example of the communication system in the present embodiment.

まず、通信利用部60−1〜mのいずれかが稼動を開始する(ステップS101)。この稼働は、例えば、ユーザの操作によって通信利用部60に対応するアプリケーションが起動することにより開始されてよい。   First, one of the communication using units 60-1 to 60-m starts operation (step S101). This operation may be started, for example, when an application corresponding to the communication using unit 60 is activated by a user operation.

ソースアドレス制御対象検出部401は、通信利用部60の稼動開始を検出すると、稼働を検出した通信利用部60が対象リスト記憶部402が記憶するリストに含まれているかどうか、すなわちソースアドレス制御の対象か否かを確認する(ステップS102)。稼働を検出した通信利用部60がソースアドレス制御の対象でない場合(ステップS102におけるN)、本動作は終了する。   When the source address control target detection unit 401 detects the start of operation of the communication use unit 60, whether the communication use unit 60 that has detected the operation is included in the list stored in the target list storage unit 402, that is, the source address control It is confirmed whether it is a target (step S102). When the communication using unit 60 that has detected the operation is not the target of source address control (N in step S102), this operation ends.

一方、稼働を検出した通信利用部60がソースアドレス制御の対象である場合(ステップS102におけるY)、ソースアドレス制御対象検出部401は、ソースアドレス制御処理部403に、ソースアドレス制御の処理開始を指示する。処理開始の指示を受けたソースアドレス制御処理部403は、通信利用部60が使用すべき通信IF部を決定する(ステップS103)。   On the other hand, when the communication utilization unit 60 that has detected the operation is the target of source address control (Y in step S102), the source address control target detection unit 401 causes the source address control processing unit 403 to start processing of source address control. Instruct. Receiving the processing start instruction, the source address control processing unit 403 determines a communication IF unit to be used by the communication using unit 60 (step S103).

具体的には、ソースアドレス制御処理部403は、通信利用部60が使用すべき通信IF部30を通信制御部10に問い合わせ、その結果を取得する。このときの通信制御部10の動作は、後述する図11を用いて説明されるが、パケット通知を受信したときの通信制御部10における制御処理部101の動作と同様である。   Specifically, the source address control processing unit 403 inquires of the communication control unit 10 about the communication IF unit 30 to be used by the communication using unit 60, and acquires the result. The operation of the communication control unit 10 at this time will be described with reference to FIG. 11 described later, but is the same as the operation of the control processing unit 101 in the communication control unit 10 when a packet notification is received.

ただし、この場合、実際にはパケットを受信していないが、制御処理部101は、アプリケーションが通信利用部60であるパケットを受信したものとして、制御ポリシとの照合動作を行う。   However, in this case, although the packet is not actually received, the control processing unit 101 performs the collation operation with the control policy on the assumption that the application receives the packet that is the communication using unit 60.

本例の場合、アプリケーションとして通信利用部60−Xが稼働するため、トラフィック条件は、図8に例示する制御ポリシ2に適合する。そのため、その通信利用部60が使用すべき通信IF部30として通信IF部30−1(無線LAN)が選択される。   In the case of this example, since the communication utilization unit 60-X operates as an application, the traffic condition conforms to the control policy 2 illustrated in FIG. Therefore, the communication IF unit 30-1 (wireless LAN) is selected as the communication IF unit 30 to be used by the communication utilization unit 60.

ソースアドレス制御処理部403は、通信利用部60が使用すべき通信IF部30が存在するか否か確認する(ステップS104)。存在しない場合(ステップS104におけるN)、すなわちその通信利用部60が通信を許可されていない場合、本動作は終了する。   The source address control processing unit 403 confirms whether there is a communication IF unit 30 to be used by the communication using unit 60 (step S104). If it does not exist (N in step S104), that is, if the communication using unit 60 is not permitted to communicate, this operation ends.

一方、その通信利用部60が使用すべき通信IF部30が存在する場合(ステップS104におけるY)、ソースアドレス制御処理部403は、その通信利用部60が使用すべきソースアドレスを決定する(ステップS105)。具体的には、ソースアドレス制御処理部403は、その通信利用部60が使用すべき通信IF部30に設定されているIPアドレスをプロトコルスタック部70から取得し、取得したIPアドレスをその通信利用部60が使用すべきソースアドレスと決定する。   On the other hand, when the communication IF unit 30 to be used by the communication using unit 60 exists (Y in step S104), the source address control processing unit 403 determines the source address to be used by the communication using unit 60 (step S104). S105). Specifically, the source address control processing unit 403 acquires the IP address set in the communication IF unit 30 to be used by the communication using unit 60 from the protocol stack unit 70, and uses the acquired IP address for the communication use The unit 60 determines the source address to be used.

ソースアドレス制御処理部403は、ソースアドレスに決定されたIPアドレスを内部通信IF部50に設定されたIPアドレスに追加するよう、プロトコルスタック部70に要求する(ステップS106)。   The source address control processing unit 403 requests the protocol stack unit 70 to add the IP address determined as the source address to the IP address set in the internal communication IF unit 50 (step S106).

ソースアドレス制御処理部403は、決定されたソースアドレスがデフォルトで使用されるようデフォルト経路を更新する(ステップS107)。具体的には、ソースアドレス制御処理部403は、デフォルト経路の推奨ソースアドレスを、決定されたソースアドレスに変更するようプロトコルスタック部70に要求する。   The source address control processing unit 403 updates the default route so that the determined source address is used by default (step S107). Specifically, the source address control processing unit 403 requests the protocol stack unit 70 to change the recommended source address of the default route to the determined source address.

なお、後述する図12に例示する制御ポリシが使用される際、通信利用部60−Xに関して本動作が実行された場合、通信利用部60−Xは、対象リスト記憶部402が記憶するリストに含まれているため、以下の処理が行われる。   When the control policy illustrated in FIG. 12 to be described later is used, when this operation is executed with respect to the communication utilization unit 60-X, the communication utilization unit 60-X stores the list stored in the target list storage unit 402. Since it is included, the following processing is performed.

まず、ステップS103において、通信利用部60−Xが使用すべき通信IF部30として通信IF部30−1(WLAN IF)が決定される。また、ステップS105において、使用すべきソースアドレスとして192.168.1.1(通信IF部30−1のIPアドレス)が決定される。また、ステップS106において、内部通信IF部50のIPアドレスに192.168.1.1が追加される。また、ステップS107において、デフォルト経路の推奨ソースアドレスが192.168.1.1に変更される。   First, in step S103, the communication IF unit 30-1 (WLAN IF) is determined as the communication IF unit 30 to be used by the communication using unit 60-X. In step S105, 192.168.1.1 (IP address of the communication IF unit 30-1) is determined as a source address to be used. In step S106, 192.168.1.1 is added to the IP address of the internal communication IF unit 50. In step S107, the recommended source address of the default route is changed to 192.168.1.1.

次に、通信利用部60がサーバ2とHTTP(Hypertext Transfer Protocol)通信を行う場合の動作を説明する。図10は、本実施形態の通信システムの動作例を示すシーケンス図である。なお、図10において、通信ネットワーク3−3の図示は省略する。   Next, an operation when the communication using unit 60 performs HTTP (Hypertext Transfer Protocol) communication with the server 2 will be described. FIG. 10 is a sequence diagram illustrating an operation example of the communication system according to the present embodiment. In FIG. 10, illustration of the communication network 3-3 is omitted.

また、図11は、本実施形態の通信制御部10の動作例を示すフローチャートである。また、図12は、本実施形態の動作の説明で用いられるフローエントリの例を示す説明図である。図12に例示するフローエントリには、上述するトラフィック条件に相当するマッチ条件と、そのマッチ条件に合致する場合に行われる処理(アクション)とが対応づけられていることを示す。   FIG. 11 is a flowchart showing an operation example of the communication control unit 10 of the present embodiment. FIG. 12 is an explanatory diagram showing an example of a flow entry used in the description of the operation of the present embodiment. The flow entry illustrated in FIG. 12 indicates that a match condition corresponding to the traffic condition described above is associated with a process (action) performed when the match condition is met.

まず初めに、通信利用部60−Xが、サーバ2とHTTP通信を行う場合の動作を説明する。この通信では、図8に例示する制御ポリシ2に従って処理が行われることが期待される。   First, an operation when the communication using unit 60-X performs HTTP communication with the server 2 will be described. In this communication, processing is expected to be performed according to the control policy 2 illustrated in FIG.

なお、本動作の説明では、以下の条件が成り立っていることを前提とする。
− フローテーブル記憶部203にはフローエントリが記憶されていない。
− 通信利用部60−Xに関し、図9に例示する動作が実行済みである。
In the description of this operation, it is assumed that the following conditions are satisfied.
-No flow entry is stored in the flow table storage unit 203.
-Regarding the communication utilization unit 60-X, the operation illustrated in FIG. 9 has been executed.

図10に例示するように、まず、通信利用部60−Xは、HTTPに係る通信に用いられるソケット(HTTP用ソケット)の作成要求をプロトコルスタック部70に対し行い、プロトコルスタック部70はその要求に応じる(ステップS120)。以後、通信利用部60−Xは、作成されたHTTP用ソケットを通じてパケットの送受信を行う。   As illustrated in FIG. 10, first, the communication using unit 60-X issues a request for creating a socket (HTTP socket) used for communication related to HTTP to the protocol stack unit 70, and the protocol stack unit 70 requests the request. (Step S120). Thereafter, the communication using unit 60-X transmits and receives packets through the created HTTP socket.

続いて、通信利用部60−Xは、HTTPデータ取得前にHTTP用のTCP接続を行うため、サーバ2のIPアドレスである10.0.0.2のTCP80番ポートに対し、TCP接続要求(CONNECT要求)を送信する(ステップS121)。   Subsequently, since the communication using unit 60-X performs the TCP connection for HTTP before acquiring the HTTP data, a TCP connection request (to the TCP 80 port of 10.0.0.2 which is the IP address of the server 2) CONNECT request) is transmitted (step S121).

続いて、プロトコルスタック部70は、TCP接続要求を受けTCP接続確立用のパケット(TCP SYNパケット(TCP接続要求パケット))を作成し、送信する(ステップS122)。   Subsequently, the protocol stack unit 70 receives a TCP connection request, creates a TCP connection establishment packet (TCP SYN packet (TCP connection request packet)), and transmits the packet (step S122).

具体的には、プロトコルスタック部70は、経路表を参照してデフォルト経路を使用することを決定し、そのパケットの転送先として内部通信IF部50を選択する。また、プロトコルスタック部70は、デフォルト経路の推奨ソースアドレスを参照し、ソースアドレスとして192.168.1.1を使用することを決定する。そのパケットの送信元IPアドレスは192.168.1.1に、送信先IPアドレスは10.0.0.2に、送信先ポート番号は80に設定される。また、そのパケットの送信元ポート番号は、10000であるとする。   Specifically, the protocol stack unit 70 determines to use the default route with reference to the route table, and selects the internal communication IF unit 50 as a transfer destination of the packet. Further, the protocol stack unit 70 refers to the recommended source address of the default route and determines to use 192.168.1.1 as the source address. The source IP address of the packet is set to 192.168.1.1, the destination IP address is set to 10.0.0.2, and the destination port number is set to 80. Further, it is assumed that the transmission source port number of the packet is 10,000.

続いて、内部通信IF部50は、そのパケット(TCP接続要求パケット)を受信し、通信処理部20に通知する(ステップS123)。   Subsequently, the internal communication IF unit 50 receives the packet (TCP connection request packet) and notifies the communication processing unit 20 (step S123).

続いて、通信処理部20のパケット処理部202は、そのパケットを受信し、フローテーブル記憶部203を参照し、このパケットに対応するフローエントリの有無を確認する(ステップS124)。ステップS124の段階では、フローテーブル記憶部203は空であるため、受信したパケット(TCP接続要求パケット)に対応するフローエントリは見つからない。   Subsequently, the packet processing unit 202 of the communication processing unit 20 receives the packet, refers to the flow table storage unit 203, and checks whether there is a flow entry corresponding to this packet (step S124). At step S124, since the flow table storage unit 203 is empty, no flow entry corresponding to the received packet (TCP connection request packet) is found.

受信したパケットと一致するフローエントリが無いため、通信処理部20のパケット処理部202は、そのパケットを制御チャネル処理部201に通知し、制御チャネル処理部201は、対応するパケット通知を通信制御部10に送信する(ステップS125)。   Since there is no flow entry that matches the received packet, the packet processing unit 202 of the communication processing unit 20 notifies the control channel processing unit 201 of the packet, and the control channel processing unit 201 sends a corresponding packet notification to the communication control unit. 10 (step S125).

続いて、通信制御部10の制御処理部101は、パケット通知を受信し、通知されたパケット(TCP接続要求パケット)に対する処理を決定する(ステップS126)。なお、制御処理部101の動作は、図11に例示したフローチャートに沿って行われる。   Subsequently, the control processing unit 101 of the communication control unit 10 receives the packet notification and determines processing for the notified packet (TCP connection request packet) (step S126). The operation of the control processing unit 101 is performed according to the flowchart illustrated in FIG.

具体的には、制御チャネル処理部201またはソースアドレス制御処理部403からの情報を受信すると、通信制御部10の制御処理部101は、受信した情報に対応する制御ポリシを検索する。このとき、制御処理部101は、制御ポリシのうち、まず最高優先度の制御ポリシを選択する(図11におけるステップS151)。   Specifically, when information from the control channel processing unit 201 or the source address control processing unit 403 is received, the control processing unit 101 of the communication control unit 10 searches for a control policy corresponding to the received information. At this time, the control processing unit 101 first selects the control policy with the highest priority from among the control policies (step S151 in FIG. 11).

制御処理部101は、選択した制御ポリシが受信した情報とマッチ条件(トラフィック条件)において適合するか否か判断する(ステップS152)。選択した制御ポリシに適合しない場合(ステップS152におけるN)、制御処理部101は、未確認の制御ポリシが存在するか否か確認する(ステップS153)。未確認の制御ポリシが存在しない場合(ステップS153におけるN)、処理を終了する。一方、未確認の制御ポリシが存在する場合(ステップS153におけるY)、制御処理部101は、次の優先度の制御ポリシを選択して(ステップS154)、ステップS152以降の処理を繰り返す。   The control processing unit 101 determines whether the selected control policy matches the received information in the match condition (traffic condition) (step S152). If the selected control policy does not match (N in step S152), the control processing unit 101 checks whether there is an unconfirmed control policy (step S153). If there is no unconfirmed control policy (N in step S153), the process ends. On the other hand, when there is an unconfirmed control policy (Y in step S153), the control processing unit 101 selects a control policy with the next priority (step S154), and repeats the processing after step S152.

一方、ステップS152において、選択した制御ポリシが受信した情報とマッチ条件(トラフィック条件)において適合する場合(ステップS152におけるY)、制御処理部101は、選択している制御ポリシに基づく処理を実行するためのフローエントリを作成する(ステップS155)。フローエントリの作成後、制御処理部101は、情報の送信先へ、そのフローエントリを示す情報を送信する。   On the other hand, if the selected control policy matches the received information in the matching condition (traffic condition) (Y in step S152), the control processing unit 101 executes processing based on the selected control policy. A flow entry is created (step S155). After creating the flow entry, the control processing unit 101 transmits information indicating the flow entry to the information transmission destination.

以下、ステップS155において、フローエントリを作成する処理を、具体例を用いて説明する。例えば、指定された処理が“指定されたIFを使用して通信”であったとする。この場合、制御処理部101は、通信端末1が送信するパケットについて、“送信元IPアドレスを指定されたIFのIPアドレスに変更した後、指定されたIFから出力する”というアクションを持つフローエントリを作成してもよい。さらに、この場合、制御処理部101は、通信端末1が受信するパケットについて、“送信先IPアドレスを通信端末1が送信するパケットの当初の送信元IPアドレスに変更した後、内部通信IF部50から出力する”というアクションを持つフローエントリを作成する。   Hereinafter, the process of creating a flow entry in step S155 will be described using a specific example. For example, it is assumed that the designated process is “communication using a designated IF”. In this case, for the packet transmitted by the communication terminal 1, the control processing unit 101 has a flow entry having an action of “output from the designated IF after changing the source IP address to the designated IF IP address”. May be created. Further, in this case, the control processing unit 101 changes the “destination IP address to the original transmission source IP address of the packet transmitted by the communication terminal 1 and then the internal communication IF unit 50 for the packet received by the communication terminal 1. Create a flow entry with the action “Output from”.

また、制御処理部101は、通信端末1が送信するパケットに対するフローエントリの上述するアクション“指定されたIFから出力する”の前に、“送信元MACアドレスを指定されたIFのMACアドレスに変更”および“送信先MACアドレスを指定されたIFが接続するLAN上のデフォルトゲートウェイのMACアドレスに変更”というアクションを含めてもよい。   In addition, the control processing unit 101 changes the “source MAC address to the MAC address of the designated IF” before the above-described action “output from the designated IF” of the flow entry for the packet transmitted by the communication terminal 1. And “change the destination MAC address to the MAC address of the default gateway on the LAN to which the designated IF is connected” may be included.

さらに、制御処理部101は、通信端末1が受信するパケットに対する上述するフローエントリのアクション“内部通信IF部50から出力する”の前に、“送信先MACアドレスを内部通信IF部50のMACアドレスに変更”というアクションを含めてもよい。   Further, the control processing unit 101 determines that the “destination MAC address is the MAC address of the internal communication IF unit 50” before the action “output from the internal communication IF unit 50” of the flow entry described above for the packet received by the communication terminal 1 May include the action “Change to”.

制御処理部101は、これらのアクションの生成に係る情報を、プロトコルスタック部70、通信IF部30−1〜30−2、内部通信IF部50、および通信端末1のOS(図示せず)から取得してもよい。   The control processing unit 101 obtains information related to generation of these actions from the protocol stack unit 70, the communication IF units 30-1 to 30-2, the internal communication IF unit 50, and the OS (not shown) of the communication terminal 1. You may get it.

制御処理部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.

本例の場合、TCP接続要求パケットは、図8に例示する制御ポリシ2に適合するため、図11に例示するステップS155において、図12の項番1および項番2に例示するフローエントリが生成される。すなわち、制御処理部101は、制御ポリシ2に設定された処理である無線LANを使用して通信を行う処理を行うことを決定する。そのため、制御処理部101は、内部通信IF部50から受信したパケットを通信IF部30−1(無線LAN)を介してサーバ2へ転送するためのフローエントリ(図12に例示する項番1)を作成する。さらに、制御処理部101は、通信IF部30−1(無線LAN)を介してサーバ2から受信したパケットを、内部通信IF部50へ転送するためのフローエントリ(図12に例示する項番2)を作成する。   In this example, since the TCP connection request packet conforms to the control policy 2 illustrated in FIG. 8, in step S155 illustrated in FIG. 11, the flow entries illustrated in item numbers 1 and 2 in FIG. 12 are generated. Is done. That is, the control processing unit 101 determines to perform a process for performing communication using the wireless LAN, which is a process set in the control policy 2. Therefore, the control processing unit 101 is a flow entry (item number 1 illustrated in FIG. 12) for transferring the packet received from the internal communication IF unit 50 to the server 2 via the communication IF unit 30-1 (wireless LAN). Create Furthermore, the control processing unit 101 transfers a packet received from the server 2 via the communication IF unit 30-1 (wireless LAN) to the internal communication IF unit 50 (item number 2 illustrated in FIG. 12). ).

続いて、通信制御部10の制御処理部101は、ステップS126において生成されたフローエントリを通信処理部20に設定する。あわせて、制御処理部101は、対応するTCP接続要求パケットに対し、そのフローエントリに基づく処理を適用するよう通信処理部20に指示する(図10におけるステップS127)。   Subsequently, the control processing unit 101 of the communication control unit 10 sets the flow entry generated in step S126 in the communication processing unit 20. In addition, the control processing unit 101 instructs the communication processing unit 20 to apply the processing based on the flow entry to the corresponding TCP connection request packet (step S127 in FIG. 10).

続いて、通信処理部20の制御チャネル処理部201は、通知(設定)されたフローエントリ(図12に例示する項番1および項番2)を、フローテーブル記憶部203に記憶させる(ステップS128)。   Subsequently, the control channel processing unit 201 of the communication processing unit 20 stores the notified (set) flow entry (item number 1 and item number 2 illustrated in FIG. 12) in the flow table storage unit 203 (step S128). ).

続いて、通信処理部20のパケット処理部202は、ステップS128で設定されたフローエントリに基づきパケット(TCP接続要求パケット)を処理する(ステップS129)。ここでは、そのパケットは、図12に例示する項番1のフローエントリにマッチするため、パケット処理部202は、そのフローエントリのアクションを実行する。   Subsequently, the packet processing unit 202 of the communication processing unit 20 processes the packet (TCP connection request packet) based on the flow entry set in step S128 (step S129). Here, since the packet matches the flow entry of item number 1 illustrated in FIG. 12, the packet processing unit 202 executes the action of the flow entry.

具体的には、パケット処理部202は、パケットの送信先MACアドレスを02:00:03:01:03:01に変更し、送信元MACアドレスを02:00:00:00:00:01に変更し、送信元IPアドレスを192.168.1.1に変更した後、そのパケットを通信IF部30−1に出力する。   Specifically, the packet processing unit 202 changes the transmission destination MAC address of the packet to 02: 00: 03: 01: 03: 01, and the transmission source MAC address to 02: 00: 00: 00: 01. After changing the source IP address to 192.168.1.1, the packet is output to the communication IF unit 30-1.

ここで、送信元IPアドレスの変更処理が実施されるが、ソースアドレス制御部40による制御の結果、変更前の送信元IPアドレスと変更後の送信元IPアドレスは同一となっている。すなわち、実質的にこのパケットにNATは適用されていないことになる。   Here, the source IP address changing process is performed. As a result of the control by the source address control unit 40, the source IP address before the change and the source IP address after the change are the same. That is, NAT is not applied to this packet substantially.

続いて、通信IF部30−1は、送信要求されたパケット(TCP接続要求パケット)を送信する(ステップS130)。以降、このパケットは、通信ネットワーク3−1、通信ネットワーク3−3の順に転送され、サーバ2で受信される。   Subsequently, the communication IF unit 30-1 transmits the packet requested for transmission (TCP connection request packet) (step S130). Thereafter, this packet is transferred in the order of the communication network 3-1 and the communication network 3-3 and received by the server 2.

続いて、サーバ2は、受信したTCP接続要求パケットに対するTCP接続応答パケットを送信する(ステップS131)。この時、そのTCP接続応答パケットの送信元IPアドレスは10.0.0.2、送信元ポート番号は80、送信先IPアドレスは192.168.1.1、送信先ポート番号は10000となる。このパケットは、通信ネットワーク3−3、通信ネットワーク3−1の順で転送され、通信IF部30−1で受信される。   Subsequently, the server 2 transmits a TCP connection response packet corresponding to the received TCP connection request packet (step S131). At this time, the source IP address of the TCP connection response packet is 10.0.0.2, the source port number is 80, the destination IP address is 192.168.1.1, and the destination port number is 10,000. . This packet is transferred in the order of the communication network 3-3 and the communication network 3-1, and is received by the communication IF unit 30-1.

続いて、通信IF部30−1は、受信したパケット(TCP接続応答パケット)を通信処理部20に送信する(ステップS132)。   Subsequently, the communication IF unit 30-1 transmits the received packet (TCP connection response packet) to the communication processing unit 20 (step S132).

続いて、通信処理部20のパケット処理部202は、そのTCP接続応答パケットを受信し、フローテーブル記憶部203を参照して、このパケットに対応するフローエントリの有無を確認する(ステップS133)。受信したTCP接続応答パケットとフローエントリの条件を比較すると、ここでは、ステップS128において記憶されたフローエントリが発見される(図12に例示する項番2)。   Subsequently, the packet processing unit 202 of the communication processing unit 20 receives the TCP connection response packet, refers to the flow table storage unit 203, and checks whether there is a flow entry corresponding to this packet (step S133). When the received TCP connection response packet is compared with the condition of the flow entry, the flow entry stored in step S128 is found here (item number illustrated in FIG. 12).

続いて、通信処理部20のパケット処理部202は、ステップS133で発見したフローエントリに基づきパケット(TCP接続応答パケット)を処理する(ステップS134)。このパケットは、図12に例示する項番2のフローエントリにマッチするため、パケット処理部202は、そのフローエントリのアクションを実行する。   Subsequently, the packet processing unit 202 of the communication processing unit 20 processes the packet (TCP connection response packet) based on the flow entry found in step S133 (step S134). Since this packet matches the flow entry of item number 2 illustrated in FIG. 12, the packet processing unit 202 executes the action of the flow entry.

具体的には、パケット処理部202は、パケットの送信先MACアドレスを02:00:00:00:00:50に変更し、送信先IPアドレスを192.168.1.1に変更した後、そのパケットを内部通信IF部50に出力する。   Specifically, the packet processing unit 202 changes the destination MAC address of the packet to 02: 00: 00: 00: 50 and changes the destination IP address to 192.168.1.1, The packet is output to the internal communication IF unit 50.

ここで、送信先IPアドレスの変更処理が実施されるが、ソースアドレス制御部40による制御の結果、変更前の送信先IPアドレスと変更後の送信先IPアドレスは同一となっている。すなわち、実質的にこのパケットにNATは適用されていないことになる。   Here, the destination IP address changing process is performed. As a result of the control by the source address control unit 40, the destination IP address before the change and the destination IP address after the change are the same. That is, NAT is not applied to this packet substantially.

続いて、内部通信IF部50は、このパケット(TCP接続応答パケット)を受信し、プロトコルスタック部70に通知する(ステップS135)。   Subsequently, the internal communication IF unit 50 receives this packet (TCP connection response packet) and notifies the protocol stack unit 70 (step S135).

続いて、プロトコルスタック部70は、受信したパケットの受信処理を行い、その結果HTTP用ソケットを通じ通信利用部60−XにTCP接続の接続完了を通知する(ステップS136)。   Subsequently, the protocol stack unit 70 performs reception processing of the received packet, and as a result, notifies the communication using unit 60-X of connection completion of the TCP connection through the HTTP socket (step S136).

続いて、通信利用部60−Xは、接続が完了したTCP接続(コネクション)を介してHTTPデータを取得するため、HTTP用ソケットを用いてHTTPリクエストデータをプロトコルスタック部70に送信する(ステップS137)。   Subsequently, the communication using unit 60-X transmits the HTTP request data to the protocol stack unit 70 using the HTTP socket in order to acquire the HTTP data through the TCP connection (connection) in which the connection is completed (Step S137). ).

続いて、プロトコルスタック部70は、データ送信要求(HTTPリクエスト)を受け、HTTPリクエストを含むTCPパケットを作成し送信する(ステップS138)。プロトコルスタック部70は、ステップS122の処理と同様に、経路表を参照し、TCPパケットを内部通信IF部50へ送信する。   Subsequently, the protocol stack unit 70 receives a data transmission request (HTTP request), and creates and transmits a TCP packet including the HTTP request (step S138). The protocol stack unit 70 refers to the routing table and transmits the TCP packet to the internal communication IF unit 50 as in the process of step S122.

続いて、内部通信IF部50は、そのTCPパケット(HTTPリクエスト)を受信し、通信処理部20に通知する(ステップS139)。   Subsequently, the internal communication IF unit 50 receives the TCP packet (HTTP request) and notifies the communication processing unit 20 (step S139).

続いて、通信処理部20のパケット処理部202は、そのTCPパケットを受信し、フローテーブル記憶部203を参照し、このパケットに対応するフローエントリの有無を確認する(ステップS140)。受信したTCPパケット(HTTPリクエスト)とフローエントリの条件を比較すると、ここでは、ステップS128で記憶された、図12に例示する項番1のフローエントリが発見される。   Subsequently, the packet processing unit 202 of the communication processing unit 20 receives the TCP packet, refers to the flow table storage unit 203, and checks whether there is a flow entry corresponding to this packet (step S140). When the received TCP packet (HTTP request) and the condition of the flow entry are compared, the flow entry of item number 1 illustrated in FIG. 12 stored in step S128 is found here.

続いて、通信処理部20のパケット処理部202は、ステップS140で発見したフローエントリに基づき、TCPパケット(HTTPリクエスト)を処理する(ステップS141)。ここでは、そのパケットは、図12に例示する項番1のフローエントリにマッチするため、パケット処理部202は、そのフローエントリのアクションを実行する。   Subsequently, the packet processing unit 202 of the communication processing unit 20 processes the TCP packet (HTTP request) based on the flow entry found in step S140 (step S141). Here, since the packet matches the flow entry of item number 1 illustrated in FIG. 12, the packet processing unit 202 executes the action of the flow entry.

具体的には、パケット処理部202は、パケットの送信先MACアドレスを02:00:03:01:03:01に変更し、送信元MACアドレスを02:00:00:00:00:01に変更し、送信元IPアドレスを192.168.1.1に変更した後、そのパケットを通信IF部30−1に出力する。   Specifically, the packet processing unit 202 changes the transmission destination MAC address of the packet to 02: 00: 03: 01: 03: 01, and the transmission source MAC address to 02: 00: 00: 00: 01. After changing the source IP address to 192.168.1.1, the packet is output to the communication IF unit 30-1.

ここで、送信元IPアドレスの変更処理が実施されるが、ソースアドレス制御部40による制御の結果、変更前の送信元IPアドレスと変更後の送信元IPアドレスは同一となっている。すなわち、実質的にこのパケットにNATは適用されていないことになる。   Here, the source IP address changing process is performed. As a result of the control by the source address control unit 40, the source IP address before the change and the source IP address after the change are the same. That is, NAT is not applied to this packet substantially.

続いて、通信IF部30−1は、送信要求されたTCPパケット(HTTPリクエスト)を送信する(ステップS142)。以降、このパケットは、通信ネットワーク3−1、通信ネットワーク3−3の順に転送され、サーバ2で受信される。   Subsequently, the communication IF unit 30-1 transmits the TCP packet (HTTP request) requested to be transmitted (step S142). Thereafter, this packet is transferred in the order of the communication network 3-1 and the communication network 3-3 and received by the server 2.

以降、サーバ2は、受信したパケットに対する応答パケット(HTTPレスポンス)を送信するが、その処理は、ステップS131〜ステップS136で説明した、TCP接続応答パケットの処理と同様であるため、その説明を省略する。   Thereafter, the server 2 transmits a response packet (HTTP response) to the received packet, but the processing is the same as the processing of the TCP connection response packet described in steps S131 to S136, and thus the description thereof is omitted. To do.

次に、通信利用部60−X以外の通信利用部60(以下、通信利用部60−Yと記す。)が、サーバ2とHTTP通信を行う場合の動作を説明する。この通信では、図8に例示する制御ポリシ3に従って処理が行われることが期待される。   Next, an operation in a case where a communication utilization unit 60 other than the communication utilization unit 60-X (hereinafter referred to as a communication utilization unit 60-Y) performs HTTP communication with the server 2 will be described. In this communication, processing is expected to be performed according to the control policy 3 illustrated in FIG.

なお、本動作の説明では、以下の条件が成り立っていることを前提とする。
− フローテーブル記憶部203にはフローエントリが記憶されていない。
− 通信利用部60−Xに関し、図9を用いて説明した動作が実行済みである。
In the description of this operation, it is assumed that the following conditions are satisfied.
-No flow entry is stored in the flow table storage unit 203.
-Regarding the communication utilization unit 60-X, the operation described with reference to FIG. 9 has been executed.

また、本動作の説明では、通信利用部60−XがHTTP通信を行った場合の動作例を示す図10を参照し、通信利用部60−YがHTTP通信を行った場合と異なる点に限定して説明を行う。   Further, in the description of this operation, reference is made to FIG. 10 showing an operation example when the communication using unit 60-X performs HTTP communication, and it is limited to points different from the case where the communication using unit 60-Y performs HTTP communication. And explain.

なお、図10を参照した説明で記載された通信利用部60−Xは、すべて通信利用部60−Yに読み替えられるものとする。また、送信されるTCP接続要求パケットの送信元ポート番号は10001であるとする。また、通信利用部60−Yについて行われるステップS120からステップS125までの処理は、通信利用部60−Xについて行われる処理と同様である。   In addition, all the communication utilization parts 60-X described by the description with reference to FIG. 10 shall be read by the communication utilization part 60-Y. Further, it is assumed that the source port number of the transmitted TCP connection request packet is 10001. The processing from step S120 to step S125 performed for the communication using unit 60-Y is the same as the processing performed for the communication using unit 60-X.

ステップS126において、通信利用部60が通信利用部60−Yの場合、TCP接続要求パケットは、図8に例示する制御ポリシ3に適合するため、図11に例示するステップS155において、図12の項番3および項番4に例示するフローエントリが生成される。すなわち、制御処理部101は、制御ポリシ3に設定された処理である3Gを使用して通信を行う処理を行うことを決定する。そのため、制御処理部101は、内部通信IF部50から受信したパケットを通信IF部30−2(3G)を介してサーバ2へ転送するためのフローエントリ(図12に例示する項番3)を作成する。さらに、制御処理部101は、通信IF部30−2(3G)を介してサーバ2から受信したパケットを、内部通信IF部50へ転送するためのフローエントリ(図12に例示する項番4)を作成する。   In step S126, when the communication using unit 60 is the communication using unit 60-Y, the TCP connection request packet conforms to the control policy 3 illustrated in FIG. 8, and therefore in step S155 illustrated in FIG. Flow entries exemplified in No. 3 and No. 4 are generated. That is, the control processing unit 101 determines to perform a process of performing communication using 3G that is a process set in the control policy 3. Therefore, the control processing unit 101 provides a flow entry (item number 3 illustrated in FIG. 12) for transferring the packet received from the internal communication IF unit 50 to the server 2 via the communication IF unit 30-2 (3G). create. Furthermore, the control processing unit 101 transfers a packet received from the server 2 via the communication IF unit 30-2 (3G) to the internal communication IF unit 50 (item number 4 illustrated in FIG. 12). Create

なお、通信利用部60−Yについて行われるステップS127からステップS128までの処理は、通信利用部60−Xについて行われる処理と同様である。   Note that the processing from step S127 to step S128 performed for the communication using unit 60-Y is the same as the processing performed for the communication using unit 60-X.

ステップS129において、パケット(TCP接続要求パケット)は、図12に例示する項番3のフローエントリにマッチするため、通信処理部20のパケット処理部202は、そのフローエントリのアクションを実行する。   In step S129, since the packet (TCP connection request packet) matches the flow entry of item number 3 illustrated in FIG. 12, the packet processing unit 202 of the communication processing unit 20 executes the action of the flow entry.

具体的には、パケット処理部202は、パケットの送信元IPアドレスを192.168.2.1に変更した後、そのパケットを通信IF部30−2に出力する。ここで、送信元IPアドレスの変更処理が実施されるが、通信利用部60−Yは対象リスト記憶部402が記憶するリストに含まれておらず、通信利用部60−Yの通信にNATが適用されてもその通信に支障は生じない。   Specifically, the packet processing unit 202 changes the source IP address of the packet to 192.168.2.1, and then outputs the packet to the communication IF unit 30-2. Here, the change process of the source IP address is performed, but the communication use unit 60-Y is not included in the list stored in the target list storage unit 402, and NAT is used for communication of the communication use unit 60-Y. Even if it is applied, the communication will not be hindered.

ステップS130〜ステップS132において、送信要求されたパケット(TCP接続要求パケット)およびサーバ2が送信するTCP接続応答パケットは、通信IF部30−1の代わりに通信IF部30−2によって処理され、また、通信ネットワーク3−1の代わりに、通信ネットワーク3−2を介して通信される。   In steps S130 to S132, the packet requested for transmission (TCP connection request packet) and the TCP connection response packet transmitted by the server 2 are processed by the communication IF unit 30-2 instead of the communication IF unit 30-1, and The communication is performed via the communication network 3-2 instead of the communication network 3-1.

ステップS133において、図12に例示する項番2のフローエントリの代わりに、図12に例示する項番4が発見される。   In step S133, item number 4 illustrated in FIG. 12 is found instead of the flow entry of item number 2 illustrated in FIG.

ステップS134において、パケット(TCP接続応答パケット)は、図12に例示する項番4のフローエントリにマッチするため、通信処理部20のパケット処理部202は、そのフローエントリのアクションを実行する。   In step S134, since the packet (TCP connection response packet) matches the flow entry of item number 4 illustrated in FIG. 12, the packet processing unit 202 of the communication processing unit 20 executes the action of the flow entry.

具体的には、パケット処理部202は、パケットの送信先MACアドレスを02:00:00:00:00:50に変更し、送信先IPアドレスを192.168.1.1に変更した後、そのパケットを内部通信IF部50に出力する。   Specifically, the packet processing unit 202 changes the destination MAC address of the packet to 02: 00: 00: 00: 50 and changes the destination IP address to 192.168.1.1, The packet is output to the internal communication IF unit 50.

ここで、送信先IPアドレスの変更処理が実施されるが、通信利用部60−Yは対象リスト記憶部402が記憶するリストに含まれておらず、通信利用部60−Yの通信にNATが適用されてもその通信に支障は生じない。   Here, although the destination IP address changing process is performed, the communication use unit 60-Y is not included in the list stored in the target list storage unit 402, and NAT is used for communication of the communication use unit 60-Y. Even if it is applied, the communication will not be hindered.

以降、通信利用部60−Yについて行われるステップS135からステップS139までの処理は、通信利用部60−Xについて行われる処理と同様である。   Henceforth, the process from step S135 performed to communication utilization part 60-Y to step S139 is the same as the process performed about communication utilization part 60-X.

ステップS140において、図12に例示する項番1のフローエントリの代わりに、図12に例示する項番3が発見される。   In step S140, item number 3 illustrated in FIG. 12 is found instead of the flow entry of item number 1 illustrated in FIG.

ステップS141において、パケット(TCP接続要求パケット)は、図12に例示する項番3のフローエントリにマッチするため、通信処理部20のパケット処理部202は、そのフローエントリのアクションを実行する。   In step S141, since the packet (TCP connection request packet) matches the flow entry of item number 3 illustrated in FIG. 12, the packet processing unit 202 of the communication processing unit 20 executes the action of the flow entry.

具体的には、パケット処理部202は、パケットの送信元IPアドレスを192.168.2.1に変更した後、そのパケットを通信IF部30−2に出力する。ここで、送信元IPアドレスの変更処理が実施されるが、通信利用部60−Yは対象リスト記憶部402が記憶するリストに含まれておらず、通信利用部60−Yの通信にNATが適用されてもその通信に支障は生じない。   Specifically, the packet processing unit 202 changes the source IP address of the packet to 192.168.2.1, and then outputs the packet to the communication IF unit 30-2. Here, the change process of the source IP address is performed, but the communication use unit 60-Y is not included in the list stored in the target list storage unit 402, and NAT is used for communication of the communication use unit 60-Y. Even if it is applied, the communication will not be hindered.

以上のように、本実施形態によれば、通信処理部20が、複数の通信IF部30−1〜30−2の中から、通信利用部60−1〜mによるパケットの送受信に使用する通信IF部を選択し、そのパケットに含まれるソースアドレスを、選択した通信IF部で利用可能なアドレスに変換する。この際、通信制御部10は、通信処理部20が通信IF部を選択できない場合や、ソースアドレスを選択した通信IF部で利用可能なアドレスに変換できない場合、通信処理部20が処理を行うことができるように制御を行う。したがって、通信制御部10と通信処理部20とが協働してこれらの処理を行っていると言うこともできる。   As described above, according to the present embodiment, the communication processing unit 20 uses communication among the plurality of communication IF units 30-1 to 30-2 to transmit and receive packets by the communication using units 60-1 to 60-m. The IF unit is selected, and the source address included in the packet is converted into an address that can be used by the selected communication IF unit. At this time, if the communication processing unit 20 cannot select the communication IF unit or cannot convert the source address to an address usable by the selected communication IF unit, the communication processing unit 20 performs processing. Control to be able to. Therefore, it can be said that the communication control unit 10 and the communication processing unit 20 cooperate to perform these processes.

また、ソースアドレス制御部40(具体的には、ソースアドレス制御対象検出部401)は、通信処理部20によるアドレス変換が適さない対象となる通信の発生を検知または予測する。すると、ソースアドレス制御処理部403は、対象となる通信のパケットに対して行われるアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に、対象となる通信のパケットに設定させる制御をプロトコルスタック部70に対して行う。   In addition, the source address control unit 40 (specifically, the source address control target detection unit 401) detects or predicts the occurrence of communication that is not suitable for address conversion by the communication processing unit 20. Then, the source address control processing unit 403 sets the source address that does not change before and after the address conversion performed on the target communication packet to the target communication packet before the address conversion. Control is performed on the protocol stack unit 70.

具体的には、ソースアドレス制御部40(より具体的には、ソースアドレス制御対象検出部401)が、ソースアドレス制御対象の通信(NATが適さない通信、アドレス変換が適さない通信)の発生またはその予兆を検出し、検出時にその通信に対しソースアドレス制御を開始する。   Specifically, the source address control unit 40 (more specifically, the source address control target detection unit 401) generates a source address control target communication (communication in which NAT is not suitable, communication in which address translation is not suitable) or The sign is detected, and source address control is started for the communication at the time of detection.

ソースアドレス制御の際、ソースアドレス制御部40は、その通信が使用すべき通信IF部30を通信制御部10を参照して特定し、特定された通信IF部30に設定されたアドレスを内部通信IF部50に追加設定する。あわせて、ソースアドレス制御部40は、設定したアドレスがその通信のソースアドレスとして利用されるよう経路設定を変更する。   When performing source address control, the source address control unit 40 specifies the communication IF unit 30 to be used for the communication with reference to the communication control unit 10, and determines the address set in the specified communication IF unit 30 for internal communication. Additional settings are made in the IF unit 50. At the same time, the source address control unit 40 changes the route setting so that the set address is used as the source address of the communication.

通信制御部10は、制御ポリシにしたがって、通信処理部20が受信したパケットおよびそのパケットが属するフローの処理内容を決定し、通信処理部20に対応するフローエントリ(処理規則)を設定する。このフローエントリは、そのパケットが通信端末1外のネットワークで通信可能になるよう(すなわち、その通信IFで利用可能となるよう)、適切なアドレス変換をそのパケットに適用できるよう作成される。   The communication control unit 10 determines the processing content of the packet received by the communication processing unit 20 and the flow to which the packet belongs according to the control policy, and sets a flow entry (processing rule) corresponding to the communication processing unit 20. This flow entry is created so that appropriate address translation can be applied to the packet so that the packet can be communicated in a network outside the communication terminal 1 (that is, usable in the communication IF).

このとき、ソースアドレス制御対象の通信に対しては、上述のとおり、通信に使用すべき通信IF部30のアドレスが最初からソースアドレスとして使用されるようソースアドレス制御部40によって制御が行われている。そのため、実質的には、この通信にアドレス変換処理は適用されない(すなわち、変換前後のアドレスが同一である)。   At this time, as described above, the source address control unit 40 controls the source address control target communication so that the address of the communication IF unit 30 to be used for communication is used as the source address from the beginning. Yes. Therefore, the address conversion process is not substantially applied to this communication (that is, the addresses before and after conversion are the same).

よって、本実施形態によれば、通信端末が、アドレス変換により複数の通信インタフェースを使い分ける通信処理を行うとともに、アドレス変換が適さない通信に対しても複数の通信インタフェースを使い分けることができる。   Therefore, according to the present embodiment, the communication terminal can perform communication processing for selectively using a plurality of communication interfaces by address conversion, and can also use a plurality of communication interfaces for communication that is not suitable for address conversion.

なお、本実施形態における通信システムの説明では、通信制御部10が作成するフローエントリに、送信元もしくは送信先のアドレスを変換するアクションを常に含める例を示したが、本発明は、これに限定されるものではない。例えば、通信制御部10は、変換前と変換後のアドレスが同一である場合、作成するフローエントリに送信元または送信先のアドレスを変換するアクションを含めないことにしてもよい。これにより、通信処理部20の負荷を軽減することができる。   In the description of the communication system in the present embodiment, an example in which an action for converting a source or destination address is always included in a flow entry created by the communication control unit 10, but the present invention is not limited to this. Is not to be done. For example, when the address before conversion and the address after conversion are the same, the communication control unit 10 may not include an action for converting the source or destination address in the created flow entry. Thereby, the load of the communication processing unit 20 can be reduced.

なお、本実施形態における通信システムの説明では、対象リスト記憶部402が制御対象とする通信利用部60−1〜mの識別子のリストを保持し、ソースアドレス制御対象検出部401が制御対象の通信利用部60−1〜mの稼動開始をソースアドレス制御が必要な通信の予兆として扱う例を示したが、本発明はこれに限定されるものではない。   In the description of the communication system in the present embodiment, the target list storage unit 402 holds a list of identifiers of the communication using units 60-1 to 60-m to be controlled, and the source address control target detection unit 401 has a control target communication. Although an example in which the operation start of the utilization units 60-1 to 60-m is treated as a sign of communication that requires source address control has been shown, the present invention is not limited to this.

例えば、対象リスト記憶部402は、通信利用部60−1〜mの識別子に加えてもしくは代わりに、通信に係る情報(例えば、送信先IPアドレス、送信元IPアドレス、プロトコル番号、送信先ポート番号、送信元ポート番号、の一部もしくは全部の組み合わせ)のリストを保持してもよい。また、ソースアドレス制御対象検出部401は、通信利用部60−1〜mの通信開始をソースアドレス制御が必要な通信の予兆として扱ってもよい。これは、例えば、ソースアドレス制御対象検出部401が、通信利用部60−1〜mからプロトコルスタック部70への通信開始や接続開始の要求(例えば、Socketインタフェース経由)をフックもしくはモニタすることで実現できる。   For example, the target list storage unit 402 includes information related to communication (for example, transmission destination IP address, transmission source IP address, protocol number, transmission destination port number) in addition to or instead of the identifiers of the communication utilization units 60-1 to 60-m. Or a combination of all or part of the transmission source port numbers). Further, the source address control target detection unit 401 may treat the communication start of the communication using units 60-1 to 60-m as a sign of communication that requires source address control. This is because, for example, the source address control target detection unit 401 hooks or monitors a communication start or connection start request (for example, via the Socket interface) from the communication using units 60-1 to 60-m to the protocol stack unit 70. realizable.

なお、本実施形態における通信システムの説明では、ソースアドレス制御処理部403が、ソースアドレス制御として、デフォルト経路の推奨アドレスを決定したソースアドレスに変更する設定を行う例を示したが、本発明はこれに限定されるものではない。   In the description of the communication system in the present embodiment, an example in which the source address control processing unit 403 performs setting to change the recommended address of the default route to the determined source address as source address control has been described. It is not limited to this.

例えば、ソースアドレス制御処理部403は、デフォルト経路を更新する代わりに、ソースアドレス制御の対象となる通信の送信先IPアドレス宛の経路(転送先は、内部通信IF部50、推奨ソースアドレスは決定したソースアドレス)を追加してもよい。ソースアドレス制御処理部403は、当該送信先IPアドレスを、ソースアドレス制御の契機となった通信の情報から取得してもよいし、使用する通信IF部30を決定する際に使用された制御ポリシのトラフィック条件から取得してもよい。   For example, instead of updating the default route, the source address control processing unit 403 determines a route addressed to the destination IP address of the communication subject to source address control (the transfer destination is the internal communication IF unit 50, and the recommended source address is determined). Source address) may be added. The source address control processing unit 403 may acquire the transmission destination IP address from the communication information that triggered the source address control, or the control policy used when determining the communication IF unit 30 to be used. May be obtained from the traffic conditions.

次に、本発明の概要を説明する。図13は、本発明による通信端末の概要を示すブロック図である。本発明による通信端末は、複数の通信インタフェース部81(例えば、通信IF部30−1〜30−2)と、パケットの送受信に使用する通信インタフェース部81を選択し、パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御部82(例えば、通信制御部10、通信処理部20)と、通信制御部82によるアドレスの変換が適さない対象通信(例えば、NATが適さない通信)の発生を検知または予測し、通信制御部82による対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレス(例えば、通信IF部のアドレス)を、そのアドレスの変換の前に対象通信のパケットに設定させる制御を(例えば、プロトコルスタック部70に対して)行うソースアドレス制御部83(例えば、ソースアドレス制御部40)とを備えている。   Next, the outline of the present invention will be described. FIG. 13 is a block diagram showing an outline of a communication terminal according to the present invention. The communication terminal according to the present invention selects a plurality of communication interface units 81 (for example, communication IF units 30-1 to 30-2) and a communication interface unit 81 used for packet transmission / reception, and sets a source address included in the packet. The communication control unit 82 (for example, the communication control unit 10 and the communication processing unit 20) that performs control for conversion to an address that can be used by the selected communication interface unit, and target communication (for which address conversion by the communication control unit 82 is not appropriate) For example, a source address (for example, the address of the communication IF unit) that does not change before and after the address conversion for the packet of the target communication by the communication control unit 82 is detected or predicted. Perform control (for example, for protocol stack unit 70) to set the packet of the target communication before conversion Source address control unit 83 (e.g., source address controller 40) and a.

そのような構成により、アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる。   With such a configuration, when performing address conversion and performing communication using a plurality of communication interfaces, it is possible to operate the communication correctly even for communication that is not suitable for address conversion.

また、ソースアドレス制御部83は、通信制御部82により選択され、対象通信のパケットの送受信に使用される通信インタフェース部81で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させてもよい。   Further, the source address control unit 83 may set an address usable in the communication interface unit 81 selected by the communication control unit 82 and used for transmission / reception of the target communication packet as a source address in the target communication packet. .

また、ソースアドレス制御部83は、対象通信のパケットの送受信に使用されるソースアドレスに、通信インタフェース部81が使用するアドレスを設定または追加する指示をし、そのソースアドレスを使用する経路設定を指示することにより、対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、対象通信のパケットに設定させる制御を行ってもよい。   Also, the source address control unit 83 instructs to set or add an address used by the communication interface unit 81 to a source address used for transmission / reception of the packet of the target communication, and instructs to set a route using the source address. Thus, control may be performed to set a source address that does not change before and after address conversion for the target communication packet in the target communication packet.

また、ソースアドレス制御部83は、対象通信を行うアプリケーション(例えば、通信利用部60)のリストを保持し、リストに含まれるアプリケーションの稼働状態を監視することにより、対象通信の発生を検知または予測してもよい。   In addition, the source address control unit 83 maintains a list of applications that perform target communication (for example, the communication use unit 60), and detects or predicts the occurrence of target communication by monitoring the operating state of the applications included in the list. May be.

また、通信端末は、ソースアドレス制御部83が制御を行う制御対象部(例えば、プロトコルスタック部70)と、通信制御部82(例えば、通信処理部20)との間の通信を中継する内部通信インタフェース部(例えば、内部通信IF部50)を備えていてもよい。そして、ソースアドレス制御部83は、内部通信インタフェース部のアドレスを、対象通信のパケットの送受信に使用される通信インタフェース部のアドレスに設定させる制御を、制御対象部に対して行ってもよい。   The communication terminal also relays communication between a control target unit (for example, protocol stack unit 70) controlled by the source address control unit 83 and a communication control unit 82 (for example, communication processing unit 20). An interface unit (for example, the internal communication IF unit 50) may be provided. Then, the source address control unit 83 may perform control for the control target unit to set the address of the internal communication interface unit to the address of the communication interface unit used for transmission / reception of the packet of the target communication.

1 通信端末
2 サーバ
3−1〜3−3 通信ネットワーク
10 通信制御部
20 通信処理部
30−1〜30−2 通信IF部
40 ソースアドレス制御部
50 内部通信IF部
60−1〜m 通信利用部
70 プロトコルスタック部
101 制御処理部
102 制御ポリシ記憶部
201 制御チャネル処理部
202 パケット処理部
203 フローテーブル記憶部
401 ソースアドレス制御対象検出部
402 対象リスト記憶部
403 ソースアドレス制御処理部
DESCRIPTION OF SYMBOLS 1 Communication terminal 2 Server 3-1 to 3-3 Communication network 10 Communication control part 20 Communication processing part 30-1 to 30-2 Communication IF part 40 Source address control part 50 Internal communication IF part 60-1 to m Communication utilization part 70 Protocol Stack Unit 101 Control Processing Unit 102 Control Policy Storage Unit 201 Control Channel Processing Unit 202 Packet Processing Unit 203 Flow Table Storage Unit 401 Source Address Control Target Detection Unit 402 Target List Storage Unit 403 Source Address Control Processing Unit

Claims (9)

複数の通信インタフェース部と、
パケットの送受信に使用する前記通信インタフェース部を選択し、前記パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御部と、
前記通信制御部によるアドレスの変換が適さない対象通信の発生を検知または予測し、前記通信制御部による前記対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、当該アドレスの変換の前に前記対象通信のパケットに設定させる制御を行うソースアドレス制御部とを備えた
ことを特徴とする通信端末。
A plurality of communication interface units;
A communication control unit that selects the communication interface unit to be used for packet transmission and reception, and performs control to convert the source address included in the packet into an address that can be used by the selected communication interface unit;
Detect or predict the occurrence of target communication that is not suitable for address conversion by the communication control unit, the source address that does not change before and after address conversion for the packet of the target communication by the communication control unit before the conversion of the address And a source address control unit that performs control for setting the packet in the target communication.
ソースアドレス制御部は、通信制御部により選択され、対象通信のパケットの送受信に使用される通信インタフェース部で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させる
請求項1記載の通信端末。
2. The communication terminal according to claim 1, wherein the source address control unit causes the packet of the target communication to be set as an address that can be used by the communication interface unit selected by the communication control unit and used for transmission / reception of the packet of the target communication.
ソースアドレス制御部は、対象通信のパケットの送受信に使用されるソースアドレスに、通信インタフェース部が使用するアドレスを設定または追加する指示をし、当該ソースアドレスを使用する経路設定を指示することにより、対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、対象通信のパケットに設定させる制御を行う
請求項1または請求項2に記載の通信端末。
The source address control unit instructs to set or add the address used by the communication interface unit to the source address used for transmission / reception of the packet of the target communication, and instructs the route setting using the source address, The communication terminal according to claim 1, wherein control is performed to set a source address that does not change before and after address conversion for a packet of the target communication in the packet of the target communication.
ソースアドレス制御部は、対象通信を行うアプリケーションのリストを保持し、前記リストに含まれるアプリケーションの稼働状態を監視することにより、対象通信の発生を検知または予測する
請求項1から請求項3のうちのいずれか1項に記載の通信端末。
The source address control unit holds a list of applications that perform target communication, and detects or predicts the occurrence of target communication by monitoring the operating state of the applications included in the list. The communication terminal according to any one of the above.
ソースアドレス制御部が制御を行う制御対象部と、通信制御部との間の通信を中継する内部通信インタフェース部を備え、
ソースアドレス制御部は、前記内部通信インタフェース部のアドレスを、対象通信のパケットの送受信に使用される通信インタフェース部のアドレスに設定させる制御を、前記制御対象部に対して行う
請求項1から請求項4のうちのいずれか1項に記載の通信端末。
A control target unit controlled by the source address control unit and an internal communication interface unit that relays communication between the communication control unit,
The source address control unit controls the control target unit to set the address of the internal communication interface unit to the address of the communication interface unit used for transmission / reception of a packet of the target communication. 4. The communication terminal according to claim 1.
複数の通信インタフェース部の中から、パケットの送受信に使用する通信インタフェース部を選択し、
前記パケットに含まれるソースアドレスを、選択された通信インタフェース部で利用可能なアドレスに変換する制御を行い、
前記アドレスの変換が適さない対象通信の発生を検知または予測し、
前記対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、当該アドレスの変換の前に前記対象通信のパケットに設定させる制御を行う
ことを特徴とする通信方法。
Select the communication interface part to be used for packet transmission / reception from the multiple communication interface parts.
Performs control to convert the source address included in the packet into an address usable in the selected communication interface unit,
Detecting or predicting the occurrence of target communications for which the address conversion is not suitable,
A control method for performing control to set a source address that does not change before and after address conversion for the target communication packet in the target communication packet before the address conversion.
選択された通信インタフェース部で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させる
請求項6記載の通信方法。
The communication method according to claim 6, wherein an address usable in the selected communication interface unit is set as a source address in a packet of target communication.
コンピュータに、
複数の通信インタフェース部の中から、パケットの送受信に使用する前記通信インタフェース部を選択し、前記パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御処理、および、
前記通信制御処理におけるアドレスの変換が適さない対象通信の発生を検知または予測し、前記通信制御処理における前記対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、当該アドレスの変換の前に前記対象通信のパケットに設定させる制御を行うソースアドレス制御処理
を実行させるための通信プログラム。
On the computer,
Communication control for selecting a communication interface unit to be used for packet transmission / reception from a plurality of communication interface units and converting a source address included in the packet into an address usable by the selected communication interface unit Processing and
Detect or predict the occurrence of target communication that is not suitable for address conversion in the communication control process, and change the source address that does not change before and after the address conversion for the target communication packet in the communication control process before the address conversion. A communication program for causing a source address control process to perform control to be set in a packet of the target communication.
ソースアドレス制御処理で、選択された通信インタフェース部で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させる
請求項8記載の通信プログラム。
The communication program according to claim 8, wherein in the source address control process, an address that can be used in the selected communication interface unit is set as a source address in a packet of target communication.
JP2013234563A 2013-11-13 2013-11-13 Communication terminal, communication method and communication program Pending JP2015095789A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013234563A JP2015095789A (en) 2013-11-13 2013-11-13 Communication terminal, communication method and communication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013234563A JP2015095789A (en) 2013-11-13 2013-11-13 Communication terminal, communication method and communication program

Publications (1)

Publication Number Publication Date
JP2015095789A true JP2015095789A (en) 2015-05-18

Family

ID=53197912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013234563A Pending JP2015095789A (en) 2013-11-13 2013-11-13 Communication terminal, communication method and communication program

Country Status (1)

Country Link
JP (1) JP2015095789A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018142935A1 (en) * 2017-02-02 2018-08-09 日本電気株式会社 Communication system, communication control method, and communication program
JP2018534798A (en) * 2015-11-20 2018-11-22 グーグル エルエルシー Connecting to popular cellular networks via small cells
WO2019064823A1 (en) * 2017-09-28 2019-04-04 日本電気株式会社 Communication apparatus, communication system, communication control method, communication program and device connection control program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018534798A (en) * 2015-11-20 2018-11-22 グーグル エルエルシー Connecting to popular cellular networks via small cells
US10477503B2 (en) 2015-11-20 2019-11-12 Google Llc Democratized cellular network connectivity through small cells
WO2018142935A1 (en) * 2017-02-02 2018-08-09 日本電気株式会社 Communication system, communication control method, and communication program
JP2018125765A (en) * 2017-02-02 2018-08-09 日本電気株式会社 Communication system, communication control method, and communication program
US11303525B2 (en) 2017-02-02 2022-04-12 Nec Corporation Communication system, communication control method, and communication program
WO2019064823A1 (en) * 2017-09-28 2019-04-04 日本電気株式会社 Communication apparatus, communication system, communication control method, communication program and device connection control program
JP2019068119A (en) * 2017-09-28 2019-04-25 日本電気株式会社 Communication device, communication system, communication control method, communication program and device connection control program
US11303476B2 (en) 2017-09-28 2022-04-12 Nec Corporation Communication apparatus, communication system, communication control method, communication program and device connection control program

Similar Documents

Publication Publication Date Title
JP5621778B2 (en) Content-based switch system and content-based switch method
US8780836B2 (en) Network system, controller, and network control method
WO2011093288A1 (en) Network system, controller, and network control method
CN110839046B (en) Multi-protocol intercommunication method and system
JP6118122B2 (en) COMMUNICATION DEVICE, ITS CONTROL METHOD, PROGRAM
US20190349791A1 (en) Control apparatus for gateway in mobile communication system
Xu et al. SDN docker: Enabling application auto-docking/undocking in edge switch
WO2017163541A1 (en) Relay device, communication system, relay method, and non-transitory computer-readable medium with relay program stored thereon
JP2015095789A (en) Communication terminal, communication method and communication program
WO2015171023A1 (en) Establishing a multipath tcp (mptcp) connection
EP3632081B1 (en) Session layer communications using an id-oriented network
US20150120897A1 (en) Device and method for interconnecting two subnetworks
JP2010166142A (en) Communication control device and communication control method, and program
JP5909688B2 (en) Communication device, transfer control method, and transfer control program
CN107005473B (en) Communication path switching apparatus, method of controlling communication path switching apparatus
WO2015145953A1 (en) Communication terminal, communication method, and program-containing storage medium
JP2014082739A (en) Gateway device, communication device, and communication connection management method
JP5657505B2 (en) Network system, relay device, communication method, relay method, and relay program
JP6213028B2 (en) Communication system, communication method, communication program, and communication apparatus
JP6435002B2 (en) COMMUNICATION DEVICE, ITS CONTROL METHOD, PROGRAM
EP3629528A1 (en) Method and apparatus for forwarding packets from a first network to a second network
WO2015129727A1 (en) Communication terminal, communication method and program
JP2014236423A (en) Communication device, control method, communication program and communication system
WO2014175250A1 (en) Communication terminal, control apparatus, communication system, communication method and program
JP2008219460A (en) Communication interface switching system