[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: v6-v4 transition scenarios, take 1
On 28 jul 2008, at 14:51, Pekka Savola wrote:
As an observation after writing this, I'm focusing pretty much only
on client-server type applications because I've yet to see p2p or
other _inter-domain_ applications that are business critical.
Another reason may be that I don't know them in detail, and that
will likely require application-specific transition scenarios, not
just ALG extensions. But I'm willing to be convinced otherwise...
VoIP in general and Skype in particular are rapidly becoming business
critical for many people. Peer to peer downloading isn't "business"
critical but you're sure going to hear from users if you break this.
(Don't forget that web and mail doesn't sell 20 Mbps ADSL2
connections, that stuff works fine on 1 Mbps, many users buy faster
links because of the peer to peer stuff, it's bad business for ISPs to
break this.)
1. ISP offers IPv6-only provisioning as a new service offering using
translation or tunneling
Due to IPv4 exhaustion (public or private space), due to alleged O&M
simplicity, an ISP prefers to provision a futuristic green field
deployment or residential or small enterprises only with global v6
addresses. This requires customers to move voluntarily from old
service
First rule of ISP operations: never, EVER make your users migrate to
something new, this costs a fortune in support calls.
I would assume all of this only applies to new customers, addresses
for existing customers won't disappear.
Because the vast majority of content is still available only with
IPv4, the service provider must provide a translator service at
least for IPv6-initiated short local handle -type applications. In
this scenario, IPv4->IPv6 initiated communication is not required.
Because the change in service offering is voluntary, some
reconfiguration in customer's equipment is acceptable; host upgrades
should be avoided if possible.
Ok...
An alternative to translation strategy is akin to simplified DSTM
(ie. Alain Durand's tunneling approach). The tunneling approach is
easier to deploy but it does not take IPv6 deployment much further
as the edges still keep using IPv4.
Right, the advantage of NAT64 is that it breaks the no eyeballs on v6 -
> no content on v6 -> no eyeballs on v6 cycle. The advantage of dual
stack light is that you can continue to run IPv4 stuff.
2. ISP provides IPv6 as an additional option to v4 private addressing
+ NAT but does not offer translation
Due to IPv4 exhaustion, an ISP stops providing public IPv4 addresses
through DHCP to its residential, SOHO and small enterprise
customers. Instead, it provides only private IPv4 addresses and NATs
these.
In addition, the ISP starts providing IPv6 service to the customers
as a way to show the users this is actually "the good thing for the
continued health of Internet".
Or they don't, because they are too busy keeping all the different
instances of the same RFC 1918 addresses straight... That would be bad.
3. A greenfield IPv6 deployment needs to provide services to the rest
of Internet
Due to IPv4 exhaustion or due to alleged O&M simplicity, a
futuristic enterprise, ISP, content provider or similar deploys its
internal infrastructure using only IPv6. However, it still seeks to
provide the services to IPv4 users in Internet; those users which
have IPv6 connectivity are able to use them over IPv6. IPv4 users
must either be translated near the user or the service provider. As
such, v4-initiated local handle -type applications must be supported.
The big question here is on whom the burden of the translation falls.
If it's the job of the greenfield people, then it's easy because they
can just get an IPv4 address (perhaps even just a port for each
service on a shared address), publish the IPv4 address and set up a
static mapping.
If on the other hand the IPv4 clients must arrange for their own
translation, this means a generic IPv4-to-IPv6 NAT (NAT46), which is
much tougher than the other way around.
4. Nearing 2015, ISP wants to ensure its users can reach all the
services in Internet, and deploys a v4-to-v6 NAT
Is it a given that NAT is the appropriate option in this case?
Many protocols support proxies, where the name-to-address translation
happens at the proxy so if the proxy supports IPv6, the client doesn't
have to.
(I don't think it's a good idea to mention dates, though. It's only
recently that people have stopped whining "you IETF guys said we'd be
out of IPv6 addresses by 2005 and it didn't happen".)
Sometime in 2015-2020 range it may be that the pain of providing
IPv4 services becomes so big that some significant content providers
want to stick to just IPv6 (and don't even want to pay for someone
else to deal with this problem for them as in scenario 3) above).
Right. I've found myself say to customers "this would be easy with
IPv6" regularly in recent years.
I expect once the IPv6 ball gets rolling people will start turning off
IPv4 surprisingly fast.
b) Such complex services (e.g. SIP, possibly p2p apps) which are not
easily translateable or proxyable that if users exist in both IP
versions, communication between these is a major challenge and
requires application-specific proxying mechanisms or an accelerated
IPv6 deployment.
Note that ICE can apply to IPv6 as well as IPv4, and even though we
don't plan on having NAT in IPv6 itself, we probably still need ICE
for firewall traversal so I expect to see ICE in more and more peer to
peer applications. BitTorrent-like applications that don't require
each peer to be reachable for every other peer have a very easy
transition path: as long as you have at least 10% or so dual stack
peers it works without trouble.
IPv4 exhaustion is not causing major problems for these applications
as these already have a pretty good NAT traversal mechanisms and
those mechanisms are likely to get better over time.
Many of the currently used NAT traversal techniques don't work well
with multiple layers of NAT, and with more users behind an IP address
it will be harder for users to open up ports to host incoming
sessions. So I don't think this is necessarily true.