A URN Namespace of Object Identifiers
How to write an Object Identifier, such as 1.3.6.1, as a URN of the form urn:oid:1.3.6.1.
Mealling, M., "A URN Namespace of Object Identifiers", RFC 3061, DOI 10.17487/RFC3061, February 2001, <https://www.rfc-editor.org/info/rfc3061>.
@misc{rfc3061,
series = {Request for Comments},
number = 3061,
howpublished = {RFC 3061},
publisher = {RFC Editor},
doi = {10.17487/RFC3061},
url = {https://www.rfc-editor.org/info/rfc3061},
author = {M. Mealling},
title = {{A URN Namespace of Object Identifiers}},
pagetotal = 6,
year = 2001,
month = feb,
} RFC text
Contents
Network Working Group M. Mealling
Request for Comments: 3061 Verisign
Category: Informational February 2001
Obsoletes: 3001
A URN Namespace of Object Identifiers
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
This document describes a Uniform Resource Name (URN) namespace that
contains Object Identifiers (OIDs). It obsoletes RFC 3001.
1. Introduction
An Object Identifier is a tree of nodes where each node is simply a
sequence of digits. The rules roughly state that once an entity is
assigned a node in the Object Identifier (OID) tree, it has sole
discretion to further subdelegate sub-trees off of that node. Some
examples of OIDs include:
o 1.3.6.1 - the Internet OID
o 1.3.6.1.4.1 - IANA-assigned company OIDs, used for private MIBs
and such things
o 1.3.6.1.2.1.27 - The Applications MIB
o 0.9.2342.19200300.100.4 - Object ID's used in the directory pilot
project to identify X.500 Object Classes. Mostly defined in RFC
1274.
This document specifies the "oid" URN namespace [2]. This namespace
is for encoding an Object Identifier as specified in ASN.1 [3] as a
URI. RFC 3001 [1] is obsoleted by this specification.
The namespace specification is for a formal namespace.
2. Specification Template
Namespace ID:
"oid" requested.
Registration Information:
Registration Version Number: 1
Registration Date: 2000-04-30
Declared registrant of the namespace:
The ISO/IEC Joint Technical Committee 1 - SubCommittee 6
The real authority is the ASN.1 specification itself but SC6 is
the committee that has the authority to interpret what that
means, thus that committee is listed as the registrant.
Declaration of structure:
The NSS portion of the identifier is based on the string encoding
rules found in RFC 1778 Section 2.15 [4] which specifies a series
of digits separated by a period with the most significant digit
being at the left and the least significant being at the right.
At no time shall the NSS portion of the URN contain the human
readable description of a particular node in the OID tree. The
NSS portion of the name is strictly limited to the digits 0-9 and
the '.' character with no leading zeros. No other characters are
permitted. This is all expressed in the following ABNF:
oid = number *( DOT number )
number = DIGIT / ( LEADDIGIT 1*DIGIT )
LEADDIGIT = %x31-39 ; 1-9
DIGIT = %x30 / LEADDIGIT ; 0-9
DOT = %x2E ; period
No changes are anticipated since Object Identifiers are fairly
simple and have been standardized with no changes for many years.
Relevant ancillary documentation:
Relevant documentation can be found in X.660/Amd 2 | ISO/IEC
9834-1/Amd 2[3].
Identifier uniqueness considerations:
The rules for assignment of OIDs requires that each OID be unique
to the OID space and that it cannot be reassigned or reused. By
reference this URN namespace inherents those rules.
Identifier persistence considerations:
The rules concerning the use of OIDs requires that they not be
reused once assigned. By reference this URN namespace inherents
those rules.
Process of identifier assignment:
Once an OID is assigned to some entity, that entity can then
create and assign new OIDs below that particular OID. There are
multiple entities that assign new OIDs to the general public. The
top three levels are pre-assigned as follows:
0 - ITU-T assigned
1 - ISO assigned
2 - Joint ISO/ITU-T assignment
several assigned OIDs that are of importance to the Internet are:
1.3.6.1 - the Internet OID
1.3.6.1.4.1 - IANA-assigned company OIDs, used for private
MIBs and such things
Process of identifier resolution:
At this time no resolution mechanism is defined.
Rules for Lexical Equivalence:
OIDs are composed of multiple occurrences of digits and the "."
character. Lexical equivalence is achieved by exact string match.
Conformance with URN Syntax:
There are no additional characters reserved.
Validation mechanism:
None.
Scope:
Global
3. Examples
The following examples are taken from the example OIDs from the
Introduction:
urn:oid:1.3.6.1
urn:oid:1.3.6.1.4.1
urn:oid:1.3.6.1.2.1.27
URN:OID:0.9.2342.19200300.100.4
4. Security Considerations
None not already inherent to using unverifiable OIDs.
5. Acknowledgements
The author would like to thank Harald Alvestrand for the use of his
OID database as a source for examples and references.
References
[1] Mealling, M., "A URN Namespace of Object Identifiers", RFC 3001,
November 2000.
[2] Moats, R., "URN Syntax", RFC 2141, May 1997.
[3] CCITT, "Specification of Basic Encoding Rules for Abstract
Syntax Notation One (ASN.1)", CCITT Recommendation X.209,
January 1988.
[4] Howes, T., Kille, S., Yeong, W. and C. Robbins, "The String
Representation of Standard Attribute Syntaxes", RFC 1778, March
1995.
Author's Address
Michael Mealling
Verisign
505 Huntmar Park Drive
Herndon, VA 22070
US
Phone: +1 770 935 5492
EMail: michaelm@netsol.com
URI: http://www.netsol.com
Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1Object Identifiers as URNs
An Object Identifier (OID) is a tree of nodes, where each node is a sequence of digits. Once an entity is given a node, it has sole discretion to hand out sub-trees below that node.
The memo gives examples such as 1.3.6.1 (the Internet OID) and 1.3.6.1.4.1 (IANA-assigned company OIDs, used for private MIBs). This document specifies the oid URN namespace, which encodes an OID as defined in ASN.1 as a URI. It is a formal namespace and it obsoletes RFC 3001.
Think of a huge family tree where every branch has a number. This memo says how to write a branch's number so it can be used like a web-style name.
§2The Identifier Syntax
The namespace-specific part of the name follows the string encoding in RFC 1778 section 2.15: digits separated by periods, most significant digit on the left. It is limited to the digits 0-9 and the . character, with no leading zeros. The name must never contain the human-readable description of a node.
The ABNF is short: an oid is a number followed by any number of . and another number. A number is a single digit, or a first digit from 1 to 9 followed by more digits.
Lexical equivalence is an exact string match. The memo expects no changes to the syntax, since OIDs have been standardized with no changes for many years.
A name is just numbers with dots between them. No spare zeros at the front, no words, and two names are the same only if they look exactly the same.
§3Assignment, Uniqueness and Resolution
The registrant is ISO/IEC JTC 1 SubCommittee 6, which interprets the ASN.1 specification that is the real authority. Once an OID is assigned to an entity, that entity can create and assign new OIDs below it. The top three levels are pre-assigned: 0 for ITU-T, 1 for ISO, and 2 for joint ISO/ITU-T assignment.
The URN namespace inherits the OID rules: each OID is unique and is never reassigned or reused. No resolution mechanism is defined at this time, and there is no validation mechanism. The scope is global.
Whoever owns a branch can hand out smaller branches below it, and a number is never given out twice. Nobody built a lookup service for these names yet.
- OID tree
- 0 ITU-T assigned
- 1 ISO assigned
- 1.3.6.1 the Internet OID
- 1.3.6.1.4.1 IANA-assigned company OIDs
- 1.3.6.1 the Internet OID
- 2 Joint ISO/ITU-T assignment
§4Examples and Security
The examples are urn:oid:1.3.6.1, urn:oid:1.3.6.1.4.1, urn:oid:1.3.6.1.2.1.27 and URN:OID:0.9.2342.19200300.100.4. The last shows that the prefix may be written in capitals.
The security section says there is nothing beyond what is already inherent in using unverifiable OIDs.
Writing the name is just putting urn:oid: in front of the numbers. Nothing here checks that a number really belongs to anyone.