SocketFamily |
|
This object describes the socket Family |
TEXTUAL-CONVENTION |
|
|
|
|
INTEGER |
unknown(1), unix(2), darpaInternet(3), darpaIMP(4), pUP(5), cHAOSFamily(6), xeroxNovell(7), nBS(8), eCMA(9), dATAKIT(10), cCITT(11), sNA(12), dECnet(13), directDataLinkInterface(14), dECLAT(15), nSCHyperChannel(16), appleTalk(17), netqorkInterfaceTap(18), iEEE8020ISO8802(19), oSI(20), x25(21), oSIAFI47IDI4(22), uSGovermentOSI(23) |
|
DomainName |
|
The domain name space is a tree structure. Each node and
leaf on the tree corresponds to a resource set (which may be
empty). The domain system makes no distinctions between the
uses of the interior nodes and leaves, and this memo uses the
term 'node' to refer to both. Each node has a label, which is
zero to 63 octets in length. Brother nodes may not have the
same label, although the same label can be used for nodes
which are not brothers. One label is reserved, and that is
the null (i.e., zero length) label used for the root.
The domain name of a node is the list of the labels on the
path from the node to the root of the tree. By convention,
the labels that compose a domain name are printed or read
left to right, from the most specific (lowest, farthest from
the root) to the least specific (highest, closest to the
root).
Internally, programs that manipulate domain names should
represent them as sequences of labels, where each label is a
length octet followed by an octet string. Because all domain
names end at the root, which has a null string for a label,
these internal representations can use a length byte of zero
to terminate a domain name.
By convention, domain names can be stored with arbitrary case, but
domain name comparisons for all present domain functions are done in
a case-insensitive manner, assuming an ASCII character set, and a
high order zero bit. This means that you are free to create a node
with label 'A' or a node with label 'a', but not both as brothers;
you could refer to either using 'a' or 'A'. When you receive a
domain name or label, you should preserve its case. The rationale
for this choice is that we may someday need to add full binary
domain names for new services; existing services would not be
changed.
When a user needs to type a domain name, the length of each label is
omitted and the labels are separated by dots ('.'). Since a complete
domain name ends with the root label, this leads to a printed form
which ends in a dot. We use this property to distinguish between:
character string which represents a complete domain name
(often called 'absolute'). For example, 'poneria.ISI.EDU.'
- a character string that represents the starting labels of a
domain name which is incomplete, and should be completed by
local software using knowledge of the local domain (often
called 'relative'). For example, 'poneria' used in the
ISI.EDU domain.
Relative names are either taken relative to a well known
origin, or to a list of domains used as a search list. Relative
names appear mostly at the user interface, where their interpretation
varies from implementation to implementation, and in master files,
where they are relative to a single origin domain name. The most
common interpretation uses the root '.' as either the single origin
or as one of the members of the search list, so a multi-label relative
name is often one where the trailing dot has been omitted to save
typing.
To simplify implementations, the total number of octets that represent a
domain name (i.e., the sum of all label octets and label lengths) is
limited to 255.
A domain is identified by a domain name, and consists of that part of
the domain name space that is at or below the domain name which
specifies the domain. A domain is a subdomain of another domain if it
is contained within that domain. This relationship can be tested by
seeing if the subdomain's name ends with the containing domain's name.
For example, A.B.C.D is a subdomain of B.C.D, C.D, D, and '.' |
TEXTUAL-CONVENTION |
|
|
|
|
OCTET STRING |
Size(1..64) |
|