The draft seems entirely too focused on the guts of the per-packet
routing decision.  This misses the system-wide implications of the
proposal.

The draft treats IPv4 and IPv6 as symmetric and equal, such that you
could route packets for either or both, over a network that support just
one.

So I started to wonder why something like this didn't get used during
the early days of IPv6.  The entirety of the Internet supported IPv4
traffic routing at that time.  This extension would seem equally useful
to ISPs that want to offer IPv6 to their end-users without adding and
maintaining IPv6 addresses on their entire already-working network of
IPv4 routers.

Wouldn't it have been simple to just have the edge routers offer IPv6 to
customer nodes, while the internals of the ISP's network continued to
use their existing IPv4 addresses and routing?  But that didn't happen.
Instead, early IPv6 adopters had to connect using overlay tunnels
that *encapsulated* IPv6 traffic in IPv4 packets.  So what are we
missing about the simplicity of this proposal?

The document's focus is on routing IPv4 traffic for end-nodes via
what it characterizes as an IPv6-only core network.

But the rub is that every node of that IPv6-only core network (in this
vision) nevertheless must know about IPv4 routing.  And apparently all
of those routers are completely happy about receiving an IPv4 packet
over some interface, routing it, and sending it out another interface,
not encapsulated in anything at the Internet level.  In other words, the
draft does not envision deployment in an IPv6-only network of IPv6-only
routers.

That dual-stack assumption was not true when IPv6 was young and
end-users were unable to get their ISP to support it.  That's why such a
vision was not deployed back then.

It looks like the situation in which this behavior is useful, is one
in which:

  *  Every router in the network of interest has full support for both
     IPv4 and IPv6.
  *  The network of interest wants to support end-users who use IPv4,
     and/or IPv6 addresses.
  but
  *  Every router in the network of interest doesn't want to have both
     kinds of address assigned to each of its interfaces, as the
     RFCs normally require.

How many networks are there like this, really?

So let's now look at how the vision would actually work today.

Let's assume that there is a route for 123.0.0.1/24 whose next hop is
2023:0124::0666, which is on interface eth7.  Does a packet for
123.1.2.3 get sent out as an IPv4-over-Ethernet packet on eth7?  How
could it be addressed to 2023:0124::0666 as an IPv4-over-Ethernet
packet?

Perhaps the 2023:0124::1 address does not get used at all?  It is just a
placeholder for the MAC address of an un-numbered IPv4 router that
exists somewhere connected to eth7 and happens to have the same MAC
address as that IPv6 router?

Or else, when a v4 packet is sent down a v6 interface, does it get
encapsulated in a v6 packet that's then encapsulated in an Ethernet
frame?

The document is silent on all these details.

It seems like the idea is to save money by not requiring increasingly
expensive IPv4 addresses on every router interface, but instead to push
the costs onto the rest of the Internet, which would have to upgrade
their software to support some kind of odd change to ICMP.

It also looks like something like this would probably work as long as
there is a single unique IPv4 address assigned to each router (not one
IPv4 address per interface).  That address could be used for ICMP
replies on any interface.  Does that work?

        John

PS: The draft seems to confuse IPv6 link-local addresses (FE8x::, RFC
3513) with IPv6 unique local addresses (FDxx::, RFC 4193).  Link-local
addresses are not useful beyond the nodes that touch a physical network
like an Ethernet.  So a routing protocol could not usefully carry such
addresses to nodes that don't touch that physical Ethernet.  In
addition, those link-local addresses are not even unique at a single
router, so they require an additional interface-ID (e.g. the "%eth5" in
FE80::1234%eth5) that has no way to be carried in routing protocols.  On
the other hand, IPv6 unique local addresses ARE ordinary unicast
addresses, are routable within a subnetwork, and could be used for a
self-configuring router network.

IPv4 has link-local addresses as well as IPv6 (169.254/16, RFC 3927).
If an underlying core network containing link-local IPv6 addresses would
actually work, then it would work for an IPv4 core as well as IPv6 core.

_______________________________________________
Int-area mailing list
Int-area@ietf.org
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to