Have you ever gotten frustrated when you were browsing on your mobile phone and all of a sudden the connection dropped and you had to resubmit the request or you lost all of the data you had filled out in the form? Traditional TCP is a single path protocol; when the path fails the session is terminated and a new connection needs to be established. When a mobile device switches between the mobile network and wi-fi network, a new connection needs to be established which causes delays and also results in a loss of state. Any data from the previous session is lost – forms need to be re-submitted and videos are restarted.
The delay of switching between wi-fi and the mobile network can take upwards of 3 seconds. Given that users expect pages to load in under 5 seconds, this 3 second delay can result in high user abandonment.
Multipath TCP (MPTCP) is an experimental draft implemented in BIG-IP v11.4 which adds extensions to traditional TCP allowing a client to connect and maintain a continuous connection across multiple paths simultaneously. At the onset, MPTCP looks like a regular TCP connection with a 3-way handshake occurring across a single path. If additional paths are available, new connections are created and joined with the original connection. All of this is handled automatically by the handset operating system - the application sees only a single connection. Congestion control algorithms are run separately for each path with its own transmission window and pacing that reflects that connection’s bandwidth, latency and packet loss.
In the mobile world, MPTCP provides a more seamless user experience by enabling the following scenario:
You are riding the bus into work while watching the first round of the NCAA tournament on your tablet over the mobile network.
As you get off the bus and approach the office, the tablet comes in range of the corporate wi-fi, associates with it, and established a connection over wi-fi.
Congestion control favors the high bandwidth wi-fi path and uses that.
As more people stream the game from the wi-fi it reaches capacity and the tablet disconnects from wi-fi but continues to use the still valid mobile connection.
All of this occurs without missing a single play of the game as the application was able to maintain the users session.