iOS 7 supports Mutlipath TCP (MPTCP), as defined in RFC 6824, and allows an iPhone to establish a backup TCP connection to a destination host over a cellular data connection. Learn what Multipath TCP is and how it works in iOS 7 to help customers and network administrators understand and support this new feature. Most customers with a typical home network can't or don't need to enable MPTCP.
What is Multipath TCP?
MPTCP is a set of extensions to the Transmission Control Protocol (TCP) specification that allows a client to establish multiple connections over different network adapters to the same destination host. This creates resilient and efficient data connections between hosts that remain compatible with existing networking infrastructures.
How does iOS 7 implement Multipath TCP?
iOS 7 uses MPTCP on an iPhone or iPad with an active cellular data connection to make two connections:
- A primary TCP connection over Wi-Fi
- A backup connection over cellular data
If Wi-Fi becomes unavailable or unresponsive, iOS 7 will use the cellular data connection.
MPTCP uses TCP Option field 30, which is reserved exclusively for this use by the IANA. If any middleboxes, such as routers or switches, between the iOS device and server don’t support MPTCP, iOS 7 will make a standard TCP connection. For example, when you ask Siri a question, Siri tries to make an MPTCP connection over Wi-Fi. If successful, Siri creates a backup connection over cellular data. If Wi-Fi becomes unavailable or unreliable, MPTCP immediately and invisibly switches to cellular data.
How do I enable MPTCP support on a network?
MPTCP is backwards compatible with existing networks. If a network doesn’t support MPTCP, the client uses standard TCP connections. However, network administrators must check their firewall policies to make sure that all intervening devices allow TCP Option 30 to pass through unmodified. Many commercial routers replace unknown TCP Options with NOOP data by default. Please check with your vendor’s documentation to learn how to enable this. Most consumers with a typical home network do not need to or their routers do not allow them to enable MPTCP support.