[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Distributing site-wide RFC 3484 policy
> > you are talking about a separate story. the thread is about having
> > to run source-address selection between IPv6 addresses with different
> > "scope" or reachability.
>
> I'm very much interested in achieving the following:
>
> Get both ADSL and cable connectivity from competing providers (or
> fill in two last 1609 meter technologies of your choice), where each
> of those connections has a separate gateway attached that doesn't
> know about the other gateway. Both announce a PA block from the ISP
> in question using stateless autoconf. My hosts configure with two
> addresses and two default gateways, and use the appropriate gateway
> with a given source address. When an application can't connect using
> one source/dest pair, it tries the others until there is a working
> connection.
i would like to name the devices/networks like:
ISP-A ISP-B
| |
RT-A RT-B
| |
==+=======+== PREFIX-A:0::/64, PREFIX-B:0::/64
| ADDR-A/128, ADDR-B/128
your machine
now, first of all, you really cannot define/determine what is the
best combination among the following to reach the destination, X.
X could be within ISP-A, ISP-B, or totally far end of the planet with
rather long AS path. the evaluation would make about "the best"
combination would make you a god looking from above. what you can
do is to pick one and hope.
use ADDR-A out of PREFIX-A:0::/64 and use RT-A
use ADDR-A out of PREFIX-A:0::/64 and use RT-B
use ADDR-B out of PREFIX-B:0::/64 and use RT-A
use ADDR-B out of PREFIX-B:0::/64 and use RT-B
next, depending on operating system on your machine, the treatment of
default router differs. this is outside of the "source address
selection".
- some implementation picks the default route out of RT-A/B at will
- some implementation do install both RT-A/B as the default gateway
but it uses only one of them
- some implementation tries to perform load-balancing
moreover, if you set up another link to set up firewall or something,
you really do not have any idea to pick among RT-A or RT-B. i have
been suggesting you to leave it to be handled by routing table among
routers, and/or configuration between RT-A/RT-B. it would be seriously
painful to make "your machine" know about all the details about your
network egress points, it does not scale and you will have
configuration mistakes.
ISP-A ISP-B
| |
RT-A RT-B
| |
==+=======+== PREFIX-A:0::/64, PREFIX-B:0::/64
|
router
|
==+======= PREFIX-A:1::/64, PREFIX-B:1::/64
| ADDR-A/128, ADDR-B/128
your machine
if one of/both of ISP practices filtering such as uRPF, you would
have to narrow down the choices so that you would pick PREFIX-A for
RT-A (ISP-A), and PREFIX-B for RT-B (ISP-B). but it is routing
protocol to decide, normally. you may want to configure RT-A and RT-B
to meet this requirement, read RFC3178 for more details.
> Other people are interested in the following situation:
>
> Set of servers A has a public facing side, heavily firewalled, and a
> private side. Set of servers B doesn't talk to the outside world, but
> does talk to servers A on the private side so optimum safety is
> accomplished without having firewalls etc on the private side for
> cost/performance reasons.
>
> I don't see how using public address space for the private
> interconnection between the two sets of servers makes sense.
if you have firewall device to begin with, there is no difference
at all even if you pick a global address for B, or address with
limited scope (site-local, ULA, whatever). in fact, if you pick a
global address it would be easier for A to handle traffic from B.
> > normal application which makes outgoing TCP connection DOES NOT
> > perform bind(2), so the application will only try all of the
> > destination addresses available on the DNS, not all the src/dst pairs.
>
> In shim6 I have spoken up to avoid pushing this functionality into
> applications, but although the application is not the good place for
> it, if it's not done elsewhere, it will have to be done in applications.
>
> And smart implementers will create a layer that takes care of these
> details. Annoying, yes. Necessary, absolutely.
no please don't. for god's sake. we would need another 10 years to
adapt software, include sendmail, ruby, python, postfix, procmail,
you name it, to the new API.
> > so it would be better for us to provide connectivity to all of the
> > cases in the network setup,
>
> And how exactly do you do that in a world where mobile devices roam
> from network to network, often with overlap between two forms of
> connectivity and connectivity going away without prior warning?
i do not get what you mean. more concrete example please?
> > think about it. then why "site-local" was killed after a long long
> > debate?
>
> Ambiguity.
RFC3879 seems to have more reasons other than "Ambiguity".
> > or do i
> > keep silence and see people go into the pitfall and injured?
>
> If you know a better way, by all means...
so i have been trying to...
itojun