Subject: [mobile-ip] some issues with IPv6 mobility draft (sharif)

From: "Shahrier, Sharif M." <[email-masked]>
Date: Mon, 9 Apr 2001 15:37:55 -0400

I have some issues to discuss with the document:

"Mobility Support in IPv6"
<draft-ietf-mobileip-ipv6-13.txt>

I would be grateful if people can take a look and make any contructive
comments. Thanks.

1.	Consider A, B where A is the mobile and B is the correpondent node.
A is currently 
	away from its  home agent. B is also a mobile node. Suppose A send a
BU(A) and moves 
	to its new location. The network is heavily loaded, and B has not
yet received the 
	binding update. B also was to move. Thus, similarly, it sends a
BU(B) to A, and moves 
	to its new location. The binding updates BU(A) and BU(B) eventually
arrives at A's 
	and B's previous locations, respectively. But A and B have already
moved. This means 
	that nodes neither A or B will are aware of each other new
respective locations. 
	
	Thus, I believe this is be an erronous condition wrt A and B not
knowing each others
	final destination addresses.

2.	In light of the potential problem in (1), I propose that we
eliminate all signaling 
	between mobile-to-mobile with respect to Binding Update and Binding
Request messages.
	Instead, after a mobile has moved to a new location:

		- It only sends a Binding Update to its home agent. 
		- Home agent updates the binding for the mobile.
		- The home agent maintains a Binding Update List containing
all the 
		  correspondent nodes that are currently communicating with
the mobile. 
		- The home agent (uni)multicasts a Binding Update to all the
nodes in 
		  that Binding Update List. 
		- The correspondent nodes send back Binding Acknowledgement
to the 
		  home agent.
		- Home agent, in turn, sends back Binding Acknowlegement to
the mobile.

	Under this scheme, we eliminate the need for mobile-to-mobile
signaling. Only
	signaling between home agent and the mobile and correspondent(s)
nodes are 
	neccessary. Also, something like the scheme above may slove the
problem 
	described in (1). 

3.	If the home agent has failed/reconfigured, I believe that "dynamic
home agent 
	discovery" is used to locate a new home agent on the home link.
However, it
	does not guard against failure to the home link itself. For this
pupose we
	need to add fault tolerent capability to guard against link failure.

	Designate a "primary" home link and a "secondary" home link. Under
non failure
	conditions, primary link is used as the home link. If the primary
link fails,
	then the secondary link is used. New home agent is located. Of
course, the 
	number of links can be increased to an arbitrary number.

	These three points are not intended as final solutions, but as 
	a framework from which a formal solution can be drafted.

	Best Regards,

	Sharif Shahrier
	InterDigital

---

From: Andrei Pelinescu - Onciul <[email-masked]>
Date: Tue, 10 Apr 2001 00:04:03 +0200

"Shahrier, Sharif M." wrote:
[...] 
>         between mobile-to-mobile with respect to Binding Update and Binding

I think we should only send binding updates to the home address of the
"mobile" CN (or the correspondent MN? :)). This means we must not use
the binding cache when sending a binding update.
This approach will solve this problem with only a minor modification on
the MN code.

Andrei

---

From: Wolfgang Schoenfeld <[email-masked]>
Date: Tue, 10 Apr 2001 11:20:59 +0200

"Shahrier, Sharif M." wrote:
> A is currently away from its  home agent. B is also a mobile node. Suppose A send a
> BU(A) and moves to its new location. The network is heavily loaded, and B has not
> yet received the binding update. B also was to move. Thus, similarly, it sends a
> BU(B) to A, and moves to its new location. The binding updates BU(A) and BU(B) eventually
> arrives at A's and B's previous locations, respectively. But A and B have already
> moved. This means that nodes neither A or B will are aware of each other new
> respective locations.
> 
> Thus, I believe this is be an erronous condition wrt A and B not knowing each others

Let me work out this scenario in more detail.

The BU(A) message informs all nodes which handle A's mobility
(let us call them "mobile anchor points", following the hmipv6 draft)
to forward packets addressed to A to the new position of A.
Obviously, BU(A) should be sent in such a way
that packets routed according to it cannot arrive at the new position
before A itself arrives. To this end, A sends BU(A) after it arrives.

Now consider a data stream sent from some other node B to A.
The mobile anchor points re-direct this stream to A's new position
after they received BU(A). Since there are non-zero intervals
between the points in time where
- A left the old position
- the mobile anchor points re-direct the stream
some packets will be lost.
But assume that they are recovered by some TCP-like mechanism,
i.e. that no packets sent to A are lost.
This holds also for BU(B) messages,
and mobility of A is handled correctly.

By symmetry, the same applies to B.
This means that your scenario is no principal problem
(if the assumptions I mentioned really hold).
But recovery of packets lost during mobility support
may cause a considerable delay of binding updates
which in turn will make mobility handling longer
so that more packets are lost ...

Wolfgang

(Sorry for skipping your other comments)

---

From: Francis Dupont <[email-masked]>
Date: Tue, 10 Apr 2001 11:58:49 +0200

1.	Consider A, B where A is the mobile and B is the correpondent node.
   A is currently away from its home agent. B is also a mobile
   node. Suppose A send a BU(A) and moves to its new location. The
   network is heavily loaded, and B has not yet received the binding
   update. B also was to move. Thus, similarly, it sends a BU(B) to A,
   and moves to its new location. The binding updates BU(A) and BU(B)
   eventually arrives at A's and B's previous locations,
   respectively. But A and B have already moved. This means that nodes
   neither A or B will are aware of each other new respective locations.
   	
=> this situation (mobile to mobile) is addressed by sections 8.7 and 8.8
(but some junk proposals don't solve this so your question is pertinent).

   2.	In light of the potential problem in (1), I propose that we
   eliminate all signaling between mobile-to-mobile with respect to
   Binding Update and Binding Request messages.

=> first (1) is not a problem, second to use the home agent as
a signaling agent is more complex and in general less efficient
(the direct/optimized path is always shorter than the home agent one,
this is the essential property of a distance in maths).
Unfortunately this doesn't solve current security problems too because
the home agent is not more special than the mobile node...

   3.	Multiple home links.

=> this should be in an application document because this doesn't change
the protocol, only the way to use it.

Regards

[email-masked]

---

From: Francis Dupont <[email-masked]>
Date: Tue, 10 Apr 2001 12:18:01 +0200

=> but this is less efficient if the mobile CN has not moved. The real
answer (which is described in the draft!) is to send the BU to the CN
as a standard packet but to flush the binding cache entry of the mobile CN
if communication seems to be stalled or when ICMPs show something is wrong.

=> the draft solution works without any modification in this rare but
possible case and is cleaner(*), simpler and more efficient in the
general case. (PS: cleaner because this doesn't mixed the MN and the CN codes).

Regards