SNMP PROTOCOL (Simple Network Management Protocol) Kelompok 9 Akbar Nugraha Wijaya 21120111110062 Gendo Tupama Saragih 21120111140074 Nugroho Budi Wicaksono 21120111140080 Rika Rizki Yana 21120111140083 Irvan Yoga Raharjo 21120111140090
Table of contents SNMP Operations Protocol Spesification Transport-Level Support Limitations of SNMPv1
SNMP (Simple Network Management Protocol) adalah protokol yang digunakan untuk memonitor device-device yang terhubung ke suatu jaringan. Sebagai contoh penggunaan CPU, hardisk, memory, traffic jaringan dll.
SNMP OPERATION Operation yang mendukung pada SNMP dalam inspeksi dan modifikasi variabel Get Operation = digunakan oleh menajer untuk mengambil suatu item dari agen MIB. Set Operation = digunakan oleh manajer untuk men-set atau mengisikan harga suatu variabel pada agen MIB Trap Operation = digunakan oleh agent untuk mengirim peringatan kepada manajer
SNMP Operation (lanjt.) Not possible to change the structure of a MIB cannot add or delete object instances No explicit action is supported Access is provided only to leaf objects in the MIB tree not possible to access an entire table or a row of a table with a single atomic action These simplify the implementation of SNMP but limit the capability of the NMS
SNMP Securty Concept Authentication Service agen membatasi akses ke MIB untuk manajer yang berwenang Access Policy agen bisa memberikan hak akses yang berbeda untuk manajer yang berbeda Proxy Service – agen dapat bertindak sebagai proxy untuk mengatur device lain –memerlukan layanan otentikasi dan kebijakan akses untuk mengatur device pada proxy SNMP hanya menyediakan kemampuan primitif and limited security capability via the concept of community
SNMP Community Merupakan hubungan antara agen dan satu set manajer yang mendefinisikan otentikasi, kontrol akses & karakteristik proxy Sebuah community secara lokal ditetapkan oleh agen – Tiap community diberikan nama unik – agen dapat membentuk sejumlah community – Nama community dibutuhkan dalam seluruh operasi GET dan SET – Sebuah nama community yang sama dapat digunakan oleh agen berbeda Layanan otentikasi SNMP – setiap pesan SNMP dari manajer termasuk nama komunitas (digunakan sebagai password) --- sangat primitif – kebanyakan agen hanya mengijinkan operasi GET
SNMP community Snmp access policy - Agen dapat menyediakan kategori akses MIB berbeda menggunakan : SNMP MIB view & access mode SNMP MIB View - sebuah subset dari objek dalam sebuah MIB - Mib view yang berbeda dapat didefinisikan oleh setiap community SNMP Access Mode - Sebuah access mode {READ-ONLY, READ-WRITE} menggambarkan untuk setiap community SNMP Community Profile Adalah kombinasi antara MIB View dan Access Mode
MIB ACCESS Category vs. SNMP Access Mode 4
SNMP Administrative Concepts set of SNMP managers SNMP Access Policy SNMP community (community name) profile SNMP agent MIB view access mode 4
Object Instance Identification SNMP defines two techniques for identifying a specific object instance Serial access technique (via lexicographic ordering of objects) Random access technique objects in MIB tables are referred to as columnar objects the object identifier is not sufficient to identify the instance SNMP convention concatenate the scalar object identifier with the values of INDEX objects, listed in the order which the INDEX objects are defined see the example in Table 7.2 on page 169 4
Lexicographical Ordering is used for accessing MIB objects serially given the tree structure of a MIB, the OID for a particular object may be derived by tracing a path from the root to the object lexicographical ordering is also referred to as: preorder traversal (root, left, right) of a tree depth-first search useful for examining MIBs whose structure is not known to NMS 4
Lexicographical Ordering Example 1 1.2 root 2 2.1 2.1.1 1.1 1.2.1 2.1.1.1 2.1.1.2 2.1.1.3 3 Start End 4
Spesifikasi Format Pesan Protokol SNMP SNMP manager, agent exchabge request dan manager information menggunakan SNMP message SNMP message mencakup: nomer versi contohnya: 0 untuk SNMPv1, 1 untuk SNMPv2 Nama community, dan Satu dari 5 tipe Protocol Data Unit (PDU) Tipe PDU: GetRequest, GetNext-Request, SetRequest, GetResponse, Trap
(b) GetRequest PDU, GetNextRequest PDU, and SetRequest PDU Format pesan SNMP Version Community SNMP PDU (a) SNMP message PDU type request id variablebindings (b) GetRequest PDU, GetNextRequest PDU, and SetRequest PDU PDU type request id error status error index variablebindings (c) GetResponse PDU PDU type enter- prise agent addr generic trap specific trap time stamp variablebindings (d) Trap PDU name1 value1 name2 value2 . . . nameN valueN (e) variablebindings
Kolom Pesan SNMP Field Penjelasan version Versi SNMP (RFC1157 merupakan versi 1) community Memasangkan sebuah SNMP agent dengan beberapa kumpulan acak dari entitas aplikasi SNMP (nama community bertindak seperti sebuah password untuk autentifikasi pesan SNMP) request-id Digunakan untuk membedakan antara permintaan luar biasa dan permintaan biasa dengan memberikan setiap permintaan dengan sebuah ID yang unik error-status Digunakan untuk menunjukkan adanya pengecualian saat terjadi request Nilai untuk noError(0), tooBig(1), noSuchName(2), badValue(3), readOnly(4), genErr(5) error-index Ketika status error adalah nonzero, dapat memberikan informasi tambahan dengan menunjukkan variabel mana yang terdaftar dalam exception (sebuah variabel adalah inisiasi dari managed object)
Kolom pesan SNMP Field Penjelasan variablebindings List nama variabel dan nilai-nilai yang sesuai (dalam satu case, seperti Getreq pada PDU, nilai NULL) enterprise Tipe object gennerating trap; berdasakan pada sysObjectID agent-addr Alamat object generating trap generic-trap Tipe umum trap; nilai-nilainya coldStart(0), warmStart(1), linkDown(2), linkUp(3), authenticationfailure(4), egpNeighborLoss(5), enterpriseSpecific(6) specific-trap Kode spesific trap time-stamp Waktu diantara inisialiasai ulang entitas jaringan yang terakhir dan generating trap; berisi nilai sysUpTime
Transmisi SNMP Pesan PDU dibangun menggunakan ASN.1 PDU akan diteruskan ke layanan otentikasi dengan community name dan source & destination transport addresses passed - layanan otentikasi melakukan transformasi apapun yang diperlukan seperti enkripsi atau dimasukkannya kode otentikasi 3. Entitas protokol kemudian membangun pesan, terdiri dari version field, community name, dan hasil dari langkah 2 4. objek ASN.1 yang baru kemudian di-encoded menggunakan BER dan diteruskan ke layanan transport
Penerimaan Pesan SNMP SNMP entity melakukan basic syntax-check dari pesan dan membuang itu jika gagal memverifikasi nomor versi dan membuang jika ada ketidakcocokan Kemudian melewati community name, bagian PDU pesan dan alamat transportasi sumber / tujuan ke layanan otentikasi jika otentikasi gagal, pesan tersebut akan dibuang jika otentikasi berhasil, layanan otentikasi kembali PDU dalam bentuk objek ASN.1 4. Jika PDU melewati basic syntax-check, sesuai kebijakan akses SNMP yang dipilih.
SNMP PDU Sequences Manager Agent GetNextRequest PDU GetRequest PDU GetResponse PDU SetRequest PDU GetNextRequest PDU Trap PDU (a) Get values (b) Get next values (c) Set values (d) Send trap
GetRequest PDU dikeluarkan oleh manajer SNMP atas nama NMS untuk mengambil informasi dari agen termasuk jenis PDU, request-id & binding variabel GetResponse PDU containing the same request-id is used for the reply operation is atomic (semua nilai dikembalikan atau tidak) possible error-status: noSuchName: contoh objek tidak dapat ditemukan atau itu adalah aggregate type tooBig: ukuran dihasilkan nilai melebihi batasan lokal genErr: tidak dapat menyediakan nilai untuk setidaknya salah satu objek untuk beberapa alasan lain
GetNextRequest PDU juga dikeluarkan oleh manajer SNMP atas nama NMS untuk mengambil informasi dari agen PDU sama dengan getRequest PDU kecuali : Pada getRequest PDU, setiap variabel dalam daftar variablebindings mengacu pada contoh objek yang nilainya harus dikembalikan Dalam GetNextRequest PDU, untuk setiap variabel dalam variablebindings nilai object instance next dikembalikan memungkinkan NMS untuk menemukan struktur MIB secara dinamis menyediakan mekanisme yang efisien untuk mencari table yang entri tidak diketahui
SetRequest PDU PDU ini dikeluarkan oleh SNMP Manager sebagai bagian dari NMS untuk memodifikasi informasi pada agen Operasi yang dijalankan bersifat atomik Jika salah satu nilai tidak bisa diperbaharui maka proses setrequest akan ditangguhkan GetResponse PDU memiliki id request yang sama yang akan dikirimkan sebagai balasan dari request Jika proses setrequest berhasil maka ikatan nilai dan variabel pada getresponse pdu akan serupa dengan setrequest PDU Error yang umum ditemui noSuchName, tooBig, genErr badValue: PDU memiliki setidaknya 1 pasangan nama variabel dan nilai yang tidak konsisten
Trap PDU Dikeluarkan oleh SNMP agent untuk menotifikasi kejadian yang mungkin telah melanggar set of rules, untuk NMS TRAP PDU tidak membutuhkan response dan tidak perlu mendaptkan status ACK Tipe Generic Trap: coldStart (0): Kejadian restart karena system crash atau kesalahan major warmStart (1): routine restart linkDown (2): Jalur komunikasi tidak beroperasi linkUp (3): Jalur komunikasi kembali beroperasi authenticationFailure (4): NMS menerima pesan authentication-failed egpNeighborLoss (5): EGP neighbor is down enterpriseSpecific (6): some enterprise-specific event occurred
Issues in using UDP Karena UDP menggunakan layanan unreliable-transport, pesan SNMP berpotensi hilang Apa yang terjadi jika pesan GetRequest atau GetNextRequest hilang? Bagaimana jika pesan setrequest hilang? Bagaimana jika pesan trap hilang?
Keterbatasan SNMP SNMP tidak cocok untuk mgmt dari jaringan yang besar karena performa polling yang terbatas SNMP tidak cocok digunakan untuk mendapatkan sejumlah data yang besar seperti semua tabel routing pada jaringan SNMP traps tidak menggunakan 3 way handshake dan karena itu berpotensi untuk hilang SNMP hanya menyediakan authentikasi trivial SNMP MIB model terbatas (tidak mendukung mgmt query berdasarkan pada object-type atau value-type) SNMP tidak mendukung komunikasi manager ke manager