up any mobility solutions that the node may be supporting. 3.7.2 Host-based Mobile IP One significant solution approach to the IP mobility problem is to make MNs establish and maintain tunnels to the network that their addresses topologically belong. The mainstream solution for this approach is called Mobile IP, which was originally designed for IPv4 [162]. The first MIPv6 [120] specification was published by the IETF in 2004. Since then the base specification has been revisited in 2011 [35] and a significant dual-stack feature introduced in RFC 5555 in 2009 [121]. Besides these major documents, a set of additional and supportive standards has been created, for example, related to network mobility, fast handovers, route optimization, prefix delegation, management information base, TLS-based security, and flow based mobility. MIPv6 with its extensions is a large protocol worthy of a dedicated book. In this section we will only describe the functionality on a very high level. In the world of MIPv6, MNs are configured with IPv6 addresses from the home network, called HoAs, and from visited networks, called CoAs. The HoAs are the ones that provide mobility and reachability services for transport layer sessions and applications. In order to support MIPv6, a host implements functions specified for an MIPv6 MN, and a router in its home network implements a function called MIPv6 Home Agent (HA). The HA provides an anchor point for HoAs and tunneling services. The MN establishes IPv6 over IPv6 (or IPv6 over IPv4) tunnels from the visited networks to the home network by using the CoA. All the packets sent with the HoA are encapsulated and sent to the HA. Deploying IPv6 in 3GPP Networks When HA receives these encapsulated packets, it performs decapsulation and forwards the decapsulated packet to the Internet. Similarly, the HA tunnels all downlink packets destined to the MN's HoA to the MN's current CoA. Figure 3.17 illustrates MIPv6 in action. In the step 1, an MN is connected directly to the home network, where the MN is 