An Adaptive TCP Protocol for Lossy Mobile Environment

26
An Adaptive TCP Protocol for An Adaptive TCP Protocol for Lossy Mobile Environment Lossy Mobile Environment Choong Seon Hong Feb. 27, 2003

description

An Adaptive TCP Protocol for Lossy Mobile Environment. Choong Seon Hong Feb. 27, 2003. Contents. Introduction Related Works TCP HACK Our Proposal: Extended TCP HACK Conclusions and Future Work. Introduction. TCP is a transport layer protocol designed for the wired links. - PowerPoint PPT Presentation

Transcript of An Adaptive TCP Protocol for Lossy Mobile Environment

Page 1: An Adaptive TCP Protocol for Lossy Mobile Environment

An Adaptive TCP Protocol for Lossy An Adaptive TCP Protocol for Lossy Mobile EnvironmentMobile Environment

Choong Seon Hong

Feb. 27, 2003

Page 2: An Adaptive TCP Protocol for Lossy Mobile Environment

ContentsContents

• Introduction

• Related Works

• TCP HACK

• Our Proposal: Extended TCP HACK

• Conclusions and Future Work

Page 3: An Adaptive TCP Protocol for Lossy Mobile Environment

IntroductionIntroduction

• TCP is a transport layer protocol designed for the wired links.

Slow-start algorithm is triggered after packet loss is detected

Receiver

Sender

• It incurs end-to-end performance degradation in wireless environments where packet loss is very high.

Page 4: An Adaptive TCP Protocol for Lossy Mobile Environment

Related WorksRelated Works• Indirect TCP(I-TCP) [A.Bakre 1995]• Mobile TCP (M-TCP) [K.Brown 1997]

– Optimized TCP between MH and BS, No caching at BS

• Explicit bad-state notification (EBSN) [N.Vaidya 1999]– Partial ACK from BS

• Snoop protocol [H.Balakrishnan 1995]• New Snoop protocol [ Jian-Hao Hu 2000]

– Two- layer hierarchical cache scheme (MSC and BS)

• TCP HACK:TCP Header Checksum Option [R.K.Balan 2001] –

Page 5: An Adaptive TCP Protocol for Lossy Mobile Environment

Introduction(cont’d)Introduction(cont’d)

Drawbacks using Performance Enhancing Proxies (PEPs)

• The intermediary will become the bottleneck • Add the third point of failure besides the

endpoints themselves • Cannot handle encrypted traffic • Asymmetric routing

Page 6: An Adaptive TCP Protocol for Lossy Mobile Environment

Strengths and Drawbacks of Existing SolutionsStrengths and Drawbacks of Existing Solutions

  I-TCP

M-TCP

Snoop New Snoop

EBSN Freeze-TCP

TCP Hack

End-to-end TCP principle?

N Y Y Y N Y Y

Requires the intermediate node to modify TCP?

 Y

 Y

 Y

 Y

 Y

 N

 N

Handle encrypted traffic?

N N N N N Y Y

Need symmetric routing?

Y Y Y Y Y N N

Handle longDisconnections?

Y Y N Y Y Y N

Handle frequent disconnections?

Y Y N Y Y Y N

Handle high bit error rate?

Y Y Y Y N N Y

Page 7: An Adaptive TCP Protocol for Lossy Mobile Environment

TCP HACKTCP HACK• TCP HACK (Header Checksum option) is a

novel mechanism proposed to improve original TCP in lossy link.

• It cannot work well when the ACK packets are also corrupted much.

• Proposing an Extended TCP HACK.

Page 8: An Adaptive TCP Protocol for Lossy Mobile Environment

TCP HACK(cont’d)TCP HACK(cont’d)

• Data portion is usually much larger than header portionCorruptions are far more likely in data

portion• Packets with corrupted headers are unlikely

to reach destination

X

XData PortionHea

der

Por

tion

Page 9: An Adaptive TCP Protocol for Lossy Mobile Environment

TCP HACK(cont’d)TCP HACK(cont’d)

TCP Header Checksum option

TCP Header Checksum ACK option

Page 10: An Adaptive TCP Protocol for Lossy Mobile Environment

TCP SenderTCP Sender

Header checksum option enabled?

Continue as normal

1) Calculate header checksum of segment2) Continue as normal

Yes

No

Data segment to be sent

Modifications to the TCP sender

TCP HACK(cont’d)TCP HACK(cont’d)

Page 11: An Adaptive TCP Protocol for Lossy Mobile Environment

Modifications to the TCP receiver

TCP segment corrupted?

Continue as normal

1) Recover sequence number of corrupted segment from header. 2) Generate ‘special’ ACK containing the sequence number of the corrupted segment.

Yes

No

Data segment received

Header portion corrupted?

Discard PacketYes

No

TCP ReceiverTCP Receiver

TCP HACK(cont’d)TCP HACK(cont’d)

Page 12: An Adaptive TCP Protocol for Lossy Mobile Environment

Modification to the ACK processing

Is this a special ACK?

Continue as normal

1) Extract sequence number of corrupted segment2) Selectively retransmit the segment 3) ACK is discarded without further processing

Yes

No

