Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6767693B2 - Communication device and communication method - Google Patents
[go: Go Back, main page]

JP6767693B2 - Communication device and communication method - Google Patents

Communication device and communication method Download PDF

Info

Publication number
JP6767693B2
JP6767693B2 JP2016176756A JP2016176756A JP6767693B2 JP 6767693 B2 JP6767693 B2 JP 6767693B2 JP 2016176756 A JP2016176756 A JP 2016176756A JP 2016176756 A JP2016176756 A JP 2016176756A JP 6767693 B2 JP6767693 B2 JP 6767693B2
Authority
JP
Japan
Prior art keywords
communication
communication device
address
communication interface
interface
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.)
Expired - Fee Related
Application number
JP2016176756A
Other languages
Japanese (ja)
Other versions
JP2018042199A (en
Inventor
壮一 川田
壮一 川田
達雄 八木
達雄 八木
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2016176756A priority Critical patent/JP6767693B2/en
Publication of JP2018042199A publication Critical patent/JP2018042199A/en
Application granted granted Critical
Publication of JP6767693B2 publication Critical patent/JP6767693B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本開示は、通信装置及び通信方法に関する。 The present disclosure relates to communication devices and communication methods.

従来、MPTCP(MultiPath TCP(Transmission Control Protocol))に従って通信する通信装置が知られている。この通信装置として、P2P(Peer to Peer)通信において、受信側ピアが、ローカルIPアドレス及びVPNに関連付けられるIPアドレスを送信側へ送信可能であることが知られている。また、MPTCP技術を使用する場合、ピアが、自身が有する利用可能なIPアドレスの全てを他のピアに送信可能であることが知られている(例えば特許文献1参照)。 Conventionally, a communication device that communicates according to MPTCP (MultiPath TCP (Transmission Control Protocol)) is known. As this communication device, it is known that in P2P (Peer to Peer) communication, a receiving peer can transmit a local IP address and an IP address associated with a VPN to the transmitting side. It is also known that when MPTCP technology is used, a peer can transmit all of its available IP addresses to other peers (see, for example, Patent Document 1).

特表2013−521677号公報Special Table 2013-521677

従来の通信装置は、複数の通信インタフェースの一部にローカルIPアドレスが割り当てられている場合、ローカルIPアドレスが割り当てられた通信インタフェースを用いてMPTCPのサブフローを確立することが困難である場合がある。 In a conventional communication device, when a local IP address is assigned to a part of a plurality of communication interfaces, it may be difficult to establish a subflow of MPTCP using the communication interface to which the local IP address is assigned. ..

本開示は、上記事情に鑑みてなされたものであり、複数の通信インタフェースの一部にローカルIPアドレスが割り当てられている場合でも、ローカルIPアドレスが割り当てられた通信インタフェースを用いてMPTCPのサブフローを高精度に確立できる通信装置及び通信方法を提供する。 This disclosure has been made in view of the above circumstances, and even if a local IP address is assigned to a part of a plurality of communication interfaces, the MPTCP subflow is performed using the communication interface to which the local IP address is assigned. Provide a communication device and a communication method that can be established with high accuracy.

本開示の通信装置は、MPTCPに従って他の通信装置と通信する通信装置であって、通信を制御するプロセッサと、アドレス変換サーバによりグローバルIPアドレスに変換されるローカルIPアドレスを用いて、第1の通信方式で通信する第1の通信インタフェースと、グローバルIPアドレスを用いて、第2の通信方式で通信する第2の通信インタフェースと、を備える。第1の通信インタフェースは、プロセッサによる制御により、MPTCPのセッション及びサブフローを確立するための第1の制御データを通信する。第2の通信インタフェースは、プロセッサによる制御により、第1の制御データの通信後、MPTCPのサブフローを追加するための第2の制御データを通信する。第1の制御データの通信においては、MPTCPのセッションを確立するためのパケットを送信し、他の通信装置からの承認パケットを受信した後、IPアドレスを通知するためのパケットを送信する。IPアドレスを通知するためのパケットは、第2の通信インタフェースに割り当てられたグローバルIPアドレスの情報を含むThe communication device of the present disclosure is a communication device that communicates with another communication device according to MPTCP, and uses a processor that controls communication and a local IP address that is converted into a global IP address by an address translation server. It includes a first communication interface that communicates by a communication method and a second communication interface that communicates by a second communication method using a global IP address. The first communication interface communicates the first control data for establishing the MPTCP session and subflow under the control of the processor. The second communication interface, under the control of the processor, communicates the second control data for adding the MPTCP subflow after the communication of the first control data. In the communication of the first control data, a packet for establishing an MPTCP session is transmitted, an approval packet from another communication device is received, and then a packet for notifying the IP address is transmitted. The packet for notifying the IP address contains the information of the global IP address assigned to the second communication interface .

本開示の通信方法は、アドレス変換サーバによりグローバルIPアドレスに変換されるローカルIPアドレスを用いて第1の通信方式で通信する第1の通信インタフェースと、グローバルIPアドレスを用いて第2の通信方式で通信する第2の通信インタフェースと、を備え、MPTCPに従って他の通信装置と通信する通信装置における通信方法であって、第1の通信インタフェースにより、MPTCPのセッション及びサブフローを確立するための第1の制御データを通信し、第2の通信インタフェースにより、第1の制御データの通信後、MPTCPのサブフローを追加するための第2の制御データを通信し、第1の制御データの通信においては、MPTCPのセッションを確立するためのパケットを送信し、他の通信装置からの承認パケットを受信した後、IPアドレスを通知するためのパケットを送信し、IPアドレスを通知するためのパケットは、第2の通信インタフェースに割り当てられたグローバルIPアドレスの情報を含むThe communication method of the present disclosure includes a first communication interface that communicates by a first communication method using a local IP address that is converted into a global IP address by an address conversion server, and a second communication method that uses a global IP address. It is a communication method in a communication device which includes a second communication interface for communicating with the other communication device and communicates with another communication device according to MPTCP , and is a first communication method for establishing an MPTCP session and a subflow by the first communication interface. The control data of the above is communicated, and after the communication of the first control data, the second control data for adding the subflow of MPTCP is communicated by the second communication interface, and in the communication of the first control data, After sending a packet for establishing an MPTCP session and receiving an approval packet from another communication device, a packet for notifying the IP address is sent, and a packet for notifying the IP address is the second. Contains information on the global IP address assigned to the communication interface of .

本開示によれば、複数の通信インタフェースの一部にローカルIPアドレスが割り当てられている場合でも、ローカルIPアドレスが割り当てられた通信インタフェースを用いてMPTCPのサブフローを高精度に確立できる。 According to the present disclosure, even when a local IP address is assigned to a part of a plurality of communication interfaces, a subflow of MPTCP can be established with high accuracy by using the communication interface to which the local IP address is assigned.

第1の実施形態における通信システムの構成例を示す模式図Schematic diagram showing a configuration example of the communication system according to the first embodiment 通信装置の構成例を示すブロック図Block diagram showing a configuration example of a communication device 通信装置の動作例を示すフローチャートFlowchart showing an operation example of a communication device 第1通信例に係る通信システムを説明するための構成図Configuration diagram for explaining the communication system according to the first communication example 第1通信例に係る通信システムの動作例を示すシーケンス図Sequence diagram showing an operation example of the communication system according to the first communication example 第1通信例に係る通信システムを説明するための構成図Configuration diagram for explaining the communication system according to the first communication example 第1通信例に係る通信システムの動作例を示すシーケンス図Sequence diagram showing an operation example of the communication system according to the first communication example 比較例に係る通信システムの動作を示すシーケンス図Sequence diagram showing the operation of the communication system according to the comparative example 他の実施形態における通信システムを説明するための模式図Schematic diagram for explaining a communication system in another embodiment

以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。 Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of already well-known matters and duplicate explanations for substantially the same configuration may be omitted. This is to avoid unnecessary redundancy of the following description and to facilitate the understanding of those skilled in the art. It should be noted that the accompanying drawings and the following description are provided for those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter described in the claims.

(本開示の一形態を得るに至った経緯)
MPTCPに従って通信する通信装置において、複数の通信インタフェースの全てにグローバルIPアドレスが割り当てられている場合、通信装置は、通信先としての他の通信装置へ、グローバルIPアドレスを通知できる。そのため、他の通信装置が主導して、通信装置との間でMPTCPのサブフローを確立できる。
(Background to obtain one form of this disclosure)
In a communication device that communicates according to MPTCP, when a global IP address is assigned to all of a plurality of communication interfaces, the communication device can notify another communication device as a communication destination of the global IP address. Therefore, another communication device can take the lead in establishing a subflow of MPTCP with the communication device.

一方、通信装置が有するIPアドレスがローカルIPアドレスである場合、通信装置と他の通信装置との間に設置されたNAT(Network Address Translation)サーバにより、このローカルIPアドレスがグローバルIPアドレスに変換される。そして、通信装置は、変換されたグローバルIPアドレスを用いて他の通信装置へデータを送信する。 On the other hand, when the IP address of the communication device is a local IP address, the NAT (Network Address Translation) server installed between the communication device and the other communication device converts this local IP address into a global IP address. To. Then, the communication device transmits data to another communication device using the converted global IP address.

特許文献1の通信装置は、自身が有する利用可能なIPアドレスを他の通信装置に送信するが、自身が有するIPアドレスがローカルIPアドレスである場合、ローカルIPアドレスに対応するグローバルIPアドレスをNATサーバへ問合せる機能を有しない。そのため、通信装置は、通知可能なIPアドレスがローカルIPアドレスとなり、グローバルIPアドレスを他の通信装置に通知することができず、他の通信装置は、通知されたローカルIPアドレスからグローバルIPアドレスの情報を認識できない。従って、他の通信装置は、通信装置との間で自主的にMPTCPのサブフローを確立できず、MPTCPのサブフローの確立に係る精度が低下することがある。 The communication device of Patent Document 1 transmits its own available IP address to another communication device, but when its own IP address is a local IP address, the global IP address corresponding to the local IP address is NATed. It does not have a function to query the server. Therefore, in the communication device, the IP address that can be notified becomes the local IP address, and the global IP address cannot be notified to other communication devices, and the other communication device changes from the notified local IP address to the global IP address. I can't recognize the information. Therefore, other communication devices cannot voluntarily establish an MPTCP subflow with the communication device, and the accuracy of establishing the MPTCP subflow may decrease.

(第1の実施形態)
[構成等]
図1は、第1の実施形態における通信システム10の構成例を示す模式図である。通信システム10は、複数の通信装置100(100A,100B,・・・)を有する。複数の通信装置100は、ネットワークNTを介して接続される。通信装置100は、例えば、PC(Personal Computer)、スマートフォン、携帯電話、サーバ、基地局装置、中継器、カメラ、ロボットを含む。中継器は、例えば、AP(Access Point)、ゲートウェイ装置、を含む。ロボットは、例えば警備用のロボットである。
(First Embodiment)
[Configuration, etc.]
FIG. 1 is a schematic diagram showing a configuration example of the communication system 10 according to the first embodiment. The communication system 10 has a plurality of communication devices 100 (100A, 100B, ...). The plurality of communication devices 100 are connected via the network NT. The communication device 100 includes, for example, a PC (Personal Computer), a smartphone, a mobile phone, a server, a base station device, a repeater, a camera, and a robot. The repeater includes, for example, an AP (Access Point), a gateway device, and the like. The robot is, for example, a security robot.

通信システム10では、各通信装置100は、MPTCPを用いて、データ通信する。 In the communication system 10, each communication device 100 uses MPTCP to perform data communication.

ネットワークNTは、無線ネットワークを含んでも有線ネットワークを含んでもよい。また、ネットワークNTは、専用ネットワークを含んでも公衆ネットワークを含んでもよい。ネットワークNTは、インターネット、イントラネット、セルラーネットワーク、WAN(Wide Area Network)、LAN(Local Area Network)、などを含む。 The network NT may include a wireless network or a wired network. Further, the network NT may include a dedicated network or a public network. The network NT includes the Internet, an intranet, a cellular network, a WAN (Wide Area Network), a LAN (Local Area Network), and the like.

通信システム10では、複数の通信装置100は、ネットワークNTを介して、所定の通信方式で、MPTCPに従ってデータ通信する。通信装置100は、音声データ、画像データ、制御データ、等を通信する。複数の通信装置100は、複数の通信方式で通信可能である。 In the communication system 10, the plurality of communication devices 100 communicate data via the network NT in accordance with MPTCP by a predetermined communication method. The communication device 100 communicates voice data, image data, control data, and the like. The plurality of communication devices 100 can communicate by a plurality of communication methods.

通信方式は、例えば、有線LAN通信、無線LAN通信、USB(Universal Serial Bus)通信、DECT(Digital Enhanced Cordless Telecommunication)、LTE(Long Term Evolution)、LTE−Advanced、ミリ波通信、セルラー通信、Bluetooth(登録商標)通信、の方式を含む。 The communication methods include, for example, wired LAN communication, wireless LAN communication, USB (Universal Serial Bus) communication, DECT (Digital Enhanced Cordless Telecommunication), LTE (Long Term Evolution), LTE-Advanced, Bluetooth communication, and millimeter-wave communication. Includes the method of (registered trademark) communication.

図2は、通信装置100の構成例を示すブロック図である。通信装置100は、メインSoC(System on a Chip)110、SDRAM120、フラッシュメモリ130、ディスプレイ140、電源コントローラ150、複数の通信インタフェース160、バッテリ180、及びDC電源コネクタ190を備える。 FIG. 2 is a block diagram showing a configuration example of the communication device 100. The communication device 100 includes a main SoC (System on a Chip) 110, an SDRAM 120, a flash memory 130, a display 140, a power controller 150, a plurality of communication interfaces 160, a battery 180, and a DC power connector 190.

複数の通信インタフェース160は、例えば、2つの通信インタフェース160a,160bを含んでもよいし、3つの通信インタフェース160a,160b,160cを含んでもよいし、4つ以上の通信インタフェースを含んでもよい。 The plurality of communication interfaces 160 may include, for example, two communication interfaces 160a, 160b, three communication interfaces 160a, 160b, 160c, or may include four or more communication interfaces.

メインSoC110は、半導体チップに各種機能を実現する構成部を集積する集積回路であり、CPU111(Central Processing Unit)、BCU(Bus Control Unit)112、及びネットワークコントローラ113を含む。 The main SoC110 is an integrated circuit that integrates components that realize various functions on a semiconductor chip, and includes a CPU 111 (Central Processing Unit), a BCU (Bus Control Unit) 112, and a network controller 113.

CPU111は、SDRAM120やフラッシュメモリ130と協働して、各種処理や制御を行う。具体的には、CPU111は、SDRAM120やフラッシュメモリ130に保持されたプログラムを実行することで、通信装置100が有する各機能を実現する。このプログラムは、例えば、OS(Operating System)、ミドルウェア、アプリケーション、を含む。 The CPU 111 performs various processes and controls in cooperation with the SDRAM 120 and the flash memory 130. Specifically, the CPU 111 realizes each function of the communication device 100 by executing a program held in the SDRAM 120 or the flash memory 130. This program includes, for example, an OS (Operating System), middleware, and an application.

BCU112は、SDRAM120やフラッシュメモリ130と協働して、通信装置100における各種バスのデータ送受を制御する。 The BCU 112 cooperates with the SDRAM 120 and the flash memory 130 to control data transmission / reception of various buses in the communication device 100.

ネットワークコントローラ113は、複数の通信インタフェース160及びネットワークコントローラ113に接続される。ネットワークコントローラ113は、各通信インタフェース160を介して接続されるネットワークNTとの間の通信を制御する。また、ネットワークコントローラ113は、CPU111と協働として、MPTCPに係る通信の制御を行う。 The network controller 113 is connected to a plurality of communication interfaces 160 and the network controller 113. The network controller 113 controls communication with the network NT connected via each communication interface 160. Further, the network controller 113 controls communication related to MPTCP in cooperation with the CPU 111.

バス115は、CPU111、BCU112、ネットワークコントローラ113、及びディスプレイ140を含む各構成部がデータを交換するための経路である。 The bus 115 is a route for each component including the CPU 111, the BCU 112, the network controller 113, and the display 140 to exchange data.

バス116は、CPU111、BCU112、SDRAM120、及びフラッシュメモリ130を含む各構成部がデータを交換するための経路である。 The bus 116 is a route for each component including the CPU 111, the BCU 112, the SDRAM 120, and the flash memory 130 to exchange data.

SDRAM120は、各種データを保持する一次記憶装置の一例である。 The SDRAM 120 is an example of a primary storage device that holds various types of data.

フラッシュメモリ130は、各種データやプログラムを保持する二次記憶装置の一例である。フラッシュメモリ130は、例えば、各通信インタフェース160を識別する識別情報と、各通信インタフェース160に割り当てられたIPアドレス(グローバルIPアドレス又はローカルIPアドレス)の情報と、を対応付けて保持する。 The flash memory 130 is an example of a secondary storage device that holds various data and programs. The flash memory 130 holds, for example, the identification information that identifies each communication interface 160 and the information of the IP address (global IP address or local IP address) assigned to each communication interface 160 in association with each other.

尚、SDRAM120、フラッシュメモリ130以外のメモリや記憶媒体が備えられてもよい。例えば、通信装置100が、各種RAM、各種ROM、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)、を備えてもよい。 A memory or storage medium other than the SDRAM 120 and the flash memory 130 may be provided. For example, the communication device 100 may include various RAMs, various ROMs, HDDs (Hard Disk Drives), or SSDs (Solid State Drives).

