Edward Lewis wrote:
> To me a domain name is: a sequence of bits that, when rendered in hex
> notation, can look like this:
>
> 0x03 0x61 0x62 0x63 0x07 0x65 0x78 0x61 0x6d 0x70 0x6c 0x65 0x00
>
> That is what is sent over the wire, through ports and is deposited in
> memory of name servers. Note the lack of dots. And this is why I can't
> see a difference between domain names and DNS names. To me, they are one
> in the same.
>
> This dates back to a discussion had while the labs I was in was developing
> DNSSEC code. Our boss (Russ Mundy) made the statement that there are two
> versions of a domain name, on-the-wire and in-the-file and it was the
> on-the-wire format that mattered. Later in my career I worked with a firm
> that developed it's own DNS code based on some legacy stuff from it's
> start-up days. The start-up operated on the in-the-file format,
> converting to and from on-the-wire format constantly. This was not a good
> approach.
>
> So when I hear "domain name" I think of the format that includes an octet
> with flags and a number and then that number of octets of data,
> terminating with a null octet. What is seen in files is just a
> transliteration of that, "abc.example." is just a conventional way to
> represent the domain name above.
Hi, Ed:
I have a somewhat different understanding. I read in 1034 ยง3.1 that:
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 name of a node is the list of the labels on the path from
the node to the root of the tree. [...]
These definitions use abstract data types like trees and lists. (They
shouldn't be confused with concrete data structure implementations of
those types.)
The same section then defines two concrete representations of domain
names:
[DNS wire format names.] 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. [...]
[DNS "presentation format" names.] 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. [...]
So, I take the octet sequence \# 13 03616263076578616D706C6500 and the
character string "abc.example." to be two different representations of
the domain name whose list of labels is "abc", "example", and "". But I
don't see how one of the concrete forms is a transliteration of the
other.
--
Robert Edmonds
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop