[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tunneling [Was: Agenda for Vienna]
This message was supposed to go to my drafts folder but I must have hit
send...
On dinsdag, mei 20, 2003, at 17:14 Europe/Amsterdam, Iljitsch van
Beijnum wrote:
To do this compression would require some packet exchange to
establish the
state thus for delay reasons it might in some cases make sense to be
able
to start sending "uncompressed" packets in parallel with such state
being
established.
I see three ways to do this. See the link to a draft I posted on this
list last week
(http://www.muada.com/drafts/draft-van-beijnum-multi6-2pi1a.txt) where
I tried to make this work with as little state as possible. The
destination identifier in packets to the server is implied, as the
server can map the locator address used to the identifier without
maintaining any per-session state. For the client address we can't do
this so I decided to encode the alternative prefix into the address in
addition to the regular prefix.
Five ways. The above uses two different ones for servers and clients:
1. Encoding the locators in the identifier
2. Looking up the mapping from the identifier to locators somewhere
3. Negotiate the mapping before communication happens (like the ISAKMP
protocol does) but this requires some bootstrapping mechanism
4. Negotiate the mapping during session start
5. Send the packet and receive the mapping state if there is any
I think the simple DNS approach is a good choice to start with unless
depending on the DNS isn't acceptable. Option 5 could be a reasonable
alternative if we decide we have to go with crypto (which I personally
don't care for).
But it's hard to know at this stage what the best approach is, and
there probably isn't a single best approach. So what I'd like to see
happen is that we select the simplest option as a default mechanism
that everyone must implement, but keep the option open for the user to
override this default behavior in a way that doesn't make the
implementation too complex.
This could solve the policy problem in enterprises. People running
enterprise networks have told us they absolutely positively need
mechanisms to implement traffic engineering and other policies and not
depend on what any particular host decides is the best way to route a
packet. With this hook in place hosts could run a daemon that asks some
central servers about the mapping state and source/dest locator
preference whenever a session is initiated to a destination for which
there is no mapping state yet. (A stateless way to see if a destination
is multihomed or legacy v4 would be good here.)
This has the additional benefit that the dependence on the DNS isn't so
bad anymore. Mapping information for known correspondents can be cached
on local storage and periodically updated rather than resolved whenever
the information is needed.
And perhaps such state should be optional. It isn't likely to be
harmful
when the tunnel endpoint is the host, but there might potentially be
scaling issues when the tunnel endpoint is some form of per-site
proxy.
We can make receiving stateless if we create our own mapping for
sending and depend on return routability. This wouldn't lead to worse
security problems than regular IP. So if we can make mapping from the
identifier to the locator for sending stateless we're in stateless
business.