NTP ( Network Time Protocol )

Zaman bilgisi, bilgisayar ağları için hayati önem taşır. Özellikle sistem günlüklerini incelediğimizde, olayın ne zaman gerçekleştiğini öğrenmek istiyoruz. Çünkü olayın zamanı, ağlar için son derece kritiktir. Bunun için de ağımızda NTP protokolünü, zamanı senkronize etmek için kullanıyoruz.

Zamanı cihazlar üzerinde iki farklı şekilde değiştirebiliriz. Bunlar:

  • Manuel
  • NTP ( Network Time Protocol )

İlk olarak “Cisco” cihazı üzerinde manuel değişikliğe bakalım. Cihazın güncel zaman bilgisini görmek için aşağıdaki komutu çalıştırabiliriz.

Router> show clock
*0:11:46.43 UTC Mon Mar 1 1993

Cihaz üzerindeki güncel zaman bilgisi çok eski. Bu durumu manuel olarak değiştirmek için aşağıdaki komutu kullanabiliriz.

Router# clock set 10:56:20 4 May 2024
Router# show clock
10:56:41.35 UTC Sat May 4 2024

Saat bilgisi değişmiş durumda ancak bu şekilde ağımızdaki belki de yüzlerce cihazın zamanını ayarlamak zor olacaktır. Bu yüzden bu, tercih edilmeyen bir yöntemdir.

NTP (Network Time Protocol), en eski protokollerden biridir ve 1985 yılından beri bulunmaktadır. RFC (Request for Comments) 5905 ile tanımlanmıştır. OSI referans modelinin 7. katmanında çalışan bir protokoldür.

NTP haberleşmesinde kaynak ve hedef port olarak UDP 123. portunu kullanır. Bu protokol, zamanı dağıtmak için hiyerarşik bir yapı kullanır. NTP protokolü İstemci-Sunucu tabanlı çalışan bir protokoldür.

NTP protokolünde “stratum” denen bir kavram vardır. Bu kavram 0-15 arasında değişmektedir. Bu cihazın zaman kaynağına olan mesafesini gösteren bir değerdir.


“Stratum 0” cihazlar kaynaktır ve genellikle atomik saatler kullanılır. Bu saatler çok hassastırlar. “Stratum 1” cihazlar ise doğrudan kaynağa bağlı olan ve saat bilgisini kaynaktan alan cihazlardır. “Stratum 1″den saat bilgisini alan cihazlar “Stratum 2” cihazlarıdır. Bu hiyerarşi Stratum 15’e kadar gitmektedir.

Şimdi de “Cisco Packet Tracer” üzerinde bir uygulama gerçekleştirelim.

Topolojimizde iki adet NTP İstemcisi ve bir adet NTP sunucu cihazı var. Sırasıyla konfigürasyonlarını gerçekleştirelim. Öncelikle “Server cihazdan başlayalım.

Bu örnekte Server cihazda zaman ayarını “manuel” olarak gerçekleştirip, tanımladığımız zaman bilgisini diğer cihazlara öğreteceğiz.

Router3#clock set 11:11:11 4 May 2024
Router3#show clock
11:11:13.41 UTC Sat May 4 2024
Router3# configure terminal
Router3(config)# ntp master 5 ( Server olarak ayarladık ve Stratum değerini 5 yaptık. 1-15 arasında tanımlayabiliriz. )
Router(config)# do wri

Sunucu cihaz üzerinde konfigürasyonu tamamladık. Sırada İstemci cihazların konfigürasyonu bulunuyor.

Router2(config)# ntp server 10.0.1.2
Router2(config)# do wri
Router1(config)# ntp server 10.0.1.2
Router1(config)# do wri

* Saatlerin senkron olması biraz zaman alabilir.

İstemci cihazlar üzerinde aşağıdaki komutu çalıştırdığımız zaman saat bilgisinin güncel olduğunu ve zaman kaynağının da NTP olduğunu görebiliriz.

Router#show clock detail 
11:31:32.470 UTC Sat May 4 2024
Time source is NTP

NTP protokolünü kontrol etmek ve daha fazla bilgi almak için aşağıdaki komutu kullanabiliriz.

Router2# show ntp status 

Burada “Stratum” bilgisini “6” olarak görüyoruz. Bunun sebebi sunucu makinemizde “Stratum” seviyesini 5 olarak ayarlamış olmamızdır. İstersek “Router1” cihazına, zaman bilgisini “10.0.0.2” (Router-2) adresinden de öğretebilirdik. Bu durumda Router1 cihazının “Stratum” değeri 7 olacaktı.

Packet Tracer üzerinde “Server” cihazına NTP protokolü kurulabilmektedir. Şimdi de bu şekilde bir örnek gerçekleştirelim. Örneğimizde bir NTP sunucu olacak ve bu NTP sunucu üzerinden cihazlarımıza zaman bilgisini öğreteceğiz.

NTP protokolü sunucu cihazda açık geliyor. Herhangi bir değişiklik yapmamıza gerekmiyor.

Sırasıyla cihazların konfigürasyonlarını gerçekleştirelim.

Router1(config)# ntp server 192.168.1.10
Router1(config)# do wri

Router2(config)# ntp server 192.168.1.10
Router2(config)# do wri

Router3(config)# ntp server 192.168.1.10
Router3(config)# do wri

Zaman bilgileri senkron olduktan sonra doğru bir şekilde cihazlar üzerinde ayarlanacaktır. Kontrol için tekrar aynı komutları kullanabiliriz.

Gelen log mesajlarına zaman bilgisini eklemek için aşağıdaki komutu kullanabiliriz.

Router(config)# service timestamps log datetime msec

NTP ile ilgili ayrıntılı bilgi almak için aşağıdaki komutu kullanabiliriz.

Router(config)# show ntp associations

Komut sonrası aşağıdaki gibi bir çıktı alacağız.

  • address : bu gösterge NTP sunucusunu ifade eder.
  • ref clock: referans saat
  • st : stratum
  • *~ : NTP protokolünün sorunsuz çalıştığını gösterir.

Daha fazla bilgisayar-ağları içeriği için takipte kalın…

Hüseyin Pala hakkında 53 makale
System and Network Specialist Candidate

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*