JP2015095789A - Communication terminal, communication method and communication program - Google Patents
Communication terminal, communication method and communication program Download PDFInfo
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
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
通信端末が受信するパケットに対しては、送信先アドレスの逆変換が行われる。通信端末が送信するパケットに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.
一方、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.
以下、本発明の実施形態を図面を参照して説明する。図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
通信端末1は、通信ネットワーク3−1および通信ネットワーク3−2と同時に接続し通信することができ、これらの通信ネットワークや、他の通信ネットワークである通信ネットワーク3−3を介してサーバ2と通信を行う。通信端末1は、例えば、サーバ2のサービスを利用するクライアント端末であるが、その他、サーバ2と通信する任意の通信装置であってもよい。
The
サーバ2は、通信端末1の通信相手であり、その一例としてWebサーバ、メールサーバ、ビデオサーバ、等が挙げられる。ただし、本発明におけるサーバ2は、これらに限定されない。また、以下の説明では、通信端末1の通信相手がサーバ2である場合を例に説明するが、本発明はこの構成に限定されない。通信端末1の通信相手は、通信端末1と通信可能な装置であればよく、その形態は、サーバの他、端末、携帯電話、パーソナルコンピュータ、家電などであってもよい。
The
通信ネットワーク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
通信ネットワーク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
通信制御部10は、通信処理部20による通信処理を制御する。後述するように、通信制御部10は、制御ポリシに基づいてフローエントリ(処理規則)を作成することで、通信処理部20の処理を制御する。なお、本実施形態では、通信制御部10が、通信端末1の内部で通信処理部20を制御する制御部である場合を例に説明するが、通信制御部10は、通信端末1の外部でネットワーク等を介して通信処理部20を制御する制御装置であってもよい。すなわち、本実施形態の通信端末1は、複数の装置から構成されるシステムであってもよい。
The
通信処理部20は、通信制御部10による制御のもと、通信IF部30−1〜30−2や内部通信IF部50から送受信される通信(パケット)の処理を行う。後述するように、通信処理部20は、通信制御部10から設定されたフローエントリ(処理規則)に基づいて、受信したパケットを処理する。
The
プロトコルスタック部70は、通信プロトコル群を処理するモジュールである。プロトコルスタック部70は、例えば、OSI(Open Systems Interconnection)参照モデルやTCP/IP(Transmission Control Protocol/Internet Protocol)参照モデルのネットワーク層およびトランスポート層に相当するプロトコル群を処理する。
The
プロトコルスタック部70は、階層化された通信プロトコルの一部または全部を処理するプロトコルスタックである。プロトコルスタック部70は、少なくとも、通信IF部30−1〜30−2よりも上位レイヤの通信プロトコルを処理する。プロトコルスタック部70は、上位レイヤの通信を行うアプリケーション(上位レイヤアプリケーション)である通信利用部60−1〜mに対し、例えば、ソケット(Socket)インタフェースによる通信機能を提供する。
The
プロトコルスタック部70は、上述するネットワーク層およびトランスポート層の処理をスキップして通信を行う機能(例えばRawソケット)を有していてもよい。プロトコルスタック部70は、例えば、ソケットインタフェースを通じ、上位レイヤアプリケーションに対し、送受信する通信を特定のアドレス、ポート、通信インタフェースに固定する(限定する、バインドする)機能(バインド機能)を有していてもよい。このバインド機能は、ソケットごとに動作させてもよい。プロトコルスタック部70は、例えば、ソケットインタフェースを通じ、上位レイヤアプリケーションが通信に使用したアドレス、ポート、通信インタフェースを取得する機能を有していてもよい。
The
通信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
内部通信IF部50は、通信端末1の内部の機能(処理部)間を接続するための内部インタフェースであり、通信端末1外の装置との物理的な接続を伴わない、仮想的な通信インタフェースである。内部通信IF部50は、これを利用し通信を行う通信利用部60−1〜mやプロトコルスタック部70に対し、一般的な物理通信IFと同様に振る舞う。ただし、内部通信IF部50で送受信されたパケットは、物理ネットワークに対して送受信されることなく、通信処理部20に対する入出力として扱われる。
The internal communication IF
通信利用部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
通信利用部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
図3は、通信制御部10の構成例を示すブロック図である。図3に示すように、通信制御部10は、制御処理部101と、制御ポリシ記憶部102とを備えている。
FIG. 3 is a block diagram illustrating a configuration example of the
制御処理部101は、制御ポリシ記憶部102に記憶された情報を利用し、通信処理部20による通信処理を制御する。
The
制御処理部101は、後述する通信処理部20の制御チャネル処理部201との間で制御用通信(制御チャネル)を行う。制御処理部101は、制御チャネルを通じて、処理が必要なパケットの通知(パケット通知)を通信処理部20から受け取ると、制御ポリシ記憶部102に記憶された制御ポリシとそのパケットを照合する。
The
制御処理部101は、そのパケットの照合に成功し、適用する制御ポリシの決定に成功した場合、そのパケットが属する通信(フロー)に適用する処理を、その制御ポリシから決定する。制御処理部101は、その通信に適用する処理を決定した後、決定した処理を表す0または1以上のフローエントリ(処理規則)を生成し、制御チャネルを通じてそのフローエントリを通信処理部20に設定する。
When the
制御ポリシ記憶部102は、制御ポリシのリストを記憶する。制御ポリシとは、制御処理部101が、発生した通信に適用する処理を決定するために用いる情報である。制御ポリシは、少なくとも、その制御ポリシの適用対象である通信(トラフィック、フロー)を指定するトラフィック条件と、その制御ポリシが適用される際に実行すべき処理とを含む。制御ポリシは、優先度を含んでいてもよい。なお、本実施形態では、制御ポリシ記憶部102が、通信制御部10内部の記憶部である場合を例に説明するが、制御ポリシ記憶部102は、通信端末1内部のその他の部分の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。
The control
制御ポリシのトラフィック条件は、例えば、以下の項目を含む。一つの制御ポリシに含まれるトラフィック条件は、一つでも複数でもよく、また、それらの条件は、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
・ 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
図4は、通信処理部20の構成例を示すブロック図である。図4に示すように、通信処理部20は、制御チャネル処理部201と、パケット処理部202と、フローテーブル記憶部203とを備えている。
FIG. 4 is a block diagram illustrating a configuration example of the
制御チャネル処理部201は、通信制御部10との間で制御用通信(制御チャネル)を行う。また、制御チャネル処理部201は、対応するフローエントリが存在しないパケットの通知をパケット処理部202から受けると、制御チャネルを用いてそのパケットを通信制御部10に通知する(パケット通知)。パケット通知には、そのパケットの全部または一部、および、そのパケットが受信された通信IFの情報が含まれる。
The control
さらに、制御チャネル処理部201は、制御チャネルを介して通信制御部10からフローエントリを追加、変更、または、削除するよう指示されると、指示された内容に基づきフローテーブル記憶部203に記憶されているフローテーブルを更新する。また、制御チャネル処理部201は、制御チャネルを介して通信制御部10からパケットを出力するよう指示されると、指示された内容に基づきパケットを出力するようパケット処理部202に指示する。
Further, when the control
フローテーブル記憶部203は、処理規則(フローエントリ)を含むフローテーブルを記憶する。処理規則(フローエントリ)は、制御チャネル処理部201によってフローテーブル記憶部203に記録される。本実施形態では、フローテーブル記憶部203が、通信処理部20内部の記憶部である場合を例に説明するが、フローテーブル記憶部203は、通信端末1内部のその他の部分の記憶部であってもよいし、通信端末1の外部の記憶装置であってもよい。
The flow
パケット処理部202は、通信IF部30−1〜30−2や内部通信IF部50を介して、他の装置やモジュール(以下、まとめてエンティティと記す。)と接続され、接続されたエンティティとの間でパケットの送受信を行う。
The
パケット処理部202は、他の装置からパケットを受信すると、受信したパケットに対応するフローエントリをフローテーブル記憶部203に記憶されているフローテーブル内から検索する。受信したパケットに対応するフローエントリがフローテーブル内に見つかった場合、パケット処理部202は、そのフローエントリのアクションに従って処理を行う。一方、受信したパケットに対応するフローエントリがフローテーブルに見つからなかった場合、パケット処理部202は、受信したパケットのフローエントリが存在しない旨を制御チャネル処理部201に通知する。
When the
さらに、パケット処理部202は、他のエンティティと通信を行うためのポートを複数備え、各ポートは、それぞれ異なる通信IF部30−1〜30−2および内部通信IF部50に接続される。なお、各ポートは、ポート識別子により識別される。
Further, the
フローエントリのアクションに基づいてパケット処理部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
-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
図5は、ソースアドレス制御部40の構成例を示すブロック図である。図5に示すように、ソースアドレス制御部40は、ソースアドレス制御対象検出部401と、対象リスト記憶部402と、ソースアドレス制御処理部403とを備えている。
FIG. 5 is a block diagram illustrating a configuration example of the source
ソースアドレス制御対象検出部401は、ソースアドレス制御が必要な通信の発生またはその予兆を検出し、ソースアドレス制御処理部403に対しソースアドレス制御の処理開始を指示する。
The 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
対象リスト記憶部402は、ソースアドレス制御の対象となる通信を識別するための情報を記憶する。対象リスト記憶部402が記憶する情報は、予め与えられておいてもよいし、通信端末1以外の装置から受信されてもよい。
The target
ソースアドレス制御処理部403は、ソースアドレス制御の対象となる通信へのNAT適用が不要となるよう、その通信が使用すべきソースアドレスを決定し、プロトコルスタック部70に設定されている各構成の情報を変更する。ソースアドレス制御処理部403は、使用すべきソースアドレスを決定するため、制御処理部101を参照する。
The source address
ソースアドレス制御対象検出部401およびソースアドレス制御処理部403は、一例として、プログラム(通信プログラム)に従って動作するコンピュータのCPU(Central Processing Unit)によって実現することができる。また、ソースアドレス制御対象検出部401およびソースアドレス制御処理部403は、それぞれ、専用のハードウェアで実現されていてもよい。
As an example, the source address control
以下、具体的な通信ネットワークの構成を例示して、本実施形態の通信システムの動作を説明する。ただし、本発明の内容は、以下に例示する通信システムの態様に限定されない。 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
ルータ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
プロトコルスタック部70は、通信インタフェース(通信IF部30−1〜30−2および内部通信IF部50)ごとに、その通信インタフェースで使用するIPアドレスを保持する。このIPアドレスは、プロトコルスタック部70に予め与えられてもよいし、動的に取得されたり更新されたりしてもよい。プロトコルスタック部70は、一つの通信インタフェースについて、複数のIPアドレスを保持することもできる。
The
プロトコルスタック部70は、送信するIPパケットの転送先を決定するための情報である経路表を保持する。プロトコルスタック部70が保持する経路表は、例えば、送信先IPアドレスと、その送信先IPアドレスが設定されたIPパケットの転送先装置のIPアドレスおよび転送に使用する通信インタフェースの識別子またはそれらのいずれかと、その経路が使用される場合に推奨されるソースアドレスとを含む。
The
送信先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
プロトコルスタック部70は、送信するIPパケットのソースアドレスが未決定であった場合、そのIPパケットに使用するソースアドレスを決定する。送信するIPパケットのソースアドレスは、例えば、送信要求者によって指定されていない場合や、TCPのようなコネクション型通信のIPパケットであって、そのIPパケットがコネクション確立処理開始前のパケットである場合に未決定となる。
When the source address of the IP packet to be transmitted has not been determined, the
プロトコルスタック部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
本実施形態のソースアドレス制御部40は、各通信利用部60−1〜mの単位で、ソースアドレス制御対象の検出および制御を行う。
The source
本実施形態の対象リスト記憶部402は、制御対象とする通信利用部60−1〜mの識別子のリストを保持する。通信利用部60−1〜mの識別子には、例えば、通信利用部60−1〜mのプロセス名、アプリケーション名、プログラムファイル名のいずれかまたはこれらの組み合わせが用いられてもよい。
The target
本実施形態のソースアドレス制御対象検出部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
ソースアドレス制御対象検出部401は、通信利用部60−1〜mが稼動を開始したことを判断するための情報を、通信端末1のシステム管理モジュール(図示せず。例えば、Operationg System(OS))から取得してよい。ソースアドレス制御対象検出部401は、ポーリングによりこの情報を取得してもよく、システム管理モジュールからのイベント通知としてこの情報を取得してもよい。
The source address control
本実施形態のソースアドレス制御処理部403は、制御対象の通信利用部60−1〜mが使用すべき通信IF部30の情報を通信制御部10に問い合わせて取得する。そして、ソースアドレス制御処理部403は、得られた通信IF部30に設定されたIPアドレスを制御対象の通信利用部60−1〜mが使用すべきソースアドレスと決定する。
The source address
ソースアドレス制御処理部403は、プロトコルスタック部70に対し、以下の設定変更を行う。ソースアドレス制御処理部403は、決定したソースアドレスを内部通信IF部50に追加する設定を行う。さらに、ソースアドレス制御処理部403は、プロトコルスタック部70に対し、デフォルト経路の推奨アドレスを、決定したソースアドレスに変更する設定を行う。
The source address
図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
-Destination 0.0.0.0/0
-Transfer destination Internal communication IF
-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
以上に示す具体例をもとに、本実施形態の通信システムの動作を説明する。ここでは、通信利用部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
なお、本実施形態において、ドメイン名から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
一方、稼働を検出した通信利用部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
具体的には、ソースアドレス制御処理部403は、通信利用部60が使用すべき通信IF部30を通信制御部10に問い合わせ、その結果を取得する。このときの通信制御部10の動作は、後述する図11を用いて説明されるが、パケット通知を受信したときの通信制御部10における制御処理部101の動作と同様である。
Specifically, the source address
ただし、この場合、実際にはパケットを受信していないが、制御処理部101は、アプリケーションが通信利用部60であるパケットを受信したものとして、制御ポリシとの照合動作を行う。
However, in this case, although the packet is not actually received, the
本例の場合、アプリケーションとして通信利用部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
ソースアドレス制御処理部403は、通信利用部60が使用すべき通信IF部30が存在するか否か確認する(ステップS104)。存在しない場合(ステップS104におけるN)、すなわちその通信利用部60が通信を許可されていない場合、本動作は終了する。
The source address
一方、その通信利用部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
ソースアドレス制御処理部403は、ソースアドレスに決定されたIPアドレスを内部通信IF部50に設定されたIPアドレスに追加するよう、プロトコルスタック部70に要求する(ステップS106)。
The source address
ソースアドレス制御処理部403は、決定されたソースアドレスがデフォルトで使用されるようデフォルト経路を更新する(ステップS107)。具体的には、ソースアドレス制御処理部403は、デフォルト経路の推奨ソースアドレスを、決定されたソースアドレスに変更するようプロトコルスタック部70に要求する。
The 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
まず、ステップ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
次に、通信利用部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
また、図11は、本実施形態の通信制御部10の動作例を示すフローチャートである。また、図12は、本実施形態の動作の説明で用いられるフローエントリの例を示す説明図である。図12に例示するフローエントリには、上述するトラフィック条件に相当するマッチ条件と、そのマッチ条件に合致する場合に行われる処理(アクション)とが対応づけられていることを示す。
FIG. 11 is a flowchart showing an operation example of the
まず初めに、通信利用部60−Xが、サーバ2とHTTP通信を行う場合の動作を説明する。この通信では、図8に例示する制御ポリシ2に従って処理が行われることが期待される。
First, an operation when the communication using unit 60-X performs HTTP communication with the
なお、本動作の説明では、以下の条件が成り立っていることを前提とする。
− フローテーブル記憶部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
-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
続いて、通信利用部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
具体的には、プロトコルスタック部70は、経路表を参照してデフォルト経路を使用することを決定し、そのパケットの転送先として内部通信IF部50を選択する。また、プロトコルスタック部70は、デフォルト経路の推奨ソースアドレスを参照し、ソースアドレスとして192.168.1.1を使用することを決定する。そのパケットの送信元IPアドレスは192.168.1.1に、送信先IPアドレスは10.0.0.2に、送信先ポート番号は80に設定される。また、そのパケットの送信元ポート番号は、10000であるとする。
Specifically, the
続いて、内部通信IF部50は、そのパケット(TCP接続要求パケット)を受信し、通信処理部20に通知する(ステップS123)。
Subsequently, the internal communication IF
続いて、通信処理部20のパケット処理部202は、そのパケットを受信し、フローテーブル記憶部203を参照し、このパケットに対応するフローエントリの有無を確認する(ステップS124)。ステップS124の段階では、フローテーブル記憶部203は空であるため、受信したパケット(TCP接続要求パケット)に対応するフローエントリは見つからない。
Subsequently, the
受信したパケットと一致するフローエントリが無いため、通信処理部20のパケット処理部202は、そのパケットを制御チャネル処理部201に通知し、制御チャネル処理部201は、対応するパケット通知を通信制御部10に送信する(ステップS125)。
Since there is no flow entry that matches the received packet, the
続いて、通信制御部10の制御処理部101は、パケット通知を受信し、通知されたパケット(TCP接続要求パケット)に対する処理を決定する(ステップS126)。なお、制御処理部101の動作は、図11に例示したフローチャートに沿って行われる。
Subsequently, the
具体的には、制御チャネル処理部201またはソースアドレス制御処理部403からの情報を受信すると、通信制御部10の制御処理部101は、受信した情報に対応する制御ポリシを検索する。このとき、制御処理部101は、制御ポリシのうち、まず最高優先度の制御ポリシを選択する(図11におけるステップS151)。
Specifically, when information from the control
制御処理部101は、選択した制御ポリシが受信した情報とマッチ条件(トラフィック条件)において適合するか否か判断する(ステップS152)。選択した制御ポリシに適合しない場合(ステップS152におけるN)、制御処理部101は、未確認の制御ポリシが存在するか否か確認する(ステップS153)。未確認の制御ポリシが存在しない場合(ステップS153におけるN)、処理を終了する。一方、未確認の制御ポリシが存在する場合(ステップS153におけるY)、制御処理部101は、次の優先度の制御ポリシを選択して(ステップS154)、ステップS152以降の処理を繰り返す。
The
一方、ステップ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
以下、ステップ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
また、制御処理部101は、通信端末1が送信するパケットに対するフローエントリの上述するアクション“指定されたIFから出力する”の前に、“送信元MACアドレスを指定されたIFのMACアドレスに変更”および“送信先MACアドレスを指定されたIFが接続するLAN上のデフォルトゲートウェイのMACアドレスに変更”というアクションを含めてもよい。
In addition, the
さらに、制御処理部101は、通信端末1が受信するパケットに対する上述するフローエントリのアクション“内部通信IF部50から出力する”の前に、“送信先MACアドレスを内部通信IF部50のMACアドレスに変更”というアクションを含めてもよい。
Further, the
制御処理部101は、これらのアクションの生成に係る情報を、プロトコルスタック部70、通信IF部30−1〜30−2、内部通信IF部50、および通信端末1のOS(図示せず)から取得してもよい。
The
制御処理部101は、通信に使用するIFが複数指定されていた場合、優先度の高いものから順に指定されたIFが利用可能かを調べ、最初に利用可能であったIFに関し、前述のようなフローエントリを作成してよい。制御処理部101は、IFが利用可能か否かを、例えば、そのIFが存在するか否か、リンクアップしているか否か、IPアドレスが構成されているか否か、等によって判断してよい。
When a plurality of IFs to be used for communication are designated, the
制御処理部101は、指定された処理が“破棄する”であった場合、例えば、アクションが空のフローエントリを作成する。
If the designated process is “discard”, the
本例の場合、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
続いて、通信制御部10の制御処理部101は、ステップS126において生成されたフローエントリを通信処理部20に設定する。あわせて、制御処理部101は、対応するTCP接続要求パケットに対し、そのフローエントリに基づく処理を適用するよう通信処理部20に指示する(図10におけるステップS127)。
Subsequently, the
続いて、通信処理部20の制御チャネル処理部201は、通知(設定)されたフローエントリ(図12に例示する項番1および項番2)を、フローテーブル記憶部203に記憶させる(ステップS128)。
Subsequently, the control
続いて、通信処理部20のパケット処理部202は、ステップS128で設定されたフローエントリに基づきパケット(TCP接続要求パケット)を処理する(ステップS129)。ここでは、そのパケットは、図12に例示する項番1のフローエントリにマッチするため、パケット処理部202は、そのフローエントリのアクションを実行する。
Subsequently, the
具体的には、パケット処理部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
ここで、送信元IPアドレスの変更処理が実施されるが、ソースアドレス制御部40による制御の結果、変更前の送信元IPアドレスと変更後の送信元IPアドレスは同一となっている。すなわち、実質的にこのパケットにNATは適用されていないことになる。
Here, the source IP address changing process is performed. As a result of the control by the source
続いて、通信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
続いて、サーバ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
続いて、通信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
続いて、通信処理部20のパケット処理部202は、ステップS133で発見したフローエントリに基づきパケット(TCP接続応答パケット)を処理する(ステップS134)。このパケットは、図12に例示する項番2のフローエントリにマッチするため、パケット処理部202は、そのフローエントリのアクションを実行する。
Subsequently, the
具体的には、パケット処理部202は、パケットの送信先MACアドレスを02:00:00:00:00:50に変更し、送信先IPアドレスを192.168.1.1に変更した後、そのパケットを内部通信IF部50に出力する。
Specifically, the
ここで、送信先IPアドレスの変更処理が実施されるが、ソースアドレス制御部40による制御の結果、変更前の送信先IPアドレスと変更後の送信先IPアドレスは同一となっている。すなわち、実質的にこのパケットにNATは適用されていないことになる。
Here, the destination IP address changing process is performed. As a result of the control by the source
続いて、内部通信IF部50は、このパケット(TCP接続応答パケット)を受信し、プロトコルスタック部70に通知する(ステップS135)。
Subsequently, the internal communication IF
続いて、プロトコルスタック部70は、受信したパケットの受信処理を行い、その結果HTTP用ソケットを通じ通信利用部60−XにTCP接続の接続完了を通知する(ステップS136)。
Subsequently, the
続いて、通信利用部60−Xは、接続が完了したTCP接続(コネクション)を介してHTTPデータを取得するため、HTTP用ソケットを用いてHTTPリクエストデータをプロトコルスタック部70に送信する(ステップS137)。
Subsequently, the communication using unit 60-X transmits the HTTP request data to the
続いて、プロトコルスタック部70は、データ送信要求(HTTPリクエスト)を受け、HTTPリクエストを含むTCPパケットを作成し送信する(ステップS138)。プロトコルスタック部70は、ステップS122の処理と同様に、経路表を参照し、TCPパケットを内部通信IF部50へ送信する。
Subsequently, the
続いて、内部通信IF部50は、そのTCPパケット(HTTPリクエスト)を受信し、通信処理部20に通知する(ステップS139)。
Subsequently, the internal communication IF
続いて、通信処理部20のパケット処理部202は、そのTCPパケットを受信し、フローテーブル記憶部203を参照し、このパケットに対応するフローエントリの有無を確認する(ステップS140)。受信したTCPパケット(HTTPリクエスト)とフローエントリの条件を比較すると、ここでは、ステップS128で記憶された、図12に例示する項番1のフローエントリが発見される。
Subsequently, the
続いて、通信処理部20のパケット処理部202は、ステップS140で発見したフローエントリに基づき、TCPパケット(HTTPリクエスト)を処理する(ステップS141)。ここでは、そのパケットは、図12に例示する項番1のフローエントリにマッチするため、パケット処理部202は、そのフローエントリのアクションを実行する。
Subsequently, the
具体的には、パケット処理部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
ここで、送信元IPアドレスの変更処理が実施されるが、ソースアドレス制御部40による制御の結果、変更前の送信元IPアドレスと変更後の送信元IPアドレスは同一となっている。すなわち、実質的にこのパケットにNATは適用されていないことになる。
Here, the source IP address changing process is performed. As a result of the control by the source
続いて、通信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
以降、サーバ2は、受信したパケットに対する応答パケット(HTTPレスポンス)を送信するが、その処理は、ステップS131〜ステップS136で説明した、TCP接続応答パケットの処理と同様であるため、その説明を省略する。
Thereafter, the
次に、通信利用部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
なお、本動作の説明では、以下の条件が成り立っていることを前提とする。
− フローテーブル記憶部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
-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
なお、通信利用部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
具体的には、パケット処理部202は、パケットの送信元IPアドレスを192.168.2.1に変更した後、そのパケットを通信IF部30−2に出力する。ここで、送信元IPアドレスの変更処理が実施されるが、通信利用部60−Yは対象リスト記憶部402が記憶するリストに含まれておらず、通信利用部60−Yの通信にNATが適用されてもその通信に支障は生じない。
Specifically, the
ステップ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
ステップS133において、図12に例示する項番2のフローエントリの代わりに、図12に例示する項番4が発見される。
In step S133, item number 4 illustrated in FIG. 12 is found instead of the flow entry of
ステップ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
具体的には、パケット処理部202は、パケットの送信先MACアドレスを02:00:00:00:00:50に変更し、送信先IPアドレスを192.168.1.1に変更した後、そのパケットを内部通信IF部50に出力する。
Specifically, the
ここで、送信先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
以降、通信利用部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,
ステップS141において、パケット(TCP接続要求パケット)は、図12に例示する項番3のフローエントリにマッチするため、通信処理部20のパケット処理部202は、そのフローエントリのアクションを実行する。
In step S141, since the packet (TCP connection request packet) matches the flow entry of
具体的には、パケット処理部202は、パケットの送信元IPアドレスを192.168.2.1に変更した後、そのパケットを通信IF部30−2に出力する。ここで、送信元IPアドレスの変更処理が実施されるが、通信利用部60−Yは対象リスト記憶部402が記憶するリストに含まれておらず、通信利用部60−Yの通信にNATが適用されてもその通信に支障は生じない。
Specifically, the
以上のように、本実施形態によれば、通信処理部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
また、ソースアドレス制御部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
具体的には、ソースアドレス制御部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
通信制御部10は、制御ポリシにしたがって、通信処理部20が受信したパケットおよびそのパケットが属するフローの処理内容を決定し、通信処理部20に対応するフローエントリ(処理規則)を設定する。このフローエントリは、そのパケットが通信端末1外のネットワークで通信可能になるよう(すなわち、その通信IFで利用可能となるよう)、適切なアドレス変換をそのパケットに適用できるよう作成される。
The
このとき、ソースアドレス制御対象の通信に対しては、上述のとおり、通信に使用すべき通信IF部30のアドレスが最初からソースアドレスとして使用されるようソースアドレス制御部40によって制御が行われている。そのため、実質的には、この通信にアドレス変換処理は適用されない(すなわち、変換前後のアドレスが同一である)。
At this time, as described above, the source
よって、本実施形態によれば、通信端末が、アドレス変換により複数の通信インタフェースを使い分ける通信処理を行うとともに、アドレス変換が適さない通信に対しても複数の通信インタフェースを使い分けることができる。 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
なお、本実施形態における通信システムの説明では、対象リスト記憶部402が制御対象とする通信利用部60−1〜mの識別子のリストを保持し、ソースアドレス制御対象検出部401が制御対象の通信利用部60−1〜mの稼動開始をソースアドレス制御が必要な通信の予兆として扱う例を示したが、本発明はこれに限定されるものではない。
In the description of the communication system in the present embodiment, the target
例えば、対象リスト記憶部402は、通信利用部60−1〜mの識別子に加えてもしくは代わりに、通信に係る情報(例えば、送信先IPアドレス、送信元IPアドレス、プロトコル番号、送信先ポート番号、送信元ポート番号、の一部もしくは全部の組み合わせ)のリストを保持してもよい。また、ソースアドレス制御対象検出部401は、通信利用部60−1〜mの通信開始をソースアドレス制御が必要な通信の予兆として扱ってもよい。これは、例えば、ソースアドレス制御対象検出部401が、通信利用部60−1〜mからプロトコルスタック部70への通信開始や接続開始の要求(例えば、Socketインタフェース経由)をフックもしくはモニタすることで実現できる。
For example, the target
なお、本実施形態における通信システムの説明では、ソースアドレス制御処理部403が、ソースアドレス制御として、デフォルト経路の推奨アドレスを決定したソースアドレスに変更する設定を行う例を示したが、本発明はこれに限定されるものではない。
In the description of the communication system in the present embodiment, an example in which the source address
例えば、ソースアドレス制御処理部403は、デフォルト経路を更新する代わりに、ソースアドレス制御の対象となる通信の送信先IPアドレス宛の経路(転送先は、内部通信IF部50、推奨ソースアドレスは決定したソースアドレス)を追加してもよい。ソースアドレス制御処理部403は、当該送信先IPアドレスを、ソースアドレス制御の契機となった通信の情報から取得してもよいし、使用する通信IF部30を決定する際に使用された制御ポリシのトラフィック条件から取得してもよい。
For example, instead of updating the default route, the source address
次に、本発明の概要を説明する。図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
そのような構成により、アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる。 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
また、ソースアドレス制御部83は、対象通信のパケットの送受信に使用されるソースアドレスに、通信インタフェース部81が使用するアドレスを設定または追加する指示をし、そのソースアドレスを使用する経路設定を指示することにより、対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、対象通信のパケットに設定させる制御を行ってもよい。
Also, the source
また、ソースアドレス制御部83は、対象通信を行うアプリケーション(例えば、通信利用部60)のリストを保持し、リストに含まれるアプリケーションの稼働状態を監視することにより、対象通信の発生を検知または予測してもよい。
In addition, the source
また、通信端末は、ソースアドレス制御部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
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
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.
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)
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 |
-
2013
- 2013-11-13 JP JP2013234563A patent/JP2015095789A/en active Pending
Cited By (8)
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 |