28
Open Issues on Open Issues on TCP for Mobile TCP for Mobile Computing Computing Ibrahim Matta Ibrahim Matta Computer Science, Computer Science, Boston Boston University University Vassilis Tsaoussidis Vassilis Tsaoussidis Computer Science, Computer Science, Northeastern Northeastern University University Technical Report, 2001 Technical Report, 2001 Presented by Brad Burres Presented by Brad Burres

Open Issues on TCP for Mobile Computing Ibrahim Matta Computer Science, Boston University Vassilis Tsaoussidis Computer Science, Northeastern University

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

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).

A Picture is worth 1000 A Picture is worth 1000 wordswords

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.

Proxy performing Local Proxy performing Local RecoveryRecovery

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

Faster Task Completion with Faster Task Completion with ProbingProbing

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 Probing Reduces OverheadOverhead

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

AcknowledgementsAcknowledgements

““borrowed” fast retransmit picture borrowed” fast retransmit picture from from http://www.ensc.sfu.ca/~ljilja/cnl/prehttp://www.ensc.sfu.ca/~ljilja/cnl/presentations/wan/wireless_TCP/sld003.sentations/wan/wireless_TCP/sld003.htmhtm