performance improvement of tcp in wireless cellular network based on acknowledgement control osaka...

25
Performance Improvement of TCP Performance Improvement of TCP in Wireless Cellular Network in Wireless Cellular Network Based on Acknowledgement Control Based on Acknowledgement Control Osaka University Osaka University Masahiro Miyoshi Masahiro Miyoshi , Masashi , Masashi Sugano, Masayuki Murata Sugano, Masayuki Murata

Upload: bridget-mason

Post on 17-Dec-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Performance Improvement of TCP Performance Improvement of TCP in Wireless Cellular Network in Wireless Cellular Network

Based on Acknowledgement ControlBased on Acknowledgement Control

Osaka UniversityOsaka University

Masahiro MiyoshiMasahiro Miyoshi, Masashi , Masashi Sugano, Masayuki MurataSugano, Masayuki Murata

ContentsContents

BackgroundsBackgrounds Past ResearchesPast Researches ObjectiveObjective Proposed methodProposed method EvaluationEvaluation ConclusionConclusion

TCP over wireless cellular network TCP over wireless cellular network

Wired terminalWired terminal

[In the case of Web documents downloaded][In the case of Web documents downloaded]TCP segment is transmitted from the wired terminals TCP segment is transmitted from the wired terminals towards the wireless terminal, between wireless link towards the wireless terminal, between wireless link and wired link.and wired link.

TCP

ACK→→

Base Base StationStation

←←

Wireless terminalWireless terminal

WebWebWired linkWired link

Wireless linkWireless link

ServerServerdetecting detecting

packet losspacket loss

TCP uses a window-based congestion control.TCP uses a window-based congestion control.When packet loss is detected, When packet loss is detected, TCP recognizes the congestion occurrence of the network TCP recognizes the congestion occurrence of the network and throttles the window size.and throttles the window size.

TCP TCP・・・・・・

ClientClient

TCP Congestion controlTCP Congestion control

congestioncongestion

Throttling Throttling the window sizethe window size

How to detect packet How to detect packet lossloss

Retransmission timeout Retransmission timeout Duplicate ACKDuplicate ACK

There are two primarily mechanism There are two primarily mechanism

Calculating Calculating

RTO RTO

Retransmission Retransmission timeouttimeout

Setting retransmission timer Setting retransmission timer

TCP sender sets retransmission timer.TCP sender sets retransmission timer. TCP sender calculates RTO=f(RTT) .TCP sender calculates RTO=f(RTT) . If the ACK for the timed packet is not received, If the ACK for the timed packet is not received,

before the timer overflow, the packets is before the timer overflow, the packets is assumed to be lost.assumed to be lost.

TCP

ACK

←←

Not received !! Not received !! → → packet losspacket loss

TCP senderTCP senderTCP receiverTCP receiver

TCP senderTCP sender

Duplicate ACKDuplicate ACK

Packet Packet lossloss

TCP sender sends TCP segment added on sequence no.TCP sender sends TCP segment added on sequence no. TCP receiver sends ACK added on sequence no, which should bTCP receiver sends ACK added on sequence no, which should b

e received.e received. If triple duplicate ACKs are received continuity,If triple duplicate ACKs are received continuity, the packets is assumed to be lost.the packets is assumed to be lost.

1

2

←←

Three duplicate ACKs !! Three duplicate ACKs !! → → packet losspacket loss

2 3 4

TCP segmentTCP segment

ACKACK

TCP receiverTCP receiver

221

On a wireless link, packet loss occurs due to On a wireless link, packet loss occurs due to transmission errors.transmission errors.           ↓            ↓ TCP can not distinguish packet loss between due toTCP can not distinguish packet loss between due to   congestion and due to transmission errors. congestion and due to transmission errors.            ↓           ↓Packet losses due to the transmission errors Packet losses due to the transmission errors cause cause unexpected degradationunexpected degradation of TCP throughput. of TCP throughput.

Mobile Mobile TerminalTerminal

Base Base StationStation

Packet lossPacket loss

due to the transmission errorsdue to the transmission errors

TCP over wireless linkTCP over wireless link

Degradation of TCP throughputDegradation of TCP throughput

Past researches Past researches

(1) (1) The TCP segments are cashed at the base The TCP segments are cashed at the base station.station.

(2) (2) The TCP segments are retransmitted at the base The TCP segments are retransmitted at the base station, if packet loss is detected on wireless link.station, if packet loss is detected on wireless link.

Snoop Protocol Snoop Protocol [Balakrishnan95acm][Balakrishnan95acm]

MH BS FH

ACK→ACK→

←←TCPTCP

cashing TCP segmentcashing TCP segment

Wireless linkWireless link

RetransmitRetransmit

- Snoop Protocol -- Snoop Protocol -

Past researchesPast researchesExplicit Notification[Biaz99thesis]Explicit Notification[Biaz99thesis]

(1) The TCP segment sequence numbers are cashed at BS.(1) The TCP segment sequence numbers are cashed at BS.

(2) The packet is lost on the wireless link.(2) The packet is lost on the wireless link.

(3) The ACK packet is attached “ELN bit active” at BS, if (3) The ACK packet is attached “ELN bit active” at BS, if the packets cashed sequence number is lost.the packets cashed sequence number is lost.

(4) FH takes appropriate action receiving ELN bit.(4) FH takes appropriate action receiving ELN bit.

(ex. TCP sender does not perform congestion control.)(ex. TCP sender does not perform congestion control.)

MH BS FH

ACK→ACK→

←←TCPTCP

Cashing TCP Cashing TCP sequence numbersequence number

7 6 5

7

56

7 7 5

Attaching ELN bitAttaching ELN bit

- ELN -- ELN -

Wireless linkWireless link

Wired linkWired link

Packet Packet lossloss

Past researchesPast researches - Disadvantage -- Disadvantage -

Above solutions have not been Above solutions have not been realized (because these require realized (because these require major changes to network major changes to network infrastructuresinfrastructures))

Snoop ProtocolSnoop Protocol・・ Buffering TCP segment at BSBuffering TCP segment at BS・・ Retransmission TCP segment at BSRetransmission TCP segment at BS

Explicit NotificationExplicit Notification・・ Cashing TCP sequence number at BSCashing TCP sequence number at BS・・ Attaching ELN bit at BSAttaching ELN bit at BS・・ Receiving ELN bit and appropriate action at FHReceiving ELN bit and appropriate action at FH

ObjectivesObjectives

New method for improving the performance New method for improving the performance of TCP by a of TCP by a minor changeminor change

We propose a method for improving the performance We propose a method for improving the performance of TCP in treating the ACK packetsof TCP in treating the ACK packets

Proposed MethodProposed Method

MH BS FHACK→ACK→

←←TCPTCP

TCP receiver does not send one ACK, but multiple ACKsTCP receiver does not send one ACK, but multiple ACKs  ↓ ↓TCP would becomes robust against transmission errors TCP would becomes robust against transmission errors

Wireless linkWireless link

ACKACK

・・・・

ACKACK

Proposed MethodProposed Method

(1)(1) FH receives one ACKFH receives one ACK → →it continues the normal operationit continues the normal operation(2) FH receives more than two ACKs (2) FH receives more than two ACKs   →  → it recognizes as duplicate ACKsit recognizes as duplicate ACKs(3) Only if all of multiple ACKs are lost(3) Only if all of multiple ACKs are lost → → the timeout occurs at the FH.the timeout occurs at the FH.

MH BS FHACK→ACK→

←←TCPTCPWireless linkWireless link

ACKACKACKACK

Proposed MethodProposed Method

It is effective in transmitting two or more ACKs in the rIt is effective in transmitting two or more ACKs in the range of the high transmission error rateange of the high transmission error rate

On the other hand, if the error rate is low, the TCP perOn the other hand, if the error rate is low, the TCP performance might deteriorate.formance might deteriorate.

- Appropriate number Appropriate number of ACKs of ACKs --

Appropriate number of ACKs Appropriate number of ACKs ??

Proposed MethodProposed Method

)321()8

