open issues on tcp for mobile computing ibrahim matta computer science, boston university vassilis...
Post on 20-Dec-2015
215 Views
Preview:
TRANSCRIPT
Open Issues on Open Issues on TCP for Mobile TCP for Mobile
ComputingComputingIbrahim MattaIbrahim Matta
Computer Science, Computer Science, Boston UniversityBoston UniversityVassilis TsaoussidisVassilis Tsaoussidis
Computer Science, Computer Science, Northeastern Northeastern UniversityUniversity
Technical Report, 2001Technical Report, 2001
Presented by Brad BurresPresented by Brad Burres
First things FirstFirst things First
SORRY! SORRY! This paper was interesting, but it This paper was interesting, but it
was longwas long Apparently picking another paper Apparently picking another paper
based solely on the author wasn’t a based solely on the author wasn’t a good idea!good idea!
AgendaAgenda
IntroductionIntroduction Review of TCP Review of TCP TCP problems in a wireless worldTCP problems in a wireless world Fixing TCP: Error DetectionFixing TCP: Error Detection TCP error recovery and performance TCP error recovery and performance
enhancementsenhancements TCP StrategyTCP Strategy ConclusionsConclusions
IntroductionIntroduction
Mobile networking is growing quicklyMobile networking is growing quickly Protocols were tuned the “wired” worldProtocols were tuned the “wired” world TCP is the most prevalent exampleTCP is the most prevalent example
Packet loss meant congestion (or total link Packet loss meant congestion (or total link failure)failure)
The only performance metric was The only performance metric was throughput throughput Assuming fairness, stability, etc.Assuming fairness, stability, etc.
TCP is insufficient for the wired/wireless TCP is insufficient for the wired/wireless world of today and tomorrowworld of today and tomorrow
What does TCP need?What does TCP need? TCP needs to not only detect an error, TCP needs to not only detect an error,
but to detect the but to detect the naturenature of an error of an error That is, detect the error characteristics of That is, detect the error characteristics of
the linkthe link
TCP needs have more flexible and robust TCP needs have more flexible and robust recovery mechanismsrecovery mechanisms
Awareness of the wireless power Awareness of the wireless power constraint – reduce a clients energy constraint – reduce a clients energy consumptionconsumption
Review of TCPReview of TCP
This is review for all of us, but I’m going This is review for all of us, but I’m going to hit a few key pointsto hit a few key points
TCP was designed with a few key goals:TCP was designed with a few key goals: Reliable TransmissionReliable Transmission Reasonable Fairness between flowsReasonable Fairness between flows The ability to quickly adapt to fluctuations in The ability to quickly adapt to fluctuations in
available bandwidthavailable bandwidth Mechanisms for congestion avoidance and Mechanisms for congestion avoidance and
error recoveryerror recovery
TCP Key ConceptsTCP Key Concepts TCP controls data transmissions through a TCP controls data transmissions through a
sliding windowsliding window
Error control consists of error detection Error control consists of error detection and then error recoveryand then error recovery
TCP detects errors by monitoring TCP detects errors by monitoring acknowledged data segments (if a timeout acknowledged data segments (if a timeout occurs, a packet was lost)occurs, a packet was lost)
Error recovery consists of two thingsError recovery consists of two things The retransmission of lost dataThe retransmission of lost data The reduction of the congestion window sizeThe reduction of the congestion window size
AIMD: Additive Increase Multiplicative DecreaseAIMD: Additive Increase Multiplicative Decrease
TCP Flavors of Congestion TCP Flavors of Congestion ControlControl
TCP Tahoe – basic TCP mechanisms (Slow TCP Tahoe – basic TCP mechanisms (Slow Start) but added the idea of Fast Start) but added the idea of Fast RetransmitRetransmit
TCP Reno – TCP Tahoe + Fast RecoveryTCP Reno – TCP Tahoe + Fast Recovery Retransmit the lost segment, and continue (after Retransmit the lost segment, and continue (after
reducing CWND by ½)reducing CWND by ½)
TCP Vegas – Totally different. Keep a RTT TCP Vegas – Totally different. Keep a RTT estimate, and use that to see if the channel estimate, and use that to see if the channel is being utilized (and hence to resize the is being utilized (and hence to resize the transmission window).transmission window).
TCP problems in a TCP problems in a wireless worldwireless world
TCP is NOT capable of detecting the nature of an TCP is NOT capable of detecting the nature of an error. It only knows a drop occurred. (at least two error. It only knows a drop occurred. (at least two general types of errors)general types of errors)
Short Lived ErrorsShort Lived Errors Entering Slow Start or decreasing the transmission window Entering Slow Start or decreasing the transmission window
causes missed opportunities to send error-free data and causes missed opportunities to send error-free data and increases connection time.increases connection time.
Persistent ErrorsPersistent Errors Forced re-transmission over bad links leads to high energy Forced re-transmission over bad links leads to high energy
consumption with minimal goodput gain consumption with minimal goodput gain
TCP backs off too much when it should not and TCP backs off too much when it should not and too little when it should, thereby hurting too little when it should, thereby hurting battery lifebattery life
Other TCP commentsOther TCP comments
TCP error control is designed for TCP error control is designed for congestion induced errors onlycongestion induced errors only
ECN contributions are limited in ECN contributions are limited in wired/wireless networkswired/wireless networks Not receiving an ECN doesn’t mean the packet Not receiving an ECN doesn’t mean the packet
wasn’t droppedwasn’t dropped
Congestion algorithms running on top Congestion algorithms running on top of TCP (RED) could constrain the of TCP (RED) could constrain the evolution of TCPevolution of TCP If TCP evolves, it might make RED unfair If TCP evolves, it might make RED unfair
Fixing TCP: Error Fixing TCP: Error DetectionDetection
The nature of an error calls for a The nature of an error calls for a distinctive recovery strategydistinctive recovery strategy Congestion – same as wired, gradual Congestion – same as wired, gradual
retransmissionretransmission Hand-Off – suspend transmission for short Hand-Off – suspend transmission for short
amount of time, then send aggressivelyamount of time, then send aggressively Fading – reduce transmission until the channel Fading – reduce transmission until the channel
is betteris better
Tsaoussidis and Badr propose TCP-ProbingTsaoussidis and Badr propose TCP-Probing
TCP-ProbingTCP-Probing
When a packet is lost, enter a Probe CycleWhen a packet is lost, enter a Probe Cycle In a Probe CycleIn a Probe Cycle
All data transmission is suspendedAll data transmission is suspended A probe (small packet) is sentA probe (small packet) is sent If Probe or Ack is lost, re-initiate Probe CycleIf Probe or Ack is lost, re-initiate Probe Cycle Otherwise, estimate RTT (and congestion)Otherwise, estimate RTT (and congestion)
If Congested, enter Tahoe/Reno congestion responseIf Congested, enter Tahoe/Reno congestion response If not Congested, enter Immediate Recovery and If not Congested, enter Immediate Recovery and
being sending with the full window enabledbeing sending with the full window enabled
WTCP (proxy)WTCP (proxy) Add intelligence to the wireless base station Add intelligence to the wireless base station
(BS) and let it detect the nature of the error(BS) and let it detect the nature of the error
Essential two TCP connections: between the Essential two TCP connections: between the Sender and BS, and between the BS and Sender and BS, and between the BS and receiverreceiver BS buffers the data segmentBS buffers the data segment Re-transmit non-ACK’d segmentsRe-transmit non-ACK’d segments
Subtract out WTCP residence time when Subtract out WTCP residence time when ACKing segments back to the senderACKing segments back to the sender Data lost over the wireless link could adversely Data lost over the wireless link could adversely
effect the Time Out valueeffect the Time Out value
Error RecoveryError Recovery
If nature of the error is known, be If nature of the error is known, be smart about the recoverysmart about the recovery CWNDCWND ACK strategyACK strategy Timeout MechanismTimeout Mechanism Entering Slow StartEntering Slow Start Others….Others….
If it’s not a congestion based error, If it’s not a congestion based error, don’t apply a congestion derived don’t apply a congestion derived strategy.strategy.
Congestion Window Congestion Window
Freeze-TCP – avoid a penalty during handoffFreeze-TCP – avoid a penalty during handoff
Immediate Recovery – if the failure is not due Immediate Recovery – if the failure is not due to congestion, don’t adjust the CWND or to congestion, don’t adjust the CWND or enter Slow Start. enter Slow Start. Re-transmit aggressively when the channel Re-transmit aggressively when the channel
recovers.recovers.
Decouple the CWND from RTT. A lost or Decouple the CWND from RTT. A lost or delayed ACK doesn’t say anything about the delayed ACK doesn’t say anything about the forward path, only the backward path. forward path, only the backward path.
ACK StrategyACK Strategy The ACK strategy sets the transmission The ACK strategy sets the transmission
raterate
Fast Retransmission = improved hand-offFast Retransmission = improved hand-off After HO, send Duplicate ACKs. After HO, send Duplicate ACKs.
Using partial ACKs to re-transmit can Using partial ACKs to re-transmit can lead to transmitting a non-lost packet. lead to transmitting a non-lost packet. This is bad from the energy conservation This is bad from the energy conservation
perspectiveperspective
Implementing SACKs (selective ACKs) Implementing SACKs (selective ACKs) gives the sender more information gives the sender more information
Proxy Based ApproachProxy Based Approach Proxy lies between the wired and wireless Proxy lies between the wired and wireless
networksnetworks Tries to hide wireless losses from TCPTries to hide wireless losses from TCP
ITCP – Implement TCP up to the Application ITCP – Implement TCP up to the Application layer in the BSlayer in the BS
WTCP – like ITCP, but up to the Transport WTCP – like ITCP, but up to the Transport layer.layer.
Snoop - Like WTCP, but up to the Link layer. Snoop - Like WTCP, but up to the Link layer. Less buffering (no guarantee) of finding data Less buffering (no guarantee) of finding data locally.locally.
Increased Improvement by Increased Improvement by not increasing the Time-not increasing the Time-
Out ValueOut Value
TCP StrategyTCP Strategy
TCP needs to move towards the TCP needs to move towards the adaptive error control adaptive error control One way to achieve this is to implement One way to achieve this is to implement
the discussed TCP-Probing the discussed TCP-Probing
By determining the nature of the By determining the nature of the error and reacting in an appropriate error and reacting in an appropriate manner, the total throughput will be manner, the total throughput will be increasedincreased
Even Faster Completion Even Faster Completion with Longer Delays (100ms with Longer Delays (100ms
extra)extra)
TCP for HandheldsTCP for Handhelds TCP for wireless networks needs to make TCP for wireless networks needs to make
tradeoffs between the effort expended and tradeoffs between the effort expended and the goodput achievedthe goodput achieved
A good performance metric is A good performance metric is goodput/overhead ratio because it shows the goodput/overhead ratio because it shows the efficiency of a battery powered transferefficiency of a battery powered transfer
In general, reducing the total time spent In general, reducing the total time spent transferring data will reduce power transferring data will reduce power consumedconsumed
More research is needed in this area…More research is needed in this area…
Probing Reduces Overhead Probing Reduces Overhead more with longer more with longer
propagation delayspropagation delays
ConclusionsConclusions
Traditionally, protocols (namely TCP) did Traditionally, protocols (namely TCP) did not account for wireless architecturenot account for wireless architecture
Key issues for wireless networks: Key issues for wireless networks: error characteristics of the linkerror characteristics of the link performance metrics to evaluate efficiencyperformance metrics to evaluate efficiency
TCP needsTCP needs Adaptive Error Control to respond to each Adaptive Error Control to respond to each
error appropriatelyerror appropriately Energy- and time-saving capabilities to Energy- and time-saving capabilities to
support the mobile, battery powered nature support the mobile, battery powered nature of wireless devicesof wireless devices
top related