Traps VIII.1

Was ist ein Trap ?
Ein Trap ist eine Meldung eines SNMP-Agenten an eine NMApplication.
Da der Agent der Server und die NMAppl. der Client ist, handelt es sich also um eine vom Server initiierte Meldung. Die Gründe für eine solche Meldung sind definiert.
Voraussetzung für die Trapbehandlung
Ein Programm muß eine Trap-PDU erstellen und versenden können. Das kann ein laufender Agent sein, aber auch ein Kommandozeilentool, das vom System bei auftreten bestimmter Ereignisse gestartet wird.
Ein Programm muß eine Trap-PDU entgegennehmen und verwerten können. Das kann eine NMAppl. sein oder aber ein Server (!), der an Port 162 (UDP) Trap-PDUs entgegennehmen kann.
Die Begriffe Client und Server sind deutlich zu trennen.
Was folgt auf einen Trap ?
Ein Trap wird an Port 162 entgegengenommen und unter Windows2000 in das Ereignisprotokoll geschrieben.
Mit dem UCD-SNMP (Linux) Agenten können Authentifizierungstraps gesendet werden (SNMPv3), die an den syslogd ( und damit in die /var/log/messages ) übergeben wird.
Zudem gibt es Tools, die explizit einen Trap versenden können : snmptrap (Linux), Net::SNMP->trap() (Perl)
Wie sieht eine Trap-PDU aus ?
  1. PDU-Type Trap
  2. enterprise : NM-Subsystem gemäß system.sysObjectID.0
    wird bei v2 streng ausgewertet, bei v1 wird die Angabe nicht ausgewertet, muß aber angegeben werden
  3. agent-addr : Sender IP
  4. generic-trap : vordefinierter trap coldStart(0), warmStart(1), linkUp(2),linkDown(3), authenticationFailure(4), egpNeighborLoss(5), enterpriseSpecific(6) [Stal p. 176,189f]
  5. specific-trap : ?
  6. time-stamp : Zeit zwischen der letzten Reinitialisierung des Netzwerkes (hier:Start des Agenten) und der Generierung des gesendeten traps
  7. variablebindings : zusätzliche Informationen zum Trap (Anwendungsabhängig)