<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-elkins-v6ops-eh-deepdive-fw-01" category="bcp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="Deep Dive IPv6 EH">Deep Dive into IPv6 Extension Header Testing</title>
    <seriesInfo name="Internet-Draft" value="draft-elkins-v6ops-eh-deepdive-fw-01"/>
    <author fullname="Nalini Elkins">
      <organization abbrev="INT Council">Industry Network Technology Council</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <phone>+1 831 234 4232</phone>
        <email>nalini.elkins@insidethestack.com</email>
      </address>
    </author>
    <author fullname="Michael Ackermann">
      <organization abbrev="INT Council">Industry Network Technology Council</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <phone>+1 248 703 3600</phone>
        <email>mackermann@bcbsm.com</email>
        <uri>https://www.bcbsm.com</uri>
      </address>
    </author>
    <author fullname="Dhruv Dhody">
      <organization>India Internet Engineering Society</organization>
      <address>
        <postal>
          <country>IN</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="21"/>
    <area>Operations and Management</area>
    <workgroup>IPv6 Operations</workgroup>
    <keyword>EH</keyword>
    <abstract>
      <t>IPv6 Extension Header testing is a complex area.  Studies have shown
varying results.  This document proposes a methodology for isolating
the location and reasons for IPv6 Extension Headers blockage.  This
document outlines the basic framework and set of documents which will
follow.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    IPv6 Operations Working Group mailing list (v6ops@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/v6ops/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/dhruvdhody/draft-elkins-v6ops-eh-deepdive-fw"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <section anchor="problem-description">
        <name>Problem Description</name>
        <t>IPv6 <xref target="RFC8200"/> Extension Headers (EHs) may be blocked at various points yet
   show the same symptom.  That is, if an EH is blocked at a router, it
   will appear to the client or measurement technique that the packet is
   dropped.  If an EH is blocked at a load balancer or CDN, the client
   will see the same symptom -- the packet is dropped.</t>
        <t>This is a problem because when the same symptom can be the due to
   multiple factors, incorrect conclusions may be drawn from the
   results.  That is, if, for example, loss of the sense of taste of
   sweetness can be due either to a brain tumor or a minor neurological
   problem, then if someone has a tendency towards hypochondria, they
   may incorrectly bemoan their impending death from a brain tumor when
   it may really be only a minor issue.</t>
        <t>This is the same for EH testing.  If a packet is seen to be dropped
   in measurement, it may only be that there is a bug in the load
   balancer code (for example) and not that EH transmission does not
   work writ large.</t>
        <t>This document proposes a framework to isolate the problem of where
   the packet is being dropped.  This is, however, more easily said than
   done.  There are many components and devices in a network.  Each may
   require a different isolation technique.</t>
        <t>We propose a methdology which starts with the simplest topology and
   grows towards more and more complex, real-world networks.  For
   example, in today's networks, if one attempts to access a well-known
   site such as Facebook.com, one is likely to access a cache server
   managed by a Content Delivery Network (CDN) rather than the origin
   server managed by Facebook.  It is important to isolate the testing
   so that we can determine the exact component which may be blocking
   the EH and why.</t>
        <t>We additionally discuss the potential issues with the type of data
   sent as well as how the way the data is sent for testing may impact
   test results.</t>
      </section>
      <section anchor="fundamental-premises">
        <name>Fundamental Premises</name>
        <t>Yet, there are some overriding principles.</t>
        <t>The blockage may be:</t>
        <ul spacing="normal">
          <li>in the source network</li>
          <li>in the destination network</li>
          <li>in a transit network</li>
        </ul>
        <t>Then:</t>
        <ul spacing="normal">
          <li>it may be blocked intentionally</li>
          <li>it may be blocked unintentionally</li>
        </ul>
        <t>Intentional blocks are easier to assess.  The block is an
   administrator or network policy.  Of course, the policy may come
   about as a result of a misunderstanding of the function of EHs or
   lack of effective guidance but nonetheless, this is an understandable
   decision.</t>
        <t>The more troubling causes of EH blocks include:</t>
        <ul spacing="normal">
          <li>bugs</li>
          <li>default configurations or policies by the vendor</li>
          <li>lack of support of EH or IPv6 itself</li>
        </ul>
        <t>As far as the blocking component itself (whether intentional or
   unintentional):</t>
        <ul spacing="normal">
          <li>may be a router</li>
          <li>may be a firewall</li>
          <li>may be a load balancer</li>
          <li>may be a proxy</li>
          <li>may be a Host OS</li>
          <li>may be a DNS or other configuration setting</li>
        </ul>
        <t>Note: A DNS or other configuration setting may block IPv6 or prefer
   IPv4.  If not tested correctly, lack of support for IPv6 itself may
   incorrectly appear as lack of support for EHs.</t>
        <t>Finally, the blockage or source may differ based on the type of EH.
   Some EHs are limited to an administrative domain, some EHs are
   processed at every hop, still others are from the source and
   destination.  Problem isolation techniques will differ for the
   various classes of EH.</t>
        <t>Our final document in this series will be a BCP to indicate which EH
   should be allowed, blocked, encrypted, or authenticated and at which
   component or platform.</t>
        <t>Note: <xref target="RFC9288"/> "Recommendations on the Filtering of IPv6 Packets
   Containing IPv6 Extension Headers at Transit Routers" focuses on the
   IPv6 EH handling at transit routers only.  Our approach is to produce
   a final BCP with various recommendations across network segments,
   once the nature of the problems and techniques for isolation are well
   known.</t>
      </section>
      <section anchor="diagnostic-methodology-overview">
        <name>Diagnostic Methodology Overview</name>
        <t>The diagnostic methodology to follow depends on what is being tested.
   For example, the problem isolation for a CDN would be different than
   the problem isolation for an internal network.</t>
        <t>This framework proposes the following set of documents:</t>
        <ul spacing="normal">
          <li>EH problem isolation for owned client / server</li>
          <li>EH problem isolation in a network using a CDN</li>
          <li>EH problem isolation in a network using a cloud provider</li>
          <li>EH problem isolation for routers</li>
          <li>EH problem isolation for load balancers</li>
          <li>EH problem isolation for proxies</li>
          <li>EH problem isolation for host OSs</li>
          <li>EH problem isolation for transit networks</li>
          <li>EH problem isolation for ISPs (multiple components / networks)</li>
          <li>BCP for EH Permissions, Encryption and Authentication</li>
        </ul>
        <t>Note that the server can be owned and operated by the administrator
   themselves (on-prem) <xref target="fig-serv"/>, or they could hosted behind a CDN <xref target="fig-cdn"/>, or
   hosted by the cloud provider <xref target="fig-cloud"/>.</t>
        <figure anchor="fig-serv">
          <name>Owned client / server</name>
          <artwork><![CDATA[
                   +--------------------------+
                   |                          |
+--------+         |                          |     +---------+
| client |---------|          Internet        |-----| server  |
+--------+         |                          |     +---------+
                   |                          |
                   +--------------------------+
]]></artwork>
        </figure>
        <figure anchor="fig-cdn">
          <name>Server behind CDN</name>
          <artwork><![CDATA[
                                                      +-----------------+
                   +--------------------------+     +-----------------+ |
                   |                          |     | CDN Network     | |
+--------+         |                          |     | +---------+     | |
| client |---------|        Internet          |-----| | Edge    |     | |
+--------+         |                          |     | | Server  |     | |
                   |                          |     | +---------+     | |
                   +--------------------------+     |                 | |
                                                    | (LB, Firewall   | |
                                                    |  Cache etc)     | |
                                                    |                 | |
                                                    |                 | |
                                                    |                 | |
                                                    |                 |-+
                                                    +-----------------+
                                                            |
                                                            | (*)
                                                            |
                                                       +---------+
                                                       | Origin  |
                                                       | server  |
                                                       +---------+

(*) - can be over the internet
]]></artwork>
        </figure>
        <figure anchor="fig-cloud">
          <name>Cloud-hosted server</name>
          <artwork><![CDATA[
                   +--------------------------+     +-----------------+
                   |                          |     |                 |
+--------+         |                          |     |                 |
| client |---------|          Internet        |-----| Cloud Network   |
+--------+         |                          |     | (LB, Firewall,  |
                   |                          |     | Gateways etc)   |
                   +--------------------------+     |                 |
                                                    |                 |
                                                    |                 |
                                                    |   +---------+   |
                                                    |   | Virtual |   |
                                                    |   | server  |   |
                                                    |   +---------+   |
                                                    +-----------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="eh-enabled-server-client-router">
      <name>EH Enabled Server / Client / Router</name>
      <t>The first step for all testing is to have a test server, client and /
   or router enabled to send EHs.  There are two basic options to do
   this, each with its own set of advantages and drawbacks.</t>
      <t>The options fall broadly into two categories:</t>
      <ul spacing="normal">
        <li>Modifications to the OS / interface / socket / driver to send EHs
   with application data</li>
        <li>Using a package which crafts EHs (multiple exist)</li>
      </ul>
      <t>If crafting packets, then the question arises of which packets to
   craft.  This will be discussed in <xref target="crafting"/>.</t>
      <t>For either methodology, the rate of sending may influence results.
   This will be discussed in <xref target="rate"/>.</t>
      <section anchor="modifications-to-send-ehs-with-application-data">
        <name>Modifications to send EHs with application data</name>
        <t>Possibly the best way to isolate problems with EHs may be to have a
   server, client or router which has modifications to the OS,
   interface, driver or other to send real EHs with real application
   data.  This carries the initial cost of creating such modifications
   since, unfortunately, the current set of host OSs do not natively
   support this.</t>
        <t>The reason we find this to be the best method is because the problem
   of what packet to craft is a field which is rife with land mines.
   See <xref target="crafting"/> for a further discussion of the exact nature of the
   aforesaid land mines.</t>
      </section>
      <section anchor="crafting">
        <name>Crafting packets with EH headers</name>
        <t>A number of packages exist which can craft a packet with an EH
   header.  The more interesting and fraught problem may be which exact
   packet to craft and then which EH to craft.</t>
        <t>Let's discuss first the options for the type of packet to craft.
   These include:</t>
        <ul spacing="normal">
          <li>A TCP packet</li>
          <li>A UDP packet</li>
          <li>An ICMPv6 packet</li>
          <li>A QUIC packet</li>
        </ul>
        <t>If crafting a TCP packet, then it is likely that some middlebox will
   drop a TCP packet which does not have the appropriate ACK and
   SEQUENCE numbers.  One may get around this problem by sending a
   packet with the SYN flag on and directed to some well-known port such
   as 443 or 80.  But, if many firewalls and other devices such as IDS /
   IPS, and even some OSs have SYN Flood protection.  So, if more than a
   certain number of these packets, say 10, in some short interval are
   sent, then they are likely to be dropped for reasons other than
   blockage of EH headers.</t>
        <t>One may choose to use UDP, QUIC, or ICMPv6 to attempt to bypass the
   complexities of TCP.  Some enterprise networks are likely to drop UDP
   and / or QUIC.  Testing should be done without EH to make sure that
   such packets do indeed pass.</t>
        <t>Certainly, if you have access to all the middleboxes in your domain,
   you may be able to bypass or stop SYN Flood, UDP, ICMPv6 or other
   transport layer blocks at all the middleboxes.  But, it may be a more
   difficult effort than might be imagined.</t>
        <t>You may wish to test in a lab environment first to validate your
   approach.</t>
      </section>
      <section anchor="how-to-add-eh">
        <name>How to Add EH</name>
        <t>There are two ways to add an EH to a packet:</t>
        <ul spacing="normal">
          <li>use a "real" EH</li>
          <li>craft an EH</li>
        </ul>
        <t>The best method may be to use an EH which is actually processed at
   the client, server, and any associated router.  This leaves us with a
   sparse set to choose from.  The problem with crafting an EH is that
   if the data is not "real", one may not be able to fault a network
   component for blocking it.</t>
        <t>Having said that, let's discuss crafting an EH.  An EH may be crafted
   by simply using multiple PADN options.  One should be careful not to
   use too many PADNs because then this type of header may be dropped by
   a middlebox or OS as being a flawed packet.  This is likely to
   distort the results.</t>
        <t>An EH with all 0's or other data patterns that could be perceived as
   not "real" may also be dropped by middleboxes which are trying to be
   helpful.</t>
        <t>It is also possible that the length of the EH may have some effect on
   what EHs get dropped and where.</t>
        <t>You may wish to try this in a lab environment first.  If the test
   suceeds, then you may test on your network.</t>
      </section>
      <section anchor="which-eh-to-use">
        <name>Which EH to Use</name>
        <t>Next, there is a consideration that the type of EH, for example,
   Destination Options, Hop-by-hop, etc. could get processed differently
   and may be dropped at different frequencies, by different devices.
   You may wish to test one at a time and note the results.</t>
        <t>You may wish to try this in a lab environment first.  If the test
   suceeds, then you may test on your network.</t>
      </section>
    </section>
    <section anchor="rate">
      <name>Rate of sending and sampling</name>
      <t>Whether you have chosen to send real application data or to craft
   packets, the rate of sending and sampling may create a false
   indication of blockage.  That is, if you send a great deal of data at
   frequent intervals, some middlebox in the network is likely to see
   this traffic as a Denial of Service (DoS) attack and block it.  This
   is more likely if a great many crafted packets are sent but even with
   real application data such as FTP or HTTP, overly aggressive sending
   is likely to be counterproductive.</t>
      <t>You may wish to send only a few packets or one or two CURL or FTPs at
   any one test.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document has no security considerations.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>This document has no privacy considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering">
              <organization/>
            </author>
            <author fullname="R. Hinden" initials="R." surname="Hinden">
              <organization/>
            </author>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC9288">
          <front>
            <title>Recommendations on the Filtering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers</title>
            <author fullname="F. Gont" initials="F." surname="Gont">
              <organization/>
            </author>
            <author fullname="W. Liu" initials="W." surname="Liu">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document analyzes the security implications of IPv6 Extension Headers and associated IPv6 options. Additionally, it discusses the operational and interoperability implications of discarding packets based on the IPv6 Extension Headers and IPv6 options they contain. Finally, it provides advice on the filtering of such IPv6 packets at transit routers for traffic not directed to them, for those cases where such filtering is deemed as necessary.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9288"/>
          <seriesInfo name="DOI" value="10.17487/RFC9288"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <t>TODO contributors.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
