[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: stable addressing
A "talk first, negotiate later" approach to multiaddress multihoming
has important advantages, as it allows seamless backward compatibility.
A weak point of this type of approach is that it doesn't lend itself to
easy implementation in a middlebox, as compatibility with existing
transports requires all possible addresses to be available on the
multihomed host, and it possibly even requires cooperation from
applications.
However, if we were to add a new "fool the transport" address, this
problem would largely go away. The idea is that multihomed hosts would
have stable addresses (presumably unique site locals). For incoming
sessions, the stable address is advertised in the DNS as a new RR. The
correspondent looks up both the stable address and the set of regular
addresses, and proceeds to set up a transport session towards one of
the regular addresses as per NOID et al. However, the transport
protocol acts as if the session is towards the remote stable address.
The middlebox at the receiving site terminates all multihoming
negotitation. It also maps back and forth between any of the regular
addresses and the stable address, with the result that the receiving
host can just use its stable address without being aware of multihoming
issues.
For outgoing sessions, the multihoming middlebox intercepts DNS
requests by internal hosts. Rather than just send the AAAA records to
the requesting hosts, it replies with an AAAA record that contains the
"fool the transport" address for the remote host, and keeps an
FTT->AAAA mapping in memory. Then, when the internal host tries to set
up a session towards the remote FTT address, the middlebox performs the
necessary multihoming negotiation with the host sitting at the AAAA
address(es) associated with the FTT address in question and then
proceeds to rewrite addresses as per the combined FTT->AAAA and
multihoming state.
Since the FTT address only replaces the locator/identifier at the
transport level, applications still get to see the addresses that are
published as AAAA records, so security assumptions aren't broken. That
is, unless a middlebox is used, but in that case presumably the
middlebox will handle any address-based security as well as
multihoming. Since FTT addresses aren't really visible anywhere, there
is little to no need to authenticate them.
Note that this approach also allows for easier source address rewriting
by routers.
Two problems remain: interaction between multihomed hosts behind a
middlebox and legacy IPv6 hosts, and referrals. And one thing to think
about: making the negotiation protocols such that two or more
middleboxes can come to the same results independently, so they can
provide failover for eachother without having to synchronize state
between them.