IPv6 Multihoming Support in the Mobile Internet Presented by Paul Swenson CMSC 681, Fall 2007 Article by M. Bagnulo et. al. and published in the October 2007 issue of IEEE Wireless Communications
Mobile Device Networking Support Modern “fourth-generation” (or 4G) mobile devices support multiple network interfaces Modern “fourth-generation” (or 4G) mobile devices support multiple network interfaces –Today, in the US, can buy advanced PDA phones that can speak both g (Wi-fi) and 1xRTT/EV-DO for data service. –Carriers will soon be rolling out WiMAX networks in the 2.5GHz and 700MHz bands (pending FCC auctioning of the new wireless spectrum). –Mobile phones of tomorrow will support these technologies and more for accessing Internet resources.
Benefits of Multiple Physical Interfaces By providing multiple redundant data interfaces, roaming capabilities are greatly enhanced By providing multiple redundant data interfaces, roaming capabilities are greatly enhanced Multiple path technology would allow for fault tolerance in data connections Multiple path technology would allow for fault tolerance in data connections –Preservation of established communications through outages of service or requisite roaming from one service to another Ability to route flow of data based on predefined quantifiers such as cost of access or quality of the connection Ability to route flow of data based on predefined quantifiers such as cost of access or quality of the connection
Problems with Current Implementations None of the currently-available mobility protocols support those advanced features None of the currently-available mobility protocols support those advanced features Current mobile devices support different interfaces, but switching is far from seamless, mostly a manual process right now Current mobile devices support different interfaces, but switching is far from seamless, mostly a manual process right now In order to fully realize the possibilities of modern mobile networks, a mechanism to provide mobile host multihoming support is required In order to fully realize the possibilities of modern mobile networks, a mechanism to provide mobile host multihoming support is required
Mobile IPv6 and SHIM6 The paper’s proposed solution to this problem is a combined Mobile IPv6 (MIPv6) and SHIM6-based approach The paper’s proposed solution to this problem is a combined Mobile IPv6 (MIPv6) and SHIM6-based approach –Backwards-compatible with existing transport protocols/applications –Any existing TCP or UDP-based protocols will benefit from the enhanced fault tolerance provided –Works around limitations inherent to MIPv6
Mobile IPv6 Multihoming Support Mobile IPv6 supports multihoming natively without any extra help Mobile IPv6 supports multihoming natively without any extra help Requires the client to send a special “Binding Update” MIPv6 message that it is going to be changing its active interface from the home address Requires the client to send a special “Binding Update” MIPv6 message that it is going to be changing its active interface from the home address Packets then are redirected to the “Mobile Node” until another “Binding Update” redirects them back to the home address Packets then are redirected to the “Mobile Node” until another “Binding Update” redirects them back to the home address
Disadvantages to this Approach If the connection between the handset and the home network is broken, there is no automatic failover to the mobile node If the connection between the handset and the home network is broken, there is no automatic failover to the mobile node Connections established while connected to the home network or one of the mobile nodes must be re-established, no automatic failover Connections established while connected to the home network or one of the mobile nodes must be re-established, no automatic failover Requires the home agent (a server running on the home network) to be available even when roaming as a mobile node for traffic to get through Requires the home agent (a server running on the home network) to be available even when roaming as a mobile node for traffic to get through
Why IPv6? IPv6 provides any-to-any route optimization support allowing packets to flow across whichever route is best suited (or available) to carry the flow of information IPv6 provides any-to-any route optimization support allowing packets to flow across whichever route is best suited (or available) to carry the flow of information Allow direct communication between the mobile node and the remote server w/out depending on the home agent Allow direct communication between the mobile node and the remote server w/out depending on the home agent
SHIM6 and Multihoming SHIM6 handles the case where you have a host A with n distinct addresses wanting to communicate with a host B with m distinct addresses. SHIM6 handles the case where you have a host A with n distinct addresses wanting to communicate with a host B with m distinct addresses. –A and B should be able to communicate across any of the addresses to any of the other addresses and all packets should make it to their destination w/out any input from the protocol layer
SHIM6 and Multihoming (2) Within the SHIM6 scheme, host A will do a DNS lookup, obtaining a subset of the addresses for host B. Within the SHIM6 scheme, host A will do a DNS lookup, obtaining a subset of the addresses for host B. SHIM6 will then use the RFC 3484 address selection process for IPv6 to choose one of the addresses of B to contact it on. SHIM6 will then use the RFC 3484 address selection process for IPv6 to choose one of the addresses of B to contact it on. Now, as part of the SHIM6 negotiation, the two peers exchange alternate locators so that in the event that one of the links fails, each end of the communication will know all possible ways to reach the other host. Now, as part of the SHIM6 negotiation, the two peers exchange alternate locators so that in the event that one of the links fails, each end of the communication will know all possible ways to reach the other host.
SHIM6 and Multihoming (3) IPv6 Reachability Protocol (REAP) is then used to verify that the currently used path is functioning. IPv6 Reachability Protocol (REAP) is then used to verify that the currently used path is functioning. Special keepalive packets are sent when data has not been transmitted after a certain amount of time in order to allow REAP to detect an outage based on time since last packet received Special keepalive packets are sent when data has not been transmitted after a certain amount of time in order to allow REAP to detect an outage based on time since last packet received
SHIM6 and Failures When a failure is detected by one of the hosts, that host enters an “exploratory phase” in which special probe packets are sent to each of the known addresses on the other end of the link (and using multiple interfaces on that host’s side) When a failure is detected by one of the hosts, that host enters an “exploratory phase” in which special probe packets are sent to each of the known addresses on the other end of the link (and using multiple interfaces on that host’s side) Based upon the received responses the communications channel is redirected over links that were successful in reaching the other host, thus preserving the information flow (be it connection-oriented or connection-less). Based upon the received responses the communications channel is redirected over links that were successful in reaching the other host, thus preserving the information flow (be it connection-oriented or connection-less). Thanks to SHIM6 and MIPv6, packets end up going to the target system, not a specific IP address on that system. Thanks to SHIM6 and MIPv6, packets end up going to the target system, not a specific IP address on that system.
Security in SHIM6 SHIM6 protects against redirection attacks using Cryptographically Generated Addresses (CGA) SHIM6 protects against redirection attacks using Cryptographically Generated Addresses (CGA) –CGAs are regular unicast IPv6 addresses that are signed with the interface identifier, a public key and the prefix of the address This allows a host to claim ownership over a specific CGA since it owns the private key This allows a host to claim ownership over a specific CGA since it owns the private key
Architecture (MIPv6 and SHIM6) The SHIM6 layer is considered to be on top (it is what applications interact with) The SHIM6 layer is considered to be on top (it is what applications interact with) The Mobile IPv6 layer is then situated below that in a block diagram The Mobile IPv6 layer is then situated below that in a block diagram The IP forwarding sublayer is then below the MIPv6 layer The IP forwarding sublayer is then below the MIPv6 layer
Conclusions Article provides an architecture for providing multihoming + failover support to 4G wireless nodes that will be capable of multiple simultaneous network links Article provides an architecture for providing multihoming + failover support to 4G wireless nodes that will be capable of multiple simultaneous network links Makes use of standard Mobile IPv6 and overlays SHIM6 on top to provide advanced failure detection using REAP and recovery support thanks to SHIM6 Makes use of standard Mobile IPv6 and overlays SHIM6 on top to provide advanced failure detection using REAP and recovery support thanks to SHIM6 Works without any modifications to the Mobile IPv6 protocol, making use of a standards-compliant multihoming mechanism layered on top of it. Works without any modifications to the Mobile IPv6 protocol, making use of a standards-compliant multihoming mechanism layered on top of it. Minimizes changes required to existing protocols (they should be able to function with little or no change and without being aware of the SHIM6 layer at all). Minimizes changes required to existing protocols (they should be able to function with little or no change and without being aware of the SHIM6 layer at all).