0
15kviews
Explain with neat diagram SNMP v1 PDU format.

Mumbai University > EXTC > Sem 8 > Telecom Network Management

Marks: 5 M, 10 M

Year: Dec 2014, May 2014

1

Thank you so much for taking such pains-taking efforts writing TNM answers....its really helpful.


1 Answer
2
274views

SNMPvl PDU Format: - i. The SNMPv1 PDU is relatively simple in format as figure shows.

ii. The SNMPv1 PDU travels in UDP that, in turn, is transported in IP.

iii. The Request/Response PDU2 simply has a Version field, a community string, a PDU Type indicator, the Request ID, Error Status, Error Index, and the Variable Bindings.

iv. The Trap PDU begins in a similar fashion to the Request/Response PDU in that it has Version field, a Community String, and a PDU Type indicator, but from this point until the Variable Bindings, the PDU structure is somewhat different.

v. For the Trap PDU, we then have an Enterprise field, an Agent Address field, Generic and Enterprise Specific trap indicators, potentially some Padding, and a Time Stamp.

vi. Standard SNMP Request/Response PDUs use UDP Port 161.

vii. SNMP Trap PDUs use UDP Port 162

viii. SNMPvl is essentially a simple request-response protocol. Each SNMPv1 message contains a Message Header and a Protocol Data Unit (PDU).

ix. The message header contains a version field and a community name. The version identifies the version number of the protocol (e.g. for RFC 1157, version-1 is used).

x. An SNMP community refers to a pairing of an SNMP agent with some arbitrary set of SNMP application entities.

xi. Thus, the community name in the SNMP message helps in defining an access environment for the set of NMSs using that community name.

xii. Five different types of SNMP PDUs are defined, which includeGetRequest, GetNextRequest, GetResponse, SetRequest and Trap.

The details of the PDUs are as follows:

  • GetRequest:

i. This PDU is generated by a protocol entity only at the behest of its SNMP application entity (this also applies for GetNextRequest and SetRequest PDU).

ii. The error-status and error-index in GetRequest PDU is always set to 0. This is because error codes are generated only for a response, not for a request.

iii. In case no error occurs, the receiver of the GetRequest PDU responds back with GetResponse PDU, which contains the name and the value corresponding to each object in the received variable binding list.

  • GetNextRequest:

i. This PDU is identical to GetRequest PDU, except that the PDU type is different.

ii. In case no error occurs, the receiver of the GetNextRequest PDU responds back with a GetResponse PDU, which contains the name and the value of the immediate successor corresponding to each object in the received variable binding list.

iii. GetNextRequest is useful in traversing a conceptual table of objects maintained in an MIB.

  • GetResponse:

GetResponse PDU is generated as a response to a GetRequest, GetNextRequest or SetRequest PDU.

  • SetRequest:

i. This PDU is used to set values of object instances within an agent. In case no error occurs, then for each object named in the variable binding list of the received message, the corresponding value is assigned to the variable.

ii. A GetResponse PDU is also generated to inform the sender of the results of the SetRequest.

<strong>SNMPvl PDU Format</strong>

SNMPvl PDU Format

  • Trap:

i. Traps are unsolicited message sent by the agents to the NMS. They are sent asynchronously to inform the NMS of the occurrence of some event. Trap PDUs do not elicit a response from the receiver.

ii. Except the Trap PDU, the message format for the remaining PDUs is identical. Each PDU contains the following fields:

  • Request-ID: This field is used to distinguish between multiple outstanding requests i.e. it is used to associate an incoming response with an outstanding request.
  • Error status: A non-zero value of this field indicates that an exception condition has occurred.
  • Error index: In case of exception condition, this field identifies the variable in the list that caused the exception.
Please log in to add an answer.