非対称遅延のあるネットワークでのクロック同期


38

コンピューターに初期化されていない正確なクロックがあると仮定します。つまり、コンピューターの時計の時刻は、リアルタイムに一定のオフセットを加えたものです。コンピューターにはネットワーク接続があり、その接続を使用して定数オフセットを決定します。B

簡単な方法は、コンピューターがタイムサーバーにクエリを送信し、現地時間です。タイムサーバは、一度にクエリを受信と含む応答送信時間でそれを受けて、クライアントに戻って。次に、、つまりです。 T T B + C 2 B + C 1T B + C 2 T - C 2B T - C 1B+C1TTB+C2B+C1TB+C2TC2BTC1

ネットワーク伝送時間とサーバー処理時間が対称である場合、。私の知る限り、NTPは、この仮定に基づいて動作します。B=TC1+C22

遅延が対称でない場合、精度をどのように改善できますか?典型的なインターネットインフラストラクチャでこの非対称性を測定する方法はありますか?


2
関連特許がありますが、誰がそれらを読みたいですか
ラファエル


最初の考え:2つのエンティティではおそらく不可能です。エンティティのペアを使用すると、より適切な同期が可能です。その後、クロックを使用して1トリップ時間を測定できます。 nn2n
rgrig

アプリケーション/コンテキストを明確にできますか、これは主に理論的な質問ですか?
vzn

回答:


10

非対称性を測定できない

いいえ、非対称性を測定することはできません。これらの2つの通信図を検討してください。1つ目は負のクロックオフセットと等しい遅延を備え、2つ目はクロックオフセットと完全に非対称な遅延を備えています(ただし、同じ往復時間)。

コミュニケーション図

注目すべき重要なことは、PCとサーバーの両方の観点から、2つの対話がまったく同じであることです。彼らは同時にメッセージを受信します。彼らは同時にメッセージを送信します。

PCのタイムラインを「つかんで」スライドさせ、それぞれのタイムラインに対してメッセージの送受信ポイントを固定することで、さらに多くのケースを作成できます。発生する非対称性は、クロックオフセットによって正確に否定されます。実際、メッセージを逆方向に一方向に戻すこともできます(往復時間が同じである限り)が、サーバー/クライアントはそれでも判断できません!

したがって、レイテンシの非対称性を測定することは不可能です。最悪の場合、一方向のレイテンシが正であり、往復時間の合計であるという情報しか持たない場合、クロック同期の精度は往復時間に制限されます。

中間インフラストラクチャは役立ちますか?

中間インフラストラクチャが役立つかどうかは、状況の理論モデルに大きく依存します。

非対称性が一定であり、中間インフラストラクチャがユーザーとサーバー間の通信パス上のルーターである場合、いいえ。各ルーターがクロックを隣接するルーターと同期した場合でも、エラーはルーター間の通信を介してサーバーと同期した場合と同じように悪化します。

現実の世界では、アーキテクチャ上の理由で多少対称な遅延、キューイング遅延などによる非対称性を減らすための同期の繰り返し、および他の種類の非対称性を減らすための複数の通信パスに依存できます。

モデルの仮定を中間に置くと(もちろん、モデル空間を探索するのは興味深いため)、結果も中間にあるはずです。


これはあなたの質問への答えであるべきです。ここでは、より具体的な設定についてお尋ねします。ここでは、基礎となるインフラストラクチャから支援を受けることができます。
ジル 'SO-悪であるのをやめる

さらにコンテンツを追加しました。
クレイグギドニー

これは間違っているように見えますが、PCの送信時間と受信時間は同じですが(2つのケースでは上のタイムラインイベントが一致します)、サーバーの時間は異なる(2つのケースでは下の行)ことに注意してくださいしたがって、NTPクライアントによって計算される式は、2つのケースで異なります。これは、それぞれの場合にのNTP値にラベルを付けることでよりよく理解できます(はサーバー時間に記録されれる値です)。私の答えのように、NTP時間プロトコルは実際にt 2t 3t 1 - t 0t 3 - t 2t1t2t3t4t2t3t1t0t3t2
vzn

@vzn tメッセージに関するサーバー時間は、両方の例で同じです。サーバーのタイムラインが左に移動すると、開始クロックのドリフトが異なります。初期のクロックドリフトとレイテンシの非対称性の影響は偶然同じであるため、両方を反対方向に調整すると、結果の動作が等しくなります。
クレイグギドニー

さらに調査すると、クライアント/サーバーは、クロックが少なくともラウンドトリップ時間外に同期していないことを知ることができます。polycosらREF Iにおける詳細は、彼らがどこの下に引用測定(以下、ラウンドトリップ時間よりもNTP servers-すなわち〜10msのにあると思われる)NTPの不確実性よりも大きい異なる「一方向の遅延を」
vzn

2

同期であることがわかっているタイムサーバーのネットワーク、、およびクライアントマシンについて考えます。Pθ={ABC}P

ましょう機械からフライトの片道時間である機に可能性と、その。 X Y T X YT Y XTバツYバツYTバツYTYバツ

してみましょうマシンと間の非対称性の尺度である。X YバツY=|TバツYTYバツ|バツY

ここで、同期マシンが互いに一方向メッセージを同時に送信することに同意させることにより、2台の同期マシン間の非対称性を測定できると考えてください。到着時間の違いは、これらのマシン間の。つまり:

AB=|TABTBA|

BC=|TBCTCB|

CA=|TCATAC|

測定できます。

次に、回路の飛行時間を検討します。

C A BPABP、で示されるCAB

C B APBAP(で示される。CBA

CAB=TPA+TAB+TBP

CBA=TPB+TBA+TAP

クライアントマシンがこれらの回路の両方を同時に開始し、到着時間の差を測定するとします。xPバツ

バツ=CABCBA=PA+AB+BP

両方の及び左側に未知数を移動させるように、前述した測定によって知られています。Δ A BバツAB

バツAB=PA+BP

同様に、および場合、次のことを示すことができます。{ C B CC C B }{CACCCA}{CBCCCB}

yBC=PB+CP

zCA=PC+AP

慎重に調べて、に注意してください。左側には測定値から既知の値が含まれ、右側には3つの方程式で3つの未知数が含まれます。バツYYバツ

同時に解き、

AP=r+st2

BP=rs+t2

CP=tr+s2

ここで、

r=バツAB

s=yBC

t=zCA


これにより、私の回答や他の人が抱えいる問題をどのように回避できますか?
ラファエル

さて、1人ではなく、3つのタイミングサービスを使用しています。また、12個のメッセージを送信する必要があります。6つはタイムサーバー間の非対称性を見つけ、6つはクライアントとサーバー間の非対称性を見つけます。刑務所は1つのサーバーではなく3つのサーバーの間にあるため、1次元のソリューション空間ではありません。そして、時間が逆行できるとは想定していません。
ビンゴ

3つの完全に同期されたタイムサーバーに大きく依存していますが、その同期は読者の演習として残されています。^^
ビンゴ

@Raphaelは、あなたのコメントを理解したと思います。タイムシフトはより制約されているため機能しません。例えば。タイムシフト WRTちょうど間の時間には影響しませんおよびもcircuts、の違いが測定され、計算に織り込まれています。たぶん私はまだ間違っていますか?わからない:PP A P P A C P P A B P P B A P P C A PAPAPPACPPABPPBAPPCAP
ビンゴ

0

エンドポイントのみを制御する場合。できません。クレイグの答えをご覧ください。

ビンゴの答えのように、より多くのマシンとより複雑なコンピューターセットを追加した場合でも、同期されたマシンが他のマシンに瞬時にアクセスできるようにするマシンに減らすことができます(遅延 = 0)。TXY

あなたがしなければということに注意してください、あなたが得るΔ A P = Δ B P = Δ C P = 0をTAB=TBC=TCA=0ΔAP=ΔBP=ΔCP=0

それで何が問題なのでしょうか? x=CABCBA=ΔPA+ΔAB+ΔBP

Δ P A = T P A - T A PΔPA=|TPATAP|、ではありませんΔPA=TPATAP

そして、2番目を使用する場合、仮定使用することはできません(これを使用しない場合、最終的な方程式は互いにキャンセルします)。ΔXYΔYバツ

だから、あなたは何ができますか?本当に良い時計を郵便で送ってください。;)

または、それらの間のすべてのノードを制御できる場合、各パケットを処理する時間をチェックし、同じ物理メディアを両方向で使用する場合、対称である各連続ペア間の遅延を計算できます。

一般相対性理論を考慮する必要があり、同時性が存在しないことを覚えておいてください。


「一般相対性理論を説明する必要があるかもしれません」いいえ、私はしません。関係するすべてのクロックが固定フレーム内にある場合にのみ機能するソリューションで完全に問題ありません。分散システムには相対性理論がありますが、物理学からではなく、ネットワーク遅延から生じます。その数学は完全に異なっています。
ジル 'SO-悪であるのをやめる'

-1

t0t1t2t3

戻りパケットを受信した後のクライアントは、4つの値すべてを持ち、実際のオフセットを計算します。クライアントとサーバー間で相対オフセットが計算されると、「絶対時間」オフセットを同期できます。つまり、クライアントはローカル時間オフセット、つまり「デルタ」に対して測定されたサーバーの正確なオフセットを正確に推定できます。

t0
t1
t2
t3

θ=t1t0+t2t32

t1t0t3t2

ネットワークでは、遅延時間は主に遅延と帯域幅の2つの主な要因によるものです。

  • レイテンシは、新しい[小さな]パケットを送信する際のルーターの短い遅延であり、各ルーターでほぼ異なる定数です。tracerouteユーティリティで測定できます。
  • 帯域幅は、たとえば「アップロード時間とダウンロード時間」などの大量のデータを送信できる速度であり、リモートの「帯域幅測定」Webサイトでも測定できます。

t1t0t3t2

NTPで使用される(およびある程度のランダムネットワーク遅延を修正できる)オフセットの計算精度を向上させる基本アルゴリズムは、プロセスを複数回繰り返し、「ウェッジスキャッタグラムの頂点」を使用することです。これは、David MillsによるNTPのこのPPTのスライド10の「クロックフィルターアルゴリズム」で見ることができます。Millsのクロックフィルターアルゴリズムも参照してください。(一般的なコードは複数のサーバーを許可するように記述されていますが、単一のサーバーとクライアント間で引き続き使用できます。)これは、NTPアーキテクチャとアルゴリズムで説明されている「緩和アルゴリズム」の一部です


1
問題は、レイテンシが対称ではない場合についてです。複数の測定を行っても、非対称性の一定のコンポーネントについては何もわかりません。
ジル「SO-悪であるのをやめる」

質問には実際には「レイテンシー」という言葉は含まれていません。本当のNTP公式を表す言葉の代わりに数学形式で実際に考えているケースをスケッチしたい場合、それは確かに役立ちます。実際、式とアルゴリズムは、「レイテンシ」と「非対称」のさまざまなケースを測定/処理/カバーできます。
vzn

C1C2

C1C2

t1t2

-3

パケットを時間内に送り返すことができれば

ここに画像の説明を入力してください

B=Tf+TbTf2C1+C22

仮定:

B+C2Tb=TfB+C1

TfB+C2=B+C1Tb


1
この巧妙なソリューションは、「典型的なインターネットインフラストラクチャ」を前提としています。
ジル 'SO-悪であるのをやめる

1
@Gilles私は知っています。:D
プラティックデオガレ

-4

ここに私に絶対に納得させるように聞こえるアイデアがあり、それゆえに愚かな方法で絶対に間違っているかもしれません。

N1N2C1C2δ=C1C2d12d21

N1T1mN2T2rC2D

T2rT1m=d12+δT1rT2m=d21δD=d12+d21

δ

1]仮定は自然で必要だと思います。これらは、それぞれの量は変更しないことを期待して正当化することができますあまりにも私たちの同期試行の期間中ずっと。


d12+δ+d21δd12+d21=0

@Gilles残念。おそらく、すべての人が見ることができるように、1つの虚偽のインスタンスを残すべきでしょうか?
ラファエル

1
書いた間違った答えを復元できます。これは、Gillesが行ったコメントのために役立つ場合があります。
ランG.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.