<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.4 (Ruby 3.0.6) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC1034 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC1700 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1700.xml">
<!ENTITY RFC6891 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6891.xml">
<!ENTITY RFC8499 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8499.xml">
<!ENTITY RFC7871 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7871.xml">
]>


<rfc ipr="trust200902" docName="draft-pan-dnsop-edns-isp-location-06" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="EIL">ISP Location in DNS Queries</title>

    <author initials="L." surname="Pan" fullname="Lanlan Pan">
      <organization></organization>
      <address>
        <postal>
          <city>Guangdong</city>
          <country>China</country>
        </postal>
        <email>abbypan@gmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Fu" fullname="Yu Fu">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>fuy186@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="C." surname="Wang" fullname="Cuicui Wang">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>wangcc107@chinaunicom.cn</email>
      </address>
    </author>

    <date year="2024" month="January" day="15"/>

    <area>ops</area>
    <workgroup>dnsop</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 170?>

<t>Nowadays, many authoritative servers support GeoIP feature, 
they guess the client's geolocation by the client subnet of EDNS Client Subnet (ECS) or by the source IP address of DNS query, return tailor DNS response based on the client's geolocation. 
However, ECS raises some privacy concerns because it leaks client subnet information on the resolution path to the authoritative server.</t>

<t>This document describes an improved GeoIP solution,
defines an EDNS ISP Location (EIL) extension to address the privacy problem of ECS, 
tries to find the right balance between privacy improvement and user experience optimization.</t>

<t>EIL is defined to convey isp location &lt; COUNTRY, AREA, ISP &gt; information that is relevant to the DNS message. 
It will directly provide sufficient information for the GeoIP-enabled authoritative server as ECS, decide the response without guessing client's geolocation.</t>



    </abstract>



  </front>

  <middle>


<?line 183?>

<section anchor="introduction"><name>Introduction</name>

<t>Nowadays, many authoritative servers support GeoIP feature, such as <xref target="BIND-GeoIP"/>, <xref target="PowerDNS-GeoIP"/>, <xref target="Amazon-GeoIP"/>, <xref target="DYN-GeoIP"/>, <xref target="gdnsd-GeoIP"/>, <xref target="WindowsServer-GeoIP"/> (More details are given in Appendix A). These geographically aware authoritative servers guess the client's geolocation by the client subnet of ECS or by the source IP address of DNS query, return tailor DNS response based on the client's geolocation.</t>

<t>ECS is an EDNS0 option <xref target="RFC6891"/>, described in <xref target="RFC7871"/>, carries client subnet information in DNS queries for authoritative server. Compared to source IP address of DNS query, ECS will help authoritative server to guess the client's geolocation more precisely because of the DNS forwarding query structure.</t>

<t>GeoIP-enabled authoritative servers use ECS for client geolocation detecting. However, ECS raises some privacy concerns because it leaks client subnet information on the resolution path to the authoritative server <xref target="ECS-Privacy"/>.</t>

<t>This document describes an improved GeoIP solution,
defines an EDNS ISP Location (EIL) extension to address the privacy problem of ECS, 
tries to find the right balance between privacy improvement and user experience optimization.</t>

<t>EIL is defined to convey isp location &lt; COUNTRY, AREA, ISP &gt; information that is relevant to the DNS message. 
It will directly provide the same sufficient information for the GeoIP-enabled authoritative server as ECS, decide the response without guessing client's geolocation.</t>

<t>EIL is intended for those local forwarding resolvers, recursive resolvers and authoritative servers that would benefit from the extension and not for general purpose deployment. EIL could be applied for tailor DNS response for GeoIP scenario. EIL can safely be ignored by servers that choose not to implement or enable it.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/> when they appear in ALL CAPS. When these words are not in ALL CAPS (such as "should" or "Should"), they have their usual English meanings, and are not to be interpreted as <xref target="RFC2119"/> keywords.</t>

<t>Basic terms used in this specification are defined in the documents <xref target="RFC1034"/>, <xref target="RFC1035"/>, <xref target="RFC8499"/> and <xref target="RFC7871"/>.</t>

<t><list style="symbols">
  <t>EIL: EDNS ISP Location.</t>
  <t>ECS: EDNS Client Subnet, described in <xref target="RFC7871"/>.</t>
  <t>Stub Resolver: A resolver that cannot perform all resolution itself.</t>
  <t>Authoritative Server: It is a server that knows the content of a DNS zone from local knowledge, and thus can answer queries about that zone without needing to query other servers.</t>
  <t>Intermediate Nameserver: Any nameserver in between the stub resolver and the authoritative server, such as a recursive resolver or a forwarding resolver.</t>
  <t>Local Forwarding Resolver: It is the first forwarding resolver which receives DNS queries from stub resolver, usually deployed nearby the first-hop router such as public Wi-Fi hotspot routers and home routers.</t>
  <t>Recursive Resolver: It is the last-hop before authoritative server in the DNS query path.</t>
</list></t>

</section>
<section anchor="problem-of-ecs"><name>Problem of ECS</name>

