JP2015070616A - 接続方法及び中継モジュール - Google Patents
接続方法及び中継モジュール Download PDFInfo
- Publication number
- JP2015070616A JP2015070616A JP2014198200A JP2014198200A JP2015070616A JP 2015070616 A JP2015070616 A JP 2015070616A JP 2014198200 A JP2014198200 A JP 2014198200A JP 2014198200 A JP2014198200 A JP 2014198200A JP 2015070616 A JP2015070616 A JP 2015070616A
- Authority
- JP
- Japan
- Prior art keywords
- host
- connection
- relay module
- acknowledgment response
- relay
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/042—Public Land Mobile systems, e.g. cellular systems
- H04W84/047—Public Land Mobile systems, e.g. cellular systems using dedicated repeater stations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】MPTCPに対応した装置とTCPにしか対応していない装置とが併存する状態においてもマルチパス接続可能な方法を提供する。【解決手段】中継モジュールRは、第1のホストH1が送信した第1のコネクション設定リクエストを取得する取得モジュールCMと、第2のホストH2との間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを送信し、第2のホストH2から第1のアクノリッジメントレスポンス(ACK)を受信する第1のインタフェースI1と、第1のコネクション設定リクエストと第1のACKとが同じマルチパス許容性を示す場合、転送モードを起動し、第1のコネクション設定リクエストと第1のACKとが異なるマルチパス許容性を示す場合、追加的な補助的なコネクション、及び中継モードを起動するコンテキストディスカバリ部3とを有する。【選択図】図1
Description
本発明は一般に1つ以上の通信ネットワークを介して第1及び第2のホストの間でデータパケットを通信すること等に関連し、特に、マルチホームのマルチパスプロトコル対応ホストとシングルパスプロトコルホストとを中継モジュールを経由する少なくとも1つの通信ネットワークを介して接続するための方法及び中継モジュールに関連するが、これらに限定されない。
この「背景技術」の欄は、明細書、特許請求の範囲及び/又は図面に示される本発明の様々な形態に関連する様々な観点からの技術を読者に紹介するように意図されている。本説明は、本発明の様々な形態を適切に理解することを促すように読者に背景技術を呈示することに資する。本説明はこれらの観点から理解されるべきであり、従来技術として認めたわけではないことが理解されるべきである。
今日、マルチメディア及びデータサービスは様々な通信経路を利用している(通信経路は、例えば、衛星、ADSL、3G、4G及びWiFi等である)。そのような様々な利用可能な通信経路の恩恵を享受するため、最近の装置はほとんど複数の無線インタフェースを備えている。特に、ラップトップ、スマートフォン及びタブレット等のような新しい世代のモバイル装置は、通常、WiFi、3G及びブルートゥースのインタフェースを備えている。
しかしながら、マルチメディアサービスは、通常、通信プロトコルとして通信制御プロトコル(TCP)に従って実現されており、TCPは2つの装置間のコネクション各々について1つの通信経路しか使用しない。従って、マルチメディアサービスは、モバイル装置の複数のインタフェースにより提供される利用可能な様々な通信経路形態の恩恵を享受してパフォーマンス、障害耐性(resilience)或いは利便性等を改善することができない。
そのような欠点を克服するため、ある研究団体はマルチパス通信制御プロトコル(MuliPath Transmission Control Protocol:MPTCP)を開発しており、これは、2つの装置間にある複数の経路を介して、1つのエンドトゥエンドコネクションのデータを同時に送信する機能を提供するように、従来のTCPプロトコルを拡張したものである。MPTCPについては、インターネットエンジニアリングタスクフォースにより2013年1月付けで公表された非特許文献1等に記載されている。
IETF RFC-6824,"TCP Extensions, for Multipath Operation with Multiple Addresses"(A.Ford et. al.)
本発明に関し、次のような意味で用語が理解されるべきである。
_「マルチホーム装置(multi-homed device)」又は「マルチホームホスト」:この装置は少なくとも2つの(有線及び/又は無線による)通信インタフェースを有し、各々のインタフェースは自身の通信アドレス(例えば、IPアドレス)を有し、この装置はマルチパスモードで相手の通信装置(おそらくは異なるタイプの装置)とデータパケットを送受信することが可能である。「相手の通信装置」は、「リモート通信装置」、「遠隔通信装置」等と言及されてもよい。従って、マルチホーム装置は、固定又は移動電話(移動電話は、例えば「スマートフォン」の形式であってもよい)、固定式又は携帯式コンピュータ、パーソナルディジタルアシスタント(PDA)、コンテンツ受信機(例えば、デコーダ、住居用ゲートウェイ、セットトップボックス(STB)等)、或いはコンテンツサーバのようなネットワーク装置等を含んでよい。
_「通信経路」又は「通信パス」:経路は、2つの通信インタフェース(装置各々にあるインタフェース)が存在するおかげで2つの通信装置(おそらくは、マルチホーム装置)を接続し、通信経路は、2つの対応する通信インタフェースの通信アドレスのペアにより特定される。「ペア」は、「対」、「組」等と言及されてもよい。
_「サブフロー(sub-flow)」:TCPパケットのフローは1つの経路を介して流れ、これは、より大規模なMPTCPコネクションの一部を形成する。そのようなサブフローは、本来のTCPコネクション(regular TCP connection)と同様に開始され終了する。サブフローは本来のTCPコネクションに対して本来的でないコネクションとして言及されてもよい。
第1及び第2のマルチホーム装置の間のMPTCPコネクションは、メイン通信経路に関連するメインの本来のTCPコネクションと、1つ以上の補助的なTPCコネクションとで形成され、補助的なTCPコネクションは、メインの本来のTCPコネクションに結合又はリンクされ、補助的な通信経路に関連している。そのようなMPTCPコネクションは、双方のエンド装置のアプリケーションにとって、単独のTPCコネクションのように見える。
(少なくとも発明者等に)既に知られているように、マルチホーム装置は、MPTCPプロトコルの実現を支援することが可能であり(MPTCP対応(MPTCP capable)と言及される)、通常、MPTCPコネクションを開始するために使用されるべきメインインタフェースとして指定される1つの固定された通信インタフェースを有する。
新たなインターネットプロトコルが導入される場合には、通常、それが広く普及するまでに新システムの配備又は展開は徐々に時間をかけて行われる。従って、MPTCPに対応した装置とTCPにしか対応していない装置とが併存する状態が長期間続き、その間、マルチパスの状態は完全には応用できないことが懸念される。例えば、MPTCPを利用できないTCPビデオサーバは、標準的なTCPコネクション及び単一の経路の状態にサービスを制限する一方、クライアント装置にはマルチパスの状況に対応できる複数のインタフェースが備わっていることが考えられる(この場合マルチパスの状態を完全に活用することはできない)。
本発明は少なくともこのような欠点を克服する手段を提案する。
一実施形態による方法は、
中継モジュールを経由して少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続するために中継モジュールが実行する方法であって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するステップと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信するステップと、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動するステップであって、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理とを実行するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、
・ 前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び
・ 前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクション
により搬送されるトラフィックを処理するために、中継モードを起動するステップと
を有する方法である。
中継モジュールを経由して少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続するために中継モジュールが実行する方法であって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するステップと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信するステップと、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動するステップであって、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理とを実行するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、
・ 前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び
・ 前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクション
により搬送されるトラフィックを処理するために、中継モードを起動するステップと
を有する方法である。
<実施の形態の概要>
本発明の一実施形態による方法は、
中継モジュールを経由して少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続するために中継モジュールが実行する方法であって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するステップと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信するステップと、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動するステップであって、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理とを実行するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、
・ 前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び
・ 前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクション
により搬送されるトラフィックを処理するために、中継モードを起動するステップと
を有する方法である。
本発明の一実施形態による方法は、
中継モジュールを経由して少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続するために中継モジュールが実行する方法であって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するステップと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信するステップと、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動するステップであって、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理とを実行するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、
・ 前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び
・ 前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクション
により搬送されるトラフィックを処理するために、中継モードを起動するステップと
を有する方法である。
従って、本発明による方法は、例えば、マルチホームマルチパスプロトコル対応の第1のホストと中継モジュールとの間で、第2のホストに如何なるマルチパス対応機能も要求することなく、マルチパスアーキテクチャによる恩恵を享受することが可能である(これらの装置の関係は逆でもよい)。第1のホストのインタフェースのパフォーマンスが低く(例えば、帯域幅が狭い)、(例えば、無線インタフェースのように)非決定的(non-deterministic)である場合に、本発明は特に有益である。この場合、様々なインタフェースの帯域幅を集約することにより、マルチパスアーキテクチャは、第1のホストの側で多くの容量及び優れた信頼性の双方を提供することができる。
一実施形態によれば、本方法は、前記第1のコネクション設定リクエストを受信した場合に、前記初期の補助的なコネクションの設定を行うように前記中継モジュールの第1のインタフェースを設定するステップを有する。
有利なことに、前記第2のコネクション設定リクエストが、初期の補助的なマルチパスコネクションの設定を要求してもよい。例えば、上記の例では、第1のホストは標準的なTCPしか利用できず、第2のホストはマルチホーム及びMPTCP対応であり、この場合、初期の補助的なコネクションは、中継モジュールと第2のホストとの間のマルチパスであってもよい。
更に、前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが、前記中継モジュールのコンテキストディスカバリ部に保存されることが可能である。
更に、本方法は、前記中継モードが起動された場合に、前記中継モジュールが、
_ 前記第1のホストと前記中継モジュールとの間で前記追加的な補助的なコネクションを設定するために前記第1のコネクション設定リクエストを処理するステップを実行してもよい。一例として、第1のコネクション設定リクエストがマルチパス許容オプション(multipath property option)を含む場合、追加的な補助的なコネクションはマルチパスコネクションとすることが可能である。
_ 前記第1のホストと前記中継モジュールとの間で前記追加的な補助的なコネクションを設定するために前記第1のコネクション設定リクエストを処理するステップを実行してもよい。一例として、第1のコネクション設定リクエストがマルチパス許容オプション(multipath property option)を含む場合、追加的な補助的なコネクションはマルチパスコネクションとすることが可能である。
_ 中継モジュールは、前記中継モジュールと前記第2のホストとの間で前記初期の補助的なコネクションを設定するために前記第1のアクノリッジメントレスポンスを処理するステップを実行してもよい。一例として、第1のアクノリッジメントレスポンスがマルチパス許容オプションを含む場合、初期の補助的なコネクションはマルチパスコネクションである。
_ 中継モジュールは、前記初期の補助的なコネクションと前記追加的な補助的なコネクションとの間にリンクを形成するステップを実行してもよい。
本発明の別の実施形態において、前記初期の補助的なコネクションと前記追加的な補助的なコネクションとの間の前記リンクは、対応関係テーブルを利用することが可能である。
また、前記第1のコネクション設定リクエストを処理する前記ステップが、
前記第1のホストとの前記追加的な補助的なコネクションの設定を処理するように前記中継モジュールの第2のインタフェースを設定するステップと、
前記第2のインタフェースに対する保存されている前記第1のコネクション設定リクエストを解除するステップと、
前記追加的な補助的なコネクションを設定するために、前記第1のホストが要求した前記メインコネクションを受け入れるステップと
を有していてもよい。
前記第1のホストとの前記追加的な補助的なコネクションの設定を処理するように前記中継モジュールの第2のインタフェースを設定するステップと、
前記第2のインタフェースに対する保存されている前記第1のコネクション設定リクエストを解除するステップと、
前記追加的な補助的なコネクションを設定するために、前記第1のホストが要求した前記メインコネクションを受け入れるステップと
を有していてもよい。
更に、前記第1のアクノリッジメントレスポンスを処理する前記ステップが、
前記第1のインタフェースに対する保存されている前記第1のアクノリッジメントレスポンスを解除するステップと、
前記追加的な補助的なコネクションを設定するために、前記中継モジュールが要求した前記初期の補助的なコネクションを受け入れるステップと
を有していてもよい。
前記第1のインタフェースに対する保存されている前記第1のアクノリッジメントレスポンスを解除するステップと、
前記追加的な補助的なコネクションを設定するために、前記中継モジュールが要求した前記初期の補助的なコネクションを受け入れるステップと
を有していてもよい。
本発明の一実施形態による中継モジュールは、
少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続する中継モジュールであって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するように形成された取得モジュールと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信し、前記第2のホストから第1のアクノリッジメントレスポンスを受信するように形成された通信モジュールと、
_(a)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性マルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動し、(b)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び、前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクションにより搬送されるトラフィックを処理するために、中継モードを起動するコンテキストディスカバリ部と
を有し、取得モジュールは、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理と
を実行する、中継モジュールである。
少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続する中継モジュールであって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するように形成された取得モジュールと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信し、前記第2のホストから第1のアクノリッジメントレスポンスを受信するように形成された通信モジュールと、
_(a)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性マルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動し、(b)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び、前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクションにより搬送されるトラフィックを処理するために、中継モードを起動するコンテキストディスカバリ部と
を有し、取得モジュールは、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理と
を実行する、中継モジュールである。
更に、前記コンテキストディスカバリ部は、前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとを保存し、それらのマルチパス許容性を判別するように形成されることが可能である。
更に、中継モジュールは、
前記転送モードで処理されたトラフィックと前記中継モードで処理されたトラフィックとを区別するように形成されたトラフィック識別部と、
前記中継モードにおいて前記第1のホストと前記第2のホストとの間で前記初期の及び追加的な補助的なコネクションにより搬送されるトラフィックを中継するための中継アプリケーションと
を有することが可能である。
前記転送モードで処理されたトラフィックと前記中継モードで処理されたトラフィックとを区別するように形成されたトラフィック識別部と、
前記中継モードにおいて前記第1のホストと前記第2のホストとの間で前記初期の及び追加的な補助的なコネクションにより搬送されるトラフィックを中継するための中継アプリケーションと
を有することが可能である。
本発明の一実施形態による中継モジュールは、
少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続する中継モジュールであって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得する処理と、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信する処理と、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信する処理と、
_(a)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動し、(b)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び、前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクションにより搬送されるトラフィックを処理するために、中継モードを起動する処理と
_前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
_前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
_前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理と
を実行する少なくとも1つのプロセッサを有する中継モジュールである。
少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続する中継モジュールであって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得する処理と、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信する処理と、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信する処理と、
_(a)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動し、(b)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び、前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクションにより搬送されるトラフィックを処理するために、中継モードを起動する処理と
_前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
_前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
_前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理と
を実行する少なくとも1つのプロセッサを有する中継モジュールである。
本発明はコンピュータプログラム又はコンピュータプログラムプロダクトにも関連し、コンピュータプログラムは、通信ネットワークからダウンロードすることが可能であり、及び/又は、コンピュータにより読み取ることが可能な記憶媒体に記録され、及び/又は、上記の方法をプロセッサに実行させる。
また、本発明はコンピュータにより読み取ることが可能な有形の媒体であって、上記の方法をプロセッサに実行させるプログラムコード命令を有するコンピュータプログラムを保存する媒体にも関連する。
実施形態の目的に沿う様々な具体例も本願で説明される。これらの実施形態は、本発明がとり得る所定の形式の簡易な概要を読者に提供するために示されているに過ぎず、これらの実施形態は本発明の範囲を制限するようには意図されていないことが、理解されるべきである。実際、本発明は以下の説明において明示的には示されていない様々な形態も包含する。
<図面>
本発明は、非限定的な形式で添付図面と共に以下の実施形態及び動作例により適切に理解され表現される。
本発明は、非限定的な形式で添付図面と共に以下の実施形態及び動作例により適切に理解され表現される。
図1は本発明の好適な実施形態による中継モジュールを有するネットワークアーキテクチャの具体例を示す概略図である。
図2は好適な実施形態による図1の中継モジュールにより実行される方法のフローチャートを示す。
明細書、特許請求の範囲及び図面により開示される個々の内容は、独立に使用されてもよいし、適切な任意の組み合わせで使用されてもよい。適切である限り、要素はハードウェア、ソフトウェア又はそれらの組み合わせにより実現されてよい。
更に、図1において、図示されているブロックは機能的なユニットであり、物理的に分離されたユニットに対応してもよいし、或いは同一の物理ユニット内に包含されていてもよい。すなわち、それらはソフトウェア又はハードウェアに配備されてもよいし、或いは1つ又は複数の集積回路で実施されてもよい。例えば、それらのブロック又はそれらのうち少なくともいくつかは、固有の素子又はコンポーネントにグループ化されてもよいし、或いは同じソフトウェアの機能群を形成していてもよい。また、それらのブロックは最終的には複数の別個のユニットに分割されていてもよい。
<実施の形態の詳細な説明>
好適な実施形態により、本発明は、インターネットプロトコルにおける標準的なTCP及びマルチパスプロトコルMPTCPとともに説明される。ただし、本発明はそのような特定の実施形態には限定されず、他のマルチパスプロトコルも当然に想定されており実現可能である。
好適な実施形態により、本発明は、インターネットプロトコルにおける標準的なTCP及びマルチパスプロトコルMPTCPとともに説明される。ただし、本発明はそのような特定の実施形態には限定されず、他のマルチパスプロトコルも当然に想定されており実現可能である。
図1に示されているように、好適な実施形態によるネットワークアーキテクチャは、第1のホストH1と、第2のホストH2と、マルチホームMPTCP対応のミドルボックスMB(例えば、ゲートウェイ)とを有する。ホストH1及びH2はTCPを利用してデータを送受信することを希望している。「ホスト」は、クライアント(例えば、パーソナルコンピュータ、タブレット、スマートフォン等)、サーバ又はミドルボックスを指すことに留意を要する。ホストH1及びH2は何れもMPTCP対応でもよいし或いは標準のTCP対応であってもよい(後者は、TCPのみに対応しており、MPTCPには対応していない)。
ホストH1は、(ホームネットワークのような)第1のネットワークN1を介してミドルボックスMBに接続され、ホストH1は、(インターネットネットワークのような)第2のネットワークN2を介してホストH2に接続されることを希望している。第1のネットワークN1は、ミドルボックスMBのおかげで第2のネットワークN2に接続される。明らかに、変形例では、コネクションは第2のホストH2の側から設定し始めてもよい。
全てのホストの組み合わせ(標準TCP対応、MPTCP対応)を考慮して、一例としてミドルボックスMBとして形成されている中継モジュールRは、中継手順RMを実行し(中継手順RMについては図2を参照しながら説明される)、転送モード(FORWARDモード)及び中継モード(RELAYモード)という2つの動作モードが提案される。
ホストH1及びH2の双方が同じマルチパス対応可能性(又はマルチパス許容性)を示す場合、すなわち、ホストH1及びH2の双方がMPTCP対応である場合、或いは、ホストH1及びH2の双方が標準TCPスタックを含んでいる場合に、転送モードが起動される。これらの場合、中継モジュールRは、透明なブリッジ又はトランスペアレントブリッジとして動作し、何らかのパフォーマンス劣化を避けるための特殊な処理を行うことなく、トラフィックを転送する。
ホストH1及びH2が異なるマルチパス対応可能性を示す場合(例えば、一方のホストがMPTCP対応であり、他方のホストが標準TCPにしか対応していない場合)、中継モードが起動され、中継モジュールRは中継モードに切り替わり、ホストH1及びH2の間でトラフィックを中継する。
(少なくとも発明者等に)既に知られているように、MPTCPはTCPに対する拡張であるので、MPTCPコネクションは、通常のTCPコネクションと同じ手順(すなわち、3ウェイハンドシェーク手順(three-way handshake)(SNY、SYN/ACK、ACK))を利用して設定されてもよい。MPTCPホストは、利用可能な経路のうちの1つを利用して、リモートホストにSYNを送信することにより、TCPコネクションを設定するホストである。追加的な経路をイネーブルにする場合、新たなTCP-3ウェイハンドシェーク手順が実行される。
MPTCP対応ホストにより処理を行う場合、MPTCPコネクションに帰属する全てのTCPパケットは、TCPセグメントのヘッダに含まれる特定のデータを、「オプション」フィールドに埋め込んでいる。MPTCPオプションは、「種類(kind)」の値が30に等しいことにより識別される(2014年1月3日付けのRFC6824のテーブル1参照)。また、「サブタイプ(subtype)」のフィールドは、MPTCPオプションを更に具体的に規定するのに使用される。SYN、SYN/ACK、ACKパケットの手順に関連して、リモートホストがMPTCPをサポートしているか否かを検査するために、これらのオプションが設計されている。これらは、利用可能な経路に沿って追加的なサブフローを安全に設定するためにホストが何らかの情報を送受信できるようにする。MPTCPサブフローは、IPアドレスのペアにより決定され、ペアの内の一方は第1のホストH1(例えば、クライアント)に帰属し、ペアの内の他方は第2のホストH2(例えば、サーバ)に帰属する。
MPTCPコネクションが設定される場合、標準のTCPスリーウェイハンドシェーク手順がSYN、SYN/ACK及びACKパケットと共に実行され、これらのパケットは、0に等しいサブタイプ値により識別されるマルチパス許容性オプション(すなわち、MP_CAPABLE)を担う。このオプションは、送信側がマルチパスTCPを実行可能であることを宣言する。
次に、追加的な経路を設定する場合、サブフローは、設定されるMPTCPコネクションに関連付けられる。新たなTCPスリーウェイハンドシェーク手順がその後にSYN、SYN/ACK及びACKパケットと共に実行され、これらのパケットは、1に等しいサブタイプ値により識別されるマルチパスジョインオプション(すなわち、MP_JOIN)を担う。
図1及び図2に示されるように、ホストH1及びH2双方の間でTCPトラフィックを管理するために、中継モジュールRは、中継モジュールRのメモリMYに保存されている中継アプリケーションによる以下の処理RMを実行する(メモリは、ミドルボックスMBのメモリに対応してもよい)。ステップS1において、中継モジュールRは、トラフィック経路制御部1により識別した受信したトラフィックを、監視インタフェース2の方に仕向ける(又はそこから取得する)。仕向けられるトラフィックは、中継モードにおいて識別される全てのTCPパケット及び送受信される全てのSYN及びSYN/ACKパケットであってよい。言い換えれば、トラフィック経路制御部1は、パケットタイプに従って、及び/又はトラフィックが送受信されるコネクションモード(中継モード又は転送モード)に従って、トラフィックを向ける方向を制御する。
図1に示されているように、トラフィック経路制御部1及び監視インタフェース2は、取得モジュールCMを規定してもよい。
ステップS2において、中継モジュールRの監視インタフェース2は、ホストH1、H2のうち何れかから到来する第1のコネクション設定リクエスト(メッセージ)( MP_CAPABLEオプション(サブタイプ=0×0)を有するMPTCP-SYNパケット又は標準のSYNパケット)を識別又は特定する。具体例では、ホストH1が、第1のコネクション設定リクエストをホストH2に向けて送信している。ホストH1からのそのような第1のコネクション設定リクエストが識別されると、監視インタフェース2はそれを中継モジュールのコンテキストディスカバリ部3に転送する。
ステップS3において、ホストH1からそのような第1のコネクション設定リクエストを受信すると、中継モジュールRのコンテキストディスカバリ部3は、次の処理を実行する:
_ 第2のホストH2のIPアドレスと、第1のホストH1により要求された元のポートと、第1のコネクション設定リクエストのマルチパス許容性(「SP」は単一経路を意味し、「MP」はマルチパスを意味する)とを保存する処理(ステップS3a);
_ 第1のコネクション設定リクエストを保ち続ける処理(ステップS3b);
_ 初期の補助的なコネクションにより第2のホストH2と接続するように第1のインタフェース(例えば、MPTCPソケットであり、これは通信モジュールと言及されてもよい)を設定する処理(ステップS3c)。
_ 第2のホストH2のIPアドレスと、第1のホストH1により要求された元のポートと、第1のコネクション設定リクエストのマルチパス許容性(「SP」は単一経路を意味し、「MP」はマルチパスを意味する)とを保存する処理(ステップS3a);
_ 第1のコネクション設定リクエストを保ち続ける処理(ステップS3b);
_ 初期の補助的なコネクションにより第2のホストH2と接続するように第1のインタフェース(例えば、MPTCPソケットであり、これは通信モジュールと言及されてもよい)を設定する処理(ステップS3c)。
ステップS4において、中継モジュールRと第2のホストH2との間にマルチパスの初期の補助的なコネクションを設定するために、第2のコネクション設定リクエスト(MP_CAPABLEオプションを含むSYNパケット)を送信することにより、第1のインタフェースI1は、第2のホストH2に対する新たなMPTCPコネクションの設定を試みる。
ステップS5において、第1のアクノリッジメントレスポンス(SYN/ACKパケット)が中継モジュールRにより受信され、それがトラフィック経路制御部1及び監視インタフェース2によりコンテキストディスカバリ部3に転送されると、コンテキストディスカバリ部3は、ホストH1、H2の双方が同じマルチパス許容性を示しているか否かを判断するために、第1のアクノリッジメントレスポンスのマルチパス許容性(SP又はMP)を検査する。
ステップS6において、ホストH1及びH2の双方が同じマルチパス許容性を示している場合(すなわち、双方がMPTCP対応可能である場合、又は双方がTCPのみ対応可能である場合)、中継モジュールRは転送モードを起動し、ホストH1及びH2が異なるマルチパス許容性を示している場合(すなわち、H1、H2の一方がマルチパス対応可能であり、H1、H2の他方が標準のTCPにのみ対応可能である場合)、中継モジュールRは中継モードを起動する。
中継モジュールRはトラフィック識別部4を更に有し、トラフィック識別部4は、コネクション設定段階で形成される確認テーブル(後述)に基づいて、転送モード及び中継モードで処理されるトラフィックをそれぞれ区別することが可能である。
転送モードが起動される場合、ステップS7において、中継モジュールRは(例えば取得モジュールCMにより)次のような処理を実行する:
_ 第2のホストH2に接続された第1のインタフェースI1をクローズにする処理(中継モジュール及び第2のホストH2間のもはや不要になったコネクションをリセットする)(ステップS7a)。「インタフェースをクローズにする」は、「インタフェースの使用を終了する」こと等を意味する。
_ 第2のホストH2に接続された第1のインタフェースI1をクローズにする処理(中継モジュール及び第2のホストH2間のもはや不要になったコネクションをリセットする)(ステップS7a)。「インタフェースをクローズにする」は、「インタフェースの使用を終了する」こと等を意味する。
_ 初期の補助的なコネクションの設定を解除するために、第2のホストH2から受信した第1のアクノリッジメントレスポンスを破棄する処理(ステップS7b);
_ ミドルボックスMBのパケット処理の経路において如何なる変更も加えずに、第1のコネクション設定リクエストを第2のホストH2に公表又はリリースする処理(ステップS7c);
_ (a)直接的なメインコネクションを設定するために、第2のホストH2から送信された第2のアクノリッジメントレスポンス(SYN/ACKパケット)を第1のホストH1に転送し、かつ(b)第1のホストH1から送信された対応する設定のアクノリッジメントレスポンス(ACKパケット)を第2のホストH2に転送する処理(ステップS7d)。
_ ミドルボックスMBのパケット処理の経路において如何なる変更も加えずに、第1のコネクション設定リクエストを第2のホストH2に公表又はリリースする処理(ステップS7c);
_ (a)直接的なメインコネクションを設定するために、第2のホストH2から送信された第2のアクノリッジメントレスポンス(SYN/ACKパケット)を第1のホストH1に転送し、かつ(b)第1のホストH1から送信された対応する設定のアクノリッジメントレスポンス(ACKパケット)を第2のホストH2に転送する処理(ステップS7d)。
その結果、転送モードでは、第1のコネクション設定リクエストと対応するコネクションで送受信されるトラフィックとは、図1において参照番号5(具体的には、ルーティングモジュール5A及び代行モジュール(masquerading module)5B)により特定されるミドルボックスMBの標準転送経路に続く。
MP_JOINオプションを含む別のコネクション設定リクエスト(サブタイプ=0x1のSYNパケット)がミドルボックスMBで受信され、現在は転送モードにあるMPTCPセッションに帰属するように(確認テーブルを利用することにより)サブフローが識別される場合、中継モジュールRに備わるトラフィック識別部4は、(例えば、後述する確認テーブルを利利用することにより)(SYN-MP_JOINパケットにより開始された)サブフローにより搬送されるトラフィックが転送モードにあるとして識別するように形成される。別のコネクション設定リクエストは、ミドルボックスのパケット処理に続くように監視インタフェース2により公表される。この場合において、データパケットが受信されると、それは方向転換されず、その理由は中継モジュールRが転送モードで動作しているからであり、標準のミドルボックスパケット処理経路に続くのみである。
中継モードが起動されている場合、ステップS8において、中継モジュールRは次のような処理を実行する:
_ 第1のインタフェースI1により処理されるべき第1のアクノリッジメントレスポンスをリリースする処理(ステップS8a);
_ 初期の補助的なコネクションを設定するために、中継モジュールRが要求した初期の補助的なコネクションを受け入れる処理(ステップS8b);
_ 第1のホストH1と中継モジュールRとの間で追加的な補助的なコネクションを設定するために第2のインタフェースI2を設定する処理(ステップS8c);
_ 保存されている第1のコネクション設定リクエスト(SYNパケット)を第2のインタフェースI2に対してリリースする処理(ステップS8d);
_ 追加的な補助的なコネクションを設定するために、第1のホストH1から最初に要求されたメインコネクションを受け入れる処理(ステップS8e)。すなわち、第2のホストH2と送受信を行うために第1のホストH1により要求されたメインコネクションは、第1のホストH1と中継モジュールRとの間の追加的な補助的なコネクションにより置換される;
_ 例えば対応関係テーブルを利用して、第1及び第2のインタフェースI1、I2の間にリンクを形成する処理(ステップS8f)。
_ 第1のインタフェースI1により処理されるべき第1のアクノリッジメントレスポンスをリリースする処理(ステップS8a);
_ 初期の補助的なコネクションを設定するために、中継モジュールRが要求した初期の補助的なコネクションを受け入れる処理(ステップS8b);
_ 第1のホストH1と中継モジュールRとの間で追加的な補助的なコネクションを設定するために第2のインタフェースI2を設定する処理(ステップS8c);
_ 保存されている第1のコネクション設定リクエスト(SYNパケット)を第2のインタフェースI2に対してリリースする処理(ステップS8d);
_ 追加的な補助的なコネクションを設定するために、第1のホストH1から最初に要求されたメインコネクションを受け入れる処理(ステップS8e)。すなわち、第2のホストH2と送受信を行うために第1のホストH1により要求されたメインコネクションは、第1のホストH1と中継モジュールRとの間の追加的な補助的なコネクションにより置換される;
_ 例えば対応関係テーブルを利用して、第1及び第2のインタフェースI1、I2の間にリンクを形成する処理(ステップS8f)。
中継モジュールRのトラフィック識別部4は、確認テーブルに基づいて、初期の及び追加的な補助的なコネクションにより搬送されるトラフィックが、中継モードにあることを識別できる。より一般的に言えば、トラフィック識別部4は、確認テーブルに基づいて、転送モードで処理されるトラフィックと中継モードで処理されるトラフィックとを区別することができる。
すなわち、中継モードの場合、第1のインタフェースI1により管理される初期の補助的なコネクションで送受信されるトラフィックは、中継モジュールRのトラフィック識別部4により、中継モードにあるように判別される。第1のコネクション設定リクエストは、監視インタフェース2に至る経路に続くようにリリースされ、監視インタフェース2は、第1のコネクション設定リクエストを受け入れ、第1のホストのインタフェースI1を取り扱う(又はやり取りを行う)第2のインタフェースI2を形成する。設定される追加的な補助的なコネクションで送受信されるトラフィックは、トラフィック識別部4により識別され、トラフィック経路制御部1により、中継モジュールの中継アプリケーションの方にルーティングされ、第1及び第2のインタフェースI1、I2双方の間でデータを転送する。
MP_JOINオプション(サブタイトルが0x1であるSYNパケット)を担う更なるコネクション設定リクエストがミドルボックスMBで受信され、(確認テーブルを用いることで)サブフローが、現在は中継モードにあるMPTCPセッションに帰属するように識別される場合、中継モジュールRのトラフィック識別部は、(SYN-MP_JOINパケットにより開始される)サブフローにより搬送されるトラフィックが中継モードにあるように識別する。更なるコネクション設定リクエストは中継アプリケーションの方に仕向けられ、TCPハンドシェークを完了して対応するサブフローをオープンの状態にすることができる。
特に、データパケットが、ミドルボックスMBにより第1のホストH1から受信される場合、それは中継モジュールRの形成される第2のインタフェースI2の方に仕向けられる。そして、中継アプリケーションにより使用される対応関係テーブルの恩恵により、データパケットは、第2のホストH2に至る前に、第2のインタフェースI2から第1のインタフェースI1へ中継される。データパケットが、ミドルボックスMBにより第2のホストH2から受信される場合、それは、中継モジュールRの形成される第1のインタフェースI1の方に仕向けられる。そして、そのデータパケットは、第2のホストH2に至る前に、第1のインタフェースI1から第2のインタフェースへ中継される。
(TCPの場合にはFINパケットであり、MPTCPパケットの場合にはDATA_FINパケットである)「クローズコネクション」パケット又はコネクション終了パケットが、ミドルボックスMBにより受信される場合、第1、第2のインタフェースI1、I2は中継モジュールRによりクローズの状態にされ、対応関係テーブルはリセットされる。
何れのコネクションが転送又は中継される必要があるかを追跡し続けることに加えて、コネクションが設定される場合に、中継モジュールRはルックアップテーブルを構築する。この確認テーブル(図示されてはいない)は、当初は空白(ブランク又は未記入状態)であり、コンテキストディスカバリ部3により記入される。ルックアップテーブルは、データパケットを受信した場合に、トラフィック識別部4から問い合わせを受ける又は確認される。そのような確認テーブルの具体例は次のようなものである:
<確認テーブル>
<確認テーブル>
トークンのこのペア(トークン対)は、双方の側においてMPTCPコネクションを一意に識別する。これらのトークンは、以後のサブフローを設定する際にMPTCPにより再利用され、対応するMPTCPマスターフロー(master flow)を確認又は参照できるようにする。中継する側の観点からは、各々のサブフローの動作モードを決定するために、何れのサブフローが何れのマスターフローに属するかを追跡しなければならない。
中継の際に、新たなサブフローの追加を追跡するために、2つの別々の状況を取り扱うことが好ましい:
_ 新たな送信元アドレスを追加する場合:複数のインタフェースを有する送信元(例えば、第1のホストH1)が、既存のMPTCPセッションにインタフェースを追加することを決定した場合、送信元は、送信先でMPTCPセッションを特定するトークン(例えば、「S_tok1」)と共にMP_JOINオプションを担うMPTCP_SYNパケットを、IPアドレスにより特定される送信先ホスト(例えば、第2のホストH2)に向けて発行する。そのようなパケットが見えた場合、中継モジュールRは、S_tok1及び送信先アドレスのペアを探し、そのMPTCPセッションのために選択される動作モードを読み取り、確認テーブルにラインを追加して、対応するトークン及び動作モード(中継モード、転送モード)と共に追加的なソースアドレスを記録する。
_ 新たな送信元アドレスを追加する場合:複数のインタフェースを有する送信元(例えば、第1のホストH1)が、既存のMPTCPセッションにインタフェースを追加することを決定した場合、送信元は、送信先でMPTCPセッションを特定するトークン(例えば、「S_tok1」)と共にMP_JOINオプションを担うMPTCP_SYNパケットを、IPアドレスにより特定される送信先ホスト(例えば、第2のホストH2)に向けて発行する。そのようなパケットが見えた場合、中継モジュールRは、S_tok1及び送信先アドレスのペアを探し、そのMPTCPセッションのために選択される動作モードを読み取り、確認テーブルにラインを追加して、対応するトークン及び動作モード(中継モード、転送モード)と共に追加的なソースアドレスを記録する。
_ 新たな送信先アドレスを追加する場合:中継モジュールRは2ステップ処理を実行する必要がある。第1ステップとして、中継モジュールRは、データパケットにオプションとして付加されかつ送信先ホストに追加的なIPアドレスを通知可能にするADD_ADDRメッセージを追跡又は監視する。そのようなメッセージを受信すると、MPTCPセッションに関連付けてそのアドレスを確認テーブルに記録する。第2ステップとして、MP_JOINオプションとともにMPTCP_SYNパケットを受信した場合において、送信先アドレスが過去に記録された(追加された)アドレスに合致し、かつ送信元トークンが既知のトークン(例えば、S_tok1)に合致する場合、中継モジュールRは、そのサブフローがMPTCPセッションに属するものと判断し、関連する送信元及び送信先のポートを記録する。
限定的ではない一実施形態において、本発明は、MPTCPスタックを組み込むリナックスパーソナルコンピュータ(linux Personal Computer)上で動作するルータであるミドルボックスで実現されてもよいことに留意を要する。第1のホスト(例えば、クライアント)及び第2のホスト(例えば、サーバ)は、MPTCP又は標準のTCPスタックを組み込むリナックスパーソナルコンピュータ上で動作する。ルータは、一方において2×100M個にも及ぶイーサネットインタフェースを介してクライアントPCに接続され、他方において2×100M個にも及びイーサネットインタフェースを介してサーバPCにも接続される。
更に、上記の好適な実施形態において、中継モジュールRは、ハードウェア及び/又はソフトウェアモジュールとしてミドルボックスMBに組み込まれる。明らかに、代替定例において、中継モジュールは、第1及び第2のホストに、直接的に又はミドルボックスを介して接続される独立したハードウェアであってもよい。
本発明の実施形態は、完全にハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)完全にソフトウェアの実施形態、或いはソフトウェア及びハードウェアを組み合わせる実施形態の形式ととることが可能であり、それらは本願では一般的に「クライアント」、「モジュール」又は「システム」と言及され、単独のホストに組み込まれてもよいし、或いは何らかの手段で互いに接続された多数のホストに組み込まれてもよい。更に、本発明原理の実施形態は、コンピュータにより読み取られることが可能な(コンピュータ可読の)記憶媒体の形態をとることが可能である。1つ以上のコンピュータ可読の記憶媒体の任意の組み合わせが使用されてもよい。
明細書、特許請求の範囲及び/又は図面に示される特徴は独立に又は適切な任意の組み合わせにより使用されてよい。それらの特徴はハードウェア、ソフトウェア又はそれらの組み合わせにより適切に実現されてよい。特許請求の範囲に参照番号が登場していたとしても、それらは単なる例示に過ぎず、本発明の範囲を限定するような影響はない。
以上本発明は好適な実施形態により説明されてきたが、創作的な能力を発揮することなく当業者の通常の能力の範囲内で様々な変形例や実施例が許容されることは明らかである。すなわち、本発明の範囲は実施例によっては限定されず特許請求の範囲によって規定される。
本願発明に監視、特定の機能を実行する手段として表現される任意の要素(例えば、トラフィック経路制御部1、監視インタフェース2、コンテキストディスカバリ部3)は、その機能を実行する任意の手段を包含するように意図されており、例えば、(a)その機能を実行する回路要素の組み合わせ(例えば、1つ以上のプロセッサ)や、或いは(b)その機能を発揮するためにソフトウェアを実行する適切な回路と組み合わせられる任意の形態のソフトウェア(すなわち、ファームウェアやマイクロコードを含む)等を包含する。本発明原理は特許請求の範囲の記載により表現され 記載されている様々な手段により提供される機能は、特許請求の範囲に記載される方法で組み合わせられ活用される。
H1、H2 ホスト
R 中継モジュール
I1、I2 インタフェース
CM 取得モジュール
R 中継モジュール
I1、I2 インタフェース
CM 取得モジュール
Claims (15)
- 中継モジュールを経由して少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続するために中継モジュールが実行する方法であって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するステップと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信するステップと、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動するステップであって、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理とを実行するステップと、
_前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、
・ 前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び
・ 前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクション
により搬送されるトラフィックを処理するために、中継モードを起動するステップと
を有する方法。 - 前記第1のコネクション設定リクエストを受信した場合に、前記初期の補助的なコネクションの設定を行うように前記中継モジュールの第1のインタフェースを設定するステップを有する請求項1に記載の方法。
- 前記第2のコネクション設定リクエストが、初期の補助的なマルチパスコネクションの設定を要求する、請求項1又は2に記載の方法。
- 前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが、前記中継モジュールのコンテキストディスカバリ部に保存される、請求項1〜3のうち何れか1項に記載の方法。
- 前記中継モードが起動された場合に、前記中継モジュールが、
_ 前記第1のホストと前記中継モジュールとの間で前記追加的な補助的なコネクションを設定するために前記第1のコネクション設定リクエストを処理するステップと、
_ 前記中継モジュールと前記第2のホストとの間で前記初期の補助的なコネクションを設定するために前記第1のアクノリッジメントレスポンスを処理するステップと、
_ 前記初期の補助的なコネクションと前記追加的な補助的なコネクションとの間にリンクを形成するステップと
を実行する、請求項4に記載の方法。 - 前記初期の補助的なコネクションと前記追加的な補助的なコネクションとの間の前記リンクが、対応関係テーブルを利用している、請求項5に記載の方法。
- 前記第1のコネクション設定リクエストを処理する前記ステップが、
前記第1のホストとの前記追加的な補助的なコネクションの設定を処理するように前記中継モジュールの第2のインタフェースを設定するステップと、
前記第2のインタフェースに対する保存されている前記第1のコネクション設定リクエストを解除するステップと、
前記追加的な補助的なコネクションを設定するために、前記第1のホストが要求した前記メインコネクションを受け入れるステップと
を有する、請求項5又は6に記載の方法。 - 前記第1のアクノリッジメントレスポンスを処理する前記ステップが、
第1のインタフェースに対する保存されている前記第1のアクノリッジメントレスポンスを解除するステップと、
前記追加的な補助的なコネクションを設定するために、前記中継モジュールが要求した前記初期の補助的なコネクションを受け入れるステップと
を有する、請求項5〜7のうち何れか1項に記載の方法。 - 少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続する中継モジュールであって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得するように形成された取得モジュールと、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信し、前記第2のホストから第1のアクノリッジメントレスポンスを受信するように形成された通信モジュールと、
_(a)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動し、(b)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び、前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクションにより搬送されるトラフィックを処理するために、中継モードを起動するコンテキストディスカバリ部と
を有し、取得モジュールは、
・ 前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
・ 前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
・ 前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理と
を実行する、中継モジュール。 - 前記コンテキストディスカバリ部は、前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとを保存し、それらのマルチパス許容性を判別するように形成されている、請求項9に記載の中継モジュール。
- 前記転送モードで処理されたトラフィックと前記中継モードで処理されたトラフィックとを区別するように形成されたトラフィック識別部を有する請求項9又は10に記載の中継モジュール。
- 前記中継モードにおいて前記第1のホストと前記第2のホストとの間で前記初期の及び追加的な補助的なコネクションにより搬送されるトラフィックを中継するための中継アプリケーションを有する請求項9〜11のうち何れか1項に記載の中継モジュール。
- 少なくとも1つの通信ネットワークにより第1のホスト及び第2のホストを接続する中継モジュールであって、
_前記第2のホストとのメインコネクションを設定するために前記第1のホストが送信した第1のコネクション設定リクエストを取得する処理と、
_前記中継モジュールと前記第2のホストとの間で初期の補助的なコネクションを設定するために第2のコネクション設定リクエストを前記第2のホストに送信する処理と、
_前記第2のホストから第1のアクノリッジメントレスポンスを受信する処理と、
_(a)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが同じマルチパス許容性を示す場合、設定される直接的なメインコネクションにより搬送されるトラフィックを処理するために、転送モードを起動し、(b)前記第1のコネクション設定リクエストと前記第1のアクノリッジメントレスポンスとが異なるマルチパス許容性を示す場合、前記第1のホストと前記中継モジュールとの間に設定される追加的な補助的なコネクション、及び、前記中継モジュールと前記第2のホストとの間に設定される前記初期の補助的なコネクションにより搬送されるトラフィックを処理するために、中継モードを起動する処理と
_前記第2のホストから受信した前記第1のアクノリッジメントレスポンスを破棄し、前記初期の補助的なコネクションの設定を解除する処理と、
_前記第1のコネクション設定リクエストを前記第2のホストに公表する処理と、
_前記直接的なメインコネクションを設定するために、送信された前記第1のコネクション設定リクエストに応答して前記第2のホストから送信された第2のアクノリッジメントレスポンスを前記第1のホストに転送する処理と
を実行する少なくとも1つのプロセッサを有する中継モジュール。 - 通信ネットワークからダウンロードすることが可能であり、及び/又は、コンピュータにより読み取ることが可能な記憶媒体に記録され、及び/又は、請求項1〜8のうちの何れか1項に記載の方法をプロセッサに実行させるプログラムコード命令を有するコンピュータプログラム。
- コンピュータにより読み取ることが可能な記憶媒体であって、請求項1〜8のうちの何れか1項に記載の方法をプロセッサに実行させるプログラムコード命令を有するコンピュータプログラムを保存する記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13306349.5 | 2013-09-30 | ||
EP20130306349 EP2854357A1 (en) | 2013-09-30 | 2013-09-30 | Method for connecting a first host and a second host within at least one communication network through a relay module, corresponding relay module |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015070616A true JP2015070616A (ja) | 2015-04-13 |
Family
ID=49474338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014198200A Pending JP2015070616A (ja) | 2013-09-30 | 2014-09-29 | 接続方法及び中継モジュール |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150095502A1 (ja) |
EP (2) | EP2854357A1 (ja) |
JP (1) | JP2015070616A (ja) |
KR (1) | KR20150037573A (ja) |
CN (1) | CN104518939A (ja) |
BR (1) | BR102014023992A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018139386A (ja) * | 2017-02-24 | 2018-09-06 | 株式会社国際電気通信基礎技術研究所 | データ送信装置、データ受信装置、通信システム、および、プログラム |
US10555215B2 (en) | 2016-08-03 | 2020-02-04 | Fujitsu Limited | Management apparatus, communication system, and allocation method |
WO2022038771A1 (ja) * | 2020-08-21 | 2022-02-24 | 日本電信電話株式会社 | 通信システム、通信方法、中継サーバ及びプログラム |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
WO2015136582A1 (ja) * | 2014-03-13 | 2015-09-17 | パナソニックIpマネジメント株式会社 | 情報機器特定システム、情報機器特定方法、情報機器およびプログラム |
US20150281367A1 (en) * | 2014-03-26 | 2015-10-01 | Akamai Technologies, Inc. | Multipath tcp techniques for distributed computing systems |
WO2016066210A1 (en) * | 2014-10-30 | 2016-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | Handling of backup path in a wireless communication system |
EP3269109B1 (en) * | 2015-03-12 | 2019-01-09 | Telefonaktiebolaget LM Ericsson (publ) | Methods and arrangements for multipath traffic aggregation |
US10602560B2 (en) | 2015-06-26 | 2020-03-24 | Telefonaktiebolaget Lm Ericsson (Publ) | First network node and methods therein, for determining whether a second multi path transmission control protocol connection is to be initiated |
WO2017007705A1 (en) | 2015-07-06 | 2017-01-12 | Shape Security, Inc. | Asymmetrical challenges for web security |
US10476992B1 (en) * | 2015-07-06 | 2019-11-12 | F5 Networks, Inc. | Methods for providing MPTCP proxy options and devices thereof |
CN105656875A (zh) * | 2015-10-21 | 2016-06-08 | 乐卡汽车智能科技(北京)有限公司 | 基于mptcp的主流连接建立方法及装置 |
WO2017101043A1 (zh) * | 2015-12-16 | 2017-06-22 | 华为技术有限公司 | 一种数据传输方法及设备 |
EP3379864B1 (en) * | 2015-12-30 | 2020-11-11 | Huawei Technologies Co., Ltd. | Method for determining transmission link and terminal device |
EP3276891B1 (en) * | 2016-07-29 | 2019-02-27 | Deutsche Telekom AG | Techniques for establishing a communication connection between two network entities via different network flows |
WO2018165190A1 (en) | 2017-03-07 | 2018-09-13 | Akamai Technologies, Inc. | Cooperative multipath |
EP3729785B8 (en) * | 2017-12-22 | 2022-08-10 | Nokia Technologies OY | Designs of an mptcp-aware load balancer and load balancer using the designs |
WO2019166697A1 (en) * | 2018-03-01 | 2019-09-06 | Nokia Technologies Oy | Conversion between transmission control protocols |
CN111064704B (zh) * | 2019-11-19 | 2021-02-09 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032641B2 (en) * | 2009-04-30 | 2011-10-04 | Blue Coat Systems, Inc. | Assymmetric traffic flow detection |
US9723083B2 (en) * | 2009-12-14 | 2017-08-01 | Nokia Technologies Oy | Method and apparatus for multipath communication |
US9455897B2 (en) * | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
US20120144062A1 (en) * | 2010-06-04 | 2012-06-07 | Interdigital Patent Holdings, Inc. | MPTCP And Mobile IP Interworking |
US8400923B2 (en) * | 2010-10-15 | 2013-03-19 | Telefonaktiebolaget L M Ericsson (Publ) | Multipath transmission control protocol proxy |
US8547835B2 (en) * | 2010-10-21 | 2013-10-01 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling IP flows to bypass a packet data network gateway using multi-path transmission control protocol connections |
EP2495927B1 (en) * | 2011-03-02 | 2014-10-08 | Alcatel Lucent | Concept for providing information on a data packet association and for forwarding a data packet |
US20120331160A1 (en) * | 2011-06-22 | 2012-12-27 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-path transmission control protocol proxy service |
US8817797B2 (en) * | 2012-01-31 | 2014-08-26 | Alcatel Lucent | Method and apparatus for multipath protocol packet relay |
US8824480B2 (en) * | 2012-01-31 | 2014-09-02 | Alcatel Lucent | Method and apparatus for end-host based mobility, multi-homing and multipath protocols |
JP6301358B2 (ja) * | 2012-12-14 | 2018-03-28 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 通信ネットワークにおけるマルチパス伝送制御プロトコル信号伝達の処理 |
US9888042B2 (en) * | 2013-05-21 | 2018-02-06 | Citrix Systems, Inc. | Systems and methods for multipath transmission control protocol connection management |
-
2013
- 2013-09-30 EP EP20130306349 patent/EP2854357A1/en not_active Withdrawn
-
2014
- 2014-07-30 EP EP14179045.1A patent/EP2854360B1/en not_active Not-in-force
- 2014-09-22 US US14/493,288 patent/US20150095502A1/en not_active Abandoned
- 2014-09-25 KR KR20140128343A patent/KR20150037573A/ko not_active Application Discontinuation
- 2014-09-26 BR BR102014023992A patent/BR102014023992A2/pt not_active Application Discontinuation
- 2014-09-29 JP JP2014198200A patent/JP2015070616A/ja active Pending
- 2014-09-30 CN CN201410520862.7A patent/CN104518939A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10555215B2 (en) | 2016-08-03 | 2020-02-04 | Fujitsu Limited | Management apparatus, communication system, and allocation method |
JP2018139386A (ja) * | 2017-02-24 | 2018-09-06 | 株式会社国際電気通信基礎技術研究所 | データ送信装置、データ受信装置、通信システム、および、プログラム |
WO2022038771A1 (ja) * | 2020-08-21 | 2022-02-24 | 日本電信電話株式会社 | 通信システム、通信方法、中継サーバ及びプログラム |
JP7439936B2 (ja) | 2020-08-21 | 2024-02-28 | 日本電信電話株式会社 | 通信システム、通信方法、中継サーバ及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20150037573A (ko) | 2015-04-08 |
US20150095502A1 (en) | 2015-04-02 |
EP2854360B1 (en) | 2016-04-06 |
EP2854360A1 (en) | 2015-04-01 |
EP2854357A1 (en) | 2015-04-01 |
BR102014023992A2 (pt) | 2016-04-26 |
CN104518939A (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015070616A (ja) | 接続方法及び中継モジュール | |
US10079803B2 (en) | Peer-to-peer connection establishment using TURN | |
EP3459217B1 (en) | Transporting udp packets over an mptcp connection | |
US8824480B2 (en) | Method and apparatus for end-host based mobility, multi-homing and multipath protocols | |
EP2763362A1 (en) | A method for connecting a multi-homed and MPTCP capable client with a regular TCP server | |
CN109644190B (zh) | 两个终端之间的多路径udp通信方法 | |
WO2019007209A1 (zh) | 一种多路径数据传输处理方法及网络设备 | |
US8817815B2 (en) | Traffic optimization over network link | |
US11863655B2 (en) | Method and system for reliable application layer data transmission through unreliable transport layer connections in a network | |
CN103379182A (zh) | 数据传输方法和客户端 | |
US10291750B1 (en) | Aggregating data sessions between autonomous systems | |
ES2940469T3 (es) | Método de comunicación TCP a través de múltiples rutas entre dos terminales | |
WO2014169590A1 (zh) | 一种数据业务通信方法、设备及系统 | |
JP5889122B2 (ja) | 制御ノード及び通信制御方法 | |
JP4796883B2 (ja) | Nat管理システム | |
CN103368841A (zh) | 报文转发方法和装置 | |
JP2017098738A (ja) | 制御装置、通信システム、制御方法およびプログラム | |
JP5288561B2 (ja) | フェムトセル間のハンドオフ方法およびシステム | |
JP7031842B2 (ja) | 無線通信システム及び方法 | |
JP6033393B2 (ja) | 制御ノード及び通信制御方法 | |
JP2023042744A (ja) | 中継サーバを用いたピア・ツー・ピア通信システム | |
JP2015109637A (ja) | データ通信システム、それに用いられる転送装置および中継装置、並びにプログラム | |
TW201136264A (en) | Maintaining persistent connection with user level transmission control protocol | |
TW201421948A (zh) | 多重鏈路介接系統及其多重鏈路介接方法 |