Network Time Protocol

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

NTP Network Time Protocolün kısaltmasıdır. Türkçesi Ağ Zaman Protokolü'dür. NTP, değişken gecikmeye sahip paket anahtarlamalı ağlar üzerindeki bilgisayarların saatlerinin eş zamanlanmasının sağlanması için kullanılan bir protokoldür. Protokol, jitter buffer kullanımı sayesinde özellikle değişken gecikmenin etkilerine karşı dirençli olacak şekilde tasarımlanmıştır.

NTP, hala kullanılan en eski Internet protokollerinden biridir. (1985'den beri). İlk olarak gönüllü bir ekip ile bu konuda destek sağlamaya devam eden Delaware Üniversitesinden David L. Mills tarafından tasarımlanmıştır.

NTP, 123 no'lu port üzerinden, Kullanıcı Datagram Protokolü (UDP)'nü kullanır.

NTP ayarları hangi dağıtımın kullanıldığına bağlı olarak ya /etc/ntp.conf ya da /etc/xntp.conf dosyasından yapılır.

Çoğu temel yapılandırmalı ntp.conf dosyasında iki sunucu ismi mevcuttur. Birisi, saat ayarının yapılması istenen sunucunun adı ve diğeri de sahte bir IP adresidir. Sahte IP adresi ağ problemleri olması durumunda veya NTP sunucusunun kapalı olması/çökmesi durumunda kullanılır. Sistemdeki NTP uygulaması, uzak NTP sunucusu ayağa kalkınca, sistem saatini tekrar ona göre ayarlayacaktır. Bu iki sunucudan birincisi asıl sunucu olarak işlem yapar, ikincisi ise yedek amaçlıdır. Ayrıca bu hedef dosyanın yeri de belirtilmelidir. NTP zamanla, sistem saatindeki hata oranını "öğrenecek" ve kendini buna göre ayarlayacaktır.

NTP konfigürasyon dosyaları[değiştir | kaynağı değiştir]

NTP konfigürasyon dosyası /ect/ntp.conf, xntpd “daemon” unun başlangıçta kullandığı şu bilgileri içerir:

  * Olası senkronizasyon sunucularının listesi
  * Hangi kriterlere göre senkronizasyon sunucunun seçileceği 
  * Sunucunun ana makineye bağlanırken içerdiği kısıtlamalar
  * NTP paketlerinin ağda yayınlanıp yayınlanmayacağı
  * Broadcast (tüme gönderim) NTP paketlerinin dinlenip dinlenmeyeceği
  * Multicast (çoğa gönderim) NTP paketlerinin dinlenip dinlenmeyeceği
  * Driftfile dosyasının yeri
  * NTP bağlantılarının görüntülenip görüntülenmeyeceği
  * Ana makineye konfigürasyon yenileme izninin verilip verilmeyeceği

İstemci modunda sunucu diğer sunuculara o anki zamanı almak için kontrol eder. Tüm sunucular kontrol edildikten sonra ana makine hangi sunucuya senkronize edileceğini seçer. Sunucuyu istemci modda yapılandırmak için NTP konfigürasyonunda kontrol edilecek sunucuların adının ve ip adresinin bulunduğu bir sunucu cümlesi olmalıdır.

NTP çalışma modları[değiştir | kaynağı değiştir]

Sistem xntpd “daemon” u ve aşağıdaki metotlar kullanılarak diğer sunucularla senkronize edilebilir:

  * İstemci modu
  * Broadcast ya da multicast istemci modu
  * Simetrik aktif mod 

İstemci modu: Bu modda sunucu diğer sunuculardan o anki zamanı almak için kontrol yapar. Tüm sunucular kontrol edildikten sonra yerel ana makine hangi sunucuyla senkronize edileceğini seçer. Sunucuyu istemci modda yapılandırmak için NTP konfigürasyonunda kontrol edilecek adının ve ip adresinin bulunduğu bir sunucu cümlesi olmalıdır.

Broadcast ve multicast modları: Bu modda sunucu yoklama yapmaz, yerel ağdaki tüme gönderim ve çoğa gönderim NTP paketlerini dinler. Bir sunucuyu bu modlardan birinde yapılandırmak için NTP konfigürasyon dosyasının “broadcast yes” ya da “multicast yes” cümleciğini içermesi gerekir. Yerel zaman sunucuları tüme gönderim modu tüme gönderim konfigürasyon cümleciğiyle yapılandırılmalıdır, çoğa gönderim modu ise çoğa gönderim konfigürasyon cümlesiyle yapılandırılmalıdır. Bir sunucunun NTP istemcisi olarak yapılandırılması için istemci yöneticisi kullanılabilir.

NTP paylaşılan bilgisayarlarda kimlik doğrulama[değiştir | kaynağı değiştir]

NTP paylaşılan bilgisayarlardan gelen senkronizasyon isteklerinde kimlik doğrulama için şu ayarlar yapılır:

1. Öncelikle kimlik doğrulama isteklerinde kullanılmak için bir grup anahtar yaratılmalıdır. Kimlik doğrulama tanımlaması yapılandırmak istediğimiz her sunucu için /etc/inet/ntp.conf dosyasına aşağıdaki satırlar eklenmelidir:

authenticate yes
keys /etc/inet/ntp.keys

2. Aşağıdaki satır /etc/ntp.conf dosyasına eklenir:

trustedkey ID1 ID2 ... IDn
Bu satır kimlik doğrulamada kullanılacak anahtarların listesidir.

3. ntpd'nin konfigürasyon dosyasını tekrar okuması için aşağıdakiler yapılmalıdır. Bu sayede yapılan değişklikler geçerli olacaktır:

  • İşlem id'si ps komutuyla işlemlerden bulunduktan sonra kill komutuyla servisin çalışması kapatılır ve sonra tekrar başlatılır.
  • Çalışan konfigürasyon dosyasında izin verilmeyi bekleyen yeni bir anahtar varsa ntpd çalıştırılıp readkeys komutu çalıştırılır.

Driftfile[değiştir | kaynağı değiştir]

Driftfile (yığılım dosyası) /etc/ntp.conf içerisindedir ve bu ntpd’yi söyler ki bu saat yığılmasının yani sistem saatinin frekans hatasının nerede bulunabileceğini gösterir. Eğer dosya başlangıçta varsa, okunur ve bunun değeri ntpd nin frekans hatasının değerini başlatır. Saat başı ntpd tarafından güncellenir. Ntpd sunucusuna iyi bir şekilde bağlanması hesaplandığı için bir yığılım dosyası mutlaka olmalıdır.

Kısıtlama[değiştir | kaynağı değiştir]

Daha iyi bir kontrol sağlamak ve güvenliği elden bırakmamak için NTP'de kısıtlama (restrict) seçeneği kullanılabilir.