<t>As mentioned in <xref target="RFC7871"/>'s abstract section, since ECS has some known operational and privacy shortcomings, a revision will be worked through the IETF for improvement.</t>

<section anchor="client"><name>Client</name>

<t>Common clients have little power to defense passive monitoring, expecially in the plain-text traffic.</t>

<t>ECS's client subnet leakage has rise some user privacy concerns.</t>

</section>
<section anchor="recursive-resolver"><name>Recursive Resolver</name>

<t>Recursive resolver must deal with ECS's cache problem, such as low cache hitrate, rise response time, redundant cache size, etc.</t>

<t>Mukund Sivaraman described some scenarios in <xref target="ClientSubnet-Bis"/>.</t>

<t>ECS is precise because it is based on client subnet. But IPv6 addresses will boom, we can foresee it to increase more burden on global recursive resolvers.</t>

</section>
<section anchor="geoip-enabled-authoritative-server"><name>GeoIP-enabled Authoritative Server</name>

<t>Tranditional recursive resolver's IP can on behalf of many client subnets because they are network topological close.
But this scenario has been varied by public recursive resolver. ECS push client subnets to authoritative server, wants to solve the "public recursive resolver's IP is network topological far from client subnet" problem.</t>

<t>Therefore, ECS rises GeoIP-enabled authoritative server's dependence on IP2Geo database quality, because authoritative server should guess geolocation for huge amounts of client subnet.
Every GeoIP-enabled authoritative server must operate IP2Geo database carefully and catch up with network topology change. 
The work is inevitable, but ECS aggravate this, because the number of client subnets is far greater than the number of recursive resolvers. 
GeoIP-enabled authoritative server needs a more precise IP2Geo database, updates it more frequent than before, to catch up with the huge client subnet network topology, but not the recursive resolver's IP network topology.
Every GeoIP-enabled authoritative server should cost more on IP2Geo database.</t>

</section>
</section>
<section anchor="eil-overview"><name>EIL Overview</name>

<t>EIL is an EDNS0 option to allow local forwarding resolvers and recursive resolvers, if they are willing, to forward details about the isp location of client when talking to other nameservers. EIL can be added in queries sent by local forwarding resolvers or recursive resolvers in a way that is transparent to stub resolvers and end users.</t>

<t>Authoritative servers could provide a better answer by using precise isp location in EIL. Intermediate Nameservers could send EIL query and cache the EIL response. This document also provides a mechanism to signal Intermediate Nameservers that they do not want EIL treatment for specific queries.</t>

<t>EIL is only defined for the Internet (IN) DNS class.</t>

<section anchor="the-eil-edns0-option"><name>The EIL EDNS0 option</name>

<t>The EIL is an EDNS0 option to include the &lt; COUNTRY, AREA, ISP &gt; isp location of client in DNS messages.</t>

<t>It is 16 octets which is structured as follows:</t>

<figure><artwork><![CDATA[
                +0 (MSB)                            +1 (LSB)
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0: |                         OPTION-CODE                           |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   2: |                         OPTION-LENGTH                         |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   4: |                         COUNTRY                               |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   6: |                         AREA                                  |
      |                                                               |
      |                                                               |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
  12: |                         ISP                                   |
      |                                                               |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

      Total: 16 octets.
]]></artwork></figure>

<t><list style="symbols">
  <t>OPTION-CODE, 2 octets, defined in <xref target="RFC6891"/>. EDNS option code should be assigned by the IANA.</t>
  <t>OPTION-LENGTH, 2 octets, defined in <xref target="RFC6891"/>, contains the length of the payload (everything after OPTION-LENGTH) in octets.</t>
  <t>COUNTRY, 2 octets, uppercase, defined in <xref target="ISO3166"/>, indicates the country information of the client's IP. For example, China's COUNTRY is CN.</t>
  <t>AREA, 6 octets, uppercase, defined in <xref target="ISO3166"/> country subdivision code, indicates the area information of the client's IP. For example, The AREA of Fujian Province in China is 35.</t>
  <t>ISP, 4 octets, uppercase, indicates the ISP information of the client's IP, using shortcut names. ISP shortcut names are unique within the context of the COUNTRY. For example, the shortcut name of China Telecommunications Corporation is TEL, the shortcut name of China United Network Communications is UNI, the shortcut name of China Mobile is MOB, etc.</t>
</list></t>

<t>All fields are in network byte order ("big-endian", per <xref target="RFC1700"/>, Data Notation).</t>

<t>The aim to use shortcut names in the ISP field is to limit the data size of EIL, decrease the DDoS risk.</t>

<t>The null value 0x20 signifies that the field is unknown. If all fields in EIL are set to null value, it means that client doesn't want to use EIL.</t>

<t>Authoritative servers can send EIL response with the * value 0x2A in AREA field or ISP field (not COUNTRY field), which signifies that the field is wildcard match. For example,  &lt; CN, *, TEL &gt; indicates "all area in China, Telecom ISP", &lt; CN, *, * &gt; indicates "all area in China".</t>

</section>
</section>
<section anchor="protocol-description"><name>Protocol Description</name>

<section anchor="originating-the-option"><name>Originating the Option</name>

<t>The EIL can be initialized by public recursive resolver, ISP recursive resolver, or local forwarding resolver.</t>

<t>Examples are given in Appendix B.</t>

<section anchor="p-model-public-recursive-resolver"><name>P-Model: Public Recursive Resolver</name>

<t>Public recursive resolvers are not close to many clients because the service providers couldn't deploy servers in every country and every ISP's network, which will affect the response accuracy of authoritative servers. 
To address this problem, ECS shifts the client subnet information to authoritative server, but rises user privacy concerns.</t>

<t>Therefore, to keep balance between precise and privacy, when a public recursive resolver receives a DNS query, it can guess isp location of client's IP and generate the EIL OPT data, then send EIL query to the authoritative server. This will move the "guess location of client's IP" work from authoritative server back to public recursive resolver, lighten the burden of authoritative server, but increase DDoS risk on public recursive resolver.</t>

<t>In order to improve the user's privacy, if a recursive resolver receives a DNS query with ECS, it can guess the isp location of SOURCE-PREFIX from the ECS OPT data, and make a new DNS query with EIL, then send the query to authoritative server which supports EIL.</t>

<t>P-model is the most recommended and close to the ECS.</t>

</section>
<section anchor="i-model-isp-recursive-resolver"><name>I-Model: ISP Recursive Resolver</name>

<t>ISP recursive resolver only serves its customers, each of whom has a static isp location. ISP recursive resolver can add EIL transparent to end client, and then authoritative server doesn't need to "guess location of client's IP".</t>

<t>EIL will be benefit if the authoritative server could not find the approximate isp location of ISP recursive resolver, which is crucial to DNS response accuracy in ECS.</t>

</section>
<section anchor="l-model-local-forwarding-resolver"><name>L-Model: Local Forwarding Resolver</name>

<t>Local forwarding resolver is usually on the first-hop router, such as public Wi-Fi hotspot routers and Cisco/Linksys/Netgear/TP-LINK home routers.</t>

<t>When a local forwarding resolver that implements EIL receives a DNS query from an end client, it surely can know about the isp location of client's IP, and generate the EIL OPT data, then send the EIL query to the recursive resolver. Recursive resolver sends the EIL query to the authoritative server.</t>

<t>In this scenario, both public recursive resolver and authoritative server don't need to "guess location of client's IP", 
because the local forwarding resolver supplies the isp location precisely. 
That is, EIL can reduce the dependence on the IP geolocation database quality, which is crucial to DNS response accuracy in ECS.</t>

<t>If a local forwarding resolver had sent a query with EIL, and receives a REFUSE response, it MUST regenerate a query with no EIL.</t>

</section>
</section>
<section anchor="generating-a-response"><name>Generating a Response</name>

<section anchor="path-calculation-and-tailored-dns-response"><name>Path Calculation and Tailored DNS Response</name>

<t>Separate the consideration of path calculation (data provider) and tailored DNS response (authoritative server).</t>

<t>Data providers make path calculations to optimize content delivery on the Internet based on the network topology, considering many factors such as IP, RIPs, FIBs, AS Path hops, system load, content availability, path latency, etc. Note that, data providers have the full details of the clients, they can make any complex path calculations without ECS and EIL.
Data Providers can make path calculations based on network topology, decide network topological close datacenter for each IP address.</t>

<t>Authoritative servers allocate tailored DNS response to each IP address based on the "network topological close" result of path calculations.
Based on the result of path calculation, data providers could build up their GeoIP configuration for their domains. Usually, clients from the same &lt; COUNTRY, AREA, ISP &gt; isp location are allocated to the same best "network topologically close" target ip addresses. For example, client IP addresses from &lt; China, Beijing, Telecom &gt; are allocated to Target-IP-addresses-1 (ip1, ..., ip4), client IP addresses from &lt; China, Beijing, Unicom &gt; are allocated to Target-IP-addresses-2 (ip5, ..., ip8), etc.</t>

<t>Data providers publish their GeoIP configuration to Authoritative servers. Authoritative servers load the GeoIP configuration, and return the GeoIP-based tailored DNS response based on client's geolocation.
If the GeoIP-enabled authoritative servers support ECS, they can use the client subnet information of ECS for client's geolocation detecting.
Alternative, if the GeoIP-enabled authoritative servers support EIL, they can use the &lt; COUNTRY, AREA, ISP &gt; information of EIL directly, without client's geolocation detecting.</t>

<t>EIL tell authoritative server like that, "I want to know what is best IP address for clients from &lt; China, Beijing, Telecom &gt; at network topology path calculations result", but not "I want to know what is the nearest IP address for clients from &lt; China, Beijing, Telecom &gt; at physical topology path calculations result".</t>

