Değerli arkadaşlar, merhaba! Bu yazımızda sizlere, SNMP protokolünden bahsedeceğiz.
Açılımı 'Simple Network Manager Protocol' yani 'Basit Ağ Yönetim Protokolü' şeklindedir. SNMP, bir ağdaki farklı cihazların birbirleriyle bilgi paylaşmasının bir yoludur. Ağdaki cihazlar farklı bile olsa ve farklı yazılımlar çalıştırsalar bile iletişim kurabilirler; bunu, SNMP sağlar. İsminden de anlayacağınız üzere SNMP olmadan ağ yönetim araçlarının cihazları tanımlaması, ağ performansını izlemesi, ağdaki değişiklikleri takip etmesi veya ağ cihazlarının durumunu gerçek zamanlı olarak belirlemesi mümkün olmazdı.
SNMP, TCP/IP protokolünün bir parçasıdır. SNMP ile ağ yöneticilerinin ağ performansını artırması, ağdaki problemleri bulup çözmesi ve ağlardaki genişleme için planlama yapabilmesine olanak sağlar; bir nevi kılavuzdur.
Kendisi mükemmel değildir; diğer tüm teknolojiler gibi dezavantajları vardır ve bu dezavantajlar, bazı SNMP sürümlerinde diğerlerinden daha belirgindir. Bunlara rağmen yukarıda da belirttiğimiz gibi SNMP, ağ yönetimi adına hayati bir öneme sahiptir ve ağdaki cihazları izlemek ve yönetmek için en iyi çözümlerden biridir. Ayrıca SNMP, UDP 161/162 portlarını kullanır.
Sürümlerden bahsettik ama bunu biraz daha açmamız gerekiyor. Çünkü farklı sürümlerde bulunan özellikler, özellikle güvenlik söz konusu olduğunda büyük ölçüde değişiklik gösterir.
Yönetici olarak da bilinen sunucular, ağdaki cihazlar hakkında bilgi toplar ve bunları işler. İstemciler ise ağa bağlı herhangi bir cihaz veya cihaz bileşenidir. İstemci kavramı yalnızca bilgisayarları değil, switch'leri, telefonları, yazıcıları ve diğer cihazları da içerebilir. Bunları ve istemci - sunucu modelini zaten önceki bloglarımızdan biliyorsunuz. İşte, SNMP de istemci - sunucu (istek - yanıt) modeline dayalı basit bir mimariye sahiptir.
En yayın dört istek işlemi 'Get', 'GetNext', 'Set' ve 'Trap' olarak geçer. PDU'lardan OSI Katmanları isimli blogda bahsetmiştik. Burada da SNMP mesajları bir başlık (header) ve bir PDU'dan oluşur. Başlıklar, SNMP sürüm numarasından ve topluluk adından oluşur. Topluluk adı, SNMP'de güvenliği artırmak için bir tür parola olarak kullanılır.
PDU, gönderilen mesajın türüne de bağlıdır. 'Get', 'GetNext' ve 'Set' ile yanıt PDU'su, PDU türü, istek kimliği, hata durumu, hata dizini ve nesne/değişken alanlarından oluşur. 'Trap' ise kuruluş, aracı, aracı adresi, genel trap türü, özel trap kodu, zaman damgası ve nesne/değer alanlarından oluşur. Buradan da anlayacağımız üzere Trap, önemli bir olayı ya da durumu belirtir.
Bunların yanında bir de 'GetBulk', 'GetResponse', 'Inform' mesajları da mevcuttur.
SNMP, üç bileşenden oluşur:
SNMP mimarisi basit olsa da eğer aşina değilseniz, veri hiyerarşisi size karmaşık gelebilir fakat bu konuda endişeniz olmasın. SNMP, esneklik ve genişletilebilirlik sağlamak için ağ cihazlarının sabit boyutta ve sabit bir formatta veri alışverişi yapmasını gerektirmez. Bunun yerine, yöneticilerin toplaması için verilerin her zaman mevcut olduğu ağaç benzeri bir format kullanır. Biz de bu formata 'Data Tree' yani 'Veri Ağacı' diyoruz.
Data Tree, Yönetim Bilgi Tabanları (MIB - Management Information Bases) dediğimiz bir yapıda var olan tablolardan oluşur. Buradaki tabloları, az önce sözüne ettiğimiz ağacın dalları olarak hayal edebilirsiniz. Yani ağacımız MIB'in kendisi, dalları ise tablolar. MIB dediğimiz bu yapılar, bir sözlük gibi düşünülebilir; SNMP sözlüğü. Belirli cihaz türlerini veya cihaz bileşenlerini tatlı bir şekilde gruplandırır ve özelliklerini tanımlar; nesnenin karşılığı da rakamsal olarak ifade edilir. Bazı kaynaklarda MIB, 'tanımlar topluluğu' da olarak anılır. MIB dosyaları bağımsız bir şekilde yazılır ve içerdikleri bilgiler hiyerarşik olarak düzenlenir. Burada, çeşitli bilgi parçacıklarına SNMP ile erişilebilir.
Burada, 'OID - Object IDentifier' veya 'nesne tanımlayıcıları' vardır. MIB üzerinde yönetilen nesneleri benzersiz bir şekilde tanımlar; benzersiz bir tanımlayıcı numarası (Identifier ID) ve bir tanımlayıcı dizesi vardır. Ulaşılmak istenen değeri tutan değişkene (düğüme) OID adı verilir. Sayılar ve dizeler, birbirinin yerine kullanılabilir (Local IP adresleri gibi). Örneğin bir yazıcıda izlenecek tipik nesneler; farklı kartuş durumları ve belki de yazdırılan dosya sayısıdır. Yani her nesnenin kendi nesne kimliği vardır.
MIB, hiyerarşik olarak düzenlenmiştir ve kökten (root) tek yapraklara kadar farklı seviyelerde bir ağaç olarak tasvir edilebilir. Her OID, OID ağacının seviyelerini takip eden bir adrese sahiptir.
Genel olarak bir OID, düğümleri kodlayan ve noktalarla ayrılmış uzun bir sayı dizisidir. Aşağıda, bir OID'in örneği vardır.
Iso(1).org(3).dod(6).internet(1).private(4).transition(868).products(2).chassis(4).card(1).slotCps(2).-cpsSlotSummary(1).cpsModuleTable(1).cpsModuleEntry(1).cpsModuleModel(3).3562.3
Yukarıdakinin yanında sadece şu da kullanılabilir:
1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3
Yukarıdaki sayılar topluluğunun ilk dört sayı (1.3.6.1), standarttır. Bu noktadan sonra ulaşmak istediğiniz bilgiye göre alt dallara ilerlemeniz gerekir. Aşağıda, çeşitli değerler mevcuttur; sorgulandıklarında tuttukları bilgileri verir, girildiklerinde ise tanımlanırlar.
1.3.6.1.2.1.1.1 = sysDescr: 'System Description'dan gelir yani 'Sistem Açıklaması' anlamını taşır. Bu, cihazı tanımlaması içindir.
1.3.6.1.2.1.1.2 = sysObjectID: Bir sistem objesinin (cihazın) ID'si (tanımlayıcısı) gibi düşünün.
1.3.6.1.2.1.1.3 = sysUpTime: Cihazın ne zaman güncellendiğini belirtir.
1.3.6.1.2.1.1.4 = sysContact: Cihaz iletişim bilgilerini belirtir.
1.3.6.1.2.1.1.5 = sysName: Cihazın adını belirtir.
1.3.6.1.2.1.1.6 = sysLocation: Cihazın fiziksel olarak nerede olduğunu belirtir.
1.3.6.1.2.1.1.7 = sysServices: Cihazın tipini belirtir.
Bu Data Tree dediğimiz yapının nasıl göründüğünü göstermek istiyoruz. Eğer bir dosya sistemi olarak düşünürsek aşağıdaki gibi bir görünüm verir.

Aşağıdaki şema üzerinden gidecek olursak örneğin internete girmek için OID ağacının dördüncü düğümüne ilerlemek zorundasınızdır. Ağacın yapraklarına doğru ilerlerseniz (daha aşağılara) adlar giderek daha belirgin hâle gelir ve her düğüm belirli bir aygıtta veya aracıda belirli bir özelliği temsil eder.

[*] SNMP Güvenliği ve Tehditler hakkındaki blogumuza bekleriz.
Yayınlanma Tarihi: 2022-08-15 19:11:52
Son Düzenleme Tarihi: 2023-06-10 08:00:56