You are on page 1of 32

Advanced Computer

Networks (CS ZG525)


BITS Pilani Virendra S Shekhawat
Department of Computer Science and Information Systems
Pilani Campus
BITS Pilani
Pilani Campus

First Semester 2015-2016


Lecture-5 [23rd Aug 2015]
Topics to be Discussed

Router Congestion Control


Explicit Congestion Control Protocol [CH-8]
http://www.isi.edu/isi-xcp/
Assigned reading
Congestion Control for High Bandwidth-Delay Product
Networks by D Katabi

3
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
Problems with existing TCP

Becomes inefficient and prone to instability (regardless of


queuing scheme)
As per flow BW*latency increases
e.g. Optical links, satellite links
Additive increase/Slow start policy limits its ability to
acquire spare BW to one packet per RTT
e.g. short TCP flows
Fairness might be an issue if more flows traverse satellite
links or wireless links
Users with different RTTs compete for the same bottleneck link

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

Decouples congestion (utilization) control from


fairness control
Congestion: Adjust aggressiveness according to the
spare BW and the feedback delay
Fairness: Reclaims B/W from flows whose rate is
above their fair share and reallocates to other flows

No per flow information to keep at routers


Packets carry the congestion information
6
First Sem 2015-16 Advanced Computer Networks CS ZG525 BITS Pilani, Pilani Campus
Congestion Header in XCP

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

Looks at aggregate traffic & Looks at a flows state in


queue Congestion Header

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)

Aggregate feedback is proportional to persistent queue


length as well
Without this when S=0 then no feedback means queue will
not drain

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

MultiPath TCP (MPTCP) Protocol Design [9]


Essential Reading
How hard Can It Be? Designing and Implementing a
Deployable Multipath TCP by C Raiciu
Additional Reading
Multi-Path TCP by Christoph Paasch, 2014

11
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Problems with TCP

TCP is stuck with using the path given it by the


routing system.
The routing system is not aware of congestion.
TCP cant choose a better uncongested path.
Mobility with TCP
Ensure additional available connectivity before failing
current one
Reliability (Link failure or Link congested)
Routing protocols react very slow
12
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Solutions

Use more than one path


Utilize the redundancy of Internet
Avoid congestion at TCP level
Examples:
A smart phone can connect simultaneously to both
WiFi and 3G
A multi-homed server can stripe data from one
connection across both paths
Load balancing
Robustness
High Reliability
13
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Multi Path TCP (MPTCP)

Enables a transport connection to


simultaneously use multiple paths between
peers

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

Traditional Internet Architecture

Current Internet Architecture


17
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Important Design Issues
Sequence Numbering
Two level of sequence space: connection-level and
sub-flow level
It allows connection-level segmentation-reassembly
and retransmission of the same part of connection-
level sequence space on different sub-flow level
sequence space
Data Sequence Mapping is required to map
sequence number from sub-flow level to
connection-level
Three tuple Data (Data_seq number, Sub-flow_seq
number, Length)
18
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Reliability and Retransmission

In the case of retransmission, it must be possible


for a segment to be retransmitted on a different
sub-flow from that on which it was originally
sent.
Must provide acknowledgements at connection-level
as well as sub-flow level

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

Which approach is better?


MPTCP must use connection level receive buffer,
where segments are place until they are in order
To ensure the packet drop on one sub-flow should not
affects the throughput of the other sub-flow
20
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Security Threats

MPTCP initially starts as a TCP connection by


opening one sub-flow and later during the
course of communication further sub-flows
are opened
How to ensure that the two end hosts in a sub-
flow handshake are same as in original
connection?

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

To make MPTCP compatible with existing


applications and also to support middle-boxes,
it was decided to split transport layer for
MPTCP into two sub layers.
MPTCP sub layer
Sub flow layer

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

Sub flow Interface


Sub-flow interface takes segments from packet-
scheduler and transmits them over the specified
path.
On receipt of the packets, the sub-flow
components pass its reassembled data to the
packet-scheduler component for reassembly.

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

The congestion control decides to shift packets from


one sub-flow to other sub-flow

26
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Data Sequence Mapping

The data sequence mapping defines the mapping from


sub-flow sequence number to the connection-level data
sequence number
Ensures in order delivery to the application
The data sequence number is specified as the absolute
value, whereas the sub-flow sequence numbering is
relative.
Any benefit of this?
Yes, appear as continuous flow to middleboxes
Allow packet loss and acknowledgement to be attributed to
the correct subflow in the case of retransmission
27
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
MPTCP Initial Connection Setup

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

Reliability and Retransmissions


On what basis a decision is made to retransmit a segment on
a different sub-flow
Frequency of sending data sequence mapping signal
to determine how sub-flow data maps to the overall data
Basis for adding more sub-flows to a MPTCP connection
Short lived TCP connections can have impact on the
performance
Congestion Control Mechanism
Sub-flow level, Connection level
Throughput, Fairness, Stability etc.
30
First Sem 2015-16 Advanced Computer Networks CS G525 BITS Pilani, Pilani Campus
Next Class Topics

Congestion Control Design for MPTCP [CH-10]

Traffic Engineering with Traditional IP Routing


Protocols [CH-11]

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

You might also like