26
Slide 1 of 23 Implementation and Evaluation of a Performance Enhancing Proxy for Wireless TCP Master Thesis Project (Sep 03 – April 04) Dennis Dungs Technical University Munich, Germany Aalborg University, Denmark Januar 2004 Supervised by Hans-Peter Schwefel Aalborg University, Denmark

Implementation and Evaluation of a Performance Enhancing Proxy for Wireless TCP

Embed Size (px)

DESCRIPTION

Implementation and Evaluation of a Performance Enhancing Proxy for Wireless TCP. Master Thesis Project (Sep 03 – April 04) Dennis Dungs Technical University Munich, Germany Aalborg University, Denmark Januar 2004 Supervised by Hans-Peter Schwefel Aalborg University, Denmark. Agenda. - PowerPoint PPT Presentation

Citation preview

Slide 1 of 23

Implementation and Evaluation of a Performance Enhancing Proxy for Wireless

TCP

Master Thesis Project (Sep 03 – April 04)

Dennis DungsTechnical University Munich, Germany

Aalborg University, Denmark

Januar 2004

Supervised byHans-Peter Schwefel

Aalborg University, Denmark

Slide 2 of 23

Agenda

• Goal and steps of this project• Considered Scenarios

– Infrastructure– Mobility– Network traffic

• Implementation– Network setup– Proxy design

• Evaluation of some scenarios• Future Outline• Current Problems

Slide 3 of 23

Goal of this project

• Goal:– Identify TCP performance lacks in wireless scenarios– Evaluate performance capabilites of a TCP Proxy

• Steps– Getting familiar with concepts of TCP– Research about common TCP implementations– Describing wireless scenarios– Analyzing TCP performance and Identifying TCP

performance lacks in wireless scenarios– Designing and Implementing a TCP Proxy– Evaluation of Scenarios using the TCP Proxy

Slide 4 of 23

Considered Scenarios

• Definition:„A Scenario consists of the network infrastructure, mobility and network traffic.“

• Network Infrastructure:– Access Technology– Proxy Location– Sender / Receiver Location– Network configuration

Proxy

Server

Wired Network

MobileHost

Wirelesssupporting Network

Slide 5 of 23

Considered Scenarios

• Mobility– Fixed position– Handover to same subnet– Handover to different subnet– Handover to new access technology

BT -> WLAN -> GPRS -> W-CDMA

• Network traffic– Size of transmitted data– Used bandwith– Single-/Multi-User– Cross-traffic

BSC

WLAN AP

Mobile Node

WLAN AP

WLAN AP

GPRSNetwork

Router

Switch

Slide 6 of 23

Implementation

Slide 7 of 23

Implementation of TCP Proxy - Idea

Application

Split TCP Idea:

Sender Receiver

Split TCP-Daemon

TCP

IP

LL / PHY

Application

TCP

IP

LL / PHY

TCP

IP

LL / PHY

TCP

IP

LL / PHY

TCP Proxy

Slide 8 of 23

Implementation of TCP Proxy - Options

• IP-Header-Option-Solution– Add original IP-Destination-Adress to IP-Header Option– Send every IP packet to Proxy– Unpack IP-packets at Proxy and start a „normal“ TCP/IP-Connection– Disadvantage: Changes in TCP/IP-Stack of connection initiator necssary

• IP-Tunneling– Tunnel the IP-packets from connection initiator to Proxy– Unpack IP-packets at Proxy and start a „normal“ TCP/IP-Connection– Disadvantage: additional IP-Overhead

• Hardware - Solution– Proxy directly integrated in Sender-Receiver-Path– Disadvantage: Different Scenarios need different locations of proxy ->

Maintainance efforts

• ARP – Solution– „emulate“ IP Adresses by faking IP-MAC-Maps– Disadvantage: Difficult to maintain maps– Disadvantage: Timing problems

• Routing-Solution

Slide 9 of 23

Implementation of TCP Proxy – Network setup

10.10.4.X

Tokyo Delft

Legend:Proxy

Aalborg

Fixed Host

Mobile Host

Spjald

Router

10.10.254.254

Mobile Node San Francisco

Toronto

Server

10.10.1.254

TorontoSwitch

WLAN Access Point

8 MBit/s 8 MBit/s

100 MBit/s100 MBit/s

100 MBit/s

100 MBit/s

Policy-Based Routing applied

Slide 10 of 23

Implementation of TCP Proxy – Software Architecture

NIC

Packet-buffer

NIC

Packet-buffer

decode encode

ConnectionConnection

ConnectionConnection

Connection ConnectionSend data

establish connection

close connection

Process packet Create packet(s)

Send data

Data buffer

(Mirror)

Split TCP daemon

Slide 11 of 23

Implementation of TCP Proxy – Current Features

