Wow, That's a lot of packets
Wow, That's a lot of packets
复制标题
DOI:
--
复制
发表时间:
2003
期刊:
影响因子:
--
通讯作者:
D. Wessels;Marina Fomenkov
中科院分区:
文献类型:
--
作者:
D. Wessels;Marina Fomenkov
Organizations operating Root DNS servers report loads exceeding 100 million queries per day. Given the design goals of the DNS, and what we know about today’s Internet, this number is about two orders of magnitude more than we would expect. With the assistance of one root server operator, we took a 24-hour trace of queries arriving at one of the thirteen root servers. In this paper we analyze these data and use a simple model of the DNS to classify each query into one of nine categories. We find that, by far, most of the queries are repeats and that only a small percentage are legitimate. We also characterize a few of the “root server abusers,” that is, clients sending a particularly large number of queries to the root server. We believe that much of the root server abuse occurs because the querying agents never receive the replies, due either to packet filters, or to routing issues. Keywords—DNS root server I. BACKGROUND: DNS 101 The Domain Name System (DNS) is a fundamental component of the modern Internet [1], providing a critical link between human users and Internet routing infrastructure by mapping host names to IP addresses. The DNS utilizes a hierarchical name space divided into zones, or domains. This hierarchy is manifested in the widespread “dots” structure. For example, com is the parent zone for example.com, microsoft.com, cnn.com, and approximately 20 million other zones. Each zone has one or more authoritative name servers. These are dedicated servers, whose job is to answer queries for names within their zone(s). For example, UCSD has three authoritative name servers. An application that needs to know the IP address for www.ucsd.edu can send a DNS query to one of those servers, which then returns The Measurement Factory, Inc., Boulder, Colorado, E-mail: wessels@measurement-factory.com. CAIDA, San Diego Supercomputer Center, University of California, San Diego. E-mail: marina@caida.org. Support for this work is provided by WIDE and DARPA NMS N66001-01-1-8909. an authoritative answer. If the application does not know where to send a query it asks the servers in the parent zone. In the example above, not knowing anything about ucsd.edu, the application should send a query to the authoritative server for the edu zone. If the application does not know about the edu zone, it queries the “root zone.” This process is called recursive iteration. The DNS root zone is served by 13 name servers (not to be confused with the 13 generic top-level domain servers) distributed across the globe. Thirteen is the maximum number of root servers possible in the current DNS architecture because that is the most that can fit inside a 512byte UDP reply packet. Ten root servers are located in the U.S., two are in Europe, and one is in Asia.1 The root zone and the root name servers are vital because they are the starting points for locating anything in the DNS. Without them, the DNS and hence almost every application we use (the Web, ssh, email) would be rendered unusable. DNS clients, or resolvers, that query name servers, come in one of two flavors: stub and recursive. Stub resolvers, typically found in user applications, such as web browsers, ssh clients, and mail transfer agents, are rather primitive and mostly rely on smarter recursive resolvers that understand name server referrals. Recursive resolvers are usually implemented in specialized DNS applications such as the Berkeley Internet Domain Name (BIND) [2] server and Microsoft’s DNS server. Most organizations operate local recursive name servers. Recursive name servers cache name server responses, including referrals. Caching conserves network resources because intermediate servers do not need to query the root name servers for every request. For example, the name server learns that a.gtld-servers.net and others are authoritative for the com zone and sets the time-tolive (TTL) for this information. Typical TTLs for top level domains are on the order of 1–2 days. In theory, a caching recursive name server only needs to query the root name servers for an unknown top level domain or when a TTL expires. However, a number of studies have shown that the root name servers receive many more queries than they should. In this paper we thoroughly investigate and characterize root name server trafIn fact many of the root name servers are actually multiple hosts behind network load balancers. Some of them even occupy a few physical locations, employing IPv4 anycast to operate under a single IP address.