Network Working Group C. Farrell Request for Comments: 1712 M. Schulze Category: Experimental S. Pleitner D. Baldoni Curtin University of Technology November 1994 DNS Encoding of Geographical Location Status of this Memo This memo defines an Experimental Protocol for the Internet community. This memo does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited. Abstract This document defines the format of a new Resource Record (RR) for the Domain Naming System (DNS), and reserves a corresponding DNS type mnemonic and numerical code. This definition deals with associating geographical host location mappings to host names within a domain. The data shown in this document is fictitious and does not necessarily reflect the real Internet. 1. Introduction It has been a long standing problem to relate IP numbers to geographical locations. The availability of Geographical location information has immediate applications in network management. Such information can be used to supplement the data already provided by utilities such as whois [Har85], traceroute [VJ89], and nslookup [UCB89]. The usefulness and functionality of these already widely used tools would be greatly enhanced by the provision of reliable geographical location information. The ideal way to manage and maintain a database of information, such as geographical location of internet hosts, is to delegate responsibility to local domain administrators. A large distributed database could be implemented with a simple mechanism for updating the local information. A query mechanism also has to be available for checking local entries, as well as inquiring about data from non-local domains.
2. Background The Internet continues to grow at an ever increasing rate with IP numbers allocated on a first-come-first-serve basis. Deciding when and how to setup a database of geographical information about internet hosts presented a number of options. The uumap project [UU85] was the first serious attempt to collect geographical location data from sites and store it centrally. This project met with limited success because of the difficulty in maintaining and updating a large central database. Another problem was the lack of tools for the checking the data supplied, this problem resulted in some erroneous data entering the database. 2.1 SNMP: Using an SNMP get request on the sysLocation MIB (Management Information Base) variable was also an option, however this would require the host to be running an appropriate agent with public read access. It was also felt that MIB data should reflect local management data (e.g., "this" host is on level 5 room 74) rather than a hosts geographical position. This view is supported in the examples given in literature in this area [ROSE91]. 2.2 X500: The X.500 Directory service [X.500.88] defined as part of the ISO standards also appears as a potential provider of geographical location data. However due to the limited implementations of this service it was decided to defer this until this service gains wider use and acceptance within the Internet community. 2.3 BIND: The DNS [Mock87a][Mock87b] represents an existing system ideally suited to the provision of host specific information. The DNS is a widely used and well-understood mechanism for providing a distributed database of such information and its extensible nature allows it to be used to disseminate virtually any information. The most commonly used DNS implementation is the Berkeley Internet Name Domain server BIND [UCB89]. The information we wished to make available needed to be updated locally but available globally; a perfect match with the services provided by the DNS. Current DNS servers provide a variety of useful information about hosts in their domain but lack the ability to report a host's geographical location.
3. RDATA Format MSB LSB +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / LONGITUDE / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / LATITUDE / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / ALTITUDE / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ where: LONGITUDE The real number describing the longitude encoded as a printable string. The precision is limited by 256 charcters within the range -90..90 degrees. Positive numbers indicate locations north of the equator. LATITUDE The real number describing the latitude encoded as a printable string. The precision is limited by 256 charcters within the range -180..180 degrees. Positive numbers indicate locations east of the prime meridian. ALTITUDE The real number describing the altitude (in meters) from mean sea-level encoded as a printable string. The precision is limited by 256 charcters. Positive numbers indicate locations above mean sea-level. Latitude/Longitude/Altitude values are encoded as strings as to avoid the precision limitations imposed by encoding as unsigned integers. Although this might not be considered optimal, it allows for a very high degree of precision with an acceptable average encoded record length. 4. The GPOS RR The geographical location is defined with the mnemonic GPOS and type code 27. GPOS has the following format: <owner> <ttl> <class> GPOS <longitude> <latitude> <altitude> A floating point format was chosen to specify geographical locations for reasons of simplicity. This also guarantees a concise unambiguous description of a location by enforcing three compulsory numerical values to be specified.
The owner, ttl, and class fields are optional and default to the last defined value if omitted. The longitude is a floating point number ranging from -90 to 90 with positive values indicating locations north of the equator. For example Perth, Western Australia is located at 32^ 7` 19" south of the equator which would be specified as -32.68820. The latitude is a number ranging from -180.0 to 180.0. For example Perth, Western Australia is located at 116^ 2' 25" east of the prime meridian which would be specified as 116.86520. Curtin University, Perth is also 10 meters above sea-level. The valid GPOS record for a host at Curtin University in Perth Western Australia would therefore be: GPOS -32.6882 116.8652 10.0 There is no limit imposed on the number of decimal places, although the length of the encoded string is limited to 256 characters for each field. It is also suggested that administrators limit their entries to the minimum number of necessary characters in each field. 5. Master File Format Each host requires its own GPOS field in the corresponding DNS RR to explicitly specify its geographical location and altitude. If the GPOS field is omitted, a DNS enquiry will return no position information for that host. Consider the following example: ; Authoritative data for cs.curtin.edu.au. ; @ IN SOA marsh.cs.curtin.edu.au. postmaster.cs.curtin.edu.au. ( 94070503 ; Serial (yymmddnn) 10800 ; Refresh (3 hours) 3600 ; Retry (1 hour) 3600000 ; Expire (1000 hours) 86400 ; Minimum (24 hours) ) IN NS marsh.cs.curtin.edu.au. marsh IN A 22.214.171.124 IN MX 0 marsh IN HINFO SGI-Indigo IRIX-4.0.5F IN GPOS -32.6882 116.8652 10.0 ftp IN CNAME marsh
lillee IN A 126.96.36.199 IN MX 0 marsh IN HINFO SGI-Indigo IRIX-4.0.5F IN GPOS -32.6882 116.8652 10.0 hinault IN A 188.8.131.52 IN MX 0 marsh IN HINFO SUN-IPC SunOS-4.1.3 IN GPOS -22.6882 116.8652 250.0 merckx IN A 184.108.40.206 IN MX 0 marsh IN HINFO SUN-IPC SunOS-4.1.1 ambrose IN A 220.127.116.11 IN MX 0 marsh IN HINFO SGI-CHALLENGE_L IRIX-5.2 IN GPOS -32.6882 116.8652 10.0 The hosts marsh, lillee, and ambrose are all at the same geographical location, Perth Western Australia (-32.68820 116.86520). The host hinault is at a different geographical location, 10 degrees north of Perth in the mountains (-22.6882 116.8652 250.0). For security reasons we do not wish to give the location of the host merckx. Although the GPOS clause is not a standard entry within BIND configuration files, most vendor implementations seem to ignore whatever is not understood upon startup of the DNS. Usually this will result in a number of warnings appearing in system log files, but in no way alters naming information or impedes the DNS from performing its normal duties.
7. References [ROSE91] Rose M., "The Simple Book: An Introduction to Management of TCP/IP-based Internets", Prentice-Hall, Englewood Cliffs, New Jersey, 1991. [X.500.88] CCITT: The Directory - Overview of Concepts, Models and Services", Recommendations X.500 - X.521. [Har82] Harrenstein K, Stahl M., and E. Feinler, "NICNAME/WHOIS" RFC 812, SRI NIC, March 1982. [Mock87a] Mockapetris P., "Domain Names - Concepts and Facilities", STD 13, RFC 1034, USC/Information Sciences Institute, November 1987. [Mock87b] Mockapetris P., "Domain Names - Implementation and Specification", STD 13, RFC 1035, USC/Information Sciences Institute, November 1987. [FRB93] Ford P., Rekhter Y., and H-W. Braun, "Improving the Routing and Addressing of IP", IEEE Network Vol.7, No. 3, pp. 11-15, May 1993. [VJ89] Jacobsen V., "The Traceroute(8) Manual Page", Lawrence Berkeley Laboratory, Berkeley, CA, February 1989. [UCB89] University of California, "BIND: Berkeley Internet Name Domain Server", 1989. [UU85] UUCP Mapping Project, Software available via anonymous FTP from ftp.uu.net., 1985. 8. Security Considerations Once information has been entered into the DNS, it is considered public.
9. Authors' Addresses Craig Farrell Department of Computer Science Curtin University of technology GPO Box U1987 Perth, Western Australia EMail: email@example.com Mike Schulze Department of Computer Science Curtin University of technology GPO Box U1987 Perth, Western Australia EMail: firstname.lastname@example.org Scott Pleitner Department of Computer Science Curtin University of technology GPO Box U1987 Perth, Western Australia EMail: email@example.com Daniel Baldoni Department of Computer Science Curtin University of technology GPO Box U1987 Perth, Western Australia EMail: firstname.lastname@example.org