4. motivation
• Adds Redundancy and Persistence
• Connection stays up when one link fails
• Reduces Congestion
• Ability to steer traffic away from
congested links
• Increases Efficiency
• Takes advantage of additional
interfaces, parallel paths
5. what
• Multipath TCP is an evolution of TCP
that can effectively use multiple paths
within a single transport connection
• RFC6824
• 30 (decimal) in the TCP kind field
6. features
• Supports unmodified network and
applications
• Copes with NATs on the path
• Defensive fall back to normal TCP
(strictly better than normal TCP)
7. how
• Replaces the lower-level socket
implementations
• Three independent implementations
• Working linux kernel implementation
• iPhones currently use MPTCP for Siri
connections
8. why not SCTP?
• Does not support middle boxes
• Requires application changes
14. data transfer
• 64-bit data sequence number (DSN)
to number all data sent over the
MPTCP connection
• Each subflow has its own 32-bit
sequence number space
15. data transfer
• All subflows share the same receive
buffer and advertise the same receive
window.
• Two level of ACKs, regular ACKs on
each subflow and connection-level
ACKs for the data sequence space
16. data transfer
• Initial sequence number is generated
from the key (deterministic, but
random).
• ISDN-A = H(Key-A)[:64]
• Receiver can ensure no gaps in
sequence space at the start of the
connection
17. path priorities
• Hosts can indicate whether they wish
a subflow to be used as a regular or
backup path
• A backup path is only used if there
are no regular paths available.
• Final bit of the MP_JOIN option
18. security
considerations
• Time-Shifted Hijacking Attacks become
harder
• Flooding attacks still have a stateless
solution
• Possibility of using other crypto algorithms
in the future
• Security of MTCP is “no worse” than regular
TCP
19. Conclusion
• MPTCP is strictly better than TCP*
* this claim is totally implementation dependent