Mobile communications have come a long way. Citrix Systems including XenMobile and many features such as TCP Westwood and SPDY integrated into NetScaler have played a big role. Nevertheless there is one source of irritation that causes angst among mobile clients as they roam about their day.
Standard TCP connections are not maintained when mobile devices switch from one network to another. This causes loss of state information for applications using a TCP connection that fails. For example, if the user is streaming a video on a mobile phone over a 4G network, streaming will be interrupted when connecting to a Wi-Fi system. TCP connectivity is lost and must be reestablished, causing the user to start the video from the beginning.
To ensure reliable mobile sessions when the network changes, multiple client-to-server paths for the same TCP flow are required. In most deployments today hosts and clients typically have the option of multiple network paths between them, including 3G/4G and 802.11n access. This allows the use of the optimal path for data transfer and improves the end user experience for faster data transmissions. Mobile device communications, particularly running LTE and other 4G networks, are especially enhanced.
As one would expect, the technology supporting multiple client/server paths is called Multi-path TCP (MPTCP.) This connectivity method is an extension of the TCP/IP protocol and leverages multiple paths available between MPTCP-enabled hosts and clients to maintain the TCP sessions. It is a major modification to TCP that allows these paths to be used simultaneously by a single transport connection. With MPTCP enabled, transactions can continue even if one of the network paths is not available. MPTCP offers better robustness and availability than standard TCP, because the application session does not fail if one link goes down. MPTCP is an IETF charter en-route to standardization. MPTCP has been adopted by at least one major mobile manufacturer and is expected to be broadly adopted by end of this year.
The idea behind MPTCP is to make use of the additional paths that are otherwise ignored by the routing system. Doing so can provide more bandwidth, fault tolerance and higher network utilization for network operators. MPTCP involves modifying TCP to give it the capability to send a given packet over a given path. The TCP New Reno congestion control algorithms are run separately for each path, so each has its own transmission window that reflects that path’s available bandwidth. MPTCP can send: Many packets over paths with a large transmission window and/or a small round-trip-time (RTT); and fewer packets over paths that have a small window and/or a large RTT. This way, a Multipath TCP can automatically and quickly adjust to congestion in the network, moving traffic away from clogged paths and towards uncongested routes.
NetScaler is unique among Application Delivery Controllers in their full support for multiple TCP paths. Through an integrated MPTCP Gateway feature NetScaler holds a dual TCP stack in between the service and client to help with mobility and efficient access. Initially a mobile client is switched on, and connects to the carrier network. Then the Client-MPTCP detects this network, opens a connection and NetScaler starts transmitting data over the wireless carrier network. If available the client can then detect and connect to a new Wi-Fi network. The Client-MPTCP detects this link and opens a new TCP connection. If NetScaler detects congestion on the carrier link it then dynamically sends data over Wi-Fi. The result is a seamless load distribution and path failover with faster data transmission for a superior end user experience.