Professional Documents
Culture Documents
3
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
Problems with existing TCP
4
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
XCP Protocol Rationale
Generalization of ECN
In place of single bit congestion indication, routers
inform senders about the degree of congestion
As feedback is imprecise
Increase policy must be conservative
Decrease policy must be aggressive
Distinguish error losses from congestion losses
Good for wireless links
5
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
XCP Protocol Rationale cont
7
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
How Does an XCP Router
Compute the Feedback?
Efficiency Controller Fairness Controller
Goal: Matches input traffic to link Goal: Divides between flows to
capacity & drains the queue converge to fairness
Algorithm: Algorithm:
Aggregate traffic changes by If > 0 Divide equally
between flows
So, = davg SpareBW - If < 0 Divide between flows
.PersistentQueueSize proportionally to their current rates
Need to estimate number of flowsN
8
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
More on Congestion Controller
= *RTTavg *SpareBW - * Queue_Size
Aggregate feedback is proportional to S (i.e. Spare BW)
(difference between link capacity and input traffic rate )
S>0 (positive feedback)
S<0 (Negative feedback)
9
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
Summary: Congestion Control
TCP alternatives
TCP being used in different ways
Routers
FIFO, drop-tail interacts poorly with TCP
Various schemes to desynchronize flows and control loss
rate (eg. RED)
Fair-queuing
Clean resource allocation to flows
Complex packet classification and scheduling
XCP
Coarse-grain fairness
Carrying packet state can reduce complexity
10
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
Next
11
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Problems with TCP
Requirements
Transparent to applications
Work over existing IP Network
14
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP vs. Multiple TCP
Connections
Multiple TCP Connections
Changes in applications are required to open multiple
TCP connections
One congested TCP connection can affect overall
performance
MPTCP
Multiple sub-flows of a single TCP connection are
opened
No changes required at application level
Sub-flows are transparent to the applications
Depending on the congestion being faced by the packets on
different path, we could decide path (i.e. sub-flow) on which
more data would be send
15
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP Design Goals
Improve Throughput
Improve Resilience
By permitting segments to be sent and re-sent on any of the
available paths
Application Compatibility
Network Compatibility
Should be capable of supporting all middle-boxes
Compatibility/Fairness with Single-Path TCP
The impact of MPTCP on other Single-Path TCP on shared
bottleneck link should not be more than that of Single-Path TCP
Security Issue
Opening of new sub-flow on the ongoing connection should be in a
secure manner.
16
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Compatibility with Middle
Boxes
19
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP Buffers
Two options
Separate receive buffer for each of the sub-flow
Only one receive buffer at connection level
21
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP: Architecture
22
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP: Architecture
23
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP Layer Functionality
Path Management
Path Management includes detecting and using
multiple paths between two hosts.
Packet Scheduling
Packet Scheduler breaks byte stream received
from the application into segments to be
transmitted on one of the available sub-flows.
Also responsible for connection-level re-ordering
on receipt of packets from the TCP sub-flows.
24
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP Layer Functionality
25
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP Layer Functionality
Congestion Control
The congestion controller coordinates congestion
across the sub-flows
26
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Data Sequence Mapping
Source: http://deliveryimages.acm.org/10.1145/2580000/2578901/figs/f2.jpg
28
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Adding a SubFlow
Source: http://deliveryimages.acm.org/10.1145/2580000/2578901/figs/f2.jpg
29
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Open Research Problems
31
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
Thank You !
32
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus