Internet DRAFT - draft-v6ops-xie-network-happyeyeballs

draft-v6ops-xie-network-happyeyeballs







Internet Engineering Task Force                                   C. Xie
Internet-Draft                                             China Telecom
Intended status: Standards Track                                 L. Song
Expires: March 24, 2019                       Beijing Internet Institute
                                                      September 20, 2018


     Network-side Happy Eyeballs based on accurate IPv6 measurement
                draft-v6ops-xie-network-happyeyeballs-00

Abstract

   During the period of IPv6 transition, both ISP and ICP (Internet
   Content Provider) care about user's experience in dual-stack network.
   They hesitate to provide IPv6 to their users due to the fear of poor
   IPv6 performance.  Network-based Happy Eyeballs (NHE) is proposed in
   this memo as a approach to provide better connectivity to end users
   by doing accurate measurement and comparison on IPv6/IPv4 performance
   on the network side other than client-side Happy Eyeballs (HE)
   ([RFC8305]).  It works independently with client's adoption of HE.

   REMOVE BEFORE PUBLICATION: The source of the document with test
   script is currently placed at GitHub [NHE-GitHub].  Comments and pull
   request are welcome.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   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
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on March 24, 2019.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Xie & Song               Expires March 24, 2019                 [Page 1]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Overview of NHE Mechanism . . . . . . . . . . . . . . . . . .   3
   3.  NHE DNS Resolver  . . . . . . . . . . . . . . . . . . . . . .   4
   4.  IPv6/IPv4 Performance Measurement . . . . . . . . . . . . . .   5
     4.1.  Performance metrics . . . . . . . . . . . . . . . . . . .   5
     4.2.  NHE Location considerations . . . . . . . . . . . . . . .   6
     4.3.  Less measurement traffic  . . . . . . . . . . . . . . . .   7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   6.  IANA considerations . . . . . . . . . . . . . . . . . . . . .   8
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   8
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   During the period of IPv6 transition, both ISP and ICP (Internet
   Content Provider) care about user's experience in dual-stack network.
   They hesitate to provide IPv6 to their users due to the fear of poor
   IPv6 performance.  Happy Eyeballs(HE) [RFC8305] provides an approach
   to enable clients to attempt multiple connections in parallel.  It is
   helpful to work around the blocked, broken, or sub-optimal network.
   Taken IPv6 priority consideration in design, HE helps increase IPv6
   traffic in network and reduce the delay in client side as well if
   IPv6 connectivity is poorer.  So far, most modern web browser support
   HE very well, thanks to popular web browser engines, such as WebKit
   and Trident.  However, in practice there are still some bars keeping
   application developers who develop Apps with APIs and libs which does
   not implementing HE.

   Firstly, HE adds additional complexity and uncertainties to both
   development and operation.  For example, according to the section 8
   of RC8305 there are 6 Configurable values such as Resolution Delay
   and Connection Attempt Delay.  It raise a bar for small application
   developers to do a "nuanced implementation" to tune these values
   according to network dynamics or history RTT data.  Secondly,
   paralleled connections emitted by HE will produce larger volume of



Xie & Song               Expires March 24, 2019                 [Page 2]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


   traffic which consume both mobile fees and power.  As a result mobile
   application developers may choose no to adopt HE or even not consider
   migrating their APPs to IPv6 due to the issues.  It is typical case
   in regions where IPv6 performance is not as good as IPv4 in terms of
   RTT and failure rate.

   This draft is intend to proposed an Network-side Happy Eyeballs(NHE),
   an approach to address the same problem targeted by Client-side Happy
   eyeballs ([RFC8305]) for IPv4/IPv6 dual-stack users.  Instead of
   requiring the client to race IPv6 and IPv4 connections, NHE intends
   to do the "race" on the network side in advance and do selective
   filtering of the DNS AAAA record for specific domains.  The rationale
   of NHE approach is simple that ISPs typically the mobile network
   provider has more resource, capability and motivation to do accurate
   IPv6/IPv4 performance measurement for the good of their users.  With
   sufficient and accurate IPv6/IPv4 performance information, ISPs can
   make confident decision to filter AAAA record or not.

   It is worth to mention that with NHE approach, the operational issues
   will not be hidden and ISP will be crystal clear about their IPv6
   network performance and spare no effort to improve it.

2.  Overview of NHE Mechanism

   Figure 1 shows the high level diagram of NHE.  NHE mechanism involve
   two key components: NHE DNS Resolver and IPv6/IPv4 measurement.  In
   NHE DNS resolver a special list of domains is maintained.  The
   purpose of this list is to indicate the resolver performing AAAA
   record filtering (returning NODATA) if AAAA record exists for that
   domain in the list.  This special list is updated via a Push (or
   Pull) interface from IPv6/IPv4 measurement component.  The list is
   called NHE filtering list in this document.

   The component of IPv6/IPv4 measurement is designed to feed the NHE
   filtering list, by performing IPv6/IPv4 RTT measurement on each
   cached domains.  The cached domains under the measurement can start
   with a well populated cache, then updated in align with the resolver
   cache via a Push (or Pull) interface from NHE DNS resolver.  The
   criteria of putting a specific domain into that list and how to
   perform the measurement are introduced in Section 4.











Xie & Song               Expires March 24, 2019                 [Page 3]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


                      +--------------------------------+
                      |                                |
                      | IPv6/IPv4 Measurement          |
                      |                                |
                      +--------------+-----------------+
                                ^    |
                 Cached domains |    |  Domains with poor
                                |    |  IPv6 connections
                                |    |
                                |    v
            NODATA       +-----------------------+
          <-----------+  |                       |
                         |  NHE DNS Resolver     |
          +------------> |                       |
       a query for AAAA  +-----------------------+
       record of a domain


                    Figure 1: High-Level NHE Mechanism

   When the two component of NHE are ready, then the processing is
   described as follows: Once NHE DNS Resolver receive a AAAA record
   query from client, the resolver firstly check if the qname matches a
   entry or not in the NHE filter list.  If the qname matches an entry,
   then the AAAA record will be filtered and a NODATA response will be
   replied.  If no entry is matched, then NHE DNS resolver will response
   as a normal resolver.

   Note that NHE can work independently with the Client's adoption of
   HE.  It can push the clients to fall back faster to IPv4 if they does
   not support HE.  It also can help reduce the unnecessary traffic
   emitted by HE client.

3.  NHE DNS Resolver

   Before [RFC6555] and [RFC8305] were documented, selective filtering
   of the DNS AAAA record was proposed as a practice making the IPv6
   transition less painful [Less-painful].  The basic idea introduced is
   that ISP DNS Recursive servers does not return AAAA for users who
   have broken IPv6 connectivity.  There are some working
   implementations of it such filter AAAA option in BIND 9
   [Filtering-AAAA]

   Note that in the beginning, it was widely considered difficult to
   accurately measure working users.  So ISP resolver only returns AAAA
   if the AAAA query came over IPv6.  However, even ISP resolver can
   receive queries from stub client via IPv6, The end-to-end IPv6
   connectitity from the client to far-end server may be poor as well



Xie & Song               Expires March 24, 2019                 [Page 4]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


   due to the issues on either authoritative server (servfail for
   exmaple), or content provider network, or the path in the midst.

   NHE DNS resolver adopts selective filtering of the DNS AAAA record as
   well.  However, approach like filter AAAA option does not fit NHE
   scenarios, because NHE is expected to filter AAAA option based on the
   qname of the query, not the transport protocol or addresses where the
   query come from.  The difference is that a qname list (referred as to
   NHE filtering list) is maintained and updated periodically by NHE DNS
   resolver.  It has an interface with IPv6/IPv4 performance measurement
   which can push the newest list to NHE DNS Resolver.

   Besides the Push(or Pull) interface from the measurement , NHE DNS
   resolver can also Push(or Pull) populated cache to the measurement
   component as shown in figure 1.  The cache pushed by resolver can be
   optionally companied with additional information like RTT of NS for
   each domain and number of cache hits.  The additional information can
   be used to reduce measuring traffic which is introduced in
   Section 4.3

