Upload
uri
View
22
Download
0
Embed Size (px)
DESCRIPTION
LT-TCP: End-to-End Framework to Improve TCP Performance over Networks with Lossy Channels. Omesh Tickoo, Vijay Subramanian, Shiv Kalyanaraman (Rensselaer Polytechnic Institute) K. K. Ramakrishnan (AT&T). Overall Motivation. TCP response to errors and congestion is the same: - PowerPoint PPT Presentation
Citation preview
Networks Lab, Rensselaer Polytechnic Institute1
LT-TCP: End-to-End Framework to Improve TCP Performance over Networks with Lossy
Channels
Omesh Tickoo, Vijay Subramanian, Shiv Kalyanaraman (Rensselaer Polytechnic Institute)
K. K. Ramakrishnan (AT&T)
Networks Lab, Rensselaer Polytechnic Institute2
Overall Motivation
TCP response to errors and congestion is the same: drop the window, and thus reduce load on the network In the worst case, timeout when particular sequence of packets get lost
(retransmits, entire window) TCP was designed for congestion, loss rate in the 1-2% max. range.
TCP suffers significant timeout penalties with erasure rates > 5%. Wireless channels becoming more pervasive
With mesh networks (infrastructure or community) it is likely that more than the last hop will be wireless.
Wireless links: individual links can experience loss that can be high (even 10-15%) in
transient situations, until power and link rate adjustments kick in interference can also result in high loss rates. E.g., ad-hoc networks, Mesh networks.
Networks Lab, Rensselaer Polytechnic Institute3
Approach
Tools available to us: Method of getting congestion indication that is separate from packet
loss due to errors: Explicit Congestion Notification (ECN) Use error recovery methods beyond retransmission and timeouts to
overcome packet loss, so that TCP’s performance is retained. Use FEC on an end-end basis:
Dynamic knowledge of the loss information can be exploited by the end-system.
Track short term loss rates. Protect data by using FEC proactively and reactively.
FEC can work in a coordinated fashion with TCP’s window mechanisms to optimize the usage of FEC within a window (which is not available at the link level).
Networks Lab, Rensselaer Polytechnic Institute4
GoalsWe pose the following questions..
Dynamic Range: Can we extend the dynamic range of TCP into high loss regimes? Can TCP perform close to the theoretical capacity achievable under
high loss rates? Congestion Response:
How should TCP respond to notifications due to congestion.. … but not respond to packet erasures that do not signal congestion?
Mix of Reliability Mechanisms: What mechanisms should be used to extend the operating point of TCP
into loss rates from 0% - 50 % packet loss rate? How can Forward Error Correction (FEC) help? How should the FEC be split between sending it proactively (insuring
the data in anticipation of loss) and reactively (sending FEC in response to a loss)?
Timeout Avoidance: Timeouts: Useful as a fall-back mechanism but wasteful otherwise
especially under high loss rates. How can we add mechanisms to minimize timeouts?
Networks Lab, Rensselaer Polytechnic Institute5
SENDER
RECEIVER
Available Capacity
Loss Feedback Through Acknowledgements
Capacity Used
TCP uses Loss Feedback to Estimate Available Capacity
Capacity Used
Erasure Recovery/ Loss Estimation
Adaptive MSS/ Proactive and Reactive FEC
LT-TCP: Adaptive Mechanisms to Reinstate Performance
X X
X – Packet Erasure
Networks Lab, Rensselaer Polytechnic Institute6
Building Blocks… ECN-Only: We infer congestion solely from ECN markings. Window is
cut in response to ECN signals: which means that hosts/routers have to be ECN-capable. Timeouts: The response to a timeout is the same as before.
Window Granulation and Adaptive MSS: We ensure that the window always has at least G segments at all times. Window size in bytes initially is the same as normal SACK TCP. Initial segment size is small to accommodate G segments. Packet size is continually so that we have at least G segments. Once we
have G segments, packet size increases with window size. Loss Estimation: The receiver continually tracks the loss rate and provides
a running estimate of perceived loss back to the TCP sender through ACKs. An adaptive EWMA approach to estimating loss is used.
Networks Lab, Rensselaer Polytechnic Institute7
Building Blocks …
Proactive FEC: TCP sender sends data in blocks where the block contains K data segments and R FEC packets. The amount of FEC protection (K) is determined by the current loss estimate. Proactive FEC based upon estimate of per-window loss rate (Adaptive)
Reactive FEC: Upon receipt of 1 or 2 dupacks, Reactive FEC packets are sent based on the following criteria. Number of Proactive FEC packets already sent. Number of holes still left in the decoding block. Loss rate currently estimated. Reactive FEC to complement retransmissions
Networks Lab, Rensselaer Polytechnic Institute8
Proactive and Reactive FEC in Action..
Networks Lab, Rensselaer Polytechnic Institute9
Packet Erasure Rate EWMA Estimator: E = *Elatest + (1-)*E
Estimate is fairly accurate within small erasure rate variations
Overestimate after spikes : = Elatest/ (Elatest+ E)
Trade off :Over-estimation leads to overhead.
Overestimate
Inefficiency Period
Block Behavior: Per-Block Loss Estimator for P-FEC
Estimation is done at receiver and fed-back to the sender
Networks Lab, Rensselaer Polytechnic Institute10
Loss Tracking at Sender
Sender can quickly and accurately track the loss rate based on feedback from the receiver.
0 50 100 150 200 250 300 350 400
0% 0% 20% 20% 30% 0% 20% 10%
(Time)
Packet Error Rate
Networks Lab, Rensselaer Polytechnic Institute11
Reed-Solomon FEC: RS(N,K)
Data = K
FEC (N-K)
Block Size (N)
RS(N,K) >= K of Nreceived
Lossy Network
Recover K data packets!
Recovery possible if we receive at least K packets out of N
Networks Lab, Rensselaer Polytechnic Institute12
5
4
3
2
1
4 3 2 1
Complete Window Lost!
Win
dow
XXXXTransmission Loss
Timout Cause #1: Burst Errors + Large MSS
Networks Lab, Rensselaer Polytechnic Institute13
1
Win
dow
XXXXTransmission Loss
234567
7 6 5 4 3 2 1
2 3 8
ACK Stream
6 5 4Rexmins
3
Window Granulation Reduces the Risk of Losing the Complete Window
Networks Lab, Rensselaer Polytechnic Institute14
1 XXTransmission Loss
6 5 4 3 2 1
Win
dow
2
3
4
5
6
2 ACK Stream3
DUPACK-1
Timeout because of insufficient dupacks
3
Timout Cause #2: Insufficient Dupacks => SACK not triggered
X
Networks Lab, Rensselaer Polytechnic Institute15
1 XXTransmission Loss
P-FEC P-FEC 4 3 2 1
Win
dow
2
3
4
P-FEC
P-FEC
Receiver FEC Decoder
P-FEC P-FEC 2 1+ + +
4 3 2 1
Proactive FEC
Recover data packets…
Networks Lab, Rensselaer Polytechnic Institute16
3
Win
dow
Transmission Loss
XX
6 5 4 2 1
2
1
3
4
5
6
2 ACK Stream2
DUPACK3
22
DUPACK1 DUPACK2
2Retransmission
X Transmission Loss
ReXMITS ESPECIALLY vulnerable!
Timeout Cause #3: Loss of Retransmissions
Networks Lab, Rensselaer Polytechnic Institute17
1 XX
Transmission Loss
6 5 4 3 2 1
Win
dow
2
3
4
5
6
2 ACK Stream6
DUPACK3
54
DUPACK1 DUPACK2
R-FECR-FEC
Receiver FEC DecoderR-FEC R-FEC 4 1+ + +
4 3 2 1
Reactive FEC: Complements Rexmits
Selective Acknowledgements
Networks Lab, Rensselaer Polytechnic Institute18
Loss Estimate
FEC Computation
(n,k)Loss Estimation
MSS Adaptation
Granulated Window Size
Window Size
ApplicationData
P-FEC
Data
Window
Putting it Together….
Networks Lab, Rensselaer Polytechnic Institute19
Simulation Configuration
Networks Lab, Rensselaer Polytechnic Institute20
Performance ResultsSACK (Multiple Sources)
LT-TCP (Multiple Sources)
Networks Lab, Rensselaer Polytechnic Institute21
Contribution of Components (20% PER case (Single Source)
LT-TCP is able toreduce timeouts drasticallykeep the queue non-empty maximizing throughput and capacity utilization.minimize use of FEC to level needed
Networks Lab, Rensselaer Polytechnic Institute22
Comparison w/ Link Layer FEC, HARQ
LL FEC: FEC based upon average PERHARQ: 10% FEC; ARQ persistence = 3LT-TCP: end-to-end
Networks Lab, Rensselaer Polytechnic Institute23
Summary
TCP performance over wireless with residual erasure rates 0-50% (short- or long-term).
E2E FEC: Granulation ensures better flow of ACKs especially in small window
regime. Adaptive FEC (proactive and reactive) can protect critical packets
appropriately Adaptive => No overhead when there is no loss.
ECN used to distinguish congestion from loss. Near-optimal performance for wide range: from low to high
loss rates. Future Work:
Optimal division of reliability functions between PHY,MAC, E2E Study of interaction between LT-TCP and link-layer schemes.
Networks Lab, Rensselaer Polytechnic Institute24
Thanks!
Researchers:
Omesh Tickoo: [email protected] Subramanian: [email protected] Kalyanaraman: [email protected]. Ramakrishnan, [email protected]
Networks Lab, Rensselaer Polytechnic Institute25
Building Block Behavior: Adaptive MSS (Window Granulation)
Adaptive MSS behavior.Congestion window (in segments) kept above G = 10MSS increases when CWND grows, MSS shrinks when CWND shrinks to maintain G
Networks Lab, Rensselaer Polytechnic Institute26
Shortened Reed Solomon FEC (per-Window)
Proactive FEC (F)
Data = DWindow (W)
Reactive FEC (R)
000000
Zeros (Z)
Block Size (N)
K = d + z
d
z
RS(N,K)RS(N,K)
Networks Lab, Rensselaer Polytechnic Institute27
Performance Results..
LT-TCP (Single Source)
At 50 % error rate, timeouts increase drastically because.. Few Proactive FEC packets received.Proactive FEC cannot counter variation in error patterns.Reactive FEC is insufficient in this case to avoid timeouts.This effect can be mitigated by increasing FEC protection.
Drop in Performance from 40 to 50 %
Networks Lab, Rensselaer Polytechnic Institute28
Changes w.r.t. submitted paper
FEC is now done on a block-by-block basis. Proactive protection is determined solely by the loss estimate. (no arbitrary
constants) Reactive FEC packets may be wasted if they belong to the wrong block.
Conditions under which Reactive FEC packets are sent are restricted (discussed earlier).
Window granulation is done using the following rule “Send as big a packet as possible while maintaining granularity”
Throughput and goodput are measured at the receiver for better accuracy. On partial dupacks, we make sure that retransmission are not duplicated.
We send new TCP data instead. Loss tracking is now done whenever we receive an ACK. Loss estimation at receiver has changed to accommodate block-by-block
decoding.