snmp trap

trap是某種入口,到達該入口會使SNMP被管設備主動通知SNMP管理器,而不是等待SNMP管理器的再次輪詢。在網管系統中,被管設備中的代理可以在任何時候向網絡管理工作站報告錯誤情況,例如預製定閾值越界程序等等。代理並不需要等到管理工作站爲獲得這些錯誤情況而輪詢他的時候纔會報告。
trap語法定義規則包括以下幾部分:
1.TRAP-TYPE:標識下面定義的是一個trap。
2.enterprise:企業標識,已經定義好的合法的標識。本域必須提供定義此trap的企業標識,標識這個trap是哪個企業定義的。這個值將被放在trapPDU的enterprise字段內。
3.variables:變量定義了MIB對象的有序序列,這些對象包含在每個trap類型的實例中。每個變量按順序被放置在SNMP Trap PDU的variable-bindings中。
4.description:Trap的描述。
5.reference:參考,可選項,用於和其他MIB模塊中定義的trap的description進行相互參照。如果新定義一個trap,reference指向本trap,則表示新trap的description參考本trap的description。
6.value:trap的值是整數,其值爲enterprise下的唯一值。value將放在Trap PDU的專用字段(special-trap)內。該值用以唯一地標識一個trap,在enterprise值相同的情況下,value用來標識具體的trap。
snmp中預定義的trap:
snmp協議中定義了6種基本的trap,這6種trap可以涵蓋大部分設備的主要狀態改變,與企業自定義trap配合使用,就可以處理幾乎所有的重要狀態改變情況。
1.coldStart:snmp發送實體正在重新初始化,以修改代理的配置或協議實例的實現,特別是由於崩潰或重大故障而引起的意外重啓。
2.warmStart:發送實體正在重新初始化,但不修改代理的配置或協議實例的實現。
3.linkDown:表示代理的一個通信連接失敗。
4.linkUP:表示代理的一個通信連接成功。
5.authenticationFailure:表示發送方的snmp消息檢驗失敗
6.egpNeighborLoss:表示發送協議實體的EGP鄰居已被標記爲Down,相鄰關係已經不存在。
企業專用trap:snmp定義的6個trap可以涵蓋大部分的情況,但是很多情況下設備有自己特殊的狀態,企業也希望發送或接收自己定義的trap以得到特殊的消息。使用trap定義宏就可以定義企業自己的trap。企業設備發送自定義trap時,必須同時定義trap的MIB一起分發出去,否則,其他管理站不能識別自定義trap的格式。
trap的PDU結構:
額...這怎麼貼圖啊?
PDU Type Enterprise Agent-addr Generic-trap Specific-trap Time-stamp Variable-bindings
不好意思,PDU結構如上,大家自己想象着把框框加上吼...


generic-trap字段取值意義爲:coldStart(0);warmStart(1);linkDown(2);linkUp(3);authenticationFailure(4);egpNeighborLoss(5);enterpriseSpecific(6); 0~5是標準trap,6是專用trap。
SNMPv2 trap數據包格式爲:
PDU Type Request-id Error-status Error-index Variable-bindings
(框框要自己想象着加哦)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章