ディスプレイ140は、例えばLCD(Liquid Crystal Display)又は有機EL(Electro Luminescence)ディスプレイを含み、各種データを表示する。 The display 140 includes, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display, and displays various data.

電源コントローラ150は、バッテリ180及びDC電源コネクタ190に接続され、電源電力を制御する。例えば、電源コントローラ150は、メインSoC110へ供給される電力として、バッテリ180からの電力又はDC電源コネクタ19からの電力のいずれかを選択する。 The power controller 150 is connected to the battery 180 and the DC power connector 190 to control the power supply. For example, the power controller 150 selects either the power from the battery 180 or the power from the DC power connector 19 as the power supplied to the main SoC 110.

通信インタフェース160aは、ネットワークコントローラ113の制御により、第1の通信方式(例えばLTE通信)に従って、他の通信装置との間でデータ通信する。通信インタフェース160aには、IPアドレスとして、例えばグローバルIPアドレスが割り当てられる。尚、インタフェースは、例えばポートに相当する。 The communication interface 160a communicates data with another communication device according to the first communication method (for example, LTE communication) under the control of the network controller 113. For example, a global IP address is assigned to the communication interface 160a as an IP address. The interface corresponds to, for example, a port.

通信インタフェース160bは、ネットワークコントローラ113の制御により、第1の通信方式と異なる第2の通信方式(例えば無線LAN通信)に従って、他の通信装置との間でデータ通信する。通信インタフェース160aには、IPアドレスとして、例えばローカルIPアドレスが割り当てられる。 Under the control of the network controller 113, the communication interface 160b performs data communication with another communication device according to a second communication method (for example, wireless LAN communication) different from the first communication method. For example, a local IP address is assigned to the communication interface 160a as an IP address.

通信インタフェース160cは、ネットワークコントローラ113の制御により、第1の通信方式及び第2の通信方式と異なる第3の通信方式に従って、他の通信装置との間でデータ通信する。通信インタフェース160aには、IPアドレスとして、例えばローカルIPアドレスが割り当てられる。 The communication interface 160c, under the control of the network controller 113, communicates data with other communication devices according to a third communication method different from the first communication method and the second communication method. For example, a local IP address is assigned to the communication interface 160a as an IP address.

バッテリ180は、リチウムイオン電池等の二次電池を含み、電源コントローラ150の制御により、メインSoC110に対して電力供給する。 The battery 180 includes a secondary battery such as a lithium ion battery, and supplies power to the main SoC 110 under the control of the power controller 150.

DC電源コネクタ190は、外部のDC電源に接続可能であり、電源コントローラ150の制御により、メインSoC110に対して電力供給する。また、DC電源コネクタ190は、電源コントローラ150の制御により、バッテリ180へ電力を供給し、バッテリ180を充電してもよい。 The DC power connector 190 can be connected to an external DC power supply and supplies power to the main SoC 110 under the control of the power controller 150. Further, the DC power connector 190 may supply electric power to the battery 180 and charge the battery 180 under the control of the power controller 150.

尚、通信システム10に含まれる複数の通信装置100のうち、少なくとも1つの通信装置が、複数の通信方式に対応する複数の通信インタフェース160を備えていればよい。つまり、通信システム10に、単一の通信インタフェース160を備える通信装置100が含まれていてもよい。 It is sufficient that at least one of the plurality of communication devices 100 included in the communication system 10 includes a plurality of communication interfaces 160 corresponding to the plurality of communication methods. That is, the communication system 10 may include a communication device 100 including a single communication interface 160.

[動作等]
次に、通信システム10の動作について説明する。尚、自装置としての通信装置100を通信装置100Aと称することもある。また、自装置の通信相手としての通信装置100を他の通信装置100Bと称することもある。
[Operation, etc.]
Next, the operation of the communication system 10 will be described. The communication device 100 as its own device may be referred to as a communication device 100A. Further, the communication device 100 as the communication partner of the own device may be referred to as another communication device 100B.

図3は、通信装置100の動作例を示すフローチャートである。 FIG. 3 is a flowchart showing an operation example of the communication device 100.

まず、CPU111は、他の通信装置100Bに送信すべき通信データ(例えば音声データ、画像データ、制御データ)が存在するか否かを判定する(S101)。通信データが存在しない場合、S101の処理を繰り返す。 First, the CPU 111 determines whether or not there is communication data (for example, voice data, image data, control data) to be transmitted to the other communication device 100B (S101). If the communication data does not exist, the process of S101 is repeated.

他の通信装置100Bに送信すべき通信データが存在する場合、CPU111は、自装置としての通信装置100が有する複数の通信インタフェース160のそれぞれのIPアドレス(グローバルIPアドレス又はローカルIPアドレス)の情報を、フラッシュメモリ130から取得する(S102)。 When there is communication data to be transmitted to the other communication device 100B, the CPU 111 inputs the information of each IP address (global IP address or local IP address) of the plurality of communication interfaces 160 of the communication device 100 as its own device. , Obtained from the flash memory 130 (S102).

CPU111は、取得されたIPアドレスの情報に、ローカルIPアドレスが存在するか否かを判定する(S103)。 The CPU 111 determines whether or not the local IP address exists in the acquired IP address information (S103).

S103においてローカルIPアドレスが存在する場合、ネットワークコントローラ113は、ローカルIPアドレスが割り当てられた通信インタフェース160(例えば通信インタフェース160b)から、NATサーバ200を介して、MPTCPのセッションを確立するための制御データを他の通信装置100Bへ送信する(S104)。この場合、通信インタフェース160bに割り当てられたローカルIPアドレスは、NATサーバ200でグローバルIPアドレスに変換され、グローバルIPアドレスを用いて他の通信装置100Bへ制御データが送信される。 When a local IP address exists in S103, the network controller 113 controls data for establishing an MPTCP session from the communication interface 160 (for example, the communication interface 160b) to which the local IP address is assigned via the NAT server 200. Is transmitted to another communication device 100B (S104). In this case, the local IP address assigned to the communication interface 160b is converted into a global IP address by the NAT server 200, and control data is transmitted to another communication device 100B using the global IP address.

S104によりセッションが確立されると、ネットワークコントローラ113は、通信インタフェース160bを介して、通信データの通信を開始する(S105)。 When the session is established by S104, the network controller 113 starts communication of communication data via the communication interface 160b (S105).

CPU111は、取得されたIPアドレスの情報に、他にローカルIPアドレスが存在するか否かを判定する(S106)。 The CPU 111 determines whether or not another local IP address exists in the acquired IP address information (S106).

S106において他にローカルIPアドレスが存在する場合、ネットワークコントローラ113は、このローカルIPアドレスが割り当てられた通信インタフェース160(例えば通信インタフェース160c)と他の通信装置100Bとの間で、JOINメッセージを通信する(S107)。 When another local IP address exists in S106, the network controller 113 communicates a JOIN message between the communication interface 160 (for example, the communication interface 160c) to which the local IP address is assigned and the other communication device 100B. (S107).

S107では、通信装置100のローカルIPアドレスが割り当てられた通信インタフェース160cから他の通信装置100BへJOINメッセージを送信してもよいし、他の通信装置100Bから通信装置100の通信インタフェース160cへJOINメッセージを送信してもよい。そして、S106の処理に再度進む。 In S107, a JOIN message may be transmitted from the communication interface 160c to which the local IP address of the communication device 100 is assigned to the other communication device 100B, or the JOIN message may be transmitted from the other communication device 100B to the communication interface 160c of the communication device 100. May be sent. Then, the process proceeds to S106 again.

尚、JOINメッセージが正常に通信されると、通信装置100と他の通信装置100Bとの間でMPTCPのサブフローが確立される。通信装置100と他の通信装置100とは、確立されたMPTCPのサブフローを介して、通信可能となる。 When the JOIN message is normally communicated, a subflow of MPTCP is established between the communication device 100 and the other communication device 100B. The communication device 100 and the other communication device 100 can communicate with each other via an established MPTCP subflow.

