| rfc9199.original | rfc9199.txt | |||
|---|---|---|---|---|
| DNSOP Working Group G.C.M. Moura | Independent Submission G. Moura | |||
| Internet-Draft SIDN Labs/TU Delft | Request for Comments: 9199 SIDN Labs/TU Delft | |||
| Intended status: Informational W. Hardaker | Category: Informational W. Hardaker | |||
| Expires: 8 July 2022 J. Heidemann | ISSN: 2070-1721 J. Heidemann | |||
| USC/Information Sciences Institute | USC/Information Sciences Institute | |||
| M. Davids | M. Davids | |||
| SIDN Labs | SIDN Labs | |||
| 4 January 2022 | March 2022 | |||
| Considerations for Large Authoritative DNS Servers Operators | Considerations for Large Authoritative DNS Server Operators | |||
| draft-moura-dnsop-authoritative-recommendations-11 | ||||
| Abstract | Abstract | |||
| Recent research work has explored the deployment characteristics and | Recent research work has explored the deployment characteristics and | |||
| configuration of the Domain Name System (DNS). This document | configuration of the Domain Name System (DNS). This document | |||
| summarizes the conclusions from these research efforts and offers | summarizes the conclusions from these research efforts and offers | |||
| specific, tangible considerations or advice to authoritative DNS | specific, tangible considerations or advice to authoritative DNS | |||
| server operators. Authoritative server operators may wish to follow | server operators. Authoritative server operators may wish to follow | |||
| these considerations to improve their DNS services. | these considerations to improve their DNS services. | |||
| It is possible that the results presented in this document could be | It is possible that the results presented in this document could be | |||
| applicable in a wider context than just the DNS protocol, as some of | applicable in a wider context than just the DNS protocol, as some of | |||
| the results may generically apply to any stateless/short-duration, | the results may generically apply to any stateless/short-duration | |||
| anycasted service. | anycasted service. | |||
| This document is not an IETF consensus document: it is published for | This document is not an IETF consensus document: it is published for | |||
| informational purposes. | informational purposes. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
| provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This is a contribution to the RFC Series, independently of any other | |||
| and may be updated, replaced, or obsoleted by other documents at any | RFC stream. The RFC Editor has chosen to publish this document at | |||
| time. It is inappropriate to use Internet-Drafts as reference | its discretion and makes no statement about its value for | |||
| material or to cite them other than as "work in progress." | implementation or deployment. Documents approved for publication by | |||
| the RFC Editor are not candidates for any level of Internet Standard; | ||||
| see Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 8 July 2022. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9199. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. | |||
| described in Section 4.e of the Trust Legal Provisions and are | ||||
| provided without warranty as described in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Background | |||
| 3. Considerations . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Considerations | |||
| 3.1. C1: Deploy anycast in every authoritative server to enhance | 3.1. C1: Deploy Anycast in Every Authoritative Server to Enhance | |||
| distribution and latency . . . . . . . . . . . . . . . . 5 | Distribution and Latency | |||
| 3.1.1. Research background . . . . . . . . . . . . . . . . . 5 | 3.1.1. Research Background | |||
| 3.1.2. Resulting considerations . . . . . . . . . . . . . . 6 | 3.1.2. Resulting Considerations | |||
| 3.2. C2: Optimizing routing is more important than location | 3.2. C2: Optimizing Routing is More Important than Location | |||
| count and diversity . . . . . . . . . . . . . . . . . . . 7 | Count and Diversity | |||
| 3.2.1. Research background . . . . . . . . . . . . . . . . . 7 | 3.2.1. Research Background | |||
| 3.2.2. Resulting considerations . . . . . . . . . . . . . . 8 | 3.2.2. Resulting Considerations | |||
| 3.3. C3: Collecting anycast catchment maps to improve | 3.3. C3: Collect Anycast Catchment Maps to Improve Design | |||
| design . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 3.3.1. Research Background | |||
| 3.3.1. Research background . . . . . . . . . . . . . . . . . 8 | 3.3.2. Resulting Considerations | |||
| 3.3.2. Resulting considerations . . . . . . . . . . . . . . 9 | 3.4. C4: Employ Two Strategies When under Stress | |||
| 3.4. C4: When under stress, employ two strategies . . . . . . 9 | 3.4.1. Research Background | |||
| 3.4.1. Research background . . . . . . . . . . . . . . . . . 10 | 3.4.2. Resulting Considerations | |||
| 3.4.2. Resulting considerations . . . . . . . . . . . . . . 11 | 3.5. C5: Consider Longer Time-to-Live Values Whenever Possible | |||
| 3.5. C5: Consider longer time-to-live values whenever | 3.5.1. Research Background | |||
| possible . . . . . . . . . . . . . . . . . . . . . . . . 11 | 3.5.2. Resulting Considerations | |||
| 3.5.1. Research background . . . . . . . . . . . . . . . . . 11 | 3.6. C6: Consider the Difference in Parent and Children's TTL | |||
| 3.5.2. Resulting considerations . . . . . . . . . . . . . . 13 | Values | |||
| 3.6. C6: Consider the TTL differences between parents and | 3.6.1. Research Background | |||
| children . . . . . . . . . . . . . . . . . . . . . . . . 14 | 3.6.2. Resulting Considerations | |||
| 3.6.1. Research background . . . . . . . . . . . . . . . . . 14 | 4. Security Considerations | |||
| 3.6.2. Resulting considerations . . . . . . . . . . . . . . 15 | 5. Privacy Considerations | |||
| 4. Security considerations . . . . . . . . . . . . . . . . . . . 15 | 6. IANA Considerations | |||
| 5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 15 | 7. References | |||
| 6. IANA considerations . . . . . . . . . . . . . . . . . . . . . 15 | 7.1. Normative References | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | 7.2. Informative References | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | Acknowledgements | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 16 | Contributors | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 17 | Authors' Addresses | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | ||||
| 1. Introduction | 1. Introduction | |||
| This document summarizes recent research work that explored the | This document summarizes recent research that explored the deployed | |||
| deployed DNS configurations and offers derived, specific tangible | DNS configurations and offers derived, specific, tangible advice to | |||
| advice to DNS authoritative server operators (DNS operators | DNS authoritative server operators (referred to as "DNS operators" | |||
| hereafter). The considerations (C1--C5) presented in this document | hereafter). The considerations (C1-C6) presented in this document | |||
| are backed by peer-reviewed research works, which used wide-scale | are backed by peer-reviewed research, which used wide-scale Internet | |||
| Internet measurements to draw their conclusions. This document | measurements to draw their conclusions. This document summarizes the | |||
| summarizes the research results and describes the resulting key | research results and describes the resulting key engineering options. | |||
| engineering options. In each section, it points readers to the | In each section, readers are pointed to the pertinent publications | |||
| pertinent publications where additional details are presented. | where additional details are presented. | |||
| These considerations are designed for operators of "large" | These considerations are designed for operators of "large" | |||
| authoritative DNS servers. In this context, "large" authoritative | authoritative DNS servers, which, in this context, are servers with a | |||
| servers refers to those with a significant global user population, | significant global user population, like top-level domain (TLD) | |||
| like top-level domain (TLD) operators, run by either a single or | operators, run by either a single operator or multiple operators. | |||
| multiple operators. Typically these networks are deployed on wide | Typically, these networks are deployed on wide anycast networks | |||
| anycast networks [RFC1546][AnyBest]. These considerations may not be | [RFC1546] [AnyBest]. These considerations may not be appropriate for | |||
| appropriate for smaller domains, such as those used by an | smaller domains, such as those used by an organization with users in | |||
| organization with users in one unicast network, or in one city or | one unicast network or in a single city or region, where operational | |||
| region, where operational goals such as uniform, global low latency | goals such as uniform, global low latency are less required. | |||
| are less required. | ||||
| It is possible that the results presented in this document could be | It is possible that the results presented in this document could be | |||
| applicable in a wider context than just the DNS protocol, as some of | applicable in a wider context than just the DNS protocol, as some of | |||
| the results may generically apply to any stateless/short-duration, | the results may generically apply to any stateless/short-duration | |||
| anycasted service. Because the conclusions of the reviewed studies | anycasted service. Because the conclusions of the reviewed studies | |||
| don't measure smaller networks, the wording in this document | don't measure smaller networks, the wording in this document | |||
| concentrates solely on disusing large-scale DNS authoritative | concentrates solely on discussing large-scale DNS authoritative | |||
| services only. | services. | |||
| This document is not an IETF consensus document: it is published for | This document is not an IETF consensus document: it is published for | |||
| informational purposes. | informational purposes. | |||
| 2. Background | 2. Background | |||
| The DNS has main two types of DNS servers: authoritative servers and | The DNS has two main types of DNS servers: authoritative servers and | |||
| recursive resolvers, shown by a representational deployment model in | recursive resolvers, shown by a representational deployment model in | |||
| Figure 1. An authoritative server (shown as AT1--AT4 in Figure 1) | Figure 1. An authoritative server (shown as AT1-AT4 in Figure 1) | |||
| knows the content of a DNS zone, and is responsible for answering | knows the content of a DNS zone and is responsible for answering | |||
| queries about that zone. It runs using local (possibly automatically | queries about that zone. It runs using local (possibly automatically | |||
| updated) copies of the zone and does not need to query other servers | updated) copies of the zone and does not need to query other servers | |||
| [RFC2181] in order to answer requests. A recursive resolver (Re1-- | [RFC2181] in order to answer requests. A recursive resolver | |||
| Re3) is a server that iteratively queries authoritative and other | (Re1-Re3) is a server that iteratively queries authoritative and | |||
| servers to answer queries received from client requests [RFC1034]. A | other servers to answer queries received from client requests | |||
| client typically employs a software library called a stub resolver | [RFC1034]. A client typically employs a software library called a | |||
| (stub in Figure 1) to issue its query to the upstream recursive | "stub resolver" ("stub" in Figure 1) to issue its query to the | |||
| resolvers [RFC1034]. | upstream recursive resolvers [RFC1034]. | |||
| +-----+ +-----+ +-----+ +-----+ | +-----+ +-----+ +-----+ +-----+ | |||
| | AT1 | | AT2 | | AT3 | | AT4 | | | AT1 | | AT2 | | AT3 | | AT4 | | |||
| +-----+ +-----+ +-----+ +-----+ | +-----+ +-----+ +-----+ +-----+ | |||
| ^ ^ ^ ^ | ^ ^ ^ ^ | |||
| | | | | | | | | | | |||
| | +-----+ | | | | +-----+ | | | |||
| +------| Re1 |----+| | | +------| Re1 |----+| | | |||
| | +-----+ | | | +-----+ | | |||
| | ^ | | | ^ | | |||
| | | | | | | | | |||
| | +----+ +----+ | | | +----+ +----+ | | |||
| +------|Re2 | |Re3 |------+ | +------|Re2 | |Re3 |------+ | |||
| +----+ +----+ | +----+ +----+ | |||
| ^ ^ | ^ ^ | |||
| | | | | | | |||
| | +------+ | | | +------+ | | |||
| +-| stub |-+ | +-| stub |-+ | |||
| +------+ | +------+ | |||
| Figure 1: Relationship between recursive resolvers (Re) and | Figure 1: Relationship between Recursive Resolvers (Re) and | |||
| authoritative name servers (ATn) | Authoritative Name Servers (ATn) | |||
| DNS queries issued by a client contribute to a user's perceived | DNS queries issued by a client contribute to a user's perceived | |||
| perceived latency and affect user experience [Singla2014] depending | latency and affect the user experience [Singla2014] depending on how | |||
| on how long it takes for responses to be returned. The DNS system | long it takes for responses to be returned. The DNS system has been | |||
| has been subject to repeated Denial of Service (DoS) attacks (for | subject to repeated Denial-of-Service (DoS) attacks (for example, in | |||
| example, in November 2015 [Moura16b]) in order to specifically | November 2015 [Moura16b]) in order to specifically degrade the user | |||
| degrade user experience. | experience. | |||
| To reduce latency and improve resiliency against DoS attacks, the DNS | To reduce latency and improve resiliency against DoS attacks, the DNS | |||
| uses several types of service replication. Replication at the | uses several types of service replication. Replication at the | |||
| authoritative server level can be achieved with (i) the deployment of | authoritative server level can be achieved with the following: | |||
| multiple servers for the same zone [RFC1035] (AT1---AT4 in Figure 1), | ||||
| (ii) the use of IP anycast [RFC1546][RFC4786][RFC7094] that allows | i. the deployment of multiple servers for the same zone [RFC1035] | |||
| the same IP address to be announced from multiple locations (each of | (AT1-AT4 in Figure 1); | |||
| referred to as an "anycast instance" [RFC8499]) and (iii) the use of | ||||
| load balancers to support multiple servers inside a single | ii. the use of IP anycast [RFC1546] [RFC4786] [RFC7094] that allows | |||
| (potentially anycasted) instance. As a consequence, there are many | the same IP address to be announced from multiple locations | |||
| possible ways an authoritative DNS provider can engineer its | (each of referred to as an "anycast instance" [RFC8499]); and | |||
| production authoritative server network, with multiple viable choices | ||||
| and no necessarily single optimal design. | iii. the use of load balancers to support multiple servers inside a | |||
| single (potentially anycasted) instance. As a consequence, | ||||
| there are many possible ways an authoritative DNS provider can | ||||
| engineer its production authoritative server network with | ||||
| multiple viable choices, and there is not necessarily a single | ||||
| optimal design. | ||||
| 3. Considerations | 3. Considerations | |||
| In the next sections we cover the specific consideration (C1--C6) for | In the next sections, we cover the specific considerations (C1-C6) | |||
| conclusions drawn within the academic papers about large | for conclusions drawn within academic papers about large | |||
| authoritative DNS server operators. These considerations are | authoritative DNS server operators. These considerations are | |||
| conclusions reached from academic works that authoritative server | conclusions reached from academic work that authoritative server | |||
| operators may wish to consider in order to improve their DNS service. | operators may wish to consider in order to improve their DNS service. | |||
| Each consideration offers different improvements that may impact | Each consideration offers different improvements that may impact | |||
| service latency, routing, anycast deployment, and defensive | service latency, routing, anycast deployment, and defensive | |||
| strategies for example. | strategies, for example. | |||
| 3.1. C1: Deploy anycast in every authoritative server to enhance | 3.1. C1: Deploy Anycast in Every Authoritative Server to Enhance | |||
| distribution and latency | Distribution and Latency | |||
| 3.1.1. Research background | 3.1.1. Research Background | |||
| Authoritative DNS server operators announce their service using NS | Authoritative DNS server operators announce their service using NS | |||
| records[RFC1034]. Different authoritative servers for a given zone | records [RFC1034]. Different authoritative servers for a given zone | |||
| should return the same content; typically they stay synchronized | should return the same content; typically, they stay synchronized | |||
| using DNS zone transfers (AXFR[RFC5936] and IXFR[RFC1995]), | using DNS zone transfers (authoritative transfer (AXFR) [RFC5936] and | |||
| coordinating the zone data they all return to their clients. | incremental zone transfer (IXFR) [RFC1995]), coordinating the zone | |||
| data they all return to their clients. | ||||
| As discussed above, the DNS heavily relies upon replication to | As discussed above, the DNS heavily relies upon replication to | |||
| support high reliability, ensure capacity and to reduce latency | support high reliability, ensure capacity, and reduce latency | |||
| [Moura16b]. DNS has two complementary mechanisms for service | [Moura16b]. The DNS has two complementary mechanisms for service | |||
| replication: nameserver replication (multiple NS records) and anycast | replication: name server replication (multiple NS records) and | |||
| (multiple physical locations). Nameserver replication is strongly | anycast (multiple physical locations). Name server replication is | |||
| recommended for all zones (multiple NS records), and IP anycast is | strongly recommended for all zones (multiple NS records), and IP | |||
| used by many larger zones such as the DNS Root[AnyFRoot], most top- | anycast is used by many larger zones such as the DNS root [AnyFRoot], | |||
| level domains[Moura16b] and many large commercial enterprises, | most top-level domains [Moura16b], and many large commercial | |||
| governments and other organizations. | enterprises, governments, and other organizations. | |||
| Most DNS operators strive to reduce service latency for users, which | Most DNS operators strive to reduce service latency for users, which | |||
| is greatly affected by both of these replication techniques. | is greatly affected by both of these replication techniques. | |||
| However, because operators only have control over their authoritative | However, because operators only have control over their authoritative | |||
| servers, and not over the client's recursive resolvers, it is | servers and not over the client's recursive resolvers, it is | |||
| difficult to ensure that recursives will be served by the closest | difficult to ensure that recursives will be served by the closest | |||
| authoritative server. Server selection is ultimately up to the | authoritative server. Server selection is ultimately up to the | |||
| recursive resolver's software implementation, and different vendors | recursive resolver's software implementation, and different vendors | |||
| and even different releases employ different criteria to chose the | and even different releases employ different criteria to choose the | |||
| authoritative servers with which to communicate. | authoritative servers with which to communicate. | |||
| Understanding how recursive resolvers choose authoritative servers is | Understanding how recursive resolvers choose authoritative servers is | |||
| a key step in improving the effectiveness of authoritative server | a key step in improving the effectiveness of authoritative server | |||
| deployments. To measure and evaluate server deployments, | deployments. To measure and evaluate server deployments, | |||
| [Mueller17b] deployed seven unicast authoritative name servers in | [Mueller17b] describes the deployment of seven unicast authoritative | |||
| different global locations and then queried them from more than 9000 | name servers in different global locations and then queried them from | |||
| RIPE authoritative server operators and their respective recursive | more than 9000 Reseaux IP Europeens (RIPE) authoritative server | |||
| resolvers. | operators and their respective recursive resolvers. | |||
| [Mueller17b] found that recursive resolvers in the wild query all | It was found in [Mueller17b] that recursive resolvers in the wild | |||
| available authoritative servers, regardless of the observed latency. | query all available authoritative servers, regardless of the observed | |||
| But the distribution of queries tends to be skewed towards | latency. But the distribution of queries tends to be skewed towards | |||
| authoritatives with lower latency: the lower the latency between a | authoritatives with lower latency: the lower the latency between a | |||
| recursive resolver and an authoritative server, the more often the | recursive resolver and an authoritative server, the more often the | |||
| recursive will send queries to that server. These results were | recursive will send queries to that server. These results were | |||
| obtained by aggregating results from all of the vantage points and | obtained by aggregating results from all of the vantage points, and | |||
| were not specific to any specific vendor or version. | they were not specific to any vendor or version. | |||
| The authors believe this behavior is a consequence of combining the | The authors believe this behavior is a consequence of combining the | |||
| two main criteria employed by resolvers when selecting authoritative | two main criteria employed by resolvers when selecting authoritative | |||
| servers: resolvers regularly check all listed authoritative servers | servers: resolvers regularly check all listed authoritative servers | |||
| in an NS set to determine which is closer (the least latent) and when | in an NS set to determine which is closer (the least latent), and | |||
| one isn't available selects one of the alternatives. | when one isn't available, it selects one of the alternatives. | |||
| 3.1.2. Resulting considerations | 3.1.2. Resulting Considerations | |||
| For an authoritative DNS operator, this result means that the latency | For an authoritative DNS operator, this result means that the latency | |||
| of all authoritative servers (NS records) matter, so they all must be | of all authoritative servers (NS records) matter, so they all must be | |||
| similarly capable -- all available authoritatives will be queried by | similarly capable -- all available authoritatives will be queried by | |||
| most recursive resolvers. Unicasted services, unfortunately, cannot | most recursive resolvers. Unicasted services, unfortunately, cannot | |||
| deliver good latency worldwide (a unicast authoritative server in | deliver good latency worldwide (a unicast authoritative server in | |||
| Europe will always have high latency to resolvers in California and | Europe will always have high latency to resolvers in California and | |||
| Australia, for example, given its geographical distance). | Australia, for example, given its geographical distance). | |||
| [Mueller17b] recommends that DNS operators deploy equally strong IP | [Mueller17b] recommends that DNS operators deploy equally strong IP | |||
| anycast instances for every authoritative server (i.e., for each NS | anycast instances for every authoritative server (i.e., for each NS | |||
| record). Each large authoritative DNS server provider should phase | record). Each large authoritative DNS server provider should phase | |||
| out their usage of unicast and deploy a well engineered number of | out its usage of unicast and deploy a number of well-engineered | |||
| anycast instances with good peering strategies so they can provide | anycast instances with good peering strategies so they can provide | |||
| good latency to their global clients. | good latency to their global clients. | |||
| As a case study, the ".nl" TLD zone was originally served on seven | As a case study, the ".nl" TLD zone was originally served on seven | |||
| authoritative servers with a mixed unicast/anycast setup. In early | authoritative servers with a mixed unicast/anycast setup. In early | |||
| 2018, .nl moved to a setup with 4 anycast authoritative servers. | 2018, .nl moved to a setup with 4 anycast authoritative servers. | |||
| [Mueller17b]'s contribution to DNS service engineering shows that | The contribution of [Mueller17b] to DNS service engineering shows | |||
| because unicast cannot deliver good latency worldwide, anycast needs | that because unicast cannot deliver good latency worldwide, anycast | |||
| to be used to provide a low latency service worldwide. | needs to be used to provide a low-latency service worldwide. | |||
| 3.2. C2: Optimizing routing is more important than location count and | 3.2. C2: Optimizing Routing is More Important than Location Count and | |||
| diversity | Diversity | |||
| 3.2.1. Research background | 3.2.1. Research Background | |||
| When selecting an anycast DNS provider or setting up an anycast | When selecting an anycast DNS provider or setting up an anycast | |||
| service, choosing the best number of anycast | service, choosing the best number of anycast instances [RFC4786] | |||
| instances[RFC4786][RFC7094] to deploy is a challenging problem. | [RFC7094] to deploy is a challenging problem. Selecting the right | |||
| Selecting where and how many global locations to announce from using | quantity and set of global locations that should send BGP | |||
| BGP is tricky. Intuitively, one could naively think that the more | announcements is tricky. Intuitively, one could naively think that | |||
| instances the better and simply "more" will always lead to shorter | more instances are better and that simply "more" will always lead to | |||
| response times. | shorter response times. | |||
| This is not necessarily true, however. In fact, [Schmidt17a] found | This is not necessarily true, however. In fact, proper route | |||
| that proper route engineering can matter more than the total number | engineering can matter more than the total number of locations, as | |||
| of locations. They analyzed the relationship between the number of | found in [Schmidt17a]. To study the relationship between the number | |||
| anycast instances and service performance (measuring latency of the | of anycast instances and the associated service performance, the | |||
| round-trip time (RTT)), measuring the overall performance of four DNS | authors measured the round-trip time (RTT) latency of four DNS root | |||
| Root servers. The Root DNS servers are implemented by 12 separate | servers. The root DNS servers are implemented by 12 separate | |||
| organizations serving the DNS root zone at 13 different IPv4/IPv6 | organizations serving the DNS root zone at 13 different IPv4/IPv6 | |||
| address pairs. | address pairs. | |||
| The results documented in [Schmidt17a] measured the performance of | The results documented in [Schmidt17a] measured the performance of | |||
| the {c,f,k,l}.root-servers.net (hereafter, "C", "F", "K" and "L") | the {c,f,k,l}.root-servers.net (referred to as "C", "F", "K", and "L" | |||
| servers from more than 7.9k RIPE Atlas probes. RIPE Atlas is a | hereafter) servers from more than 7,900 RIPE Atlas probes. RIPE | |||
| Internet measurement platform with more than 12000 global vantage | Atlas is an Internet measurement platform with more than 12,000 | |||
| points called "Atlas Probes" -- it is used regularly by both | global vantage points called "Atlas probes", and it is used regularly | |||
| researchers and operators [RipeAtlas15a] [RipeAtlas19a]. | by both researchers and operators [RipeAtlas15a] [RipeAtlas19a]. | |||
| [Schmidt17a] found that the C server, a smaller anycast deployment | In [Schmidt17a], the authors found that the C server, a smaller | |||
| consisting of only 8 instances, provided very similar overall | anycast deployment consisting of only 8 instances, provided very | |||
| performance in comparison to the much larger deployments of K and L, | similar overall performance in comparison to the much larger | |||
| with 33 and 144 instances respectively. The median RTT for C, K and | deployments of K and L, with 33 and 144 instances, respectively. The | |||
| L root server were all between 30-32ms. | median RTTs for the C, K, and L root servers were all between 30-32 | |||
| ms. | ||||
| Because RIPE Atlas is known to have better coverage in Europe than | Because RIPE Atlas is known to have better coverage in Europe than | |||
| other regions, the authors specifically analyzed the results per | other regions, the authors specifically analyzed the results per | |||
| region and per country (Figure 5 in [Schmidt17a]), and show that | region and per country (Figure 5 in [Schmidt17a]) and show that known | |||
| known Atlas bias toward Europe does not change the conclusion that | Atlas bias toward Europe does not change the conclusion that properly | |||
| properly selected anycast locations is more important to latency than | selected anycast locations are more important to latency than the | |||
| the number of sites. | number of sites. | |||
| 3.2.2. Resulting considerations | 3.2.2. Resulting Considerations | |||
| The important conclusion of [Schmidt17a] is that when engineering | The important conclusion from [Schmidt17a] is that when engineering | |||
| anycast services for performance, factors other than just the number | anycast services for performance, factors other than just the number | |||
| of instances (such as local routing connectivity) must be considered. | of instances (such as local routing connectivity) must be considered. | |||
| Specifically, optimizing routing policies is more important than | Specifically, optimizing routing policies is more important than | |||
| simply adding new instances. They showed that 12 instances can | simply adding new instances. The authors showed that 12 instances | |||
| provide reasonable latency, assuming they are globally distributed | can provide reasonable latency, assuming they are globally | |||
| and have good local interconnectivity. However, additional instances | distributed and have good local interconnectivity. However, | |||
| can still be useful for other reasons, such as when handling Denial- | additional instances can still be useful for other reasons, such as | |||
| of-service (DoS) attacks [Moura16b]. | when handling DoS attacks [Moura16b]. | |||
| 3.3. C3: Collecting anycast catchment maps to improve design | 3.3. C3: Collect Anycast Catchment Maps to Improve Design | |||
| 3.3.1. Research background | 3.3.1. Research Background | |||
| An anycast DNS service may be deployed from anywhere from several | An anycast DNS service may be deployed from anywhere and from several | |||
| locations to hundreds of locations (for example, l.root-servers.net | locations to hundreds of locations (for example, l.root-servers.net | |||
| has over 150 anycast instances at the time this was written). | has over 150 anycast instances at the time this was written). | |||
| Anycast leverages Internet routing to distribute incoming queries to | Anycast leverages Internet routing to distribute incoming queries to | |||
| a service's hop-nearest distributed anycast locations. However, | a service's nearest distributed anycast locations measured by the | |||
| usually queries are not evenly distributed across all anycast | number of routing hops. However, queries are usually not evenly | |||
| locations, as found in the case of L-Root [IcannHedge18]. | distributed across all anycast locations, as found in the case of | |||
| L-Root when analyzed using Hedgehog [IcannHedgehog]. | ||||
| Adding locations to or removing locations from a deployed anycast | Adding locations to or removing locations from a deployed anycast | |||
| network changes the load distribution across all of its locations. | network changes the load distribution across all of its locations. | |||
| When a new location is announced by BGP, locations may receive more | When a new location is announced by BGP, locations may receive more | |||
| or less traffic than it was engineered for, leading to suboptimal | or less traffic than it was engineered for, leading to suboptimal | |||
| service performance or even stressing some locations while leaving | service performance or even stressing some locations while leaving | |||
| others underutilized. Operators constantly face this scenario that | others underutilized. Operators constantly face this scenario when | |||
| when expanding an anycast service. Operators cannot easily directly | expanding an anycast service. Operators cannot easily directly | |||
| estimate future query distributions based on proposed anycast network | estimate future query distributions based on proposed anycast network | |||
| engineering decisions. | engineering decisions. | |||
| To address this need and estimate the query loads based on changing, | To address this need and estimate the query loads of an anycast | |||
| in particular expanding, anycast service changes [Vries17b] developed | service undergoing changes (in particular expanding), [Vries17b] | |||
| a new technique enabling operators to carry out active measurements, | describes the development of a new technique enabling operators to | |||
| using an open-source tool called Verfploeter (available at | carry out active measurements using an open-source tool called | |||
| [VerfSrc]). The results allow the creation of detailed anycast maps | Verfploeter (available at [VerfSrc]). The results allow the creation | |||
| and catchment estimates. By running verfploeter combined with a | of detailed anycast maps and catchment estimates. By running | |||
| published IPv4 "hit list", DNS can precisely calculate which remote | Verfploeter combined with a published IPv4 "hit list", the DNS can | |||
| prefixes will be matched to each anycast instance in a network. At | precisely calculate which remote prefixes will be matched to each | |||
| the moment of this writing, Verfploeter still does not support IPv6 | anycast instance in a network. At the time of this writing, | |||
| as the IPv4 hit lists used are generated via frequent large scale | Verfploeter still does not support IPv6 as the IPv4 hit lists used | |||
| ICMP echo scans, which is not possible using IPv6. | are generated via frequent large-scale ICMP echo scans, which is not | |||
| possible using IPv6. | ||||
| As proof of concept, [Vries17b] documents how it verfploeter was used | As proof of concept, [Vries17b] documents how Verfploeter was used to | |||
| to predict both the catchment and query load distribution for a new | predict both the catchment and query load distribution for a new | |||
| anycast instance deployed for b.root-servers.net. Using two anycast | anycast instance deployed for b.root-servers.net. Using two anycast | |||
| test instances in Miami (MIA) and Los Angeles (LAX), an ICMP echo | test instances in Miami (MIA) and Los Angeles (LAX), an ICMP echo | |||
| query was sent from an IP anycast addresses to each IPv4 /24 network | query was sent from an IP anycast address to each IPv4 /24 network | |||
| routing block on the Internet. | routing block on the Internet. | |||
| The ICMP echo responses were recorded at both sites and analyzed and | The ICMP echo responses were recorded at both sites and analyzed and | |||
| overlayed onto a graphical world map, resulting in an Internet scale | overlaid onto a graphical world map, resulting in an Internet-scale | |||
| catchment map. To calculate expected load once the production | catchment map. To calculate expected load once the production | |||
| network was enabled, the quantity of traffic received by b.root- | network was enabled, the quantity of traffic received by b.root- | |||
| servers.net's single site at LAX was recorded based on a single day's | servers.net's single site at LAX was recorded based on a single day's | |||
| traffic (2017-04-12, DITL datasets [Ditl17]). [Vries17b] predicted | traffic (2017-04-12, "day in the life" (DITL) datasets [Ditl17]). In | |||
| that 81.6% of the traffic load would remain at the LAX site. This | [Vries17b], it was predicted that 81.6% of the traffic load would | |||
| estimate by verfploeter turned out to be very accurate; the actual | remain at the LAX site. This Verfploeter estimate turned out to be | |||
| measured traffic volume when production service at MIA was enabled | very accurate; the actual measured traffic volume when production | |||
| was 81.4%. | service at MIA was enabled was 81.4%. | |||
| Verfploeter can also be used to estimate traffic shifts based on | Verfploeter can also be used to estimate traffic shifts based on | |||
| other BGP route engineering techniques (for example, AS path | other BGP route engineering techniques (for example, Autonomous | |||
| prepending or BGP community use) in advance of operational | System (AS) path prepending or BGP community use) in advance of | |||
| deployment. [Vries17b] studied this using prepending with 1-3 hops | operational deployment. This was studied in [Vries17b] using | |||
| at each instance and compared the results against real operational | prepending with 1-3 hops at each instance, and the results were | |||
| changes to validate the techniques accuracy. | compared against real operational changes to validate the accuracy of | |||
| the techniques. | ||||
| 3.3.2. Resulting considerations | 3.3.2. Resulting Considerations | |||
| An important operational takeaway [Vries17b] provides is how DNS | An important operational takeaway [Vries17b] provides is how DNS | |||
| operators can make informed engineering choices when changing DNS | operators can make informed engineering choices when changing DNS | |||
| anycast network deployments by using Verfploeter in advance. | anycast network deployments by using Verfploeter in advance. | |||
| Operators can identify sub-optimal routing situations in advance with | Operators can identify suboptimal routing situations in advance with | |||
| significantly better coverage than using other active measurement | significantly better coverage rather than using other active | |||
| platforms such as RIPE Atlas. To date, Verfploeter has been deployed | measurement platforms such as RIPE Atlas. To date, Verfploeter has | |||
| on a operational testbed (Anycast testbed) [AnyTest], on a large | been deployed on an operational testbed (anycast testbed) [AnyTest] | |||
| unnamed operator and is run daily at b.root-servers.net[Vries17b]. | on a large unnamed operator and is run daily at b.root-servers.net | |||
| [Vries17b]. | ||||
| Operators should use active measurement techniques like Verfploeter | Operators should use active measurement techniques like Verfploeter | |||
| in advance of potential anycast network changes to accurately measure | in advance of potential anycast network changes to accurately measure | |||
| the benefits and potential issues ahead of time. | the benefits and potential issues ahead of time. | |||
| 3.4. C4: When under stress, employ two strategies | 3.4. C4: Employ Two Strategies When under Stress | |||
| 3.4.1. Research background | ||||
| 3.4.1. Research Background | ||||
| DDoS attacks are becoming bigger, cheaper, and more frequent | DDoS attacks are becoming bigger, cheaper, and more frequent | |||
| [Moura16b]. The most powerful recorded DDoS attack against DNS | [Moura16b]. The most powerful recorded DDoS attack against DNS | |||
| servers to date reached 1.2 Tbps by using IoT devices [Perlroth16]. | servers to date reached 1.2 Tbps by using Internet of Things (IoT) | |||
| How should a DNS operator engineer its anycast authoritative DNS | devices [Perlroth16]. How should a DNS operator engineer its anycast | |||
| server react to such a DDoS attack? [Moura16b] investigates this | authoritative DNS server to react to such a DDoS attack? [Moura16b] | |||
| question using empirical observations grounded with theoretical | investigates this question using empirical observations grounded with | |||
| option evaluations. | theoretical option evaluations. | |||
| An authoritative DNS server deployed using anycast will have many | An authoritative DNS server deployed using anycast will have many | |||
| server instances distributed over many networks. Ultimately, the | server instances distributed over many networks. Ultimately, the | |||
| relationship between the DNS provider's network and a client's ISP | relationship between the DNS provider's network and a client's ISP | |||
| will determine which anycast instance will answer queries for a given | will determine which anycast instance will answer queries for a given | |||
| client, given that BGP is the protocol that maps clients to specific | client, given that the BGP protocol maps clients to specific anycast | |||
| anycast instances by using routing information [RF:KDar02]. As a | instances using routing information. As a consequence, when an | |||
| consequence, when an anycast authoritative server is under attack, | anycast authoritative server is under attack, the load that each | |||
| the load that each anycast instance receives is likely to be unevenly | anycast instance receives is likely to be unevenly distributed (a | |||
| distributed (a function of the source of the attacks), thus some | function of the source of the attacks); thus, some instances may be | |||
| instances may be more overloaded than others which is what was | more overloaded than others, which is what was observed when | |||
| observed analyzing the Root DNS events of Nov. 2015 [Moura16b]. | analyzing the root DNS events of November 2015 [Moura16b]. Given the | |||
| Given the fact that different instances may have different capacity | fact that different instances may have different capacities | |||
| (bandwidth, CPU, etc.), making a decision about how to react to | (bandwidth, CPU, etc.), making a decision about how to react to | |||
| stress becomes even more difficult. | stress becomes even more difficult. | |||
| In practice, an anycast instance is overloaded with incoming traffic, | In practice, when an anycast instance is overloaded with incoming | |||
| operators have two options: | traffic, operators have two options: | |||
| * They can withdraw its routes, pre-prepend its AS route to some or | * They can withdraw its routes, pre-prepend its AS route to some or | |||
| all of its neighbors, perform other traffic shifting tricks (such | all of its neighbors, perform other traffic-shifting tricks (such | |||
| as reducing route announcement propagation using BGP | as reducing route announcement propagation using BGP communities | |||
| communities[RFC1997]), or by communicating with its upstream | [RFC1997]), or communicate with its upstream network providers to | |||
| network providers to apply filtering (potentially using FlowSpec | apply filtering (potentially using FlowSpec [RFC8955] or the DDoS | |||
| [RFC8955] or DOTS protocol ([RFC8811], [RFC8782], [RFC8783]). | Open Threat Signaling (DOTS) protocol [RFC8811] [RFC9132] | |||
| These techniques shift both legitimate and attack traffic to other | [RFC8783]). These techniques shift both legitimate and attack | |||
| anycast instances (with hopefully greater capacity) or to block | traffic to other anycast instances (with hopefully greater | |||
| traffic entirely. | capacity) or block traffic entirely. | |||
| * Alternatively, operators can be become a degraded absorber by | * Alternatively, operators can become degraded absorbers by | |||
| continuing to operate, knowing dropping incoming legitimate | continuing to operate, knowing dropping incoming legitimate | |||
| requests due to queue overflow. However, this approach will also | requests due to queue overflow. However, this approach will also | |||
| absorb attack traffic directed toward its catchment, hopefully | absorb attack traffic directed toward its catchment, hopefully | |||
| protecting the other anycast instances. | protecting the other anycast instances. | |||
| [Moura16b] saw both of these behaviors deployed in practice by | [Moura16b] describes seeing both of these behaviors deployed in | |||
| studying instance reachability and route-trip time (RTTs) in the DNS | practice when studying instance reachability and RTTs in the DNS root | |||
| root events. When withdraw strategies were deployed, the stress of | events. When withdraw strategies were deployed, the stress of | |||
| increased query loads were displaced from one instance to multiple | increased query loads were displaced from one instance to multiple | |||
| other sites. In other observed events, one site was left to absorb | other sites. In other observed events, one site was left to absorb | |||
| the brunt of an attack leaving the other sites to remain relatively | the brunt of an attack, leaving the other sites to remain relatively | |||
| less affected. | less affected. | |||
| 3.4.2. Resulting considerations | 3.4.2. Resulting Considerations | |||
| Operators should consider having both a anycast site withdraw | Operators should consider having both an anycast site withdraw | |||
| strategy and a absorption strategy ready to be used before a network | strategy and an absorption strategy ready to be used before a network | |||
| overload occurs. Operators should be able to deploy one or both of | overload occurs. Operators should be able to deploy one or both of | |||
| these strategies rapidly. Ideally, these should be encoded into | these strategies rapidly. Ideally, these should be encoded into | |||
| operating playbooks with defined site measurement guidelines for | operating playbooks with defined site measurement guidelines for | |||
| which strategy to employ based on measured data from past events. | which strategy to employ based on measured data from past events. | |||
| [Moura16b] speculates that careful, explicit, and automated | [Moura16b] speculates that careful, explicit, and automated | |||
| management policies may provide stronger defenses to overload events. | management policies may provide stronger defenses to overload events. | |||
| DNS operators should be ready to employ both traditional filtering | DNS operators should be ready to employ both common filtering | |||
| approaches and other routing load balancing techniques | approaches and other routing load-balancing techniques (such as | |||
| (withdraw/prepend/communities or isolate instances), where the best | withdrawing routes, prepending Autonomous Systems (ASes), adding | |||
| choice depends on the specifics of the attack. | communities, or isolating instances), where the best choice depends | |||
| on the specifics of the attack. | ||||
| Note that this consideration refers to the operation of just one | Note that this consideration refers to the operation of just one | |||
| anycast service point, i.e., just one anycasted IP address block | anycast service point, i.e., just one anycasted IP address block | |||
| covering one NS record. However, DNS zones with multiple | covering one NS record. However, DNS zones with multiple | |||
| authoritative anycast servers may also expect loads to shift from one | authoritative anycast servers may also expect loads to shift from one | |||
| anycasted server to another, as resolvers switch from on | anycasted server to another, as resolvers switch from one | |||
| authoritative service point to another when attempting to resolve a | authoritative service point to another when attempting to resolve a | |||
| name [Mueller17b]. | name [Mueller17b]. | |||
| 3.5. C5: Consider longer time-to-live values whenever possible | 3.5. C5: Consider Longer Time-to-Live Values Whenever Possible | |||
| 3.5.1. Research background | 3.5.1. Research Background | |||
| Caching is the cornerstone of good DNS performance and reliability. | Caching is the cornerstone of good DNS performance and reliability. | |||
| A 50 ms response to a new DNS query may be considered fast, but a | A 50 ms response to a new DNS query may be considered fast, but a | |||
| less than 1 ms response to a cached entry is far faster. [Moura18b] | response of less than 1 ms to a cached entry is far faster. In | |||
| showed that caching also protects users from short outages and even | [Moura18b], it was shown that caching also protects users from short | |||
| significant DDoS attacks. | outages and even significant DDoS attacks. | |||
| DNS record TTLs (time-to-live values) [RFC1034][RFC1035] directly | Time-to-live (TTL) values [RFC1034] [RFC1035] for DNS records | |||
| control cache durations and affect latency, resilience, and the role | directly control cache durations and affect latency, resilience, and | |||
| of DNS in CDN server selection. Some early work modeled caches as a | the role of DNS in Content Delivery Network (CDN) server selection. | |||
| function of their TTLs [Jung03a], and recent work has examined their | Some early work modeled caches as a function of their TTLs [Jung03a], | |||
| interaction with DNS[Moura18b], but until [Moura19b] no research | and recent work has examined cache interactions with DNS [Moura18b], | |||
| provided considerations about the benefits of various TTL value | but until [Moura19b], no research had provided considerations about | |||
| choices. To study this, Moura et. al. [Moura19b] carried out a | the benefits of various TTL value choices. To study this, Moura et | |||
| measurement study investigating TTL choices and their impact on user | al. [Moura19b] carried out a measurement study investigating TTL | |||
| experiences in the wild. They performed this study independent of | choices and their impact on user experiences in the wild. They | |||
| specific resolvers (and their caching architectures), vendors, or | performed this study independent of specific resolvers (and their | |||
| setups. | caching architectures), vendors, or setups. | |||
| First, they identified several reasons why operators and zone-owners | First, they identified several reasons why operators and zone owners | |||
| may want to choose longer or shorter TTLs: | may want to choose longer or shorter TTLs: | |||
| * As discussed, longer TTLs lead to a longer cache life, resulting | * Longer TTLs, as discussed, lead to a longer cache life, resulting | |||
| in faster responses. [Moura19b] measured this in the wild and | in faster responses. In [Moura19b], this was measured this in the | |||
| showed that by increasing the TTL for .uy TLD from 5 minutes | wild, and it showed that by increasing the TTL for the .uy TLD | |||
| (300s) to 1 day (86400s) the latency measured from 15k Atlas | from 5 minutes (300 s) to 1 day (86,400 s), the latency measured | |||
| vantage points changed significantly: the median RTT decreased | from 15,000 Atlas vantage points changed significantly: the median | |||
| from 28.7ms to 8ms, and the 75%ile decreased from 183ms to 21ms. | RTT decreased from 28.7 ms to 8 ms, and the 75th percentile | |||
| decreased from 183 ms to 21 ms. | ||||
| * Longer caching times also results in lower DNS traffic: | * Longer caching times also result in lower DNS traffic: | |||
| authoritative servers will experience less traffic with extended | authoritative servers will experience less traffic with extended | |||
| TTLs, as repeated queries are answered by resolver caches. | TTLs, as repeated queries are answered by resolver caches. | |||
| * Consequently, longer caching results in a lower overall cost if | * Longer caching consequently results in a lower overall cost if the | |||
| DNS is metered: some DNS-As-A-Service providers charge a per query | DNS is metered: some providers that offer DNS as a Service charge | |||
| (metered) cost (often in addition to a fixed monthly cost). | a per-query (metered) cost (often in addition to a fixed monthly | |||
| cost). | ||||
| * Longer caching is more robust to DDoS attacks on DNS | * Longer caching is more robust to DDoS attacks on DNS | |||
| infrastructure. [Moura18b] also measured and show that DNS | infrastructure. DNS caching was also measured in [Moura18b], and | |||
| caching can greatly reduce the effects of a DDoS on DNS, provided | it showed that the effects of a DDoS on DNS can be greatly | |||
| that caches last longer than the attack. | reduced, provided that the caches last longer than the attack. | |||
| * However, shorter caching supports deployments that may require | * Shorter caching, however, supports deployments that may require | |||
| rapid operational changes: An easy way to transition from an old | rapid operational changes: an easy way to transition from an old | |||
| server to a new one is to simply change the DNS records. Since | server to a new one is to simply change the DNS records. Since | |||
| there is no method to remotely remove cached DNS records, the TTL | there is no method to remotely remove cached DNS records, the TTL | |||
| duration represents a necessary transition delay to fully shift | duration represents a necessary transition delay to fully shift | |||
| from one server to another. Thus, low TTLs allow for more rapid | from one server to another. Thus, low TTLs allow for more rapid | |||
| transitions. However, when deployments are planned in advance | transitions. However, when deployments are planned in advance | |||
| (that is, longer than the TTL), it is possible to lower the TTLs | (that is, longer than the TTL), it is possible to lower the TTLs | |||
| just-before a major operational change and raise them again | just before a major operational change and raise them again | |||
| afterward. | afterward. | |||
| * Shorter caching can also help with a DNS-based response to DDoS | * Shorter caching can also help with a DNS-based response to DDoS | |||
| attacks. Specifically, some DDoS-scrubbing services use the DNS | attacks. Specifically, some DDoS-scrubbing services use the DNS | |||
| to redirect traffic during an attack. Since DDoS attacks arrive | to redirect traffic during an attack. Since DDoS attacks arrive | |||
| unannounced, DNS-based traffic redirection requires the TTL be | unannounced, DNS-based traffic redirection requires that the TTL | |||
| kept quite low at all times to allow operators to suddenly have | be kept quite low at all times to allow operators to suddenly have | |||
| their zone served by a DDoS-scrubbing service. | their zone served by a DDoS-scrubbing service. | |||
| * Shorter caching helps DNS-based load balancing. Many large | * Shorter caching helps DNS-based load balancing. Many large | |||
| services are known to rotate traffic among their servers using | services are known to rotate traffic among their servers using | |||
| DNS-based load balancing. Each arriving DNS request provides an | DNS-based load balancing. Each arriving DNS request provides an | |||
| opportunity to adjust service load by rotating IP address records | opportunity to adjust the service load by rotating IP address | |||
| (A and AAAA) to the lowest unused server. Shorter TTLs may be | records (A and AAAA) to the lowest unused server. Shorter TTLs | |||
| desired in these architectures to react more quickly to traffic | may be desired in these architectures to react more quickly to | |||
| dynamics. Many recursive resolvers, however, have minimum caching | traffic dynamics. Many recursive resolvers, however, have minimum | |||
| times of tens of seconds, placing a limit on this form of agility. | caching times of tens of seconds, placing a limit on this form of | |||
| agility. | ||||
| 3.5.2. Resulting considerations | 3.5.2. Resulting Considerations | |||
| Given these considerations, the proper choice for a TTL depends in | Given these considerations, the proper choice for a TTL depends in | |||
| part on multiple external factors -- no single recommendation is | part on multiple external factors -- no single recommendation is | |||
| appropriate for all scenarios. Organizations must weigh these trade- | appropriate for all scenarios. Organizations must weigh these trade- | |||
| offs and find a good balance for their situation. Still, some | offs and find a good balance for their situation. Still, some | |||
| guidelines can be reached when choosing TTLs: | guidelines can be reached when choosing TTLs: | |||
| * For general DNS zone owners, [Moura19b] recommends a longer TTL of | * For general DNS zone owners, [Moura19b] recommends a longer TTL of | |||
| at least one hour, and ideally 8, 12, or 24 hours. Assuming | at least one hour and ideally 4, 8, or 24 hours. Assuming planned | |||
| planned maintenance can be scheduled at least a day in advance, | maintenance can be scheduled at least a day in advance, long TTLs | |||
| long TTLs have little cost and may, even, literally provide a cost | have little cost and may even literally provide cost savings. | |||
| savings. | ||||
| * For registry operators: TLD and other public registration | * For TLD and other public registration operators (for example, most | |||
| operators (for example most ccTLDs and .com, .net, .org) that host | ccTLDs and .com, .net, and .org) that host many delegations (NS | |||
| many delegations (NS records, DS records and "glue" records), | records, DS records, and "glue" records), [Moura19b] demonstrates | |||
| [Moura19b] demonstrates that most resolvers will use the TTL | that most resolvers will use the TTL values provided by the child | |||
| values provided by the child delegations while the others some | delegations while some others will choose the TTL provided by the | |||
| will choose the TTL provided by the parent's copy of the record. | parent's copy of the record. As such, [Moura19b] recommends | |||
| As such, [Moura19b] recommends longer TTLs (at least an hour or | longer TTLs (at least an hour or more) for registry operators as | |||
| more) for registry operators as well for child NS and other | well for child NS and other records. | |||
| records. | ||||
| * Users of DNS-based load balancing or DDoS-prevention services may | * Users of DNS-based load balancing or DDoS-prevention services may | |||
| require shorter TTLs: TTLs may even need to be as short as 5 | require shorter TTLs: TTLs may even need to be as short as 5 | |||
| minutes, although 15 minutes may provide sufficient agility for | minutes, although 15 minutes may provide sufficient agility for | |||
| many operators. There is always a tussle between shorter TTLs | many operators. There is always a tussle between using shorter | |||
| providing more agility against all the benefits listed above for | TTLs that provide more agility and using longer TTLs that include | |||
| using longer TTLs. | all the benefits listed above. | |||
| * Use of A/AAAA and NS records: The TTLs for A/AAAA records should | * Regarding the use of A/AAAA and NS records, the TTLs for A/AAAA | |||
| be shorter to or equal to the TTL for the corresponding NS records | records should be shorter than or equal to the TTL for the | |||
| for in-bailiwick authoritative DNS servers, since [Moura19b] finds | corresponding NS records for in-bailiwick authoritative DNS | |||
| that once an NS record expires, their associated A/AAAA will also | servers, since [Moura19b] finds that once an NS record expires, | |||
| be re-queried when glue is required to be sent by the parents. | their associated A/AAAA will also be requeried when glue is | |||
| For out-of-bailiwick servers, A, AAAA and NS records are usually | required to be sent by the parents. For out-of-bailiwick servers, | |||
| all cached independently, so different TTLs can be used | A, AAAA, and NS records are usually all cached independently, so | |||
| effectively if desired. In either case, short A and AAAA records | different TTLs can be used effectively if desired. In either | |||
| may still be desired if DDoS-mitigation services are required. | case, short A and AAAA records may still be desired if DDoS | |||
| mitigation services are required. | ||||
| 3.6. C6: Consider the TTL differences between parents and children | 3.6. C6: Consider the Difference in Parent and Children's TTL Values | |||
| 3.6.1. Research background | 3.6.1. Research Background | |||
| Multiple record types exist or are related between the parent of a | Multiple record types exist or are related between the parent of a | |||
| zone and the child. At a minimum, NS records are supposed to be | zone and the child. At a minimum, NS records are supposed to be | |||
| identical in the parent (but often are not) as or corresponding IP | identical in the parent (but often are not), as are corresponding IP | |||
| address in "glue" A/AAAA records that must exist for in-bailiwick | addresses in "glue" A/AAAA records that must exist for in-bailiwick | |||
| authoritative servers. Additionally, if DNSSEC ([RFC4033] [RFC4034] | authoritative servers. Additionally, if DNSSEC [RFC4033] [RFC4034] | |||
| [RFC4035] [RFC4509]) is deployed for a zone the parent's DS record | [RFC4035] [RFC4509] is deployed for a zone, the parent's DS record | |||
| must cryptographically refer to a child's DNSKEY record. | must cryptographically refer to a child's DNSKEY record. | |||
| Because some information exists in both the parent and a child, it is | Because some information exists in both the parent and a child, it is | |||
| possible for the TTL values to differ between the parent's copy and | possible for the TTL values to differ between the parent's copy and | |||
| the child's. [Moura19b] examines resolver behaviors when these | the child's. [Moura19b] examines resolver behaviors when these | |||
| values differ in the wild, as they frequently do -- often parent | values differed in the wild, as they frequently do -- often, parent | |||
| zones have defacto TTL values that a child has no control over. For | zones have de facto TTL values that a child has no control over. For | |||
| example, NS records for TLDs in the root zone are all set to 2 days | example, NS records for TLDs in the root zone are all set to 2 days | |||
| (48 hours), but some TLD's have lower values within their published | (48 hours), but some TLDs have lower values within their published | |||
| records (the TTLs for .cl's NS records from their authoritative | records (the TTLs for .cl's NS records from their authoritative | |||
| servers is 1 hour). [Moura19b] also examines the differences in the | servers is 1 hour). [Moura19b] also examines the differences in the | |||
| TTLs between the NS records and the corresponding A/AAAA records for | TTLs between the NS records and the corresponding A/AAAA records for | |||
| the addresses of a nameserver. RIPE Atlas nodes are used to | the addresses of a name server. RIPE Atlas nodes are used to | |||
| determine what resolvers in the wild do with different information, | determine what resolvers in the wild do with different information | |||
| and whether the parent's TTL is used for cache life-times ("parent- | and whether the parent's TTL is used for cache lifetimes ("parent- | |||
| centric") or the child's is used ("child-centric"). | centric") or the child's ("child-centric"). | |||
| [Moura19b] finds that roughly 90% of resolvers follow the child's | [Moura19b] found that roughly 90% of resolvers follow the child's | |||
| view of the TTL, while 10% appear parent-centric. It additionally | view of the TTL, while 10% appear parent-centric. Additionally, it | |||
| finds that resolvers behave differently for cache lifetimes for in- | found that resolvers behave differently for cache lifetimes for in- | |||
| bailiwick vs out-of-bailiwick NS/A/AAAA TTL combinations. | bailiwick vs. out-of-bailiwick NS/A/AAAA TTL combinations. | |||
| Specifically, when NS TTLs are shorter than the corresponding address | Specifically, when NS TTLs are shorter than the corresponding address | |||
| records, most resolvers will re-query for A/AAAA records for in- | records, most resolvers will requery for A/AAAA records for the in- | |||
| bailiwick resolvers and switch to new address records even if the | bailiwick resolvers and switch to new address records even if the | |||
| cache indicates the original A/AAAA records could be kept longer. On | cache indicates the original A/AAAA records could be kept longer. On | |||
| the other hand, the inverse is true for out-of-bailiwick resolvers: | the other hand, the inverse is true for out-of-bailiwick resolvers: | |||
| If the NS record expires first resolvers will honor the original | if the NS record expires first, resolvers will honor the original | |||
| cache time of the nameserver's address. | cache time of the name server's address. | |||
| 3.6.2. Resulting considerations | 3.6.2. Resulting Considerations | |||
| The important conclusion from this study is that operators cannot | The important conclusion from this study is that operators cannot | |||
| depend on their published TTL values alone -- the parent's values are | depend on their published TTL values alone -- the parent's values are | |||
| also used for timing cache entries in the wild. Operators that are | also used for timing cache entries in the wild. Operators that are | |||
| planning on infrastructure changes should assume that older | planning on infrastructure changes should assume that an older | |||
| infrastructure must be left on and operational for at least the | infrastructure must be left on and operational for at least the | |||
| maximum of both the parent and child's TTLs. | maximum of both the parent and child's TTLs. | |||
| 4. Security considerations | 4. Security Considerations | |||
| This document discusses applying measured research results to | This document discusses applying measured research results to | |||
| operational deployments. Most of the considerations affect mostly | operational deployments. Most of the considerations affect mostly | |||
| operational practice, though a few do have security related impacts. | operational practice, though a few do have security-related impacts. | |||
| Specifically, C4 discusses a couple of strategies to employ when a | Specifically, C4 discusses a couple of strategies to employ when a | |||
| service is under stress from DDoS attacks and offers operators | service is under stress from DDoS attacks and offers operators | |||
| additional guidance when handling excess traffic. | additional guidance when handling excess traffic. | |||
| Similarly, C5 identifies the trade-offs with respect to the | Similarly, C5 identifies the trade-offs with respect to the | |||
| operational and security benefits of using longer time-to-live | operational and security benefits of using longer TTL values. | |||
| values. | ||||
| 5. Privacy Considerations | 5. Privacy Considerations | |||
| This document does not add any practical new privacy issues, aside | This document does not add any new, practical privacy issues, aside | |||
| from possible benefits in deploying longer TTLs as suggested in C5. | from possible benefits in deploying longer TTLs as suggested in C5. | |||
| Longer TTLs may help preserve a user's privacy by reducing the number | Longer TTLs may help preserve a user's privacy by reducing the number | |||
| of requests that get transmitted in both the client-to-resolver and | of requests that get transmitted in both client-to-resolver and | |||
| resolver-to-authoritative cases. | resolver-to-authoritative cases. | |||
| 6. IANA considerations | 6. IANA Considerations | |||
| This document has no IANA actions. | This document has no IANA actions. | |||
| 7. Acknowledgements | 7. References | |||
| This document is a summary of the main considerations of six research | ||||
| works performed by the authors and others. This document would not | ||||
| have been possible without the hard work of these authors and co- | ||||
| authors: | ||||
| * Ricardo de O. Schmidt | ||||
| * Wouter B de Vries | ||||
| * Moritz Mueller | ||||
| * Lan Wei | ||||
| * Cristian Hesselman | ||||
| * Jan Harm Kuipers | ||||
| * Pieter-Tjerk de Boer | ||||
| * Aiko Pras | ||||
| We would like also to thank the reviewers of this draft that offered | ||||
| valuable suggestions: Duane Wessels, Joe Abley, Toema Gavrichenkov, | ||||
| John Levine, Michael StJohns, Kristof Tuyteleers, Stefan Ubbink, | ||||
| Klaus Darilion and Samir Jafferali, and comments provided at the IETF | ||||
| DNSOP session (IETF104). | ||||
| Besides those, we would like thank those acknowledged in the papers | ||||
| this document summarizes for helping produce the results: RIPE NCC | ||||
| and DNS OARC for their tools and datasets used in this research, as | ||||
| well as the funding agencies sponsoring the individual research | ||||
| works. | ||||
| 8. References | ||||
| 8.1. Normative References | 7.1. Normative References | |||
| [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | |||
| STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, | STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, | |||
| <https://www.rfc-editor.org/info/rfc1034>. | <https://www.rfc-editor.org/info/rfc1034>. | |||
| [RFC1035] Mockapetris, P., "Domain names - implementation and | [RFC1035] Mockapetris, P., "Domain names - implementation and | |||
| specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | |||
| November 1987, <https://www.rfc-editor.org/info/rfc1035>. | November 1987, <https://www.rfc-editor.org/info/rfc1035>. | |||
| [RFC1546] Partridge, C., Mendez, T., and W. Milliken, "Host | [RFC1546] Partridge, C., Mendez, T., and W. Milliken, "Host | |||
| skipping to change at page 17, line 26 ¶ | skipping to change at line 725 ¶ | |||
| [RFC7094] McPherson, D., Oran, D., Thaler, D., and E. Osterweil, | [RFC7094] McPherson, D., Oran, D., Thaler, D., and E. Osterweil, | |||
| "Architectural Considerations of IP Anycast", RFC 7094, | "Architectural Considerations of IP Anycast", RFC 7094, | |||
| DOI 10.17487/RFC7094, January 2014, | DOI 10.17487/RFC7094, January 2014, | |||
| <https://www.rfc-editor.org/info/rfc7094>. | <https://www.rfc-editor.org/info/rfc7094>. | |||
| [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | |||
| Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, | Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, | |||
| January 2019, <https://www.rfc-editor.org/info/rfc8499>. | January 2019, <https://www.rfc-editor.org/info/rfc8499>. | |||
| [RFC8782] Reddy.K, T., Ed., Boucadair, M., Ed., Patil, P., | ||||
| Mortensen, A., and N. Teague, "Distributed Denial-of- | ||||
| Service Open Threat Signaling (DOTS) Signal Channel | ||||
| Specification", RFC 8782, DOI 10.17487/RFC8782, May 2020, | ||||
| <https://www.rfc-editor.org/info/rfc8782>. | ||||
| [RFC8783] Boucadair, M., Ed. and T. Reddy.K, Ed., "Distributed | [RFC8783] Boucadair, M., Ed. and T. Reddy.K, Ed., "Distributed | |||
| Denial-of-Service Open Threat Signaling (DOTS) Data | Denial-of-Service Open Threat Signaling (DOTS) Data | |||
| Channel Specification", RFC 8783, DOI 10.17487/RFC8783, | Channel Specification", RFC 8783, DOI 10.17487/RFC8783, | |||
| May 2020, <https://www.rfc-editor.org/info/rfc8783>. | May 2020, <https://www.rfc-editor.org/info/rfc8783>. | |||
| [RFC8955] Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. | [RFC8955] Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. | |||
| Bacher, "Dissemination of Flow Specification Rules", | Bacher, "Dissemination of Flow Specification Rules", | |||
| RFC 8955, DOI 10.17487/RFC8955, December 2020, | RFC 8955, DOI 10.17487/RFC8955, December 2020, | |||
| <https://www.rfc-editor.org/info/rfc8955>. | <https://www.rfc-editor.org/info/rfc8955>. | |||
| 8.2. Informative References | [RFC9132] Boucadair, M., Ed., Shallow, J., and T. Reddy.K, | |||
| "Distributed Denial-of-Service Open Threat Signaling | ||||
| (DOTS) Signal Channel Specification", RFC 9132, | ||||
| DOI 10.17487/RFC9132, September 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9132>. | ||||
| 7.2. Informative References | ||||
| [AnyBest] Woodcock, B., "Best Practices in DNS Service-Provision | [AnyBest] Woodcock, B., "Best Practices in DNS Service-Provision | |||
| Architecture", March 2016, | Architecture", Version 1.2, March 2016, | |||
| <https://meetings.icann.org/en/marrakech55/schedule/mon- | <https://meetings.icann.org/en/marrakech55/schedule/mon- | |||
| tech/presentation-dns-service-provision-07mar16-en.pdf>. | tech/presentation-dns-service-provision-07mar16-en.pdf>. | |||
| [AnyFRoot] Woolf, S., "Anycasting f.root-serers.net", January 2003, | [AnyFRoot] Woolf, S., "Anycasting f.root-servers.net", January 2003, | |||
| <https://archive.nanog.org/meetings/nanog27/presentations/ | <https://archive.nanog.org/meetings/nanog27/presentations/ | |||
| suzanne.pdf>. | suzanne.pdf>. | |||
| [AnyTest] Schmidt, R.d.O., "Anycast Testbed", December 2018, | [AnyTest] Tangled, "Tangled Anycast Testbed", | |||
| <http://www.anycast-testbed.com/>. | <http://www.anycast-testbed.com/>. | |||
| [Ditl17] OARC, D., "2017 DITL data", October 2018, | [Ditl17] DNS-OARC, "2017 DITL Data", April 2017, | |||
| <https://www.dns-oarc.net/oarc/data/ditl/2017>. | <https://www.dns-oarc.net/oarc/data/ditl/2017>. | |||
| [IcannHedge18] | [IcannHedgehog] | |||
| ICANN, ., "DNS-STATS - Hedgehog 2.4.1", October 2018, | "hedgehog", commit b136eb0, May 2021, | |||
| <http://stats.dns.icann.org/hedgehog/>. | <https://github.com/dns-stats/hedgehog>. | |||
| [Jung03a] Jung, J., Berger, A.W., and H. Balakrishnan, "Modeling | [Jung03a] Jung, J., Berger, A., and H. Balakrishnan, "Modeling TTL- | |||
| TTL-based Internet caches", ACM 2003 IEEE INFOCOM, | based Internet Caches", ACM 2003 IEEE INFOCOM, | |||
| DOI 10.1109/INFCOM.2003.1208693, July 2003, | DOI 10.1109/INFCOM.2003.1208693, July 2003, | |||
| <http://www.ieee-infocom.org/2003/papers/11_01.PDF>. | <http://www.ieee-infocom.org/2003/papers/11_01.PDF>. | |||
| [Moura16b] Moura, G.C.M., Schmidt, R.d.O., Heidemann, J., Mueller, | [Moura16b] Moura, G.C.M., Schmidt, R. de O., Heidemann, J., de Vries, | |||
| M., Wei, L., and C. Hesselman, "Anycast vs DDoS Evaluating | W., Müller, M., Wei, L., and C. Hesselman, "Anycast vs. | |||
| the November 2015 Root DNS Events.", ACM 2016 Internet | DDoS: Evaluating the November 2015 Root DNS Event", ACM | |||
| Measurement Conference, DOI /10.1145/2987443.2987446, 14 | 2016 Internet Measurement Conference, | |||
| October 2016, | DOI 10.1145/2987443.2987446, November 2016, | |||
| <https://www.isi.edu/~johnh/PAPERS/Moura16b.pdf>. | <https://www.isi.edu/~johnh/PAPERS/Moura16b.pdf>. | |||
| [Moura18b] Moura, G.C.M., Heidemann, J., Mueller, M., Schmidt, | [Moura18b] Moura, G.C.M., Heidemann, J., Müller, M., Schmidt, R. de | |||
| R.d.O., and M. Davids, "When the Dike Breaks: Dissecting | O., and M. Davids, "When the Dike Breaks: Dissecting DNS | |||
| DNS Defenses During DDos", ACM 2018 Internet Measurement | Defenses During DDoS", ACM 2018 Internet Measurement | |||
| Conference, DOI 10.1145/3278532.3278534, 31 October 2018, | Conference, DOI 10.1145/3278532.3278534, October 2018, | |||
| <https://www.isi.edu/~johnh/PAPERS/Moura18b.pdf>. | <https://www.isi.edu/~johnh/PAPERS/Moura18b.pdf>. | |||
| [Moura19b] Moura, G., Hardaker, W., Heidemann, J., and R.d.O. | [Moura19b] Moura, G.C.M., Hardaker, W., Heidemann, J., and R. de O. | |||
| Schmidt, "Cache Me If You Can: Effects of DNS Time-to- | Schmidt, "Cache Me If You Can: Effects of DNS Time-to- | |||
| Live", ACM 2019 Internet Measurement Conference, | Live", ACM 2019 Internet Measurement Conference, | |||
| DOI 10.1145/3355369.3355568, n.d., | DOI 10.1145/3355369.3355568, October 2019, | |||
| <https://www.isi.edu/~hardaker/papers/2019-10-cache-me- | <https://www.isi.edu/~hardaker/papers/2019-10-cache-me- | |||
| ttls.pdf>. | ttls.pdf>. | |||
| [Mueller17b] | [Mueller17b] | |||
| Mueller, M., Moura, G.C.M., Schmidt, R.d.O., and J. | Müller, M., Moura, G.C.M., Schmidt, R. de O., and J. | |||
| Heidemann, "Recursives in the Wild- Engineering | Heidemann, "Recursives in the Wild: Engineering | |||
| Authoritative DNS Servers.", ACM 2017 Internet Measurement | Authoritative DNS Servers", ACM 2017 Internet Measurement | |||
| Conference, DOI 10.1145/3131365.3131366, October 2017, | Conference, DOI 10.1145/3131365.3131366, November 2017, | |||
| <https://www.isi.edu/%7ejohnh/PAPERS/Mueller17b.pdf>. | <https://www.isi.edu/%7ejohnh/PAPERS/Mueller17b.pdf>. | |||
| [Perlroth16] | [Perlroth16] | |||
| Perlroth, N., "Hackers Used New Weapons to Disrupt Major | Perlroth, N., "Hackers Used New Weapons to Disrupt Major | |||
| Websites Across U.S.", October 2016, | Websites Across U.S.", October 2016, | |||
| <https://www.nytimes.com/2016/10/22/business/internet- | <https://www.nytimes.com/2016/10/22/business/internet- | |||
| problems-attack.html>. | problems-attack.html>. | |||
| [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| Rose, "DNS Security Introduction and Requirements", | Rose, "DNS Security Introduction and Requirements", | |||
| skipping to change at page 19, line 31 ¶ | skipping to change at line 826 ¶ | |||
| (DS) Resource Records (RRs)", RFC 4509, | (DS) Resource Records (RRs)", RFC 4509, | |||
| DOI 10.17487/RFC4509, May 2006, | DOI 10.17487/RFC4509, May 2006, | |||
| <https://www.rfc-editor.org/info/rfc4509>. | <https://www.rfc-editor.org/info/rfc4509>. | |||
| [RFC8811] Mortensen, A., Ed., Reddy.K, T., Ed., Andreasen, F., | [RFC8811] Mortensen, A., Ed., Reddy.K, T., Ed., Andreasen, F., | |||
| Teague, N., and R. Compton, "DDoS Open Threat Signaling | Teague, N., and R. Compton, "DDoS Open Threat Signaling | |||
| (DOTS) Architecture", RFC 8811, DOI 10.17487/RFC8811, | (DOTS) Architecture", RFC 8811, DOI 10.17487/RFC8811, | |||
| August 2020, <https://www.rfc-editor.org/info/rfc8811>. | August 2020, <https://www.rfc-editor.org/info/rfc8811>. | |||
| [RipeAtlas15a] | [RipeAtlas15a] | |||
| Staff, R.N., "RIPE Atlas A Global Internet Measurement | RIPE Network Coordination Centre (RIPE NCC), "RIPE Atlas: | |||
| Network", September 2015, <http://ipj.dreamhosters.com/wp- | A Global Internet Measurement Network", October 2015, | |||
| <http://ipj.dreamhosters.com/wp- | ||||
| content/uploads/issues/2015/ipj18-3.pdf>. | content/uploads/issues/2015/ipj18-3.pdf>. | |||
| [RipeAtlas19a] | [RipeAtlas19a] | |||
| NCC, R., "Ripe Atlas - RIPE Network Coordination Centre", | RIPE Network Coordination Centre (RIPE NCC), "RIPE Atlas", | |||
| September 2019, <https://atlas.ripe.net/>. | <https://atlas.ripe.net>. | |||
| [Schmidt17a] | [Schmidt17a] | |||
| Schmidt, R.d.O., Heidemann, J., and J.H. Kuipers, "Anycast | Schmidt, R. de O., Heidemann, J., and J. Kuipers, "Anycast | |||
| Latency - How Many Sites Are Enough. In Proceedings of the | Latency: How Many Sites Are Enough?", PAM 2017 Passive and | |||
| Passive and Active Measurement Workshop", PAM Passive and | Active Measurement Conference, | |||
| Active Measurement Conference, March 2017, | DOI 10.1007/978-3-319-54328-4_14, March 2017, | |||
| <https://www.isi.edu/%7ejohnh/PAPERS/Schmidt17a.pdf>. | <https://www.isi.edu/%7ejohnh/PAPERS/Schmidt17a.pdf>. | |||
| [Singla2014] | [Singla2014] | |||
| Singla, A., Chandrasekaran, B., Godfrey, P.B., and B. | Singla, A., Chandrasekaran, B., Godfrey, P., and B. Maggs, | |||
| Maggs, "The Internet at the speed of light. In Proceedings | "The Internet at the Speed of Light", 13th ACM Workshop on | |||
| of the 13th ACM Workshop on Hot Topics in Networks (Oct | Hot Topics in Networks, DOI 10.1145/2670518.2673876, | |||
| 2014)", ACM Workshop on Hot Topics in Networks, October | October 2014, | |||
| 2014, | ||||
| <http://speedierweb.web.engr.illinois.edu/cspeed/papers/ | <http://speedierweb.web.engr.illinois.edu/cspeed/papers/ | |||
| hotnets14.pdf>. | hotnets14.pdf>. | |||
| [VerfSrc] Vries, W.d., "Verfploeter source code", November 2018, | [VerfSrc] "Verfploeter Source Code", commit f4792dc, May 2019, | |||
| <https://github.com/Woutifier/verfploeter>. | <https://github.com/Woutifier/verfploeter>. | |||
| [Vries17b] Vries, W.d., Schmidt, R.d.O., Hardaker, W., Heidemann, J., | [Vries17b] de Vries, W., Schmidt, R. de O., Hardaker, W., Heidemann, | |||
| Boer, P.d., and A. Pras, "Verfploeter - Broad and Load- | J., de Boer, P-T., and A. Pras, "Broad and Load-Aware | |||
| Aware Anycast Mapping", ACM 2017 Internet Measurement | Anycast Mapping with Verfploeter", ACM 2017 Internet | |||
| Conference, DOI 10.1145/3131365.3131371, October 2017, | Measurement Conference, DOI 10.1145/3131365.3131371, | |||
| November 2017, | ||||
| <https://www.isi.edu/%7ejohnh/PAPERS/Vries17b.pdf>. | <https://www.isi.edu/%7ejohnh/PAPERS/Vries17b.pdf>. | |||
| Acknowledgements | ||||
| We would like to thank the reviewers of this document who offered | ||||
| valuable suggestions as well as comments at the IETF DNSOP session | ||||
| (IETF 104): Duane Wessels, Joe Abley, Toema Gavrichenkov, John | ||||
| Levine, Michael StJohns, Kristof Tuyteleers, Stefan Ubbink, Klaus | ||||
| Darilion, and Samir Jafferali. | ||||
| Additionally, we would like thank those acknowledged in the papers | ||||
| this document summarizes for helping produce the results: RIPE NCC | ||||
| and DNS OARC for their tools and datasets used in this research, as | ||||
| well as the funding agencies sponsoring the individual research. | ||||
| Contributors | ||||
| This document is a summary of the main considerations of six research | ||||
| papers written by the authors and the following people who | ||||
| contributed substantially to the content and should be considered | ||||
| coauthors; this document would not have been possible without their | ||||
| hard work: | ||||
| * Ricardo de O. Schmidt | ||||
| * Wouter B. de Vries | ||||
| * Moritz Mueller | ||||
| * Lan Wei | ||||
| * Cristian Hesselman | ||||
| * Jan Harm Kuipers | ||||
| * Pieter-Tjerk de Boer | ||||
| * Aiko Pras | ||||
| Authors' Addresses | Authors' Addresses | |||
| Giovane C. M. Moura | Giovane C. M. Moura | |||
| SIDN Labs/TU Delft | SIDN Labs/TU Delft | |||
| Meander 501 | Meander 501 | |||
| 6825 MD Arnhem | 6825 MD Arnhem | |||
| Netherlands | Netherlands | |||
| Phone: +31 26 352 5500 | Phone: +31 26 352 5500 | |||
| Email: giovane.moura@sidn.nl | Email: giovane.moura@sidn.nl | |||
| Wes Hardaker | Wes Hardaker | |||
| USC/Information Sciences Institute | USC/Information Sciences Institute | |||
| PO Box 382 | PO Box 382 | |||
| Davis, 95617-0382 | Davis, CA 95617-0382 | |||
| United States of America | United States of America | |||
| Phone: +1 (530) 404-0099 | Phone: +1 (530) 404-0099 | |||
| Email: ietf@hardakers.net | Email: ietf@hardakers.net | |||
| John Heidemann | John Heidemann | |||
| USC/Information Sciences Institute | USC/Information Sciences Institute | |||
| 4676 Admiralty Way | 4676 Admiralty Way | |||
| Marina Del Rey, 90292-6695 | Marina Del Rey, CA 90292-6695 | |||
| United States of America | United States of America | |||
| Phone: +1 (310) 448-8708 | Phone: +1 (310) 448-8708 | |||
| Email: johnh@isi.edu | Email: johnh@isi.edu | |||
| Marco Davids | Marco Davids | |||
| SIDN Labs | SIDN Labs | |||
| Meander 501 | Meander 501 | |||
| 6825 MD Arnhem | 6825 MD Arnhem | |||
| Netherlands | Netherlands | |||
| Phone: +31 26 352 5500 | Phone: +31 26 352 5500 | |||
| Email: marco.davids@sidn.nl | Email: marco.davids@sidn.nl | |||
| End of changes. 134 change blocks. | ||||
| 444 lines changed or deleted | 453 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||