• Mirroring• Split TCP:

– TCP Reno implementation– Slow start– Congestion avoidance– Retransmission timer (partially)– Fast retransmission– Delayed ACKs– Adjustable Maximum Segment Size– Adjustable data buffer– Asymetrical TCP setup

Slide 12 of 23

Evaluation

Slide 13 of 23

Evaluation - Parameters

• Throughput over time

• Round-Trip-Times (RTT)– Average– Jitter

• Transmission time

• Nr. of packets

• Nr. of retransmitted bytes

• Nr. of timeouts– Transmission timeouts

Slide 14 of 23

Evaluation – Measurement Procedure

• IPerf – Setup a TCP connection from sender to receiver– Send data from sender to receiver at maximum

bandwith

• Ethereal – Trace packets at sender and receiver in real-time into

a file

• TCPTrace – Generate TCP Statistics offline

• GNUPlot– Visualizing TCP Statistics (RTT Graphs, Throughput

Graphs)

Slide 15 of 23

Evaluation – RTTs in WLAN

• Comparison of RTTs in WLAN– AP transmission power: 30 mW– Distance to AP: 20 cm– Transmission period: 10 s– TCP Proxy configuration:

• Delayed ACKs off• No Buffer Thresholding• MSS: 1460 Bytes

Samples Average Max Min Std. Dev.

No Proxy 2494 16 ms 57 ms 3 ms 3 ms

Mirror 2500 21 ms 60 ms 3 ms 5 ms

Split TCP Proxy

4455 22 ms 70 ms 3 ms 5 ms

Slide 16 of 23

Evaluation – Distances in WLAN

Room 4

Room 3

Room 2

Room 1 Position #1

Position #2

Position #3

Position #4

Legend:

Mobile Host

WLAN Access Point

Slide 17 of 23

Evaluation – Distances in WLAN

Measurement Options:•AP transmission power: 30mW•Transmission time: 10s•Proxy turned off

Slide 18 of 23

Evaluation – Delayed ACKs in WLAN

Measurement Options:•AP transmission power: 30mW•Distance to AP: 20cm•Transmission amount: 30MB•Symmetrical TCP setup

•Delay Timer: 500ms•MSS: 1460 bytes•No Buffer Thresholding

Slide 19 of 23

Evaluation – Delayed ACKs in WLAN

Measurement Options:•AP transmission power: 30mW•Distance to AP: 20cm•Transmission amount: 30MB•Symmetrical TCP setup:

•Delayed ACKs: 3•MSS: 1460 bytes•No Buffer Thresholding

Slide 20 of 23

Evaluation - WLAN

• More Results (not shown here):– Test-setup (Ethereal) results in bursty captures– Impact of TCP Proxy on Wired->Wired scenario

comparable to WLAN– Sender correlates to Receiver in WLAN– Upstream correlates to Downstream in WLAN – No TCP Retransmissions over WLAN

• Conclusions:– L2-Retransmissions efficient in tested WLAN

scenarios– Standard TCP efficient in tested WLAN scenarios

Slide 21 of 23

Future Outline

• Implementation:– Developing TCP-Mechanism for Handover-Detection– FreezeTCP

• Freeze Sender by advertising a zero Window• Recover sender by:

– 3 Duplicate ACKs (slow-start)– 1 Non-Zero Window ACK (fast recovery)

• Evaluation:– Impact of Buffer-Thresholding– Multi-User WLAN Scenarios– GPRS– Bluetooth– W-CDMA– MobileIP / Handover Scenarios

Slide 22 of 23

Current Problems

• Ethereal not working with PPP in Windows NT/2000/XP (-> BT LAN, GPRS)

• No globally routable IP-Address available in GPRS

• Handover to same subnet: switching table• MobileIP not running• MobileIP-Setup over GPRS• No Bluetooth Equipment available• No W-CDMA Equipment available• Bugs,....

Slide 23 of 23

References

• Project WebSite: http://kom.auc.dk/~dennis/

• IPLab WebSite:

http://kom.auc.dk/iplab/

• WLAN Evaluation Project:

http://kom.auc.dk/~ruipt/

• RFCs : RFC791 (IP), RFC793 (TCP)

• eMail: [email protected]

Slide 24 of 23

Thanks for listening!

Any Questions?

Slide 25 of 23

Backup

Slide 26 of 23

Current IPLab network architectureIP LAB: Current Architecture

Delft

Internet

Toronto

Frankfurt

Shanghai

Sydney Dhaka

Tokyo

San Francisco 130.225.51.6

10.10.1.210.10.2.2

10.10.2.1 10.10.1.1

Aalborg

10.10.2.254

Spjald10.10.4.2

10.10.1.254

Shanghai

10.10.3.254

10.10.254.254

Toronto10.10.3.1

GPRS Network