4.  IPv6/IPv4 Performance Measurement

   An accurate IPv6 performance measurement is vital to the success of
   NHE.  A accurate measurement depends on what to measure, where and
   how to measure.

4.1.  Performance metrics

   In client-side HE, a kind of round-trip delay or round-trip time(RTT)
   metric is used where a race between IPv6 and IPv4 connection is
   measured, starting from hostname resolution, then TCP setup on both
   address families.  In NHE, the similar approach is adopted in ISP
   network to simulate a client doing race for a list of domains.

   o  Lookup the hostname.  If a positive AAAA response with at least
      one valid AAAA record is received, it process next.  If a negative
      response with no AAAA record is received, it will break and mark
      the domain whose AAAA record should be filtered.  Note that if a
      negative response with Servfail is received, no Servfail response
      should be return to the client, because it is observed that some
      clients will continue asking AAAA queries after receiving Servfail
      response.

   o  Make TCP connections via all IPv6 and IPv4 destination addresses
      returned.  Note that in NHE there is no address sorting or
      connection attempt Delay which are important in the design of
      client-side HE.  NHE measuring server can concurrently make
      connections on all addresses returned.



Xie & Song               Expires March 24, 2019                 [Page 5]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


   o  The round-trip delay is measured including the RTT of hostname
      resolution and RTT of TCP setup (start from sending the SYN and
      end by ACK is received).  If there is more than one IP address in
      either AAAA or A record response, all distance addresses should be
      measured for round-trip delay.

   o  Calculate the difference of round-trip delay (Diff-RTT) of
      different address family.  If there are more than one IP address
      in either AAAA or A record response, the minimum RTT of a
      destination from one address family will be chosen to do the
      difference, that is Min(RTT-IPv6)-min(RTT-IPv4)

   o  For each domain, if the difference of round-trip delay of IPv6 and
      IPv4 is larger than a configurable threshold, the domain will be
      listed in the NHE filtering list to be synchronized to NHE DNS
      resolver.  Note that the threshold value should be tunable by
      network provider to gain a better tradeoff between IPv6
      performance and IPv6 priority practice.

   In the measurement process described above, there is a important
   domain list called Measuring list which contains the targeted
   domains.  The list can be formed from the popular domains in the
   cache pushed from the resolver or configured by operators from other
   source.  It is not necessary to keep the Measure list and cache
   pushed by resolver identical.  This measurement can be done
   periodically on a specific domain, for example one hour or two, and
   make it ready for Push to NHE DNS resolver.  Note that no protocol is
   specified in this memo which is used to synchronized NHE Filtering
   list and cached domains in resolver.

   Compared to Client-side HE, NHE operated by ISP operators has more
   resource to do better performance measurement.  The race on the
   handset measure the round-trip delay on one instantaneous connection
   which does not fully represent the connectivity performance of one
   address family in a persistent period.  For example erratic variation
   in delay (caused by network jitter) makes it difficult to support
   many interactive real-time applications.  So the statistics of round-
   trip delay is helpful for ISP operator to build more sophisticated
   measurement.  Section 4 of [RFC2681] specifies some statistics
   definitions for round-trip delay which can be utilized for advanced
   Round-trip delay measurement, such as percentile, median, minimum,
   inverse percentile etc.

4.2.  NHE Location considerations

   According to the accuracy requirement of user performance simulation,
   the location where the measurement is done is very important.  The
   intuitive approach is to placed the measuring probes or servers on



Xie & Song               Expires March 24, 2019                 [Page 6]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


   the edge, in proximity to the end users.  In 4G LTE cellular network
   as a typical case, the performance measurement server can be located
   in proximity of base stations (or an aggregation point).  There is
   only at most one hop difference in the end-to-end path between a real
   end user and a destination.

   There is one question about the location of NHE deployment.  If
   performance measurement server is located on the edge, is NHE
   resolver should be located in the same place?  In another word: are
   they deployed in pairs?  The simple answer is yes which enhance the
   efficiency of cache if the resolver is deployed on the edge.  NHE DNS
   resolver can be a cache sever forwarding cache missed query to the
   ISP normal full functional resolver.  The only concern is if the
   caching resolver is located closely to end users, it may lose good
   cache hit probability.