ACK segment receivedACK ProcessingACK Processing

TCP HACK(cont’d)TCP HACK(cont’d)

Page 13: An Adaptive TCP Protocol for Lossy Mobile Environment

Proposed Solution:Extended TCP HACKProposed Solution:Extended TCP HACK

• The special ACK in TCP HACK may be lost.• Extended TCP HACK:

– Add a buffer in the TCP receiver(denoted s_buffer)

– Save all sequence numbers into s_buffer• these sequence numbers are recovered from those

packets transmitted in the same window

– Send special ACK to the sender containing all the sequence numbers in the s_buffer.

– Sequence numbers in the s_buffer will be cleared if the retransmitted packets are received correctly or the timers are expired.

Page 14: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

Kind=14 Length=4 1’s complement checksum

of TCP header and pseudo-IP header

Kind=16 Length: Variable

1st 32-bit sequence number of corrupted segment to resend 2nd 32-bit sequence number of corrupted segment to resend

nth 32-bit sequence number of corrupted segment to resend

….

TCP Header Checksum option

Extended TCP header Checksum ACK option

1st 32-bit sequence number of corrupted segment to resend

Page 15: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

•The segments with sequence A, C and E are data corrupted but their headers can be recovered. •The segment with sequence B is correct •The segment with sequence D is corrupted in the header.

sender

E C B

s_buffer

AD

X : packet with sequence number Xreceiver

A

kind=16 length:6

32-bit sequence number: A

Extended TCP Header Checksum ACK option

Page 16: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

The process of extended TCP HACK when receiving the segment with sequence number B

senders_buffer

AE C BD

X : packet with sequence number X

Normal ACK

generated by receiving segment B

Page 17: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

The process of extended TCP HACK when receiving the segment with sequence number C

sender

E

s_buffer

ACD

X : packet with sequence number Xreceiver

C

kind=16 length:10

32-bit sequence number: A

Extended TCP Header Checksum ACK option

32-bit sequence number: C

Page 18: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

The process of extended TCP HACK when receiving the segment with sequence number E

senders_buffer

AE

X : packet with sequence number Xreceiver

CE

kind=16 length:14

32-bit sequence number: A

Extended TCP Header Checksum ACK option

32-bit sequence number: C

32-bit sequence number: E

Page 19: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

The process of extended TCP HACK when receiving the retransmitted segment with sequence number A

senders_buffer

A

A : retransmitted packet withsequence number A receiver

CE

Page 20: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

Header checksumoption enabled?

Continue as pernormal

1) Calculate header checksum of segment2) Continue as per normal

Modifications to the TCP sender

Header checksumoption enabled?

Continue as pernormal

1) Calculate header checksum of segment2

Header checksumoption enabled?

Continue as pernormalContinue asnormal TCP

1) Calculate header checksum of segment21) Calculate header checksum of segment2) place the header checksum into the headerchecksum option

Yes

No

when sending outsegment

3) Continue as normal TCP

TCP SenderTCP Sender

Modifications to the TCP sender

Page 21: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

Modifications to the TCP receiver

Yes

corrupted?

Yes

No

Modifications to the TCP receiver

TCP segmentcorrupted?

Continue as normal

1) Recover sequence number of corrupted segment from header.

2) Generate special ACK containing all the sequence numbers in the

s_buffer.

No

when receivng a datasegment

Header portion Discard Packet

3

) Save this sequence number in the s_buffer

TCP ReceiverTCP Receiver

Modifications to the TCP receiver

Page 22: An Adaptive TCP Protocol for Lossy Mobile Environment

Extended TCP HACK(cont’d)Extended TCP HACK(cont’d)

• ACK ProcessingACK Processing

Yes

No

ACK segmentreceived

Is this a specialACK(withoption 16)?

Continue as normal

1) Extract sequence numbers from the ACK option2) Selectively retransmit these segments3) ACK is discarded without further processing

Modification to the ACK processing

Page 23: An Adaptive TCP Protocol for Lossy Mobile Environment

Simulation ModelSimulation Model

Server Client

wireless link

Simulation Parameters

(simulation tool: OPNET modeler v8.0)Bandwidth of wireless link: 384Kbytes MSS: 536bytes

Burst length : 3 packets size of s_buffer: 40Byte

Page 24: An Adaptive TCP Protocol for Lossy Mobile Environment

Simulation Results(2/2)Simulation Results(2/2)

Throughput for various packet loss rates when corrupting on both directions

0 5 10 15

5

10

15

20

25

30

throughput(packets/s)

Percentage Packet Loss(%)

2

Original TCP

TCP HACK

Adaptive TCP

Page 25: An Adaptive TCP Protocol for Lossy Mobile Environment

Conclusions and Future WorkConclusions and Future Work

• With our proposal, we can enhance the performance of TCP HACK in situations where not only the data on the forward path are corrupted much, but also the ACKs on the inverse path susceptible to packet corruption.

• Simulation results proved the efficiency of our proposal.

• More simulations should be done to test our extended TCP HACK.

• Studying on SCTP as streaming protocol in the wireless environment

Page 26: An Adaptive TCP Protocol for Lossy Mobile Environment

Questions?Questions?

[email protected]