NTP (Network Time Protocol) Nedir? | Tanımı, Özellikleri ve İşlevleri

NTP (Network Time Protocol – Ağ Zaman Protokolünü) anlamak, ağda doğru zaman senkronizasyonu sağlamamız için önemlidir. Artı, cihazlar arasında tutarlı zaman tutmayı sağlar. Bu sayede, çeşitli uygulamalar için gerekli olduğundan ağa bağlı cihazlarda önemli bir rol oynar.

Bu makalede sizlere NTP’nin tanımı ve ayrıntılarını ve de yeteneklerini anlatacağım. Zaman protokolü dünyasına dalalım ve temel bileşenlerini inceleyelim!

NTP Protokolü Tanımı ve Özellikleri

NTP (Network Time Protocol – Ağ Zaman Protokolü) Nedir?

NTP protokolü, bir ağdaki bilgisayarların ve diğer cihazların saatlerini senkronize eden önemli bir protokoldür.

Ana görevi, tüm sistemlerin doğru saati göstermesini sağlamaktır. Bu, olayları kaydetme ve görevleri planlama gibi işler için kritik önemdedir. Doğru saat, zamana dayalı bilgilerin de doğru olmasını sağlar.

NTP Protokolü Sürümleri

NTP Sürüm 3, bu kuralı RFC 1305‘te yazılı resmi bir web standardı haline getirdi. Bu, halen üzerinde çalışılan Sürüm 4’e yol açan sonraki düzeltmelerin temelini oluşturdu.

NTPv4 önemli yükseltmelere sahip olsa da, henüz nihai RFC’ye girmedi. Daha kolay kullanım için, RFC 2030‘da yazılı olan Basit Ağ Zaman Protokolü (SNTP) bulunmaktadır. Bu protokol, zamanı senkronize etmek için daha basit bir yol sunar.

Çalışma ve Doğruluk

NTP, Kullanıcı Datagram Protokolü (UDP) üzerinden çalışır ve 123 numaralı bağlantı noktasını kullanır. Bu sayede, ağ bekleme sürelerindeki değişikliklerin neden olduğu sorunları iyi bir şekilde yönetebilir.

Kural, zaman senkronizasyonunu milisaniyeye kadar doğru bir şekilde gerçekleştirir. Zamanı, saatler için dünyanın ana zaman kuralı olan Koordineli Evrensel Zaman (UTC) ile senkronize eder.

UTC’nin Yayılması

UTC, özel zaman ölçüm alıcıları kullanılarak yayılır. Bu alıcılar, radyo programları, uydu mesajları ve Internet sağlayıcı sistemlerinden sinyaller alır.

Bu sistemler, farklı ülkelerin hükümetleri tarafından işletilmektedir. Bu alıcılara sahip gelişmiş bilgisayarların sayısı fazla olmasa da, bu alıcılara sahip olanlar birincil zaman kaynağı olarak işlev görür. Bu alıcılar, dünya zaman standartlarının korunmasında kilit rol oynar.

Geçmiş Hikaye

Delaware Üniversitesi’nden Dave Mills tarafından ilk kez geliştirilen NTP, günümüzde hala yaygın olarak kullanılan en eski web kurallarından biridir. Marzullo Algoritması kullanır. Bu algoritma, bazıları yanlış olsa bile birçok kaynaktan en iyi zamanı seçer.

NTP, web üzerinden maksimum 10 milisaniyelik bir zaman farkıyla zaman senkronizasyonu sağlar. Yerel ağlarda (LAN) en iyi durumlarda, 200 mikrosaniyeye kadar yaklaşabilir.

Saat Seviyeleri Sistemi

NTP’nin tasarımı, Saat Katman Hiyerarşi Sistemi adı verilen bir seviye sistemi üzerine kurulmuştur. Bu sistemde, Katman 1 sunucuları GPS veya Atom saatleri gibi çok hassas dış saatlerle senkronize olur.

Katman 2 sunucuları ise zamanlarını Katman 1 kaynaklarından alır. Bu, çok seviyeli bir zaman sunucuları ağı oluşturur. Bu, başka kurallara uyan telefon ağlarında kullanılan saat sistemleriyle aynı değildir.

SNTP (Simple Network Time Protocol – Basit Ağ Zaman Protokolü)

Kesin zamanın çok önemli olmadığı durumlarda, SNTP daha basit bir form sunar. Basit SNTP protokolü daha az karmaşıktır ve geçmiş verileri kaydetmeye gerek yoktur.

