Cache Me If You Can: Effects of DNS Time-to-Live (extended)

Moura, Giovane C. M. and Heidemann, John and de O. Schmidt, Ricardo and Hardaker, Wes
USC/Information Sciences Institute

citation

Giovane C. M. Moura, John Heidemann, Ricardo de O. Schmidt and Wes Hardaker 2019. Cache Me If You Can: Effects of DNS Time-to-Live (extended). Technical Report ISI-TR-734b. USC/Information Sciences Institute. [PDF]

abstract

DNS depends on extensive caching for good performance, and every DNS zone owner must set Time-to-Live (TTL) values to control their DNS caching. Today there is relatively little guidance backed by research about how to set TTLs, and operators must balance conflicting demands of caching against agility of configuration. Exactly how TTL value choices affect operational networks is quite challenging to understand for several reasons: DNS is a distributed service, DNS resolution is security-sensitive, and resolvers require multiple types of information as they traverse the DNS hierarchy. These complications mean there are multiple frequently interacting, places TTLs can be specified. This paper provides the first careful evaluation of how these factors affect the effective cache lifetimes of DNS records, and provides recommendations for how to configure DNS TTLs based on our findings. We provide recommendations in TTL choice for different situations, and for where they must be configured. We show that longer TTLs have significant promise, reducing median latency from 183ms to 28.7ms for one country-code TLD.

reference

@techreport{Moura19a,
  author = {Moura, Giovane C. M. and Heidemann, John and de O. Schmidt, Ricardo and Hardaker, Wes},
  title = {Cache Me If You Can: Effects of {DNS} {Time-to-Live} (extended)},
  institution = {USC/Information Sciences Institute},
  year = {2019},
  sortdate = {2018-07-16},
  number = {ISI-TR-734b},
  note = {Released May 2018, updated Sept.~2019},
  project = {ant, lacanic, divoice, paaddos, nipet, ddidd},
  jsubject = {network_security},
  month = jul,
  jlocation = {johnh: pafile},
  keywords = {anycast, dns, ttl, ddos, root ddos},
  url = {https://ant.isi.edu/%7ejohnh/PAPERS/Moura19a.html},
  pdfurl = {https://ant.isi.edu/%7ejohnh/PAPERS/Moura19a.pdf},
  xxxblogurl = {https://ant.isi.edu/blog/?p=1192},
  otherurl = {ftp://ftp.isi.edu/isi-pubs/tr-734.pdf},
  dataurl = {https://ant.isi.edu/datasets/dns/#Moura19a_data},
  myorganization = {USC/Information Sciences Institute},
  copyrightholder = {authors}
}