Danny,
I entirely agree with what you say about the motivation for the work.
But if I may be really picky, I think the required notification is not about 
link state per se, rather about source IP changes.

Suppose an application could find out about the different IP addresses 
available to it, and the costs & attributes of using each. Wouldn't that 
fulfill the use case in a very general manner?

I can think of ways in which a different source address is appropriate even if 
link state was not lost.
- network renumbering (even on a fixed network)
- changes in cryptographically-generated IPv6 addresses
- multi-homing changes, such as *adding* a WiFi interface without dropping a 
mobile interface.

I note also that BSD allows IP addresses to be assigned to the loopback 
interface, the state of which never changes.

-Dave



From: Moses, Danny [mailto:danny.mo...@intel.com]
Sent: Wednesday, August 12, 2015 7:44 AM
To: Dave Dolson
Cc: dmm@ietf.org
Subject: RE: mobility and link state

Hi Dave,

Thanks for your comments.
In general, I agree that it is preferable to hide data-link-related events from 
applications. At least, this use to be the case in the stationary world (as 
opposed to mobile).

With the introduction of mobile platforms, the event of a temporary loss of 
connection is much more common (as a result of handoffs). Still, if the 
connection loss is temporary and lasts for a very short amount of time, and the 
source IP address is still valid after the connection is back, there is no real 
requirement for any specific action and that event could still be transparent 
to applications.

But maintaining the source IP address (which is referred to in some drafts as: 
'IP session continuity') come with a price: Maintaining tunnels, extra 
encapsulation header in each packet, non-optimal routes etc...

We have acknowledged that some applications can easily recover from a source IP 
address change. This ability means that they do not benefit from the network's 
IP session continuity support, but still have to suffer from the inherit 
overhead. To resolve this, we introduced the 'On-Demand' concept in which 
applications have the ability to indicate to the NW their desire to receive 
different levels of IP session continuity services.

The link-state change indication is another means to help applications that can 
recover from a change in source IP address (as a result of handoff). We believe 
that in the mobile world, application developers may benefit from being aware 
of the mobility behavior of the platform on which their applications are 
deployed. They do not have to be, but being aware can yield better performance 
(same goes for energy consumption - but this is out of the scope of DMM).

To conclude, we are not requiring all future applications to be mobility-aware. 
We are offering means for applications to be mobility aware on their choice to 
enable them to behave in a more optimal manner in mobile platforms.

/Danny

From: Dave Dolson [mailto:ddol...@sandvine.com]
Sent: Tuesday, July 21, 2015 02:52
To: Moses, Danny
Cc: dmm@ietf.org<mailto:dmm@ietf.org>
Subject: mobility and link state

Danny,
Although I'm new to this working group, today I watched you present at IETF on 
the subject of applications monitoring link state.
You asked for feedback on the mailing list... Maybe some of these ideas are 
useful:

Thinking as an application author,

-          I think some kind of signal about network loss is useful, rather 
than applications using arbitrary timeouts on transaction times. Example: when 
should a browser or database client give up on a request? The timeout approach 
is unsatisfactory for transactions that take a long time to run.

-          Having said that, the application should not have to know about 
links or layer2 health.

-          Links should be able to go up and down, without dropping a TCP 
connection, for example. I feel there is a strong tradition of this behavior. 
IP addresses should be able to move between interfaces (e.g., from a physical 
interface to a tunnel interface) without interruption of the socket.

-          but one thing that warrants an exception is when the address bound 
by the socket is no longer available on the host. I believe current behavior a 
socket will stay alive even when the IP address is no longer available on the 
host, presumably in the hope that the IP address will be assigned again.


-           The socket should only fail if the transaction is not going to 
finish. In mobility context this might mean that the loss of the IP address is 
likely permanent (what is "permanent"? --> need heuristics).

-          Typical applications will connect with "any" for the source address 
to bind to. When a host has multiple IP addresses (multi-homed), there is a 
complicated set of rules for choosing one (RFC 6724). Your thoughts on choosing 
best routes may fit in this framework. (Is RFC 5014 relevant here?)

So my proposal, which I think can be backwards compatible:

-          Add an ioctl or getsockopt so that the application can ask, "would 
there be a better choice of local address", giving the application an 
opportunity to start another socket at the best opportunity (after the current 
transaction).

-          Add a socket option for the idea of "create socket error if local IP 
has been lost for X seconds". I propose the timeout, allowing an IP address to 
be removed from one interface and added to another without socket error. This 
is better than an application timeout.

Consider the case of a database client using a persistent database connection 
for queries.
To handle the soft hand-over case a smart client would keep checking if the 
socket is optimal. If not, finish the current transaction on the existing 
socket and open a new socket for new transactions. The new socket presumably 
uses the newer and better local IP address.

-Dave



---------------------------------------------------------------------
A member of the Intel Corporation group of companies

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
_______________________________________________
dmm mailing list
dmm@ietf.org
https://www.ietf.org/mailman/listinfo/dmm

Reply via email to