JP5768550B2 - Communication terminal and communication control method - Google Patents
Communication terminal and communication control method Download PDFInfo
- Publication number
- JP5768550B2 JP5768550B2 JP2011153545A JP2011153545A JP5768550B2 JP 5768550 B2 JP5768550 B2 JP 5768550B2 JP 2011153545 A JP2011153545 A JP 2011153545A JP 2011153545 A JP2011153545 A JP 2011153545A JP 5768550 B2 JP5768550 B2 JP 5768550B2
- Authority
- JP
- Japan
- Prior art keywords
- communication path
- communication
- ice
- data communication
- address
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims description 880
- 238000000034 method Methods 0.000 title claims description 52
- 238000012545 processing Methods 0.000 claims description 86
- 238000010586 diagram Methods 0.000 description 11
- 238000012790 confirmation Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、データ通信技術に関し、特にNAT(Network Address Translator)通過のためのICE方式(Interactive Connectivity Establishment/RFC5245)で用いる通信制御技術に関する。 The present invention relates to a data communication technique, and more particularly to a communication control technique used in an ICE system (Interactive Connectivity Establishment / RFC5245) for passing through a NAT (Network Address Translator).
イントラネットなどのプライベートネットワークに接続された複数のプライベート通信端末を、インターネットなどのパブリックネットワークに接続する場合、パブリックネットワーク側のグローバルアドレスを各プライベート通信端末で共用することにより、アドレス空間を効率的に利用することができる。
この場合、プライベートネットワークとパブリックネットワークとを相互接続するルータに搭載された通信制御機能の1つであるNATを利用して、プライベートネットワーク上でプライベート通信端末に割り当てられているHostアドレスと、ルータに割り当てられたパブリックネットワーク側のグローバルアドレスとを透過的に相互変換することになる。
When multiple private communication terminals connected to a private network such as an intranet are connected to a public network such as the Internet, the global address on the public network side is shared by each private communication terminal to efficiently use the address space. can do.
In this case, a host address assigned to a private communication terminal on the private network and a router are used by using NAT, which is one of communication control functions mounted on the router that interconnects the private network and the public network. The assigned global address on the public network side is transparently interconverted.
具体的には、プライベート通信端末のHostアドレスとポート番号との組合せからなるトランスポートアドレスを、ルータのポート番号に割り当てる、いわゆるポートマッピング方式が用いられる。
したがって、この場合、プライベート通信端末に関するパブリックネットワーク側のアドレスとして、ルータのパブリックネットワーク側グローバルアドレスとポート番号の組合せからなるトランスポートアドレス、いわゆるMappedアドレスが用いられる。
Specifically, a so-called port mapping method is used in which a transport address composed of a combination of a host address and a port number of a private communication terminal is assigned to a router port number.
Therefore, in this case, a transport address composed of a combination of the public network side global address of the router and the port number, a so-called mapped address, is used as the public network side address for the private communication terminal.
また、NAT通過のための通信プロトコルとしてTURN方式(Traversal Using Relay NAT/RFC5766)がある。これは、プライベート通信端末とピアツーピアでデータ通信可能なTURNサーバをパブリックネットワーク側に設け、このTURNサーバを経由してパブリックネットワーク側の通信端末とデータ通信を行う方式である。
したがって、TURN方式では、プライベート通信端末に関するパブリックネットワーク側のアドレスとして、TURNサーバのパブリックネットワーク側グローバルアドレスとポート番号の組合せからなるトランスポートアドレス、いわゆるRelayedアドレスが用いられる。
There is a TURN method (Traversal Using Relay NAT / RFC5766) as a communication protocol for passing NAT. In this method, a TURN server capable of data communication with a private communication terminal on a peer-to-peer basis is provided on the public network side, and data communication is performed with the communication terminal on the public network side via the TURN server.
Therefore, in the TURN method, a transport address consisting of a combination of a public address on the public network side of the TURN server and a port number, a so-called Relayed address, is used as an address on the public network side for the private communication terminal.
このように、NATを通過するデータ通信を行う通信端末には、複数のアドレスが存在することになる。したがって、NAT通過データ通信を行う場合、これら複数のアドレスの組合せの数だけ、通信経路が存在することになる。
このため、通信端末間でデータ通信を開始する際、それぞれの通信端末がデータ通信で使用する候補となる自端末のアドレスについて、予め設定されている優先順位を通信端末間でやり取りしておく。そして、NAT通過用の通信プロトコルであるICE方式に基づいて、候補となるアドレスの組合せからなる通信経路のうち、当該アドレスの優先順位が高いものから順に接続チェックを行い、最初に接続可能と判定された通信経路を用いて、データ通信を開始するものとなっている(例えば、非特許文献1など参照)。
As described above, a plurality of addresses exist in a communication terminal that performs data communication passing through the NAT. Therefore, when performing NAT passage data communication, there are as many communication paths as the number of combinations of the plurality of addresses.
For this reason, when data communication is started between communication terminals, a preset priority order is exchanged between the communication terminals for the addresses of the own terminals that are candidates for use by each communication terminal in data communication. Then, based on the ICE system, which is a communication protocol for passing through NAT, the communication path composed of combinations of candidate addresses is checked in order from the highest priority of the addresses, and it is determined that connection is possible first. The data communication is started using the communication path (see, for example, Non-Patent Document 1).
しかしながら、このような従来技術では、通信品質の低下などの理由により、使用中の通信経路を新たな通信経路へ切り替える場合、使用中の通信経路を一旦切断した後、新たな通信経路を確立することになるため、再び、アドレスの優先順位が高い通信経路から順に接続チェックを行うことになる。このため、通信経路を確立してデータ通信を再開するまでに時間がかかり、通信経路切替時のリアルタイム性やオペレーションレスポンス速度が低下するという問題点があった。 However, in such a conventional technique, when a communication path in use is switched to a new communication path due to reasons such as a decrease in communication quality, the communication path in use is temporarily disconnected and then a new communication path is established. Therefore, the connection check is performed again in order from the communication path with the highest priority of the address. For this reason, it takes time until the communication path is established and the data communication is resumed, and there is a problem that the real-time property and the operation response speed at the time of switching the communication path are lowered.
通常、通信経路の接続チェックでは、一方の通信端末からチェックコマンドを送信し、他方の通信端末で当該チェックコマンドの正常受信を確認した後、他方の通信端末から接続チェックレスポンスを送信し、一方の通信端末で当該接続チェックレスポンスの正常受信を確認するものとなる。したがって、1つの通信経路に対する接続チェックに、ある程度の時間を要することになる。
また、利用可能な状態にあるアドレスであっても、接続チェックコマンドや接続チェックレスポンスにエラーが発生した場合には、エラー判定のためタイムアウトするまで待機する必要があり、1回の接続チェックに要する時間が増大する要因にもなる。
Normally, in a connection check of a communication path, a check command is transmitted from one communication terminal, and after the other communication terminal confirms normal reception of the check command, a connection check response is transmitted from the other communication terminal, The communication terminal confirms normal reception of the connection check response. Therefore, a certain amount of time is required for the connection check for one communication path.
Even if the address is in an available state, if an error occurs in the connection check command or connection check response, it is necessary to wait until a timeout occurs for error determination, which is required for one connection check. It becomes a factor which time increases.
一方、前述したように、各通信端末のアドレスとして、例えば3種類のアドレスが存在する場合、これら通信端末間を結ぶ通信経路は、合計9つとなる。ここで、優先順位の高いアドレスが必ずしも接続できるとは限らない。また、接続チェックが失敗した際には、次の優先順位のアドレスについての接続チェックを実行する必要がある。 On the other hand, as described above, when there are, for example, three types of addresses as the addresses of the communication terminals, there are a total of nine communication paths connecting these communication terminals. Here, high priority addresses are not always connectable. If the connection check fails, it is necessary to execute a connection check for the next priority address.
したがって、従来のように、アドレスの優先順位が高い通信経路から順に接続チェックを開始した場合、接続チェックの失敗確率が高い通信経路から順に接続チェックを開始することになる。これにより、接続チェックの開始初期において接続チェックが失敗しやすくなるため、下位の優先順位のアドレスに切り替えて接続チェックを実行することになり、接続チェックの回数が増加する。このため、結果として通信経路の確立に時間がかかり、データ通信再開までの所要時間が増大する。 Therefore, when the connection check is started in order from the communication path with the highest priority of the address as in the prior art, the connection check is started in order from the communication path with the highest connection check failure probability. As a result, the connection check is likely to fail at the beginning of the connection check, so that the connection check is executed by switching to a lower priority address, and the number of connection checks increases. For this reason, as a result, it takes time to establish a communication path, and the time required to resume data communication increases.
本発明はこのような課題を解決するためのものであり、NAT通過のデータ通信を新たな通信経路に切り替える際、データ通信再開までの所要時間を短縮できる通信経路切替技術を提供することを目的としている。 The present invention is intended to solve such a problem, and an object of the present invention is to provide a communication path switching technique capable of shortening the time required for resuming data communication when switching data communication through NAT to a new communication path. It is said.
このような目的を達成するために、本発明にかかる通信端末は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理部と、各通信経路のうち、ICEチェック処理部での接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、ICE通信経路管理部で選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理部とを備え、ICE通信経路管理部で、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定し、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理部で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから優先順位が最も高い通信経路を、データ通信用経路として選択し、データ通信処理部で、ICE通信経路管理部で新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するようにしたものである。 In order to achieve such an object, the communication terminal according to the present invention performs a connection check with the partner communication terminal on the basis of the NAT passing ICE method for each communication path used for data communication with the partner communication terminal. Of the communication paths with the ICE check processing unit, an arbitrary communication path whose connectivity with the partner communication terminal is confirmed by the connection check with the ICE check processing unit is selected as a data communication path with the partner communication terminal. and ICE communication route management unit, using the selected data communication path ICE communication route management unit and a data communication processing unit that performs data communication with the other party's communication terminal, in ICE communication route management unit, the The own address and the other party address that can be used for data communication are mutually notified with the other party communication terminal together with the priority of the address, and these address And for each communication path comprising the combination of a destination address, when switching from priority of the address determines the respective priority based on ICE mode, the data communication path to a new communication path, ICE checks in the communication path connectivity in the processing unit is confirmed, the highest communication path RaYu destination ranking or in the communication path other than the communication path selected as the data communication path selected as the data communication path, data communication processing When the new communication path is selected as the data communication path by the ICE communication path management unit, the data communication is switched to the new communication path and continued.
また、本発明にかかる他の通信端末は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理部と、各通信経路のうち、ICEチェック処理部での接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、ICE通信経路管理部で選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理部とを備え、ICE通信経路管理部で、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理部で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として選択し、データ通信処理部で、ICE通信経路管理部で新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続し、ICEチェック処理部で、各通信経路の接続チェックを実行する際、当該通信経路を介して相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する優先順位を相手通信端末へ通知するようにしたものである。 Further, another communication terminal according to the present invention includes, for each communication path used for data communication with the partner communication terminal, an ICE check processing unit that performs a connection check with the partner communication terminal based on the NAT passing ICE method, An ICE communication path management unit that selects an arbitrary communication path whose connectivity with the counterpart communication terminal is confirmed as a data communication path with the counterpart communication terminal from among the communication paths by a connection check in the ICE check processing unit; A data communication processing unit that performs data communication with the counterpart communication terminal using the data communication route selected by the ICE communication route management unit, and the ICE communication route management unit sets a new data communication route. When switching to a communication path, communication other than the communication path selected as the data communication path whose connectivity has been confirmed by the ICE check processing unit in the communication path The communication path having the highest priority among these communication paths determined based on the ICE method is selected as a data communication path from among the paths, and a new communication path is selected in the data communication processing unit by the ICE communication path management unit. When selected as the data communication path, the data communication is continued to be switched to the new communication path, and when the ICE check processing unit performs connection check of each communication path, the partner communication terminal via the communication path The other communication terminal is notified of the priority order regarding the communication path using a connection check command transmitted to the other communication terminal .
また、本発明にかかる通信制御方法は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理ステップと、各通信経路のうち、ICEチェック処理ステップでの接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、ICE通信経路管理ステップで選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理ステップとを備え、ICE通信経路管理ステップに、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定するステップと、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理ステップで接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから優先順位が最も高い通信経路を、データ通信用経路として選択するステップを含み、データ通信処理ステップに、ICE通信経路管理ステップで新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するステップを含むようにしたものである。 The communication control method according to the present invention includes an ICE check processing step for executing a connection check with a partner communication terminal based on an ICE method for passing NAT for each communication path used for data communication with the partner communication terminal, An ICE communication path management step of selecting, as a data communication path with the other communication terminal, an arbitrary communication path whose connectivity with the other communication terminal has been confirmed by the connection check in the ICE check processing step among the communication paths; A data communication processing step for performing data communication with a partner communication terminal using the data communication path selected in the ICE communication path management step, and the ICE communication path management step can be used for the data communication. The address and the other party address are notified to the other party communication terminal together with the priority of the address, For each communication path comprising the combination of these self-address and the destination address, determining the respective priority based on ICE mode from the priority of that address, when switching the data communication path to the new communication path, connectivity is confirmed by the ICE check processing step in the communication path, the RaYu destination rank highest communication path or in the communication path other than the communication path selected as the data communication path, as a data communication path The data communication processing step includes a step of switching the data communication to the new communication path and continuing when the new communication path is selected as the data communication path in the ICE communication path management step. It is a thing.
また、本発明にかかる他の通信制御方法は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理ステップと、各通信経路のうち、ICEチェック処理ステップでの接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、ICE通信経路管理ステップで選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理ステップとを備え、ICE通信経路管理ステップに、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理ステップで接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として選択するステップを含み、データ通信処理ステップに、ICE通信経路管理ステップで新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するステップを含み、ICEチェック処理ステップに、各通信経路の接続チェックを実行する際、当該通信経路を介して相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する優先順位を相手通信端末へ通知するステップを含むようにしたものである。 Another communication control method according to the present invention includes an ICE check processing step for executing a connection check with a partner communication terminal on the basis of an ICE method for passing NAT for each communication path used for data communication with the partner communication terminal. ICE communication path management step of selecting any communication path whose connectivity with the partner communication terminal has been confirmed by the connection check in the ICE check processing step from among the communication paths as a data communication path with the partner communication terminal. And a data communication processing step for performing data communication with the counterpart communication terminal using the data communication route selected in the ICE communication route management step. A new data communication route is added to the ICE communication route management step. When switching to a different communication path, the data connection whose connectivity was confirmed in the ICE check processing step in the communication path. Including a step of selecting, as a data communication path, a communication path having the highest priority among the communication paths determined based on the ICE method from communication paths other than the communication path selected as the communication path. The processing step includes a step of switching and continuing data communication to the new communication path when a new communication path is selected as the data communication path in the ICE communication path management step. When performing a connection check of a route, a step of notifying the other communication terminal of the priority order regarding the communication route using a connection check command transmitted to the other communication terminal via the communication route is included. .
本発明によれば、通信経路に切り替える際、データ通信開始時に相手通信端末との間で接続性が予め確認された通信経路が、データ通信用経路として選択されるため、従来のように、使用中の通信経路を一旦切断した後、新たな通信経路を確立する場合と比較して、極めて短い時間でNAT通過のデータ通信を新たな通信経路で継続でき、データ通信再開までの所要時間を短縮することが可能となる。また、データ通信開始時に相手通信端末との間で接続性が予め確認された通信経路のうちから、最も高い通信経路が選択されるため、結果として、優先順位の高い通信経路でデータ通信を継続することが可能となる。 According to the present invention, when switching to a communication path, a communication path whose connectivity has been confirmed in advance with the counterpart communication terminal at the start of data communication is selected as the data communication path. Compared to establishing a new communication path after disconnecting the current communication path, data communication passing through the NAT can be continued with the new communication path in a very short time, and the time required to resume data communication is shortened. It becomes possible to do. In addition, since the highest communication path is selected from the communication paths whose connectivity with the partner communication terminal has been confirmed in advance at the start of data communication, as a result, data communication continues on the communication path with a higher priority. It becomes possible to do.
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる通信端末10について説明する。図1は、第1の実施の形態にかかる通信端末の構成を示すブロック図である。
Next, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
First, with reference to FIG. 1, the
この通信端末10は、相手通信端末20とのデータ通信に使用可能な通信経路について、ICE方式(RFC5245)に基づいて相手通信端末20との接続チェックを実行し、各通信経路のうち相手通信端末20との接続性が確認された通信経路を、相手通信端末20とのデータ通信用経路として選択してデータ通信を行う機能を有している。
相手通信端末20は、一般的なICE方式に基づきNAT通信のためのデータ通信を行う機能を有しているものとする。
The
The
図1の構成例において、プライベートネットワーク51は、NAT機能を有するルータ30を介してパブリックネットワーク52に接続された閉域IP通信網であり、パブリックネットワーク52とは異なる独自のアドレス空間を用いている。通信端末10は、このプライベートネットワーク51に接続されている。
パブリックネットワーク52は、インターネットなどの公衆IP通信網である。このパブリックネットワーク52には、相手通信端末20のほか、STUNサーバ40、TURNサーバ41、および呼制御サーバ42が接続されている。
In the configuration example of FIG. 1, the
The
STUNサーバ40は、NAT通過のためのクライアントサーバ型のデータ通信プロトコルであるSTUN方式(Simple Traversal of UDP through Network Address Translators/RFC3489)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の各種通信装置との間のデータ通信を実現するサーバ装置である。
The
TURNサーバ41は、NAT通過のためのピアツーピア型のデータ通信プロトコルであるTURN方式(RFC5766)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間のデータ通信を実現するサーバ装置である。
The
呼制御サーバ42は、ICE方式に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間で、例えばSIPなどのデータ通信のための通信経路の確立などの呼制御を行うサーバ装置である。
The
本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用しているデータ通信用経路を新たな通信経路に切り替える際、相手通信端末20との間で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として切替選択し、当該新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続するようにしたものである。
In the present embodiment, when the
[通信端末]
次に、図1を参照して、本実施の形態にかかる通信端末10の構成について詳細に説明する。
通信端末10には、主な機能部として、上位アプリケーション11、ICEチェック処理部12、ICE通信経路管理部13、データ通信処理部14、Hostソケット15、およびTURNソケット16が設けられている。
[Communication terminal]
Next, the configuration of the
The
上位アプリケーション11は、相手通信端末20とのデータ通信を用いたアプリケーション、例えば音声通信や映像通信などのアプリケーションを実行する機能部である。
ICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、相手通信端末20とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる任意の通信経路について、ICE方式に基づき相手通信端末20との並列的に接続チェックを実行する機能を有している。
The
In response to an instruction from the ICE communication
ICE通信経路管理部13は、ルータ30を経由してSTUNサーバ40との間でSTUN方式に基づくバインディングメッセージ(Binding Request/Binding Respons)をやり取りすることにより、通信端末10に対応するルータ30のパブリックネットワーク52側のアドレス、すなわちMappedアドレスを取得する機能と、ルータ30を経由してTURNサーバ41との間でTURN方式に基づくアロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、通信端末10に対応するTURNサーバ41のアドレス、すなわちRelayedアドレスを取得する機能とを有している。
The ICE communication
また、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスの候補(Candidate)に関するアドレス情報を相互に通知する機能と、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する機能とを有している。
In addition, the ICE communication
さらに、ICE通信経路管理部13は、各通信経路のうち、ICEチェック処理部12での接続チェックにより相手通信端末との接続性が最初に確認された通信経路を、相手通信端末20とのデータ通信用経路として選択する機能と、データ通信用経路によりデータ通信が開始された後に、当該データ通信用経路を新たな通信経路に切り替える際、ICEチェック処理部12で接続性が確認された通信経路であって、かつ、データ通信用経路として選択されている通信経路以外の経路のうち、優先順位が最も高い通信経路を、データ通信用経路として新たに選択する機能とを有している。
Further, the ICE communication
データ通信処理部14は、ICE通信経路管理部13で選択されたデータ通信用経路を用いて相手通信端末との間で、上位アプリケーション11のための相手通信端末20とのデータ通信を行う機能と、ICE通信経路管理部13で新たな通信経路がデータ通信用経路として選択されるごとに、上位アプリケーション11のための相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続する機能とを有している。
The data
Hostソケット15は、TCPやUDPなどのプロトコルに基づいて、ルータ30を経由した、相手通信端末20、STUNサーバ40、呼制御サーバ42とのデータ通信を終端制御するための機能部である。
TURNソケット16は、TCPやUDPなどのプロトコルに基づいて、ルータ30およびTURNサーバ41を経由した相手通信端末20とのデータ通信を終端制御するための機能部である。
The
The
[第1の実施の形態の動作]
次に、図2Aおよび図2Bを参照して、本実施の形態にかかる通信端末10の動作について説明する。図2Aは、第1の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。図2Bは、第1の実施の形態にかかる通信端末の通信制御動作(続き)を示すシーケンス図である。
[Operation of First Embodiment]
Next, with reference to FIG. 2A and FIG. 2B, operation | movement of the
ここでは、前述の図1に示すように、通信端末10がプライベートネットワーク51内に接続されており、パブリックネットワーク52に接続されている相手通信端末20との間で通信経路を確立する場合を例として説明する。なお、通信端末10がパブリックネットワーク52に接続されている場合、さらには相手通信端末20がプライベートネットワーク51内に接続されている場合でも、本実施の形態を同様に適用できる。
Here, as shown in FIG. 1 described above, an example in which the
図3は、通信端末における使用可能アドレスを示す説明図である。図1の接続形態において、通信端末10における使用可能アドレスは、図3に示すように、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類となる。
FIG. 3 is an explanatory diagram showing usable addresses in the communication terminal. In the connection form of FIG. 1, there are three types of usable addresses in the
このうち、Hostアドレスは、ルータ30が通信端末10の接続時に予め割り当てたプライベートネットワーク51上におけるローカルアドレスであり、Hostソケット15のアドレス10Hに相当する。また、Mappedアドレスは、Hostアドレスに対応して設けたルータ30のパブリックネットワーク52上におけるグローバルアドレスであり、ルータ30のアドレス10Mに相当する。また、Relayedアドレスは、通信端末10のTURNソケット16に対応してTURNサーバ41に設けられたアドレス10Rに相当する。
Among these, the host address is a local address on the
通信端末10のICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めSTUNサーバ40との間で、バインディングメッセージ(Binding Request/Binding Respons)をやり取りすることにより、Mappedアドレス10Mの値を取得する(ステップ100)。Mappedアドレス10Mは、ルータ30で管理しているものであり、通信端末10へ通知されないため、通信端末10はパブリックネットワーク52に接続されているSTUNサーバ40を利用して、Mappedアドレス10Mを取得する。
The ICE communication
また、ICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス10Rの値を取得する(ステップ101)。このアロケートメッセージにより、ルータ30を介して通信端末10のTURNソケット16とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス10Rが通信端末10へ通知される。
Further, the ICE communication
図4は、相手通信端末における使用可能アドレスを示す説明図である。図1の接続形態において、相手通信端末20における使用可能アドレスは、図4に示すように、Host、およびRelayedの2種類となる。
このうち、Hostは、相手通信端末20のパブリックネットワーク52上におけるグローバルアドレスであり、アドレス20Hに相当する。また、Relayedは、相手通信端末20に対応してTURNサーバ41に設けられたアドレス20Rに相当する。なお、相手通信端末20は、パブリックネットワーク52に接続されているためMappedアドレスは存在しない。
FIG. 4 is an explanatory diagram showing usable addresses in the partner communication terminal. In the connection form of FIG. 1, there are two types of usable addresses in the partner communication terminal 20: Host and Relayed, as shown in FIG.
Among these, Host is a global address on the
また、相手通信端末20は、通信端末10とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス20Rの値を取得する(ステップ102)。このアロケートメッセージにより、相手通信端末20とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス20Rが相手通信端末20へ通知される。
Further, the
このようにして、通信端末10および相手通信端末20において、自端末でデータ通信に使用可能な自アドレスを取得した状態において、通信端末10の上位アプリケーション11からデータ通信開始が要求された場合、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスをやり取りする(ステップ110)。
これにより、前述の図3および図4に示したアドレス値やアドレス種別、さらにはそれぞれのアドレス優先度などを含むアドレス情報が、通信端末10と相手通信端末20との間で相互に通知される。
In this way, when the
As a result, the address information including the address values and address types shown in FIGS. 3 and 4 as well as the respective address priorities are mutually notified between the
この後、ICE通信経路管理部13は、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する(ステップ111)。
通常、ICE方式では、アドレス種別に基づいて優先度が割り当てられており、Hostアドレス>Mappedアドレス>Relayedアドレスの順に高い優先度が割り当てられている。このほか、ICE方式では、同一種別優先度のアドレス間における優先度を示すローカル優先度や、同一ローカル優先度のアドレス間における優先度を示すコンポーネントIDを用いて、各アドレスの優先度が算出される。各通信経路の優先順位は、当該通信経路を構成する自アドレスおよび相手アドレスの優先度を用いて決定される。
Thereafter, the ICE communication
Normally, in the ICE system, priorities are assigned based on address types, and higher priorities are assigned in the order of Host address> Mapped address> Relayed address. In addition, in the ICE method, the priority of each address is calculated using a local priority indicating a priority between addresses of the same type priority and a component ID indicating a priority between addresses of the same local priority. The The priority of each communication path is determined by using the priority of the own address and the other party address constituting the communication path.
図5は、通信経路の優先順位を示す説明図である。前述したように、通信端末10および相手通信端末20のそれぞれが、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類のアドレスを有している場合、これら組合せから合計9つの通信経路が想定され、Host−Hostの組合せからなる通信経路の優先順位が最も高く、Relayed−Relayedの組合せからなる通信経路の優先順位が最も低くなる。
FIG. 5 is an explanatory diagram showing the priority order of communication paths. As described above, when each of the
図1の接続形態では、相手通信端末20にMappedアドレスが存在しないため、図5に示すように、Host−Mapped、Mapped−Mapped、およびRelayed−Mappedの組合せからなる通信経路は該当なしとなり、結果として合計6つの通信経路が考えられる。
また、相手通信端末20においても、通信端末10と同様にして、各通信経路の優先順位が決定される(ステップ112)。
In the connection form of FIG. 1, since there is no mapped address in the
Also in the
このようにして、各通信経路の優先順位を決定した後、通信端末10のICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、これら通信経路ごとにICE方式に基づく接続チェックコマンドを、Hostソケット15やTURNソケット16からルータ30を介して相手通信端末20へ並列して送信することにより、各通信経路に関する相手通信端末20との接続チェックを並列的に実行する(ステップ120)。
After determining the priority of each communication path in this way, the ICE
一方、相手通信端末20は、通信端末10からの接続チェックコマンドを受信した場合、接続チェックコマンドを受信したアドレスでの接続性を確認し、データ通信可能な場合には接続チェックレスポンスを通信端末10へ返送する。
通信端末10のICEチェック処理部12は、相手通信端末20からの接続チェックレスポンスの受信に応じて、それぞれの通信経路の接続性を確認する。
On the other hand, when receiving a connection check command from the
The ICE
ここで、まず最初に、相手通信端末20からアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ121)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはTURNソケット16を含めて通知する。
Here, first, when a connection check response relating to a communication path composed of the combination of
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知であることから、当該通信経路をデータ通信用経路として選択し、データ通信処理部14へ通知する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるTURNソケット16を含めて通知する。
When the ICE communication
データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、アドレス10R−アドレス20Rの組合せからなる通信経路を用いた、相手通信端末20とのデータ通信を開始する(ステップ122)。具体的には、ICE通信経路管理部13から通知されたTURNソケット16を用いて、相手通信端末20とのデータ通信を開始する。
これにより、上位アプリケーション11が、相手通信端末20の上位アプリケーションとの間で、データ通信が開始され、例えば音声通信や映像通信などのアプリケーションが実行される。
In response to the data communication path selection notification from the ICE communication
As a result, the
この後、相手通信端末20からアドレス10M−アドレス20Hの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ130)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはHostソケット15を含めて通知する。
Thereafter, when a connection check response related to a communication path consisting of the combination of the
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10M−アドレス20Hの組合せからなる新たな通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知ではないことから、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる通信経路との間で、それぞれの通信経路に関する優先順位を比較する(ステップ131)。
When the ICE communication
ここで、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる最初の通信経路より、アドレス10M−アドレス20Hの組合せからなる新たな通信経路のほうが、優先順位が高いため、ICE通信経路管理部13は、データ通信用経路として、アドレス10M−アドレス20Hの組合せからなる新たな通信経路をデータ通信用経路として選択する(ステップ132)。
Here, the new communication path composed of the
そして、ICE通信経路管理部13は、それまでデータ通信用経路として使用していたアドレス10R−アドレス20Rの組合せからなる通信経路についての通信終了コマンドを、ルータ30から相手通信端末20へTCP制御用パケットで送信する(ステップ133)。
Then, the ICE communication
相手通信端末20は、通信端末10からの通信終了コマンドの受信に応じて、ステップ130で直前に接続チェックレスポンスを返送したアドレス10M−アドレス20Hの組合せからなる通信経路を新たなデータ通信用経路として選択するとともに、アドレス10R−アドレス20Rの組合せからなる通信経路の使用を終了し、通信終了レスポンスを通信端末10へTCP制御用パケットで返送する(ステップ134)。
これにより、ICE通信経路管理部13は、アドレス10R−アドレス20Rの組合せからなる通信経路の使用、ここではTURNソケット16を用いた通信経路の使用を終了する。
In response to the reception of the communication end command from the
Thereby, the ICE communication
また、ICE通信経路管理部13は、通信終了コマンドの送信後、アドレス10M−アドレス20Hの組合せからなる新たな通信経路を、データ通信用経路としてデータ通信処理部14へ通知することにより、データ通信用経路の切り替えを指示する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるHostソケット15を含めて通知する。
Further, after transmitting the communication end command, the ICE communication
これにより、データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、今まで用いていたアドレス10R−アドレス20Rの組合せからなる通信経路を、アドレス10M−アドレス20Hの組合せからなる新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続する(ステップ135)。具体的には、ICE通信経路管理部13から通知されたHostソケット15を用いて、相手通信端末20とのデータ通信を開始する。
これにより、通信端末10と相手通信端末20との間で、より優先順位の高い通信経路を用いたデータ通信が開始される。
Thereby, the data
Thereby, data communication using a communication path with a higher priority is started between the
なお、ICE通信経路管理部13は、通信経路の優先順位を比較した結果、現在、データ通信用経路として使用している通信経路より、ICEチェック処理部12から新たに通知された通信経路の方が、優先順位が低い場合、通信経路の切り替えは行わず、現在、データ通信用経路として使用している通信経路を用いたデータ通信を維持する。
また、ICE通信経路管理部13は、通信経路の切替を行った後、より優先順位の高い新たな通信経路の接続性が確認された場合、当該新たな通信経路をデータ通信用経路として切替選択する。
As a result of comparing the priority order of the communication paths, the ICE communication
In addition, after switching the communication path, the ICE communication
このようにして、通信端末10と相手通信端末20との間でデータ通信が行われている状態において(ステップ140)、当該通信経路での通信品質の低下などの理由により、使用中の通信経路を新たな通信経路へ切り替える場合、通信端末10のICE通信経路管理部13は、ICEチェック処理部12でデータ通信開始時に接続性が確認された通信経路であって、かつ、データ通信用経路として現在選択されている通信経路以外の経路の優先順位を比較し(ステップ141)、これらのうち、優先順位が最も高い通信経路、ここでは、アドレス10H−アドレス20Rの組合せからなる通信経路を、データ通信用経路として新たに選択する(ステップ142)。
In this way, in a state where data communication is performed between the
この後、ICE通信経路管理部13は、それまでデータ通信用経路として使用していた通信経路、ここではアドレス10M−アドレス20Hの組合せからなる通信経路についての通信終了コマンドを、ルータ30から相手通信端末20へ送信する(ステップ143)。
Thereafter, the ICE communication
相手通信端末20は、通信端末10からの通信終了コマンドの受信に応じて、データ通信開始時に接続性が確認された通信経路であって、かつ、データ通信用経路として現在選択されている通信経路以外の経路の優先順位を比較し(ステップ144)、これらのうち、優先順位が最も高い通信経路を、データ通信用経路として新たに選択する(ステップ145)。これにより、通信端末10と同一の通信経路、すなわちアドレス10H−アドレス20Rの組合せからなる通信経路がデータ通信用経路として新たに選択される。
The
この後、相手通信端末20は、アドレス10M−アドレス20Hの組合せからなる通信経路の使用を終了し、通信終了レスポンスを通信端末10へ返送する(ステップ146)。
これにより、ICE通信経路管理部13は、アドレス10M−アドレス20Hの組合せからなる通信経路の使用、ここではHostソケット15を用いた通信経路の使用を終了する。
Thereafter, the
Thereby, the ICE communication
また、ICE通信経路管理部13は、通信終了コマンドの送信後、アドレス10R−アドレス20Hの組合せからなる新たな通信経路を、データ通信用経路としてデータ通信処理部14へ通知することにより、データ通信用経路の切り替えを指示する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるTURNソケット16を含めて通知する。
Further, after transmitting the communication end command, the ICE communication
これにより、データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、今まで用いていたアドレス10M−アドレス20Hの組合せからなる通信経路を、アドレス10H−アドレス20Rの組合せからなる新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続する(ステップ147)。具体的には、ICE通信経路管理部13から通知されたTURNソケット16を用いて、相手通信端末20とのデータ通信を開始する。
これにより、通信端末10と相手通信端末20との間で、使用可能な通信経路のうち、より優先順位の高い通信経路を用いたデータ通信が開始される。
As a result, the data
Thereby, the data communication using the communication path with higher priority among the usable communication paths is started between the
[第1の実施の形態の効果]
このように、本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用しているデータ通信用経路を新たな通信経路に切り替える際、相手通信端末20との間で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として選択し、当該新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続するようにしたものである。
[Effect of the first embodiment]
As described above, in the present embodiment, when the
これにより、通信経路に切り替える際、データ通信開始時に相手通信端末20との間で接続性が予め確認された通信経路が、データ通信用経路として選択されるため、従来のように、使用中の通信経路を一旦切断した後、新たな通信経路を確立する場合と比較して、極めて短い時間でNAT通過のデータ通信を新たな通信経路で継続でき、データ通信再開までの所要時間を短縮することが可能となる。
また、データ通信開始時に相手通信端末20との間で接続性が予め確認された通信経路のうちから、最も高い通信経路が選択されるため、結果として、優先順位の高い通信経路でデータ通信を継続することが可能となる。
As a result, when switching to the communication path, the communication path whose connectivity with the
In addition, since the highest communication path is selected from the communication paths whose connectivity with the
また、本実施の形態では、ICEチェック処理部12で、各通信経路の接続チェックを実行する際、これら通信経路について並列的に接続チェックを実行するようにしたので、各通信経路の接続性確認に要する時間を短縮することができる。
また、本実施の形態では、これら通信経路のうち最初に接続性が確認された通信経路をデータ通信用経路として選択してデータ通信を開始し、この後に、各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路より当該新たな通信経路の優先順位が高い場合、相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続するようにしたので、極めて短い時間でNAT通過のデータ通信を、優先順位の高い通信経路で開始することができる。
In the present embodiment, when the ICE
In the present embodiment, the communication path in which connectivity is first confirmed among these communication paths is selected as the data communication path to start data communication, and thereafter, a new communication is selected from each communication path. When the connectivity of the route is confirmed, if the priority of the new communication route is higher than the data communication route, the data communication with the
また、本実施の形態では、ICE通信経路管理部13で、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる各通信経路について、当該アドレスの優先度に基づきそれぞれの優先順位を決定するようにしたので、通信端末10と相手通信端末20との間で、各通信経路について同じ優先順位を付与することができる。
Further, in the present embodiment, the ICE communication
また、本実施の形態では、相手通信端末20において、通信端末10から通知された各アドレスの優先度に基づいて、各通信経路の優先順位を決定する場合を例として説明したが、これら各通信経路の優先順位を通信端末10から相手通信端末20へ通知するようにしてもよい。具体的には、通信端末10のICEチェック処理部12において、各通信経路の接続チェックを実行する際、当該通信経路を介して相手通信端末20へ送信する接続チェックコマンドを用いて、当該通信経路に関する優先順位を相手通信端末20へ通知してもよい。これにより、通信端末10と同様の優先順位決定処理を相手通信端末20で実行する必要がなくなり、処理負担を軽減できる。
Further, in the present embodiment, the case has been described as an example in which the
また、本実施の形態では、通信端末10と相手通信端末20とのデータ通信に使用可能な通信経路として、図5に6つの通信経路を示したが、通信端末10のHostアドレス10Hは、プライベートネットワーク51内のローカルアドレスであるため、相手通信端末20からHostアドレス10Hへアクセスすることはできず、このHostアドレス10Hを用いた通信経路は利用できない。
In this embodiment, six communication paths are shown in FIG. 5 as communication paths that can be used for data communication between the
したがって、例えばICE通信経路管理部13において、自アドレスのうち相手からのアクセス可否を、当該アドレス値、アドレス値に割り当てられているマスクやスコープに基づき判定し、アクセス可能なアドレスの通信経路についてのみ、ICEチェック処理部12で相手通信端末20との接続性をチェックするようにしてもよい。これにより、接続チェックコマンドや接続チェックレスポンスをやり取りするためのネットワーク装置や相手通信端末20での処理負荷を軽減できる。
Therefore, for example, the ICE communication
なお、相手通信端末20からアクセスできない通信経路について接続チェックを行った場合、相手通信端末20からの接続チェックレスポンスが正常に通信端末10へ返送されないため、実際には、このような通信経路が誤って使用されることはない。
したがって、相手通信端末20からアクセスできない通信経路を判定することなく、自アドレスおよびステップ110で取得した相手アドレスの組合せからなるすべての通信経路について接続チェックを並列的に実行することにより、通信端末10での処理負担を軽減できる。
In addition, when a connection check is performed on a communication path that cannot be accessed from the
Therefore, the
また、本実施の形態では、図2において、通信端末10から相手通信端末20へ通信終了コマンドを送信した後、データ通信用経路を新たな通信経路に切り替える場合を例として説明したが、これは通信端末10と相手通信端末20との間でTCPに基づくデータ通信を行う場合を想定したものである。UDPに基づきデータ通信の場合には、複数の通信経路を並列的に利用できることから、通信終了コマンドを送信する前に、新たな通信経路でデータ通信を開始しておき、その後、通信終了コマンドを送信して元の通信経路に関するデータ通信の終了手続を行うようにしてもよい。
In the present embodiment, the case where the communication end command is transmitted from the
[第2の実施の形態]
次に、本発明の第2の実施の形態にかかる通信端末10について説明する。第1の実施の形態では、ICEチェック処理部12で、各通信経路の接続チェックを実行する際、これら通信経路について並列的に接続チェックを実行する場合について説明した。本実施の形態では、並列的ではなく、優先順位の高い方から順に接続チェックを実行する場合について説明する。
[Second Embodiment]
Next, the
前述したように、ICE方式では、データ通信を開始する際、各通信経路のうち優先順位の高い方から順に接続チェックを実行し、最初に接続性が確認された通信経路を用いてデータ通信を行うものとし、これ以降の優先順位の通信経路については、接続チェックを省略するものとなっている。本実施の形態は、この方法を利用して、任意の通信経路で接続性が確認された場合でも、すべての通信経路について接続チェックを実行するようにしたものである。 As described above, in the ICE method, when data communication is started, connection check is performed in order from the communication route with the highest priority among the communication routes, and data communication is performed using the communication route whose connectivity is first confirmed. It is assumed that the connection check is omitted for communication routes with priorities thereafter. In this embodiment, even when connectivity is confirmed on an arbitrary communication path using this method, connection check is executed on all communication paths.
本実施の形態において、ICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、相手通信端末20とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなるすべての通信経路について、当該通信経路の優先順位の高いものから順に、ICE方式に基づき相手通信端末20との接続チェックを実行する機能を有している。
In the present embodiment, the ICE
[第2の実施の形態の動作]
次に、図6を参照して、本実施の形態にかかる通信端末10の動作について説明する。図6は、第2の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。
[Operation of Second Embodiment]
Next, with reference to FIG. 6, operation | movement of the
前述した図2Aのステップ100〜102のようにして、通信端末10および相手通信端末20において、自端末でデータ通信に使用可能な自アドレスを取得した状態において、通信端末10の上位アプリケーション11からデータ通信開始が要求された場合、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスをやり取りする(ステップ110)。
これにより、前述の図3および図4に示したアドレス値やアドレス種別、さらにはそれぞれのアドレス優先度などを含むアドレス情報が、通信端末10と相手通信端末20との間で相互に通知される。
In the state where the
As a result, the address information including the address values and address types shown in FIGS. 3 and 4 as well as the respective address priorities are mutually notified between the
この後、ICE通信経路管理部13は、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する(ステップ111)。
また、相手通信端末20においても、通信端末10と同様にして、各通信経路の優先順位が決定される(ステップ112)。
Thereafter, the ICE communication
Also in the
このようにして、各通信経路の優先順位を決定した後、通信端末10のICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、これら通信経路のうち、優先順位の高いものから順に、ICE方式に基づく接続チェックコマンドを、Hostソケット15やTURNソケット16からルータ30を介して相手通信端末20へ送信することにより、各通信経路に関する相手通信端末20との接続チェックを実行する。
After determining the priority order of each communication path in this way, the ICE
例えば、前述した図5の例によれば、ICEチェック処理部12は、まず、最も優先順位の高い、アドレス10H−アドレス20Hの組合せからなる通信経路について、接続チェックコマンドを送信する(ステップ200)。ここで、この通信経路のアドレス10Hは、相手通信端末20からアクセスできないため接続チェックレスポンスが通信端末10へ届くことはなく、タイムアウトエラーとなる。
For example, according to the example of FIG. 5 described above, the ICE
続いて、ICEチェック処理部12は、次に優先順位の高い、アドレス10M−アドレス20Hの組合せからなる通信経路について、接続チェックコマンドを送信する(ステップ201)。ここで、相手通信端末20からの接続チェックレスポンスが受信できた場合(ステップ202)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。
Subsequently, the ICE
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10M−アドレス20Hの組合せからなる通信経路に関する接続性確認の通知を受けた場合、当該通信経路をデータ通信用経路として選択し、データ通信処理部14へ通知する。
データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、10M−アドレス20Hの組合せからなる通信経路を用いた、相手通信端末20とのデータ通信を開始する(ステップ203)。
When the ICE communication
The data
ICEチェック処理部12は、アドレス10M−アドレス20Hの組合せからなる通信経路の接続性確認をICE通信経路管理部13へ通知した後、残りの通信経路について、優先順位の高いものから順に接続チェックコマンドを送信し、相手通信端末20からの接続チェックレスポンスに応じて、当該通信経路の接続性を確認する(ステップ210)。
この後、使用中の通信経路を新たな通信経路へ切り替える場合、前述した図2Bの処理へ移行することになる。
The ICE
Thereafter, when the communication path in use is switched to a new communication path, the process proceeds to the process of FIG. 2B described above.
[第2の実施の形態の効果]
このように、本実施の形態では、ICEチェック処理部12により、各通信経路の接続チェックを実行する際、優先順位の高い方から順にすべての通信経路について接続チェックを実行するようにしたので、各通信経路について並列的に接続チェックを実行するのではなく、一般的なICE方式を利用してすべての通信経路の接続性を確認することができる。
[Effect of the second embodiment]
As described above, in the present embodiment, when the connection check of each communication path is executed by the ICE
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
[Extended embodiment]
The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. In addition, each embodiment can be implemented in any combination within a consistent range.
10…通信端末、11…上位アプリケーション、12…ICEチェック処理部、13…ICE通信経路管理部、14…データ通信処理部、15…Hostソケット、16…TURNソケット、20…相手通信端末、30…ルータ、40…STUNサーバ、41…TURNサーバ、42…呼制御サーバ、51…プライベートネットワーク、52…パブリックネットワーク、10H,20H…Hostアドレス、10M…Mappedアドレス、10R,20R…Relayedアドレス。
DESCRIPTION OF
Claims (4)
前記各通信経路のうち、前記ICEチェック処理部での前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、
前記ICE通信経路管理部で選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理部と
を備え、
前記ICE通信経路管理部は、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、前記相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる前記各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定し、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理部で接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから前記優先順位が最も高い通信経路を、前記データ通信用経路として選択し、
前記データ通信処理部は、前記ICE通信経路管理部で前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続する
ことを特徴とする通信端末。 For each communication path used for data communication with the counterpart communication terminal, an ICE check processing unit that performs a connection check with the counterpart communication terminal based on the ICE method for passing NAT,
ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check at the ICE check processing unit from among the communication paths as a data communication path with the counterpart communication terminal. A communication path management unit;
A data communication processing unit that performs data communication with the counterpart communication terminal using the data communication path selected by the ICE communication path management unit;
The ICE communication path management unit mutually notifies the address and the partner address that can be used for the data communication, together with the priority of the address, with the partner communication terminal. For each communication path composed of a combination, the priority of each address is determined based on the ICE method based on the priority of the address, and when the data communication path is switched to a new communication path, the ICE check process among the communication paths connectivity is confirmed by the section, the highest communication path the priority among the communication path other than the communication path selected as the data communication path is selected as the data communication path,
The data communication processing unit switches the data communication to the new communication path and continues when the new communication path is selected as the data communication path by the ICE communication path management unit. Communication terminal.
前記各通信経路のうち、前記ICEチェック処理部での前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check at the ICE check processing unit from among the communication paths as a data communication path with the counterpart communication terminal. A communication path management unit;
前記ICE通信経路管理部で選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理部とA data communication processing unit for performing data communication with the counterpart communication terminal using the data communication path selected by the ICE communication path management unit;
を備え、With
前記ICE通信経路管理部は、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理部で接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、前記データ通信用経路として選択し、The ICE communication path management unit is selected as the data communication path whose connectivity has been confirmed by the ICE check processing unit among the communication paths when switching the data communication path to a new communication path. From among communication paths other than the communication path, select the communication path having the highest priority of these communication paths determined based on the ICE method as the data communication path,
前記データ通信処理部は、前記ICE通信経路管理部で前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続し、When the new communication path is selected as the data communication path by the ICE communication path management unit, the data communication processing unit continues to switch the data communication to the new communication path,
前記ICEチェック処理部は、前記各通信経路の接続チェックを実行する際、当該通信経路を介して前記相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する前記優先順位を前記相手通信端末へ通知するThe ICE check processing unit uses the connection check command transmitted to the counterpart communication terminal via the communication path when executing the connection check of each communication path to set the priority order for the communication path to the counterpart communication. Notify terminal
ことを特徴とする通信端末。A communication terminal characterized by that.
前記各通信経路のうち、前記ICEチェック処理ステップでの前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、
前記ICE通信経路管理ステップで選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理ステップと
を備え、
前記ICE通信経路管理ステップは、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、前記相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる前記各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定するステップと、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理ステップで接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから前記優先順位が最も高い通信経路を、前記データ通信用経路として選択するステップを含み、
前記データ通信処理ステップは、前記ICE通信経路管理ステップで前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続するステップを含む
ことを特徴とする通信制御方法。 An ICE check processing step for performing a connection check with the counterpart communication terminal based on the ICE scheme for passing NAT for each communication path used for data communication with the counterpart communication terminal;
ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check in the ICE check processing step among the communication paths as a data communication path with the counterpart communication terminal. A communication path management step;
A data communication processing step of performing data communication with the counterpart communication terminal using the data communication path selected in the ICE communication path management step,
In the ICE communication path management step, the own address and the partner address that can be used for the data communication are mutually notified with the partner communication terminal together with the priority of the address, and the self address and the partner address For each communication path composed of a combination, a step of determining each priority based on the priority of the address based on the ICE method, and when switching the data communication path to a new communication path, the ICE of the communication paths connectivity Check processing steps has been confirmed, the highest priority communication path from among the selected non-communication path is a communication path as the data communication path, the step of selecting as said data communication path Including
The data communication processing step includes a step of switching the data communication to the new communication path and continuing when the new communication path is selected as the data communication path in the ICE communication path management step. A communication control method.
前記各通信経路のうち、前記ICEチェック処理ステップでの前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check in the ICE check processing step among the communication paths as a data communication path with the counterpart communication terminal. A communication path management step;
前記ICE通信経路管理ステップで選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理ステップとA data communication processing step for performing data communication with the counterpart communication terminal using the data communication path selected in the ICE communication path management step;
を備え、With
前記ICE通信経路管理ステップは、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理ステップで接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、前記データ通信用経路として選択するステップを含み、The ICE communication path management step is selected as the data communication path whose connectivity has been confirmed in the ICE check processing step among the communication paths when switching the data communication path to a new communication path. Selecting a communication path having the highest priority of these communication paths determined based on the ICE method from communication paths other than the communication path, as the data communication path,
前記データ通信処理ステップは、前記ICE通信経路管理ステップで前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続するステップを含み、The data communication processing step includes a step of switching the data communication to the new communication path and continuing when the new communication path is selected as the data communication path in the ICE communication path management step;
前記ICEチェック処理ステップは、前記各通信経路の接続チェックを実行する際、当該通信経路を介して前記相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する前記優先順位を前記相手通信端末へ通知するステップを含むThe ICE check processing step uses the connection check command transmitted to the counterpart communication terminal via the communication path when executing the connection check of each communication path, and sets the priority order for the communication path to the counterpart communication. Including the step of notifying the terminal
ことを特徴とする通信制御方法。A communication control method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011153545A JP5768550B2 (en) | 2011-07-12 | 2011-07-12 | Communication terminal and communication control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011153545A JP5768550B2 (en) | 2011-07-12 | 2011-07-12 | Communication terminal and communication control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013021524A JP2013021524A (en) | 2013-01-31 |
JP5768550B2 true JP5768550B2 (en) | 2015-08-26 |
Family
ID=47692517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011153545A Active JP5768550B2 (en) | 2011-07-12 | 2011-07-12 | Communication terminal and communication control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5768550B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4961368B2 (en) * | 2008-02-26 | 2012-06-27 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Terminal device, NAT traversal method, and program |
JP4661892B2 (en) * | 2008-03-25 | 2011-03-30 | 日本電気株式会社 | COMMUNICATION NETWORK SYSTEM, COMMUNICATION DEVICE, ROUTE DESIGN DEVICE, AND FAILURE RECOVERY METHOD |
JP5091887B2 (en) * | 2009-02-23 | 2012-12-05 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Terminal device, communication processing method, and program |
JP2011066826A (en) * | 2009-09-18 | 2011-03-31 | Nec Corp | Transmission apparatus and detour route monitoring-control method |
-
2011
- 2011-07-12 JP JP2011153545A patent/JP5768550B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013021524A (en) | 2013-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113014562B (en) | Method and apparatus for establishing a media session | |
KR100901790B1 (en) | CONTROL TUNNEL AND DIRECT TUNNEL CONFIGURATION METHOD IN IPv6 SERVICE PROVIDE SYSTEM BASED IPv4 NETWORK | |
US10972510B2 (en) | Media session between network endpoints | |
CN101699801B (en) | Data transmission method and virtual peer-to-peer network for data transmission | |
JP4222397B2 (en) | Relay server | |
WO2016210196A1 (en) | Media relay server | |
US10601879B2 (en) | Media session between network endpoints | |
US10079863B2 (en) | Media session between network endpoints | |
US11388138B2 (en) | Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program | |
WO2016210202A1 (en) | Media relay server | |
TWI523455B (en) | Relay servers, relay communication systems and routing machines | |
KR20130052240A (en) | Method and apparatus for provisioning network address translator traversal methods | |
JP5682782B2 (en) | Relay server and relay communication system | |
US10158604B2 (en) | Method for addressing messages in a computer network | |
US8416711B1 (en) | Systems and methods for sharing availability status information between network nodes | |
US8812694B2 (en) | Dialog establishment over a peer-to-peer architecture | |
JP2008098935A (en) | Relay server | |
JP5768550B2 (en) | Communication terminal and communication control method | |
CN113179315B (en) | Method, system and readable storage medium for providing communication between devices in multiple local area networks | |
WO2008069504A1 (en) | Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system | |
JP6898120B2 (en) | Network system, network system address resolution method, and base-side connection device | |
JP2013021523A (en) | Communication terminal and communication control method | |
JP2013118604A (en) | Telephone system, its call control server, and address server | |
EP2608488B1 (en) | Dialog establishment over a peer-to-peer architecture | |
Tanaka et al. | A disaster resilient local communication system without depending on the Internet connectivity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140424 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150413 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150608 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5768550 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |