[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mip6 over shim6 (was: Re: shim - mip interaction)
Hi Shinta,
El 24/03/2006, a las 15:52, Shinta Sugimoto escribió:
Hi,
In relation to the discussion on interaction between SHIM6
and MIPv6, let me try to address how should they work cooperatively.
There are mainly two scenarios: SHIM6 runs over MIPv6, and MIPv6
runs over SHIM6. The former case is well addressed in
draft-bagnulo-shim6-mip-00.txt, in which MIPv6 home address(es) are
treated as locator from SHIM6 perspective. In the latter case,
it should be possible to run MIPv6 over SHIM6 keeping MIPv6
completely unaware of underlying shim layer.
yes, but i think that it would make sense to define whether the shim is
above or below the shim once and for all, so that we figure out how the
stack is actually ordered, right?
Personally i think that at this point it makes sense to lay shim above
mip, in order to support the most interesting scenarios.
Let me expand a
little bit more on the latter case:
1. Shimming HA-MN bi-directional tunnel
In order to do this, MN and HA ought to establish SHIM6 context
with ULID pair of MN's CoA and HA's address. MIPv6 is completely
unaware of the presence of shim layer and it just operates normally.
The packet which appears on the wire should look like below. The
HA will first demux the shimmed packet based on the associated
context. Decapsulation of IP-in-IP tunneled packet will follow.
this case is useful indeed.
However, in this particular case, i am not sure that this is strictly
the case where MIP lays on top of the shim.
I mean, in this case we have tunnel interface, so basically we have the
IP layer twice. So as i see it, shim can also be twice. The particular
case that you are considering is when the shim of the IP layer of the
tunnel interface is working. So it is below the MIP, since the MIP is
associated to the other IP layer.
We can see it from a different p.o.v. if we consider that it would
possible in this case to also have a shimed session between the CN and
the MN, so and additional shim header associated to the upper IP layer
would be also in place.
So, my point in this case is:
- SHIM is above MIP
- each IP layer may have a shim sublayer within
- in the case of tunneled interfaces, we have two IP layers and for
each of these IP layers, we can have a shim layer.
- however, in all the cases, inside a given IP layer, shim is always
above MIP
makes sense?
shimmed packet from MN to CN:
[Outer IPv6 Header]
src=L(MN), dst=L(HA)
[SHIM6 Ext Header]
[Inner IPv6 Header]
src=MN_HoA, dst=CN
[Payload]
2a. Shimming RO path between MN and CN
In MIPv6, it is possible for MN and CN to optimize the routing
path between the nodes by utilizing IPv6 extension headers
(Home Address Destination Option and Routing Header Type 2)
specific for MIPv6. Semantically the route optimized path can
be regarded as a virtual tunnel between the nodes although the
mechanism of delivering IP packet is different in each direction.
ULID pair should be MN's CoA and CN's address.
right this could be possible imho, but i am not sure if it would
provide additional benefits than the case where shim is above mip.
I mean, in this case, you can only provide fault tolerance against
failures in the currently used CoA. failure in the path with the HoA
are sill affecting the communication both in the BT mode and the RO
mode (because of the hoT/HoTI exchange)
So, even if i can see that some additional fault tolerance is achieved,
i think that the case where shim is above mip provides more benefits...
shimmed packet from MN to CN:
[IPv6 Header]
src=L(MN), dst=L(CN)
[SHIM6 Ext Header]
[DSTOPT]
HAO=MN_HoA
shimmed packet from CN to MN:
[IPv6 Header]
src=L(CN), dst=L(MN)
[SHIM6 Ext Header]
[RTHDR2]
addr=MN_HoA
2b. Shimming RO path between MN and CN
If the CN happens to be a mobile too (no matter if it is served
by the same HA of the MN), CN and MN may establish RO path
in slightly more complicated way. In order to avoid confusion
let MN and CN be denoted as MN0 and MN1, respectively. Assuming
that MN0 and MN1 mutually established MIPv6 corresponding binding
(MN0 stores binding of MN1, and MN1 stores binding of MN0),
in order to shim RO-path between MN0 and MN1, they need to
establish a SHIM6 context based on ULID pair of their CoAs.
shimmed packet from MN0 to MN1:
[IPv6 Header]
src=L(MN0), dst=L(MN1)
[SHIM6 Ext Header]
[RTHDR2]
addr=MN1_HoA
[DSTOPT]
HAO=MN0_HoA
Note that packet format provided in above scenarios 2a and 2b
are slightly contradict with what is stated in Section 4.6 of
shim6-proto-04 saying that shim6 extension header should
appear after any routing header. But RTHDR2 can be treated as
an exceptional case as it is meant to be processed only by the
final destination, IMO.
There are some requirement and issues in above scenarios:
First of all, it should be noted that the above scenarios are
directly related to the work being done in the Monami6 WG.
I am not sure why do you think so... MONAMI is chartered to do very
specific work, in particluar related to multiple CoA registration and
flow policy
No work is chartered for fault tolerance, failure detection, multiple
HoA support, which is what is being provided here
Duplication of the work should be avoided from IETF perspective,
but at first the mechanism how it (MIPv6 over SHIM6) works
should be clearly understood, IMO.
agree
One requirement in above scenarios is that MIPv6 CoA should be CGA.
Otherwise there would be another security mechanism required to
prevent reflection attacks (as we assume that MN changes CoA
frequently). In the scenario where SHIM6 runs over MIPv6,
HBA would help to assure legitimate locator update among the
the locator set (=MIPv6 HoAs). But not in the scenarios described
above.
agree
however, there seem to be the underlying assumption that in the case
that shim is layered above mip, the shim can not be exposed to the
CoAs. While this make sense, there is not yet defined if this is the
best alternative. I mean, allowwing the shim to be aware of the coas
may provide additional benefits, like some form of shim based ro mode
Besides, I see an issue how the ULID pair can be determined by
SHIM6 who has no knowledge on MIPv6 binding information. As MN's
local address namely CoA is unpredictable, it may be hard for SHIM6
to determine when and with which address should the ULID pair
context should be established/updated in order to shimming the MIPv6
tunnel.
I am not sure i understand your point here: are you considering ULID
selection or locator selection? are you considering the case when a
node is selecting its owm addresses or when it is selecting the peer's
addresses?
All these cases are quite different, but there is some support for this
in RFC3484 (for ULID selection), and the flag field in the Locator
preference option has a temporary flag to tell the peer that a given
address is a CoA.
Additional guidance when selection local locators may be required though
Regards, marcelo
Any comments ?
Regards,
Shinta