Re: [Mip6] [issue94] fixing encapsulation mechanism in IPv4 network
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mip6] [issue94] fixing encapsulation mechanism in IPv4 network



Hello Hesham,

On 2007/03/21, at 19:40, Hesham Soliman wrote:

switching between the UDP tunnel and IP n IP is very small (from an
implementation point of view).

I may not agree on the above point. Since UDP is a transport protocol, encapsulating something in it cannot be handled by a *normal* packet decapsulation flow, while IPv4-in-IPv4 can be fit to the natural flow. So switching from IPv4 encapsulation to UDP encapsulation may not be so easy as you say, especially for MIP stacks that are implemented in user space.

=> I'm not sure I get that. If you're implementing in user space you would
still know how to handle IP n IP today because that's what MIP6 does today
and some people have already done that in user space. The UDP part is always
there because the BU is always sent on UDP. So if someone already implements
MIP6 in user space they already need to know how to handle IP n IP and if we
choose to do UDP only in DSMIP then they end up in a situation where they
have to handle both tunnelling mechanisms anyway.


So to summarise for the user space case:

- You always need to handle IP n IP for native MIPv6 (it doesn't matter
whether it's v6 in v6 or v6 in v4, it's all IP n IP).


- You always need to handle the UDP tunnel because the BU in DSMIP is always
sent in UDP.


The difference in the DSMIP case is that normal traffic can also be
tunnelled in UDP, but that's the case you want to keep anyway. So you'll
always end up having to support both types of tunnels whether we remove IP n
IP from DSMIP or not.


What am I missing?

What I wanted to remove is the switching mechanism of encapsulation format when a mobile node is in the IPv4 network. Currently, our implementation does not support IPv* in IPv4 encapsulation mechanism because of course MIPv6 doesn't require that. If we a mobile node is allowed to use only the UDPv4 encapsulation mechanism, then we wanted to implement that.


But, as Romain said in other mail, at least it seems easy to implement both IPv4-encap and UDPv4-encap and switching between them in Linux. So it depends on the design of implementation.


So, I want to propose a compromise. Isn't it possible to add a flag for a mobile node to declare that the node wants to use the UDPv4 encapsulation mechanism when sending a binding update message to its home agent? Hesham said to me in our local conversation yesterday, such a flag already exists in the current spec, however, I re-read the text and couldn't find such a flag.


There is the 'F' flag to force the UDP encap format, but it is for a home agent and not for a mobile node. In the current spec, a mobile node doesn't have any freedom to choose the encapsulation mechanism, only HA can force a mobile node to use UDP encapsulation.

If a mobile node can have such a flag, then nodes that want to use IPv*-in-IPv4 format can still keep the current encapsulation mechanisms (that is, IPv*-in-IPv4 by default and switch to UDPv4 whenever necessary), and nodes that want to support only UDPv4 encapsulation can specify its request in a binding update message using the newly added flag.

Is it feasible?

We (Koshiro Mitsuya, one of the developers of our MIPv6 implementation) will send proposed text mentioning the above mechanism later.

---
Keiichi SHIMA
IIJ Research Laboratory <keiichi at iijlab.net>
WIDE Project <shima at wide.ad.jp>




_______________________________________________ Mip6 mailing list Mip6 at ietf.org https://www1.ietf.org/mailman/listinfo/mip6




Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.