<t>EIL is satisfied if authoritative servers aggregate the IP addresses from the same &lt; COUNTRY, AREA, ISP &gt; isp location to visit the same datacenters, we call that GeoIP-based tailored DNS responses, and these tailored responses have the best "network topological close" distance to the clients which are generated from network topology path calculations result.</t>

<t>ECS is satisfied if authoritative servers make tailored DNS response down to subnet precise level. For example, (subnet-1, ..., subnet-10) are from the same &lt; COUNTRY, AREA, ISP &gt; isp location, Data Provider can apply (subnet-1, ..., subnet-5) visit Target-IP-addresses-1 (ip1, ..., ip2), (subnet-6, ..., subnet-10) visit Target-IP-addresses-1 (ip3, ..., ip4).</t>

</section>
<section anchor="whitelist"><name>Whitelist</name>

<t>EIL contains a whitelist for &lt; COUNTRY, AREA and ISP &gt;, which can be discussed and maintained by the DNSOP working group. 
Authoritative servers that supporting EIL must only response the EIL queries matched the whitelist. 
Recursive resolver that supporting EIL must only cache the EIL responses matched the whitelist.</t>

</section>
<section anchor="authoritative-server"><name>Authoritative Server</name>

<t>Using the &lt; COUNTRY, AREA and ISP &gt; isp location specified in the EIL option of DNS query, an authoritative server can generate a tailored response.</t>

<t>Authoritative servers that have not implemented or enabled support for the EIL ought to safely ignore it within incoming queries, response the query as a normal case without EDNS0 option. Such a server MUST NOT include an EIL option within replies to indicate lack of support for it.</t>

<t>An authoritative server that has implemented this protocol and receives an EIL option MUST include an EIL option in its response to indicate that it SHOULD be cached accordingly.</t>

<t>An authoritative server will return a more appropriate tailored response for the query with an EIL option containing more precisely AREA.</t>

</section>
<section anchor="intermediate-nameserver"><name>Intermediate Nameserver</name>

<t>Like ECS, intermediate nameserver passes a DNS response with an EIL option to its client when the client indicates support EIL.</t>

<t>If an intermediate nameserver receives a response that has a larger area than the AREA provided in its query, it SHOULD still provide the result as the answer to the triggering client request even if the client is in a smaller area.</t>

</section>
</section>
<section anchor="handling-eil-responses-and-caching"><name>Handling EIL Responses and Caching</name>

<t>If an intermediate nameserver had sent a query with EIL, and receives a NOERROR response without EIL option, it SHOULD treat this answer as suitable for all clients.</t>

<t>Other handling considerations are similar with <xref target="RFC7871"/>, SECTION 7.3.</t>

<t>In the cache, all resource records in the answer section MUST be tied to the isp location specified in the response. The answer section is valid for all areas which the EIL option covered. For example, an EIL option &lt; CN, 35, TEL &gt; covers all 9 cities in Fujian province of China Telecommunications ISP.</t>

<t>Same with ECS, the additional and authority sections are excluded.</t>

<t>Enabling support for EIL in an intermediate nameserver will increase the size of the cache, and prevent "client subnet leak" privacy concern of ECS.</t>

<section anchor="answering-from-cache"><name>Answering from Cache</name>

<t>Cache lookups are first done as usual for a DNS query, using the query tuple of &lt; name, type, class &gt;. Then, the appropriate RRset MUST be chosen based on the isp location matching.</t>

<t>If there was an EIL option, the intermediate nameserver will lookup for &lt; same COUNTRY, same AREA, same ISP &gt; of the same query tuple in the cache.</t>

<t>If no EIL option was provided, the safest choice of the intermediate nameserver is dealing the query as a normal case without EDNS0 option.</t>

<t>If no EIL option was provided, but the intermediate nameserver want to be more aggressive, it can guess the isp location from the source IP of the query, then respond as if there was an EIL option with the guessed information. Clients can be benefit when the intermediate nameserver has a more precise IP location database than the authoritative server, especially in global public DNS service like GoogleDNS(8.8.8.8).</t>

<t>Otherwise, if no matching is found, the intermediate nameserver MUST perform resolution as usual.</t>

</section>
<section anchor="delegations-and-negative-answers"><name>Delegations and Negative Answers</name>

<t>EIL's delegation case is similar with ECS, Additional and Authority Sections SHOULD ignore EIL.</t>

<t>For negative answers, authoritative servers return traditional negative answers without EIL.</t>

</section>
</section>
<section anchor="deploy"><name>Deploy</name>

<section anchor="transitivity"><name>Transitivity</name>

<t>EIL's transitivity concerns are similar with ECS.</t>

<t>Name servers should only enable EIL where it is expected to benefit the end clients, such as dealing with some latency-sensitive CDN domain queries in a complex network environment.</t>

</section>
<section anchor="compatibility-with-non-edns-and-ecs"><name>Compatibility with non-EDNS and ECS</name>

<t>GeoIP-enabled authoritative servers can simply add EIL support.</t>

<t>Recursive Resolvers can add EIL support, and make the compatible policy with ECS and EIL.</t>

