page 1 tatiana k. madsen hans peter schwefel wireless data communication: mm4, wireless tcp, fall03...

59
Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication www.kom.auc.dk/ ~tatiana/WDC by Tatiana Madsen & Hans-Peter Schwefel Mm1 Short range Wireless Communication (TKM) Mm2 IP Mobility Support (HPS) Mm3 Ad hoc Networks (TKM) Mm4 Wireless TCP (HPS) Mm5 Wireless applications and cross-layer aspects (HPS/ TKM) www.kom.auc.dk/~hps/ teaching

Post on 21-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 1Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wireless Data Communication

www.kom.auc.dk/~tatiana/WDC

by Tatiana Madsen & Hans-Peter Schwefel

• Mm1 Short range Wireless Communication (TKM)

• Mm2 IP Mobility Support (HPS)

• Mm3 Ad hoc Networks (TKM)

• Mm4 Wireless TCP (HPS)

• Mm5 Wireless applications and cross-layer aspects (HPS/ TKM)

www.kom.auc.dk/~hps/teaching

Page 2: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 2Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Content

1. Background • IP, Transport Layer Protocols

2. TCP functionality• Connection set-up, flow/congestion

control

3. TCP Performance Aspects• Performance parameters,

Performance Models

5. Wireless TCP

• Problem statement, link models, TCP Improvements

6. Use Case: TCP in GPRS

• Architecture, Properties, TCP Improvements

7. Summary/Conclusions

8. Outlook

+ Exercises

Goal: Make students familiar with • underlying problems• solution approaches • Overview on key technologiesWrt. Transport layer aspects in wireless IP-based networks

Page 3: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 3Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Background: IP Protocol StackNetwork Layer (Layer 3):• Internet Protocol (IPv4, IPv6)• Packet (IP datagram) transmission between end-systems [hosts] (packet size

up to 65535 bytes, often restricted by Layer 2 protocols)

• Routing using 32 bit adresses (v4)• Unreliable, connectionless transmission: loss, duplication, reordering can

occur

Transport Layer (Layer 4):• Most frequent transport protocols

Transmission Control Protocol TCPUser Datagram Protocol UDP

Application Layer/Services (Layer 5-7)• TCP based:

HTTP (HyperText Transfer Protocol), FTP (File Transmission Protocol), SMTP (Simple Mail Transfer Protocol), Telnet, ...

• UDP based: DNS (Domain Name Service), Streaming media, VoIP, ...

Application

TCP/UDP

IP

Link-Layer

L5-7

L4

L3

L2

Page 4: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 4Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Transport Layer ProtocolsGoal: data transfer between application (processes) in end-systems

• support of multiplexing/de-multiplexing e.g. socket API

data stream/connection identified by:two IP addresses, protocol number, two port numbers

Page 5: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 5Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Overview: Transport Protocols• User Datagram Protocol UDP (RFC 768)

– Connectionless– Unreliable– No flow/congestion control

• Transmission Control Protocol TCP (RFC 793, 1122, 1323, 2018, 2581)

– Connection-oriented (full duplex)– Reliable, in-order byte-stream delivery– Flow/congestion control

• Stream Control Transport Protocol SCTP– Connection oriented (full-duplex associations)– Reliable message delivery, support of multiple streams– Support of multi-homing, flow/congestion control

• Real-Time Transport Protocol RTP– Uses UDP– Provides: Time-stamps, sequence numbers– Supports: codecs, codec translation, mixing of multi-media streams

Page 6: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 6Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Content

1. Background • IP, Transport Layers UDP, TCP

2. TCP functionality• Connection set-up, flow/congestion

control

3. TCP Performance Aspects• Performance parameters,

Performance Models

5. Wireless TCP

• Problem statement, link models, TCP Improvements

6. Use Case: TCP in GPRS

• Architecture, Properties, TCP Improvements

7. Summary/Conclusions

8. Outlook

Exercises

Page 7: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 7Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Transmission Control Protocol (TCP): Basics• Point-to-point, bi-directional connections (between end-systems)• Reliable, in-order transport of byte–stream using

– Sequence Numbers – Acknowlegements

