21Aug

NTP Sunucuları Öylesine Doğru Kalmayı Yönetirler?

Çoğumuz zaman zaman bilgisayar ayarlarımızda ve zaman ayarlarını koruyan diğer cihazlarda ara sıra bir sorun yaşadık, ancak bir NTP sunucusuyla hızlı bir senkronizasyon yapmak da iyi yaptı.Ancak kendi cihazlarımız doğruluğu kaybederse, NTP sunucuları bu kadar doğru kalmayı nasıl başarıyor?

Bugünkü Soru &Yanıt oturumu bize Q & A web sitelerinin topluluk temelli bir gruplandırması olan Stack Exchange'in bir alt bölümü olan SuperUser nezaketen geliyor.

Fotoğraf LEOL30( Flickr) izniyle.

Soru

SüperKullanıcı okuyucu Frank Thornton, NTP sunucularının bu kadar doğru kalabildiklerini bilmek istiyor:

Sunucularımızda ve diğer makinelerde saatlerin her zaman kaybolduğunu fark ettim, böylece senkronize edilmeleri doğru olmaya devam etsinler. NTP sunucu saatleri sürüklenmeden nasıl uzak durur ve her zaman bu kadar doğru kalır?

NTP sunucuları bu kadar doğru kalmayı nasıl başarıyor?

Cevap

SüperKullanıcı katkıda bulunan Michael Kjorling bize cevap buluyor:

NTP sunucuları hassas zaman ölçümü için oldukça hassas saatlere güveniyor. Merkezi NTP sunucuları için ortak bir zaman kaynağı, atom saatleri veya GPS alıcısıdır( GPS uydularının atomik saatler bulunduğunu unutmayın).Bu saatler, kesin bir zaman referansı sağladıkları için doğru olarak tanımlanır.

GPS veya atom saatleri hakkında tam olarak ne zaman olduğunu söyleyen sihirli bir şey yok. , atomik saatlerin nasıl işlediğinden dolayı, bir zamanlar söylenerek, 'yi doğru saatte tutan( ikinci atom hızı atomik etkiler açısından tanımlandığından) çok iyi seviyededir. Aslında, GPS zamanının UTC'den farklı olduğumuzu ve daha çok görmeye alıştığımızı belirtmek gerekir. Bu atom saatleri zamanın geçişini doğru bir şekilde anlatmak için Uluslararası Atomik Zaman'a veya TAI'ye göre senkronize edilir, aynı zamanda zamanını da senkronize eder.

İnternet gibi bir ağa bağlı bir sistem üzerinde kesin bir zaman geçirdikten sonra, güvenilmez bir ağ üzerinden ana bilgisayarlar arasındaki kesin zamanların aktarılmasını sağlayan bir protokol mühendisliği meselesidir. Bu bağlamda, Stratum 2( veya gerçek zaman kaynağından daha uzak olan) NTP sunucusu, bir dizi NTP sunucusuyla senkronizasyon yapan masaüstü sisteminizden farklı değildir.

Birkaç doğru zamanı( NTP sunucularından veya başka yerlerden elde ettiğiniz) ve yerel saatinizin ilerleme oranını( belirlenmesi kolaydır) anladığınızda, yerel saatinizin kayma oranını "inanılmış" durumuna göre hesaplayabilirsinizdoğru "zaman geçişi. Kilitlendiğinde, bu değer daha sonra, yerel gerçek zaman saatinin kendisinin oldukça yanlış olmasına rağmen, zamanın doğru geçişine çok yakın değerleri bildirmek için yerel saati sürekli olarak ayarlamak için kullanılabilir. Yerel saatiniz çok düzensiz olmadığı sürece, bu sizin akış yukarı saat kaynağınızın herhangi bir nedenle kullanılamamasına rağmen bir süre için doğru zaman tutmanıza izin vermelidir.

Bazı NTP istemci uygulamaları( muhtemelen çoğu ntpd daemon veya sistem hizmeti uygulamaları) bunu yapar ve diğerleri( ntpd'nin arkadaşı olan ntpdate gibi saati yalnızca bir kez ayarlar) bunu yapmaz. Bu genellikle bir sürüklenme dosyası olarak adlandırılır, çünkü saat kaymasının bir ölçüsü ısrarla saklar, ancak kesinlikle disk üzerinde belirli bir dosya olarak depolanması gerekmez.

NTP'de, Stratum 0 tanımı gereği doğru bir zaman kaynağıdır. Stratum 1, zaman kaynağı olarak Stratum 0 zaman kaynağını kullanan bir sistemdir( ve böylece Stratum 0 zaman kaynağından biraz daha az doğrudur).Stratum 2 yine Stratum 1'den biraz daha az doğrudur çünkü zamanını Stratum 1 kaynağına vs. senkronize ediyor. Uygulamada, bu doğruluk kaybı o kadar küçük ki durumların en uç noktasını dışındaki tüm kesimler için tamamen önemsizdir.

Açıklamaya eklemek için bir şey var mı?Yorumların sesini kapatın. Diğer teknik uzman Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Buradaki tam tartışma dizinine göz atın.