<t>The indicator that authoritative servers used to generate tailor response is showed as follows:</t>

<t><list style="symbols">
  <t>RRIP: Recursive Resolver's IP</t>
  <t>ECS: Client Subnet</t>
  <t>EIL: Client Isp Location  <vspace blankLines='1'/>
    <figure><artwork><![CDATA[
  +--------------------+----------------------=-------------------------------------+
  | Recursive Resolver |                                    AUTH                    |
  |                    | non-EDNS | ECS but non-EIL | EIL but non-ECS | ECS and EIL |
  +--------------------+----------+-----------------+-----------------+-------------+
  | non-EDNS           | RRIP     | RRIP            | RRIP            | RRIP        | 
  +-------------------------------+-----------------+-----------------+-------------+
  | ECS but non-EIL    | RRIP     | ECS             | RRIP            | ECS         |
  +-------------------------------+-----------------+-----------------+-------------+
  | EIL but non-ECS    | RRIP     | RRIP            | EIL             | EIL         |
  +--------------------+----------+-----------------+-----------------+-------------+
  | ECS and EIL        | RRIP     | ECS             | EIL             | ECS/EIL     |
  +--------------------+----------+-----------------+-----------------+-------------+
]]></artwork></figure>
  </t>
</list></t>

</section>
<section anchor="intermediate-servers-support-ecs-and-eil-at-the-same-time"><name>Intermediate Servers Support ECS and EIL at the Same Time</name>

<t>Intermediate nameservers can support ECS and EIL at the same time. However, ECS and EIL can't be both initiated at the same DNS packet.</t>

<t>To make more effort to protect user's privacy, we suggest that intermediate nameservers could initiate EIL query prior to ECS query. Alternative, they could send both ECS and EIL queries if not match in the cache.</t>

<figure><artwork><![CDATA[
Receive EIL query: 
    Search in EIL cache.
    If cache is matched, return EIL response.
    Otherwise, 
        Send EIL query.

Receive ECS query: 
    Search in ECS cache.
    If cache is matched, return ECS response.
    Otherwise, 
        Send ECS query.

Receive plain DNS query without EDNS option: 
    Search in ECS cache.
    If cache is matched, return ECS response.
    Otherwise,  
        Guess the isp location information of the client's IP, 
        Search in EIL cache.
        If cache is matched, return EIL response.
        Otherwise, 
            Send EIL query.
            If authoritative server supports EIL, return EIL response.
            Otherwise, 
                Send ECS query.
                If authoritative server supports ECS, return ECS response.
                Otherwise, 
                    Send plain DNS query.


Receive plain DNS query with not-ECS/not-EIL option: 
    Search in not-EDNS cache.
    If cache is matched, return response.
    Otherwise, 
        Send plain DNS query.

Receive ECS query, improve user privacy with EIL: 
    Guess the isp location information of the client's IP, 
    Search in EIL cache.
    If cache is matched, return EIL response RR with origin ECS option.
    Otherwise, 
         Send EIL query.
]]></artwork></figure>

</section>
</section>
<section anchor="why-not-use-as-number-to-build-eil"><name>Why not use AS number to build EIL</name>

<t>AS number is not an ideal object to balance between response accuracy and user privacy, for example:</t>

<t><list style="symbols">
  <t>User privacy: AS24151 can directly guide to China Internet Network Infomation Center, it is not good for user privacy.</t>
  <t>Response accurancy: AS4134 contains a huge amount of IP prefixes whose geolocation covers from South China to North China, AS number can not afford the response accuracy consideration.</t>
</list></t>

<t>Maybe &lt; COUNTRY-CODE, AREA-CODE, ISP, AS-NUMBER &gt; is a considerable trade-off choice.</t>

</section>
</section>
<section anchor="benefit-and-cost"><name>Benefit and Cost</name>

<section anchor="client-1"><name>Client</name>

<t>EIL is transparent to client.</t>

<t>EIL is to help mitigate client subnet leakage on the resolution path, improve user privacy.</t>

</section>
<section anchor="recursive-resolver-1"><name>Recursive Resolver</name>

<t>ECS sends the query with client subnet, which means that recursive resolvers have to send a new query to authoritative servers with client_subnet_b, even it has known the response about network topological close client_subnet_a. In fact, thousands of subnets visit only a few servers, there are many redundacy queries, the recursive's cache hitrate is low.</t>

<t>Because of ECS's low cache hitrate, recursive resolvers's ECS tailored response latency will be longer, the average of response time will rise with the redundacy queries rate from recursive resolvers to authoritative servers.</t>

<t>Recursive resolver's ECS cache size grows up with the number of client subnets, see also <xref target="EIL-Qshine"/> and <xref target="EIL-PST"/>.</t>

<t>To sum it up, above problems all rise with the client subnet amount, especially when IPv6 addresses boom. Extend the subnet range in the ECS response may be mitigating, but not work for wide range client subnets. Recursive can make some guess optimization, if it has known response for client_subnet_a, then guess to return the same response for toplogical close client_subnet_b without send the redundancy query.</t>

<t>Therefore, if the ECS revision wants to make more effective client subnets aggregation for recursive resolver, then EIL can be an considerable choice.
EIL wants to summary network toplogical close client subnets into &lt; COUNTRY, AREA, ISP &gt; for GeoIP-enabled authoritative server.
With EIL response cache, recursive resolvers can directly response for many ECS client subnets queries, which will rise cache hitrate and reduce response latency.
The cache size of EIL is related to the row count in the &lt; COUNTRY, AREA, ISP &gt; isp location whitelist. Therefore, under IPv6 environment, the cache size of EIL will be much smaller than ECS.</t>

<t>Note that, the EIL's IP2Geo mapping work will make recursive resolver to more computational cost.</t>

</section>
<section anchor="geoip-enabled-authoritative-server-1"><name>GeoIP-enabled Authoritative Server</name>

<t>Client subnet is the best factor if the company has good network topology monitor ability, offen is for big company.
However, for many authoritative servers that only deployed GeoDNS, the accuracy limitation is commonly because of the IP2Geo database quality, and the small ISPs change to another next-hop big ISP suddenly.</t>

<t>For the GeoIP-enabled authoritative server, the response accurancy depends on the IP geolocation database quality. If authoritative server can not find approximate isp location of ECS's client subnet, they can not return best tailored response.</t>

<t>Even though GeoIP-enabled authoritative servers know about the precise isp location of ECS's client subnet, they may not know about the latest toplogical path change of the isp to update the tailored response in time.
In the case of "small ISP -&gt; big ISP (change frequency) -&gt; ...  -&gt; website", both small ISP's client ip/resolver ip is not good factor for GeoDNS. 
Big companies work hard to catch up with the client ip's connect topology change, and adjust their authoritative servers' tailored response, but smaller companies only deploy IP2Geo may not afford.</t>

<t>EIL wants to give downstream a chance to tell authoritative server its best path quickly and proactively, help to rise the response accuracy, avoid cross-isp visit, save IP transit cost for Data Provider.
EIL directly provide sufficient information for the GeoIP-enabled authoritative server.
Compared to ECS, EIL can reduce GeoIP-enabled authoritative server's dependence on the IP geolocation database quality.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="dnssec"><name>DNSSEC</name>

<t>EIL is not signed.</t>

</section>
<section anchor="privacy"><name>Privacy</name>

<t>The biggest privacy concern on ECS is that client subnet information is personally identifiable. The more domains publish their zones on a third-party authoritative server, the more end user privacy information can be gathered by the authoritative server according to the ECS queries.</t>

<t>EIL is to improve user privacy which is inspired by ECS, prevented leaks in the client subnet information.</t>

<t>Like ECS, EIL will leak the global zonefile configurations of the authoritative servers more easily than normal case.</t>

</section>
<section anchor="target-censorship"><name>Target Censorship</name>

<t>DNS traffic is plain text by default. It is easily to be blocked or poisoned by internet target censorship. To bypass the censorship, it is better to encrypt the DNS traffic or use some proxy tunnel.</t>

<t>EIL's isp location information covers bigger area than ECS's client subnet information. Therefore, compared to ECS in plain text condition, EIL is weaker at blocking record attack, but stronger at targeted DNS poisoning attack.</t>

</section>
<section anchor="ddos"><name>DDoS</name>

<t>To migrate the DDoS problem:</t>

<t><list style="symbols">
  <t>If an Authority Server receives a DNS query with unknown data in EIL option, it SHOULD return the default response whose EIL option with null value.</t>
  <t>Nameservers OPTIONAL only implement EIL when the query is from a TCP connection.</t>
</list></t>

<t>More migration techniques described in <xref target="RFC7871"/>, Section 11.3.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document defines EIL, need request IANA to assign a new EDNS0 option code to EIL.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>EIL is inspired by ECS, the authors especially thanks to C. Contavalli, W. van der Gaast, D. Lawrence, and W. Kumari.</t>

<t>Thanks comments for Barry Raveendran Greene, Paul Vixie, Petr Špaček, Brian Hartvigsen, Ask Bjørn Hansen, Dave Lawrence.</t>

<t>Thanks a lot to all in the DNSOP, DNSPRIV mailing list.</t>

</section>
<section anchor="appendix-a-geoip-enabled-authoritative-servers-example"><name>Appendix A. GeoIP-enabled Authoritative Servers Example</name>

<section anchor="bind"><name>BIND</name>

<t>As described in <xref target="BIND-GeoIP"/>, BIND 9.10 is able to use data from MaxMind GeoIP databases to achieve restrictions based on the (presumed) geographic location of that address. The ACL itself is still address-based, but the GeoIP-based specification mechanisms can easily populate an ACL with addresses in a certain geographic location.</t>

<figure><artwork><![CDATA[
acl "example" {
  geoip country US;
  geoip region CA;
  geoip city "Redwood City"; /* names, etc., must be quoted if they contain spaces */
};
]]></artwork></figure>

