<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>It's hard to argue that there was no transition plan.  There were
      in fact at least three transition plans for the selected approach
      (dual stack, 6to4, and tunneling) some of which have been
      discarded along the way; while others came to be based on
      operational experience.  Moreover, the only way to really know
      that a transition mechanism is really going to work is to let it
      out of the lab.  And ALL of the proposals would have suffered the
      very same transition pains, because just as Jeroen has pointed
      out, the pain stretched all the way to the application.<br>
    </p>
    <p>I don't think it's reasonable to argue that we should have waited
      for some other mythical better proposal to come along.  I don't
      recall anyone arguing for that at the time, and there's no reason
      to believe that such a mythical proposal would have ever come to
      be in any foreseeable time frame.  In fact Erik Fair, Dave
      Crocker, Tom Kessler and I argued the very opposite, that we were
      digging ourselves a hole with NAT.  Your argument at the time
      (Interop '95, Vegas) was that the IETF didn't have the right to
      dictate address usage to deployments.  True enough, but then
      people shouldn't hang their woes on the IETF.<br>
    </p>
    <p>As I mentioned earlier, the fundamental issue was that there were
      no ng proposals that were in fact substitutable resources for v4,
      and NAT was.  From there, economics has ruled, arguments be
      damned.<br>
    </p>
    <p>Eliot</p>
    <p>* I <b>did</b> in fact posit an approach in 1992 that would have
      allowed for orderly transition such that IPv4 could continue, and
      that was to define class E addresses as extension blocks that were
      in fact name space prefixes for another IPv4 header.  It wasn't
      taken seriously, and perhaps rightly so.  This actually borrowed a
      page from the PSTN - most people communicate locally and so you
      would rarely use those extended name spaces.  This was before Paul
      (<span>Tsuchiya) Francis offered PIP, which had a notion of
        Landmark Routing that also went nowhere.<br>
      </span></p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 16.09.21 11:15, John Curran wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:0BE31FF9-3B3C-486D-AB98-7346E2E89559@istaff.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      On 14 Sep 2021, at 3:46 AM, Eliot Lear <<a
        href="mailto:lear@ofcourseimright.com" class=""
        moz-do-not-send="true">lear@ofcourseimright.com</a>> wrote:<br
        class="">
      <div>
        <blockquote type="cite" class="">….<br
            class="Apple-interchange-newline">
          <div class="">
            <div class="content-isolator__container">
              <meta http-equiv="Content-Type" content="text/html;
                charset=UTF-8" class="">
              <div class="">
                <div class="moz-text-html" lang="x-unicode">
                  <div class="moz-cite-prefix">There is no evidence that
                    any other design choices on the table at the time
                    would have gotten us transitioned any faster, and a
                    lot of evidence and analysis that the exact opposite
                    is more likely.  </div>
                </div>
              </div>
            </div>
          </div>
        </blockquote>
        <br class="">
      </div>
      <div>Elliot - </div>
      <div><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div>If by “design choices” you mean the criteria that we set
          forth for the new protocol (IPng), then that’s potentially
          true - it’s fairly challenging to hypothecate what impact
          different technical criteria would have had on the outcome. </div>
        <div><br class="">
        </div>
        <div>If by “design choices” you mean the tradeoffs accepted in
          selecting a particular candidate protocol and declaring
          victory, then I’d strongly disagree.  I believe that we had
          the appropriate technical criteria for IPng (very nicely
          compiled and edited by Craig Patridge and Frank Kastenholz in
          RFC1726) and then made conscious decisions to disregard those
          very criteria in order to “make a decision” & “move
          forward.”</div>
        <div><br class="">
        </div>
        <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0,
            0);" class="">All of the IPng proposals where completely
            deficient with respect </span><span style="caret-color:
            rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">to transition
            capabilities.  In the rush to make a IPng decision,</span><span
            style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
            class=""> </span><span style="caret-color: rgb(0, 0, 0);
            color: rgb(0, 0, 0);" class="">the actual IPng Transition
            Criteria [1]  that mandated a straightforward transition
            plan from</span><span style="caret-color: rgb(0, 0, 0);
            color: rgb(0, 0, 0);" class=""> </span><font class=""
            color="#000000"><span style="caret-color: rgb(0, 0, 0);"
              class="">IPv4 was simply acknowledged and then declared
              as “resolved" because</span></font><span
            style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
            class=""> </span><font class="" color="#000000">we would
            also simultaneously form some working groups to study all of
            the transition requirements and made good on the transition
            criteria via future deliverables...</font><span
            style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
            class="">(deliverables that were subsequently not delivered
            on)  </span></div>
        <div><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
            class="">
        </div>
        <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0,
            0);" class="">The right answer would have been to formally
            and critically </span><font class="" color="#000000">evaluate
            each of the candidate protocols against the requirements and
            not make any selection until candidate presented itself
            that actually met the required technical criteria.  
            Instead, IPv6 transition was left as an afterthought for</font><span
            style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
            class=""> the operator community to solve, and thus the
            battles with the IETF on NAT-based </span><font class=""
            color="#000000"><span style="caret-color: rgb(0, 0, 0);"
              class="">transition for nearly two decades to get this
              basic technical requirement met.</span></font></div>
      </blockquote>
      <div><br class="">
      </div>
      <div>FYI,<br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0,
          0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">/John</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <font class="" color="#000000"><span style="caret-color: rgb(0,
            0, 0);" class="">Disclaimer: my views alone - made from 100%
            recycled electrons. </span></font></div>
      <div><font class="" color="#000000"><span style="caret-color:
            rgb(0, 0, 0);" class=""><br class="">
          </span></font></div>
      <div><font class="" color="#000000"><span style="caret-color:
            rgb(0, 0, 0);" class="">===  [1] </span></font><span
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">The actual IPng Transition criteria (per RFC 1726)
          are as follows - </span></div>
      <div><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">"</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">5.5 Transition</span><br style="caret-color: rgb(0,
          0, 0); color: rgb(0, 0, 0);" class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">  CRITERION</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     The protocol must have a straightforward
          transition plan from the</span><br style="caret-color: rgb(0,
          0, 0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     current IPv4.</span><br style="caret-color:
          rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">  DISCUSSION</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     A smooth, orderly, transition from IPv4 to IPng
          is needed.  If we</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     can't transition to the new protocol, then no
          matter how wonderful</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     it is, we'll never get to it.</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     We believe that it is not possible to have a
          "flag-day" form of</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     transition in which all hosts and routers must
          change over at</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     once. The size, complexity, and distributed
          administration of the</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     Internet make such a cutover impossible.</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     Rather, IPng will need to co-exist with IPv4 for
          some period of</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     time.  There are a number of ways to achieve
          this co-existence</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     such as requiring hosts to support two stacks,
          converting between</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     protocols, or using backward compatible
          extensions to IPv4.  Each</span><br style="caret-color: rgb(0,
          0, 0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     scheme has its strengths and weaknesses, which
          have to be weighed.</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0);" class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     Furthermore, we note that, in all probability,
          there will be IPv4</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     hosts on the Internet effectively forever.  IPng
          must provide</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     mechanisms to allow these hosts to communicate,
          even after IPng</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     has become the dominant network layer protocol
          in the Internet.</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     The absence of a rational and well-defined
          transition plan is not</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     acceptable.  Indeed, the difficulty of running a
          network that is</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     transitioning from IPv4 to IPng must be
          minimized.  (A good target</span><br style="caret-color:
          rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     is that running a mixed IPv4-IPng network should
          be no more and</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     preferably less difficult than running IPv4 in
          parallel with</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">     existing non-IP protocols).</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">"</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0);" class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">In short:  </span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0);" class="">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">  1) The protocol must have a straightforward
          transition plan </span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">  2) A number of ways to achieve this which are to be
          explored</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0);" class="">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">  3) IPng must provide backward-compatibility to
          IPv4-only hosts</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0);" class="">
        <font class="" color="#000000"><span style="caret-color: rgb(0,
            0, 0);" class="">  4) The absence of a well-defined
            transition plan is not acceptable</span></font></div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class=""><br class="">
        </span></div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
          class="">===</span></div>
    </blockquote>
  </body>
</html>