MULTIPATH TCP : FUTURE OF MULTIHOMING

 Introduction

TCP / IP communication is currently restricted to a single path per connection, yet multiple paths often exist between peers.The simultaneous use of  these multiple paths for a TCP / IP session would improve resource usage within the network and thus, improve user experience through higher throughput and improved resilience to network failure. Multipath  TCP (MPTCP) is an ongoing effort of the internet enguneering task force's (IETF)multiple TCP working group, that aimes at allowing a transmission control protocol TCP connection to use  multiple paths to maximize resource usage and increase redundancy.

Background / Need /Relevance of the topic

MPTCP  operates at the transport layer and aims to be transparent to  both higher and lower layers .It is a set of additional features on top of standard TCP.A multipath TCP connection privides a bidirectional bytestream between two hosts communicating like normal TCP and thus does not require any changes to the applications.However  multipath TCP enables the hosts to use diffrent paths with diffrent IP addresses to exchange packets belonging to the MPTCP connection.A multipath TCP connection appears like a normal TCP connection to an application.However, to the network layer each MPTCP subflow looks like a regular TCP flow whose segments carry a new TCP option type.Multipath TCP manages the creation, removal and utilization of these subflows to send data. The number of subflows that are managed within a Multipath TCP connection is not fixed and it can fluctuate during the lifetime of the Multipath TCP connection.The redundancy offered by Multipath TCP enables inverse multiplexing of resourses and thus increases TCP throughput to the sum of all available link-level channels instead of using a single one as required by plain TCP.Multipath TCP is backward compatible with plain TCP.

Multipath TCP is particularly useful in the context of wireless networks using both Wi-Fi and a mobile network is a typical use case.In addition to the gains in throughput from inverse multiplexing, link may be added or dropped as the user moves in or out of coverage without disrupting the end to end TCP connection.The problem of  link handover is thus slowed by abstraction in the transport layer without any special mechanisms at the network or link level.Handover functionality can then be implemented at the endpoints without requiring special functonality is the subnetwork- in accordance to the Internet's end-to-end principle.

Multipath TCP also brings performance benefits in datacenter environments.In contrast to Ethernet channel bonding using 802.3 ad link aggregation, Multipath TCP can balance a single TCP connection across multiple interfaces and reach very high throughput.

Literature Review 

Servers are often multi-homed to more than one Internet provider, datecenters provide multiple parallel paths between compute nodes and mobile hosts have multiple radios. Traditionally, it was the role of routing to take advantage of path diversity, but this has limits to responsiveness and scaling .To really gain both robustness and peformance advantages, we need transport protocols engineered to utilize multiple path.Multipath TCP is an attempt to extend the TCP protocol to perform this role.Multipath TCP stripes data from a single TCP connection across multiple subflows, each of which may take a diffrent path through the network. A linked congestion control mechanism controls how much data is sent  on each subflow, with the goal of explicitly  moving traffic off the more congested paths on to the less congested ones           

Details of the topic

It is evident that use of internet is increasing tremendously in all the facet of human lives. And, this has also increased the user's expectation from internet in terms of Quality of service (QoS), thoughput, reliability etc.. today's mobile devices are equiped with more than one network interface unlike conventional desktops. For example a laptop had interface for ethernet, Wi-Fi, and 3G/ 4G LTE-A. Therefore, the concept of using multiple interfaces/ internet connections to increase the throughput QoS is termed as multihoming. And, the mobile the devices with several active network interface are termed as multihoming devices. If one of the interfaces fails due to mobility of the devices for due any other reason, Connection will be transferred to another one. Thus, multihoming increases reliability in case of a network failure and enhances performence. In order to fulfull these requirment, modern internet mostly uses transmission control protocol ( TCP) as the transport layer protocol. It is apparent that TCP is connection oriented protocol that ensures connection management and reliability to application layer processes willing to exchange data over a network. But, popular transport layer protocol TCP is not designed to support multihoming features. Conventional TCP is single path, i.e. Once a path established, connection end points cannot be changed afterwards. For example, a mobile user  accessing internet using 3G connection in the absence of Wi-Fi moves in to his university campus having Wi-Fi network. Obviously, in this situation, user wants to switch inteface to Wi-Fi as it involves less cost and higher throughput. but, the existing internet connection has to be torn down in order to set up a new connection over new interface . because , conventional TCP doesn't permit the simultaneous access of it's existing network interfaces vize. 3G and Wi- Fi to achieve higher throughput. This is a serious limitation of TCP in context of today's multiple interface based multihoming devices. Another example is the usability of MPTCP in data centers were many servers are connected to each other via switches. between servers, ther is redundant topology ie  many paths are there between servers in data centers . The probability that any two servers will choose a same path to transmit data is non-negligible and it may degrade the throughput. therefore, servers are multihomed to get better redundancy and better throughput. The problems discussed so far may overcome with the introduction of the veriant of TCP called multi-path TCP abbreviated as MPTCP that allows un-interrupted service to the running applications even if an interface switches and allows the user to access all the available network interfaces in parallel .The good thing about MPTCP is that the applications unaware of the changes in the network and user achieves better quality of service, throughput, and reliability.