一方、S103においてローカルIPアドレスが存在しない場合、全ての通信インタフェース160のアドレスがグローバルIPアドレスであることを意味する。ネットワークコントローラ113は、グローバルIPアドレスが割り当てられた通信インタフェース160(例えば通信インタフェース160a)から、セッションを確立するための制御データを送信する(S108)。 On the other hand, when the local IP address does not exist in S103, it means that the addresses of all the communication interfaces 160 are global IP addresses. The network controller 113 transmits control data for establishing a session from the communication interface 160 (for example, the communication interface 160a) to which the global IP address is assigned (S108).

S108によりセッションが確立されると、ネットワークコントローラ113は、通信インタフェース160aを介して、通信データの通信を開始する(S109)。 When the session is established by S108, the network controller 113 starts communication of communication data via the communication interface 160a (S109).

S109の処理後、又はS106において他にローカルIPアドレスが存在しない場合、ネットワークコントローラ113は、他にグローバルIPアドレスが存在するか否かを判定する(S110)。 After the processing of S109 or when there is no other local IP address in S106, the network controller 113 determines whether or not there is another global IP address (S110).

S110において他にグローバルIPアドレスが存在する場合、ネットワークコントローラ113は、このグローバルIPアドレスが割り当てられた通信インタフェース160と他の通信装置100Bとの間で、JOINメッセージを通信する(S111)。 When another global IP address exists in S110, the network controller 113 communicates a JOIN message between the communication interface 160 to which the global IP address is assigned and the other communication device 100B (S111).

S111では、通信装置100のグローバルIPアドレスが割り当てられた通信インタフェース160から他の通信装置100BへJOINメッセージを送信してもよいし、他の通信装置100Bから通信装置100のグローバルIPアドレスが割り当てられた通信インタフェース160へJOINメッセージを送信してもよい。そして、S110の処理に再度進む。 In S111, a JOIN message may be transmitted from the communication interface 160 to which the global IP address of the communication device 100 is assigned to the other communication device 100B, or the global IP address of the communication device 100 is assigned from the other communication device 100B. A JOIN message may be sent to the communication interface 160. Then, the process proceeds to S110 again.

S110において他にグローバルIPアドレスが存在しない場合、各通信インタフェース160に係るIPアドレスの情報が他の通信装置100Bへ通知済みであることを意味する。CPU111は、MPTCPのセッションを終了するか否かを判定する(S112)。 When there is no other global IP address in S110, it means that the information of the IP address related to each communication interface 160 has already been notified to the other communication device 100B. The CPU 111 determines whether or not to terminate the MPTCP session (S112).

例えば、他の通信装置100Bに送信すべき通信データが残存する場合、セッション確立を継続するので、CPU111は、セッションを終了しないと判定する。例えば、他の通信装置100Bに送信すべき通信データについて全て通信済みとなった場合、CPU111は、セッションを終了すると判定し、確立したMPTCPセッションを終了する。 For example, if the communication data to be transmitted to the other communication device 100B remains, the session establishment is continued, so that the CPU 111 determines that the session is not terminated. For example, when all the communication data to be transmitted to the other communication device 100B has been communicated, the CPU 111 determines that the session is terminated and terminates the established MPTCP session.

次に、通信システム10による具体的なMPTCP通信について説明する。ここでは、第1通信例及び第2通信例を示す。 Next, specific MPTCP communication by the communication system 10 will be described. Here, a first communication example and a second communication example are shown.

[第1通信例]
図4は、第1通信例に係る通信システム10を説明するための構成図である。第1通信例では、通信装置100Aが2つの通信インタフェース160(例えば通信インタフェース160a、通信インタフェース160b)を備え、他の通信装置100Bが1つの通信インタフェースを備える。通信装置100Aの通信インタフェース160bには、ローカルIPアドレスが割り当てられ、通信装置100Aの通信インタフェース160aには、グローバルIPアドレスが割り当てられている。通信装置100Aと他の通信装置100Bとは、インターネットNT1を介して接続される。
[First communication example]
FIG. 4 is a configuration diagram for explaining the communication system 10 according to the first communication example. In the first communication example, the communication device 100A includes two communication interfaces 160 (for example, communication interface 160a and communication interface 160b), and the other communication device 100B includes one communication interface. A local IP address is assigned to the communication interface 160b of the communication device 100A, and a global IP address is assigned to the communication interface 160a of the communication device 100A. The communication device 100A and the other communication device 100B are connected via the Internet NT1.

通信装置100AとインターネットNT1との間には、NATサーバ200が配置される。NATサーバ200は、通信装置100Aが用いるローカルIPアドレスとグローバルIPアドレスとを変換する。また、NATサーバ200は、このグローバルIPアドレスとローカルIPアドレスとの関連付けの情報を有する変換テーブルをメモリ(不図示)に保持する。 A NAT server 200 is arranged between the communication device 100A and the Internet NT1. The NAT server 200 translates the local IP address and the global IP address used by the communication device 100A. Further, the NAT server 200 holds a translation table having information on the association between the global IP address and the local IP address in a memory (not shown).

通信装置100Aでは、CPU111は、2つの通信インタフェース160に割り当てられたIPアドレスがグローバルIPアドレスであるかローカルIPアドレスであるかを判定する。2つのIPアドレスのうち、ローカルIPアドレスが存在する場合、ローカルIPアドレスが割り当てられた通信インタフェース160を用いて、通信装置100Aと通信装置100Bとの間のセッション確立を行い、第1のサブフローを確立する。 In the communication device 100A, the CPU 111 determines whether the IP addresses assigned to the two communication interfaces 160 are global IP addresses or local IP addresses. If a local IP address exists among the two IP addresses, a session is established between the communication device 100A and the communication device 100B using the communication interface 160 to which the local IP address is assigned, and the first subflow is performed. Establish.

通信装置100Aは、最初に接続された通信インタフェース160を用いて通信データの通信を行うとともに、未接続の通信インタフェース160を用いてJOINメッセージを他の通信装置100Aへ送信又は受信する。JOINメッセージによるセッションへのJOINが成功すると、通信装置100Aの2つの通信インタフェース160と他の通信装置100Bの1つの通信インタフェース160との間で、第2のサブフローが追加される。これにより、通信装置100A及び他の通信装置100Bは、第1のサブフローと第2のサブフローとを介して、同時に通信データを通信可能となる。 The communication device 100A communicates communication data using the first connected communication interface 160, and transmits or receives a JOIN message to another communication device 100A using the unconnected communication interface 160. If the JOIN to the session by the JOIN message is successful, a second subflow is added between the two communication interfaces 160 of the communication device 100A and the one communication interface 160 of the other communication device 100B. As a result, the communication device 100A and the other communication device 100B can simultaneously communicate communication data via the first subflow and the second subflow.

このような複数のサブフローを含むセッションが確立された状態で、通信装置100Aの2つの通信インタフェース160a,160bのうちいずれかの通信インタフェース160a又は160bと他の通信装置100Bの1つの通信インタフェース160との間でのサブフローが切断された場合でも、他方のサブフローは継続可能である。これは、他の通信装置100Bが、切断されていないサブフローに係る通信装置100Aの通信インタフェース160に係るグローバルIPアドレスを認識可能であるためである。この通信装置100Aの通信インタフェース160に係るグローバルIPアドレスは、通信インタフェース160に割り当てられたグローバルIPアドレスであってもよいし、通信インタフェース160に割り当てられたローカルIPアドレスに対応するグローバルIPアドレスであってもよい。従って、サブフローが残存することで、確立されたMPTCPに係るセッションは継続される。 In a state where a session including a plurality of subflows is established, one of the two communication interfaces 160a and 160b of the communication device 100A, the communication interface 160a or 160b, and one communication interface 160 of the other communication device 100B Even if the subflow between them is disconnected, the other subflow can continue. This is because the other communication device 100B can recognize the global IP address related to the communication interface 160 of the communication device 100A related to the undisconnected subflow. The global IP address related to the communication interface 160 of the communication device 100A may be the global IP address assigned to the communication interface 160, or the global IP address corresponding to the local IP address assigned to the communication interface 160. You may. Therefore, the session related to the established MPTCP is continued by the remaining subflow.

図5は、第1通信例に係る通信システム10の動作例を示すシーケンス図である。図5では、通信インタフェース160aがグローバルIPアドレスを用いて通信し、通信インタフェース160bがローカルIPアドレスを用いて通信することを想定する。 FIG. 5 is a sequence diagram showing an operation example of the communication system 10 according to the first communication example. In FIG. 5, it is assumed that the communication interface 160a communicates using the global IP address and the communication interface 160b communicates using the local IP address.

図5では、通信装置100Aの通信インタフェース160aが「インタフェース1」と記載され、通信装置100Aの通信インタフェース160bが「インタフェース2」と記載され、他の通信装置100Bの通信インタフェース160が「他インタフェース」と記載されている。 In FIG. 5, the communication interface 160a of the communication device 100A is described as "interface 1", the communication interface 160b of the communication device 100A is described as "interface 2", and the communication interface 160 of the other communication device 100B is described as "other interface". It is described as.

通信システム10では、MPTCPのセッション確立に際し、まず、通信装置100Aの通信インタフェース160bは、他の通信装置100Bの通信インタフェース160へ、NATサーバ200を介してSYN+MP_CAPABLEパケットを送信する(T101)。 In the communication system 10, when establishing the MPTCP session, first, the communication interface 160b of the communication device 100A transmits a SYN + MP_CAPABLE packet to the communication interface 160 of the other communication device 100B via the NAT server 200 (T101).

SYN+MP_CAPABLEパケットは、同期パケット(SYN)とMPTCPのセッションを確立するためのパケット(MP_CAPABLE)とを含む。尚、「MP」とは、MPTCPに係ることを意味する。 The SYN + MP_CAPABLE packet includes a synchronization packet (SYN) and a packet (MP_CAPABLE) for establishing an MPTCP session. In addition, "MP" means that it relates to MPTCP.

通信装置100Bの通信インタフェース160は、SYN+MP_CAPABLEパケットを受信すると、通信装置100Aの通信インタフェース160bへ、NAT200を介してSYN+ACK+MP_CAPABLEパケットを送信する(T102)。 When the communication interface 160 of the communication device 100B receives the SYN + MP_CAPABLE packet, the communication interface 160 transmits the SYN + ACK + MP_CAPABLE packet to the communication interface 160b of the communication device 100A via NAT200 (T102).

SYN+ACK+MP_CAPABLEパケットは、同期パケット(SYN)と承認パケット(ACK)とセッションを確立するためのパケット(MP_CAPABLE)とを含む。 The SYN + ACK + MP_CAPAVE packet includes a synchronization packet (SYN), an authorization packet (ACK), and a packet for establishing a session (MP_CAPABLE).

通信装置100Aの通信インタフェース160bは、SYN+ACK+MP_CAPABLEパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、NATサーバ200を介してACK+MP_ADD_ADDRESSパケットを送信する(T103)。 When the communication interface 160b of the communication device 100A receives the SYN + ACK + MP_CAPABLE packet, it transmits the ACK + MP_ADD_ADDRESS packet to the communication interface 160 of the other communication device 100B via the NAT server 200 (T103).

ACK+MP_ADD_ADDRESSパケットは、承認パケット(ACK)とIPアドレスを通知するためのパケット(MP_ADD_ADDRESS)とを含む。尚、MP_ADD_ADDRESSのパケットは、他の通信インタフェース160(ここでは通信インタフェース160a)に割り当てられたIPアドレス(グローバルIPアドレス)の情報、を含む。 The ACK + MP_ADD_ADDRESS packet includes an authorization packet (ACK) and a packet for notifying an IP address (MP_ADD_ADDRESS). The MP_ADD_ADDRESS packet includes information on an IP address (global IP address) assigned to another communication interface 160 (here, communication interface 160a).

通信装置100Bの通信インタフェース160がACK+MP_ADD_ADDRESSパケットを受信すると、通信装置100Aと通信装置100Bとの間でMPTCPのセッションが確立される。そして、通信装置100Aの通信インタフェース160bと他の通信装置100Bの通信インタフェース160との間でサブフローSF11が確立される。ネットワークコントローラ113は、MP_ADD_ADDRESSのパケットに含まれる通信装置100Aの通信インタフェース160aのグローバルIPアドレスの情報を、フラッシュメモリ130に保持させる。 When the communication interface 160 of the communication device 100B receives the ACK + MP_ADD_ADDRESS packet, an MPTCP session is established between the communication device 100A and the communication device 100B. Then, the subflow SF11 is established between the communication interface 160b of the communication device 100A and the communication interface 160 of the other communication device 100B. The network controller 113 causes the flash memory 130 to hold the information of the global IP address of the communication interface 160a of the communication device 100A included in the packet of MP_ADD_ADDRESS.