Bu özelliği, küçük bilgisayar sistemlerinde ve yüksek doğruluğun birincil hedef olmadığı kullanımlarda yaygın olarak kullanılmasını sağlar. Hızı ve kolay kullanımı, SNTP’yi daha az katı olan yerlerde zaman senkronizasyonu için en çok tercih edilen seçenek haline getirmiştir.

NTP Paket Açıklaması

Bu belge, NTP/SNTP Sürüm 4 paket yapısına basit bir bakış sunmaktadır. İletim Kontrol Protokolü (TCP) ve UDP başlıklarından sonra gelir.

Paketin içindeki her parçanın kendi görevi vardır. Bu, ağdaki cihazlar arasında zamanın doğru şekilde senkronize edilmesini sağlar.

1. Root Delay

Bu bölüm (32 bit), birincil referans saate gidiş-dönüş bekleme süresini gösterir. Bir sorunun sunucuya ulaşıp geri dönmesi için geçen süreyi belirtir. Bu, istemcilerin ağ bekleme süresini değiştirmelerine olanak tanır.

2. Root Dispersion

Yine 32 bit olan bu bölüm, yerel saatteki en büyük hatayı gösterir. Referans saatin ne kadar istikrarlı olduğunu gösterir ve farklı ağ noktalarındaki değişiklikleri kapsar.

3. Reference Identifier

Bu 32 bitlik bölüm, referans saat kaynağına özel bir ad verir. Türüne bağlı olarak, saatin IP adresini veya adını gösterebilir. Ya da farklı kaynakları ayırt etmek için uydurma bir değer gösterebilir.

4. Reference Timestamp (64 bit)

Zaman damgası, referans saatiyle yapılan son başarılı senkronizasyonu gösterir. Zaman bağlantılarını kurmak için büyük önem taşır. Şekil, 1900-01-01 00:00:00 tarihinden itibaren saniye ve parçaları içerir.

5. Kaynak Zaman Damgası (64 bit)

Bu kısım, istemcinin soruyu gönderdiği zamanı kaydeder. Gidiş-dönüş bekleme süresini hesaplamak için vazgeçilmezdir. Sunucunun zamanının doğru şekilde değiştirildiğinden emin olunmasına yardım eder.

6. Receive Timestamp (64 bit)

Sunucu, bu anda müşterinin sorusunu alır. Senkronizasyon hesaplaması için zaman damgası gereklidir. Soruyu alırken yaşanan bekleme sürelerini ölçmeye destek olur.

7. Transmit Timestamp (64 bit)

Bu kısım, sunucunun cevabı gönderdiği zamanı kaydeder. Müşteri ile sunucu arasındaki zaman farkını hesaplamada önemli bir role sahiptir. Bu da aynı 64 bit biçiminde gösterilir.

8. Key Identifier (isteğe bağlı) (32 bit)

Kimliğinizi doğrulama özelliği açık olduğunda, bu ek bölüm anahtara ad verir. Mesaj doğrulama kodu (MAC) için kullanılır. Bu, paketin değişikliklerden veya tekrarlanan saldırılardan korunmasına fayda sağlar.

9. Message Digest (isteğe bağlı) (128 bit)

Bu ek bölüm, paket bütünlüğü için bir karma değer içerir. Kimliğinizi kanıtlarken gerçek olup olmadığını kontrol eder. Bu, paketin yol boyunca değiştirilmediğinden emin olmanızı sağlar.

Sonuç olarak, NTP/SNTP paket yapısının bölümlerini listelemek, konuyu anlamanıza sağlar. Bu, haberlerin birçok farklı ağ yerinde nasıl paylaşıldığını ve senkronize edildiğini gösterir.

NTP Leap Indicator (Sıçrama Göstergesi – LI)

Leap Indicator (LI), NTP’de önemli bir 2 bitlik koddur. Zamanın tutulma şeklindeki değişiklikleri gösterir. Bu kod, bugünün son dakikasına bir saniye ekleneceğini veya çıkarılacağını belirtir. Böylece, sistemler arasında zamanın çok yakın bir şekilde eşleşmesini sağlar.

İşte bunun nasıl olduğu hakkında basit bir bakış.

  1. Leap Second Addition (Artık Saniye Ekleme): LI 01 rakamını gösterdiğinde, bir artık saniye eklenir. Bu değişiklik, bir dakikayı 61 saniye uzunluğunda yapar. Bu, gerektiğinde Aralık veya Haziran ayının sonunda gerçekleşir. Bu, dünya zamanını Dünya’nın dönüşüne göre doğru tutar.
  2. Leap Second Removal (Saniye Atlama): Öte yandan, LI 10 olarak ayarlandığında, bir saniye atlanır. Bu durumda, bir dakika sadece 59 saniye sürer. Bu durum olağan değildir ve zaman sistemlerinin Dünya’nın dönüşündeki değişiklikleri hesaba katması gerektiğinde ortaya çıkar.
  3. Alarm Condition (Alarm Durumu): LI, Earth (Toprak) olarak ayarlanmışsa, alarm durumunu gösterir. Bu, saatin senkronize olmadığı anlamına gelir. Zaman tutma parçalarında büyük bir sorun olduğunu gösterebilir. Bu nedenle, cihazın doğru senkronizasyon için hızlı bir bakıma ihtiyaç duyabileceğini gösterir.

Leap Indicator’ı kullanarak, NTP dünya çapında zaman tutmayı değiştirir. Bu, doğru zamana bağlı olan birçok işte kesin konuşma ve planlama yapılmasına olanak tanır.

NTP Protokolü Temel Parçaları ve İşlevleri

1. VN (Version Number – Sürüm Numarası)

Sürüm Numarası (VN) 3 bitlik bir sayıdır. Hangi protokol sürümünün kullanıldığını gösterir. 3 sayısı, sürüm 3’ü takip ettiğini gösterir. Bu sürüm yalnızca IPv4 ile çalışır.

Aynı zamanda, 4 sayısı sürüm 4 ile eşleşir. Sürüm 4’ün hem IPv4 hem de IPv6 ile çalışması temeldir. Ayrıca OSI (Açık Sistemler Arabağlantısı) ile de çalışır.

Protokolü ayırt etmeniz gerekiyorsa, paketin içindeki ayrıntılara bakın. Paket içindeki bu ayrıntılar durumu netleştirecektir.

2. Mode (Mod)

Mod, 3 bitlik bir sayıdır. NTP sunucusunun çalışma Modunu sıralar. Gruplar aşağıdaki gibi ayarlanmıştır:

  • Rezerve: Şu anda özel bir görevi yoktur.
  • Simetrik Aktif: Zaman senkronizasyonuna katılan bir sunucuyu gösterir.
  • Simetrik Pasif: Bu Mod, yalnızca dinleyen sunucular içindir. İlk olarak konuşmaya başlamazlar.
  • İstemci: Bir sunucudan zaman ve haberleri isteyen cihazdır.
  • Sunucu: Zaman senkronizasyonu yardımı sağlayan cihazdır.
  • Yayın: Zaman haberlerini gönderen sunucular için kullanılır. İstenmeden birçok istemciye aynı anda gönderir.
  • NTP Kontrol Mesajları için Ayrılmış: NTP içindeki özel kontrol notları içindir. Bu notlar henüz açıklanmamıştır.
  • Özel Kullanım için Ayrılmış: Üreticiler veya gruplar için ayrılmıştır. Kendi özel kullanımları ve eklentileri içindir.

3. Stratum

Stratum, işaretsiz 8 bitlik sayıdır. NTP tasarımında yerel sunucunun seviyesini gösterir. Ayarlanan gruplar şunlardır:

  • Belirtilmedi veya Yok: Stratumun bilinmediğini gösterir.
  • Birincil Referans: Radyo saati veya GPS saati gibi en doğru olarak kabul edilen doğrudan zaman kaynağıdır.
  • İkincil Referans: Bu, sunucunun zamanının başka bir NTP veya SNTP sunucusundan geldiğini gösterir. Doğruluk açısından ikinci bir seviye sağlar.
  • Rezerve Edilmiş: Bu, daha sonra kullanılmak üzere veya standartta henüz belirlenmemiş özel kurallar için saklanır.

4. Poll Interval

İşaretli 8 bitlik bir sayı, Anket Aralığını gösterir. İki NTP mesajının arka arkaya gönderilmesi arasındaki en uzun süreyi gösterir.

Çoğu zaman, bu sayı en yakın 2’nin kuvveti olarak gösterilir. Bu, iyi senkronizasyon süreleri sağlar. Çoğu kullanım 6 ila 10 bit arasında çalışır.

5. Precision (Hassasiyet)

İşaretli bir sayı hassasiyeti gösterir. Yerel saatin ne kadar doğru olduğunu saniye cinsinden gösterir. Önemli olarak, arka arkaya gerçekleşen iki olay arasındaki en kısa süreyi gösterir.

Yerel saat bu süreyi kesin olarak ayırt edebilir ve 2’nin iki kuvveti olarak sağlar. Bu gerçek, ağ saatinde çok kesin bir zaman senkronizasyonuna ihtiyaç duyan kullanıcılar için çok önemlidir.

NTP Hakkında Sık Sorulan Sorular (SSS / FAQ)

  1. NTP protokolü nedir?
NTP, ağ protokolüdür ve temel amacı, bilgisayar saatlerini senkronize etmektir. Bu sayede çeşitli cihazlarda doğru zaman takibi sağlayabiliriz. Yani, zamana duyarlı işlemler sorunsuzca gerçekleşir.
  1. Ağ zaman senkronizasyon protokolü neden önemlidir?
Doğru zaman takibi birçok işlev için kritiktir. Örneğin, işlem zaman damgaları buna dayanır. Ayrıca günlük dosyası yönetimi için de gereklidir. Hatta LDAP & Kerberos gibi protokoller bile onu kullanır. Böylece, dağıtılmış ağlarda sistem bütünlüğünü korur. Bu sayede saat kayması sorunları önlenmiş oluruz.
  1. NTP nasıl çalışır?
Aslında, NTP protokolü, hiyerarşik bir sistemle çalışır. Bu sistem zaman kaynaklarını katmanlara ayırır. Katman 0, atomik saat gibi cihazları içerir. Bunlar yüksek hassasiyetle zamanı takip eder.
Stratum 1 sunucuları, doğrudan bu kaynaklara bağlanır. Ardından, Stratum 2 sunucuları zamanı onlardan alır. Bu sıralı yapı böylece devam eder. Sonuç olarak, sistem genelinde ölçeklenebilirlik sağlayarak İnternet’te tutarlı zaman sunar.
  1. NTP protokolü ne kadar doğrudur?
Zaman protokolü, yüksek bir saat doğruluğu sağlar. İnternet üzerinde bu 1 ila 50 milisaniye içindedir. Yerel ağlarda ise doğruluk mikrosaniyelere ulaşır.
Ancak ağ gecikmesi hassasiyeti etkileyebilir. Ayrıca, zaman kaynağının kalitesi de önemlidir. Buna rağmen NTP, çoğu uygulama için oldukça etkilidir.
  1. Diğer zaman senkronizasyon protokolleri arasındaki fark nedir?
NTP, geniş ağlar içindir. Bu nedenle, yüksek doğruluk & güvenilirlik sunar. Fakat, Basit Ağ Zaman Protokolü (SNTP) çok daha basittir. SNTP, bu hassasiyet düzeyini sağlayamaz. Genellikle kolaylık uğruna senkronizasyondan ödün verir.

Sonuç

NTP, zamanı eşleştirmek için çok kritiktir. Farklı ağ cihazlarının aynı şekilde birlikte çalışmasını sağlar. Bu sistem, tam paket ayrıntılarına ve yeteneklerine sahiptir. Bu bilgiler, ağ yöneticileri ve teknik çalışanlar için önem arz eder.

Hangi zamanlama işlerini ve parçalarını kullanabileceklerini bilmeleri gerekir. NTP’yi iyi kullanarak, gruplar doğru zamanı koruyabilirler. Bu güvenilirlik, olayları kaydetmek gibi önemli işler için gereklidir. Ayrıca, iş planlamasına ve zamana dayalı eylemlerin devam etmesine yardımcı olur.

Ayrıca, cihazların birbirlerine daha fazla ihtiyaç duymasıyla NTP’nin önemi de artmaktadır. Bu, telefon ağları ve para ticareti gibi yerlerde çok doğrudur. Veri merkezi çalışmalarında, kesin zamanlama bir zorunluluktur.

NTP protokolü görevi çok önemli olduğu için, değerini anlamalıyız. NTP’yi doğru şekilde uygulamak, ağ hızını ve güvenliğini artırabilir. Bu, grupların sorunsuz çalışmasına ve sorunları verimli şekilde ele almasına yardım eder.

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir