JP2022006834A - Communication method - Google Patents

Communication method Download PDF

Info

Publication number
JP2022006834A
JP2022006834A JP2020109341A JP2020109341A JP2022006834A JP 2022006834 A JP2022006834 A JP 2022006834A JP 2020109341 A JP2020109341 A JP 2020109341A JP 2020109341 A JP2020109341 A JP 2020109341A JP 2022006834 A JP2022006834 A JP 2022006834A
Authority
JP
Japan
Prior art keywords
terminal
packet
route
nat
communication
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.)
Granted
Application number
JP2020109341A
Other languages
Japanese (ja)
Other versions
JP7408150B2 (en
Inventor
晃 渡邊
Akira Watanabe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meijo University
Original Assignee
Meijo University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Meijo University filed Critical Meijo University
Priority to JP2020109341A priority Critical patent/JP7408150B2/en
Publication of JP2022006834A publication Critical patent/JP2022006834A/en
Application granted granted Critical
Publication of JP7408150B2 publication Critical patent/JP7408150B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a communication method that can keep alive while reducing the load.SOLUTION: A communication method is performed between a first terminal 10 and a second terminal 20 under the control of a second NAT 21. The second terminal 20 transmits a keep-alive packet on the basis of TCP to a route instruction device 30 via the second NAT 21. The route instruction device 30 transmits a first route instruction packet for establishing tunnel communication to the second terminal 20 on the basis of the TCP in response to a tunnel communication start request by the first terminal 10. After the route instruction device 30 transmits the first route instruction packet, the subsequent signaling processing is performed on the basis of UDP.SELECTED DRAWING: Figure 2

Description

本発明は、通信方法に関するものである。 The present invention relates to a communication method.

エンド端末同士が通信を行うネットワークにおいて、エンド端末の間にはNAT(Netwоrk Address Translation)装置が介在する。このようなネットワーク環境において、シグナリング処理に単純な方式のUDP(User Datagram Protocol)が用いられている。例えば、特許文献1に開示される通信システムでは、スレーブ側からマスター側に送信されるキープアライブが、UDPに基づいて行われている。 In a network in which end terminals communicate with each other, a NAT (Netwоrk Addless Translation) device is interposed between the end terminals. In such a network environment, a simple method UDP (User Datagram Protocol) is used for signaling processing. For example, in the communication system disclosed in Patent Document 1, keepalive transmission from the slave side to the master side is performed based on UDP.

特開2017-34431号公報Japanese Unexamined Patent Publication No. 2017-34431

キープアライブは、シグナリングの準備としてUDPによって定期的に実行しておく必要がある。しかしながら、UDPに基づくキープアライブは、NATのテーブルの保持時間が短く、短時間の間隔で送信を繰り返す必要が生じる。そのため、受信側やネットワークに負担がかかってしまうという懸念がある。 Keepalives need to be run regularly by UDP in preparation for signaling. However, Keepalive based on UDP has a short holding time of the NAT table, and it is necessary to repeat transmission at short intervals. Therefore, there is a concern that the receiving side and the network will be burdened.

本発明は、負荷を低減しつつキープアライブを行い得る通信方法を提供することを解決すべき課題としている。 The present invention is a problem to be solved to provide a communication method capable of performing keep-alive while reducing the load.

本発明の通信方法は、
第1端末と、NATの配下にある第2端末と、の間で、行われる通信方法であって、
前記第2端末は、TCPに基づいてキープアライブパケットを前記NATを介して前記経路指示装置に送信し、
前記経路指示装置は、前記第1端末によるトンネル通信開始要求に応じて、前記第2端末に対して、TCPに基づいてトンネル通信を確立するための第1経路指示パケットを送信し、
前記経路指示装置による前記第1経路指示パケットの送信の後、その後のシグナリング処理をUDPに基づいて行うことを特徴とする。
The communication method of the present invention
It is a communication method performed between the first terminal and the second terminal under NAT.
The second terminal transmits a keepalive packet to the route indicating device via the NAT based on TCP.
The route instruction device transmits a first route instruction packet for establishing tunnel communication based on TCP to the second terminal in response to a tunnel communication start request by the first terminal.
After the route instruction device transmits the first route instruction packet, subsequent signaling processing is performed based on UDP.

本発明の通信方法は、第2端末が、TCPに基づいてキープアライブパケットをNATを介して経路指示装置に送信する構成である。NATにおけるアドレス変換テーブルの保持時間は、UDPよりもTCPの方が長い。そのため、第2端末がTCPに基づいてキープアライブパケットを送信することで、アドレス変換テーブルの保持を継続するためのキープアライブパケットの送信間隔を長くすることができる。これによりネットワークにかかる負荷を低減することができる。そして、経路指示装置によるトンネル通信を確立するための第1経路指示パケットの送信をTCPに基づいて行い、その後は、シグナリング処理をUDPに基づいて行うことができる。そのため、シグナリング処理を支障なく実行することができる。 The communication method of the present invention is configured such that the second terminal transmits a keep-alive packet to a route indicating device via NAT based on TCP. The holding time of the address translation table in NAT is longer in TCP than in UDP. Therefore, by transmitting the keep-alive packet based on TCP by the second terminal, it is possible to lengthen the transmission interval of the keep-alive packet for continuing to hold the address translation table. As a result, the load on the network can be reduced. Then, the transmission of the first route instruction packet for establishing the tunnel communication by the route instruction device can be performed based on TCP, and then the signaling process can be performed based on UDP. Therefore, the signaling process can be executed without any trouble.

図1は、本発明の実施例1の通信システムの構成を概略的に例示する説明図である。FIG. 1 is an explanatory diagram schematically illustrating the configuration of the communication system according to the first embodiment of the present invention. 図2は、図1の通信システムにおいて、第1端末が第2ホールパンチパケットを受信し、第2端末がトンネル要求パケットを受信した場合における、経路最適化処理の制御シーケンスを概略的に説明する説明図である。FIG. 2 schematically describes a control sequence of route optimization processing when a first terminal receives a second hole punch packet and a second terminal receives a tunnel request packet in the communication system of FIG. 1. It is explanatory drawing.

次に、本発明の通信方法を具体化した実施例1について、図面を参照しつつ説明する。 Next, Example 1 which embodies the communication method of the present invention will be described with reference to the drawings.

<実施例1>
(通信システム)
図1に示す通信システム1は、仮想ネットワーク通信を行うシステムである。本発明の通信方法は、通信システム1に適用される。通信システム1は、図1に示すように、第1端末10と、第2端末20と、第1NAT11と、第2NAT21と、経路指示装置30と、トンネルスイッチ40と、を備えている。通信システム1は、例えば、NTMobile(Network Traversal with Mobility)を実現するシステムに適用される。NTMobileは、実ネットワーク上に仮想のIPネットワークを構築し、相互の通信接続性(NAT越え)および移動透過性(移動しながらの通信の開始・継続)を実現する技術である。
<Example 1>
(Communications system)
The communication system 1 shown in FIG. 1 is a system that performs virtual network communication. The communication method of the present invention is applied to the communication system 1. As shown in FIG. 1, the communication system 1 includes a first terminal 10, a second terminal 20, a first NAT 11, a second NAT 21, a route indicating device 30, and a tunnel switch 40. The communication system 1 is applied to, for example, a system that realizes NTMobile (Network Traversal with Mobility). NTMobile is a technology that builds a virtual IP network on a real network and realizes mutual communication connectivity (NAT traversal) and mobile transparency (start / continuation of communication while moving).

第1端末10および第2端末20は、トンネルスイッチ40を経由して通信する場合と、トンネルスイッチ40を経由せず直接通信を行う場合がある。各端末10,20は、ネットワーク接続時に経路指示装置30に対して位置情報の登録を行う。このとき、各端末10,20には経路指示装置30から仮想IPアドレスが割り当てられ、各端末10,20のアプリケーションは仮想IPアドレスで通信を識別する。各端末10,20は、通信開始時に経路指示装置30の指示にしたがって相手端末との間にトンネル経路を構築する。 The first terminal 10 and the second terminal 20 may communicate via the tunnel switch 40 or may directly communicate without passing through the tunnel switch 40. Each terminal 10 and 20 registers the position information with the route indicating device 30 at the time of network connection. At this time, a virtual IP address is assigned to each terminal 10 and 20 from the route indicating device 30, and the application of each terminal 10 and 20 identifies the communication by the virtual IP address. Each of the terminals 10 and 20 constructs a tunnel route with the other terminal according to the instruction of the route indicating device 30 at the start of communication.

第1端末10は、例えばMN(Mobile Node)、NTM Nodeとも称される。第1端末10は、スマートフォン等の情報処理装置であり、OS(オペレーティングシステム)上でアプリケーションを起動して情報処理を行う。第1端末10は、NTMobileを実現するネットワークアプリケーションソフトウェアをダウンロード可能に構成されている。第1端末10は、後述する第1NAT11の配下にあり、IPv4プライベートアドレスを保持している。 The first terminal 10 is also referred to as, for example, MN (Mobile Node) or NTM Node. The first terminal 10 is an information processing device such as a smartphone, and activates an application on an OS (operating system) to perform information processing. The first terminal 10 is configured to be able to download network application software that realizes NT Mobile. The first terminal 10 is under the control of the first NAT 11 described later, and holds an IPv4 private address.

第1NAT11は、例えばNATmnとも称される。第1NAT11は、第1端末10と経路指示装置30との間の通信経路上に設けられるアドレス変換装置として構成されている。第1NAT11は、第1端末10を含む複数の端末を配下に備え、これらの端末で構成されるローカルネットワークと広域通信ネットワークとの間でデータを中継し、両ネットワーク間でアドレスおよびポート番号を変換するように機能する。第1NAT11は、適当に割り振られた各ローカルネットワークでのみ適用するローカルなアドレスおよびポート番号と、広域通信ネットワーク上のグローバルなアドレスおよびポート番号とを自動的に相互変換する。 The first NAT11 is also referred to as, for example, NATmn. The first NAT 11 is configured as an address translation device provided on the communication path between the first terminal 10 and the route indicating device 30. The first NAT 11 has a plurality of terminals including the first terminal 10 under its control, relays data between a local network composed of these terminals and a wide area communication network, and converts an address and a port number between the two networks. It works to do. The first NAT 11 automatically interconverts the local address and port number applicable only in each appropriately allocated local network with the global address and port number on the wide area communication network.

第2端末20は、例えばCN(Correspondent Node)とも称される。第2端末20は、スマートフォン等の情報処理装置であり、OS(オペレーティングシステム)上でアプリケーションを起動して情報処理を行う。第2端末20は、NTMobileを実現するネットワークアプリケーションソフトウェアをダウンロード可能に構成されている。第2端末20は、後述する第2NAT21の配下にあり、IPv4プライベートアドレスを保持している。 The second terminal 20 is also referred to as, for example, a CN (Correspondent Node). The second terminal 20 is an information processing device such as a smartphone, and activates an application on an OS (operating system) to perform information processing. The second terminal 20 is configured to be able to download network application software that realizes NT Mobile. The second terminal 20 is under the control of the second NAT 21, which will be described later, and holds an IPv4 private address.

第2NAT21は、例えばNATcnとも称される。第2NAT21は、第2端末20と経路指示装置30との間の通信経路上に設けられるアドレス変換装置として構成されている。第2NAT21は、第2端末20を含む複数の端末を配下に備え、これらの端末で構成されるローカルネットワークと広域通信ネットワークとの間でデータを中継し、両ネットワーク間でアドレスおよびポート番号を変換するように機能する。第2NAT21は、適当に割り振られた各ローカルネットワークでのみ適用するローカルなアドレスおよびポート番号と、広域通信ネットワーク上のグローバルなアドレスおよびポート番号とを自動的に相互変換する。 The second NAT21 is also referred to as, for example, NATcn. The second NAT 21 is configured as an address translation device provided on the communication path between the second terminal 20 and the route indicating device 30. The second NAT 21 has a plurality of terminals including the second terminal 20 under its control, relays data between a local network composed of these terminals and a wide area communication network, and converts an address and a port number between the two networks. It works to do. The second NAT 21 automatically interconverts the local address and port number applicable only in each appropriately allocated local network with the global address and port number on the wide area communication network.

経路指示装置30は、DC(Direction Coordinator)とも称される。経路指示装置30は、各端末10,20からのアクセスが可能なネットワーク上に接続されるコンピュータである。経路指示装置30は、端末10,20を含む各端末の位置情報などを管理し、各端末にトンネル構築に関わる各種処理の指示を出す装置である。経路指示装置30は、通信を行う2台の端末(端末10,20)の関係から、どの経路を取れば直接通信の経路となるのか、またどの経路を取ればトンネルスイッチ40経由の経路となるのか把握している。経路指示装置30は、各端末に対して仮想IPアドレスを割り当てる。経路指示装置30は、自身のデータベースに各端末のFQDN(Fully Qualified Domain Name)、実IPアドレス、仮想IPアドレス、NATの外側の実IPアドレスおよびポート番号を記録している。 The route indicating device 30 is also referred to as a DC (Direction Coordinator). The route indicating device 30 is a computer connected to a network accessible from the terminals 10 and 20. The route instruction device 30 is a device that manages the position information of each terminal including the terminals 10 and 20 and issues instructions to each terminal for various processes related to tunnel construction. From the relationship between the two terminals (terminals 10 and 20) that perform communication, the route indicating device 30 determines which route should be taken as the direct communication route, and which route should be taken as the route via the tunnel switch 40. I know. The route indicating device 30 assigns a virtual IP address to each terminal. The route indicating device 30 records the FQDN (Full FQDN Domain Name), real IP address, virtual IP address, real IP address and port number outside the NAT of each terminal in its own database.

トンネルスイッチ(TS)40は、各端末10,20からのアクセスが可能なネットワーク上に接続されるコンピュータである。トンネルスイッチ40は、各端末10,20がNAT越え問題やIPv4/IPv6ネットワークの混在により、直接通信を行うことができない場合に、通信パケットの中継を行う。 The tunnel switch (TS) 40 is a computer connected to a network accessible from the terminals 10 and 20. The tunnel switch 40 relays a communication packet when the terminals 10 and 20 cannot directly communicate due to a NAT traversal problem or a mixture of IPv4 / IPv6 networks.

(仮想ネットワーク通信制御)
次に、通信システム1において、仮想ネットワーク通信を行う際の制御について説明する。なお、以下の説明では、第1端末10から第2端末20に向けて通信要求を行う例を示すが、第2端末20から第1端末10に向けて通信要求を行う場合も同様である。
(Virtual network communication control)
Next, in the communication system 1, control when performing virtual network communication will be described. In the following description, an example of making a communication request from the first terminal 10 to the second terminal 20 will be shown, but the same applies to the case where the communication request is made from the second terminal 20 to the first terminal 10.

各端末10,20は、端末起動時及びネットワーク切り替え時に、登録要求パケット(Registration Request)を経路指示装置30に送信する。経路指示装置30は、登録要求パケットによって各端末10,20の実IPアドレス、NATの外側IPアドレス/ポート番号を取得し、仮想IPアドレスを割り当てる。割り当てた仮想IPアドレスは、登録応答パケット(Registration Response)によって各端末10,20に通知される。各端末10,20は、登録応答パケットを受信した後、経路指示装置30との通信経路を確保するために、経路指示装置30に対して定期的にキープアライブパケットを送信する。 Each terminal 10 and 20 transmits a registration request packet (Registration Request) to the route indicating device 30 at the time of terminal activation and network switching. The route instruction device 30 acquires the real IP address of each terminal 10 and 20 and the outside IP address / port number of NAT by the registration request packet, and assigns the virtual IP address. The assigned virtual IP address is notified to the terminals 10 and 20 by a registration response packet (Registration Response). After receiving the registration response packet, each terminal 10 and 20 periodically transmits a keep-alive packet to the route instruction device 30 in order to secure a communication route with the route instruction device 30.

例えば、図2に示すように、第2端末20は、TCP(Transmission Control Protocol)に基づいてキープアライブパケットをNATを介して経路指示装置30に送信する。図2は、通信システム1において、第1端末10から第2端末20に向けて通信要求を行う際の経路最適化処理の制御シーケンスを概略的に説明する説明図である。このように、キープアライブパケットにTCPを用いることにより、UDPを用いる場合に比べてNATテーブルが消去されるまでの時間が長く、キープアライブパケットのトラフィックを抑制することができる。 For example, as shown in FIG. 2, the second terminal 20 transmits a keep-alive packet to the routing device 30 via NAT based on TCP (Transmission Control Protocol). FIG. 2 is an explanatory diagram schematically explaining a control sequence of a route optimization process when a communication request is made from a first terminal 10 to a second terminal 20 in the communication system 1. As described above, by using TCP for the keep-alive packet, the time until the NAT table is erased is longer than when UDP is used, and the traffic of the keep-alive packet can be suppressed.

そして、経路指示装置30は、第1端末10による後述するトンネル通信開始要求(Direction Request)に応じて、第2端末20に対して、TCPに基づいてトンネル通信を確立するための後述する第1経路指示パケット(Route Direction cn)を送信する。経路指示装置30による第1経路指示パケットの送信の後、以降のシグナリング処理をUDPに基づいて行う。 Then, the route indicating device 30 responds to the tunnel communication start request (Direction Request) described later by the first terminal 10, and establishes tunnel communication with the second terminal 20 based on TCP, which will be described later. A route instruction packet (Route Direction cn) is transmitted. After the route instruction device 30 transmits the first route instruction packet, subsequent signaling processing is performed based on UDP.

各端末10,20は、通信中に実IPアドレスが変化した場合に、経路指示装置30へ新しい実IPアドレス、NATの外側IPアドレス/ポート番号を登録するとともに、シグナリング処理によりトンネル経路を再構築する。通信パケットは全てカプセル化されているため、各端末10,20のアプリケーションは、通信経路が切り替わったことに気付くことなく通信を継続することができる。上述のように、シグナリング処理をUDPに基づいて行うことで、端末が移動してNATが途中で切り替わった場合でも、再度シグナリングを行い、新たなトンネル通信経路で通信を継続することができる。 When the real IP address changes during communication, the terminals 10 and 20 register the new real IP address and the outside IP address / port number of NAT in the route indicating device 30, and reconstruct the tunnel route by signaling processing. do. Since all the communication packets are encapsulated, the applications of the terminals 10 and 20 can continue the communication without noticing that the communication path has been switched. As described above, by performing the signaling process based on UDP, even if the terminal moves and the NAT is switched in the middle, the signaling can be performed again and the communication can be continued by the new tunnel communication path.

各端末10,20がIPv4プライベートアドレスを保持している場合には、経路最適化処理が行われる。各端末10,20がパケット(後述する第2トンネル要求パケット、第2ホールパンチパケット)を送り合った結果、どちらかが相手側に到達すると、経路最適化(各端末10,20の直接通信)が成功する。経路最適化ができない場合は、トンネルスイッチ40経由の経路が生成される。 When each terminal 10 or 20 holds an IPv4 private address, route optimization processing is performed. When one of the terminals 10 and 20 reaches the other side as a result of sending packets (second tunnel request packet and second hole punch packet described later) to each other, route optimization (direct communication of each terminal 10 and 20). Will succeed. If the route cannot be optimized, a route via the tunnel switch 40 is generated.

(経路最適化処理)
図2を参照して説明する。第1端末10は、第2端末20と通信するために、第2端末20のFQDNを用いて経路指示装置30にトンネル通信開始要求(Direction Request)を送信する。経路指示装置30は、FQDNから第2端末20の端末情報を取得する。
(Route optimization processing)
This will be described with reference to FIG. The first terminal 10 transmits a tunnel communication start request (Direction Request) to the route indicating device 30 by using the FQDN of the second terminal 20 in order to communicate with the second terminal 20. The route indicating device 30 acquires the terminal information of the second terminal 20 from the FQDN.

経路指示装置30は、トンネル通信開始要求を受信すると、第2端末20およびトンネルスイッチ40に中継指示パケット(Relay Direction)を送信する。経路指示装置30は、第2端末20に対して、第2端末20から第1端末10にトンネル構築を行うように第1経路指示パケット(Route Direction cn)で指示を出す。第1経路指示パケットは、経路指示装置30から第2端末20に対する最初の指示であり、TCPに基づいて行われる。第1経路指示パケットによって、第2端末20に第1NAT11のアドレス/ポート番号が伝達される。経路指示装置30は、トンネルスイッチ40に対して、トンネルスイッチ40を介して第2端末20と第1端末10との間にトンネル構築を行うように中継指示パケット(Relay Direction )で指示を出す。第1経路指示パケットは、トンネルスイッチ40に対して第1ホールパンチパケットを送信させる指示と、第1NAT11のアドレス/ポート番号に対して第2ホールパンチパケットを送信させる指示と、を含んでいる。経路指示装置30による第1経路指示パケットの送信の後、以降のシグナリング処理は、UDPに基づいて行う。 Upon receiving the tunnel communication start request, the route instruction device 30 transmits a relay instruction packet (Relay Direction) to the second terminal 20 and the tunnel switch 40. The route instruction device 30 issues an instruction to the second terminal 20 by a first route instruction packet (Route Direction cn) so as to construct a tunnel from the second terminal 20 to the first terminal 10. The first route instruction packet is the first instruction from the route instruction device 30 to the second terminal 20, and is performed based on TCP. The address / port number of the first NAT 11 is transmitted to the second terminal 20 by the first route instruction packet. The route instruction device 30 issues a relay instruction packet (Relay Direction) to the tunnel switch 40 to construct a tunnel between the second terminal 20 and the first terminal 10 via the tunnel switch 40. The first route instruction packet includes an instruction to transmit the first hole punch packet to the tunnel switch 40 and an instruction to transmit the second hole punch packet to the address / port number of the first NAT 11. After the route instruction device 30 transmits the first route instruction packet, the subsequent signaling processing is performed based on UDP.

第2端末20は、第2経路指示パケットを受信すると、第1ホールパンチパケットと第2ホールパンチパケットを送信する。また、第2端末20は、第1経路指示パケットを受信すると、経路指示装置30に対して確認パケット(Route Direction Confirmation)を送信する。経路指示装置30は、確認パケットを受信すると、第1端末10に対して第2経路指示パケット(RDmn(Route Direction mn))を送信する。第2経路指示パケットによって、第1端末10に第2NAT21のアドレス/ポート番号が伝達される。 Upon receiving the second route instruction packet, the second terminal 20 transmits the first hole punch packet and the second hole punch packet. Further, when the second terminal 20 receives the first route instruction packet, it transmits a confirmation packet (Route Direction Configuration) to the route instruction device 30. Upon receiving the confirmation packet, the route instruction device 30 transmits a second route instruction packet (RDmn (Route Direction mn)) to the first terminal 10. The address / port number of the second NAT 21 is transmitted to the first terminal 10 by the second route instruction packet.

第2端末20は、第1ホールパンチパケットをトンネルスイッチ40に対して送信する。トこれにより、トンネルスイッチ40は、第2NAT21の外側のアドレス/ポート番号を取得することができるため、第1端末10から受信する後述する第1トンネル要求パケット(Tunnel Request)を中継して第2端末20に届けることができる。 The second terminal 20 transmits the first hole punch packet to the tunnel switch 40. As a result, the tunnel switch 40 can acquire the address / port number outside the second NAT 21, so that the second tunnel request packet (Tunnel Request), which will be described later, is relayed from the first terminal 10. It can be delivered to the terminal 20.

第2端末20は、第2ホールパンチパケットを第1NAT11のアドレス/ポート番号に対して送信する。第1NAT11が例えばcone型であると、第2ホールパンチパケットが第1NAT11を通過して第1端末10に届く。第2ホールパンチパケットが第1端末10に届くと、第1端末10は第2NAT21の外側のアドレス/ポート番号を取得するため、第1端末10から第2NAT21に向けて、後述するトンネル要求パケット(Tunnel Request Optimization)を送信することができる。なお、第2ホールパンチパケットは、第1NAT11を構成するNATの種類によって第1端末10に届かない場合がある。 The second terminal 20 transmits a second hole punch packet to the address / port number of the first NAT 11. If the first NAT 11 is, for example, a cone type, the second hole punch packet passes through the first NAT 11 and reaches the first terminal 10. When the second hole punch packet arrives at the first terminal 10, the first terminal 10 acquires the address / port number outside the second NAT 21, so that the tunnel request packet (described later) described later is directed from the first terminal 10 to the second NAT 21. Tunnel Request Optimization) can be transmitted. The second hole punch packet may not reach the first terminal 10 depending on the type of NAT constituting the first NAT 11.

第1端末10は、第2ホールパンチパケットに含まれる第2NAT21のIPアドレスおよびポート番号をトンネルテーブル(TT)に登録する。第1端末10は、経路指示装置30から第2経路指示パケットを受信することに基づいて、第2NAT21に対して、トンネル経路の生成を指示するトンネル要求パケット(Tunnel Request Optimization)を送信する。このとき、トンネル要求パケットの宛先は、トンネルテーブルに登録された第2端末20のIPアドレスおよびポート番号である。第2ホールパンチパケットが第1端末10に到達しているため、トンネル要求パケットが必ず第2端末20に届くことになる。第2端末20は、トンネル要求パケットを受信することに応じて、トンネル応答パケット(ACKtrо)を第1NAT11のIPアドレス/ポートに送信する。このパケットは、第1端末10に届く。第1端末10は、トンネル応答パケットを受信し、トンネル生成処理を終了する。これにより、第1端末10と第2端末20は、実IPアドレスでデータをカプセル化し、仮想IPアドレスを用いたトンネル通信を行う。 The first terminal 10 registers the IP address and port number of the second NAT21 included in the second hole punch packet in the tunnel table (TT). Based on receiving the second route instruction packet from the route instruction device 30, the first terminal 10 transmits a tunnel request packet (Tunnel Request Optimization) instructing the second NAT 21 to generate a tunnel route. At this time, the destination of the tunnel request packet is the IP address and port number of the second terminal 20 registered in the tunnel table. Since the second hole punch packet has reached the first terminal 10, the tunnel request packet always reaches the second terminal 20. The second terminal 20 transmits a tunnel response packet (ACKtrо) to the IP address / port of the first NAT 11 in response to receiving the tunnel request packet. This packet reaches the first terminal 10. The first terminal 10 receives the tunnel response packet and ends the tunnel generation process. As a result, the first terminal 10 and the second terminal 20 encapsulate the data with the real IP address and perform tunnel communication using the virtual IP address.

以上のように、実施例1の通信方法は、第2端末20が、TCPに基づいてキープアライブパケットを第2NAT21を介して経路指示装置30に送信する構成である。第2NAT21におけるアドレス変換テーブルの保持時間は、UDPに基づく方式よりもTCPに基づく方式の方が長い。例えば、UDPに基づく方式では、10秒に1回程度、キープアライブパケットを送信する必要があり、TCPに基づく方式では、1時間に1回程度、キープアライブパケットを送信する必要がある。そのため、UDPによる方式では通信システム1に含まれる端末の数が増えたときに、経路指示装置30やネットワークにかかる負担がより一層大きくなってしまう。そこで、第2端末20がTCPに基づいてキープアライブパケットを送信することで、アドレス変換テーブルの保持を継続するためのキープアライブパケットの送信間隔を長くすることができる。これによりネットワークにかかる負荷を低減することができる。例えば、大規模な通信システム1である場合にも有用な構成となる。そして、経路指示装置30によるトンネル通信を確立するための第1経路指示パケットの送信をTCPに基づいて行い、その後は、シグナリング処理をUDPに基づいて行うことができる。そのため、シグナリング処理を支障なく実行することができる。 As described above, the communication method of the first embodiment is configured such that the second terminal 20 transmits a keep-alive packet to the route indicating device 30 via the second NAT 21 based on TCP. The holding time of the address translation table in the second NAT 21 is longer in the TCP-based method than in the UDP-based method. For example, in the method based on UDP, it is necessary to transmit a keepalive packet about once every 10 seconds, and in the method based on TCP, it is necessary to transmit a keepalive packet about once an hour. Therefore, in the method using UDP, when the number of terminals included in the communication system 1 increases, the burden on the route indicating device 30 and the network becomes even greater. Therefore, by transmitting the keep-alive packet based on TCP, the second terminal 20 can lengthen the transmission interval of the keep-alive packet for continuing to hold the address translation table. As a result, the load on the network can be reduced. For example, it is a useful configuration even in the case of a large-scale communication system 1. Then, the first route instruction packet for establishing the tunnel communication by the route instruction device 30 can be transmitted based on TCP, and then the signaling process can be performed based on UDP. Therefore, the signaling process can be executed without any trouble.

本発明は上記記述及び図面によって説明した実施例1に限定されるものではなく、例えば次のような実施例も本発明の技術的範囲に含まれる。
実施例1では、通信システム1を構成する端末として、第1端末10および第2端末20を例示した。しかしながら、通信システム1を構成する端末は、3つ以上の端末であってもよい。例えば、通信システム1において、第1端末10は、異なる仮想IPアドレスが割り当てられた複数の第2端末と仮想ネットワーク通信を行う構成であってもよい。
The present invention is not limited to the first embodiment described by the above description and the drawings, and for example, the following examples are also included in the technical scope of the present invention.
In the first embodiment, the first terminal 10 and the second terminal 20 are exemplified as the terminals constituting the communication system 1. However, the terminals constituting the communication system 1 may be three or more terminals. For example, in the communication system 1, the first terminal 10 may be configured to perform virtual network communication with a plurality of second terminals to which different virtual IP addresses are assigned.

1…通信システム
10…第1端末(Mobile Node、MN)
11…第1NAT
20…第2端末(Correspondent Node、CN)
21…第2NAT
30…経路指示装置(Direction Coordinator、DC)
40…トンネルスイッチ(TS)
1 ... Communication system 10 ... First terminal (Mobile Node, MN)
11 ... 1st NAT
20 ... Second terminal (Correspondent Node, CN)
21 ... 2nd NAT
30 ... Direction Coordinator (DC)
40 ... Tunnel switch (TS)

