[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Comments on draft-ietf-shim6-proto-00.txt
marcelo bagnulo braun wrote:
Yet another missing discussion: is there some interaction
with this protocol and the protocol defined in Marcelo's
draft that talked about communication with non-shim6
peers? It would appear that some aspects (e.g. input from
RAs) is common.
As i understand it, we have two cases:
- a host within the multihomed site that wants to initiate a new
communication with an external legacy host after an outage, and
- a host within the multihomed site that wants to initiate a new
communication with an external shim host after an outage
In the first case the mechanisms for doing this must only reside in
the multihomed host, while in the second case, the mechanism can
involve both (the multihomed and the external) hosts
Clearly the mechanisms used for the first case can be used for the
second case as well (obviously the mechanisms for the second and not
suitable for the first case)
The question is whether it wouldn't be better to define mechanisms
that are specific for the second case, taking advantage of the shim
capabilities of the shim peer.
The benefit that i can think of in this case would be that retrial
would be transparent for the ULP, since it would be solved by the shim.
The drawback is that the shim session needs to be established before
the communication is initiated, which may not always be the case. An
additional drawback is the added complexity, that need to quantify,
since these shim based mechanisms to deal with non working ULIDs are
in addition to the mechanisms for dealing with legacy hosts.
Additional difficulties for this mechanisms is the discovery of
alternative locators for initiating the communication, which is likely
to be based on information posted in the DNS, but that information is
probably not as good as it may seem, since the addresses associated
with a given FQDN may not belong to a single host, resulting in
invalid ULID/locator combinations.
As a side note, these mechanisms for dealing with non reachable ULIDs
are needed for supporting things like ULAs as ULIDs.
As I see it, your draft actually had two parts: what to do and how
to find out what prefix isn't working right now. The latter part
provides information that the shim6 protocol should also use.
As you note above, the former part has some tradeoffs and needs
more discussion.
multihoming can be provided for IPv6 with failover and load spreading
properties
I'm a bit concerned that we have not figured out all the details
regarding load spreading. You don't want a particular session
spread around different paths, because doing so would
confuse existing congestion avoidance mechanisms. The obvious
answer appears to be making sure that that we keep the same
locator pair for the same session. But can we identify sessions
in all cases? Also, protocol description in Section 4 and beyond
does not talk about when and how loadsharing is initiated and
abandoned.
I am not sure what do you mean by load sharing...
I mean to say "load spreading" which was the term the
document used. But no matter what the term is, my
point was that we have not defined what this means in
detail. As you note below there are some different
possibilities.
If we are talking about distributing the traffic across the multiple
exit paths of the multihomed site, i would say that this would be
naturally provided by the selection of ULIDs by the applications. I
mean, just the fact that different hosts select different prefixes for
initiating communications would result in a distribution of the load
across the different ISPs.
I mean that there is no point to distribute the packets of a given
communication among the different paths, since what really matters
AFAICT is the overall load, which is the aggregation of the load of
all nodes, which will be distributed because different communications
will use different prefixes hence different ISPs (as opposed to a
single communication distributing the load among multiple ISPs)
However, this is clearly not good enough for achieving some form of
traffic engineering or policing where something more that spreading
the load evenly across isps is required.
In any case, i think it would make sense to explain this in the doc
In addition, the non-shim6 messages, which we call payload packets,
will not contain the ULIDs after a failure. This introduces the
requirement that the <peer locator, local locator, local context tag>
MUST uniquely identify the context. Since the peer's set of locators
might be dynamic the simplest form of unique allocation of the local
context tag is to pick a number that is unique on the host. Hosts
which serve multiple ULIDs using disjoint sets of locators can
maintain the context tag allocation per such disjoint set.
Not sure if this always needs to be true.
It might be that the shim6 failover protocol signaling
is used to tell the peer what the new locators are. If
that's the case, then the local context tag alone does
not need to be unique, you could rely also on the
addresses.
Also, there seems to be security issue in using just
the context tag to do the demux.
as i understand it, once that the context is identified using the
context tag, the addresses included in the packet are verified against
the locator set available for that context. If the addresses included
in the packet are not included in the locator set of the context, the
packet will be ignored
Ok. This would work. Maybe I missed that statement if it was in
the document.
It might be possible to combine these functions. But lets
do the individual design first for each, and combine later
if possible.
Also, the assistance from payload packets in the explore
phase is not discussed.
i am missing what you mean here... could you expand?
This is what we had discussed earlier, I think on Christian's
suggestion, that the reception of payload packets with
a specific src/dst could be used as assistance in the
exploration phase.
--Jari