Implements a DNS AAAA resource record type for IPv6 addresses found in an DNS query response.
TAAAARecord = class(TResultRecord);
TAAAARecord is a TResultRecord descendant that represents the AAAA resource record type in DNS, as described in the Internet Standards documents:
RFC 1034 - Domain Names Concepts and Facilities
RFC 1035 - Domain Names Implementation and Specification
RFC 1884 - IP Version 6 Addressing Architecture
RFC 1886 - DNS Extensions to support IP version 6
AAAA resource record types allow storage of IPv6 addresses in DNS, and allow DNS servers to perform address lookups based on the 128-bit IP address values.
AAAA resource records are included in DNS queries for the IP6.INT Domain, and may also be included in any query that performs additional section processing to locate IPv4 addresses. (Both IPv4 and IPv6 are now required).
The AAAA resource record type is specific to the Internet class of resource records.
TAAAARecords resource records may appear in the QueryResult for TIdDNSResolver when the value qtAAAA is used in its QueryType property.
The Address property in TAAAARecord is used to store the string representation of the 128-bit IPv6 address as found in the RDATA for the resource record.
Values in Address are in network byte order (high-order byte first), as described in the Intenet Standards document:
RFC 1884 - IP Version 6 Addressing Architecture
The IP6.INT Domain is defined to look up a record given an address. The intent of this domain is to provide a way of mapping an IPv6 address to a host name, although it may be used for other purposes as well. The domain is rooted at IP6.INT.
An IPv6 address is represented as a name in the IP6.INT domain by a sequence of nibbles separated by dots with the suffix ".IP6.INT". The sequence of nibbles is encoded in reverse order, i.e. the low-order nibble is encoded first, followed by the next low-order nibble and so on. Each nibble is represented by a hexadecimal digit. For example, the inverse lookup domain name corresponding to the address
4321:0:1:2:3:4:567:89ab
would be
b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.INT.
All existing query types that perform type A additional section processing, i.e. name server (NS), mail exchange (MX) and mailbox (MB) query types, must be redefined to perform both type A and type AAAA additional section processing. These new definitions mean that a name server must add any relevant IPv4 addresses and any relevant IPv6 addresses available locally to the additional section of a response when processing any one of the above queries.
As a result, TIdDNSResolver can include TARecord and TAAAARecord resource record types any time a query is issued for these query types.
TResultRecord TQUeryResult.Add TIdDNSResolver.QueryResult TIdDNSResolver.QueryType
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
|
Post feedback to the Indy Docs Newsgroup.
|