Multipath Networking at Transport Layer
Babil (Golam Sarwar), Roksana Boreli (NICTA)
Emmanuel Lochin (ISAE)
• New generation devices with multiple interfaces: e.g.
iPhone, Android, …
– Various technologies e.g. WiMAX, WiFi, 3G, ...
• User has various outgoing interfaces with various
technologies
• How can we take benefit of this multiple connectivity in a
Web2.0 and HTML5 context?
• Idea: using multipath protocol
– MPTCP (Multipath TCP)
– CMT-SCTP (Concurrent Multipath SCTP)
– And many others in many layers
• Extending capabilities of MP protocols with:
– Path selection
– Dynamic CC selection
– Selectable reliability
• Switch between various reliability flavours and levels – ARQ, FEC, selective retransmission, …
• Objective: enhancing Quality of Experience (QoE)
• How to make the best use of availability of several
interfaces at a time to improve user’s QoE in terms of:
• Good-put (application throughput) • Delivery delay
• Delivery ratio
• Our preferred protocol: “CMT-SCTP”
– Provides data simultaneous data transmission over multiple paths
– Partial Reliable transmission
– Message oriented transmission
• We propose a combination of:
– Information collection element
• From the network (e.g. RTT, loss …)
• From the user (e.g. data type, desired reliability, CC …)
– Decision Making element
– Execution element
• Decision Making could be based on:
– Path characteristics
– Object type
– Congestion Control of preference
– Desired reliability
– Price user is willing to pay
– Battery consumption
– Security
Block Representation of the Problem
Path Selection Interface
Selection OptionalOptionalOptionalOptional
DE DE DE DE DE DE DE DE Interfaces Interfaces Interfaces Interfaces A va il a b le A va il a b le A va il a b le A va il a b le In te rf a ce s In te rf a ce s In te rf a ce s In te rf a ce s C o s t (E u ro s ) C o s t (E u ro s ) C o s t (E u ro s ) C o s t (E u ro s ) A va il a b le E 2 E p a th s A va il a b le E 2 E p a th s A va il a b le E 2 E p a th s A va il a b le E 2 E p a th s th e ir c h a ra ct e ri st ic s th e ir c h a ra ct e ri st ic s th e ir c h a ra ct e ri st ic s th e ir c h a ra ct e ri st ic s QoE QoE QoE QoE Types of Types of Types of Types of data objects data objectsdata objects data objects Path Setup S e t P a th F o r e a ch d a ta EE EE EE EE IE IEIE IE IEIEIEIE IEIEIEIE IEIEIEIE IEIEIEIE Command CommandCommand Command Data Data Data Data
IE = Information Collection Entity
DE = Decision Making Entity
EE = Execution Entity
• Model of packet scheduling mechanism present inside MP
Protocols (SCTP for instance)
– Objective: to model packets scheduling at the sender side and
expectation of the windows
• How to assess the correct parameters?
• Simulations expected to infer such models
– To cross-check models and results
Simple Multipath Scenario
Path 1 (p1) Path 2 (p2) Interface0 Interface1 Host A(e.g. Webserver) (e.g. Firefox)Host B
Interface0
Interface1
If either of host A or B is multi-homed, they can benefit from multipath data delivery.
• About SCTP features:
• TCP is byte-stream oriented, while SCTP is message oriented
• TCP has head-of-line-blocking, SCTP does not
• SCTP provides multi-homing, TCP does not
• Path (physical)
• Flow, Sub-flow (logical)
• Stream (logical)
Byte-stream vs. Message Oriented Data
d1 d2 d1+d2 Byte-stream Transmission (TCP) Send Data Send Data Send DataSend Data ---- Write()Write()Write()Write() Receive Data Receive Data Receive Data Receive Data ---- Read()Read()Read()Read()
Data remains sequential but boundaries may not be maintained.
d1
d2
Message Based Transmission (SCTP, UDP)
Data remains sequential and strict boundaries are maintained.
d1
• About SCTP features:
• TCP is byte-stream oriented, while SCTP is message oriented
• TCP has head-of-line-blocking, SCTP does not
• SCTP provides multi-homing, TCP does not
• Path (physical)
• Flow, Sub-flow (logical)
• Stream (logical)
Flow, Sub-flows and Streams in Multipath
Path 1 (p1) Path 2 (p2) Interface0 Interface1 Host A(e.g. Webserver) (e.g. Firefox)Host B
Interface0 Interface1 Physical Representation of Data Transmission Logical Representation of Data Transmission.
On the benefit of multi-stream/flow
Traditional HTML5 Page Traditional HTML5 PageTraditional HTML5 Page Traditional HTML5 Page
Most common HTML5 contents are:
1. Text 2. Image 3. Audio 4. Video
Traditional HTML5 Data Delivery Traditional HTML5 Data DeliveryTraditional HTML5 Data Delivery Traditional HTML5 Data Delivery
INDEX GET IMG SND VID TXT Time Bytes t0 t1 t2 t3 t4 t5 t6
Individual text, image, video and audio data are transmitted in individual packets using a single
Proposed Multipath Data Transmission Scheme
Traditional HTML5 Data Delivery
INDEX GET SND VID TXT Time Bytes t0 t1 t2 t3 t4 t5 t6
Individual text, image, video and audio data are transmitted in individual packets using a single
transmission path at a time.
Proposed Multipath HTML5 Data Delivery
INDEX
GET Time
Bytes
t0 t1 t2 t3 t4 t5 t6
Multiplexed text, image, video and audio data are transmitted within
single packets using a multiple transmission paths at a time.
IMG
Over Path 2 Over Path 1
Over Path 2 Over Path 1
• Proof of concept with illustrative simulations
• Measurements scenario (TBD)
• Analytical models of the data scheduling between sender’s
windows
– Finite state machine as an entry point for Model Checking
– State diagrams of data exchange
• Allows to use Formal Method (Advanced UML) in order to obtain a “proof of protocol” and to better model
– Use of Dynamic Weighted Fair Queuing (WFQ)
(based on RTT, loss)• Implementation in Linux/FreeBSD
• NS-2 simulations of MP protocols
• Preliminary measurements
Current Progress
Figure: Figure:Figure: Figure: NS-2 simulation of reliable and ordered delivery of a single objectover 2 paths using CMT-SCTP.