001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 * 019 */ 020 021package org.apache.directory.server.dns.io.encoder; 022 023 024/** 025 * 2. New resource record definition and domain 026 * 027 * A record type is defined to store a host's IPv6 address. A host that 028 * has more than one IPv6 address must have more than one such record. 029 * 030 * 2.1 AAAA record type 031 * 032 * The AAAA resource record type is a record specific to the Internet 033 * class that stores a single IPv6 address. 034 * 035 * The IANA assigned value of the type is 28 (decimal). 036 * 037 * 2.2 AAAA data format 038 * 039 * A 128 bit IPv6 address is encoded in the data portion of an AAAA 040 * resource record in network byte order (high-order byte first). 041 * 042 * 2.3 AAAA query 043 * 044 * An AAAA query for a specified domain name in the Internet class 045 * returns all associated AAAA resource records in the answer section of 046 * a response. 047 * 048 * A type AAAA query does not trigger additional section processing. 049 * 050 * 2.4 Textual format of AAAA records 051 * 052 * The textual representation of the data portion of the AAAA resource 053 * record used in a master database file is the textual representation 054 * of an IPv6 address as defined in [3]. 055 * 056 * 2.5 IP6.ARPA Domain 057 * 058 * A special domain is defined to look up a record given an IPv6 059 * address. The intent of this domain is to provide a way of mapping an 060 * IPv6 address to a host name, although it may be used for other 061 * purposes as well. The domain is rooted at IP6.ARPA. 062 * 063 * An IPv6 address is represented as a name in the IP6.ARPA domain by a 064 * sequence of nibbles separated by dots with the suffix ".IP6.ARPA". 065 * The sequence of nibbles is encoded in reverse order, i.e., the 066 * low-order nibble is encoded first, followed by the next low-order 067 * nibble and so on. Each nibble is represented by a hexadecimal digit. 068 * For example, the reverse lookup domain name corresponding to the 069 * address 070 * 071 * 4321:0:1:2:3:4:567:89ab 072 * 073 * would be 074 * 075 * 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. 076 * ARPA. 077 * 078 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 079 */ 080public class Inet6AddressRecordEncoder 081{ 082}