Mobility management principles
A mobile device may move from one network to another over time.
Levels of device mobility
| Scenario | Explanation | Device on while moving? | Changes AP/base station? | Changes IP access network? | Handover needed? | Mobility layer |
|---|---|---|---|---|---|---|
Device off while moving |
The device is physically moved, but it is turned off while moving. It disconnects from one network and later connects to another, so there is no ongoing communication to preserve. |
❌ No |
Possibly (when reconnecting) |
Possibly (when it reconnects) |
❌ No |
None |
Movement within same IP network |
The device moves while staying in the same IP access network. It may switch APs or base stations, but those APs/base stations belong to the same network, so the IP layer sees no change and the IP address can remain the same. |
✅ Yes |
Possibly |
❌ No |
❌ No (a link-layer/radio handover may still occur) |
Link layer (Layer 2) |
Movement to different IP network |
The device moves to a different IP access network while continuing communication, which may cause a change in IP address. Mobility management mechanisms must perform a handover: a transfer of responsibility for forwarding packets from the old access network to the new one so that existing connections can continue. |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Network layer (Layer 3) |
Movement to different provider |
The device moves to an access network operated by a different provider. The handover is more complex because multiple providers must coordinate the transfer. |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes (between providers) |
Network layer (Layer 3, inter-provider) |
Roaming on visited networks
Each mobile subscriber has a home network provided by their cellular operator.
When a device connects to a different cellular network:
- the device is roaming (itinérance) on a visited network
- the home network and the visited network must coordinate to provide service
The Internet does not have an equivalent concept of a home network or visited network.
Having a home network for mobile devices provides two key benefits:
- it gives a central place to store information about the device
- it acts as a coordination point for communication with the device while it is roaming
Routing to a mobile device
In a 4G/5G cellular network, consider:
- a correspondent:
- an Internet-connected host that wants to communicate with a mobile device
- a mobile device:
- roaming in a visited network
- identified by a globally unique identifier (e.g., the IMSI in 4G LTE or the SUPI in 5G)
How can a datagram sent by the correspondent reach the mobile device?
There are three main possible approaches. The last two are the ones used in practice.
Leveraging IP routing
The simplest way to route packets to a mobile device in a visited network is to use normal IP routing with BGP:
- the visited network could advertise a more-specific route for the device's IP address, causing Internet routers to forward packets to the device's current location
- however, this approach does not scale because routers would need to store routes for billions of mobile devices and update routing information every time a device moves
To improve scalability, mobility management is moved from the Internet core to the network edge:
- the home network tracks the mobile device's current location using a mobility management entity and a database such as the HSS
- the visited network communicates with the home network to update the device's location
A mobile device in a visited network needs an IP address. There are three possible approaches:
- use a permanent home-network IP address
- assign a new address from the visited network
- use NAT to translate between a home address and a temporary visited-network address
In cases 2 and 3, the device has both:
- a permanent subscriber identity stored in the home network
- a temporary IP address used in the visited network
Because normal Internet routing cannot determine the device's current location, additional mobility mechanisms are required. The two main solutions are:
- indirect routing
- direct routing
Indirect routing
In indirect routing, the correspondent does not need to know where the mobile device is located:
Sending datagrams to the roaming mobile device:
- the correspondent sends a datagram to the mobile device's permanent address
- (1) the datagram is first routed to the mobile device's home network:
- the home gateway router determines that the destination device is currently roaming using information from the HSS
- it queries the HSS to obtain the device's current visited network
- the home gateway encapsulates the original datagram inside a new datagram
- this keeps the original datagram unchanged, so the application does not know that the packet was rerouted
- (2) the datagram is tunneled to the visited network gateway router, which:
- decapsulates the packet by removing the outer tunnel header
- performs NAT translation if the visited network uses NAT
- (3) forwards the original datagram to the mobile device
Sending datagrams from the roaming mobile device:
- when the mobile device sends data back to the correspondent, the visited network gateway must forward the datagram
- there are two options:
- (4a) routing through the home network:
- the visited gateway tunnels the datagram back to the home gateway
- the home gateway then sends it to the correspondent
- (4b) local breakout:
- the visited network sends the datagram directly to the correspondent
- (4a) routing through the home network:
Indirect routing requires three main mechanisms:
- mobile device ↔ visited network association
- the device associates with a visited network
- the device disassociates when leaving that network
- visited network ↔ home network HSS registration
- the visited network reports the device's location to the home network HSS
- the HSS may also provide information needed for authentication
- home gateway ↔ visited gateway tunneling
- the home gateway encapsulates and forwards the original datagram
- the visited gateway:
- decapsulates the datagram
- performs NAT translation if needed
- delivers it to the mobile device
When a device roams from one visited network to another:
- the new location must be registered with the home network HSS
- the tunnel between the home gateway and visited gateway must be updated
But will the mobile device see an interrupted flow of datagrams as it moves between networks?
Usually, only a small number of datagrams are lost:
- loss is minimized if the time between disconnecting from the old visited network and connecting to the new visited network is short
- occasional datagram loss is not a major problem
- if reliable communication is needed, upper-layer protocols can recover lost datagrams, whether the loss is caused by network congestion or by handover between networks
The indirect routing approach has an inefficiency called the triangle routing problem:
- datagrams sent to a mobile device must travel:
- from the correspondent to the mobile device's home network
- from the home network to the mobile device's visited network
- this happens even when a shorter route exists between the correspondent and the mobile device
In the worst case:
- a mobile user visits a colleague in another country
- the mobile user is now roaming on the home network for his overseas colleague
- they are sitting next to each other and exchanging data
- however, datagrams are forwarded:
- to the mobile user's overseas home network
- and then back again to the visited network
Direct routing
Direct routing solves the triangle routing problem by sending datagrams directly to the mobile device's visited network.
However, it adds extra complexity.
Direct routing approach:
- the correspondent first obtains the mobile device's current location information
- it does this by querying the HSS (the mobility location service) in the mobile device's home network
- this is shown in steps (1) and (2)
- the correspondent then sends datagrams directly to the gateway router in the mobile device's visited network (3)
Direct routing creates two additional problems:
-
a mobile-user location protocol is required:
- the correspondent needs a mechanism to discover the mobile device's current location
- this is in addition to the protocol needed for the mobile device to register its location with its HSS
-
handling movement between visited networks:
- if the mobile device moves to a new visited network, the correspondent must learn the new location
- with indirect routing, this is simple:
- update the HSS
- change the tunnel endpoint to the new visited network
- with direct routing, it is harder:
- the correspondent only queries the HSS at the start of the session
- extra mechanisms are needed to notify the correspondent whenever the mobile device changes networks