</section>
<section anchor="powerdns"><name>PowerDNS</name>

<t>As described in <xref target="PowerDNS-GeoIP"/>, PowerDNS supports many geolocation placeholders, such as %co = 3-letter country, %cn = continent, %re = region, %ci = city.</t>

<figure><artwork><![CDATA[
domains:
- domain: geo.example.com
  ttl: 30
  records:
    geo.example.com:
      - soa: ns1.example.com hostmaster.example.com 2014090125 7200 3600 1209600 3600
      - ns:
           content: ns1.example.com
           ttl: 600
      - ns: ns2.example.com
      - mx: 10 mx.example.com
    fin.eu.service.geo.example.com:
      - a: 192.0.2.2
      - txt: hello world
      - aaaa: 2001:DB8::12:34DE:3
    # this will result first record being handed out 30% of time
    swe.eu.service.geo.example.com:
      - a:
           content: 192.0.2.3
           weight: 50
      - a: 192.0.2.4
  services:
    # syntax 1
    service.geo.example.com: '%co.%cn.service.geo.example.com'
    # syntax 2
    service.geo.example.com: [ '%co.%cn.service.geo.example.com', 
                                        '%cn.service.geo.example.com']
    # alternative syntax
  services:
    service.geo.example.com:
      default: [ '%co.%cn.service.geo.example.com', '%cn.service.geo.example.com' ]
      10.0.0.0/8: 'internal.service.geo.example.com'
]]></artwork></figure>

</section>
<section anchor="amazon"><name>Amazon</name>

<t>As described in <xref target="Amazon-GeoIP"/>, Amazon Route 53 lets you choose the resources that serve your traffic based on the geographic location of your users, meaning the location that DNS queries originate from. It allows you to route some queries for a continent to one resource and to route queries for selected countries on that continent to a different resource.</t>

<t>When a browser or other viewer uses a DNS resolver that does support edns-client-subnet, the DNS resolver sends Amazon Route 53 a truncated version of the client's IP address. Amazon Route 53 determines the location of the user based on the truncated IP address rather than the source IP address of the DNS resolver; this typically provides a more accurate estimate of the client's location. Amazon Route 53 then responds to geolocation queries with the DNS record for the client's location.</t>

</section>
<section anchor="dyn"><name>DYN</name>

<t>As described in <xref target="DYN-GeoIP"/>, Dyn provides the ability to control DNS responses on a granular/customized geographical rule set. Part of the rulesets will be the identification of the global regions, countries, or states and provinces that use a specific DNS server group. DYN uses the ECS information for the geolocation lookup. Once a geolocation is found and a response is selected, it will provide a DNS response back to the source IP address.</t>

</section>
<section anchor="gdnsd"><name>gdnsd</name>

<t>As described in <xref target="gdnsd-GeoIP"/>, gdnsd uses MaxMind's GeoIP binary databases to map address and CNAME results based on geography and monitored service availability. gdnsd supports geolocation codes, such as continent, country, region/subdivision, city.</t>

</section>
<section anchor="windows-server"><name>Windows Server</name>

<t>As described in <xref target="WindowsServer-GeoIP"/>, Windows server can be configured DNS Policy to respond to DNS client queries based on the geographical location of both the client and the resource to which the client is attempting to connect, providing the client with the IP address of the closest resource.</t>

</section>
</section>
<section anchor="appendix-b-eil-example"><name>Appendix B. EIL Example</name>

<t>authoritative server of www.example.com has enabled EIL.</t>

<t>Stub DNS query A resource record of www.example.com .</t>

<section anchor="p-model"><name>P-Model</name>

<figure><artwork><![CDATA[
Stub DNS 
-> local forwarding resolver (61.48.7.2) 
-> Public Forwarding Resolver(AliDNS, 223.5.5.5) 
-> Public recursive resolver(AliDNS, 202.108.250.231) 
-> authoritative server
]]></artwork></figure>

<t>Public Forwarding Resolver 223.5.5.5 could enable EIL and generate the EIL OPT data &lt; CN, 11, UNI &gt; based on 61.48.7.2.</t>

<t>P-Model will not leak client subnet to authoritative server.</t>

</section>
<section anchor="i-model"><name>I-Model</name>

<figure><artwork><![CDATA[
Stub DNS 
-> local forwarding resolver 
-> ISP Forwarding Resolver(202.106.196.115) 
-> ISP recursive resolver(61.135.23.92) 
-> authoritative server
]]></artwork></figure>

<t>ISP recursive resolver 61.135.23.92 could enable EIL and generate the EIL OPT data &lt; CN, 11, UNI &gt; based on 61.135.23.92.</t>

<t>If authoritative server doesn't know much about 61.135.23.92, EIL will be helpful.</t>

<t>ISP recursive resolver generates static EIL query, simply manages response cache as tranditionl non-ECS/non-EIL scenario.</t>

<t>EIL helps ISP recursive resolver to give upstream an explicit correct isp location information.</t>

</section>
<section anchor="l-model"><name>L-Model</name>

<figure><artwork><![CDATA[
Stub DNS 
-> Local Fowarding Resolver(58.60.109.234) 
-> ... 
-> authoritative server
]]></artwork></figure>

<t>Local Fowarding Resolver 58.60.109.234 could enable EIL and generate the option data is &lt; CN, 44, TEL &gt; based on 58.60.109.234.</t>

<t>L-Model can give the most precisely isp location information for DNS resolution.</t>

</section>
</section>
<section anchor="appendix-c-frequent-geoip-enabled-authoritative-servers-response-accuracy-problem"><name>Appendix C. Frequent GeoIP-enabled Authoritative Server's Response Accuracy Problem</name>

<section anchor="public-recursive-resolver-with-non-ecs-authoritative-server"><name>Public Recursive Resolver with non-ECS Authoritative Server</name>

<t>If authoritative server doesn't support ECS, the clients that use public recursive resolver(such as 8.8.8.8) may receive disaster latency IP.</t>

<t>In this scenario, we must pray that public recursive resolver's IP is network topological close to client's IP.</t>

</section>
<section anchor="ip2geo-database-quality"><name>IP2Geo Database Quality</name>

<t>If authoritative server's IP2Geo database misidentify client IP's information, then the client may be assigned to some high letency cross-isp IP address.</t>

<t>With EIL, public recursive resolver and ISP recursive resolver can help to give more precise information for GeoIP-enabled authoritative servers.</t>

</section>
<section anchor="unstable-isp-network-topology"><name>Unstable ISP Network Topology</name>

<t>Some small ISPs may change their upstreams frequently. authoritative servers offen can not catch up the variation in time.</t>

<t>EIL gives downstream a chance to proactively tell authoritative servers the latest best topological close response itself wants now. Downstream can assure itself has got explicit tailored response with EIL.</t>

<t>For example, 218.247.200.100's isp location information is &lt; China, Beijing, PengBoShi &gt;. In I-Model, PengBoShi's resolver can send EIL &lt; CN, 11, TEL &gt; to authoritative servers, indicates that the best topological close response forclient 218.247.200.100 is from China Beijing Telecom.</t>

</section>
</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">

&RFC2119;
&RFC1034;
&RFC1035;
&RFC1700;
&RFC6891;
&RFC8499;
&RFC7871;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="BIND-GeoIP" target="https://kb.isc.org/article/AA-01149/0">
  <front>
    <title>Using the GeoIP Features in BIND 9.10</title>
    <author >
      <organization>ISC</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="PowerDNS-GeoIP" target="https://doc.powerdns.com/md/authoritative/backend-geoip/">
  <front>
    <title>PowerDNS GeoIP backend</title>
    <author >
      <organization>PowerDNS</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="Amazon-GeoIP" target="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-geo">
  <front>
    <title>Amazon Route 53 Geolocation Routing</title>
    <author >
      <organization>Amazon</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="DYN-GeoIP" target="https://help.dyn.com/understanding-td-decisions/">
  <front>
    <title>Understanding How Traffic Director Makes Decisions</title>
    <author >
      <organization>DYN</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="gdnsd-GeoIP" target="https://github.com/gdnsd/gdnsd/wiki/GdnsdPluginGeoip">
  <front>
    <title>GdnsdPluginGeoip</title>
    <author initials="" surname="gdnsd" fullname="gdnsd">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="WindowsServer-GeoIP" target="https://docs.microsoft.com/en-us/windows-server/networking/dns/deploy/primary-geo-location">
  <front>
    <title>Use DNS Policy for Geo-Location Based Traffic Management with Primary Servers</title>
    <author >
      <organization>Microsoft</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ISO3166" target="http://www.iso.org/iso/country_codes">
  <front>
    <title>Country Codes</title>
    <author >
      <organization>ISO</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ClientSubnet-Bis" target="https://www.ietf.org/mail-archive/web/dnsop/current/msg21616.html">
  <front>
    <title>CLIENT-SUBNET bis appetite?</title>
    <author initials="M." surname="Sivaraman" fullname="Mukund Sivaraman">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ECS-Privacy" target="https://link.springer.com/chapter/10.1007/978-3-319-40667-1_17">
  <front>
    <title>Understanding the Privacy Implications of ECS</title>
    <author initials="P." surname="Kintis" fullname="Panagiotis Kintis">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="EIL-PST" target="https://ieeexplore.ieee.org/document/8514164">
  <front>
    <title>Mitigating Client Subnet Leakage in DNS Queries</title>
    <author initials="L." surname="Pan" fullname="Lanlan Pan">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="EIL-Qshine" target="https://eudl.eu/doi/10.1007/978-3-030-14413-5_1">
  <front>
    <title>Improving Privacy for GeoIP DNS Traffic</title>
    <author initials="L." surname="Pan" fullname="Lanlan Pan">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>


<?line 731?>



  </back>

<!-- ##markdown-source:
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
vrJ84P2ve/8XuEuxkjGXAAA=

-->

</rfc>