• Flow/Congestion Control: Prevent flooding of

– Receiver– Intermediate Systems

Important ‚new‘ Header Fields

– Sequence number: number of first data byte transmitted in the segment

– ACK number: number of next byte expected in the reverse data flow

– Window size: number of bytes host is willing to accept in reverse data flow

Page 8: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 8Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Connection Establishment / Termination

Connection Establishment:• 3-way handshake (SYN, SYN-ACK,

ACK)

• selection of initial sequence numbers

• agreement on maximum segment size

Connection end: • Indicated by FIN flag

• Signalled for both transmission directions

• ‚Alternative‘: RST flag

Page 9: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 9Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP Connection State Machine

TCB = TCP Control Block (5-tuple for conn. identification, Seq. nrs., timer values, etc.)

Additional transitions: RST reception state ’CLOSED’

Page 10: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 10Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP Flow/Congestion Control: Purpose

• Flow Control:– Adapt sending rate to receiver speed

– Prevent Buffer Overflow at receiver

Approach: Receiver notifies sender about available buffer space

• Congestion Control– Avoid network overload

– Prevent packet loss at buffers in intermediate systems (routers)

– ‘fair’ sharing of rates between all TCP connections at bottleneck links

Approach: ‘Elastic traffic’ – sending rates adjust dynamically when overload indicated

Page 11: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 11Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP Flow/Congestion Control

• Sliding Window: # packets sent and un-acknowledged limited by– receiver buffer (receiver advertised window)– congestion window (purpose: protect intermediate nodes)

• Congestion window dynamically adjusted (‚probing‘ for usable bandwidth): increase gradually until congestion indicated via– Timeouts– Duplicate Acknowledgements

Page 12: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 12Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Slow-start phase:

• Initial congestion window set to size cwnd=one segment

• Whenever ACK received: Increase cwnd by number of newly acknowledged bytes

• Slow-start phase ends

• When cwnd > ssthreshold Congestion Avoidance

• Packet loss detected (timeout, triple dup ACK)

TCP Congestion Control: Slow Start

Slow-start initiated after (depends on TCP version)

• connection start

• timeout detection

Example: Slow-Start (receiver using delayed Acks)

44

6

8

10

Page 13: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 13Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Slow-Start & Congestion Avoidance

Congestion detected:• timeout set ssthresh to

cwnd/2, perform slow-start

• [three dup Acks half cwnd, ssthresh=cwnd (Fast

Retransmit/Recovery, see later)]

For High-Bandwith Links:• CWND doubles after each

round-trip time (RTT) in slow-start phase

• CWND increases by one segment size in each RTT during congestion avoidance phase

Throughput = CWND*MSS / RTT (for high-bandwidth links)

Page 14: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 14Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Impact of slow-start: Simulation Result

• Larger connection volume higher average throughput

• Upper Limit: Layer-2 throughput and MaximumWindowSize / RTT

Simulations of GPRS-like scenario without congestion (no losses/timeouts/dupACKs)

[Correction: y-axis in kbit/s]

Page 15: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 15Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Timeout intervals (RTO)• Based on measured Round-Trip-

Time (RTT):Timeout value RTO computed from moving average and variance estimate of samples of measured RTTs

• Retransmission ambiguous RTT sample: neglect these samples for RTO computation (Karn‘s algorithm)

• In case of retransmissions: increase timout value RTO geometrically for each repeated retransmission (up to some upper bound)

Page 16: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 16Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Fast Retransmit• Goal: Avoid long delays due to waiting for time-outs• Method: Use indication given by dupAcks, which may be generated due to

– packet loss, or

– out-of-order packet delivery

• Fast Retransmit:– Upon receiption of three dupAcks consecutively, assume segment is

lost– Retransmit lost packet– Note: 3 dupAcks are also generated if a packet is delivered at least 3

places beyond its in-sequence location 7 9 1281110

Page 17: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 17Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Fast Recovery (TCP Reno)

• Keep up transmission rate after single lost packet (no slow-start, increase window upon dupAcks)• Avoid bursts of packets after ACK for retransmitted lost packet

Page 18: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 18Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Illustration of flow control mechanism

Page 19: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 19Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP flow/congestion controlAdditional Approaches (not discussed in detail here):• Zero Window Probing: prevent blocking after full receiver buffer

• Silly Window Syndrome: prevent transmission of small fragments

– Delayed ACKs– Nagle’s Algorithm: buffer data until either MSS filled or ACK has arrived

• Delayed Window Update: avoid insignificant window updates

Different TCP versions (selection):• Tahoe: Slow-Start Congestion Avoidance, Fast Retransmit followed by Slow-Start

• Reno: Tahoe + Fast Recovery (not followed by slow-start!)

• New Reno: Reno + ‘partial ACK’ handling

• SACK (selective Acknowledgements): only retransmit the lost segments

• VEGAS: update cwnd based on measurements of delay variations

Page 20: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 20Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Content

1. Background • IP, Transport Layers UDP, TCP

2. TCP functionality• Connection set-up, flow/congestion

control

3. TCP Performance Aspects• Performance parameters,

Performance Models

5. Wireless TCP

• Problem statement, link models, TCP Improvements

6. Use Case: TCP in GPRS

• Architecture, Properties, TCP Improvements

7. Summary/Conclusions

8. Outlook

Exercises

Page 21: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 21Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP Performance Parameters (Selection)

• Packet based– # of retransmissions, # of time-out events– Packet delay (max, min, average, distribution)

• Equals transmisison delay + queueing delay + retransmission time(if applicable)

• Connection based– Data (file) transfer time– Average Throughput/Goodput– Probability of successful transfer

• Fairness: – Bottleneck scenarios: if N TCP

sessions share same bottleneck link, each should get 1/N of link capacity

– multi-hop scenarios, e.g. • Max-min fairness

Page 22: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 22Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Simulation Model: Congestion Scenario with Multiplexed ON/OFF Traffic

Scenario: N ON/OFF sources, queueing/loss only at bottleneck router

Here: Investigate average throughput per connection in TCP setting

connections

Page 23: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 23Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Correlation: Connection Size Throughput

• N=2 bursty TCP sources • N=30, N=90 TCP sources

Page 24: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 24Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Challenge: Traffic/Performance Models for TCP

End-to-End flow/congestion control Feedback: network behavior (congestion) ingress traffic No separation traffic model/network model possible New traffic/performance models required

Approaches:1. Connection level models (e.g. [Heyman et al., Sigmetrics 97])

2. Sender/receiver behavior & fixpoint iteration3. Integrated models

Traffic Model

Network Model

Performance Values (Delay, Loss, etc.)

feedback

Page 25: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 25Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Connection Level model: e.g. [Heyman, Lakshman, Neidhardt]

• R0 = minimal Round-Trip Time

• B= Buffer Size at bottleneck

