IRIS: An Address Registry (areg) Type for the Internet Registry Information Service
Extracted elements (28)
Address registries do not have natural links to DNS. Using the reverse DNS tree is problematic because IP address delegations do not fall on byte boundaries (unlike reverse DNS), and DNS contains no information about autonomous system delegation. Therefore, top-down resolution uses areg.iris.arpa rather than reverse DNS.
Network specificity is precisely defined: 'more specific' means a network whose entire address space is contained within a larger network; 'less specific' is the inverse. The parent/child relationship is unidirectional — a network cannot simultaneously be both parent and child of an exact-match network.
Clients MUST convert any short-form IPv4 or IPv6 address notation to fully-qualified notation before sending in <findNetworksByAddress> queries.
For the 'domainResource' match parameter type, when using an <inDomain> child element, the element MUST contain only a valid domain name (no '@' symbol), and matching SHOULD take place only on the given domain without partial matches on substrings or parent domains.
In <ipv4Network> or <ipv6Network> results, the <networkTypeInfo> referent MUST be a <simpleEntity> as defined by IRIS (RFC 3981), and the <organization> referent MUST be an <organization> result.
In <ipv4Network>, the <parent> referent MUST be an <ipv4Network> result; in <ipv6Network>, the <parent> referent MUST be an <ipv6Network> result. The referent for <organization> MUST be an <organization> result.
It is RECOMMENDED that IRIS clients issuing AREG1 requests use the 'top' resolution method when no resolution method has been explicitly given by a user. IRIS servers that are not authoritative for requested information SHOULD refer clients using the 'top' resolution method.
Results from a <findASByNumber> query MUST be <autonomousSystem> results; more than one MAY be returned.
Results from a <findNetworksByAddress> query MUST be either <ipv4Network> or <ipv6Network> result elements; more than one network result MAY be returned.
Results from a <findNetworksByHandle> query MUST be either <ipv4Network> or <ipv6Network> results; more than one MAY be returned.
Results from <findByContact> MUST be <ipv4Network>, <ipv6Network>, <autonomousSystem>, or <organization> results; more than one result MAY be returned and results MAY be of mixed types.
Results from <findNetworksByNameServer> MUST be <ipv4Network> or <ipv6Network> results; more than one result MAY be returned and results MAY be of mixed types.
The <country> element in queries and results MUST be compliant with ISO 3166 two-character country codes.
The optional <returnedResultType> element in <findByContact> MUST restrict results to one of: autonomous systems ('returnASs'), IPv4 networks ('returnIPv4Networks'), IPv6 networks ('returnIPv6Networks'), or organizations ('returnOrganizations').
The top-down URI resolution method MUST be identified as 'top' in IRIS URIs for AREG1. The resolution process first tries direct resolution against areg.iris.arpa; if no server is reachable, a negative response is returned.
Internet address registries store contact details that may be abused. The XML schema makes all data elements optional in responses, allowing registries to control what is disclosed based on their policies. Combined with IRIS transport authentication, registries can implement authorization policies (e.g., restricting NOC contact email to authenticated members) without compromising general privacy.
Five specificity search types are defined for network/ASN queries: (1) all-less-specifics: start(net)<=start(search) AND end(net)>=end(search); (2) one-level-less-specifics: most specific containing network; (3) all-more-specifics: start(net)>=start(search) AND end(net)<=end(search); (4) one-level-more-specifics: least specific contained networks; (5) exact-match: start(net)=start(search) AND end(net)=end(search).
The AREG1 registry schema defines query types for searching IP address and ASN information: <findContacts>, <findOrganizations>, <findAutonomousSystemsByName>, <findNetworksByName>, <findNetworksByAddress>, <findNetworksByHandle>, <findASByNumber>, <findByContact>, and <findNetworksByNameServer>. These are derived from the IRIS core query type.
The <autonomousSystem> result represents an assigned or allocated ASN range with child elements: <asHandle>, <asNumberStart>, <asNumberEnd>, <name>, <organization>, and either <parent> (referent MUST be an <autonomousSystem> result) or <noParent>, plus contact references and common elements.
The common result child elements group includes: <numberResourceRegistry> (referent MUST be an <organization> result), <registrationDate>, <lastUpdatedDate>, and <iris:seeAlso> for indirect associations such as comments and remarks.
The contact references group used by multiple result types includes: <adminContact>, <techContact>, <nocContact>, <abuseContact>, and <otherContact>. Each may appear multiple times, and the referent of each MUST be a <contact> result.
The <contact> result represents a point-of-contact registration with child elements: <contactHandle>, <commonName>, <eMail>, <sip>, <organization>, <postalAddress> (with <address>, <city>, <region>, <postalCode>, <country>), <phone> (with <number>, <extension>, <type>), and common child elements.
The <findNetworksByAddress> query searches for networks by IP address or address range, using a <specificity> element with values: 'exact-match', 'all-less-specific', 'one-level-less-specific', 'all-more-specific', or 'one-level-more-specific'. An optional 'allowEquivalences' attribute (default false) controls whether exact-match networks are included.
The <ipv4Network> and <ipv6Network> result types share 'ipNetworkType', containing: <networkHandle>, <name>, <startAddress>, <endAddress>, <networkType>, <networkTypeInfo>, <nameServer>, <organization>, and either <parent> or <noParent>, plus contact references and common child elements.
The <iris:lookupEntity> query supports five entity classes: 'ipv4-handle' (yields <ipv4Network>), 'ipv6-handle' (yields <ipv6Network>), 'as-handle' (yields <autonomousSystem>), 'contact-handle' (yields <contact>), and 'organization-id' (yields <organization>). Entity class names are case insensitive.
IANA registered the XML namespace URN 'urn:ietf:params:xml:ns:areg1' and the S-NAPTR application service label 'AREG1'. IANA also inserts and maintains a NAPTR DNS resource record in iris.arpa for 'areg.iris.arpa' with service 'AREG1:iris.xpc:iris.lwz' pointing to areg.nro.net.
This document introduces no new security considerations beyond those specified in IRIS (RFC 3981). Security precautions are inherited from the IRIS core protocol and its transport mechanisms such as IRIS-BEEP.
The formal XML schema for AREG1 is in namespace 'urn:ietf:params:xml:ns:areg1' and imports the IRIS core namespace 'urn:ietf:params:xml:ns:iris1'. Query and result types extend iris:queryType and iris:resultType respectively. The specificityType enumeration encodes: 'exact-match', 'all-less-specific', 'one-level-less-specific', 'all-more-specific', 'one-level-more-specific'.