
SNMP
1. SNMP Nedir?
SNMP, bir ağ üzerinde bulunan cihazların bazı bilgileri birbirlerine iletmeleri için oluşturulmuş bir uygulama katmanı protokolüdür. Bu bilgiler ağ yönetimini kolaylaştırmak ve verimliliği arttırmak için bir router sıcaklığı, bağlantı durumu bağlantı sayısı vb. şeklinde olabilir. TCP/IP protokolünün bir parçasıdır. SNMP 1. versiyonda UDP yi kullanırken daha sonraki versiyonlarda TCP yi de kullanabilir hale getirilmiştir(şu ana kadar 3 versiyon bulunmaktadır.).
2. SNMP’yi Oluşturan Bileşenler:
- Yönetilen Aygıt : Üzerinde SNMP Agentın çalıştığı, ve cihaz bilgilerini NMS lere SNMP aracılığı ile ileten cihazlardır. Router, switch, printer bunlara örnektir.
- Agent : Yönetilen aygıt üzerinde bulunan, ve cihaz bilgilerini SNMP formatına çevirerek NMS e ileten bir yazılım modülüdür.
- NMS : Yönetilen Aygıtları izlemek ve kontrol etmek için kullanılan yazılımdır.
3. SNMP Yönetim Bilgi Birimleri(MIB):
MIB’ler hiyerarşik bir yapıda kayıtlı tutulan bilgi koleksiyonudur. SNMP’de belirli bir değişkenin değerine ulaşmak için evrensel olarak belirlenmiş bu koleksiyonun ilgili birimi kullanılır. Örneğin bir cihazın üreticisi tarafından atanan cihaz açıklaması için 1.3.6.1.2.1.2 birimindeki bilgiye ulaşmak gerekir. Ağaç yapısında bu rakamların karşılığı iso. identified-organization. Dod. internet. mgmt. mib-2. description değerine karşılık gelmektedir.
Burada bilinmesi gereken mib adreslerinin database formatında olmamasıdır yani bilgi taşımazlar. Sadece adres gösterirler. Ayrıca tüm adresler cihaza özeldir. MIB ler ağaç yapısı şeklinde oluşturulmuştur.
SNMP ile akıllı cihazlarla ilgili genel ve özel pekçok bilgiye erişim mümkün olmaktadır. Bütün bu yönetimsel bilgiler ve bunların saklanma ve erişim biçimi SMI (Structure of Management Information) ile tanımlanmıştır. SMI ile tanımlanan yönetimsel nesneler, yine SMI’da tanımlanan hiyeraşik yapıya uyarlar. SMI ile ağacın yalnızca gövdesi ve bileşenlerin yapıları tanımlanır. Ağacın yaprakları ise MIB (Management Information Base) ile belirlenmiştir . MIB’lerle tanımlanan yönetimsel bilgiler Sistem Adı gibi tek bir satır ile ifade edilebildiği gibi bir tabloyu da ifade edebilmektedir. Örneğin Ethernet Anahtarlarının hangi MAC adresine hangi porttan ulaşabileceğini bulduğu adres aktarım tabloları (Address Forward Table – AFT) bir tablo olarak BRIDGE-MIB’de tanımlanmıştır.
4 SNMP Ana Komutları
Yönetilan aygıtlar aşağıdaki dört SNMP komutu ile izlenir ve kontrol edilir:
>
1.”read” komutu NMS tarafından cihazları izlemek için kullanılır. NMS, bu cihazdan gelen cevapları kendi içinde yorumlar.
2.”write” komutu NMS tarafından cihazları kontrol etmek için kullanılır. Busayede cihaz üzerinde bir ayar değiştirilebilir.
3.”trap” komutu yönetilen aygıt tarafından, meydana gelmiş kayda değer değişiklikleri NMS e bildirmek için kullanılır. Trap mesajları UDP 162. port üzerinden gönderilir.
4. “traversal” işlemler ise NMS tarafından, yönetilen aygıtın hangi değişkenleri MIB sinde barındırdığını öğrenmek için ya da ardışık bir şekilde tablolardan veri almak için kullanılır (ör: routing table bilgileri alınırken)
4. SNMP’nin Kullanımı:
SNMP istek gönderme ve cevap bekleme ile çalışan bir protokoldür. Ağ yönetim sistemi uygulaması ajan uygulama çalıştıran cihaza ihtiyaç duyduğu bilginin isteğini gönderir ve isteği alan cihaz yönetim uygulamasına ilgili değeri döndürür. Burada UDP ve IP gibi geçmişten günümüze sıklıkla kullanılan iletişim protokollerinden birisi kullanılabilir. SNMP’de yönetim ve izleme SNMPv1 adı verilen ilk sürümünde sadece 4 çeşit işlemle gerçekleştirilir:
• GET: Yönetim sistemi tarafından yönetilen birimdeki bir veya daha fazla bilgi birimindeki değeri elde etmek için gönderilen istek komutudur.
• GETNEXT: Yönetim sisteminden bir bilgi tablosundaki sonraki değeri okumak için gönderilen istek komutudur.
• SET: Yönetim sisteminin yönettiği cihaz üzerinde bir değeri değiştirmek için kullandığı komuttur.
• TRAP: Üzerinde ajan uygulama çalışan cihazda belirli özel durumlar oluştuğunda bu durumu yönetim sistemine bildiren işlemdir. Diğer işlemlerden farklı olarak bu işlem için yönetim sisteminden herhangi bir istek gönderilmesi gerekmez.
SNMPv2 adı verilen ikinci sürüm ise ilk sürümün geliştirilmesi ile ortaya çıkarılmıştır. Örneğin iki yeni işlem ilave edilmiştir:
• GETBULK: Büyük boyutlu bilgilerin verimli şekilde elde edilmesi için yönetim sistemi tarafından gönderilen istek. Bu sayede tablolardan aynı anda birkaç sütun almak mümkün olmuştur.
• INFORM: Bir yönetim sisteminin diğer bir yönetim sistemini bilgilendirmek amacıyla kullandığı işlem.
Bunun yanı sıra MIB’ler için kullanılan bilgi saklama değişkenlerinin kapasitesi arttırılmıştır. Örneğin 32 bitlik sayaçların yanı sıra 64 bitlik sayaçlar kullanılmaya başlanmıştır. Her ne kadar bir geliştirilme ile ortaya çıkarılsa da bu iki sürüm birbiriyle uyumlu değildir. Ancak her iki sürümü destekleyen sistemler de mevcuttur.
5 SNMP Versiyonları
5.1 SNMP v1
RFC 1157 de tanımlanan SNMP v1; UDP, IP, CLNS, DDP, ve IPX protokolleri üzerinde çalışabilir. SNMP özetle bir sorgu-cevap protokolüdür, ve bu işlem Get, GetNext, Set ve Trap protokol işlemleri aracılığı ile olmaktadır. Get, NMS tarafından bir ya da daha fazla nesne bilgisini almak için kullanılır. Eğer yönetilen aygıt üzerinde çalışan agent, istenen verilerin hepsini cevaplayamıyor ise NMS e bir cevap yollamaz. GetNext işlemi tabloda ya da agent listesindeki bir sonraki değeri almak için kullanılan işlemdir. Set işlemi ile yönetilen aygıt ın MIB’si içindeki değerler değiştirilebilir. Trap işlemi ise NMS e yönetilen aygıt tarafından, meydana gelmiş kayda değer değişiklikleri bildirmek için kullanılır.
5.2 SNMP v2
SNMP v2 için SNMP v1 in evrimleşmiş hali de denebilir. 1993 de çıkmış bir protokoldür. SNMP v2 ile bazı ek protokol işlemleri tanımlanmıştır. Get, GetNext ve Set işleleri SNMP v1 ile aynı olmasına rağmen SNMP v2 de Trap işlemi v1 e göre daha farklı bir formattadır.
SNMP v2, v1 e göre iki yeni protokol işlemi daha içermektedir. GetBulk işlemi ile NMS e büyük miktarda veri yollamak mümkündür. Eğer istenen veri bir paket boyutundan fazla ise agent tarafından art arda birkaç paket yollanır. Inform işlemi ise bir NMS in Trap mesajlarını ağdaki başka bir NMS’e yollayabilmesi için kullanılır. SNMP v1 den farklı olarak eğer agent istenen değerlerin hepsini sağlayamıyorsa cevap vermemek yerine sağlayabildiği cevapları NMS e yollar.
6 SNMP Uyumluluk Yöntemleri
SNMP v2 ile v2 arasındaki PDU ve işlem farklılıklarının üstesinden gelebilmek için Proxy Agent ya da Bilingual NMS kullanılabilir.
1. Proxy Agent : Bir SNMP v2 agent SNMP v2 mesajlarını v1 haline dönüştürme işini yapabilir. Bu işlem şöyle gerçekleşir:
· SNMP v2 NMS, SNMP v1 cihaz için bir işlem oluşturur.
· NMS bunu SNMP v2 Proxy Agent a gönderir.
· Proxy Agent ise Get, GetNext, ve Set işlemlerini, üzerinde değişiklik yapmadan olduğu gibi SNMP v1 agent a yollar.
· GetBulk işlemleri Proxy Agent tarafından GetNext işlemlerine dönüştürülerek SNMP v1 agent a yollanır.
Yine aynı şekilde SNMP v1 agenttan alınan Trap işlemleri de Proxy Agent tarafından v2 Trap işlemlerine dönüştürülerek NMS e iletilir.
2. Bilingual NMS : Bilingual sistemler hem v1 hem de v2 yi desteklerler. Bu işlem için ilk önce Bilingual NMS in management kısmı agent ile iletişim kurmalıdır. Daha sonra NMS veritabanına bakarak agent ın v1 veya v2 desteklediğine karar verir. Bu işlemden sonra NMS, agent a anlayacağı versiyonda işlemleri gönderir.
7 SNMP Paket Formatları
7.1 SNMP v1 Mesaj Formatı :
Standart bir SNMP mesajı, header ve PDU olmak üzere iki kısımdan oluşur :
|
Header |
PDU |
Header kısmında iki ayrı bölüm vardır. Ilk bölüm SNMP versiyonunu, ikinci bölüm ise community adını belirtir. Community adı zayıf da olsa bir güvenlik özeelliği taşır. Agent sadece tanımlı community adlarına sahip mesajlara cevap verir.
PDU bölümü ise biraz daha karmaşıktır. PDU bölümünün biçimi şu şekildedir :
|
PDU Type |
Request ID |
Error Status |
Error Index |
Obj.Val1 |
Obj. Val2 |
Obj. Val3 |
·PDU Type : Yollanan PDU tipini belirtir
· Request ID : SNMP isteklerini cevaplar ile ilişiklendirir.
· Error Status : Bir hata olup olmadığını belirtir. Sadece SNMP cevaplarında bu bölüm değiştirilir. Diğer işlemlerde bu bölümün değeri 0 dır.
· Error Index : Hata mesajının tipini belirtir. Bu da Error Status gibi sadece SNMP cevaplarında değiştirilir. Diğer işlemlerde bu bölümün değeri 0 dır.
· Object Value : SNMP PDU sunun veri kısmıdır. Her Object Value bölümü farklı bir nesne ve onun değerini içerir.
7.2 Trap PDU Formatı :
|
Enterprise |
Agent Address |
Generic Trap Type |
Specific Trap Code |
Timestamp |
Object Value 1 |
Object Value 2 |
Object Value 3 |
· Enterprise : Trap mesajını üreten nesne tipini tanımlar.
· Agent Address : Trap mesajını üreten agent ın adres bilgisi bulunur.
· Generic Trap Type : Genel trap tipi bulunur
· Generic Trap Code : Spesifik trap kodu bulunur.
· Timestamp : Son başlatmadan trap mesajı üretilene kadar geçen süre bilgisi bulunur
· Object Value : Trap PDU sunun veri kısmıdır. Her Object Value bölümü farklı bir nesne ve onun değerini içerir.
SNMP v2 de ek olarak GetBulk mesajı mevcuttur
7.3 GetBulk PDU Formatı :
|
PDU Type |
Request ID |
Non repeaters |
Max-repetitions |
Object Value1 |
Object Value2 |
· PDU Type : PDU’nun GetBulk işlemi olduğunu belirtir.
· Request ID : SNMP isteklerini cevaplar ile ilişiklendirir.
· Non repeaters : Değişken cildi içerisindeki bir defadan fazla istenmeycek değişken numaralarını belirtir. Bu alan tek değişkenli nesneler de içeren bir sorgu yapılırken kullanılır.
· Max repetitions : Non repeaters alanında belirtilenlerin dışında kalan değişkenlerin en fazla kaç kere alınacağını belirtir.
· Object Value : GetBulk PDU’sunun veri kısmıdır. Her Object Value bölümü farklı bir nesne ve onun değerini içerir.
Yorum Ekle
You must be logged in to post a comment.