Modified Processor Sharing model (~M/M/1//N/PS) on connection level:

• N TCP sources share bottleneck node (service rate )

• Maximum Transmission Rate p within each connection

• For j active connections, each obtains service at rate

p when jp

/j when jp >

• with attenuation factor 1 derived from TCP behavior

PS+

# of customers in queues corresponds to number of active connections

Page 26: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 26Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Fixpoint models

Network Model:

• E.g. M/M/1/K model or bulk-arrival queue

TCP model, e.g. [Padhye et al., Sigcomm 98]

b: # packets acknowledged by ACK

RTT: Average Round-Trip-Time (including queuing delay)

Wmax: Maximum size of congestion window

T0: Average Time-Out interval

p: Fraction of retransmitted packets

TCPModel

Network Model

Initial loss rate p, delay d Average

packet rate

Update: loss rate p, delay d

When stable: result

Page 27: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 27Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Network model example: M/M/1/K queue

• Poisson arrival of packets (first ’M’ Markovian) with rate – ti : arrival time of packet i

– Xi:=ti+1-ti : interarrival time

– Poisson process of rate lambda: • Xi independent and

• Pr(Xi<x)=1 - exp(- x)

• Exponentially distributed service times of rate (second ’M’)

• Single Server (1)

• Finite waiting room (buffer) for K packets

• Often also specified: service discipline

– Default: First-In-First-Out

– Others: Processor Sharing, Last-In-First-Out,Earliest Deadline First,...

Finite buffer (size K)

Page 28: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 28Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

M/M/1/K queue: Performance

• Finite Birth-Death Process (see e.g. [Cassandras & Lafortune]):

– Probability of i packets in queue [using Chapman-Kolmogorov Equations]

pi := Pr(n=i) = (1-)/(1- K+1) * i , where = /

1, i=0,…,K

– Probability of packet loss:

p(loss) = pK = (1-)/(1- K+1) * K

– Average Delay:

Ď = 1/[ (1-pK)] * /(1- K+1) * [(1- K)/ (1-) – K K ]

K

Page 29: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 29Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Integrated Models: exampleC

mp

. P

roc

esso

r sh

arin

g

Source 1

Source 2

Source 3 B

+

Bottleneck Router

[infinite queue]

Queueing Model with modified (queue-dependent) ON/OFF arrival process:

• ‚Sharing‘ of bandwidth: packet-rate p at source reduced to /j for j active sources when jp>

• conn. duration extended #packets in conn. unchanged

• Throttling only during congestion state when queue-length>=B

# active 1 2 3 2 1 0 1 ...

Page 30: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 30Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Comparison: Models & simulation results

... see [ITCOM01] for details & more results

Page 31: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 31Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Content

1. Background • IP, Transport Layers UDP, TCP

2. TCP functionality• Connection set-up, flow/congestion

control

3. TCP Performance Aspects• Performance parameters,

Performance Models

5. Wireless TCP

• Problem statement, link models, TCP Improvements

6. Use Case: TCP in GPRS

• Architecture, Properties, TCP Improvements

7. Summary/Conclusions

8. Outlook

Exercises

Page 32: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 32Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wireless (Infrastructure) Networks: Challenges

• Wireless links tend to have the following properties:– Large delays– Low throughput– Bit errors / packet losses due to poor channel conditions (noise, interference, fading)

• Impact of mobility– Delay/losses due to hand-over events

• Protocols in IP family not originally designed for such links– Increased volume due to headers

– Deficiencies of TCP flow/congestion control– ... many more (e.g. applications HTTPWAP)

• Protocol Enhancements are being developed, e.g.– Robust Header Compression (RoHC) – Enhancements for Wireless TCP

Page 33: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 33Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP-mechanisms in wireless settings

• TCP assumes congestion if packets are dropped– possibly wrong in wireless networks, here we often have packet loss due to

transmission errors

– furthermore, mobility itself can cause packet loss (handover losses) or temporary connection disruptions (timeouts or even broken TCP connections)

performance of an unchanged TCP degrades severely– however, TCP cannot be changed fundamentally due to the large base of

installation in the fixed network, TCP for mobility has to remain compatible

– the basic TCP mechanisms are needed to for congestion control in the wired network parts

Page 34: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 34Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP Performance Degradation

At right end of graph:

About 30% packets lost due to wireless link but approx. 95% TCP throughput reduction!!

Example using Bursty Loss Model:• While current state i: packets

corrupted with probability i

• After each packet: state transition with probability pik

Average Packet Loss Probability:

Page 35: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 35Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wireless TCP: Common Approaches for Enhancement

• Link-Layer Approach– Local Retransmission of lost packets– Hide losses from sender

• Explicit Notification Approach– Explicitly notify TCP sender of the condition of the network / type

of the loss• End to End Approach

– Enhance TCP Protocol stack at sender and receiver to achieve better throughput (e.g. TCP SACK)

• Split-Connection Approach– End-to-End flow control terminated before wireless link

Page 36: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 36Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wired network

Fixed host (FH)

Wire Network Interface

IP

TCP

ServerApplications

TCP connection

Wire Network Interface

IP

TCP

Wireless Network I/F

IP

TCP/Enhancedprotocol

Split-TCP Demon

Wireless Network

Enhancing Proxy (PEP)

connection

Mobile host (MH)

Wireless Network I/F

IP

TCP/Enhanced protocol

Applications

Wireless TCP: Split Connection

• Proxy is located between the 2 end-hosts to split the TCP connection into 2 parts

• Different implementations: Indirect TCP (state-full), Mobile TCP (stateless, send recv=0 when disconnection detected)

Page 37: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 37Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wirless TCP: Split Connection (cont`d)• Advantages

– No Changes in wired network and correspondent host necessary– Shields the end-host in the wired network from the wireless network

characteristic: Wireless Local Recovery by Proxy– Possibly reduced header size for optimized transport protocol over wireless

link– Allows for ‘Smaller’ and simpler wireless protocol between MH and Proxy

• Disadvantages– Loss of end-to-end TCP semantics– Not usable with end-2-end encryption (e.g. IPsec), since access to the TCP

header neededFor ‘state-full’ versions:– Requires buffer management at Proxy– Requires state transfer when hand-over to different proxy occurs– Hard state: Failures of proxy can result in loss of data

Page 38: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 38Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wireless TCP: Link-Layer Approach

• Proxy detects losses over the wireless link

• Proxy does local retransmission before the sender timeouts. Hides the wireless losses from the Sender

• TCP-unaware approaches: FEC, local retransmission

• TCP-aware approaches: e.g. SNOOP (but: filtering of dup Acks!)

TCP

IP

Layer 2

Layer 1

IPNetwork

IP

Layer 2

Layer 1

Sender Proxy

TCP

IP

Layer 2

Layer 1

MH

[Source: G. Reuss]

Page 39: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 39Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wirless TCP: Link-Layer Approach• TCP-aware approach: SNOOP

– Buffering of down-stream packets in mobile host (until receipt of Ack)– Local retransmission of lost-packets– Filtering of up-stream dup-Acks– Soft-state at Base-station (loss of state affects performance but not correctness)

Discussion: Link-Layer Approaches• Advantages

– No modification to TCP layer in end hosts

– Prevent propagation of losses/errors to TCP source

• Disadvantages– TCP-aware link layer solutions cannot be used with IPSec

– Link-layer retransmission cause RTT variations (and thus possibly TCP time-outs)

– Not usable if data and Ack traverse different paths)

Page 40: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 40Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wirless TCP: End-to-end approach

• TCP Protocol Stack at Sender and Receiver enhanced e.g. SACK, FACK, D-SACK, Eifel

• Possible enhancements– Differentiate Losses

e.g. no slow-start for wireless losses– Efficient Utilisation of Bandwidth

e.g. no initial slow-start – Detection of Multiple Losses

• Advantages– End-to-End semantics and layered architecture of network protocols

are preserved – IP packet encryption can be used

• Disadvantage– Modification at end host

[Source: G. Reuss]

Page 41: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 41Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

End-2-End Enhancements: SACK

TCP Reno inefficient for multiple packet losses within congestion window

Extension: Selective Acknowledgement (SACK)

SACK principles:• Several (3) SACK blocks mark successfully received sets of data (in TCP

Option header extension)

• Sender maintains scoreboard of successfully transmitted packets• Special treatments of partial Acks during Fast Recovery

Allows retransmission of more than one segment per RTT

Page 42: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 42Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Wireless TCP: Performance Comparison (ns simulation)

Single source scenario with burst errors on wireless link (1=1 ca 28% packet loss)

Snoop (Split-TCP) together with SACK provides best goodput

Source: Master Thesis, D. Höllisch

Congestion scenario (20 ON/OFF TCP sources) with same wirless link model: Combination SACK with Snoop shows much lower goodput than Snoop by itself

Page 43: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 43Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Other Improvements

• Shortened Connection set-up– Transaction oriented TCP (RFC 1644)

• Large Initial Windows• Hand-over Improvements

– Send (forced) dup-Acks after hand-over• TCP improvements in ad-hoc (wireless multi-hop) scenarios

Page 44: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 44Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Content

1. Background • IP, Transport Layers UDP, TCP

2. TCP functionality• Connection set-up, flow/congestion

control

3. TCP Performance Aspects• Performance parameters,

Performance Models

5. Wireless TCP

• Problem statement, link models, TCP Improvements

6. Use Case: TCP in GPRS

• Architecture, Properties, TCP Improvements

7. Summary/Conclusions

8. Outlook

Exercises

Page 45: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 45Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Motivation: Performance measurements in GPRS networks

GPRSBackbone

SGSN GGSNBSC

HTTP Server

RADIUS

DHCP Radius/DHCP

Client

Core Network InternetRAN

HTTP

TCP

IP

Link-Layer

L5-7

L4

L3

L2

• GPRS system (3 time-slots, coding scheme 2): 40.2 kb/s ‚raw‘ throughput

• Substracting overhead L1-L4 headers: 33kb/s• BUT in performance measurements using HTTP: 10-20kb/s

Performance predictions need to consider all protocols, in particular Transmission Control Protocol (TCP)

Page 46: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 46Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

GPRS: General Packet Radio Service

• Packet Switched Extension of GSM• 1996: new standard developed by ETSI• Components integrated in GSM architecture• Improvements:

– Packet-switched transmission– Higher transmission rates on radio link (multiple

time-slots)– Volume based charging ‚Always ON‘ mode

possible• Operation started in 2001 (Germany)

Page 47: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 47Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

GPRS - Architecture

PDN

Other

PLMN

GSM GPRS

BTS

CCU

MSC

BSC

PCU

HLR GR

GGSN

Components

A Abis Gb Gp

Gs

Gn

G Gr

Gi

UmBSS

SGSN

MS

Components:• CCU: Channel Coding Unit

• PCU: Packet Control Unit

• SGSN: Serving GPRS Support Node

• GGSN: Gateway GPRS Support Node

• GR: GPRS Register

Transmission: • Packet Based Transmission• Radio link:

– Radio transmission identical to GSM– Different coding schemes (CS1-4)– Use of Multiple Time Slots

• Volume Based Charging

Page 48: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 48Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP/IP in GPRS

• No end-2-end IP Routing in GPRS network• Fragmentation in LLC frames & RLC blocks• Potential bottleneck: air-interface (10-50kbit/s)

Page 49: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 49Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

GPRS Boundary conditions & Simulation Parameters

GPRS Boundary conditions• RTT between 700ms and 1sec (for 40 Byte packet with no queueing delay)• Possible modes: RLC Ack/unAck mode, LLC Ack/unAck mode• Coding Scheme 2 raw 13.4 kb/s per Time-Slot)• Possible use of 1-4 downlink time-slots supported in practice (here: 3 time-slots)• Cell Reselection: between 5-40 seconds disruption of data connection

Simplified Simulation Model (TCP Reno, fixed packet size, constant transmission delays, no delayed Acks)

Two Scenarios:• Packetsize 1460 Bytes: Max Throughput (L4) 33kbit/sec• PacketSize 536 Bytes: Max Throughput (L4) 31.5kbit/sec

Page 50: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 50Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

TCP Throughput in simplified GPRS Setting

RecWin limits throughput for large connections

Throughput in short connections reduced due to slow-start

Scenario without congestion (single TCP connection)

[Correction: y-axis in kbit/s]

Page 51: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 51Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Other issues: Choice of Maximum Segment Size

Parameters: Coding Scheme 2 Downlink: 4 time-slots Uplink: 1 time-slot Max. Window Size 8100B No Impact of Slow-Start No losses/congestion

Larger MSS reduces overhead But increases RTT

Page 52: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 52Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Solution in Practice: Proxies (Split-TCP)

E.g. ‚Mobile Smart Proxy‘ (MSP):• TCP Optimizations (Larger initial window, etc.)• Content caching and compression (http)• User authentication (Radius) and access control• Content aware billing

GPRSBackbone

SGSN GGSNBSC

HTTP Server

RADIUS

DHCP

Core Network InternetRAN

MSP

Page 53: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 53Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Content

1. Background • IP, Transport Layer Protocols (UDP,

TCP, SCTP, RTP)

2. TCP functionality• Connection

establishment/termination• flow/congestion control (slow-start,

congestion avoidance, fast retransmit, fast recovery)

3. TCP Performance Aspects• Performance parameters• Simulation Results• Performance Models, in particular

fix-point models (using M/M/1/K queue)

5. Wireless TCP

• Problem statement

• Performance degradation

• TCP Improvements: split-TCP, link-layer approaches (SNOOP), end-2-end approaches (SACK)

6. Use Case: TCP in GPRS

• Architecture, Properties, TCP Improvements

7. Summary/Conclusions

8. Outlook

Exercises

Page 54: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 54Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Outlook: research topics, Wireless TCP

• TCP optmizations– Cross-layer– Trade-off congestion behavior & wireless link performance

enhancement • (Wireless) TCP modeling• TCP in ad-hoc networks

Other interesting topics (not touched in this lecture):• Scheduling for TCP traffic (e.g. Random Early Dropping RED)• TCP and QoS architectures/mechanisms (e.g. starvation)• TCP over satellite links

Page 55: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 55Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

References

• IETF (www.ietf.org)– RFCs: UDP (768), TCP (793,1122, 1072, 1106, 1110, 2018, 2414, 2582), SCTP (2719,

2960), RTP (1889)– WGs: PILC,TCPSAT

• W. Stevens: TCP/IP illustrated, Vol.1. Addison-Wesley 1994.• TCP modeling

– Padhye, Firoiu, Towsley, Kurose: Modeling TCP throughput: A simple model and its empirical validation. ACM SIGCOMM, 1998.

– Heyma, Lakshman, Neidhardt: A new method for analysing feedback-based protocols with applications to engineering web traffic over the Internet. ACM Sigmetrics, 1997.

– Schwefel: Behavior of TCP-like elastic traffic at a buffered bottleneck router. Infocom 2001.

• TCP Improvements:– Fall, Floyd: Simulation-based comparison of tahoe, reno, and tcp sack. Computer

Communication Review, 1996.• J. Schiller: ’Mobile Communications’. Addison-Wesley, 2000.• Tutorials, see next slide

Page 56: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 56Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

Acknowledgements• Student work (all TU Munich)

– Raimund Brandt (Seminar), Helmut Obermeier (Msc Thesis), Daniel Höllisch (Msc Thesis)

• InfotechLecture notes: IP Based Networks and Applications, Chapter 3 (J. Charzinski), www.jcho.de/jc/IPNA

• Tutorial: IP Technology in 3rd Generation mobile networks, Siemens AG (J. Kross, L. Smith, H. Schwefel)

• Lecture Notes: Networking Introduction (J. Kurose, K. Ross)

• Lecture notes: Mobile Communciations, Jochen Schiller, www.jochenschiller.de

• Tutorial: TCP for Wireless and Mobile Hosts (N. Vaidya), www.cs.tamu.edu/faculty/vaidya

• Siemens AG: D. Weber, S. Rugel, G. Reuss

Page 57: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 57Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

BACKUP

Page 58: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 58Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

GSM: Global System for Mobile Communication

• 2nd Generation of Mobile Telephony Networks• 1982: Groupe Spèciale Mobile (GSM) founded• 1987: First Standards defined• 1991: Global System for Mobile

Communication, Standardisation by ETSI (European Telecommunications Standardisation Institute) - First European Standard

• 1995: Fully in Operation

History:

Page 59: Page 1 Tatiana K. Madsen Hans Peter Schwefel Wireless Data Communication: MM4, Wireless TCP, Fall03 Wireless Data Communication tatiana/WDC

Page 59Tatiana K. Madsen

Hans Peter SchwefelWireless Data Communication: MM4, Wireless TCP, Fall03

GSM – Architecture

Components:• BTS: Base Transceiver Station• BSC: Base Station Controller• MSC: Mobile Switching Center• HLR/VLR: Home/Visitor Location

Register• AuC: Authentication Center• EIR: Equipment Identity Register• OMC: Operation and

Maintenance Center

Transmission: • Circuit switched transfer• Radio link capacity: 9.6 kb/s

(FDMA/TDMA)• Duration based charging

BSC

BSC

MS

BTS

BTS

BTS

MS

MS

MSC

HLR

VLR

OMC

EIR

AuC

O

Abis AUm

Radio Link

Base StationSubsystem

Network andSwitchung Subsystem

OperationSubsystem

Connection toISDN, PDNPSTN

Radio Subsystem (RSS)