Claims (1)

第1端末と、NATの配下にある第2端末と、の間で行われる通信方法であって、
前記第2端末は、TCPに基づいてキープアライブパケットを前記NATを介して経路指示装置に送信し、
前記経路指示装置は、前記第1端末によるトンネル通信開始要求に応じて、前記第2端末に対して、TCPに基づいてトンネル通信を確立するための第1経路指示パケットを送信し、
前記経路指示装置による前記第1経路指示パケットの送信の後、それに続くシグナリング処理をUDPに基づいて行うことを特徴とする通信方法。
It is a communication method performed between the first terminal and the second terminal under NAT.
The second terminal transmits a keepalive packet to the route indicating device via the NAT based on TCP.
The route instruction device transmits a first route instruction packet for establishing tunnel communication based on TCP to the second terminal in response to a tunnel communication start request by the first terminal.
A communication method comprising transmitting a first route instruction packet by the route instruction device and then performing subsequent signaling processing based on UDP.
JP2020109341A 2020-06-25 2020-06-25 Communication method Active JP7408150B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020109341A JP7408150B2 (en) 2020-06-25 2020-06-25 Communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020109341A JP7408150B2 (en) 2020-06-25 2020-06-25 Communication method

Publications (2)

Publication Number Publication Date
JP2022006834A true JP2022006834A (en) 2022-01-13
JP7408150B2 JP7408150B2 (en) 2024-01-05

