hui zhang, fall 2012 1 15-441 computer networking tcp enhancements

19
Hui Zhang, Fall 2012 1 15-441 Computer Networking TCP Enhancements

Upload: susan-sellman

Post on 15-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Hui Zhang, Fall 2012 1

15-441 Computer Networking

TCP Enhancements

Hui Zhang, Fall 2012 2

Overview

TCP is a general purpose transport protocol Design decisions are made based on a set of

assumptions TCP performance suffers when one or more assumptions

do not hold in some application scenario’s We want to understand

- Common scenario’s when standard TCP does not perform well

- What assumptions are broken in each scenario?

- What different design decisions can be made to improve TCP performance in each scenario?

-

Hui Zhang, Fall 2012 3

Scenario 1: Network With Large Delay Bandwidth Product

Example: a supercomputer in UIUC communicating with another supercomputer in CERN of Switzerland over a 10Gbps network

Assume round trip time (RTT) is 200 ms What is the maximum throughput with standard

TCP?

Hui Zhang, Fall 2012 4

The Key Formula and The Answer

MaxThroughput <= MaxWindowSize/RTT Reasons:

- MaxWindowSize is the maximum of outstanding bytes a sender can send before receiving the first acknowledgement packet

- RTT is the minimum period between the time the first byte sent by the sender and the first ack (with respect to the first bye) is received by the sender

What is the maximum window size in TCP?- 64 KB as limited by the 16 bits window size in TCP header

Therefore, the answer is 2.56 Mbps (64 KB/200ms) for one TCP connection

Hui Zhang, Fall 2012 5

TCP Large Window Option

TCP option allows additional 14 bits window size The total window size up to 30 bits (1GB) Question: what is the minimum additional number of bits

for the window that the supercomputers need to use to fully utilize the 10Gbps link?

Answer- Window size in number of bytes: 250 GB (10Gbps * 200ms/8)

- # of bits needed to encode the window: 28 bits

- # of additional bits: 12

Hui Zhang, Fall 2012 6

Large Delay Bandwidth Network

In the previous example, when the link is fully utilized, how many packets (TCP segments) are in transit before the 1st ack is received by the sender?

For simplicity assume each segment has 1KB payload The answer is 250,000 (250MB/1KB)

Hui Zhang, Fall 2012 7

Flow Control vs. Congestion Control in Large Delay Bandwidth Networks

TCP’s sender window is limited by both awnd (for flow control purpose) and cwnd (for congestion purpose)

The previous example considers only the limitation imposed by flow control

Now let’s consider the effect of congestion control - Assuming NO packet loss, how much time does it take for the

sender cwnd to grow to 1GB?

You should try to work this work yourself

- What happens if there are multiple packet losses in one window?

Hui Zhang, Fall 2012 8

Implication of Decision of Using Cumulative Ack in TCP

Standard TCP uses cumulative ack - Plus: robust with respect to lost acks

- Minus: not robust with respect to lost packets

The drawback of cumulative ack is more serious in networks with networks with large delay bandwidth product

- Large number of packets per RTT

- The sender learns only one packet loss per RTT

- A small number of packet losses can result in Retransmission Timeout (RTO)

- With a RTO, the sender will retransmit all packets starting from the packet that causes the timeout

- many of these packets may have been received by the receiver, however, the sender won’t be able to know --- the cumulative ack does not provide this information!

Hui Zhang, Fall 2012 9

TCP Selective Ack Option

Receivers informs the sender about each of packets that has been received successfully

Sender transmits only the packet that have not been acked

Hui Zhang, Fall 2012 10

Scenario 2: Performance Degradation in Wireless Networks

0.0E+00

5.0E+05

1.0E+06

1.5E+06

2.0E+06

0 10 20 30 40 50 60

Time (s)

Se

que

nce

nu

mb

er

(byt

es)

TCP Reno(280 Kbps)

Expected TCP performance

(1.30 Mbps)

2 MB wide-area TCP transfer over 2 Mbps Lucent WaveLAN

Hui Zhang, Fall 2012 1111

Wireless Bit-Errors

Router

Computer 2Computer 1

2322

Loss Congestion

210

Burst losses lead to coarse-grained timeoutsResult: Low throughput

Loss Congestion

Wireless

Hui Zhang, Fall 2012 12

TCP Problems Over Noisy Links

Wireless links are inherently error-prone- Fades, interference, attenuation

- Errors often happen in bursts

TCP cannot distinguish between corruption and congestion

- TCP unnecessarily reduces window, resulting in low throughput and high latency

Burst losses often result in timeouts Sender retransmission is the only option

- Inefficient use of bandwidth

Hui Zhang, Fall 2012 13

Proposed Solutions

Incremental deployment- Solution should not require modifications to fixed hosts

- If possible, avoid modifying mobile hosts

End-to-end protocols- Selective ACKs, Explicit loss notification

Split-connection protocols- Separate connections for wired path and wireless hop

Reliable link-layer protocols- Error-correcting codes

- Local retransmission

Hui Zhang, Fall 2012 1414

Approach Styles (End-to-End)

Improve TCP implementations- Not incrementally deployable- Improve loss recovery (SACK, NewReno)- Help it identify congestion (ELN, ECN)

• ACKs include flag indicating wireless loss

- Trick TCP into doing right thing E.g. send extra dupacks

Wired link Wireless link

Hui Zhang, Fall 2012 1515

Approach Styles (Link Layer)

More aggressive local rexmit than TCP- Bandwidth not wasted on wired links

Possible adverse interactions with transport layer- Interactions with TCP retransmission

- Large end-to-end round-trip time variation

FEC does not work well with burst lossesWired link Wireless link

ARQ/FEC

Hui Zhang, Fall 2012 16

Scenario 3: Asymmetric TCP

Example of Asymmetric networks- Cable modems: 10 Mbps down, 512 kbps up

- ADSL: 8 Mbps down, 1 Mbps up

- May also due to congested condition on reverse path

Forward path throughout may be smaller than forward path link capacity, why?

Slower bandwidth on reverse path stretches out ACKs (ACK dilation)

Hui Zhang, Fall 2012 17

Scenario 4: Small File and Transaction Applications

Most files are smaller than 1 KB- One TCP segment

No chance for fast recovery/fast retransmission (why?) Packet loss results in RTO

Hui Zhang, Fall 2012 18

Summary: TCP Key Design Decisions & Assumptions

Application: large number of bytes & average throughput

- What about small file and transaction applications?

Packet drop is congestion signal - Wireless network?

Cumulative ack- Single packet loss with large RTT*BW environment

16 bits win size- Large RTT*BW environment

Ack clocking - Asymmetric path

Hui Zhang, Fall 2012 19

Tradeoffs Between General-Purpose Protocol vs. Special Purpose Protocol

TCP is general purpose protocol - One size hard to fit for all

Why not developing special purpose protocol?- Metcalf’s law of network utility

- There is huge value just to be able to communicate with anyone

TCP option strikes the balance- Backward compatible with hosts not implementing the options

(still be able to communicate, may not be high performance)

- Two hosts both implementing the same option can take advantage of the benefit of the option

TCP option does incur additional complexity and overhead