[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: flow label demultiplexing
On 18-apr-05, at 8:57, Pekka Savola wrote:
All the approaches listed in demultiplexing based on flow label appear
to have issues. It was not clear to me which approaches were really
put forward and which were clearly rejected.
When looking at different alternatives, this is what I had in mind
which could work up to a certain degree:
1. allocate a new flow label for all new communications immediately
2. when setting up the multihoming context, keep track of all the
potential source and destination locators
3. flow label used by the created (src,dst,flow) in 1. is reserved
so it can't be used for any communication to any destination
locator *in the set*
4. when switching to new locators, use the same flow label
5. when demuxing the packet, the demuxer knows which locators can be
used
as source or destination, and use the flow label for demuxing.
This has a couple of generic issues:
- what if the same flow label is used for some other address, and that
address later gets added to this locator set?
I'm not sure if I understand. Can you give an example?
[Note that for our purposes, the destination address is irrelevant as
presumably, it can be any of our addresses and we already know who we
are. The only thing we care about is source + flow label.]
This is better than nothing; the alternative is to do flow
label reservation ("*,*,flow"), but that results in running out of
flow labels with a high number of flows. Or would that be an
acceptable tradeoff?
The question is whether we absolutely, positively need to be able to
determine which association a packet belongs to based on addresses and
the flow label, or that it's just a very good guess that may turn out
wrong in later steps. I.e., the machine may have 1000 sessions open,
and being able to narrow down which session a packet belongs to by
looking at the flow label to two or three of those is probably good
enough. If so, then having the source cycle throough the entire flow
label space without even managing collisions with existing sessions
would be enough.