(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】通信システム、通信方法、通信装置及びプログラム
(51)【国際特許分類】
H04L 45/247 20220101AFI20241008BHJP
【FI】
H04L45/247
(21)【出願番号】P 2022576266
(86)(22)【出願日】2021-01-20
(86)【国際出願番号】 JP2021001780
(87)【国際公開番号】W WO2022157846
(87)【国際公開日】2022-07-28
【審査請求日】2023-06-05
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100119677
【氏名又は名称】岡田 賢治
(74)【代理人】
【識別番号】100160495
【氏名又は名称】畑 雅明
(74)【代理人】
【識別番号】100115794
【氏名又は名称】今下 勝博
(72)【発明者】
【氏名】池田 智彦
(72)【発明者】
【氏名】成川 聖
(72)【発明者】
【氏名】阿部 拓也
【審査官】安藤 一道
(56)【参考文献】
【文献】米国特許出願公開第2019/0273809(US,A1)
【文献】LIU, Shaowei et al.,MPUDP: Multipath Multimedia Transport Protocol over Overlay Network,Proceedings, 5th International Conference on Machinery, Materials and Computing Technology (ICMMCT 2017),Atlantis Press,2017年04月,pp.731-737,Advances in Engineering Research, volume 126
【文献】栗原 公紀 他,OpenFlowを利用したIPレイヤのマルチパスによる通信の高信頼化,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2013年09月05日,第113巻, 第207号,第37-42頁,CS2013-36
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/247
(57)【特許請求の範囲】
【請求項1】
複数の通信装置が複数のネットワークを介して接続されている通信システムであって、
前記複数の通信装置の一方は、
UDPペイロードに格納されているアプリケーションデータのアプリケーションプロトコルに対応するAPIライブラリを保有し、
前記APIライブラリに基づいて、UDPペイロードに格納されているアプリケーションデータを読み込み、
前記APIライブラリに基づいて、当該アプリケーションデータの一部としてマルチパスオプションの情報を格納し、
前記複数の通信装置の他方は、
前記APIライブラリを保有し、
前記APIライブラリに基づいて、UDPペイロードに格納されているアプリケーションデータを読み込み、
前記APIライブラリに基づいて、当該アプリケーションデータからマルチパスオプションの情報を取得し、
取得したマルチパスオプションの情報に基づき、前記複数のネットワークを介した通信を実行する、
通信システム。
【請求項2】
前記マルチパスオプションの情報は、前記複数のネットワークで一元化されたシーケンス番号を含み、
前記複数の通信装置の他方は、UDPペイロードに格納されているアプリケーションデータの一部として格納されているシーケンス番号
を前記APIライブラリに基づいて取得し、当該シーケンス番号に基づいて、前記複数のネットワークを介して受信したデータの並べ替えを行う、
請求項1に記載の通信システム。
【請求項3】
複数の通信装置が複数のネットワークを介して接続されている通信システムが実行する方法であって、
前記複数の通信装置の一方は、
UDPペイロードに格納されているアプリケーションデータのアプリケーションプロトコルに対応するAPIライブラリを保有し、
前記APIライブラリに基づいて、UDPペイロードに格納されているアプリケーションデータを読み込み、
前記APIライブラリに基づいて、当該アプリケーションデータの一部としてマルチパスオプションの情報を格納し、
前記複数の通信装置の他方は、
前記APIライブラリを保有し、
前記APIライブラリに基づいて、UDPペイロードに格納されているアプリケーションデータを読み込み、
前記APIライブラリに基づいて、当該アプリケーションデータからマルチパスオプションの情報を取得し、
取得したマルチパスオプションの情報に基づき、前記複数のネットワークを介した通信を実行する、
通信方法。
【請求項4】
複数のインタフェースを異なるネットワークに接続し、
UDPペイロードに格納されているアプリケーションデータのアプリケーションプロトコルに対応するAPIライブラリを保有し、
前記複数のインタフェースのいずれかがUDPパケットを送信する場合、
前記APIライブラリに基づいて、前記UDPパケットのUDPペイロードに格納されているアプリケーションデータを読み込み、
前記APIライブラリに基づいて、当該アプリケーションデータの一部としてマルチパスオプションの情報を格納する、
通信装置。
【請求項5】
複数のインタフェースを異なるネットワークに接続し、
UDPペイロードに格納されているアプリケーションデータのアプリケーションプロトコルに対応するAPIライブラリを保有し、
前記複数のインタフェースのいずれかがUDPパケットを受信する場合、
前記APIライブラリに基づいて、前記UDPパケットのUDPペイロードに格納されているアプリケーションデータを読み込み、
前記APIライブラリに基づいて、当該アプリケーションデータからマルチパスオプションの情報を取得し、
取得したマルチパスオプションの情報に基づき、前記異なるネットワークを介した通信を実行する、
通信装置。
【請求項6】
請求項4又は5に記載の通信装置に備わる各機能部としてコンピュータを実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークにおけるUDPマルチパスのシームレスな切り替えに関する。
【背景技術】
【0002】
従来技術のMPTCP(MultiPath Transmission Control Protocol)においては、L4の共通MPTCPソケットが、複数インタフェースのIP(Internet Protocol)アドレス、TCP(Transmission Control Protocol)セッション(マルチパス)を束ねることで、アプリケーションに対しては同一のソケットとして見せていた。これにより、例えば障害等によりマルチパスの内の1つが切断し、IPアドレス、TCPセッションの変更が発生しても、共通のMPTCPソケットによりアプリケーション側からは変更がないように見せることができるため、セッション断の回避、シームレスなパス切り替えを可能としていた。しかし、MPTCPはTCPのみにしか適用できず、UDP(User Datagram Protocol)には適用できないといった課題があった。
【先行技術文献】
【非特許文献】
【0003】
【文献】RFC8684-TCP Extensions for Multipath Operation with Multiple Addresses
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、マルチパス技術をUDPに適用可能にすることを目的とする。
【課題を解決するための手段】
【0005】
本発明では、UDPのペイロード部分にマルチパスオプションを格納し、マルチパスオプションを読み込むことで、セッション確立、パケット並べ替えを行う。
【0006】
本開示の通信システムは、
複数の通信装置が複数のネットワークを介して接続されている通信システムであって、
前記複数の通信装置の一方は、
UDPペイロードに格納されているアプリケーションデータを読み込み、
当該アプリケーションデータの一部としてマルチパスオプションの情報を格納し、
前記複数の通信装置の他方は、
UDPペイロードに格納されているアプリケーションデータを読み込み、
当該アプリケーションデータからマルチパスオプションの情報を取得し、
取得したマルチパスオプションの情報に基づき、前記複数のネットワークを介した通信を実行する。
【0007】
本開示の通信方法は、
複数のネットワークを介して接続されている通信システムが実行する方法であって、
前記複数の通信装置の一方は、
UDPペイロードに格納されているアプリケーションデータを読み込み、
当該アプリケーションデータの一部としてマルチパスオプションの情報を格納し、
前記複数の通信装置の他方は、
UDPペイロードに格納されているアプリケーションデータを読み込み、
当該アプリケーションデータからマルチパスオプションの情報を取得し、
取得したマルチパスオプションの情報に基づき、前記複数のネットワークを介した通信を実行する。
【0008】
本開示の通信装置は、
複数のインタフェースを異なるネットワークに接続し、
前記複数のインタフェースのいずれかがUDPパケットを送信する場合、
前記UDPパケットのUDPペイロードに格納されているアプリケーションデータを読み込み、
当該アプリケーションデータの一部としてマルチパスオプションの情報を格納する。
【0009】
本開示の通信装置は、
複数のインタフェースを異なるネットワークに接続し、
前記複数のインタフェースのいずれかがUDPパケットを受信する場合、
前記UDPパケットのUDPペイロードに格納されているアプリケーションデータを読み込み、
当該アプリケーションデータからマルチパスオプションの情報を取得し、
取得したマルチパスオプションの情報に基づき、前記異なるネットワークを介した通信を実行する。
【0010】
具体的には、本開示のプログラムは、本開示に係る通信装置に備わる各機能部としてコンピュータを実現させるためのプログラムであり、本開示に係る通信装置が実行する通信方法に備わる各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【0011】
本開示は、マルチパス技術をUDPに適用可能にすることができる。これにより、本開示は、障害発生時にもシームレスにパス切り替えが可能となるため、安定した通信、サービス提供が可能となる。
【図面の簡単な説明】
【0012】
【
図3】本開示におけるマルチパスオプションの一例を示す。
【
図4】本開示におけるマルチパスオプションの一例を示す。
【
図5】利用者端末及びサービスサーバの構成例を示す。
【発明を実施するための形態】
【0013】
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、本開示は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本開示は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【0014】
図1に、本開示のシステム構成の一例を示す。本開示の通信システムは、利用者端末91とインターネットのサービスサーバ92が複数のネットワークで接続されている。例えば、利用者端末91がキャリアネットワーク81及び82に接続され、キャリアネットワーク81及び82がキャリアネットワーク83を介してサービスサーバ92に接続されている。利用者端末91及びサービスサーバ92は、TCPによるメインセッション及びサブセッションを確立することができる。これに加え、本開示では、利用者端末91とサービスサーバ92は、本開示の通信装置として機能し、UDPによるメインセッション及びサブセッションの確立も可能である。
【0015】
(実現のポイント)
従来MPTCP技術はTCPヘッダのオプション領域によりマルチパスを確立後、パケットスケジューラを利用し、各インタフェースのRTT(Round-Trip Time)を比較し、インタフェース(以下、IFと表記する場合がある。)ごとに優先送信順位を決定する。これに基づいて、TCPオプション領域にシーケンス番号を配置し、パケットを送信する。受信側はパケットを受け取り、シーケンス番号の順序の整合を取り、受信する。これらの処理のうち、パケットスケジューラはMPTCP対応カーネルにより実現している。マルチパス確立とシーケンス番号配置・統合はTCPオプションにより実現している。
【0016】
従来MPTCPがTCPを利用して実現していた機能である、
(1)マルチパスの確立と、
(2)シーケンス番号の配置、整合を、
UDPで、UDPペイロード領域を利用して実現する。
【0017】
図2に、本開示のレイヤー構造の一例を示す。本開示は、TCPオプション領域に格納していたデータをUDPペイロードに格納することでデータ送受信を実現する。これにより、本開示は、マルチパスをL4の共通ソケットに束ね、アプリケーションに対しては同一のソケットとして見せる。
【0018】
UDPヘッダのオプション領域には空きがないため、この領域にはマルチパスオプションを格納できない。また、ペイロード領域にもAPI(Application Programming Interface)ライブラリなしにはマルチパスオプションを実装できない。そこで、送受信側にAPIライブラリを実装し、UDPでのマルチパスオプションを実現する。
【0019】
(1)、(2)のマルチパス技術を実現することで、TCPプロトコルに依存することなく、UDPでもシームレスハンドーオーバーを実現できる。これにより、多くのアプリケーションサービスにマルチパス技術を適用でき、ハンドオーバー時にもシームレスなパスの切り替えが可能になり、安定した通信ができるようになる。
【0020】
図3に、本実施形態のUDPパケット構造の一例を示す。UDPペイロードのアプリケーションデータ部にマルチパスオプションを格納する。UDPに関しては、アプリケーションデータの末尾を読む込むことでセッション確立、パケット並べ替えを行う。そのため、本開示の通信装置は、各種アプリケーションプロトコルに対応したAPIライブラリ、読み込み部、書き込み部を備える。
【0021】
マルチパスオプションは、オプション番号格納領域(1Byte)、長さNの格納領域(1Byte)、オプション値の格納領域(1Byte)を含む。
オプション番号格納領域には、オプション番号30が格納される。この番号は、MPTCPに割り当てられた固有の番号であり、例えばIANA(Internet Assigned Numbers Authority)により規定される。
長さNの格納領域には、オプションの他にデータを付加させる場合の、データ付加時のデータ長の定義が格納される。例えば、シーケンス番号を付加する場合、シーケンス番号の長さが格納される。
オプション値の格納領域には、例えば以下が格納される。
0x0:マルチパス実装確認
0x1:サブフロー確認
0x2:シーケンス番号確認
0x3:アドレス追加
0x4:アドレス削除
0x5:マルチパス優先度
0x6:フォールバック
0x7:クローズ
シーケンス番号はオプション値の後続に格納される。
【0022】
図4に、本実施形態のTCPパケット構造の一例を示す。マルチパスオプションは、TCPパケットにおけるTCPヘッダに格納してもよい。例えば、12~60ByteのTCPヘッダに、オプション番号格納領域(1Byte)、長さNの格納領域(1Byte)、オプション値の格納領域(1Byte)を含む。
【0023】
図5に、本実施形態の利用者端末91及びサービスサーバ92の構成例を示す。利用者端末91は、TCP&UDP通信部11、TCP&UDP通信部12、フロー管理部13、アプリケーション制御部14、スケジューラ15、TCPオプション領域設定部16、UDPペイロード設定部17を備える。サービスサーバ92は、TCP&UDP通信部21、TCP&UDP通信部22、フロー管理部23、アプリケーション制御部24、スケジューラ25、TCPオプション領域設定部26、UDPペイロード設定部27を備える。本開示の通信装置、すなわちサービスサーバ92及び利用者端末91は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0024】
TCP&UDP通信部11、12、21、22は、インタフェースごとにTCP通信又はUDP通信を行う。例えば、TCP&UDP通信部11及び21がUDPを用いて接続を確立し、TCP&UDP通信部12及び22がUDPを用いて接続を確立する。TCP&UDP通信部11及び21がTCPを用いて接続を確立し、TCP&UDP通信部12及び22がUDPを用いて接続を確立してもよい。
【0025】
フロー管理部13、23は、メインフロー及びサブフローを管理する。メインフローで端末91-サービスサーバ92間の対応確認後、サブフロー構築を開始する。メインフローとサブフローの紐づけを行っている。例えば、TCP&UDP通信部11及び21の通信とTCP&UDP通信部12及び22の通信とではTCP&UDP通信部11及び21の優先順位が高い場合、TCP&UDP通信部11及び21の通信をメインフローとし、TCP&UDP通信部12及び22の通信をサブフローとして扱う。
【0026】
スケジューラ15、25は、データの分離、再統合を行う。
送信側の場合、インタフェースごとの優先順位を決定し、各パケットの送信インタフェースを決定する。これに合わせてパケットのシーケンス番号を決定し、TCPオプション領域設定部16、26及びUDPペイロード設定部17、27へ指示する。
受信側の場合、TCPオプション領域設定部16、26及びUDPペイロード設定部17、27で読み取ったシーケンス番号を基に、TCP&UDP通信部の受信したデータを再統合する。
【0027】
TCPオプション領域設定部16、26は、TCPオプション領域への書き込み及び読み出しを行う。
送信側の場合、TCPオプション領域設定部16、26は、スケジューラ15、25、フロー管理部13、23の指示を基に、各オプションをTCPオプション領域に格納する。
受信側の場合、TCPオプション領域設定部16、26は、TCPオプション領域から読み出した情報をフロー管理部13、23へ伝送する。それ以外はスケジューラ15、25へ伝送する。
【0028】
UDPペイロード設定部17、27は、各種アプリケーションに対応するAPIライブラリを保有しており、それによりUDPペイロードの読み込み及び書き込みを行う。
送信側の場合、UDPペイロード設定部17、27は、スケジューラ15、25、フロー管理部13、23の指示を基に、UDPペイロードのアプリケーションデータの一部として、マルチパスオプションを格納する。
受信側の場合、UDPペイロード設定部17、27は、マルチパスオプションから読み出した情報をフロー管理部13、23へ伝送する。それ以外はスケジューラ15、25へ伝送する。
【0029】
このように、本実施形態では、UDPはUDPペイロード設定部17、27、TCPはTCPオプション領域設定部16、26でそれぞれマルチパスを実現する。
【0030】
図6に、フロー管理部13、23の実行するパス確立シーケンスの一例を示す。利用者端末AのIF1での認証キー(Key-A)を通知するやり取りの後(S111及びS112)、利用者端末AのIF2でのサブフロープロセスを開始する。このとき、UDP通信を用いて送受信する場合、認証キー(Key-A)をUDPペイロードに格納し(S121)、受信側でこれを読み取ることによって(S122)、サブフロープロセスを開始する。
【0031】
図7に、シーケンス番号の一例を示す。UDP通信を用いて送信する際、データ送信前に、UDPペイロード設定部17、27は、UDPペイロードに格納されているアプリケーションデータを読み込み、シーケンス番号を当該アプリケーションデータの一部として格納する。これはマルチパス間で一元化されたシーケンス番号であり、受信側はこれを確認することでマルチパス間でのパケットを統合することができる。
【0032】
UDP通信を用いて受信する際、UDPペイロード設定部17、27は、UDPペイロードに格納されているアプリケーションデータを読み込み、マルチパス間で一元化されたシーケンス番号を当該アプリケーションデータから取得する。そして、スケジューラ15、25は、TCP通信及びUDP通信を用いて取得したシーケンス番号に基づき、パケットの並べ替えを行う。
【0033】
なお、TCP通信を用いて送信する際、TCPオプション領域設定部16、26は、シーケンス番号をTCPオプション領域に格納する。TCP通信を用いて受信する際、TCPオプション領域設定部16、26は、マルチパス間で一元化されたシーケンス番号を、TCPオプション領域から取得する。
【0034】
これにより、本実施形態は、キャリアネットワーク81及び82の両方を束ね、アプリケーションに対しては同一のソケットとして見せることができる。ここで、本開示では、ネットワーク81及び82を介して送受信されるパケットは、UDPパケットのみであってもよいし、TCPパケット及びUDPパケットの両方であってもよい。
【0035】
(音声、動画トラフィック)
この技術により、UDPで利用される動画、音声サービスをマルチパスで利用することができる。これにより、複数のセッションをMPTCPの1つのソケットにより束ねることができるので、異種ネットワークでの切替の際、IPアドレスの変動を吸収することができる。これによりシームレスな切替を行うことができる。
【0036】
また、マルチパス接続により、1つのパスが途切れたとしても、もう一方のパスでも通信を行っているので、冗長系として機能する。例えば、一定のパケロスが発生し、一方のネットワークの品質の低下がみられた場合は、、マルチパスのうちのいずれかのネットワーク接続を切断しても良い。
【産業上の利用可能性】
【0037】
本開示は情報通信産業に適用することができる。
【符号の説明】
【0038】
11、12、21、22:TCP&UDP通信部
13、23:フロー管理部
14、24:アプリケーション制御部
15、25:スケジューラ
16、26:TCPオプション領域設定部
17、27:UDPペイロード設定部
81、82、83:キャリアネットワーク
91:利用者端末
92:サービスサーバ