RCP (Reception Control Protocol)
Download
Report
Transcript RCP (Reception Control Protocol)
RCP
(Reception Control Protocol)
A Receiver-Centric Transport Protocol for Mobile Hosts with
heterogeneous Wireless Interfaces
MOBICOM 2003
H. Hsieh, K. Kim, Y. Zhu, and R. Sivakumar, Georgia Institute of Technology
Presented for ECE299.02 by Thilee Subramaniam
1
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
2
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
3
What is the Problem?
Wired: low BER
Wireless: high BER (channel error, Fading,
Handoffs)
TCP
was originally proposed for wired networks
assumes losses are due to congestion
corrective measures address congestion only!
TCP over wireless: does not perform well
TCP over wireless: can it be improved?
4
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
5
TCP Recap
sender
End-to-end argument
cwnd
Cater to the end-point
specific requirements
1
2
Flow Control
Congestion Control
3
4
Reliable in-order delivery
5
6
7
8
Various flavors of TCP
receiver
data packet
ACK
6
Typical wireless setup
FH: Fixed Host
BS: Base Station
MH: Mobile Host
Assumption: Most data flow is from FH to MH
7
TCP and wireless networks
Sender does Congestion control
Sender reacts to feedback from receiver
Assumption: any loss is due to congestion
BS <-> MH connection highly error prone
MH to FH feedback takes time and
resources
Sender ends up sending less data!
Reduces network performance. Not Good!!
8
Attempts for Wireless friendly TCP
Snoop
Link-layer of BS buffers un-ACKed data and DupACKs
Retransmit Data, Suppress DupACK from MH to FH
Prevent FH from decreasing CWND drastically
Issues: IPSec incompatibility, mess with RTT estimate on
FH, requires change in BS which is difficult
WTCP
Do local recovery like Snoop
BS adds timestamp to ACKs from MH to FH, informing FH
to correctly estimate RTT
Issues: require change in BS, assume all losses are due to
errors while congestion is possible!
9
Attempts for Wireless friendly TCP..
ELN (Explicit Loss Notification)
BS sets an ELN bit in DupACK header
FH does not decrease CWND for DupACK with ELN set
Issue: Still need BS change, consumes resources for feedback
Freeze-TCP
Moves intelligence to MH
Primary focus: handoff; FH still does Congestion Control
Syndrome
BS simply adds the number of packets sent to MH
MH can differentiate W loss and WL loss
Handoff is still a problem
10
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
11
Motivation for Receiver-Centric Protocol
Why does Wireless TCP under-perform?
Sender over-reacts by reducing CWND when not necessary
Why cannot Receiver provide more information?
Magnitude
Cost
Latency
The closer the problem solver is to the problem, the easier it
is to solve
Client specific congestion control mechanisms
Sender cannot provide custom mechanisms
Generic mechanism cannot make everyone happy
12
More Reasons
Multi-homed Devices
(Notebook with Wifi, WIMAX, and 3G cards)
Technology specific congestion control schemes
may be required.
Receiver-centric more useful
Users can move from one technology coverage-area
to another
Receiver-centric transport protocol can better handle
handoffs
13
Even More Reasons..
Power issue with mobile devices
Limited Battery
Wireless Transmission/Reception consume high
% energy
Wireless errors happen in bursts
Need to cut down transmission
Costly to inform the sender to cut down CWND
Receiver dropping packets: affects throughput
14
Therefore…
More appropriate to let receiver handle
How Much data?
Which data?
15
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
16
TCP: Connection and Data transfer
SYN
ISN=X
1
SYN
2
ISN=Y ACK=X+1
3
DATA X+3
4
ACK=X+4
5
time
ACK=Y+1
17
RCP: Transposition of TCP
SYN
ISN=X
1
Sender
ACK=Y+1
3
REQ
4
DATA
5
time
SYN
2
ISN=Y ACK=X+1
Either party can
initiate connection
Receiver initiates
with transfer
Cumulative mode
Pull mode
Receiver
18
RCP: Flow Control
In TCP, receiver advertises its buffer size
Sender makes sure that sent data is limited by this
No need to advertise this in RCP
Buffer internally handled by receiver.
19
RCP: Congestion Control
TCP: CWND limits amount of unacknowledged data
RCP: CWND limits number of outstanding REQ
packets from receiver
Slow start, congestion avoidance, fast retransmit,
fast recovery etc. same as TCP
Receiver adjusts the CWND based on channel
conditions
Requested DATA arrives: increase CWND (AI)
Wireless error detected: sleep or set CWND=0 or ..
Wired link error detected: decrease CWND (MD)
20
RCP: Reliability
TCP:
Receiver performs re-sequencing
Sender ensures reliability
RCP:
Receiver has full control on data
Any loss recovery mechanism can be used that optimizes
the wireless environment
21
RCP: Is that all?
Extension: R2CP, the Radial RCP
Enables functionality gains in multi-homed systems
Abstracts a single interface to upper layers
22
More about R2CP
Receiver centric
Manages multiple RCP instances
Maintain state specific details of each RCP
Exports connection & reliability to upper
layers
Single connection
Multiple interfaces
Utilizes underlying RCP congestion control
Packet scheduling between different RCPs
23
R2CP: What can it do?
New functionality gains
Seamless handoffs between interfaces
Server migration
Bandwidth aggregation
24
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
25
Sounds good. Will it work?
What to look for?
TCP friendly?
Loss recovery?
Scalable Congestion control?
Power Management?
Ns-2 simulator
20 data flows, reverse flows, varying RCP:TCP
26
RCP: Performance (1)
TCP Friendliness: TCP Throughput same irrespective of RCP:TCP
27
RCP: Performance (2)
TCP Friendliness: Throughput constant with reverse traffic
28
RCP: Performance (3)
Error recovery: With ELN, MH can determine exact cause of loss,
hence better throughput
29
RCP: Performance (4)
Power Management
Transmit=1.65W,Recv=1.4W, Sleep=0.045W
Vary channel condition using a statistical model (good &
bad states)
Check-(Sleep/Wakeup)-(transmit/receive) cycle
30
R2CP: Performance
31
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
32
So, what do we think about RCP & R2CP?
Sound arguments for receiver-centric transport
Hybrid RCP-TCP protocol (same binary) for
upstream traffic
Error recovery still needs BS change
Unanswered questions
How can sender guarantee fairness to multiple users?
How to address REQ attacks?
How bad it will be to the NW if the receiver sends REQ
and, before data is delivered, goes to sleep on seeing
bad channel?
33
OUTLINE of Presentation
Problem Statement
Quick TCP Review
Case for RCP
Protocol Details
Performance
Discussion
Q&A
34