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
26
Embed
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.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.“
• 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
• 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,....