通信装置100Aの通信インタフェース160b及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF11を介して通信データを通信する。例えば、通信装置100Aの通信インタフェース160bは、サブフローSF11を介して、通信データ(data)を送信する(T104)。他の通信装置100Bの通信インタフェース160は、サブフローSF11を介して通信データを受信し、サブフローSF11を介して、通信データに対するACKデータを送信する(T105)。 The communication interface 160b of the communication device 100A and the communication interface 160 of the communication device 100B communicate communication data via the established subflow SF11. For example, the communication interface 160b of the communication device 100A transmits communication data (data) via the subflow SF11 (T104). The communication interface 160 of the other communication device 100B receives the communication data via the subflow SF11 and transmits the ACK data for the communication data via the subflow SF11 (T105).

通信装置100Aの通信インタフェース160aは、他の通信装置100Bの通信インタフェース160へ、グローバルアドレスを用いてSYN+MP_JOINパケットを送信する(T106)。SYN+MP_JOINパケットは、同期パケット(SYN)とサブフローを追加するためのパケット(MP_JOIN)とを含む。 The communication interface 160a of the communication device 100A transmits a SYN + MP_JOIN packet to the communication interface 160 of the other communication device 100B using the global address (T106). The SYN + MP_JOIN packet includes a synchronization packet (SYN) and a packet for adding a subflow (MP_JOIN).

他の通信装置100Bの通信インタフェース160は、SYN+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160aへ、グローバルアドレスを用いてSYN+ACK+MP_JOINパケットを送信する(T107)。SYN+ACK+MP_JOINパケットは、同期パケット(SYN)と承認パケット(ACK)とサブフローを追加するためのパケット(MP_JOIN)とを含む。 When the communication interface 160 of the other communication device 100B receives the SYN + MP_JOIN packet, it transmits the SYN + ACK + MP_JOIN packet to the communication interface 160a of the communication device 100A using the global address (T107). The SYN + ACK + MP_JOIN packet includes a synchronization packet (SYN), an authorization packet (ACK), and a packet for adding a subflow (MP_JOIN).

通信装置100Aの通信インタフェース160aは、SYN+ACK+MP_JOINパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、ACK+MP_JOINパケットを送信する(T108)。ACK+MP_JOINパケットは、承認パケット(ACK)とサブフローを追加するためのパケット(MP_JOIN)とを含む。 When the communication interface 160a of the communication device 100A receives the SYN + ACK + MP_JOIN packet, the communication interface 160a transmits the ACK + MP_JOIN packet to the communication interface 160 of the other communication device 100B (T108). The ACK + MP_JOIN packet includes an approval packet (ACK) and a packet for adding a subflow (MP_JOIN).

通信装置100Bの通信インタフェース160がACK+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160aと他の通信装置100Bの通信インタフェース160との間でサブフローSF12が確立される。よって、通信装置100Aと他の通信装置100Bとの間に確立されたセッションのサブフローは、サブフローSF11,SF12の2つとなる。通信装置100Aの通信インタフェース160a及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF12を介して通信データを通信する。 When the communication interface 160 of the communication device 100B receives the ACK + MP_JOIN packet, the subflow SF12 is established between the communication interface 160a of the communication device 100A and the communication interface 160 of the other communication device 100B. Therefore, there are two subflows of the session established between the communication device 100A and the other communication device 100B, the subflows SF11 and SF12. The communication interface 160a of the communication device 100A and the communication interface 160 of the communication device 100B communicate communication data via the established subflow SF12.

例えば、通信装置100Aの通信インタフェース160aは、サブフローSF12を介して、通信データ(data)を送信する(T109)。他の通信装置100Bの通信インタフェース160は、サブフローSF12を介して通信データを受信し、サブフローSF12を介して、通信データに対するACKデータを送信する(T110)。尚、サブフローSF11,SF12は共存可能であるので、通信システム10は、複数のサブフローSF11,SF12を用いて通信データを通信できる。 For example, the communication interface 160a of the communication device 100A transmits communication data (data) via the subflow SF12 (T109). The communication interface 160 of the other communication device 100B receives the communication data via the subflow SF12 and transmits the ACK data for the communication data via the subflow SF12 (T110). Since the subflows SF11 and SF12 can coexist, the communication system 10 can communicate communication data using a plurality of subflows SF11 and SF12.

このような第1通信例によれば、通信システム10では、通信装置100Aが、ローカルIPアドレスが割り当てられた通信インタフェース160bから他の通信装置100Bへ接続する。続いて、通信装置100Aは、グローバルIPアドレスが割り当てられた通信インタフェース160aと他の通信装置100Bの通信インタフェース160との間で、セッションのサブフローSF12を新たに確立する。これにより、通信装置100Aは、他の通信装置100Bとの間で、複数の通信インタフェース160を用いて異なる通信方式で通信データを通信できる。 According to such a first communication example, in the communication system 10, the communication device 100A connects to the other communication device 100B from the communication interface 160b to which the local IP address is assigned. Subsequently, the communication device 100A newly establishes a session subflow SF12 between the communication interface 160a to which the global IP address is assigned and the communication interface 160 of the other communication device 100B. As a result, the communication device 100A can communicate communication data with the other communication device 100B by different communication methods using the plurality of communication interfaces 160.

尚、T106では、SYN+MP_JOINパケットが、通信装置100Aから他の通信装置100Bへ送信されることを例示したが、他の通信装置100Bから通信装置100Aへ送信されてもよい。この場合、他の通信装置100Bの通信インタフェース160は、フラッシュメモリ130を参照し、ADD_ADRRESSのパケットにより通知された通信装置100Aの通信インタフェース160aのグローバルIPアドレス宛に、SYN+MP_JOINパケットを送信してもよい。 Although the T106 illustrates that the SYN + MP_JOIN packet is transmitted from the communication device 100A to the other communication device 100B, it may be transmitted from the other communication device 100B to the communication device 100A. In this case, the communication interface 160 of the other communication device 100B may refer to the flash memory 130 and transmit a SYN + MP_JOIN packet to the global IP address of the communication interface 160a of the communication device 100A notified by the packet of ADD_ADRRESS. ..

尚、T106のように、SYN+MP_JOINパケットが通信装置100Aから他の通信装置100Bへ送信される場合、他の通信装置100Bが通信装置100Aの通信インタフェース160aのグローバルIPアドレスを予め認識する必要がないので、ADD_ADRRESSのパケットの送信が省略されてもよい。つまり、T103の通信が省略されてもよい。この場合でも、通信装置100Aにより、他の通信装置100BからのMP_CAPABLEのパケットに対してACKデータが応答されれば、MPTCPのセッションは確立される。 When a SYN + MP_JOIN packet is transmitted from the communication device 100A to another communication device 100B as in T106, the other communication device 100B does not need to recognize the global IP address of the communication interface 160a of the communication device 100A in advance. , ADD_ADRRESS packet transmission may be omitted. That is, the communication of T103 may be omitted. Even in this case, if the communication device 100A responds with ACK data to the MP_CAPABLE packet from the other communication device 100B, the MPTCP session is established.

[第2通信例]
図6は、第2通信例に係る通信システム10を説明するための構成図である。第2通信例では、通信装置100Aが3つの通信インタフェース160(例えば通信インタフェース160a,160b,160c)を備え、他の通信装置100Bが1つの通信インタフェース160を備える。3つの通信インタフェース160a〜160cのうち、通信インタフェース160b,160cには、ローカルIPアドレスが割り当てられ、通信インタフェース160aには、グローバルIPアドレスが割り当てられている。通信装置100Aと他の通信装置100Bとは、インターネットNT1を介して接続される。
[Second communication example]
FIG. 6 is a configuration diagram for explaining the communication system 10 according to the second communication example. In the second communication example, the communication device 100A includes three communication interfaces 160 (for example, communication interfaces 160a, 160b, 160c), and the other communication device 100B includes one communication interface 160. Of the three communication interfaces 160a to 160c, the communication interfaces 160b and 160c are assigned local IP addresses, and the communication interfaces 160a are assigned global IP addresses. The communication device 100A and the other communication device 100B are connected via the Internet NT1.

通信装置100AとインターネットNT1との間には、通信インタフェース160bが用いる通信経路において、NATサーバ200Bが配置される。通信装置100AとインターネットNT1との間には、通信インタフェース160cが用いる通信経路において、NATサーバ200Cが配置される。 A NAT server 200B is arranged between the communication device 100A and the Internet NT1 in the communication path used by the communication interface 160b. A NAT server 200C is arranged between the communication device 100A and the Internet NT1 in the communication path used by the communication interface 160c.

NATサーバ200Bは、通信装置100Aの通信インタフェース160bが用いるグローバルIPアドレスとローカルIPアドレスとを変換する。NATサーバ200Cは、通信装置100Aの通信インタフェース160cが用いるグローバルIPアドレスとローカルIPアドレスとを変換する。また、NATサーバ200B,200Cは、このグローバルIPアドレスとローカルIPアドレスとの関連付けの情報を有する変換テーブルをメモリ(不図示)に保持する。 The NAT server 200B translates the global IP address and the local IP address used by the communication interface 160b of the communication device 100A. The NAT server 200C translates the global IP address and the local IP address used by the communication interface 160c of the communication device 100A. Further, the NAT servers 200B and 200C hold a translation table having information on the association between the global IP address and the local IP address in a memory (not shown).

通信装置100Aでは、CPU111は、3つの通信インタフェース160a〜160cに割り当てられたIPアドレスが、それぞれグローバルIPアドレスであるかローカルIPアドレスであるかを判定する。3つのIPアドレスのうち、ローカルIPアドレスが存在する場合、ローカルIPアドレスが割り当てられた通信インタフェース160を用いて、通信装置100Aと通信装置100Bとの間のセッション確立を行い、第1のサブフローを確立する。 In the communication device 100A, the CPU 111 determines whether the IP addresses assigned to the three communication interfaces 160a to 160c are global IP addresses or local IP addresses, respectively. If a local IP address exists among the three IP addresses, a session is established between the communication device 100A and the communication device 100B using the communication interface 160 to which the local IP address is assigned, and the first subflow is performed. Establish.

通信装置100Aは、最初に接続された通信インタフェース160を用いて通信データの通信を行うとともに、未接続の2つの通信インタフェース160を用いてJOINメッセージを他の通信装置100Aへ送信又は受信する。JOINメッセージによるセッションへのJOINが成功すると、通信装置100Aの3つの通信インタフェース160a〜160cと他の通信装置100Bの1つの通信インタフェース160との間で、第2のサブフロー、第3のサブフローが追加される。これにより、これにより、通信装置100A及び他の通信装置100Bは、第1〜第3のサブフローを介して、同時に通信データを通信可能となる。尚、2つのJOINメッセージの通信は、ローカルIPアドレスを用いたJOINメッセージの通信が、グローバルIPアドレスを用いたJOINメッセージの通信よりも先に実施される。 The communication device 100A communicates communication data using the first connected communication interface 160, and transmits or receives a JOIN message to another communication device 100A using the two unconnected communication interfaces 160. If the JOIN to the session by the JOIN message is successful, a second subflow and a third subflow are added between the three communication interfaces 160a to 160c of the communication device 100A and one communication interface 160 of the other communication device 100B. Will be done. As a result, the communication device 100A and the other communication device 100B can simultaneously communicate communication data via the first to third subflows. In the communication of the two JOIN messages, the communication of the JOIN message using the local IP address is carried out before the communication of the JOIN message using the global IP address.

このような複数のサブフローを含むセッションが確立された状態で、通信装置100Aの3つの通信インタフェース160a〜160cのうちいずれかの通信インタフェース160a,160b,又は160cと他の通信装置100Bの1つの通信インタフェース160との間でのサブフローが切断された場合でも、残り2つのサブフローは継続可能である。これは、他の通信装置100Bが、切断されていない2つのサブフローに係る通信装置100Aの通信インタフェース160に係るグローバルIPアドレスを認識可能であるためである。この通信装置100Aの通信インタフェース160に係るグローバルIPアドレスは、通信インタフェース160に割り当てられたグローバルIPアドレスであってもよいし、通信インタフェース160に割り当てられたローカルIPアドレスに対応するグローバルIPアドレスであってもよい。従って、確立されたMPTCPに係るセッションは継続される。 In a state where a session including a plurality of subflows is established, communication between one of the three communication interfaces 160a to 160c of the communication device 100A, the communication interface 160a, 160b, or 160c, and one of the other communication devices 100B. Even if the subflow to and from the interface 160 is disconnected, the remaining two subflows can continue. This is because the other communication device 100B can recognize the global IP address related to the communication interface 160 of the communication device 100A related to the two undisconnected subflows. The global IP address related to the communication interface 160 of the communication device 100A may be the global IP address assigned to the communication interface 160, or may be the global IP address corresponding to the local IP address assigned to the communication interface 160. You may. Therefore, the session relating to the established MPTCP is continued.

