Bilgi
NTP, NTS ve GPS: sık sorulan sorular
NTP ve NTS hakkında en çok sorulan on bir soru, zamanı uydulardan nasıl aldığımıza dair on bir soru daha, ve sunucuyu kullanırken uyman beklenen kurallar.
NTP ve NTS
on bir soruKaç NTP sunucusu tanımlamalıyım?
En az üç, ideali dört. Sebebi matematiksel: tek kaynak varsa yanlış zamanı fark edemezsin. İki kaynak anlaşmazsa hangisinin doğru olduğunu bilemezsin. Üç kaynakta biri bozulursa kalan ikisi mutabakat sağlar ve bozuk olan elenir.
Bu sunucuyu tek kaynak olarak değil, kaynaklarından biri olarak tanımla.
NTP ile SNTP arasındaki fark nedir?
Paket biçimi aynıdır; fark istemcinin ne yaptığındadır. SNTP tek ölçüm alır ve saati ona göre ayarlar. Gerçek NTP istemcisi (chrony, ntpd) birden çok kaynağı sürekli ölçer, ölçümleri filtreler, kaynaklar arasında mutabakat arar ve saatin frekans hatasını öğrenip düzeltir.
Sunucu tarafında ikisi aynı görünür. Sunucularında SNTP değil, tam NTP istemcisi kullan.
Artık saniyeyi nasıl işliyorsunuz?
Yaymıyoruz — smear uygulamıyoruz. İstemcilere standart leap uyarısı iletilir.
Bu yüzden üst kaynaklarımız arasında smear uygulayan sunucular
(time.google.com, time.cloudflare.com) bilinçli olarak yer
almaz.
Sen de istemcinde smear uygulayan ve uygulamayan kaynakları karıştırma; artık saniye günü bu iki grup birbirine göre kayar ve istemcin kaynakları karşılıklı olarak "yanlış zaman veren" ilan edip senkronizasyonu tamamen durdurabilir.
Bu sayfadaki sapma ölçümü ne kadar güvenilir?
Kabaca fikir verir, kesin değildir. Ölçüm HTTP üzerinden yapılır: altı istek atılır ve gidiş-dönüşü en kısa olan seçilir — bu, NTP'nin kendi filtreleme mantığının basit bir karşılığıdır ve ortalama almaktan belirgin biçimde daha doğrudur. Sunucu zamanı milisaniye çözünürlüğünde okunur.
Yine de TCP/TLS gecikmesi, tarayıcı zamanlayıcısı ve asimetrik yol nedeniyle birkaç
milisaniyelik belirsizlik kalır. Gerçek doğruluk için NTP istemcisiyle ölç:
chronyd -Q 'server ntp.alastyr.com iburst'
Sayfayı açık bırakırsam gösterilen saat kayar mı?
Kayması engellenir. Gösterilen saat, cihazının saatine ölçülen sapma eklenerek hesaplanır ve sapma dakikada bir yeniden ölçülür. Sayfa uzun süre açık kalsa da sunucuya göre hizada kalır.
Ancak bu yalnızca bir gösterimdir — sayfanın açık olması cihazının sistem saatini düzeltmez. Onun için NTP istemcini yapılandırman gerekir.
NTS destekliyor musunuz?
Evet. TCP 4460 üzerinden NTS-KE açıktır ve sertifika herkesçe doğrulanabilir bir TLS sertifikasıdır. Kullanımı için NTS bölümüne bak.
Ayrıca yedek ağ kaynaklarımızın çoğuna da NTS ile bağlanıyoruz — yani uydu kesildiğinde devreye giren zincir de kimlik doğrulamalı.
Stratum 1 olmak ne sağlıyor?
Stratum 1 olmak için GPS/GNSS alıcısının ve saniye darbesi (PPS) donanımının sunucuya fiziksel olarak bağlı olması gerekir. Bizde bu donanım var: çift bantlı anten, Quectel LC29H alıcı ve darbeyi kendi donanım saatiyle damgalayan Intel i210 ağ kartı. Zaman ağdan gelmediği için ağ gecikmesinin asimetrisinden etkilenmez.
Yine de stratum bir kalite notu değil, kaynağa uzaklık ölçüsüdür: iyi bağlanmış bir
stratum 2, aşırı yüklü ya da uzak bir stratum 1'den daha doğru zaman verebilir. Gerçek
kalite root delay, root dispersion ve jitter ile ölçülür —
üçü de canlı durum bölümünde yayınlanıyor. Uydu kilidi koparsa
sunucu kendiliğinden yedek kaynaklara döner ve stratum 2 olarak çalışmaya devam eder.
Türkiye'de yaz saati uygulaması var mı?
Hayır. Türkiye 2016'dan beri yıl boyunca UTC+03:00 kullanır, saat ileri/geri
alınmaz. Sisteminde saat dilimi Europe/Istanbul olarak ayarlıysa ve
tzdata paketin güncelse doğru davranır.
Eski tzdata sürümleri hâlâ yaz saati uygulamaya çalışabilir; yılda iki kez
bir saatlik kayma yaşıyorsan ilk bakacağın yer budur.
IPv6 destekliyor musunuz?
Evet — 2a06:ad40:0:1::90. Hem NTP (123/udp) hem NTS-KE (4460/tcp)
IPv6 üzerinden çalışır; ileri ve geri (PTR) DNS kayıtları tutarlıdır.
Ana bilgisayar adını kullanırsan istemcin uygun olanı kendisi seçer.
Doğrudan mı bağlanmalıyım, yoksa havuz üzerinden mi?
İkisi de doğru, en iyisi ikisini karıştırmak. Bu sunucu
pool.ntp.org projesine kayıtlıdır, dolayısıyla
tr.pool.ntp.org yazdığınızda zaten buraya düşebilirsiniz —
ama havuz her sorguda farklı sunucular döndürür, hangisine bağlandığınızı
önceden bilemezsiniz.
Doğrudan ntp.alastyr.com yazmanın iki avantajı var:
adres sabittir ve NTS ile kimlik doğrulamalı bağlanabilirsiniz;
havuz adresleri NTS desteklemez. Önerimiz: bir kaynak olarak bizi
doğrudan tanımlayın, yanına çeşitlilik için birkaç havuz adresi ekleyin.
Üretim ortamında kullanabilir miyim?
Evet, bunun için tasarlandı. Ancak servis olduğu gibi sunulur, hukuki bir garanti verilmez. Kritik sistemlerde her zaman birden fazla bağımsız kaynak tanımla — yalnızca bu sunucuya değil, herhangi bir tek sunucuya bağımlı kalma.
Yasal olarak izlenebilir zaman damgası gerekiyorsa doğrudan TÜBİTAK UME'nin ilgili hizmetlerine başvurmalısın.
Uydular, GPS ve saat
on bir soru · rakamlar bu sunucudanBu sunucu zamanı uydulardan nasıl alıyor?
Binanın ön cephesindeki çift bantlı (L1 + L5) anten GPS, GLONASS, Galileo ve BeiDou sinyallerini alır; 20 metrelik düşük kayıplı kabloyla sunucudaki Quectel LC29H alıcısına ulaşır. Alıcı iki ayrı şey üretir:
- NMEA mesajı: "şu an hangi saniyedeyiz" bilgisini taşıyan metin. Seri hattan yaklaşık 173 ms gecikmeyle ve değişken sürede gelir; tek başına hassas değildir.
- PPS (saniye darbesi): her UTC saniyesinin tam başında yükselen elektriksel darbe. Kenarı nanosaniye düzeyinde keskindir.
Darbe, Intel i210 ağ kartının bir pinine bağlıdır ve kart onu kendi donanım saatiyle damgalar. chrony saniyenin numarasını NMEA'dan, tam anını darbeden alır ve sistem saatini buna kilitler. Size giden NTP yanıtları da aynı kartta, donanımda damgalanır.
GPS saati ile UTC aynı şey mi?
Hayır. GPS zamanı artık saniye almaz: 6 Ocak 1980'de UTC ile hizalı başladı ve bugün UTC'nin 18 saniye önündedir. Galileo'nun sistem zamanı GPS ile aynı düzendedir. BeiDou'nun zamanı 2006'da başladığı için UTC'nin 4 saniye önündedir. GLONASS ise doğrudan UTC'yi (Moskova saati olarak) izler ve artık saniyeleri uygular.
Uydular UTC ile aradaki farkı navigasyon mesajında yayınlar; alıcı bu düzeltmeyi uygular ve
darbeyi UTC saniyesine hizalar. Yani bu sunucu UTC dağıtır, GPS zamanı değil. Gelecek artık
saniyeler de aylar önceden bu mesajlarla duyurulur; chrony ayrıca işletim sistemindeki
leap-seconds.list dosyasını okur.
Uydulardaki saatler ne kadar doğru?
Her uyduda rubidyum, sezyum ya da hidrojen maseri atom saatleri bulunur. Yer istasyonları bu saatleri sürekli ölçer; uydu saati her an düzeltilmez, onun yerine sapması hesaplanıp mesajla yayınlanır ve alıcı bu düzeltmeyi uygular.
Sistemlerin yayınladığı UTC, uluslararası UTC'ye tipik olarak birkaç nanosaniye içinde bağlıdır. GPS şartnamesinin üst sınırı 40 nanosaniyedir. Bu farklar Uluslararası Ağırlıklar ve Ölçüler Bürosu (BIPM) tarafından her ay yayımlanır.
Neden dört ayrı uydu sistemini birden kullanıyorsunuz?
Daha çok uydu, daha iyi geometri ve daha fazla dayanıklılık demektir. Tipik olarak 25–30 uydu aynı anda saat hesabına girer; canlı sayı ana sayfadadır. Bir sistemde yayın hatası ya da bakım olursa diğerleri çözümü taşımaya devam eder.
Bir yönün görüşü geçici olarak kapansa bile fazla uydu bunu telafi eder. İkinci bant (L5) daha güçlü ve yansımalara karşı daha dayanıklı bir sinyal sunar.
Gece, bulutlu ya da yağmurlu havada uydu bağlantısı kopar mı?
Hayır. Uydu sinyalleri 1,2–1,6 GHz aralığındadır; bulut, sis, gece ya da gündüz pratikte etkilemez. Uydular gece de aynı yörüngededir. Şiddetli yağmurun yarattığı zayıflama desibelin küçük bir kesridir ve fark edilmez.
Gerçekten etkileyebilecek olanlar şunlar: antenin üstünde kar ya da buz birikmesi, görüşü kapatan yeni bir yapı, yakındaki radyo parazitleri ve çok güçlü güneş fırtınaları. Sinyal gücü ve uydu sayısı ana sayfada canlı; son 24 saatlik grafik gece ile gündüz arasında fark olmadığını gösterir.
Uydu sinyali kesilirse saat ne olur?
Üç kademe devreye girer:
- Alıcı 3 boyutlu kilidi kaybedince darbeyi keser. Bilerek böyle ayarlandı: kilitsiz bir alıcının ürettiği darbe yanlış olabilir.
- chrony saati, en son öğrendiği frekansla kendi başına sürdürür. Ölçtüğümüz kayma saatte yaklaşık 3 mikrosaniyedir; 1 milisaniyeye ulaşması yaklaşık iki hafta sürer.
- Darbe 10 dakika gelmezse bir nöbetçi betik saati, altı ülkedeki ulusal zaman laboratuvarları ve bağımsız stratum-1 sunuculara bağlar ve sunucu stratum 2 olur. Darbe dönünce kendiliğinden stratum 1'e geri döner.
Anteni kasten söküp taktığımız testte kilit 1 saniyede geri geldi. Holdover ölçümü ölçümler sayfasında.
PPS nedir, neden yalnızca NMEA yetmiyor?
NMEA seri hattan gelen bir metindir. Hangi saniye olduğunu söyler, ama ne zaman ulaştığı mesaj uzunluğuna, hat hızına ve yazılım yüküne bağlıdır. Bizde yaklaşık 173 ms gecikmeyle ve milisaniyelerce oynayarak gelir.
PPS ise saniyenin başında yükselen bir elektrik kenarıdır. Donanımda damgalandığında belirsizlik nanosaniyelere iner. Darbemiz 500 ms genişliğindedir; chrony hangi kenarın saniye başı olduğunu bu sayede güvenle ayırt eder. NMEA yalnızca darbeye saniye numarası vermek için kullanılır, tek başına saat kaynağı değildir.
Anten kablosunun gecikmesi hesaba katılıyor mu?
Evet. Sinyal kabloda ışık hızından yavaş ilerler: 20 metrelik LMR-400 kablo yaklaşık 78 ns, antenin kendi 3 metrelik kablosu yaklaşık 15 ns gecikme ekler. Toplam ≈94 ns, chrony'de sabit bir düzeltme olarak girilidir. Düzeltilmeseydi saat hep bu kadar geride kalırdı. Diğer hata kalemleri doğruluk bütçesinde.
GPS sinyali bastırılırsa (jamming) ya da taklit edilirse (spoofing) ne olur?
Bastırma en olası senaryodur ve güvenlidir: alıcı kilidi kaybeder, darbe durur, bir önceki sorudaki süreç işler. Yanlış zaman üretilmez.
Taklit daha zordur: sahte bir sinyal alıcıyı yanlış bir zamana kilitleyebilir. Saatimizi sürekli 11 bağımsız ağ kaynağıyla karşılaştırıyor ve sonuçları yayınlıyoruz; birkaç milisaniyeyi aşan bir kayma bu karşılaştırmada hemen görünür. Milisaniyenin altındaki ince bir taklidi ise ağ ölçümü ayırt edemez. Bu, tek alıcılı her GNSS zaman sunucusu için geçerli bir sınırdır ve bunu gizlemiyoruz.
Anten konumunda görünen "94 m" doğruluk mu?
Hayır, antenin deniz seviyesinden yüksekliğidir. Uydu çözümü yüksekliği önce Dünya'yı temsil eden elipsoide göre verir (bizde ≈132 m); İzmir'de deniz seviyesi bu elipsoidin yaklaşık 38 m üstünde olduğu için deniz seviyesinden yükseklik ≈94 m çıkar.
Konum, anlık çözümlerin uzun süreli ortalaması olarak yayınlanır; yanında anlık ölçümlerin bu ortalama etrafındaki dağılımı yazar. Tek başına çalışan bir alıcının mutlak doğruluğu 1–2 metre mertebesindedir. Zaman için bu fazlasıyla yeterlidir: 1 metrelik konum hatası saate en fazla ≈3 nanosaniye yansır.
Sunucunun saati UTC'ye ne kadar yakın?
Kendi saatimizin darbeyi takip etme hatası 1–4 ns (RMS), darbenin donanım damgalama kararlılığı 2–7 ns. Alıcının darbesinin UTC'ye göre mutlak hatası çift bantlı bir alıcıda tipik olarak onlarca nanosaniyedir; bunu doğrudan ölçmek için bağımsız bir atom saati gerekir.
Size ulaşan doğruluğu ise çoğunlukla ağ yolu belirler: aynı veri merkezindeki istemciler mikrosaniyeler, uzaktakiler milisaniyeler görür. Altı ülkedeki on bir ağ kaynağıyla karşılaştırmamız ölçümler sayfasında.
Kullanım kuralları
Servis ücretsizdir. Herkes için çalışır kalması bu birkaç kurala bağlı.
- IP yerine ana bilgisayar adı kullan. Bakım ve altyapı değişikliğinde IP adresleri değişebilir; ad her zaman doğru yeri gösterir. NTS için zaten zorunludur.
- Sorgu aralığını 64 saniyenin altına indirme. Doğru yapılandırılmış bir istemci zaten 64–1024 saniye arasında sorgular. Daha sık sormak doğruluğu artırmaz — chrony gibi istemciler ölçümleri kendileri filtreler, gereksiz sorgu yalnızca gürültü üretir.
- Büyük cihaz filoları için kendi iç sunucunu kur. Yüzlerce cihazı doğrudan buraya yönlendirme; ağında iki-üç NTP sunucusu çalıştır, onları buraya bağla, cihazları onlara yönlendir. Hem senin için daha doğru, hem herkes için daha adil.
- Her zaman birden fazla kaynak tanımla. Tek kaynağa bağlı istemci, o kaynak yanlış zaman verdiğinde bunu fark edemez. En az üç kaynak tanımla ki istemci aralarında mutabakat arayabilsin — bu sunucu da tam olarak bunu yapıyor.
- Ürün içine gömmeden önce haber ver. Bir cihazın ya da yazılımın varsayılan NTP adresi olarak buranın yazılması, tek bir güncellemeyle trafiğin katlanması demektir. Önce bize yaz.
- Hız sınırlaması uygulanır. Aşırı sorgulayan istemcilerin bir bölümü sessizce yanıtsız bırakılır. Bu bir ceza değil, servisi herkes için ayakta tutma yöntemi — doğru yapılandırılmış bir istemci bunu hiç fark etmez.