[ILUG] OIDs

Kenn Humborg kenn at linux.ie
Thu Sep 14 23:39:38 IST 2000


On Wed, Sep 13, 2000 at 04:22:38PM +0100, John P . Looney wrote:
> On Wed, Sep 13, 2000 at 04:26:10PM +0100, Ross Davis mentioned:
> > Anybody got any pointers to information on how OIDs work, are used, etc.?
> > Really, I just want to know _why_ exactly SNMP, LDAP and the like use them
> > and _how_ they are used! Excuse my ignorance and all that....
> 
>  You'll be looking for something on the history of X500 then.
> 
>  And I gaurantee, after reading all about them, you'll come away wondering
> "Why did they use them?"

Because they give a globally unique namespace.  The only other globally
unique namespaces I can think of that are in general use are DCE UUIDs 
and the DNS.

OIDs vs UUIDs:

   o  OIDs are easier to read, until they get really long
   o  UUIDs are fixed length, OIDs are variable.  Fixed length
      is easier to deal with in code.
   o  It's easier to group related OIDs together (for us humans)
      than UUIDs.
   o  OIDs require explicit, manual delegation to guarantee
      uniqueness.  UUIDs uniqueness is guaranteed by the 
      already established system for allocating Ethernet addresses

OIDs vs DNS:

   o  OIDs use numbers, DNS uses numbers and letters
   o  You never need to 'look up' an OID.  A spec such as an LDAP
      schema or SNMP MIB will contain the relevant OIDs as part of
      the spec.  You take them as given.

An OID is just a sequence of numbers, usually written with dots
as separators.  For example, 

   1.52.457.825750.2.7.2

is an OID that I just made up.

To allocate your own OIDs, you first get someone (_anyone_) to 
give you a unique OID from their namespace.  I think Netscape
do this somewhere on their website.  (I'd have to check my LDAP
book in the office.)

Say, for argument's sake that they give you the OID above.
Then you simply create your own OIDs by tagging numbers onto
the end, using whatever conventions you want.  For example,
if you were a big networking equipment vendor, you might
define the following OIDs

   SNMP stuff           1.52.457.825750.2.7.2.1
   Internal LDAP use    1.52.457.825750.2.7.2.2

Then your R&D group can add on more numbers to the SNMP OID
for their MIBs and your IT department can add on more numbers
to the second one when designing their LDAP schema.

It's much easier to delegate a portion of the namespace than in
DNS, as the two parties only have to make one promise each:

  o  The delegator will never use or delegate the OID again
  o  The recipient will only define OIDs 'underneath' the OID

Because there is no need to 'look up' OIDs, neither party even
needs to remember who the other party is.  In contrast with the
DNS situation, where parent and child zones have to get into
this incestuous little relationship and do the delegation dance.

Does this help?

Later,
Kenn





More information about the ILUG mailing list