JP6767693B2 - Communication device and communication method - Google Patents
Communication device and communication method Download PDFInfo
- 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
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).
従来の通信装置は、複数の通信インタフェースの一部にローカル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.
以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。 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
通信システム10では、各通信装置100は、MPTCPを用いて、データ通信する。
In the
ネットワーク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
通信方式は、例えば、有線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
複数の通信インタフェース160は、例えば、2つの通信インタフェース160a,160bを含んでもよいし、3つの通信インタフェース160a,160b,160cを含んでもよいし、4つ以上の通信インタフェースを含んでもよい。
The plurality of
メイン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
CPU111は、SDRAM120やフラッシュメモリ130と協働して、各種処理や制御を行う。具体的には、CPU111は、SDRAM120やフラッシュメモリ130に保持されたプログラムを実行することで、通信装置100が有する各機能を実現する。このプログラムは、例えば、OS(Operating System)、ミドルウェア、アプリケーション、を含む。
The
BCU112は、SDRAM120やフラッシュメモリ130と協働して、通信装置100における各種バスのデータ送受を制御する。
The BCU 112 cooperates with the SDRAM 120 and the
ネットワークコントローラ113は、複数の通信インタフェース160及びネットワークコントローラ113に接続される。ネットワークコントローラ113は、各通信インタフェース160を介して接続されるネットワークNTとの間の通信を制御する。また、ネットワークコントローラ113は、CPU111と協働として、MPTCPに係る通信の制御を行う。
The
バス115は、CPU111、BCU112、ネットワークコントローラ113、及びディスプレイ140を含む各構成部がデータを交換するための経路である。
The
バス116は、CPU111、BCU112、SDRAM120、及びフラッシュメモリ130を含む各構成部がデータを交換するための経路である。
The
SDRAM120は、各種データを保持する一次記憶装置の一例である。
The
フラッシュメモリ130は、各種データやプログラムを保持する二次記憶装置の一例である。フラッシュメモリ130は、例えば、各通信インタフェース160を識別する識別情報と、各通信インタフェース160に割り当てられたIPアドレス(グローバルIPアドレス又はローカルIPアドレス)の情報と、を対応付けて保持する。
The
尚、SDRAM120、フラッシュメモリ130以外のメモリや記憶媒体が備えられてもよい。例えば、通信装置100が、各種RAM、各種ROM、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)、を備えてもよい。
A memory or storage medium other than the
ディスプレイ140は、例えばLCD(Liquid Crystal Display)又は有機EL(Electro Luminescence)ディスプレイを含み、各種データを表示する。
The
電源コントローラ150は、バッテリ180及びDC電源コネクタ190に接続され、電源電力を制御する。例えば、電源コントローラ150は、メインSoC110へ供給される電力として、バッテリ180からの電力又はDC電源コネクタ19からの電力のいずれかを選択する。
The
通信インタフェース160aは、ネットワークコントローラ113の制御により、第1の通信方式(例えばLTE通信)に従って、他の通信装置との間でデータ通信する。通信インタフェース160aには、IPアドレスとして、例えばグローバルIPアドレスが割り当てられる。尚、インタフェースは、例えばポートに相当する。
The
通信インタフェース160bは、ネットワークコントローラ113の制御により、第1の通信方式と異なる第2の通信方式(例えば無線LAN通信)に従って、他の通信装置との間でデータ通信する。通信インタフェース160aには、IPアドレスとして、例えばローカルIPアドレスが割り当てられる。
Under the control of the
通信インタフェース160cは、ネットワークコントローラ113の制御により、第1の通信方式及び第2の通信方式と異なる第3の通信方式に従って、他の通信装置との間でデータ通信する。通信インタフェース160aには、IPアドレスとして、例えばローカルIPアドレスが割り当てられる。
The
バッテリ180は、リチウムイオン電池等の二次電池を含み、電源コントローラ150の制御により、メインSoC110に対して電力供給する。
The
DC電源コネクタ190は、外部のDC電源に接続可能であり、電源コントローラ150の制御により、メインSoC110に対して電力供給する。また、DC電源コネクタ190は、電源コントローラ150の制御により、バッテリ180へ電力を供給し、バッテリ180を充電してもよい。
The
尚、通信システム10に含まれる複数の通信装置100のうち、少なくとも1つの通信装置が、複数の通信方式に対応する複数の通信インタフェース160を備えていればよい。つまり、通信システム10に、単一の通信インタフェース160を備える通信装置100が含まれていてもよい。
It is sufficient that at least one of the plurality of
[動作等]
次に、通信システム10の動作について説明する。尚、自装置としての通信装置100を通信装置100Aと称することもある。また、自装置の通信相手としての通信装置100を他の通信装置100Bと称することもある。
[Operation, etc.]
Next, the operation of the
図3は、通信装置100の動作例を示すフローチャートである。
FIG. 3 is a flowchart showing an operation example of the
まず、CPU111は、他の通信装置100Bに送信すべき通信データ(例えば音声データ、画像データ、制御データ)が存在するか否かを判定する(S101)。通信データが存在しない場合、S101の処理を繰り返す。
First, the
他の通信装置100Bに送信すべき通信データが存在する場合、CPU111は、自装置としての通信装置100が有する複数の通信インタフェース160のそれぞれのIPアドレス(グローバルIPアドレス又はローカルIPアドレス)の情報を、フラッシュメモリ130から取得する(S102)。
When there is communication data to be transmitted to the
CPU111は、取得されたIPアドレスの情報に、ローカルIPアドレスが存在するか否かを判定する(S103)。
The
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
S104によりセッションが確立されると、ネットワークコントローラ113は、通信インタフェース160bを介して、通信データの通信を開始する(S105)。
When the session is established by S104, the
CPU111は、取得されたIPアドレスの情報に、他にローカルIPアドレスが存在するか否かを判定する(S106)。
The
S106において他にローカルIPアドレスが存在する場合、ネットワークコントローラ113は、このローカルIPアドレスが割り当てられた通信インタフェース160(例えば通信インタフェース160c)と他の通信装置100Bとの間で、JOINメッセージを通信する(S107)。
When another local IP address exists in S106, the
S107では、通信装置100のローカルIPアドレスが割り当てられた通信インタフェース160cから他の通信装置100BへJOINメッセージを送信してもよいし、他の通信装置100Bから通信装置100の通信インタフェース160cへJOINメッセージを送信してもよい。そして、S106の処理に再度進む。
In S107, a JOIN message may be transmitted from the
尚、JOINメッセージが正常に通信されると、通信装置100と他の通信装置100Bとの間でMPTCPのサブフローが確立される。通信装置100と他の通信装置100とは、確立されたMPTCPのサブフローを介して、通信可能となる。
When the JOIN message is normally communicated, a subflow of MPTCP is established between the
一方、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
S108によりセッションが確立されると、ネットワークコントローラ113は、通信インタフェース160aを介して、通信データの通信を開始する(S109)。
When the session is established by S108, the
S109の処理後、又はS106において他にローカルIPアドレスが存在しない場合、ネットワークコントローラ113は、他にグローバルIPアドレスが存在するか否かを判定する(S110)。
After the processing of S109 or when there is no other local IP address in S106, the
S110において他にグローバルIPアドレスが存在する場合、ネットワークコントローラ113は、このグローバルIPアドレスが割り当てられた通信インタフェース160と他の通信装置100Bとの間で、JOINメッセージを通信する(S111)。
When another global IP address exists in S110, the
S111では、通信装置100のグローバルIPアドレスが割り当てられた通信インタフェース160から他の通信装置100BへJOINメッセージを送信してもよいし、他の通信装置100Bから通信装置100のグローバルIPアドレスが割り当てられた通信インタフェース160へJOINメッセージを送信してもよい。そして、S110の処理に再度進む。
In S111, a JOIN message may be transmitted from the
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
例えば、他の通信装置100Bに送信すべき通信データが残存する場合、セッション確立を継続するので、CPU111は、セッションを終了しないと判定する。例えば、他の通信装置100Bに送信すべき通信データについて全て通信済みとなった場合、CPU111は、セッションを終了すると判定し、確立したMPTCPセッションを終了する。
For example, if the communication data to be transmitted to the
次に、通信システム10による具体的なMPTCP通信について説明する。ここでは、第1通信例及び第2通信例を示す。
Next, specific MPTCP communication by the
[第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
通信装置100AとインターネットNT1との間には、NATサーバ200が配置される。NATサーバ200は、通信装置100Aが用いるローカルIPアドレスとグローバルIPアドレスとを変換する。また、NATサーバ200は、このグローバルIPアドレスとローカルIPアドレスとの関連付けの情報を有する変換テーブルをメモリ(不図示)に保持する。
A
通信装置100Aでは、CPU111は、2つの通信インタフェース160に割り当てられたIPアドレスがグローバルIPアドレスであるかローカルIPアドレスであるかを判定する。2つのIPアドレスのうち、ローカルIPアドレスが存在する場合、ローカルIPアドレスが割り当てられた通信インタフェース160を用いて、通信装置100Aと通信装置100Bとの間のセッション確立を行い、第1のサブフローを確立する。
In the
通信装置100Aは、最初に接続された通信インタフェース160を用いて通信データの通信を行うとともに、未接続の通信インタフェース160を用いてJOINメッセージを他の通信装置100Aへ送信又は受信する。JOINメッセージによるセッションへのJOINが成功すると、通信装置100Aの2つの通信インタフェース160と他の通信装置100Bの1つの通信インタフェース160との間で、第2のサブフローが追加される。これにより、通信装置100A及び他の通信装置100Bは、第1のサブフローと第2のサブフローとを介して、同時に通信データを通信可能となる。
The
このような複数のサブフローを含むセッションが確立された状態で、通信装置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
図5は、第1通信例に係る通信システム10の動作例を示すシーケンス図である。図5では、通信インタフェース160aがグローバルIPアドレスを用いて通信し、通信インタフェース160bがローカルIPアドレスを用いて通信することを想定する。
FIG. 5 is a sequence diagram showing an operation example of the
図5では、通信装置100Aの通信インタフェース160aが「インタフェース1」と記載され、通信装置100Aの通信インタフェース160bが「インタフェース2」と記載され、他の通信装置100Bの通信インタフェース160が「他インタフェース」と記載されている。
In FIG. 5, the
通信システム10では、MPTCPのセッション確立に際し、まず、通信装置100Aの通信インタフェース160bは、他の通信装置100Bの通信インタフェース160へ、NATサーバ200を介してSYN+MP_CAPABLEパケットを送信する(T101)。
In the
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
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
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,
通信装置100Bの通信インタフェース160がACK+MP_ADD_ADDRESSパケットを受信すると、通信装置100Aと通信装置100Bとの間でMPTCPのセッションが確立される。そして、通信装置100Aの通信インタフェース160bと他の通信装置100Bの通信インタフェース160との間でサブフローSF11が確立される。ネットワークコントローラ113は、MP_ADD_ADDRESSのパケットに含まれる通信装置100Aの通信インタフェース160aのグローバルIPアドレスの情報を、フラッシュメモリ130に保持させる。
When the
通信装置100Aの通信インタフェース160b及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF11を介して通信データを通信する。例えば、通信装置100Aの通信インタフェース160bは、サブフローSF11を介して、通信データ(data)を送信する(T104)。他の通信装置100Bの通信インタフェース160は、サブフローSF11を介して通信データを受信し、サブフローSF11を介して、通信データに対するACKデータを送信する(T105)。
The
通信装置100Aの通信インタフェース160aは、他の通信装置100Bの通信インタフェース160へ、グローバルアドレスを用いてSYN+MP_JOINパケットを送信する(T106)。SYN+MP_JOINパケットは、同期パケット(SYN)とサブフローを追加するためのパケット(MP_JOIN)とを含む。
The
他の通信装置100Bの通信インタフェース160は、SYN+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160aへ、グローバルアドレスを用いてSYN+ACK+MP_JOINパケットを送信する(T107)。SYN+ACK+MP_JOINパケットは、同期パケット(SYN)と承認パケット(ACK)とサブフローを追加するためのパケット(MP_JOIN)とを含む。
When the
通信装置100Aの通信インタフェース160aは、SYN+ACK+MP_JOINパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、ACK+MP_JOINパケットを送信する(T108)。ACK+MP_JOINパケットは、承認パケット(ACK)とサブフローを追加するためのパケット(MP_JOIN)とを含む。
When the
通信装置100Bの通信インタフェース160がACK+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160aと他の通信装置100Bの通信インタフェース160との間でサブフローSF12が確立される。よって、通信装置100Aと他の通信装置100Bとの間に確立されたセッションのサブフローは、サブフローSF11,SF12の2つとなる。通信装置100Aの通信インタフェース160a及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF12を介して通信データを通信する。
When the
例えば、通信装置100Aの通信インタフェース160aは、サブフローSF12を介して、通信データ(data)を送信する(T109)。他の通信装置100Bの通信インタフェース160は、サブフローSF12を介して通信データを受信し、サブフローSF12を介して、通信データに対するACKデータを送信する(T110)。尚、サブフローSF11,SF12は共存可能であるので、通信システム10は、複数のサブフローSF11,SF12を用いて通信データを通信できる。
For example, the
このような第1通信例によれば、通信システム10では、通信装置100Aが、ローカルIPアドレスが割り当てられた通信インタフェース160bから他の通信装置100Bへ接続する。続いて、通信装置100Aは、グローバルIPアドレスが割り当てられた通信インタフェース160aと他の通信装置100Bの通信インタフェース160との間で、セッションのサブフローSF12を新たに確立する。これにより、通信装置100Aは、他の通信装置100Bとの間で、複数の通信インタフェース160を用いて異なる通信方式で通信データを通信できる。
According to such a first communication example, in the
尚、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
尚、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
[第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
通信装置100AとインターネットNT1との間には、通信インタフェース160bが用いる通信経路において、NATサーバ200Bが配置される。通信装置100AとインターネットNT1との間には、通信インタフェース160cが用いる通信経路において、NATサーバ200Cが配置される。
A
NATサーバ200Bは、通信装置100Aの通信インタフェース160bが用いるグローバルIPアドレスとローカルIPアドレスとを変換する。NATサーバ200Cは、通信装置100Aの通信インタフェース160cが用いるグローバルIPアドレスとローカルIPアドレスとを変換する。また、NATサーバ200B,200Cは、このグローバルIPアドレスとローカルIPアドレスとの関連付けの情報を有する変換テーブルをメモリ(不図示)に保持する。
The
通信装置100Aでは、CPU111は、3つの通信インタフェース160a〜160cに割り当てられたIPアドレスが、それぞれグローバルIPアドレスであるかローカルIPアドレスであるかを判定する。3つのIPアドレスのうち、ローカルIPアドレスが存在する場合、ローカルIPアドレスが割り当てられた通信インタフェース160を用いて、通信装置100Aと通信装置100Bとの間のセッション確立を行い、第1のサブフローを確立する。
In the
通信装置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
このような複数のサブフローを含むセッションが確立された状態で、通信装置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
図7は、第2通信例に係る通信システム10の動作例を示すシーケンス図である。ここでは、通信インタフェース160aがグローバルIPアドレスを用いて通信し、通信インタフェース160b,160cがローカルIPアドレスを用いて通信することを想定する。
FIG. 7 is a sequence diagram showing an operation example of the
図7では、通信装置100Aの通信インタフェース160aが「インタフェース1」と記載され、通信装置100Aの通信インタフェース160bが「インタフェース2」と記載され、通信装置100Aの通信インタフェース160cが「インタフェース3」と記載され、他の通信装置100Bの通信インタフェース160が「他インタフェース」と記載されている。また、NATサーバ200Bが「NAT1」と記載され、NATサーバ200Cが「NAT2」と記載されている。
In FIG. 7, the
通信システム10では、MPTCPのセッション確立に際し、まず、通信装置100Aの通信インタフェース160bは、他の通信装置100Bの通信インタフェース160へ、NATサーバ200Bを介してSYN+MP_CAPABLEパケットを送信する(T201)。
In the
通信装置100Bの通信インタフェース160は、SYN+MP_CAPABLEパケットを受信すると、通信装置100Aの通信インタフェース160bへ、NAT200Bを介してSYN+ACK+MP_CAPABLEパケットを送信する(T202)。
When the
通信装置100Aの通信インタフェース160bは、SYN+ACK+MP_CAPABLEパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、NATサーバ200Bを介してACK+MP_ADD_ADDRESSパケットを送信する(T203)。
When the
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,
通信装置100Bの通信インタフェース160がACK+MP_ADD_ADDRESSパケットを受信すると、通信装置100Aと通信装置100Bとの間でセッションが確立される。そして、通信装置100Aの通信インタフェース160bと他の通信装置100Bの通信インタフェース160との間でサブフローSF21が確立される。ネットワークコントローラ113は、MP_ADD_ADDRESSのパケットに含まれる通信装置100Aの通信インタフェース160aのグローバルIPアドレスの情報を、フラッシュメモリ130に保持させる。
When the
通信装置100Aの通信インタフェース160b及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF21を介して通信データを通信する。例えば、通信装置100Aの通信インタフェース160bは、サブフローSF21を介して、通信データ(data)を送信する(T204)。他の通信装置100Bの通信インタフェース160は、サブフローSF21を介して通信データを受信し、サブフローSF21を介して、通信データに対するACKデータを送信する(T205)。
The
通信装置100Aの通信インタフェース160cは、他の通信装置100Bの通信インタフェース160へ、NATサーバ200Cを介してSYN+MP_JOINパケットを送信する(T206)。
The
他の通信装置100Bの通信インタフェース160は、SYN+MP_JOINパケットを受信し、通信装置100Aの通信インタフェース160cへ、NATサーバ200Cを介してSYN+ACK+MP_JOINパケットを送信する(T207)。
The
通信装置100Aの通信インタフェース160cは、SYN+ACK+MP_JOINパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、NAT20Cを介してACK+MP_JOINパケットを送信する(T208)。
When the
通信装置100Bの通信インタフェース160がACK+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160cと他の通信装置100Bの通信インタフェース160との間でサブフローSF22が確立される。通信装置100Aの通信インタフェース160c及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF22を介して通信データを通信する。
When the
例えば、通信装置100Aの通信インタフェース160cは、サブフローSF22を介して、通信データ(data)を送信する(T209)。他の通信装置100Bの通信インタフェース160は、サブフローSF22を介して通信データを受信し、サブフローSF22を介して、通信データに対するACKデータを送信する(T210)。
For example, the
通信装置100Aの通信インタフェース160aは、他の通信装置100Bの通信インタフェース160へ、グローバルアドレスを用いてSYN+MP_JOINパケットを送信する(T211)。
The
他の通信装置100Bの通信インタフェース160は、SYN+MP_JOINパケットを受信し、通信装置100Aの通信インタフェース160aへ、グローバルアドレスを用いてSYN+ACK+MP_JOINパケットを送信する(T212)。
The
通信装置100Aの通信インタフェース160aは、SYN+ACK+MP_JOINパケットを受信すると、他の通信装置100Bの通信インタフェース160へ、ACK+MP_JOINパケットを送信する(T213)。
When the
通信装置100Bの通信インタフェース160がACK+MP_JOINパケットを受信すると、通信装置100Aの通信インタフェース160aと他の通信装置100Bの通信インタフェース160との間でサブフローSF23が確立される。よって、通信装置100Aと他の通信装置100Bとの間に確立されたセッションのサブフローは、サブフローSF21,SF22,SF23の3つとなる。通信装置100Aの通信インタフェース160a及び通信装置100Bの通信インタフェース160は、確立されたサブフローSF23を介して通信データを通信する。
When the
例えば、通信装置100Aの通信インタフェース160aは、サブフローSF23を介して、通信データ(data)を送信する(T214)。他の通信装置100Bの通信インタフェース160は、サブフローSF23を介して通信データを受信し、サブフローSF23を介して、通信データに対するACKデータを送信する(T215)。尚、サブフローSF21,SF22,SF23は共存可能であるので、通信システム10は、複数のサブフローSF21,SF22,SF23を用いて通信データを通信できる。
For example, the
このような第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
尚、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
尚、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
一方、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
尚、図7では、通信インタフェース160cを用いたサブフローSF22が通信インタフェース160aを用いたサブフローSF23よりも前に確立されているが、このサブフローの確立順序は逆でもよい。最初に確立された通信インタフェース160bを用いたサブフローSF21により、通信インタフェース160aに割り当てられたグローバルIPアドレスを通知可能だからである。
In FIG. 7, the subflow SF22 using the
[通信優先順位の設定]
次に、第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
CPU111は、例えば、通信インタフェース160の種別を基に、通信優先順位を設定してもよい。例えば、グローバルIPアドレスを用いない通信インタフェース160を用いる通信の場合、有線LAN通信、無線LAN通信、セルラー通信、の順に、通信優先順位を高く設定する。設定された通信優先順位の情報は、フラッシュメモリ130に保持される。CPU111は、フラッシュメモリ130に保持された通信優先順位の情報を基に、通信優先順位の高い通信インタフェース160から順に、制御データを送信する。
The
CPU111は、例えば、各通信インタフェース160を介した各サブフローの帯域の太さを基に、通信優先順位を決定してもよい。CPU111は、各サブフローの帯域が太い順に、通信優先順位を高く設定してもよい。例えば、CPU111は、有線LAN通信、無線LAN通信、セルラー通信(例えばLTE通信)の順に、通信優先順位を高くしてもよい。
The
CPU111は、各サブフローの帯域を、公知の帯域推定方法により推定してもよい。また、CPU111は、PINGを送信して遅延時間の情報を取得してもよい。CPU111は、遅延時間が短い程、通信優先順位を高く設定してもよい。また、CPU111は、帯域推定パケットを用いて、サブフローの帯域を推定してもよい。
The
通信装置100Aは、通信優先順位を基に、通信優先順位に対応する通信方式の通信インタフェース160を用いて通信データを通信することで、通信を高速化できる。また、MPTCPに従って、帯域が太いサブフローでは通信データのデータ量を多くし、帯域が細いサブフローでは通信データのデータ量を小さくすることで、通信を高速化できる。CPU111は、通信データが到着すべき順序が変化しないように、通信データを各サブフローに振り分けてもよい。例えば、通信インタフェース160は、ネットワークコントローラ113の制御により、高速性を要する画像データを太い帯域のサブフローで送信し、高速性を要しない制御データを細い帯域のサブフローで送信してもよい。
The
尚、上記ではローカル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
[再送制御]
次に、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
[効果等]
通信装置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
図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
尚、通信装置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
これにより、通信装置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
よって、通信システム10は、通信装置100と他の通信装置100との間でMPTCPセッションを確立し、複数のサブフローを確立できる。複数のサブフローが確立されることで、通信システム10は、通信を高速化できる。
Therefore, the
また、通信システム10では、いずれかのサブフローが通信途中で切断されても、他のサブフローは維持されるので、MPTCPセッションを継続でき、通信を継続できる。例えば、通信装置100は、通信インタフェース160bによる無線LAN通信の電波が劣悪となり通信インタフェース160bを介するサブフローが切断されても、通信インタフェース160aを介するLTE通信を行うサブフローを継続できる。
Further, in the
また、通信装置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
ローカル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
また、プロセッサは、通信インタフェース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
また、プロセッサは、通信インタフェース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
また、通信インタフェース160a〜160cは、確立された複数のサブフローのうち、一部のサブフローが切断された場合、他のサブフローを介して、通信データを再送してもよい。
Further, the
これにより、通信装置100は、ローカルIPアドレス又はグローバルIPアドレスを用いたMPTCPのいずれかのサブフローが切断された場合でも、切断されたサブフローが送るべき通信データを再送できる。よって、通信装置100は、MPTCP通信の信頼性を向上できる。
As a result, the
また、通信インタフェース160bは、通信インタフェース160aのグローバルIPアドレスの情報を含むMP_ADD_ADDRESSパケットを送信してもよい。MP_ADD_ADDRESSパケットは、第4の制御データの一例である。
Further, the
これにより、他の通信装置100が通信装置100のグローバルIPアドレスの情報を認識可能であるので、他の通信装置100から通信装置100に対して、グローバルIPアドレスを用いた新たなサブフローを追加で確立できる。
As a result, the
(他の実施形態)
以上のように、本開示における技術の例示として、第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
図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
また、図9では、他の通信装置100Bは、全ての通信インタフェース160においてグローバルIPアドレスが用いられることを例示しているが、これらの通信インタフェース160の一部がローカルIPアドレスを用いてもよい。この場合、インターネットNT1と他の通信装置100Bとの間には、通信装置100A側と同様に、NATサーバ200が配置される。
Further, in FIG. 9, the
第1の実施形態では、NATサーバ200を用いてローカルIPアドレスとグローバルIPアドレスとを変換することを例示したが、他の方法でアドレス変換してもよい。例えば、NATサーバ200の代わりに、アドレス情報に加えてポート情報を加味したNAPT(Network Address Port Translation)サーバを用いてアドレス変換してもよい。NAPTサーバを用いることで、1つのグローバルIPアドレスと複数のローカルIPアドレスとを変換できる。
In the first embodiment, the
第1の実施形態では、通信システム10が基地局を含む無線通信システムでもよく、他のシステム(例えばコンテンツ配信システムや監視システム)でもよい。無線通信システムである場合、通信装置100Aが例えば携帯端末であり、通信装置100Bが例えば基地局装置である。コンテンツ配信システムである場合、通信装置100Aが例えば携帯端末であり、通信装置100Bが例えばコンテンツ配信サーバである。監視システムである場合、通信装置100Aが例えばカメラ装置であり、通信装置100Bが例えば監視用のPCである。
In the first embodiment, the
第1の実施形態では、通信装置100が2つ又は3つの通信方式に従って通信可能であることを例示したが、4つ以上の通信方式に従って通信可能でもよい。
In the first embodiment, it is illustrated that the
第1の実施形態では、CPU111、ネットワークコントローラ113を一例として説明したが、CPU111、ネットワークコントローラ113以外のプロセッサでもよい。プロセッサは、物理的にどのように構成されてもよい。また、プログラム可能なプロセッサを用いれば、プログラムの変更により処理内容を変更できるので、プロセッサの設計の自由度を高めることができる。プロセッサは、1つの半導体チップで構成してもよいし、物理的に複数の半導体チップで構成してもよい。複数の半導体チップで構成する場合、第1の実施形態の各制御をそれぞれ別の半導体チップで実現してもよい。この場合、それらの複数の半導体チップで1つのプロセッサを構成すると考えることができる。また、プロセッサは、半導体チップと別の機能を有する部材(コンデンサ等)で構成してもよい。また、プロセッサが有する機能とそれ以外の機能とを実現するように、1つの半導体チップを構成してもよい。
In the first embodiment, the
第1の実施形態では、図2において通信装置100の構成を示したが、各構成は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。
In the first embodiment, the configuration of the
本開示は、複数の通信インタフェースの一部にローカル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
111 CPU
112 BCU
113
130
Claims (7)
通信を制御するプロセッサと、
アドレス変換サーバによりグローバル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の制御データの通信後、前記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.
前記プロセッサは、各第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.
前記プロセッサは、各第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の通信インタフェース又は前記第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.
前記第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.
前記第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 .
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)
| 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 |
-
2016
- 2016-09-09 JP JP2016176756A patent/JP6767693B2/en not_active Expired - Fee Related
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 |