This is the lecture notes that I took when attending the graduate course CS204: Computer Networks in UC Riverside.
One device could have several connections to the same server. For example, the phone needs to download the data from the internet, and at the same time, it may upload the data to the same server. In this way, multiple TCP connections is necessary.
TCP protocol implements MPTCP by adding the option field during the conneciton initialization period. To be specific, the host which objectively opens the connection will add the field
MPTCP-Capable to notify the server that it supports MPTCP. And when the hosts want to open another connection, the field
MPTCP JOIN will be added to the TCP packet.
It should be noticed that some middle boxes may not support MPTCP, and the middleboxes could remove the specific fields that associated with the MPTCP.