The domain name system (DNS) is a hierarchical, distributed naming system, designed to address the problem of explosive growth of the number of machines in the current Internet environment. It can be seen as some sort of hierarchical, distributed database, managed in a decentralized way, by thousands of administrators. The database is partitioned in zones. Each zone is replicated by at least two servers, in a primary/secondary or master/slave scheme. By its nature, organization and decentralized management style, the introduction of errors and inconsistencies in this database is not easily avoidable. Those errors impact applications with more or less severity, leading to resource wasting and/or service denial. Unfortunately, there is no possibility to run a test over some sort of ``global state'' of this database.
The problems described above lead us to develop the Ddt (Domain Debug Tools) package. This package allows the verification of the coherence of sub-sets of the database, both syntactically and semantically. Most known errors are detected by Ddt. Therefore, this package can play an important role helping DNS administrators. Besides this, it also allows the production of several statistics over the DNS data, as for example hosts per domain, more popular names, etc.
The Ddt package is a set of commands working over zone files, cached locally. We took this option because it allows an efficient analisys of the coherence of a set of zones. This is the only way some errors can be detected. Furthermore, it is much more efficient to work over local data than querying servers on line. When the connections aren't good enough, as is in our situation, this is the only realistic alternative. Zone files may be outdated when they are analyzed, however, even if the servers were queried on line, it is also possible to face a similar situation. This means that working over cached data is really the only correct alternative.
In order to debug and test the effectiveness of Ddt, we have run a full test over a sub-set of the DNS database, mostly concerning the European countries. During the week from April 13th to April 20th we cached in our site almost all the european zone files and ran an extensive analysis of this data. This allowed us to obtain some conclusions about the most usual errors, as well as some interesting results about the several ``cultures'' used by DNS administrators in the different countries, etc. Furthermore, this analysis allowed us to discover several paradigmatic errors. Some are simply ``curious or funny'', however, some are dangerous and should be quickly corrected. Some of those results take the form of statistics tables.
The reader should be aware of the fact that the examples shown are real ones. Some of them have been corrected since the data used for the analysis has been cached however, they were present in the european DNS the night of the 14th April 1992.
This paper presents our work and the results obtained during the analysis of the european DNS data. Sections 2 and 3 present an introduction to the DNS as well as the rational behind DNS administration and the reasons that provided motivation for building Ddt. Section 4, named ``European DNS culture and folklore'', presents the results we got while analysing the european DNS data. Finally, section 5 closes the paper with some remarks about the limits of Ddt as well as some open issues.