図7は、第2通信例に係る通信システム10の動作例を示すシーケンス図である。ここでは、通信インタフェース160aがグローバルIPアドレスを用いて通信し、通信インタフェース160b,160cがローカルIPアドレスを用いて通信することを想定する。 FIG. 7 is a sequence diagram showing an operation example of the communication system 10 according to the second communication example. Here, it is assumed that the communication interface 160a communicates using the global IP address, and the communication interfaces 160b and 160c communicate using the local IP address.

図7では、通信装置100Aの通信インタフェース160aが「インタフェース1」と記載され、通信装置100Aの通信インタフェース160bが「インタフェース2」と記載され、通信装置100Aの通信インタフェース160cが「インタフェース3」と記載され、他の通信装置100Bの通信インタフェース160が「他インタフェース」と記載されている。また、NATサーバ200Bが「NAT1」と記載され、NATサーバ200Cが「NAT2」と記載されている。 In FIG. 7, the communication interface 160a of the communication device 100A is described as "interface 1", the communication interface 160b of the communication device 100A is described as "interface 2", and the communication interface 160c of the communication device 100A is described as "interface 3". The communication interface 160 of the other communication device 100B is described as "another interface". Further, the NAT server 200B is described as "NAT1", and the NAT server 200C is described as "NAT2".

通信システム10では、MPTCPのセッション確立に際し、まず、通信装置100Aの通信インタフェース160bは、他の通信装置100Bの通信インタフェース160へ、NATサーバ200Bを介してSYN+MP_CAPABLEパケットを送信する(T201)。 In the communication system 10, when establishing the MPTCP session, first, the communication interface 160b of the communication device 100A transmits a SYN + MP_CAPABLE packet to the communication interface 160 of the other communication device 100B via the NAT server 200B (T201).

通信装置100Bの通信インタフェース160は、SYN+MP_CAPABLEパケットを受信すると、通信装置100Aの通信インタフェース160bへ、NAT200Bを介してSYN+ACK+MP_CAPABLEパケットを送信する(T202)。 When the communication interface 160 of the communication device 100B receives the SYN + MP_CAPABLE packet, it transmits the SYN + ACK + MP_CAPABLE packet to the communication interface 160b of the communication device 100A via the NAT200B (T202).

通信装置100Aの通信インタフェース160bは、SYN+ACK+MP_CAPABLEパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、NATサーバ200Bを介してACK+MP_ADD_ADDRESSパケットを送信する(T203)。 When the communication interface 160b of the communication device 100A receives the SYN + ACK + MP_CAPABLE packet, it transmits the ACK + MP_ADD_ADDRESS packet to the communication interface 160 of the other communication device 100B via the NAT server 200B (T203).

MP_ADD_ADDRESSのパケットは、例えば、他の通信インタフェース(例えば通信インタフェース160a)に割り当てられたグローバルIPアドレスの情報を含む。尚、例えば通信インタフェース160cのIPアドレスのようなローカルIPPアドレスの情報は、MP_ADD_ADDRESSのパケットに含まれなくてもよい。 The MP_ADD_ADDRESS packet contains, for example, information on a global IP address assigned to another communication interface (eg, communication interface 160a). The information of the local IPP address such as the IP address of the communication interface 160c does not have to be included in the packet of MP_ADD_ADDRESS.

通信装置100Bの通信インタフェース160がACK+MP_ADD_ADDRESSパケットを受信すると、通信装置100Aと通信装置100Bとの間でセッションが確立される。そして、通信装置100Aの通信インタフェース160bと他の通信装置100Bの通信インタフェース160との間でサブフローSF21が確立される。ネットワークコントローラ113は、MP_ADD_ADDRESSのパケットに含まれる通信装置100Aの通信インタフェース160aのグローバルIPアドレスの情報を、フラッシュメモリ130に保持させる。 When the communication interface 160 of the communication device 100B receives the ACK + MP_ADD_ADDRESS packet, a session is established between the communication device 100A and the communication device 100B. Then, the subflow SF21 is established between the communication interface 160b of the communication device 100A and the communication interface 160 of the other communication device 100B. The network controller 113 causes the flash memory 130 to hold the information of the global IP address of the communication interface 160a of the communication device 100A included in the packet of MP_ADD_ADDRESS.

通信装置100Aの通信インタフェース160b及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF21を介して通信データを通信する。例えば、通信装置100Aの通信インタフェース160bは、サブフローSF21を介して、通信データ(data)を送信する(T204)。他の通信装置100Bの通信インタフェース160は、サブフローSF21を介して通信データを受信し、サブフローSF21を介して、通信データに対するACKデータを送信する(T205)。 The communication interface 160b of the communication device 100A and the communication interface 160 of the communication device 100B communicate communication data via the established subflow SF21. For example, the communication interface 160b of the communication device 100A transmits communication data (data) via the subflow SF21 (T204). The communication interface 160 of the other communication device 100B receives the communication data via the subflow SF21 and transmits the ACK data for the communication data via the subflow SF21 (T205).

通信装置100Aの通信インタフェース160cは、他の通信装置100Bの通信インタフェース160へ、NATサーバ200Cを介してSYN+MP_JOINパケットを送信する(T206)。 The communication interface 160c of the communication device 100A transmits a SYN + MP_JOIN packet to the communication interface 160 of the other communication device 100B via the NAT server 200C (T206).

他の通信装置100Bの通信インタフェース160は、SYN+MP_JOINパケットを受信し、通信装置100Aの通信インタフェース160cへ、NATサーバ200Cを介してSYN+ACK+MP_JOINパケットを送信する(T207)。 The communication interface 160 of the other communication device 100B receives the SYN + MP_JOIN packet, and transmits the SYN + ACK + MP_JOIN packet to the communication interface 160c of the communication device 100A via the NAT server 200C (T207).

通信装置100Aの通信インタフェース160cは、SYN+ACK+MP_JOINパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、NAT20Cを介してACK+MP_JOINパケットを送信する(T208)。 When the communication interface 160c of the communication device 100A receives the SYN + ACK + MP_JOIN packet, it transmits the ACK + MP_JOIN packet to the communication interface 160 of the other communication device 100B via the NAT20C (T208).

通信装置100Bの通信インタフェース160がACK+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160cと他の通信装置100Bの通信インタフェース160との間でサブフローSF22が確立される。通信装置100Aの通信インタフェース160c及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF22を介して通信データを通信する。 When the communication interface 160 of the communication device 100B receives the ACK + MP_JOIN packet, the subflow SF22 is established between the communication interface 160c of the communication device 100A and the communication interface 160 of the other communication device 100B. The communication interface 160c of the communication device 100A and the communication interface 160 of the communication device 100B communicate communication data via the established subflow SF22.

例えば、通信装置100Aの通信インタフェース160cは、サブフローSF22を介して、通信データ(data)を送信する(T209)。他の通信装置100Bの通信インタフェース160は、サブフローSF22を介して通信データを受信し、サブフローSF22を介して、通信データに対するACKデータを送信する(T210)。 For example, the communication interface 160c of the communication device 100A transmits communication data (data) via the subflow SF22 (T209). The communication interface 160 of the other communication device 100B receives the communication data via the subflow SF22 and transmits the ACK data for the communication data via the subflow SF22 (T210).

通信装置100Aの通信インタフェース160aは、他の通信装置100Bの通信インタフェース160へ、グローバルアドレスを用いてSYN+MP_JOINパケットを送信する(T211)。 The communication interface 160a of the communication device 100A transmits a SYN + MP_JOIN packet to the communication interface 160 of the other communication device 100B using the global address (T211).

他の通信装置100Bの通信インタフェース160は、SYN+MP_JOINパケットを受信し、通信装置100Aの通信インタフェース160aへ、グローバルアドレスを用いてSYN+ACK+MP_JOINパケットを送信する(T212)。 The communication interface 160 of the other communication device 100B receives the SYN + MP_JOIN packet and transmits the SYN + ACK + MP_JOIN packet to the communication interface 160a of the communication device 100A using the global address (T212).

通信装置100Aの通信インタフェース160aは、SYN+ACK+MP_JOINパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、ACK+MP_JOINパケットを送信する(T213)。 When the communication interface 160a of the communication device 100A receives the SYN + ACK + MP_JOIN packet, it transmits the ACK + MP_JOIN packet to the communication interface 160 of the other communication device 100B (T213).

通信装置100Bの通信インタフェース160がACK+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160aと他の通信装置100Bの通信インタフェース160との間でサブフローSF23が確立される。よって、通信装置100Aと他の通信装置100Bとの間に確立されたセッションのサブフローは、サブフローSF21,SF22,SF23の3つとなる。通信装置100Aの通信インタフェース160a及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF23を介して通信データを通信する。 When the communication interface 160 of the communication device 100B receives the ACK + MP_JOIN packet, the subflow SF23 is established between the communication interface 160a of the communication device 100A and the communication interface 160 of the other communication device 100B. Therefore, there are three subflows of the session established between the communication device 100A and the other communication device 100B: subflows SF21, SF22, and SF23. The communication interface 160a of the communication device 100A and the communication interface 160 of the communication device 100B communicate communication data via the established subflow SF23.

例えば、通信装置100Aの通信インタフェース160aは、サブフローSF23を介して、通信データ(data)を送信する(T214)。他の通信装置100Bの通信インタフェース160は、サブフローSF23を介して通信データを受信し、サブフローSF23を介して、通信データに対するACKデータを送信する(T215)。尚、サブフローSF21,SF22,SF23は共存可能であるので、通信システム10は、複数のサブフローSF21,SF22,SF23を用いて通信データを通信できる。 For example, the communication interface 160a of the communication device 100A transmits communication data (data) via the subflow SF23 (T214). The communication interface 160 of the other communication device 100B receives the communication data via the subflow SF23 and transmits the ACK data for the communication data via the subflow SF23 (T215). Since the subflows SF21, SF22, and SF23 can coexist, the communication system 10 can communicate communication data using a plurality of subflows SF21, SF22, and SF23.

このような第2通信例によれば、通信システム10では、通信装置100Aが、ローカルIPアドレスが割り当てられた通信インタフェース160bから他の通信装置100Bへ接続する。続いて、通信装置100Aは、他のローカルIPアドレスが割り当てられた通信インタフェース160cと他の通信装置100Bの通信インタフェース160との間で、セッションのサブフローを新たに確立する。続いて、通信装置100Aは、グローバルIPアドレスが割り当てられた通信インタフェース160aと他の通信装置100Bの通信インタフェース160との間で、セッションのサブフローを新たに確立する。これにより、通信装置100Aは、他の通信装置100Bとの間で、複数の通信インタフェース160を用いて異なる通信方式で通信データを通信できる。 According to such a second communication example, in the communication system 10, the communication device 100A connects to the other communication device 100B from the communication interface 160b to which the local IP address is assigned. Subsequently, the communication device 100A newly establishes a session subflow between the communication interface 160c to which another local IP address is assigned and the communication interface 160 of the other communication device 100B. Subsequently, the communication device 100A newly establishes a session subflow between the communication interface 160a to which the global IP address is assigned and the communication interface 160 of the other communication device 100B. As a result, the communication device 100A can communicate communication data with the other communication device 100B by different communication methods using the plurality of communication interfaces 160.

尚、T211では、通信インタフェース160aを介するSYN+MP_JOINパケットが、通信装置100Aから他の通信装置100Bへ送信されることを例示したが、他の通信装置100Bから通信装置100Aへ送信されてもよい。この場合、他の通信装置100Bの通信インタフェース160は、フラッシュメモリ130を参照し、ADD_ADRRESSのパケットにより通知された通信装置100Aの通信インタフェース160aのグローバルIPアドレス宛に、SYN+MP_JOINパケットを送信してもよい。 Although the T211 illustrates that the SYN + MP_JOIN packet via the communication interface 160a is transmitted from the communication device 100A to the other communication device 100B, it may be transmitted from the other communication device 100B to the communication device 100A. In this case, the communication interface 160 of the other communication device 100B may refer to the flash memory 130 and transmit a SYN + MP_JOIN packet to the global IP address of the communication interface 160a of the communication device 100A notified by the packet of ADD_ADRRESS. ..

尚、T211のように、SYN+MP_JOINパケットが通信装置100Aから他の通信装置100Bへ送信される場合、他の通信装置100Bが通信装置100Aの通信インタフェース160aのグローバルIPアドレスを予め認識する必要がないので、ADD_ADRRESSのパケットの送信が省略されてもよい。つまり、T103の通信が省略されてもよい。この場合でも、通信装置100Aにより、他の通信装置100BからのMP_CAPABLEのパケットに対してACKデータが応答されれば、MPTCPのセッションは確立される。 When a SYN + MP_JOIN packet is transmitted from the communication device 100A to another communication device 100B as in T211, the other communication device 100B does not need to recognize the global IP address of the communication interface 160a of the communication device 100A in advance. , ADD_ADRRESS packet transmission may be omitted. That is, the communication of T103 may be omitted. Even in this case, if the communication device 100A responds with ACK data to the MP_CAPABLE packet from the other communication device 100B, the MPTCP session is established.

一方、T206では、通信インタフェース160cを介するSYN+MP_JOINパケットは、通信装置100Aから他の通信装置100Bへ送信される必要がある。ADD_ADRRESSのパケットにより通信装置100Aの通信インタフェース160cのローカルIPアドレスが通知されても、他の通信装置100Bから通信装置へローカルIPアドレスを用いてアクセスできないためである。 On the other hand, in T206, the SYN + MP_JOIN packet via the communication interface 160c needs to be transmitted from the communication device 100A to another communication device 100B. This is because even if the local IP address of the communication interface 160c of the communication device 100A is notified by the packet of ADD_ADRRESS, the other communication device 100B cannot access the communication device using the local IP address.

尚、図7では、通信インタフェース160cを用いたサブフローSF22が通信インタフェース160aを用いたサブフローSF23よりも前に確立されているが、このサブフローの確立順序は逆でもよい。最初に確立された通信インタフェース160bを用いたサブフローSF21により、通信インタフェース160aに割り当てられたグローバルIPアドレスを通知可能だからである。 In FIG. 7, the subflow SF22 using the communication interface 160c is established before the subflow SF23 using the communication interface 160a, but the order of establishing the subflows may be reversed. This is because the global IP address assigned to the communication interface 160a can be notified by the subflow SF21 using the communication interface 160b established first.

[通信優先順位の設定]
次に、第2通信例のようにローカルIPアドレスを複数用いてMPTCP通信する場合の通信の優先順位について説明する。
[Communication priority setting]
Next, the priority of communication in the case of MPTCP communication using a plurality of local IP addresses as in the second communication example will be described.

ここでの通信装置100Aによる通信優先順位は、各通信インタフェース160が他の通信装置100Bに対するセッションやサブフローを確立するための制御データを送信する順序を示す。セッションを確立するための制御データは、例えば、SYN+MP_CAPABLEパケットを含む。サブフローを確立するための制御データは、例えば、SYN+MP_CAPABLEパケット、SYN+MP_JOINパケットを含む。 The communication priority by the communication device 100A here indicates the order in which each communication interface 160 transmits control data for establishing a session or subflow to another communication device 100B. The control data for establishing a session includes, for example, a SYN + MP_CAPABLE packet. The control data for establishing the subflow includes, for example, a SYN + MP_CAPABLE packet and a SYN + MP_JOIN packet.

CPU111は、例えば、通信インタフェース160の種別を基に、通信優先順位を設定してもよい。例えば、グローバルIPアドレスを用いない通信インタフェース160を用いる通信の場合、有線LAN通信、無線LAN通信、セルラー通信、の順に、通信優先順位を高く設定する。設定された通信優先順位の情報は、フラッシュメモリ130に保持される。CPU111は、フラッシュメモリ130に保持された通信優先順位の情報を基に、通信優先順位の高い通信インタフェース160から順に、制御データを送信する。 The CPU 111 may set the communication priority, for example, based on the type of the communication interface 160. For example, in the case of communication using the communication interface 160 that does not use the global IP address, the communication priority is set higher in the order of wired LAN communication, wireless LAN communication, and cellular communication. The set communication priority information is held in the flash memory 130. Based on the communication priority information held in the flash memory 130, the CPU 111 transmits control data in order from the communication interface 160 having the highest communication priority.

CPU111は、例えば、各通信インタフェース160を介した各サブフローの帯域の太さを基に、通信優先順位を決定してもよい。CPU111は、各サブフローの帯域が太い順に、通信優先順位を高く設定してもよい。例えば、CPU111は、有線LAN通信、無線LAN通信、セルラー通信(例えばLTE通信)の順に、通信優先順位を高くしてもよい。 The CPU 111 may determine the communication priority, for example, based on the bandwidth thickness of each subflow via each communication interface 160. The CPU 111 may set the communication priority in descending order of the bandwidth of each subflow. For example, the CPU 111 may have higher communication priorities in the order of wired LAN communication, wireless LAN communication, and cellular communication (for example, LTE communication).

CPU111は、各サブフローの帯域を、公知の帯域推定方法により推定してもよい。また、CPU111は、PINGを送信して遅延時間の情報を取得してもよい。CPU111は、遅延時間が短い程、通信優先順位を高く設定してもよい。また、CPU111は、帯域推定パケットを用いて、サブフローの帯域を推定してもよい。 The CPU 111 may estimate the band of each subflow by a known band estimation method. Further, the CPU 111 may transmit PING to acquire information on the delay time. The CPU 111 may set the communication priority higher as the delay time is shorter. Further, the CPU 111 may estimate the bandwidth of the subflow by using the bandwidth estimation packet.

通信装置100Aは、通信優先順位を基に、通信優先順位に対応する通信方式の通信インタフェース160を用いて通信データを通信することで、通信を高速化できる。また、MPTCPに従って、帯域が太いサブフローでは通信データのデータ量を多くし、帯域が細いサブフローでは通信データのデータ量を小さくすることで、通信を高速化できる。CPU111は、通信データが到着すべき順序が変化しないように、通信データを各サブフローに振り分けてもよい。例えば、通信インタフェース160は、ネットワークコントローラ113の制御により、高速性を要する画像データを太い帯域のサブフローで送信し、高速性を要しない制御データを細い帯域のサブフローで送信してもよい。 The communication device 100A can speed up communication by communicating communication data using a communication interface 160 of a communication method corresponding to the communication priority based on the communication priority. Further, according to MPTCP, communication can be speeded up by increasing the amount of communication data in a subflow having a large band and decreasing the amount of communication data in a subflow having a narrow band. The CPU 111 may distribute the communication data to each subflow so that the order in which the communication data should arrive does not change. For example, the communication interface 160 may transmit image data requiring high speed in a subflow of a thick band and control data not requiring high speed in a subflow of a thin band under the control of the network controller 113.

尚、上記ではローカルIPアドレスが複数存在する場合のローカルIPアドレスを用いた通信優先順位について説明したが、グローバルIPアドレスが複数存在する場合のグローバルIPアドレスを用いた通信優先順位について適用してもよい。但し、ローカルIPアドレスを用いる通信インタフェースによる通信(ローカル通信)とグローバルIPアドレスを用いる通信インタフェースによる通信(グローバル通信)とでは、ローカル通信が優先される。 In the above, the communication priority using the local IP address when there are multiple local IP addresses has been described, but the communication priority using the global IP address when there are multiple global IP addresses may be applied. Good. However, local communication is prioritized between communication using a communication interface using a local IP address (local communication) and communication using a communication interface using a global IP address (global communication).

尚、複数の通信インタフェース160の通信優先順位を設けずに、任意の通信インタフェース160がランダムに選択されてもよい。 It should be noted that any communication interface 160 may be randomly selected without setting the communication priority of the plurality of communication interfaces 160.

[再送制御]
次に、MPTCP通信における再送制御について説明する。
[Retransmission control]
Next, retransmission control in MPTCP communication will be described.

複数のサブフローを含むセッションが確立された後、任意のサブフローが切断されたとする。サブフローの切断には、例えば、無線LAN通信の電波状況の悪化が考えられる。任意のサブフローが切断された際、このサブフローを用いて通信データが通信されていると、この通信データは他の通信装置100Bへ到達しない。通信装置100は、サブフローが切断されていることを、通信データに対するACKデータを所定時間内に受信しないことにより、認識できる。この場合、ネットワークコントローラ113は、切断されたサブフローの代わりに、継続して確立中のサブフローを介して通信データを通信する。よって、通信装置100Aは、切断されたサブフローを介した通信を、他のサブフローを用いて補助できる。 Suppose any subflow is disconnected after a session containing multiple subflows is established. For disconnection of the subflow, for example, deterioration of the radio wave condition of wireless LAN communication can be considered. When any subflow is disconnected, if communication data is communicated using this subflow, this communication data does not reach the other communication device 100B. The communication device 100 can recognize that the subflow is disconnected by not receiving the ACK data for the communication data within a predetermined time. In this case, the network controller 113 communicates communication data via the continuously established subflow instead of the disconnected subflow. Therefore, the communication device 100A can assist the communication via the disconnected subflow by using another subflow.

[効果等]
通信装置100Aは、NATサーバ200に対するグローバルIPアドレスの問合せ機能を有していないため、通信装置100Aの通信インタフェース160b,160cに割り当てられたローカルIPアドレスに対応するグローバルIPアドレスを識別できない。そのため、通信装置100Aは、ADD_ADDRESSにローカルIPアドレスに対応するグローバルIPアドレスを含めて通知できず、ADD_ADDRESSにローカルIPアドレスを含めて通知することになる。よって、他の通信装置100Bは、通信装置100Aの通信インタフェース160b,160cのローカルIPアドレスの情報を取得することになる。他の通信装置100Bは、ローカルIPアドレスでは、ネットワークNT上の送信先を特定できず、通信データを送信できない状態となる。
[Effects, etc.]
Since the communication device 100A does not have a function of querying the global IP address for the NAT server 200, the global IP address corresponding to the local IP address assigned to the communication interfaces 160b and 160c of the communication device 100A cannot be identified. Therefore, the communication device 100A cannot notify ADD_ADDRESS including the global IP address corresponding to the local IP address, and notifies ADD_ADDRESS including the local IP address. Therefore, the other communication device 100B acquires the information of the local IP addresses of the communication interfaces 160b and 160c of the communication device 100A. In the other communication device 100B, the transmission destination on the network NT cannot be specified by the local IP address, and the communication data cannot be transmitted.

図8は、このような他装置としての通信装置から自装置としての通信装置へ通信データを通信できない比較例を示す図である。図8では、自装置のグローバルIPアドレスを用いた通信インタフェース1が、MP_CAPABLEのパケットによりMPTCPのセッション確立を開始し、MP_ADD_ADRESSのパケットにより、通信インタフェース2のローカルIPアドレスを通知している。この場合、他装置は、MP_JOINのパケットにより、通知されたローカルIPアドレスを用いて自装置へアクセスし、サブフローの追加を試みても、パケットが自装置へ到達せず、通信が不成立となる。 FIG. 8 is a diagram showing a comparative example in which communication data cannot be communicated from such a communication device as another device to a communication device as its own device. In FIG. 8, the communication interface 1 using the global IP address of the own device starts the MPTCP session establishment by the packet of MP_CAPABLE, and notifies the local IP address of the communication interface 2 by the packet of MP_ADD_ADRESS. In this case, even if the other device accesses the own device using the notified local IP address by the packet of MP_JOIN and tries to add the subflow, the packet does not reach the own device and the communication is not established.

これに対し、本実施形態の通信装置100は、MPTCPに従って他の通信装置100と通信する。通信装置100は、通信を制御するプロセッサと、NATサーバ200によりグローバルIPアドレスに変換されるローカルIPアドレスを用いて、第1の通信方式で通信する通信インタフェース160bと、グローバルIPアドレスを用いて、第2の通信方式で通信する通信インタフェース160aと、を備える。通信インタフェース160bは、プロセッサによる制御により、MPTCPのセッション及びサブフローを確立するためのSYN+MP_CAPABLEパケットやSYN+ACK+MP_CAPABLEパケットを通信する。通信インタフェース160aは、プロセッサによる制御により、MP_CAPABLEパケットの通信後、MPTCPのサブフローを追加するためのSYN+MP_JOINパケットやSYN+ACK+MP_JOINパケットを通信する。 On the other hand, the communication device 100 of the present embodiment communicates with another communication device 100 according to MPTCP. The communication device 100 uses a processor that controls communication, a local IP address that is translated into a global IP address by the NAT server 200, a communication interface 160b that communicates by the first communication method, and a global IP address. It includes a communication interface 160a that communicates by the second communication method. The communication interface 160b communicates a SYN + MP_CAPABLE packet or a SYN + ACK + MP_CAPABLE packet for establishing an MPTCP session and subflow under the control of a processor. The communication interface 160a communicates the SYN + MP_JOIN packet and the SYN + ACK + MP_JOIN packet for adding the subflow of MPTCP after the communication of the MP_CAPABLE packet under the control of the processor.

尚、通信装置100は、通信装置100A又は通信装置100Bである。他の通信装置100は、通信装置100B又は通信装置100Aである。NATサーバ200は、アドレス変換サーバの一例である。SYN+MP_CAPABLEパケット、SYN+ACK+MP_CAPABLEパケットは、第1の制御データの一例である。SYN+MP_JOINパケット、SYN+ACK+MP_JOINパケットは、第2の制御データの一例である。プロセッサは、例えばCPU111又はネットワークコントローラ113を含む。通信インタフェース160bは、第1の通信インタフェースの一例である。通信インタフェース160aは、第2の通信インタフェースの一例である。 The communication device 100 is a communication device 100A or a communication device 100B. The other communication device 100 is a communication device 100B or a communication device 100A. The NAT server 200 is an example of an address translation server. The SYN + MP_CAPABLE packet and the SYN + ACK + MP_CAPABLE packet are examples of the first control data. The SYN + MP_JOIN packet and the SYN + ACK + MP_JOIN packet are examples of the second control data. Processors include, for example, CPU 111 or network controller 113. The communication interface 160b is an example of the first communication interface. The communication interface 160a is an example of the second communication interface.

