Title: Improving TCP over Wireless Environments using Cross Layer Feedback
1Improving TCP over Wireless EnvironmentsusingCr
oss Layer Feedback
- Vijay T. Raisinghani (Tata Infotech KReSIT, IIT
Bombay) - Ajay Kr. Singh (CSE, IIT Bombay)
- Prof. Sridhar Iyer (KReSIT, IIT Bombay)
- rvijay_at_it, aksingh_at_cse, sri_at_it.iitb.ac.in
http//www.cse.iitb.ac.in/tirg
http//www.it.iitb.ac.in
2Typical Scenario
- FH Fixed Host
- MH Mobile Host
- BS Base Station (gateway)
3Mobile Wireless Networks
- MWN characteristics
- High bit error rate of wireless channel
- Mobility induced disconnections
- TCP characteristics
- End-to-end reliability
- Dynamically adapts sending rate based on network
congestion (congestion window) and receiver
buffer (advertised window) - Assumes all packet losses due to congestion
4TCP over wireless networks
- On packet loss
- TCP assumes network congestion
- reduces throughput
- In wireless networks
- many packet losses are due to bit errors,
mobility - TCPs congestion assumption fails
- reduction in send window inappropriate
5Optimizing TCP for MWN
- FH Fixed Host
- MH Mobile Host
- BS Base Station (gateway)
6Optimizing TCP for MWN
- Several approaches that focus on mitigating
- Adverse effect of wireless channel
- Mobility induced disconnections
- Any approach involves one or more of
- Modification to TCP stack at the Fixed Host (FH)
- Per-connection support at the Base Station (BS)
- Modification to TCP stack at Mobile Host (MH)
- Typically assume TCP sender at the FH
7Our focus
- Modification to TCP stack at MH only
- Optimizing TCP to mitigate effect of mobility
induced disconnections - Focus on two-way data transfer
- TCP sender at Mobile Host (MH) and/or
- TCP sender at Fixed Host (FH)
- Approach cross-layer feedback
8Cross Layer Feedback Motivation
- Layered protocol stack design is good software
engineering - Strictly layered stacks do not perform well over
wireless networks - network conditions are highly variable
- mobile nodes are resource poor
- Several assumptions from fixed wired networks do
not hold for wireless
9Observations
- Cross layer information can help improve
performance over wireless networks - Upper to lower layers
- TCP timer information
- application QoS requirements
- user feedback
- Lower to upper layers
- link characteristics
- network connectivity status
10Cross Layer Feedback Some Existing Approaches
- TCP QoS information to adapt link layer
retransmissions (Chiasserini, Meo. IEEE Globecom,
2001) - TCP fast retransmit (Caceres, Iftode. IEEE JSAC
95) - Layer2 info to MobileIP for IP handoff (Wu, et
al. MONET, 2001 ) - No approach employs user inputs
11User feedback
- User feedback to protocol stack could be
- Impending disconnection information
- Dynamic changes in application priorities
- For example In view of impending disconnection,
an ongoing FTP may become more important than an
ongoing video conference contrary to default
system priorities - System can avoid performance degradation
- mapping user input to protocol specific actions
12Our approach for TCP optimization
- Receiver Window Control
- Based on user feedback idea
- User indicates application priorities
- System maps priorities to TCP receiver window
control - Retransmit Timer Control
- Based on network layer feedback
- Network indicates connectivity status
- System appropriately modifies TCP retransmission
mechanism
13BackgroundTCP receiver window
- Reflects receivers available buffer through
advertised window (awnd) in ACKs - Optimum awnd bandwidthdelay (bdp) to fill pipe
and maximize sender throughput - awnd lt bdp decreases sender throughput
- Each application on MH may require different
awnd, according to bdp
14Receiver Window Control (RWC)
- Exploits idea Sender throughput decreases as
awnd lt bdp - Higher awnd for high priority applications
- Restrict awnd for low priority applications
- Assume ?awnd is a fixed resource
- (Re)distribute ?awnd according to priority
15RWC details
Advertised window before user feedback
- Following condition holds
Number of Applications
Advertised window after user feedback
Bandwidth to MH on bottleneck link (constant)
rtt of all applications on MH (constant)
16RWC details
- User changes priority of application k from xi to
xi - Change awnd for all applications
17RWC example
- A 30, x1 1, x2 1, x3 1
- Thus, awnd 10 for all applications
- After feedback, x12 (x2x31)
- awnd according to relative application priority
18RWC simulations
19RWC results
- A32 packets
- x1x21
- awnd1awnd216
20RWC results
- A32
- x12 x21
- awnd211 awnd121
- 31 change
21RWC results
- 0.1 loss
- No RWC
- Thruput variations due to random losses
- A32 packets
- x1x21
- awnd1awnd216
22RWC results
- 0.1 loss
- Thruput still increases for higher priority
application
23Our approach
- Receiver Window Control
- Based on user feedback idea
- User indicates application priorities
- System maps priorities to TCP receiver window
control - Retransmit Timer Control
- Based on network layer feedback
- Network indicates connectivity status
- System appropriately modifies TCP retransmission
mechanism
24Send Window open Disconn
25MH to FH data transfer
- Upon disconnection event
- Set ConnectionStatus Disconnected
- Set DisconnectionOccurred True
- If Sending Window is Open
- Stop sending
- Cancel RTX (retransmit timer)
- If Sending Window is Closed
- Wait for RTO (expiry of RTX timer)
26Send window closed Disconn
Case 2 State Send window closed and waiting for
acks at disconnection event. Action retransmit
the last unacked packet, with ssthresh set to
window reached till disconnection, at
reconnection.
27MH to FH data transfer (contd)
- Upon connection event
- Set ConnectionStatus Connected
- If Sending Window is Open
- Set RTX
- Resume transmission
- If Sending Window is Closed
- Wait for RTO
28Send window closed ack wait
29MH to FH data transfer (contd)
- At RTO (expiry of retransmit timer)
- If ConnectionStatus Disconnected
- Set ssthresh cwnd
- Set cwnd 1
- If ConnectionStatus Connected and
DisconnectionOccurred True - Retransmit unACKed packets without modifying
ssthresh or cwnd - Set DisconnectionOccurred False
30MH actions TCP sender at FH
- MH delays the ACK of last two bytes (d msec)
- Upon disconnection event
- Update network connectivity flags
- Upon connection event
- Send ZWA (Zero Window Advertised) with ACK for
second last byte - Send FWA (Full Window Advertised) with ACK for
last byte - FH resumes transmission without reducing cwnd
31Simulations
- Implemented in ns-2
- Augment mobile IP for connectivity information
32MH to FH data transfer (RTT 5ms)
33MH to FH data transfer(RTT700ms)
34FH to MH data transfer(RTT 5ms)
35Conclusion
- Our approach to optimizing TCP in MWN
- Mitigates effect of mobility induced
disconnections - Requires modification to TCP stack at MH only
- Uses lower layer feedback for connectivity status
- Uses upper layer feedback for dynamic priorities
- Novelty User in the loop
36Future Work
- Explore other aspects of user feedback
- Identify other scenarios where cross layer
feedback may be useful - ARP in mobile ad hoc networks
- Focus on devising new mechanisms for implementing
cross layer feedback - Vertical signaling stack
37THANKS!
38Summary
- Cross Layer Feedback is useful in wireless
networks - New approach User feedback can be exploited
- Receiver window control one method of exploiting
user feedback - RWC preliminary simulations show promising results
39Future Work
- Focus on exploring new mechanisms for cross layer
feedback - Explore other aspects of user feedback
40RWC for varying rtt
41RWC fairness
- Packet arrivals Poisson for each flow
- Properties
?1
?1
?
?
?2
?2
...
...
Bottleneck link
?n
?n
42RWC fairness (contd.)
?1
?1
?2
?2
?RWC
?RWC
?3
?3
?others
?others