The Mobility Client invokes Windows system
API calls to be notified whenever a change occurs in IP interfaces on the
system. If an IP interface is configured with an IP address, or is
disabled so it no longer has an IP address, the Mobility Client is notified.
When the IP interface being used to communicate with the Connection Manager
becomes unavailable the Mobility Client immediately examines all available
IP interfaces and roams the connection to the interface that has a route
to the Connection Manager (usually a default route) and advertises the
fastest speed. Additionally, if an interface that was previously unavailable
becomes available and advertises a speed faster than the interface currently
in use, then the connection roams to it.
The steps taken in a roam operation are:
queuing IP packets received from the IP stack.
the host route to the Connection Manager using the current interface, if
it still exists.
a host route to the Connection Manager using the new interface.
to contact the Connection Manager over the new interface by either sending
a UDP echo packet or opening a TCP connection for HTTP.
the connection has been established, send an LCP roam request packet which
contains a session identifier and a hashed version of the encryption key.
an LCP roam acknowledgement packet.
queuing IP packets and send queued IP packets.