SET — Simple Network Management Protocol’da managerning agentdagi yozish mumkin bo‘lgan MIB obyektiga qiymat berish operatsiyasi. U port holatini o‘zgartirish, ma’muriy parametr sozlash yoki test signalini ishga tushirish uchun qo‘llanishi mumkin. Barcha OID yoziladigan emas; agent MIB ta’rifi va access siyosatiga muvofiq so‘rovni qabul yoki rad etadi.
So‘rov tuzilishi
SET request bir yoki bir nechta variable binding’dan iborat. Har varbind OID va ASN.1 turidagi qiymatni olib keladi. Agent request ID orqali javobni so‘rovga bog‘laydi va success yoki error status qaytaradi.
Qiymat turi MIB schema bilan aynan mos bo‘lishi kerak. Integer enum uchun matn nomi manager CLI’da qulay ko‘rinsa ham wire’da tegishli integer yuboriladi. Noto‘g‘ri tur wrongType, diapazondan tashqari qiymat wrongValue kabi xatoga olib kelishi mumkin.
Ko‘p varbindli atomiklik
SNMP agent SET processing’ni validatsiya va commit bosqichlarida bajaradi. Bir varbind bajarilmasa requestdagi boshqalarning qisman o‘zgarib qolmasligi kerak; protocol processing atomik xatti-harakatni ko‘zlaydi. Implementation va obyektning tashqi side effecti baribir sinovdan o‘tkaziladi.
| Xato holati | Mazmuni |
|---|---|
notWritable |
Obyektga yozib bo‘lmaydi |
noAccess |
Security view access bermaydi |
wrongType |
ASN.1 turi mos emas |
wrongValue |
Qiymat constraintga mos emas |
inconsistentValue |
Boshqa holat bilan zid |
resourceUnavailable |
Agent resurs yetishmasligi |
Error index qaysi varbind muammo berganini ko‘rsatadi.
Row yaratish
SNMP jadvalida yangi qator yaratish ko‘pincha RowStatus convention’i orqali boshqariladi. Manager indexli OIDlar uchun zarur ustunlar va createAndGo yoki createAndWait holatini SET qiladi. Qator faollashishidan oldin majburiy ustunlar to‘liq bo‘lishi kerak.
Bu jarayon qurilma va MIBga xos. Index noto‘g‘ri tanlansa mavjud qator o‘zgarishi mumkin. Manager avval joriy jadvalni o‘qib, collision va prerequisite’larni tekshiradi.
Xavfsizlik
SNMPv1/v2c write community tarmoqda shifrlanmasligi va kuchsiz shared secret bo‘lishi mumkin. SET uchun SNMPv3 autentifikatsiya va privacy bilan ishlatiladi. View-based access faqat zarur yoziladigan OID subtree’ga ruxsat beradi.
Monitoring read user va automation write user alohida bo‘ladi. Firewall faqat boshqaruv tarmog‘i va tasdiqlangan managerlardan UDP 161 trafikni qabul qiladi. Har SET operation audit logda user, device, OID, oldingi va yangi holat bilan qayd etiladi; maxfiy qiymat redaction qilinadi.
Idempotency va tekshirish
UDP javobi yo‘qolsa manager SET bajarilgan yoki bajarilmaganini bilmasligi mumkin. Ko‘r-ko‘rona retry side effectni takrorlashi ehtimol. Avval GET bilan joriy qiymat tekshiriladi; absolute desired value’ni qayta SET qilish ko‘pincha idempotent, “counter’ni bittaga oshir” kabi command esa emas.
Success response qurilma real dataplane’da o‘zgarishni qo‘llaganini har doim anglatmasligi mumkin. Manager keyingi GET, interface state yoki funksional probe bilan postconditionni tekshiradi. Configuration persistence alohida bo‘lsa rebootdan keyin o‘zgarish saqlanishi tekshiriladi.
Operatsion qo‘llanish
Katta flotda SET rollout birdan barcha qurilmada bajarilmaydi. Inventory va model compatibility tekshiriladi, canary guruhda sinovdan o‘tadi, rate limit va rollback qiymati belgilanadi. Noto‘g‘ri umumiy OID yoki enum ko‘p qurilmada uzilish yaratishi mumkin.
Ko‘plab zamonaviy platformalar configuration uchun NETCONF, RESTCONF yoki vendor API’ni afzal ko‘radi, chunki transaction va schema imkoniyatlari boyroq. SET baribir ayrim legacy va sodda boshqaruv vazifalarida mavjud.
Bog‘liq tushunchalar
SNMP, SNMP manager, SNMP agent, MIB, Object identifier, RowStatus, SNMPv3