Maverick
2008-04-01 14:37:24 UTC
Hi,
I have query regarding how domain name is passed in FQDN option 39.
According to RFC 4704 section 4.2,
The Domain Name part of the option carries all or part of the FQDN of
a DHCPv6 client. The data in the Domain Name field MUST be encoded
as described in Section 8 of [5].
According to RFC 3315 section 8,
Domain name or a list of domain names is encoded using the technique
described in
section 3.1 of RFC 1035 [10].
According to RFC 1035, section 3.1
Domain names in messages are expressed in terms of a sequence of labels.
Each label is represented as a one octet length field followed by that
number of octets. Since every domain name ends with the null label of
the root, a domain name is terminated by a length byte of zero. The
high order two bits of every length octet must be zero, and the
remaining six bits of the length field limit the label to 63 octets or
less.
Looking at above format, from implementation perspective, this adds extra
overhead on DHCPv6 client and DHCPv6 server even though they have nothing to
do with those name...other than passing to DNS. It could have been much
simpler if could have just passed Fully Qualified Domain Name in this option
as was the case with DHCPv4 protocol where sending FQDN in this format is
not MUST clause.
It would be great if anyone can help in understanding reasoning behind this
decision. Also, I am sceptical about DNS compatibility if we follow
different formats in case of DHCPv4 and DHCPv6. Any thoughts?
Thanks
-Maverick
I have query regarding how domain name is passed in FQDN option 39.
According to RFC 4704 section 4.2,
The Domain Name part of the option carries all or part of the FQDN of
a DHCPv6 client. The data in the Domain Name field MUST be encoded
as described in Section 8 of [5].
According to RFC 3315 section 8,
Domain name or a list of domain names is encoded using the technique
described in
section 3.1 of RFC 1035 [10].
According to RFC 1035, section 3.1
Domain names in messages are expressed in terms of a sequence of labels.
Each label is represented as a one octet length field followed by that
number of octets. Since every domain name ends with the null label of
the root, a domain name is terminated by a length byte of zero. The
high order two bits of every length octet must be zero, and the
remaining six bits of the length field limit the label to 63 octets or
less.
Looking at above format, from implementation perspective, this adds extra
overhead on DHCPv6 client and DHCPv6 server even though they have nothing to
do with those name...other than passing to DNS. It could have been much
simpler if could have just passed Fully Qualified Domain Name in this option
as was the case with DHCPv4 protocol where sending FQDN in this format is
not MUST clause.
It would be great if anyone can help in understanding reasoning behind this
decision. Also, I am sceptical about DNS compatibility if we follow
different formats in case of DHCPv4 and DHCPv6. Any thoughts?
Thanks
-Maverick