33,1min(

32

1

2ppbp

Tobp

RTT

STCP

Packet loss rate

Round trip timeTime out time

)()()()()( npnpnpnpnp errbufferrbuff Duplicate ACKTransmission error

- Deriving appropriate Deriving appropriate number of ACKs number of ACKs --

We derived appropriate number of We derived appropriate number of ACK ACK

using following expressionusing following expression

0

5

10

15

20

25

30

35

40

0 0.1 0.2 0.3 0.4 0.5

packet loss rate perr

thro

ughp

ut (

Kbp

s)

1ACK2ACKs3ACKs

Proposed MethodProposed Method

Round Trip Time (RTT): 100msTime out time (To): 400msPaket loss rate (pbuff): 0.01

Parameter sets

- Analysis result Analysis result --

Transmission of two ACKs can achieve the best performance in the range of 0.1 < perr < 0.47.

EvaluationEvaluation

Parameter sets

- Simulation modelSimulation model - -

We evaluate our proposed method by ns-2 simulator

384Kbps

64Kbps 1Mbps

1Mbps,τ2

,τ1

,τ3 ,τ4

MH BS FH

ACK→ACK→

←←TCPTCP

Wireless linkWireless link

[ Network [ Network Model ]Model ]

Number of wireless terminal 1TCP segment size 100 byte

ACK size 40 byteBuffer size (Wireless Terminal, BS, Wired

Terminal)50 Kbyte

Propagation delay (τ1,τ2,τ3,τ4) 1 ms

EvaluationEvaluation

0

10

20

30

40

50

60

70

0 0.1 0.2 0.3 0.4 0.5

packet error rate: perr

thro

ughp

ut (

Kbp

s) 1ACK2ACKs

Transmission of two ACKs can improve the throughput with perr larger than 0.05.

- Simulation result (throughput) Simulation result (throughput) --

EvaluationEvaluation - Simulation result (window size) Simulation result (window size) --

0

2

4

6

8

10

10 11 12 13 14 15time (s)

Win

dow s

ize

(seg

men

t)

1ACK2ACKs

Sending more TCP segmentLarger window size

Proposed method is more effective

Proposed MethodProposed Method

The wireless terminal sends multiple ACKs, The wireless terminal sends multiple ACKs, when twhen the packet error probability of the wireless network he packet error probability of the wireless network pperrerr exceeds the threshold value. exceeds the threshold value.

We explain the estimation method of packet error rate on the radio link.

Estimation on packet loss rateEstimation on packet loss rate

take place independently. perr is represented this expressionby observation value p, and given parameter by RED router pbuff

perr : Packet loss rate on the radio link

pbuff : Packet loss rate on the buffer overflows at the bottleneck buffer

bufferr p

pp

111

We assumed

MH BS FHACK→ACK→

←←TCPTCPWireless linkWireless link

Pbuff(given parameter by RED router)perrP (observation value)

Calculating p Calculating p by the moving average methodby the moving average method

We introduce a method of calculating p by the moving average method, following an estimation method of RTT values in TCP.

In monitoring p at the wireless terminal, the value of p is changeful

]1[8

1][

8

7][ kpkpkp

0]0[ p

...2,1,0k

average

00.050.1

0.150.2

0.250.3

0.35

0 10 20 30 40 50time(s)

Pac

ket

loss

rat

e p

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0 10 20 30 40 50

time(s)

Pac

ket

loss

rat

e p

Calculating p Calculating p by the moving average methodby the moving average method

1 Number of TCP connections2 3 4 5 4 3 2 15

Moving average valueObservation value

We show the moving average values are good agreements by the simulation, when the number of TCP connections are changed.

ConclusionConclusion

We have presented a method for improving TCP thWe have presented a method for improving TCP throughput in a wireless cellular network, which needroughput in a wireless cellular network, which needs changes of TCP layer only by the side of a mobile s changes of TCP layer only by the side of a mobile terminal. terminal.

By means of simulation, we have revealed that TCBy means of simulation, we have revealed that TCP throughput can be improved in the range with thP throughput can be improved in the range with the high error rate of the radio link as we have expece high error rate of the radio link as we have expected.ted.