4.3.  Less measurement traffic

   Since the IPv6/IPv4 performance varies per domain, there is a fear of
   having to generate a lot of measuring traffic in NHE.  There are two
   approaches may be helpful to generate less traffic.  One is to keep a
   moderate size of NHE filtering list including, for example, top 1k ~
   5k popular domains in the cache.  To achieve that, the NHE resolver
   should not only Push the cache , but also a popularity value of each
   domain (the number of cache hits).  In addition, the size of the
   filtering list generated by measurement server can be configurable as
   well according to ISP local policy.

   The second approach to reduce the measurement traffic is to use
   passive measurement.  The round-trip delay of DNS lookup of a
   particular domain is trivial in most of case if cache hit.  So
   passive measurement should focus on monitoring TCP connection of
   specific destination.  Suppose there are 1000 top popular domains in
   the measurement list which means thousands TCP connections is to be
   put into passive monitoring to measure the round-trip delay.

   One optional approach of limiting the size of measuring list is to
   focus on top Apps other than top domains.  ISP can cooperated with CP
   to maintain a domain list of top Apps for NHE.

5.  Security Considerations

   NHE adopt filtering in the resolver so it will break DNSSEC and omit
   RRSIG records covering type AAAA as well as AAAA record.  The scope
   of DNSSEC break is limited between client and resolver, which is not
   the typical scenario of DNSSEC though, in the case clients ask for
   RRSIG record of AAAA.




Xie & Song               Expires March 24, 2019                 [Page 7]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


   Filtering AAAA records cause DNS incoherency in the end users
   perspective which may causes some risks if end user's application
   depend on the integrity of DNS data.  To reduce this risk, ISP
   resolver would artificially delay the AAAA answers if positive answer
   is received.

6.  IANA considerations

   No IANA considerations for this memo

7.  Acknowledgments

   Acknowledgments are given to Geoff Huston, David Schinazi, Marc
   Blanchet, and Paul Vixie who gave comments and suggestions on this
   memo.

8.  References

   [Filtering-AAAA]
              "Filter AAAA option in BIND 9", August 2017,
              <https://kb.isc.org/docs/aa-00576>.

   [Less-painful]
              Yahoo, "IPv6 and recursive resolvers:How do we make the
              transition less painful?", March 2010,
              <https://www.ietf.org/proceedings/77/slides/dnsop-7.pdf>.

   [NHE-GitHub]
              BII, "GitHub Repository of Network-side Happy Eyeballs",
              <https://github.com/songlinjian/
              Network-based-Happyeyeballs>.

   [RFC2681]  Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip
              Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681,
              September 1999, <https://www.rfc-editor.org/info/rfc2681>.

   [RFC6555]  Wing, D. and A. Yourtchenko, "Happy Eyeballs: Success with
              Dual-Stack Hosts", RFC 6555, DOI 10.17487/RFC6555, April
              2012, <https://www.rfc-editor.org/info/rfc6555>.

   [RFC8305]  Schinazi, D. and T. Pauly, "Happy Eyeballs Version 2:
              Better Connectivity Using Concurrency", RFC 8305,
              DOI 10.17487/RFC8305, December 2017,
              <https://www.rfc-editor.org/info/rfc8305>.







Xie & Song               Expires March 24, 2019                 [Page 8]

Internet-DraftNetwork-side Happy Eyeballs based on accuratSeptember 2018


Authors' Addresses

   Chongfeng Xie
   China Telecom
   No.118 Xizhimennei street, Xicheng District
   Beijing  100035
   P. R. China

   Email: xiechf.bri@chinatelecom.cn


   Linjian Song
   Beijing Internet Institute
   2nd Floor, Building 5, No.58 Jing Hai Wu Lu, BDA
   Beijing  100176
   P. R. China

   Email: songlinjian@gmail.com

































Xie & Song               Expires March 24, 2019                 [Page 9]