[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: ocean: do not boil



Hi Hesham,

=> I think we're drifting from the main issue
a little bit. Here is a scenario that I'd like
to understand how it would work:
What do we recommend a new small 3g operator who only
has 10 million subscribers (just a small town
in china!) and wants to allow people to run p2p apps:

a. Run a dual network with 1918 addresses
b. Just run an IPv6 network

If people want to do a), do you really think
this would be simpler than b) ? Easier to manage
and operate?
I've been thinking about this question and trying to
come up with a good answer...

I'm actually thinking of this question a bit differently,
so please tell me if it matches what you are asking:

What is the best way to set-up a network of 10 million
nodes that all to need access both IPv6-only and IPv4-only
services?

There are two thoughts that I have about this question:

        (1) It isn't a fully qualified question.
                Further information is needed to
                for a complete answer, such as:

                - Do these nodes need continuous access
                        to IPv4 and IPv6 services, or only
                        occasional access?
                - How many simultaneous IPv4 & IPv6
                        connections are expected?
                - What is the planned internal structure
                        of the network?  Obviously you aren't
                        planning to bridge 10 million nodes
                        on a single subnet.

        (2) Neither IPv4 nor NAT-PT will handle a 10 million
                node network as a single address space.
                The limitation of 32-bit addressing in IPv4
                is a red herring, since the real limitations
                on the size of a NAT based network is probably
                much lower (a few hundred thousand simultaneous
                connection?).

But, given that you've said this is a 3GPP network, I can
make some (perhaps flawed) assumptions about how this network
will be structured:

        (1) There will be internal routers (GGSNs) at a
                density of one per ~100,000-500,000 nodes.
        (2) All nodes will have point-to-point connections
                to a single router (PDP Contexts to the GGSN).
        (3) The nodes will only need occasional access to
                IPv4 & IPv6 services.
        (4) IPv4 address configuration (and IPv6 address
                configuration) of the nodes will
                be performed on an as-needed basis
                via the establishment of PDP contexts.

In this case, I would suggest that any address translation
(IPv4 or IPv6) be performed on a per-GGSN basis, with the
NAT either co-resident in the GGSN or sitting directly
behind it (between the GGSN and the rest of the Internet).

So, really we are comparing two things:

        (A) The complexity, effort and effectiveness of
                configuring the GGSNs as IPv6-only routers
                and running a NAT-PT box per GGSN to
                translate selected IPv6 traffic into
                IPv4 traffic.  This would allow the end-nodes
                to be IPv6-only, but would require them to
                have some special DNS resolution/literal
                IPv4 address handling mechanisms.

        (B) The complexity, effort and effectiveness of
                configuring the GGSNs as IPv4/IPv6 routers,
                running an IPv4 NAT box per GGSN, and
                having the GGSNs allocate RFC 1918
                addresses on PDP contexts.  This would
                require any nodes that need to reach
                IPv4-only services to include IPv4 and
                any nodes that need to reach IPv6-only
                services to include IPv6 (nodes that need
                to reach both would need to be dual stack).

There are a few key differences between these choices:

Choice A has the advantage that it only requires a
single stack on the end-nodes, which may save a little
bit of memory... However, IPv4 and IPv6 stacks share a
large portion of their code, so this will be a small
savings.

Choice A only supports IPv6-only end-nodes.  It won't
be possible to set-up an IPv4 PDP context, and two nodes
that are behind the same GGSN will not be able to
establish an IPv4 connection to each other.  Is that
okay?

Choice A may also have some new (i.e. not present in
the IPv4 network today) architectural issues running
IPv4 applications caused by:

        - The DNS resolver/IP address interpretation
                machinations on the local box.
        - The availability of IPv4<->IPv6 ALGs for
                whatever applications the host is
                using.

Choice B will support IPv4-only, IPv4/IPv6 dual stack
and IPv6-only nodes, will allow nodes to use IPv6 and
IPv4 PDP contexts, and will support IPv4 connections
between nodes attached to the same GGSN.  Are any of
these things needed?

Choice B will also have the best chance of supporting
all IPv4-only services that work in a NAT-based network
today.

I agree that Choice B may be marginally more complex
to set-up and maintain than Choice A...

So, there is a pretty complex trade-off here, but if
I had to choose for my own network, I'd probably go
with the dual-stack parallel IPv4/IPv6 network approach.

I wish that I really understood the DSTM/DHCP choice
well enough to explain how it could/couldn't fit into
this situation...  I'm working up to that now.

Margaret