Asumsikan komputer memiliki jam yang tepat yang tidak diinisialisasi. Artinya, waktu pada jam komputer adalah waktu nyata ditambah beberapa offset konstan. Komputer memiliki koneksi jaringan dan kami ingin menggunakan koneksi itu untuk menentukan offset konstan .
Metode sederhana adalah bahwa komputer mengirimkan kueri ke server waktu, mencatat waktu lokal . Server waktu menerima permintaan pada waktu dan mengirimkan balasan yang berisi kembali ke klien, yang menerimanya pada waktu . Kemudian , yaitu .
Jika waktu transmisi jaringan dan waktu pemrosesan server simetris, maka . Sejauh yang saya tahu, NTP , protokol sinkronisasi waktu yang digunakan di alam liar, beroperasi pada asumsi ini.
Bagaimana presisi dapat ditingkatkan jika penundaan tidak simetris? Apakah ada cara untuk mengukur asimetri ini dalam infrastruktur Internet yang khas?
sumber
Jawaban:
Ketidakmampuan untuk mengukur asimetri
Tidak, Anda tidak dapat mengukur asimetri. Pertimbangkan dua diagram komunikasi ini, yang pertama dengan offset jam negatif dan penundaan yang sama dan yang kedua tanpa offset jam serta penundaan yang sepenuhnya asimetris (tetapi waktu perjalanan pulang pergi yang sama).
Yang penting untuk diperhatikan adalah bahwa, dari perspektif PC dan server, kedua interaksi itu persis sama. Mereka menerima pesan pada saat bersamaan. Mereka mengirim pesan pada saat bersamaan.
Anda dapat membuat lebih banyak case dengan 'meraih' timeline PC dan 'menggesernya', menahan pesan mengirim / menerima poin relatif terhadap tenggat waktu masing-masing. Asimetri yang Anda sebabkan benar-benar dinegasikan oleh clock offset. Bahkan, Anda bahkan dapat membuat pesan pergi KEMBALI DALAM WAKTU satu arah (selama waktu pulang-pergi masih sama) dan server / klien MASIH tidak tahu!
Oleh karena itu tidak mungkin untuk mengukur asimetri latensi. Dalam kasus terburuk, di mana Anda tidak memiliki informasi selain itu latensi satu arah positif dan dijumlahkan dengan waktu pulang pergi, keakuratan sinkronisasi jam terbatas pada waktu perjalanan pulang pergi.
Dapatkah infrastruktur perantara membantu?
Apakah infrastruktur perantara dapat membantu atau tidak, akan sangat bergantung pada model teoretis situasi Anda.
Jika asimetri konstan dan infrastruktur perantara adalah router di jalur komunikasi antara Anda dan server, maka tidak ada. Bahkan jika setiap router menyinkronkan jam mereka dengan router yang berdekatan, kesalahan akan bertambah dengan cara yang sama seolah-olah Anda telah disinkronkan dengan server melalui komunikasi di seluruh router.
Di dunia nyata Anda dapat mengandalkan penundaan yang agak simetris karena alasan arsitektur, sinkronisasi berulang untuk mengurangi asimetri karena penundaan antrian (dll), dan beberapa jalur komunikasi untuk mengurangi jenis asimetri lainnya.
Jika Anda menempatkan asumsi model di suatu tempat di antara (karena itu menarik untuk menjelajahi ruang model, tentu saja) Saya berharap hasilnya juga berada di antara keduanya.
sumber
Pertimbangkan jaringan server waktu dikenal sinkron, , dan mesin klien .Pθ={A,B,C} P
Biarkan menjadi waktu satu arah penerbangan dari mesin ke mesin , dengan kemungkinan bahwa . X Y T X Y ≠ T Y XTXY X Y TXY≠TYX
Biarkanmenjadi ukuran asimetri antara mesin dan .X YΔXY=|TXY−TYX| X Y
Sekarang, pertimbangkan bahwa asimetri antara dua mesin sinkron dapat diukur dengan meminta mesin sinkron setuju untuk mengirim pesan satu arah satu sama lain pada saat yang sama. Perbedaan waktu kedatangan adalah antara mesin-mesin itu, yaitu:Δ
bisa diukur.
Sekarang perhatikan waktu penerbangan sirkuit:
C A BP→A→B→P , dilambangkan dengan ,CAB
Pertimbangkan mesin klien untuk memulai kedua sirkuit ini secara bersamaan, dan mengukur perbedaan waktu kedatangan, :P x
Baik dan diketahui oleh pengukuran yang disebutkan sebelumnya, jadi pindahkan yang tidak diketahui ke sisi kiri:x ΔAB
Demikian pula, untuk dan dapat ditunjukkan bahwa:{CAC,CCA} {CBC,CCB}
Memeriksa dengan cermat, kami perhatikan bahwa . Sisi kiri berisi nilai yang diketahui dari pengukuran, sisi kanan berisi 3 tidak diketahui dalam 3 persamaan.ΔXY≡ΔYX
Memecahkan secara bersamaan,
dimana,
sumber
Jika Anda hanya mengontrol titik akhir. Kamu tidak bisa Lihat jawaban Craig.
Bahkan jika Anda menambahkan lebih banyak mesin dan satu set komputer yang lebih kompleks, seperti dalam jawaban Bingo, Anda dapat mengurangi menjadi mesin yang membuat yang disinkronkan memiliki akses instan ke yang lain (tunda = 0).TXY
Perhatikan bahwa jika Anda melakukan , Anda mendapatkan .TAB=TBC=TCA=0 ΔAP=ΔBP=ΔCP=0
Jadi apa yang salah?x=CAB−CBA=ΔPA+ΔAB+ΔBP
Dan jika Anda menggunakan yang kedua, maka Anda tidak dapat menggunakan asumsi (dan jika Anda tidak menggunakan ini, persamaan akhir Anda saling membatalkan).ΔXY≡ΔYX
Jadi, apa yang bisa kamu lakukan? Kirim jam yang sangat bagus melalui surat. ;)
Atau, jika Anda memiliki kontrol atas semua node di antara mereka, Anda dapat memeriksa waktu untuk memproses setiap paket dan menghitung penundaan antara setiap pasangan berturut-turut, yang harus simetris, jika mereka menggunakan media fisik yang sama dua arah.
Anda mungkin perlu menjelaskan relativitas umum, dan ingat bahwa simultanitas tidak ada.
sumber
NTP sebenarnya menggunakan 4 pengukuran waktu untuk menghitung "offset". mereka adalah "titik waktu" dalam perjalanan pulang pergi paket dari klien ke server kembali ke klien tetapi dapat dianggap sebagai penyeimbang waktu. diasumsikan bahwa offset waktu dapat dimatikan antara klien dan server tetapi keduanya dapat menghitung offset waktu yang berlalu secara akurat.t0,t1,t2,t3
klien setelah menerima paket kembali memiliki semua 4 nilai dan menghitung offset yang sebenarnya. begitu offset relatif dihitung antara klien dan server, offset "waktu absolut" dapat disinkronkan, yaitu klien dapat memperkirakan secara akurat server yang diukur dengan offset yang diukur dengan waktu lokalnya, yaitu "delta".
rumus sebenarnya adalahθ=(t1−t0)+(t2−t3)2
perhatikan rumus ini dapat menangani kasus di mana waktu dari klien ke server tidak sama dengan dari server ke klien (baik lebih pendek atau lebih lama).t1−t0 t3−t2
pada jaringan, waktu tunda disebabkan oleh dua faktor utama, terutama latensi dan bandwidth.
dalam banyak koneksi internet rumah / bisnis modern, kecepatan unggah jauh lebih kecil daripada kecepatan unduh & ini mungkin akan mempengaruhi perbedaan vs sedangkan latensi mungkin kecil atau agak mirip antara klien-ke-server dan server-ke- klien.t1−t0 t3−t2
algoritma dasar untuk meningkatkan akurasi penghitungan offset yang digunakan dalam NTP (dan dapat mengoreksi beberapa tingkat latensi jaringan acak) adalah mengulangi proses beberapa kali dan menggunakan "puncak wedge scattergram". ini dapat dilihat pada "algoritma jam filter" pada slide 10 PPT ini pada NTP oleh David Mills. lihat juga algoritma jam filter oleh Mills. (perhatikan bahwa masih dapat digunakan antara satu server dan klien meskipun kode umum ditulis untuk memungkinkan beberapa server.) ini adalah bagian dari "algoritma mitigasi" yang dijelaskan dalam arsitektur & algoritma NTP .
sumber
Kalau saja kita bisa mengirim paket kembali ke masa lalu
Asumsi:
sumber
Berikut adalah ide yang kedengarannya sangat meyakinkan bagi saya dan karena itu mungkin benar-benar salah dalam cara yang bodoh.
Pertimbangkan skenario berikut. Kami memiliki dua simpul dan masing-masing dengan jam dan . Demi kesederhanaan, mari kita asumsikan bahwa jam berjalan dengan kecepatan yang sama; kami menunjukkan perbedaannya dengan yang konstan untuk tujuan kami. Mari kita asumsikan pula bahwa keterlambatan pengiriman dan adalah konstan¹.N1 N2 C1 C2 δ=C1−C2 d1→2 d2→1
Suruh mengirim pesan dengan timestamp dengan ke dan biarkan waktu saat ini di setelah menerimanya (lakukan hal yang sama untuk arah lain). Selain itu, ukur waktu pulang pergi (pada salah satu simpul) dengan mengirim pesan bolak-balik. Sekarang siapkan sistem persamaan ini:N1 Tm1 N2 Tr2 C2 D
Karena sistem ini terdiri dari tiga persamaan, memiliki tiga yang tidak diketahui dan kita tahu ada solusinya, itu bisa diselesaikan. Tentu saja node harus bertukar pengukuran mereka sehingga keduanya dapat menghitung nilai yang sama untuk (jika perlu).δ
1] Saya pikir anggapan itu wajar dan perlu. Mereka dapat dibenarkan dengan harapan bahwa jumlah masing-masing tidak berubah terlalu banyak selama upaya sinkronisasi kami.
sumber