これにより、通信装置100は、複数の通信インタフェース160の一部にローカルIPアドレスが割り当てられている場合でも、ローカルIPアドレスが割り当てられた通信インタフェース160と他の通信装置100との間のセッションやサブフローを確立するための制御データを通信(送信又は受信)する。よって、他の通信装置100は、通信装置100の通信インタフェース160bに割り当てられたローカルIPアドレスに対応するグローバルIPアドレスを認識できる。 As a result, even if a local IP address is assigned to a part of the plurality of communication interfaces 160, the communication device 100 can perform a session between the communication interface 160 to which the local IP address is assigned and another communication device 100. Communicate (transmit or receive) control data for establishing a subflow. Therefore, the other communication device 100 can recognize the global IP address corresponding to the local IP address assigned to the communication interface 160b of the communication device 100.

よって、通信システム10は、通信装置100と他の通信装置100との間でMPTCPセッションを確立し、複数のサブフローを確立できる。複数のサブフローが確立されることで、通信システム10は、通信を高速化できる。 Therefore, the communication system 10 can establish an MPTCP session between the communication device 100 and another communication device 100, and can establish a plurality of subflows. By establishing a plurality of subflows, the communication system 10 can speed up communication.

また、通信システム10では、いずれかのサブフローが通信途中で切断されても、他のサブフローは維持されるので、MPTCPセッションを継続でき、通信を継続できる。例えば、通信装置100は、通信インタフェース160bによる無線LAN通信の電波が劣悪となり通信インタフェース160bを介するサブフローが切断されても、通信インタフェース160aを介するLTE通信を行うサブフローを継続できる。 Further, in the communication system 10, even if one of the subflows is disconnected during the communication, the other subflows are maintained, so that the MPTCP session can be continued and the communication can be continued. For example, the communication device 100 can continue the subflow for performing LTE communication via the communication interface 160a even if the radio wave of the wireless LAN communication by the communication interface 160b becomes poor and the subflow via the communication interface 160b is disconnected.

また、通信装置100は、ローカルIPアドレスを用いて通信する複数の通信インタフェース160b,160cを備えてもよい。これらの通信インタフェース160のうち、MP_CAPABLEパケットを通信していない通信インタフェース160cは、プロセッサによる制御により、MP_CAPABLEパケットの通信後、MPTCPのサブフローを追加するためのSYN+MP_JOINパケットやSYN+ACK+MP_JOINパケットを通信してもよい。ここでのSYN+MP_JOINパケット、SYN+ACK+MP_JOINパケットは、第3の制御データの一例である。通信インタフェース160cは、第3の通信インタフェースの一例である。 Further, the communication device 100 may include a plurality of communication interfaces 160b and 160c that communicate using a local IP address. Of these communication interfaces 160, the communication interface 160c that does not communicate with the MP_CAPABLE packet may communicate with the SYN + MP_JOIN packet or the SYN + ACK + MP_JOIN packet for adding the MPTCP subflow after the MP_CAPABLE packet is communicated under the control of the processor. .. The SYN + MP_JOIN packet and the SYN + ACK + MP_JOIN packet here are examples of the third control data. The communication interface 160c is an example of a third communication interface.

ローカルIPアドレスを複数用いてMPTCP通信する場合、制御データ(例えばSYN+MP_ADD_ADDRESSパケット)によりローカルIPアドレスに対応するグローバルIPアドレスを通知することは困難である。これに対し、通信装置100は、2つ目以降のローカルIPアドレスを用いて他の通信装置100にサブフローの追加を依頼することで、他の通信装置100は、通信装置100のローカルIPアドレスから変換されたグローバルIPアドレスを認識できる。よって、仮に他のサブフローが切断されて2つ目以降のローカルIPアドレスを用いたサブフローが接続維持され、このサブフローを用いて、通信装置100及び他の通信装置100は通信できる。 When MPTCP communication is performed using a plurality of local IP addresses, it is difficult to notify the global IP address corresponding to the local IP address by control data (for example, SYN + MP_ADD_ADDRESS packet). On the other hand, the communication device 100 requests the other communication device 100 to add a subflow using the second and subsequent local IP addresses, so that the other communication device 100 can use the local IP address of the communication device 100. Can recognize the translated global IP address. Therefore, if the other subflow is disconnected, the connection and maintenance of the second and subsequent subflows using the local IP address are maintained, and the communication device 100 and the other communication device 100 can communicate using this subflow.

また、プロセッサは、通信インタフェース160b,160cの通信方式を基に、MPTCPのサブフローの確立順序を決定してもよい。通信インタフェース160b,160cは、決定された確立順序で、SYN+MP_CAPABLEパケットやSYN+ACK+MP_CAPABLEパケット又はSYN+MP_JOINパケットやSYN+ACK+MP_JOINパケットを通信してもよい。 Further, the processor may determine the order of establishing MPTCP subflows based on the communication methods of the communication interfaces 160b and 160c. The communication interfaces 160b and 160c may communicate the SYN + MP_CAPABLE packet, the SYN + ACK + MP_CAPABLE packet, the SYN + MP_JOIN packet, and the SYN + ACK + MP_JOIN packet in the determined establishment order.

これにより、通信装置100は、通信方式の特性に合わせて、ローカルIPアドレスを用いたMPTCPのサブフローを確立できる。例えば、通信装置100は、有線通信を用いたサブフローを優先的に確立することで、通信接続の安定性を向上でき、安定したMPTCP通信を迅速に実現できる。また、通信装置100は、LAN通信を用いたサブフローを優先的に確立することで、外部ネットワーク(例えばインターネットNT1)を用いた通信のトラフィック量を低減でき、ネットワークを有効活用できる。 As a result, the communication device 100 can establish a subflow of MPTCP using a local IP address according to the characteristics of the communication method. For example, the communication device 100 can improve the stability of the communication connection and quickly realize the stable MPTCP communication by preferentially establishing the subflow using the wired communication. Further, the communication device 100 can reduce the traffic volume of communication using an external network (for example, the Internet NT1) by preferentially establishing a subflow using LAN communication, and can effectively utilize the network.

また、プロセッサは、通信インタフェース160b,160cによる通信に使用される通信帯域を基に、MPTCPのサブフローの確立順序を決定してもよい。通信インタフェース160b,160cは、決定された確立順序で、SYN+MP_CAPABLEパケットやSYN+ACK+MP_CAPABLEパケット又はSYN+MP_JOINパケットやSYN+ACK+MP_JOINパケットを通信してもよい。 Further, the processor may determine the order of establishing MPTCP subflows based on the communication band used for communication by the communication interfaces 160b and 160c. The communication interfaces 160b and 160c may communicate the SYN + MP_CAPABLE packet, the SYN + ACK + MP_CAPABLE packet, the SYN + MP_JOIN packet, and the SYN + ACK + MP_JOIN packet in the determined establishment order.

これにより、通信装置100は、ローカルIPアドレスを用いてMPTCPの高速通信が可能なサブフローを確立できる。よって、通信装置100は、迅速に通信可能な帯域を広く確保でき、MPTCP通信の一層の高速化を実現できる。 As a result, the communication device 100 can establish a subflow capable of high-speed MPTCP communication using the local IP address. Therefore, the communication device 100 can secure a wide band capable of rapid communication, and can realize further speeding up of MPTCP communication.

また、通信インタフェース160a〜160cは、確立された複数のサブフローのうち、一部のサブフローが切断された場合、他のサブフローを介して、通信データを再送してもよい。 Further, the communication interfaces 160a to 160c may retransmit the communication data via the other subflows when a part of the established subflows is disconnected.

これにより、通信装置100は、ローカルIPアドレス又はグローバルIPアドレスを用いたMPTCPのいずれかのサブフローが切断された場合でも、切断されたサブフローが送るべき通信データを再送できる。よって、通信装置100は、MPTCP通信の信頼性を向上できる。 As a result, the communication device 100 can retransmit the communication data to be sent by the disconnected subflow even when the subflow of either the local IP address or the MPTCP using the global IP address is disconnected. Therefore, the communication device 100 can improve the reliability of MPTCP communication.

また、通信インタフェース160bは、通信インタフェース160aのグローバルIPアドレスの情報を含むMP_ADD_ADDRESSパケットを送信してもよい。MP_ADD_ADDRESSパケットは、第4の制御データの一例である。 Further, the communication interface 160b may transmit an MP_ADD_ADDRESS packet including information on the global IP address of the communication interface 160a. The MP_ADD_ADDRESS packet is an example of the fourth control data.

これにより、他の通信装置100が通信装置100のグローバルIPアドレスの情報を認識可能であるので、他の通信装置100から通信装置100に対して、グローバルIPアドレスを用いた新たなサブフローを追加で確立できる。 As a result, the other communication device 100 can recognize the information of the global IP address of the communication device 100. Therefore, a new subflow using the global IP address can be added from the other communication device 100 to the communication device 100. Can be established.

(他の実施形態)
以上のように、本開示における技術の例示として、第1の実施形態を説明した。しかし、本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施形態にも適用できる。
(Other embodiments)
As described above, the first embodiment has been described as an example of the technique in the present disclosure. However, the technique in the present disclosure is not limited to this, and can be applied to embodiments in which changes, replacements, additions, omissions, etc. are made.

第1の実施形態では、通信装置100Aが複数の通信インタフェース160を備え、他の通信装置100Bが1つの通信インタフェース160を備えることを例示したが、他の通信装置100Bが複数の通信インタフェース160を備えてもよい。 In the first embodiment, it is illustrated that the communication device 100A includes a plurality of communication interfaces 160 and the other communication device 100B includes one communication interface 160, but the other communication device 100B includes a plurality of communication interfaces 160. You may prepare.

図9は、他の実施形態における通信システムを説明するための模式図である。図9では、通信装置100Aは、m個(mは任意の数)の通信インタフェース160を備え、他の通信装置100Bは、n個(nは任意の数)の通信インタフェース160を備える。この場合、m×n個のサブフローが確立され得る。 FIG. 9 is a schematic diagram for explaining a communication system according to another embodiment. In FIG. 9, the communication device 100A includes m (m is an arbitrary number) communication interfaces 160, and the other communication device 100B includes n communication interfaces 160 (n is an arbitrary number). In this case, m × n subflows can be established.

また、図9では、他の通信装置100Bは、全ての通信インタフェース160においてグローバルIPアドレスが用いられることを例示しているが、これらの通信インタフェース160の一部がローカルIPアドレスを用いてもよい。この場合、インターネットNT1と他の通信装置100Bとの間には、通信装置100A側と同様に、NATサーバ200が配置される。 Further, in FIG. 9, the other communication device 100B illustrates that the global IP address is used in all the communication interfaces 160, but a part of these communication interfaces 160 may use the local IP address. .. In this case, the NAT server 200 is arranged between the Internet NT1 and the other communication device 100B as in the communication device 100A side.

第1の実施形態では、NATサーバ200を用いてローカルIPアドレスとグローバルIPアドレスとを変換することを例示したが、他の方法でアドレス変換してもよい。例えば、NATサーバ200の代わりに、アドレス情報に加えてポート情報を加味したNAPT(Network Address Port Translation)サーバを用いてアドレス変換してもよい。NAPTサーバを用いることで、1つのグローバルIPアドレスと複数のローカルIPアドレスとを変換できる。 In the first embodiment, the NAT server 200 is used to translate the local IP address and the global IP address, but the address translation may be performed by another method. For example, instead of the NAT server 200, the address may be translated by using a NAPT (Network Addless Port Translation) server that adds port information in addition to the address information. By using a NAT server, one global IP address and a plurality of local IP addresses can be translated.

第1の実施形態では、通信システム10が基地局を含む無線通信システムでもよく、他のシステム(例えばコンテンツ配信システムや監視システム)でもよい。無線通信システムである場合、通信装置100Aが例えば携帯端末であり、通信装置100Bが例えば基地局装置である。コンテンツ配信システムである場合、通信装置100Aが例えば携帯端末であり、通信装置100Bが例えばコンテンツ配信サーバである。監視システムである場合、通信装置100Aが例えばカメラ装置であり、通信装置100Bが例えば監視用のPCである。 In the first embodiment, the communication system 10 may be a wireless communication system including a base station, or another system (for example, a content distribution system or a monitoring system). In the case of a wireless communication system, the communication device 100A is, for example, a mobile terminal, and the communication device 100B is, for example, a base station device. In the case of a content distribution system, the communication device 100A is, for example, a mobile terminal, and the communication device 100B is, for example, a content distribution server. In the case of a monitoring system, the communication device 100A is, for example, a camera device, and the communication device 100B is, for example, a monitoring PC.

第1の実施形態では、通信装置100が2つ又は3つの通信方式に従って通信可能であることを例示したが、4つ以上の通信方式に従って通信可能でもよい。 In the first embodiment, it is illustrated that the communication device 100 can communicate according to two or three communication methods, but communication may be possible according to four or more communication methods.

第1の実施形態では、CPU111、ネットワークコントローラ113を一例として説明したが、CPU111、ネットワークコントローラ113以外のプロセッサでもよい。プロセッサは、物理的にどのように構成されてもよい。また、プログラム可能なプロセッサを用いれば、プログラムの変更により処理内容を変更できるので、プロセッサの設計の自由度を高めることができる。プロセッサは、1つの半導体チップで構成してもよいし、物理的に複数の半導体チップで構成してもよい。複数の半導体チップで構成する場合、第1の実施形態の各制御をそれぞれ別の半導体チップで実現してもよい。この場合、それらの複数の半導体チップで1つのプロセッサを構成すると考えることができる。また、プロセッサは、半導体チップと別の機能を有する部材(コンデンサ等)で構成してもよい。また、プロセッサが有する機能とそれ以外の機能とを実現するように、1つの半導体チップを構成してもよい。 In the first embodiment, the CPU 111 and the network controller 113 have been described as an example, but a processor other than the CPU 111 and the network controller 113 may be used. The processor may be physically configured in any way. Further, if a programmable processor is used, the processing content can be changed by changing the program, so that the degree of freedom in processor design can be increased. The processor may be composed of one semiconductor chip, or may be physically composed of a plurality of semiconductor chips. When it is composed of a plurality of semiconductor chips, each control of the first embodiment may be realized by a separate semiconductor chip. In this case, it can be considered that one processor is composed of those plurality of semiconductor chips. Further, the processor may be composed of a member (capacitor or the like) having a function different from that of the semiconductor chip. Further, one semiconductor chip may be configured so as to realize the functions of the processor and other functions.

第1の実施形態では、図2において通信装置100の構成を示したが、各構成は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。 In the first embodiment, the configuration of the communication device 100 is shown in FIG. 2, but each configuration may be realized by hardware or software.

本開示は、複数の通信インタフェースの一部にローカルIPアドレスが割り当てられている場合でも、ローカルIPアドレスが割り当てられた通信インタフェースを用いてMPTCPのサブフローを高精度に確立できる通信装置及び通信方法等に有用である。 In the present disclosure, even when a local IP address is assigned to a part of a plurality of communication interfaces, a communication device and a communication method capable of establishing a subflow of MPTCP with high accuracy by using the communication interface to which the local IP address is assigned, etc. It is useful for.

10 通信システム
100,100A,100B 通信装置
110 メインSoC
111 CPU
112 BCU
113 ネットワークコントローラ
120 SDRAM
130 フラッシュメモリ
140 ディスプレイ
150 電源コントローラ
160,160a,160b,160c 通信インタフェース
180 バッテリ
190 DC電源コネクタ
200,200B,200C NATサーバ
NT ネットワーク
NT1 インターネット
10 Communication system 100, 100A, 100B Communication device 110 Main SoC
111 CPU
112 BCU
113 Network controller 120 SDRAM
130 Flash memory 140 Display 150 Power controller 160, 160a, 160b, 160c Communication interface 180 Battery 190 DC power connector 200, 200B, 200C NAT server NT network NT1 Internet

Claims (7)

MPTCPに従って他の通信装置と通信する通信装置であって、
通信を制御するプロセッサと、
アドレス変換サーバによりグローバルIPアドレスに変換されるローカルIPアドレスを用いて、第1の通信方式で通信する第1の通信インタフェースと、
グローバルIPアドレスを用いて、第2の通信方式で通信する第2の通信インタフェースと、
を備え、
前記第1の通信インタフェースは、前記プロセッサによる制御により、前記MPTCPのセッション及びサブフローを確立するための第1の制御データを通信し、
前記第2の通信インタフェースは、前記プロセッサによる制御により、前記第1の制御データの通信後、前記MPTCPのサブフローを追加するための第2の制御データを通信し、
前記第1の制御データの通信においては、MPTCPのセッションを確立するためのパケットを送信し、前記他の通信装置からの承認パケットを受信した後、IPアドレスを通知するためのパケットを送信し、
前記IPアドレスを通知するためのパケットは、前記第2の通信インタフェースに割り当てられた前記グローバルIPアドレスの情報を含む、通信装置。
A communication device that communicates with other communication devices according to MPTCP.
The processor that controls communication and
A first communication interface that communicates by the first communication method using a local IP address that is converted into a global IP address by an address translation server.
A second communication interface that communicates by the second communication method using the global IP address,
With
The first communication interface communicates the first control data for establishing the session and subflow of the MPTCP under the control of the processor.
Under the control of the processor, the second communication interface communicates the second control data for adding the subflow of the MPTCP after the communication of the first control data .
In the communication of the first control data, a packet for establishing an MPTCP session is transmitted, an approval packet from the other communication device is received, and then a packet for notifying the IP address is transmitted.
The packet for notifying the IP address is a communication device including information on the global IP address assigned to the second communication interface .
請求項1に記載の通信装置であって、
前記第1の通信インタフェースを複数備え、
前記第1の通信インタフェースのうち前記第1の制御データを通信していない通信インタフェースは、前記プロセッサによる制御により、前記第1の制御データの通信後、前記MPTCPのサブフローを追加するための第3の制御データを通信する、通信装置。
The communication device according to claim 1.
A plurality of the first communication interfaces are provided.
Among the first communication interfaces, the communication interface that does not communicate with the first control data is a third for adding the MPTCP subflow after the communication of the first control data under the control of the processor. A communication device that communicates control data.
請求項2に記載の通信装置であって、
前記プロセッサは、各第1の通信インタフェースの通信方式を基に、前記MPTCPのサブフローの確立順序を決定し、
各第1の通信インタフェースは、決定された前記確立順序で、前記第1の制御データ又は前記第3の制御データを通信する、通信装置。
The communication device according to claim 2.
The processor determines the establishment order of the MPTCP subflows based on the communication method of each first communication interface.
Each first communication interface is a communication device that communicates the first control data or the third control data in the determined establishment order.
請求項2に記載の通信装置であって、
前記プロセッサは、各第1の通信インタフェースによる通信に使用される通信帯域を基に、前記MPTCPのサブフローの確立順序を決定し、
各第1の通信インタフェースは、決定された前記確立順序で、前記第1の制御データ又は前記第3の制御データを通信する、通信装置。
The communication device according to claim 2.
The processor determines the establishment order of the MPTCP subflows based on the communication band used for communication by each first communication interface.
Each first communication interface is a communication device that communicates the first control data or the third control data in the determined establishment order.
請求項1〜4のいずれか1項に記載の通信装置であって、
前記第1の通信インタフェース又は前記第2の通信インタフェースは、確立された複数のサブフローのうち、一部のサブフローが切断された場合、他のサブフローを介して、通信データを再送する、通信装置。
The communication device according to any one of claims 1 to 4.
The first communication interface or the second communication interface is a communication device that retransmits communication data via another subflow when a part of the established subflows is disconnected.
請求項2に記載の通信装置であって、
前記第1の通信インタフェースは、前記第2の通信インタフェースのグローバルIPアドレスの情報を含む第4の制御データを送信する、通信装置。
The communication device according to claim 2.
The first communication interface is a communication device that transmits fourth control data including information on the global IP address of the second communication interface.
アドレス変換サーバによりグローバルIPアドレスに変換されるローカルIPアドレスを用いて第1の通信方式で通信する第1の通信インタフェースと、グローバルIPアドレスを用いて第2の通信方式で通信する第2の通信インタフェースと、を備え、MPTCPに従って他の通信装置と通信する通信装置における通信方法であって、
前記第1の通信インタフェースにより、前記MPTCPのセッション及びサブフローを確立するための第1の制御データを通信し、
前記第2の通信インタフェースにより、前記第1の制御データの通信後、前記MPTCPのサブフローを追加するための第2の制御データを通信し、
前記第1の制御データの通信においては、MPTCPのセッションを確立するためのパケットを送信し、前記他の通信装置からの承認パケットを受信した後、IPアドレスを通知するためのパケットを送信し、
前記IPアドレスを通知するためのパケットは、前記第2の通信インタフェースに割り当てられた前記グローバルIPアドレスの情報を含む、通信方法。
A first communication interface that communicates by the first communication method using a local IP address that is converted into a global IP address by an address translation server, and a second communication that communicates by a second communication method using a global IP address. A communication method in a communication device having an interface and communicating with another communication device according to MPTCP.
By the first communication interface for communicating first control data for establishing a session and sub-flow of the MPTCP,
By the second communication interface, after the communication of the first control data, and communicates the second control data for adding subflow of the MPTCP,
In the communication of the first control data, a packet for establishing an MPTCP session is transmitted, an approval packet from the other communication device is received, and then a packet for notifying the IP address is transmitted.
A communication method in which a packet for notifying the IP address includes information on the global IP address assigned to the second communication interface .
JP2016176756A 2016-09-09 2016-09-09 Communication device and communication method Expired - Fee Related JP6767693B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016176756A JP6767693B2 (en) 2016-09-09 2016-09-09 Communication device and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016176756A JP6767693B2 (en) 2016-09-09 2016-09-09 Communication device and communication method

Publications (2)

Publication Number Publication Date
JP2018042199A JP2018042199A (en) 2018-03-15
JP6767693B2 true JP6767693B2 (en) 2020-10-14

Family

ID=61624062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016176756A Expired - Fee Related JP6767693B2 (en) 2016-09-09 2016-09-09 Communication device and communication method

Country Status (1)

Country Link
JP (1) JP6767693B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI595764B (en) * 2011-04-11 2017-08-11 內數位專利控股公司 Wireless transmission/reception unit and method of performing same
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
CN107426799B (en) * 2012-02-29 2020-01-03 华为技术有限公司 Control method, control server and terminal of multimode wireless communication system
EP2738995A1 (en) * 2012-11-30 2014-06-04 Thomson Licensing Method and multi-homed equipment for establishing a multipath connection
KR101820583B1 (en) * 2012-12-14 2018-01-19 텔레폰악티에볼라겟엘엠에릭슨(펍) Handling multipath transmission control protocol signalling in a communications network
BR112017006261B1 (en) * 2014-09-25 2023-03-28 Hughes Network Systems, Llc APPLICATION-SENSITIVE MULTIPLE ADDRESSING METHOD FOR DATA TRAFFIC ACCELERATION IN DATA COMMUNICATION NETWORKS

Also Published As

Publication number Publication date
JP2018042199A (en) 2018-03-15

Similar Documents

Publication Publication Date Title
JP6508591B2 (en) Method and apparatus for reestablishing a tunnel direct link setup (TDLS) session between devices in a wireless network
US8102813B2 (en) Coordinating a transition of a roaming client between wireless access points using another client in physical proximity
US9008039B2 (en) Mobile phone/docking station call continuity
EP2574101B1 (en) Method and device for automatically switching networks, wireless access device and intermediate device
US9049183B2 (en) Ethernet base, network system, and data forwarding method
US20120311184A1 (en) IP Address Assignment System, Dynamic Host Configuration Protocol Server, And Method Of Assigning An IP Address
CN104205741A (en) Information processing device, information processing method, and program
CN105516960B (en) Perceptual authentication method system, management method and system based on the method system
US20120155325A1 (en) MOBILE PHONE DOCKING STATION VPNs
US9148895B2 (en) Bridge mode firewall mobility
BRPI0822670B1 (en) SEQUENCABLE WLAN PORTAL
EP2680491B1 (en) Method for establishing channel for managing an IPv4 terminal
BRPI0912420B1 (en) sequential wlan portal
CN102739534A (en) Method, apparatus and system for maintaining mobility resistant ip tunnels using mobile router
JP2003333080A (en) Method for transitioning between link systems and mobile computing device
CN102811164A (en) Portable network connection device and setting method thereof
US20120063440A1 (en) Wireless lan access point device, mobile communication terminal, communication method, and program
WO2011055271A1 (en) Stateless transmission control protocol rendezvous solution for border gateway function
CN112134826B (en) Communication method, computer device, and computer-readable storage medium
WO2023226946A1 (en) Communication method and system, and wireless access device and access controller
JPWO2014061314A1 (en) Content distribution method
JP6767693B2 (en) Communication device and communication method
WO2014047952A1 (en) Network switching method and terminal
WO2011022887A1 (en) Method and equipment for implementing terminal accessing universal serial bus (usb) devices remotely
Mondal et al. A reliable, multi-path, connection oriented and independent transport protocol for IoT networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200903

R151 Written notification of patent or utility model registration

Ref document number: 6767693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees