They are allocated in a hierarchical manner, so that, for instance, the authority for "1.2.3" is the only one that can say what "1.2.3.4" means.
They are used in a variety of protocols.
The formal definition of OIDs comes from ITU-T recommendation
X.208 (ASN.1), which is available from the ITU (if you have your checkbook handy).
The definition
of OID is in chapter 28; the assignment of the "top of the tree" is
given in appendixes B, C and D.
The encodings - how you can transfer an OID as bits on the wire - is defined in X.209.
The following is just a brief start at a tree....the intent is that you should be able to click your way through the tree until you find out what your current OID "means".
Click here to start walking the tree.
The Internet OID is 1.3.6.1; this link leads directly to it.
If you know of an OID that is not listed, you may use this entry form to tell me about it. Input from other people (not yet vetted by me) is found here.
The ITU thought it better to have a notation using spaces and braces, with optional text labels, so that 1.3.6.1 would become something like
{iso(1) org(3) dod(6) iana(1)} {1 3 6 1} {dod 1}or variants thereof. The IETF folks thought this was somewhat inconvenient, and decided to use a space-free notation.
This is, among other things, spelled out in RFC 1778, section 2.15, but was in use long before that time:
Values of type objectIdentifierSyntax are encoded according to the following BNF: <oid> ::= <descr> | <descr> '.' <numericoid> | <numericoid> <descr> ::= <keystring> <numericoid> ::= <numericstring> | <numericstring> '.' <numericoid> In the above BNF, <descr> is the syntactic representation of an object descriptor. When encoding values of type objectIdentifierSyntax, the first encoding option should be used in preference to the second, which should be used in preference to the third wherever possible. That is, in encoding object identifiers, object descriptors (where assigned and known by the implementation) should be used in preference to numeric oids to the greatest extent possible. For example, in encoding the object identifier representing an organizationName, the descriptor "organizationName" is preferable to "ds.4.10", which is in turn preferable to the string "2.5.4.10".This was refined in RFC 2252, 4.1. In particular, it eliminates the "ds.4.10" form.
(thanks to Kurt Zeilenga for providing the reference)
There is another OID database at Elibel, France, maintained by people who work more closely with the ITU and with ASN.1.