Family

ID=80110863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020109341A Active JP7408150B2 (en) 2020-06-25 2020-06-25 Communication method

Country Status (1)

Country Link
JP (1) JP7408150B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4260659B2 (en) 2004-03-12 2009-04-30 エヌ・ティ・ティ・コミュニケーションズ株式会社 Terminal apparatus having NAT function of packet and program thereof
US20110082941A1 (en) 2009-10-06 2011-04-07 Electronics And Telecommunications Research Institute Method of providing direct communication in internet protocol network

Also Published As

Publication number Publication date
JP7408150B2 (en) 2024-01-05

Similar Documents

Publication Publication Date Title
KR100901790B1 (en) CONTROL TUNNEL AND DIRECT TUNNEL CONFIGURATION METHOD IN IPv6 SERVICE PROVIDE SYSTEM BASED IPv4 NETWORK
US8699466B2 (en) Apparatus and method of controlling seamless handover between heterogeneous networks based on IPv6 over IPv4 tunneling mechanism
US20150271135A1 (en) Session-aware network address translation traversal method
JP2016086219A (en) Relay device, relay system, relay method and program
JP6558492B2 (en) Network address translation device, setting request device, communication system, communication method, and program
JP5670279B2 (en) Virtual network control device, virtual network control method, virtual network control system, and program
WO2009005212A1 (en) Ipv6 over ipv4 transition method and apparatus for improving performance of control server
JP7408150B2 (en) Communication method
JP2008258917A (en) Identical nat subordinate communication control system, nat device, identical nat subordinate communication control method, and program
Yamada et al. Ip mobility protocol implementation method using vpnservice for android devices
JP2000341330A (en) Communication protocol proxy processing method, communication protocol proxy processing unit and communication protocol proxy picture service unit
JP7370066B2 (en) Communication method
WO2016078235A1 (en) Network translation realization method and apparatus for transiting to ipv6 on the basis of pant
JP3794689B2 (en) Relay device and communication control method
JP2011019007A (en) Method, device, system and program for avoiding network address overlap
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
Kamienoo et al. Implementation and evaluation of ntmobile with android smartphones in ipv4/ipv6 networks
JP5225300B2 (en) Route control method for mobile IP via private network, mobile router, and program
JP6403225B2 (en) IP address resolution method for relay device, relay device, and program
JP2010004088A (en) Communication system, network apparatus, and network connection method used for them
JP3861885B2 (en) Mobile terminal and packet transmission method
Shimizu et al. Remote dlna communication system based on ntmobile
WO2022219375A1 (en) Secure multicloud connectivity for cloud-native applications
WO2018142526A1 (en) Relay device, communication system, and communication method
JP3861903B2 (en) Mobile terminal and packet transmission method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230801

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: 20231114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231213

R150 Certificate of patent or registration of utility model

Ref document number: 7408150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150