JP7657264B2 - トランスポート制御プロトコルのトリップタイムの推定 - Google Patents
トランスポート制御プロトコルのトリップタイムの推定 Download PDFInfo
- Publication number
- JP7657264B2 JP7657264B2 JP2023126290A JP2023126290A JP7657264B2 JP 7657264 B2 JP7657264 B2 JP 7657264B2 JP 2023126290 A JP2023126290 A JP 2023126290A JP 2023126290 A JP2023126290 A JP 2023126290A JP 7657264 B2 JP7657264 B2 JP 7657264B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- packets
- middlebox
- endpoint
- acknowledgment
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- 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]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本開示は、トランスポート制御プロトコルのトリップタイムの推定に関する。
従来、ノード上で実行されるプロセスは、ノード(またはエンドポイント)間のトランスポート制御プロトコル(TCP)接続の性能を理解するのに役立ち得る。例えば、システムは、ノードがパケットを送信した開始時間と、ノードが受領確認を受信した受領確認時間とを測定することによって、パケットのラウンドトリップタイム(RTT)を取得するように配置されてもよい。しかし、ミドルボックスを使用することによって、より多くの従来のエンドポイントの間に実装される中間ノードが増加するので、TCP接続最適化を促進するために、エンドポイントでのTCP性能の測定は、新しい性能測定技法を考慮しなければならない。
本開示の一態様は、トランスポート制御プロトコルの性能特性を推定するための方法を提供する。方法は、ミドルボックスのデータ処理ハードウェアが、所定の期間にわたってミドルボックスを介して通信するソースエンドポイントと宛先エンドポイントとの間のトランスポート制御プロトコル(TCP)接続から、複数のパケットを間引いてサンプリングすることを含む。サンプリングされた複数のパケットの各パケットに対して、方法は、データ処理ハードウェアが、当該パケットをサンプリングするときのタイムスタンプを生成することと、データ処理ハードウェアが、当該パケットのシーケンス番号および受領確認番号を記録することとを含む。また、方法は、データ処理ハードウェアが、サンプリングされた複数のパケットのうちの1つ以上のパケットに対応するタイムスタンプ、シーケンス番号、または受領確認番号のうちの少なくとも2つに基づいて、所定の期間にわたってミドルボックスを介して通信するソースエンドポイントと宛先エンドポイントとの間のTCP接続の推定性能特性を生成することをさらに含む。
装形態は、データ処理ハードウェアが、生成された第1のパケットの第1のタイムスタンプと第1のサンプリングされていないパケットに対して推定されたタイムスタンプとの間の差に基づいて、ミドルボックスと宛先エンドポイントとの間の第1のトリップタイムを決定することをさらに含む。
CP接続を介してソースエンドポイントから通信された第1のパケットを受信することを含み、第1のパケットは、第1のシーケンス番号および第1の受領確認番号を含み、データ処理ハードウェアが、TCP接続を介して宛先エンドポイントから通信された第2のパケットを受信ことを含み、第2のパケットは、第2のシーケンス番号および第2の受領確認番号を含む。また、方法は、データ処理ハードウェアが、第1のパケットに関連付けられた第1のシーケンス番号と第2のパケットに関連付けられた第2の受領確認番号との間の差を決定することによって、ソースエンドポイントのウィンドウサイズを推定することをさらに含む。これらの例において、方法は、データ処理ハードウェアが、第2のパケットに関連付けられた第2のシーケンス番号と第1のパケットに関連付けられた第1の受領確認番号との間の差を決定することによって、宛先エンドポイントのウィンドウサイズを推定することをさらに含んでもよい。
1のパケットの第1のタイムスタンプと第1のサンプリングされていないパケットに対して推定されたタイムスタンプとの間の差に基づいて、ミドルボックスと宛先エンドポイントとの間の第1のトリップタイムを決定することとをさらに含む。
連付けられた第1のシーケンス番号と第2のパケットに関連付けられた第2の受領確認番号との間の差を決定することによって、ソースエンドポイントのウィンドウサイズを推定することを含む。これらの例において、動作は、第2のパケットに関連付けられた第2のシーケンス番号と第1のパケットに関連付けられた第1の受領確認番号との間の差を決定することによって、宛先エンドポイントのウィンドウサイズを推定することをさらに含んでもよい。
様々な図面において、同様の参照符号は、同様の要素を示す。
すれば、ミドルボックスの動作は、TCPフロー(例えば、エンドツーエンドTCP接続)と同じまたは同様のパケットフロー性能を示すインジケータを提供することができない。パケットフロー性能を示すインジケータがない場合、ネットワーク管理者またはネットワークサービスプロバイダは、ネットワーク通信を評価および/または改善することが困難である。
動作するのではなく、専用の物理ハードウェア(すなわち、物理層)として実装されてもよい。ネットワーク130および/またはネットワーク130によって提供されたサービスに応じて、異なる種類の物理層および仮想層構成は、様々な利点を有する。
3および4の方法300、400を実行する)ためにデータ処理ハードウェア502上で実行可能な命令を記憶するためのメモリハードウェア504とを含んでもよい。ミドルボックス160は、(例えば、図1Aに示された)ネットワーク機能を実行するように構成された物理ハードウェア(例えば、物理ネットワーク層102上の専用機器)またはソフトウェアであってもよい。一般的に、ミドルボックス160は、ソースエンドポイント/ホスト(例えば、クライアントVM140を介したクライアント)と宛先エンドポイント/ホスト(例えば、バックエンドVM150を介した物理ネットワーク層102のサーバ)との間のデータグラム経路上のインターネットプロトコル(IP)ルータの通常機能または標準機能以外の機能を実行するための中間装置を指す。換言すれば、ミドルボックス160は、通常、パケットルーティング(例えば、ネットワークアドレス変換(NAT)、ネットワークアドレスポート変換(NAPT)、負荷分散(LB)、ファイアウォール、侵入検出/防止システム、プロトコル変換、およびプロキシ)以外のネットワーク機能を担当する。ミドルボックス160は、典型的にはルーティング以外のネットワーク機能を担当するが、ルーティングを処理する装置の一部であってもよい。これによって、ネットワーキング環境100は、ルーティング機能およびミドルボックス機能の両方をサポートする単一の装置を含む。
ことができる。例えば、負荷分散の場合、クライアント120およびサーバ110は、仮想ネットワーク層104上のVMである必要がなく、むしろ物理マシン間の接続である。
パッケージングすることによって、連続的なバイトストリーム(すなわち、オクテット)をエンドポイント190(例えば、ソースと宛先)の間に伝送するように構成されている。TCP接続180が存在する場合、TCPは、2つのバイトストリーム(またはパケットストリーム)を、各方向(例えば、(1)ソースエンドポイント190sから宛先エンドポイント190dへの方向、および(2)宛先エンドポイント190dからソースエンドポイント190sへの方向)に1つずつ送信するように構成されている。
めの従来の技術は、標準パケット構造のフィールド/属性に依拠することができなくなる。追加的にまたは代替的に、ミドルボックス160は、しばしば、ミドルボックスを介して多重化された多くのTCP接続180からパケットを受信し、典型的にはインターネットプロトコル(IP)層上で動作する。ミドルボックスは、IP層上で動作するため、フローの開始マーカまたは終了マーカもしくは確認のTCPフローマーカを使用しない。換言すれば、ミドルボックスの動作は、TCPフロー(例えば、エンドツーエンドTCP接続)と同じまたは同様のパケットフロー性能を示すインジケータを提供することができない。パケットフロー性能を示すインジケータがない場合、ネットワーク管理者またはネットワークサービスプロバイダは、ネットワーク通信を評価および/または改善することが困難である。
タを宛先エンドポイント190dに送信する場合、自分のシーケンス番号1024を32バイトで1056に増分する(例えば、図示のように、第1のパケット170sd1から第2のパケット170sd2になる)。一方、(たとえTCP接続180を介してソースエンドポイント190sから32バイトが送信されたとしても)宛先エンドポイント190dは、自分のデータ(すなわち、バイト)を送信するまで、宛先エンドポイント190dのシーケンス番号172を4000に維持する。例えば、宛先エンドポイント190dは、328バイトをソースエンドポイント190sに送信することによって、自分のシーケンス番号172を4000から4328に増分する(例えば、図示のように、第1のパケット170ds1から第2のパケット170ds2になる)。その間に、ソースエンドポイント190sは、自分のシーケンス番号172を1056に維持する。増分されたシーケンス番号172は、エンドポイント190によって送信される後続のパケット170のシーケンス番号172として見なされる。例えば、ソースエンドポイント190sによって送信された32バイトのデータを含む第1のパケット170sd1は、1024に等しいISN172を有し、ソースエンドポイント190sによって送信された第2のパケット170sd2は、ソースエンドポイント190sによって以前に送信された第1のパケット170sd1内の32バイトのデータによって、1056に増分されたシーケンス番号172を有する。宛先エンドポイント190dは、同様に、各パケット170のシーケンス番号172を増分する(例えば、第1のパケット170ds1および第2のパケット170ds2を参照)。パケット170のペイロード176は、一般的に、パケット170に含まれるバイトを指す。例えば、ソースエンドポイント190sによって送信された第1のパケット170sd1は、32バイトのペイロード176を含み、宛先エンドポイント190dによって送信された第1のパケット170ds1は、328バイトのペイロード186を含む。いくつかの例において、TCPパケット170は、TCPに対してパッケージできる最大のバイト数を有する。他の例において、エンドポイント190間の接続自体は、接続180による制限/制約により、ペイロード176の最大のバイト数を更に制限する。
、サンプリング装置210によってサンプリングされ、性能評価装置200に提供されるパケット170を点線ボックスで示す。性能評価装置200は、TCP接続180のパケットストリームからパケットをサンプリングすることによって、ミドルボックス160またはTCP接続180に与える負担(例えば、プロセッサおよび/またはリソースコスト)を低減することができる。例えば、性能評価装置200は、特定のTCP接続180のミドルボックス160を通過する各パケット170、全てのパケット170、または大部分のパケット170を評価することができる。この手法は、精確であるが、(例えば、ミドルボックス160における各フロー(すなわち、接続180)を測定するための完全なTCPプロキシを構築することによって)、ミドルボックス160のリソースに大きな負担を与える。換言すれば、この手法は、ミドルボックス160における各フローのTCPエンドポイントを再作成する。また、この手法は、ミドルボックス160のリソースに与える負担に加えて、プロキシのウィンドウサイズによって、クライアント120に追加の遅延を与えてしまう。追加の遅延は、特にTCP接続180がメディア伝送(例えば、リアルタイム通信時のオーディオ、ビデオ、またはその両方)を行う場合、ユーザ経験の減少をもたらす。このようなサンプリングは、クライアントおよび/またはホストの数が増加し、それに応じて、ミドルボックス160がミドルボックス160の動作をプログラムおよび/または管理するためにより多くのプログラミングリソースを要求するネットワークフローおよび接続を増加する、特にミドルボックス160がステートフルトラッキング(例えば、接続テーブル)を用いて実行する機能を増加するにつれて、ますます重要になってくる。例えば、ミドルボックス160を通過するパケットの数は、数百万に達す可能性がある。この場合、中間装置としてのミドルボックス160は、遅延、ボトルネック、および追加のホップをエンドポイント190間のネットワーク機能に加える可能性がある。
サンプリング装置210に要求しなくても、サンプリング装置210の生成機能および/または記録機能を示す、時間tに対する番号172、174のプロット214を有するサンプリング装置210を示す。
能特性202の種類に応じて変わってもよい。図2Bは、RTT202a(またはトリップタイム222)に対応する性能特性202を決定する推定装置220を示す。図2Cは、スループット202bに対応する性能特性202を決定するための推定装置2220を示す。図2Dおよび2Eは、宛先エンドポイント190dおよびソースエンドポイント190sの各々の推定ウィンドウサイズ202cに対応する性能特性202を決定するための推定装置220を示す。
れた受領確認番号174の補間に基づいて、対応する受領確認番号174が特定されたシーケンス番号172と一致する時間を推定するように構成されている。例えば、図2Bは、傾向線上の黒点ではなく、傾向線上の白点を用いて、サンプリング装置210からの記録されたシーケンス番号172と一致する受領確認番号174が未知であることを示す。推定装置220は、トリップタイム222aおよびトリップタイム222bの両方を決定するために、シーケンス番号172と一致する受領確認番号174の各々の時間を決定する。第1のトリップタイム222aは、推定されたマッチング確認時間t3と、記録されたシーケンス番号172に対応するタイムスタンプ212、t1との間の差として示される。同様に、第2のトリップタイム222aは、推定されたマッチング確認時間t4と、記録されたシーケンス番号172に対応するタイムスタンプ212、t2との間の差として示される。いくつかの構成において、推定装置220は、サンプリング装置210が(例えば、低頻度または疎なサンプリングによって)マッチング受領確認番号174を記録していないと仮定する。換言すれば、推定装置220は、シーケンス番号172と一致する記録された受領確認番号174を特定しようとするように構成されなくてもよい。
202cは、ソースエンドポイント190sの推定ウィンドウサイズである。推定ウィンドウサイズ202cがどのエンドポイント190に対応するかにかかわらず、推定装置220は、記録されたシーケンス番号172と受領確認番号174との間に決定された差に基づいて、推定ウィンドウサイズ202cを生成する。換言すれば、推定装置220は、同じタイムスタンプ212における番号172、174の差によって、推定ウィンドウサイズ202cを決定する。例えば、図2Dは、同じ時間における番号172、174の周りのブロックを推定ウィンドウサイズ202cとして示す。いくつかの実装形態において、サンプリング装置210は、TCPパケットフローをサンプリングするたびに、各TCPフロー方向のパケット170(例えば、同じタイムスタンプ212における1対のパケット)をサンプリングするように構成されている。したがって、推定装置220は、推定ウィンドウサイズ202cをより効率的に生成する。他の実装形態において、サンプリング装置210は、いずれかのTCPフロー方向において、1つのパケット170のみをサンプリングする。したがって、推定装置220は、サンプリングされたパケット170を補間することによって、推定ウィンドウサイズ202cを生成する。
れたパケット170に対して、方法400は、当該パケット170をサンプリングするときのタイムスタンプ212を生成する。動作406において、方法400は、ミドルボックス160と対応するエンドポイント190との間で転送されるサンプリングされた複数のパケット170のうちの第1のサンプリングされたパケット170の第1のシーケンス番号172が、サンプリングされた複数のパケット170の受領確認番号174のいずれにも一致しないと判定する。動作408において、方法400は、サンプリングされた複数のパケット170の複数の受領確認番号174の補間に基づいて、第1のシーケンス番号172と一致する受領確認番号174に対応する時間tを推定する。動作410において、方法400は、第1のパケット170に関連する第1のタイムスタンプ212と推定された時間との間の差に基づいて、ミドルボックス160と対応するエンドポイント190との間のトリップタイムを決定する。
Claims (18)
- データ処理ハードウェアによって実行されると、前記データ処理ハードウェアに以下の動作を実行させるコンピュータ実施方法であって、前記動作は、
所定の期間にわたってミドルボックスを介して通信するソースエンドポイントと宛先エンドポイントとの間のトランスポート制御プロトコル(TCP)接続から、複数のパケットをサンプリングすることと、
前記サンプリングされた複数のパケットの各パケットの受領確認番号を記録することと、
前記受領確認番号の傾向線の勾配を決定することと、
前記所定の期間にわたって前記ミドルボックスを介して通信する前記ソースエンドポイントと前記宛先エンドポイントとの間の前記TCP接続の推定性能特性を生成することとを含み、前記推定性能特性は、前記受領確認番号の勾配に基づいた前記TCP接続のスループットを含み、
前記動作は、前記サンプリングされた複数のパケットのために記録された前記受領確認番号を補間することによって、前記TCP接続からサンプリングされていないパケットのタイムスタンプを推定することをさらに含む、方法。 - 前記動作は、前記サンプリングされた複数のパケットのうちの第1のパケットのために生成されたタイムスタンプと、前記サンプリングされた複数のパケットのうちの第2のパケットのために生成されたタイムスタンプとの間の差に基づいて、前記ミドルボックスと前記宛先エンドポイントとの間のトリップタイムを決定することをさらに含み、
前記第1のパケットは、第1のシーケンス番号を有し、
前記第2のパケットの前記受領確認番号は、前記第1のシーケンス番号と一致する、請求項1に記載の方法。 - 前記サンプリングされていないパケットは、前記サンプリングされた複数のパケットのうちの第1のパケットの第1のシーケンス番号と一致する受領確認番号に関連付けられ、
前記動作は、前記第1のパケットのために生成された第1のタイムスタンプと前記サンプリングされていないパケットのために推定された前記タイムスタンプとの間の差に基づいて、前記ミドルボックスと前記宛先エンドポイントとの間のトリップタイムを決定することをさらに含む、請求項1に記載の方法。 - 前記TCP接続の前記推定性能特性を生成することは、
前記ミドルボックスと前記宛先エンドポイントとの間のトリップタイムと、前記ミドルボックスと前記ソースエンドポイントとの間のトリップタイムとを合計することによって、前記ミドルボックスを介した前記ソースエンドポイントと前記宛先エンドポイントとの間のラウンドトリップタイムを計算することを含む、請求項1~3のいずれか1項に記載の方法。 - 前記動作は、前記サンプリングされた複数のパケットのために記録されたシーケンス番号を補間することによって、前記TCP接続からサンプリングされていないパケットのタイムスタンプを推定することをさらに含む、請求項1に記載の方法。
- 前記受領確認番号の前記傾向線の前記勾配を経時的に決定することは、
前記ミドルボックスを介して前記宛先エンドポイントから前記ソースエンドポイントに転送された前記サンプリングされた複数のパケットのために記録された前記受領確認番号に基づいて、前記受領確認番号の前記傾向線の前記勾配を決定することと、
前記受領確認番号の前記傾向線の前記勾配に基づいて、前記スループットを生成することとを含み、前記スループットは、前記ミドルボックスを介して、パケットを前記ソースエンドポイントから前記宛先エンドポイントに転送する速度に対応する、請求項1~5のいずれか1項に記載の方法。 - 前記受領確認番号の前記傾向線の前記勾配を経時的に決定することは、
前記ミドルボックスを介して前記ソースエンドポイントから前記宛先エンドポイントに転送された前記サンプリングされた複数のパケットのために記録された前記受領確認番号に基づいて、前記受領確認番号の前記傾向線の前記勾配を決定することと、
前記受領確認番号の前記傾向線の前記勾配に基づいて、前記スループットを生成することとを含み、前記スループットは、前記ミドルボックスを介して、パケットを前記宛先エンドポイントから前記ソースエンドポイントに転送する速度に対応する、請求項1~5のいずれか1項に記載の方法。 - 前記動作は、所定の時点において、
前記TCP接続を介して前記ソースエンドポイントから通信された第1のパケットを受信することを含み、前記第1のパケットは、第1のシーケンス番号と第1の受領確認番号とを含み、
前記TCP接続を介して前記宛先エンドポイントから通信された第2のパケットを受信することを含み、前記第2のパケットは、第2のシーケンス番号と第2の受領確認番号とを含み、
前記第1のパケットに関連付けられた前記第1のシーケンス番号と前記第2のパケットに関連付けられた前記第2の受領確認番号との間の差を決定することによって、前記ソースエンドポイントの前記TCP接続の前記推定性能特性のウィンドウサイズを推定することをさらに含む、請求項1~7のいずれか1項に記載の方法。 - 前記第2のパケットに関連付けられた前記第2のシーケンス番号と前記第1のパケットに関連付けられた前記第1の受領確認番号との間の差を決定することによって、前記宛先エンドポイントの前記TCP接続の前記推定性能特性の前記ウィンドウサイズを推定する、請求項8に記載の方法。
- システムであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアとを備え、前記メモリハードウェアは、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに、以下の動作を実行させる命令を記憶し、
前記動作は、
所定の期間にわたってミドルボックスを介して通信するソースエンドポイントと宛先エンドポイントとの間のトランスポート制御プロトコル(TCP)接続から、複数のパケットをサンプリングすることと、
前記サンプリングされた複数のパケットの各パケットの受領確認番号を記録することと、
前記受領確認番号の傾向線の勾配を決定することと、
前記所定の期間にわたって前記ミドルボックスを介して通信する前記ソースエンドポイントと前記宛先エンドポイントとの間の前記TCP接続の推定性能特性を生成することとを含み、前記推定性能特性は、前記受領確認番号の勾配に基づいた前記TCP接続のスループットを含み、
前記動作は、前記サンプリングされた複数のパケットのために記録された前記受領確認番号を補間することによって、前記TCP接続からサンプリングされていないパケットのタイムスタンプを推定することをさらに含む、システム。 - 前記動作は、前記サンプリングされた複数のパケットのうちの第1のパケットのために生成されたタイムスタンプと、前記サンプリングされた複数のパケットのうちの第2のパケットのために生成されたタイムスタンプとの間の差に基づいて、前記ミドルボックスと前記宛先エンドポイントとの間のトリップタイムを決定することをさらに含み、
前記第1のパケットは、第1のシーケンス番号を有し、
前記第2のパケットの前記受領確認番号は、前記第1のシーケンス番号と一致する、請求項10に記載のシステム。 - 前記サンプリングされていないパケットは、前記サンプリングされた複数のパケットのうちの第1のパケットの第1のシーケンス番号と一致する受領確認番号に関連付けられ、
前記動作は、前記第1のパケットのために生成された第1のタイムスタンプと前記サンプリングされていないパケットのために推定された前記タイムスタンプとの間の差に基づいて、前記ミドルボックスと前記宛先エンドポイントとの間のトリップタイムを決定することをさらに含む、請求項10に記載のシステム。 - 前記TCP接続の前記推定性能特性を生成することは、
前記ミドルボックスと前記宛先エンドポイントとの間のトリップタイムと、前記ミドルボックスと前記ソースエンドポイントとの間のトリップタイムとを合計することによって、前記ミドルボックスを介した前記ソースエンドポイントと前記宛先エンドポイントとの間のラウンドトリップタイムを計算することを含む、請求項10~12のいずれか1項に記載のシステム。 - 前記動作は、前記サンプリングされた複数のパケットのために記録されたシーケンス番号を補間することによって、前記TCP接続からサンプリングされていないパケットのタイムスタンプを推定することをさらに含む、請求項10に記載のシステム。
- 前記受領確認番号の前記傾向線の前記勾配を経時的に決定することは、
前記ミドルボックスを介して前記宛先エンドポイントから前記ソースエンドポイントに転送された前記サンプリングされた複数のパケットのために記録された前記受領確認番号に基づいて、前記受領確認番号の前記傾向線の前記勾配を決定することと、
前記受領確認番号の前記傾向線の前記勾配に基づいて、前記スループットを生成することとを含み、前記スループットは、前記ミドルボックスを介して、パケットを前記ソースエンドポイントから前記宛先エンドポイントに転送する速度に対応する、請求項10~14のいずれか1項に記載のシステム。 - 前記受領確認番号の前記傾向線の前記勾配を経時的に決定することは、
前記ミドルボックスを介して前記宛先エンドポイントから前記ソースエンドポイントに転送された前記サンプリングされた複数のパケットのために記録された前記受領確認番号に基づいて、前記受領確認番号の前記傾向線の前記勾配を決定することと、
前記受領確認番号の前記傾向線の前記勾配に基づいて、前記スループットを生成することとを含み、前記スループットは、前記ミドルボックスを介して、パケットを前記ソースエンドポイントから前記宛先エンドポイントに転送する速度に対応する、請求項10~14のいずれか1項に記載のシステム。 - 前記動作は、所定の時点において、
前記TCP接続を介して前記ソースエンドポイントから通信された第1のパケットを受信することを含み、前記第1のパケットは、第1のシーケンス番号と第1の受領確認番号とを含み、
前記TCP接続を介して前記宛先エンドポイントから通信された第2のパケットを受信することを含み、前記第2のパケットは、第2のシーケンス番号と第2の受領確認番号とを含み、
前記第1のパケットに関連付けられた前記第1のシーケンス番号と前記第2のパケットに関連付けられた前記第2の受領確認番号との間の差を決定することによって、前記ソースエンドポイントの前記TCP接続の前記推定性能特性のウィンドウサイズを推定することをさらに含む、請求項10~16のいずれか1項に記載のシステム。 - 前記第2のパケットに関連付けられた前記第2のシーケンス番号と前記第1のパケットに関連付けられた前記第1の受領確認番号との間の差を決定することによって、前記宛先エンドポイントの前記TCP接続の前記推定性能特性の前記ウィンドウサイズを推定する、請求項17に記載のシステム。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/416,626 US10887432B2 (en) | 2019-05-20 | 2019-05-20 | Trip time estimation for transport control protocol |
| US16/416,626 | 2019-05-20 | ||
| PCT/US2019/062683 WO2020236217A1 (en) | 2019-05-20 | 2019-11-21 | Trip time estimation for transport control protocol |
| JP2021569197A JP7326478B2 (ja) | 2019-05-20 | 2019-11-21 | トランスポート制御プロトコルのトリップタイムの推定 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021569197A Division JP7326478B2 (ja) | 2019-05-20 | 2019-11-21 | トランスポート制御プロトコルのトリップタイムの推定 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023159146A JP2023159146A (ja) | 2023-10-31 |
| JP7657264B2 true JP7657264B2 (ja) | 2025-04-04 |
Family
ID=68919769
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021569197A Active JP7326478B2 (ja) | 2019-05-20 | 2019-11-21 | トランスポート制御プロトコルのトリップタイムの推定 |
| JP2023126290A Active JP7657264B2 (ja) | 2019-05-20 | 2023-08-02 | トランスポート制御プロトコルのトリップタイムの推定 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021569197A Active JP7326478B2 (ja) | 2019-05-20 | 2019-11-21 | トランスポート制御プロトコルのトリップタイムの推定 |
Country Status (6)
| Country | Link |
|---|---|
| US (3) | US10887432B2 (ja) |
| EP (1) | EP3973670B1 (ja) |
| JP (2) | JP7326478B2 (ja) |
| KR (2) | KR102489541B1 (ja) |
| CN (1) | CN114145008B (ja) |
| WO (1) | WO2020236217A1 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10887432B2 (en) * | 2019-05-20 | 2021-01-05 | Google Llc | Trip time estimation for transport control protocol |
| US12238204B1 (en) * | 2020-12-29 | 2025-02-25 | Cyber Ip Holdings, Llc | Systems and methods for implementing transparent end-to-end network public-key encryption |
| TWI850938B (zh) | 2022-12-30 | 2024-08-01 | 仁寶電腦工業股份有限公司 | 基站負載平衡系統及方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011172270A (ja) | 2004-10-21 | 2011-09-01 | Nec Corp | 通信品質計測装置及びその計測方法 |
| JP2017103653A (ja) | 2015-12-02 | 2017-06-08 | 日本電信電話株式会社 | 通信品質劣化検出システム、通信品質劣化検出方法、及びプログラム |
| JP2017184044A (ja) | 2016-03-30 | 2017-10-05 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
| JP2018529296A (ja) | 2015-09-23 | 2018-10-04 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 高いアップリンク干渉状態における呼連続性 |
Family Cites Families (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7304951B2 (en) * | 2000-11-21 | 2007-12-04 | North Carolina State University | Methods and systems for rate-based flow control between a sender and a receiver |
| US7979694B2 (en) * | 2003-03-03 | 2011-07-12 | Cisco Technology, Inc. | Using TCP to authenticate IP source addresses |
| WO2004088858A2 (en) * | 2003-03-29 | 2004-10-14 | Regents Of University Of California | Method and apparatus for improved data transmission |
| US7636321B1 (en) * | 2003-05-12 | 2009-12-22 | Sprint Communications Company L.P. | Method and system for measuring round-trip time of packets in a communications network |
| US8004981B2 (en) * | 2003-06-17 | 2011-08-23 | Cisco Technology, Inc. | Methods and devices for the coordination of flow control between a TCP/IP network and other networks |
| SE528374C2 (sv) * | 2004-09-22 | 2006-10-31 | Prosilient Technologies Ab | Metod, en dataprogramprodukt samt en bärare för att ange envägslatens i ett datanätverk |
| KR101210341B1 (ko) * | 2006-02-11 | 2012-12-10 | 삼성전자주식회사 | 패킷 네트워크에서 노드간 전파 지연 및 거리를 정확하고안전하게 측정하는 방법 및 상기 방법을 수행하는 패킷네트워크 노드 |
| US20110044338A1 (en) * | 2006-12-20 | 2011-02-24 | Thomas Anthony Stahl | Throughput in a lan by managing tcp acks |
| US7779133B2 (en) * | 2007-01-04 | 2010-08-17 | Yahoo! Inc. | Estimation of web client response time |
| US7957295B2 (en) * | 2007-11-02 | 2011-06-07 | Cisco Technology, Inc. | Ethernet performance monitoring |
| US7991881B2 (en) * | 2008-02-29 | 2011-08-02 | Microsoft Corporation | Monitoring network performance to identify sources of network performance degradation |
| US9380091B2 (en) * | 2012-06-12 | 2016-06-28 | Wi-Lan Labs, Inc. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network |
| EP2323392B1 (en) * | 2009-11-03 | 2012-01-04 | Tektronix International Sales GmbH | Method and apparatus for measuring delay within a compressed digital stream |
| JP4927181B2 (ja) * | 2010-01-06 | 2012-05-09 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | ユーザ待ち時間推定装置、ユーザ待ち時間推定方法、及びプログラム |
| JP5180247B2 (ja) | 2010-02-24 | 2013-04-10 | 日本電信電話株式会社 | パケットサンプリング装置と方法およびプログラム |
| KR20120025378A (ko) * | 2010-09-07 | 2012-03-15 | 한국전자통신연구원 | 무선 랜 기반 왕복 시간 측정 시스템 및 방법 |
| WO2013052651A2 (en) * | 2011-10-04 | 2013-04-11 | North Carolina State University | Receiver-based methods, systems, and computer readable media for controlling tcp sender behavior in cellular communications networks with large buffer sizes |
| CN102711172A (zh) * | 2012-05-25 | 2012-10-03 | 浙江工业大学 | 一种无线网络中改进的tcpw拥塞控制方法 |
| US20140281018A1 (en) * | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Dynamic Optimization of TCP Connections |
| KR102049594B1 (ko) * | 2013-10-04 | 2019-11-27 | 에스케이 텔레콤주식회사 | 패킷 왕복 시간을 이용한 테더링 서비스 제어장치 및 방법 |
| US20150359016A1 (en) * | 2014-06-09 | 2015-12-10 | Qualcomm Incorporated | Apparatus and method to estimate round trip time via transport control protocol signals |
| WO2016077396A1 (en) * | 2014-11-10 | 2016-05-19 | APS Technology 1 LLC | Improving network throughput |
| KR102029849B1 (ko) | 2015-01-27 | 2019-10-08 | 노키아 솔루션스 앤드 네트웍스 오와이 | 트래픽 흐름 모니터링 |
| US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
| US10554571B2 (en) * | 2015-08-18 | 2020-02-04 | Avago Technologies International Sales Pte. Limited | Packet-to-packet timing reconstruction for channel bonding |
| KR102496060B1 (ko) * | 2015-09-14 | 2023-02-07 | 삼성전자 주식회사 | 전자 장치 및 그의 전송 제어 프로토콜(transmission control protocol: TCP) 제어 방법 |
| EP3479527B1 (en) * | 2016-07-01 | 2022-09-07 | Telefonaktiebolaget LM Ericsson (PUBL) | Round trip time skew control methods and arrangements |
| US10645176B2 (en) * | 2016-12-29 | 2020-05-05 | Cyphort Inc. | System and method to process packets in a transmission control protocol session |
| US10218596B2 (en) * | 2017-02-10 | 2019-02-26 | Cisco Technology, Inc. | Passive monitoring and measurement of network round trip time delay |
| US11290686B2 (en) * | 2017-09-11 | 2022-03-29 | Michael H Peters | Architecture for scalable video conference management |
| US10887432B2 (en) * | 2019-05-20 | 2021-01-05 | Google Llc | Trip time estimation for transport control protocol |
| US12040988B2 (en) * | 2021-05-25 | 2024-07-16 | Google Llc | Acknowledgement coalescing module utilized in content addressable memory (CAM) based hardware architecture for data center networking |
-
2019
- 2019-05-20 US US16/416,626 patent/US10887432B2/en active Active
- 2019-11-21 EP EP19821460.3A patent/EP3973670B1/en active Active
- 2019-11-21 WO PCT/US2019/062683 patent/WO2020236217A1/en not_active Ceased
- 2019-11-21 JP JP2021569197A patent/JP7326478B2/ja active Active
- 2019-11-21 KR KR1020217041183A patent/KR102489541B1/ko active Active
- 2019-11-21 KR KR1020237001426A patent/KR102663105B1/ko active Active
- 2019-11-21 CN CN201980098629.5A patent/CN114145008B/zh active Active
-
2020
- 2020-12-18 US US17/126,176 patent/US11297169B2/en active Active
-
2022
- 2022-03-02 US US17/653,243 patent/US11849012B2/en active Active
-
2023
- 2023-08-02 JP JP2023126290A patent/JP7657264B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011172270A (ja) | 2004-10-21 | 2011-09-01 | Nec Corp | 通信品質計測装置及びその計測方法 |
| JP2018529296A (ja) | 2015-09-23 | 2018-10-04 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 高いアップリンク干渉状態における呼連続性 |
| JP2017103653A (ja) | 2015-12-02 | 2017-06-08 | 日本電信電話株式会社 | 通信品質劣化検出システム、通信品質劣化検出方法、及びプログラム |
| JP2017184044A (ja) | 2016-03-30 | 2017-10-05 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022533737A (ja) | 2022-07-25 |
| US10887432B2 (en) | 2021-01-05 |
| CN114145008A (zh) | 2022-03-04 |
| EP3973670B1 (en) | 2026-03-25 |
| EP3973670A1 (en) | 2022-03-30 |
| KR102663105B1 (ko) | 2024-05-07 |
| US20220191307A1 (en) | 2022-06-16 |
| JP7326478B2 (ja) | 2023-08-15 |
| US11297169B2 (en) | 2022-04-05 |
| WO2020236217A1 (en) | 2020-11-26 |
| KR20230014860A (ko) | 2023-01-30 |
| KR102489541B1 (ko) | 2023-01-17 |
| CN114145008B (zh) | 2025-02-25 |
| JP2023159146A (ja) | 2023-10-31 |
| US20210105344A1 (en) | 2021-04-08 |
| US11849012B2 (en) | 2023-12-19 |
| KR20220002678A (ko) | 2022-01-06 |
| US20200374374A1 (en) | 2020-11-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7657264B2 (ja) | トランスポート制御プロトコルのトリップタイムの推定 | |
| US12040968B2 (en) | Flow modification including shared context | |
| US10200264B2 (en) | Link status monitoring based on packet loss detection | |
| US20230327984A1 (en) | Reverse forwarding information base enforcement | |
| US10257061B2 (en) | Detecting source network address translation in a communication system | |
| EP3758313B1 (en) | Congestion control for low latency datacenter networks | |
| CN114726748A (zh) | 增强型双向主动测量协议 | |
| US20170339219A1 (en) | Transparent wide-area service migration with mptcp | |
| CN118827559A (zh) | 虚拟网络功能的透明迁移 | |
| US12500844B2 (en) | Method and apparatus for flow identifier of unidirectional packet sequence flow in tunnel-less SDWAN | |
| US20190238503A1 (en) | Method for nat traversal in vpn | |
| US12580837B2 (en) | End-to-end network path visibility across cloud application environments | |
| Sharma et al. | QUIC protocol based monitoring probes for network devices monitor and alerts | |
| Vengatesh et al. | NETWORK EXECUTION ASSESSMENT OF IPV4 & IPV6 ARRANGED PASSAGE AND V6 TO V4 CHANGE INSTRUMENTS ON WINDOWS SERVER WORKING FRAMEWORKS |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230824 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230824 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240726 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240820 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241119 |
|
| 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: 20250225 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250325 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7657264 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |