The TCP/IP Guide - Version 3.0 (Contents) ` 1216 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
SNMPv2 Variants
Acceptance of SNMPv2 never happened. Instead, different “splinter groups” broke off and
began work on variants of SNMPv2. To prevent confusion, the original SNMPv2 became
known as either SNMPv2 classic (reminiscent of the name a particular soft drink) or
SNMPv2p, with the “p” referring to “party-based” security. Things got very interesting (and
confusing) when the following were proposed and/or developed:
☯ SNMPv1.5: I can tell immediately that an idea is probably going to be a problem when
it proposes a version number lower than a number already standardized. SNMPv1.5
was an attempt to retain the “uncontroversial” elements in SNMPv2p—the enhance-
ments to the SNMP protocol and SMI—while going back to community-based security
as in SNMPv1. It never became a standard itself, but became the basis of…
☯ Community-Based SNMPv2 (SNMPv2c): This is SNMPv2p modified to use
community strings instead of party-based security; in essence, the same idea as
SNMPv1.5 but with a more “official-sounding” name and a few changes. Interestingly,
the standard that defines this, RFC 1901, still has an “experimental” status, despite the
fact that SNMPv2c actually achieved some degree of commercial success where the
“standard” SNMPv2p did not.
SNMPv2c was defined by standards RFC 1902 through 1908, which incorporate other
changes including a new version of SMI (SMIv2).
☯ User-Based SNMPv2 (SNMPv2u): This is an alternative security method for
SNMPv2c, which is based on users rather than community strings. It is considered
simpler than party-based but more secure than community-string security. It is defined
by RFC 1909 and RFC 1910. It too is formally considered “experimental”.
☯ SNMPv2*: As if all of the above was not enough, a well-known vendor decided to
define another variant called SNMPv2* that combined elements of SNMPv2p and
SNMPv2u. This was never formally standardized. (Yes, that's an asterisk in the name.
No, there's no footnote at the bottom of this topic, so don’t bother looking for one. Yes,
putting an asterisk in a name is extremely confusing. No, I don't know how it is that
marketing people get paid good money to come up with names like that. ☺)
Now, imagine that you were a network administrator in the mid-1990s and were faced with
SNMPv2p, SNMPv2c, SNMPv2u and SNMPv2*. Which one would you choose? Well, if you
are like most people, you'd choose “none of the above”, saying “I think I'll stick with
SNMPv1 until these version 2 folks get their act together”. And that's basically what
happened. Some proponents of these variations promoted them, but there was never any
agreement and the result was that the success of all of the various and sundry SNMPv2's
was limited. As I said, a classic illustration of how important universal standardization is.
SNMPv3
I would imagine that at some point, everyone realized that the situation was a mess, and
decided “enough is enough”. In 1996 work began on a new approach to resolve the
outstanding issues and return universality to SNMP. In 1998, SNMP version 3 (SNMPv3)
was developed, which includes additional enhancements to SNMP and finally gets all the
players back on the same team.