260 likes | 386 Views
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.
E N D
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 • 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
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
Considered Scenarios Wireless supporting Network Proxy Wired Network Mobile Host Server • Definition: „A Scenario consists of the network infrastructure, mobility and network traffic.“ • Network Infrastructure: • Access Technology • Proxy Location • Sender / Receiver Location • Network configuration
Considered Scenarios BSC GPRS Network WLAN AP • 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 Switch Mobile Node WLAN AP Router WLAN AP
Implementation of TCP Proxy - Idea Split TCP Idea: Sender Receiver TCP Proxy Application Application Split TCP-Daemon TCP TCP TCP TCP IP IP IP IP LL / PHY LL / PHY LL / PHY LL / PHY
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
Implementation of TCP Proxy – Network setup Delft Spjald Aalborg Toronto Toronto Legend: Proxy Router 10.10.254.254 100 MBit/s Switch 8 MBit/s 8 MBit/s Tokyo WLAN Access Point 100 MBit/s 100 MBit/s Fixed Host 10.10.4.X 100 MBit/s Mobile Host Server Mobile Node San Francisco 10.10.1.254 Policy-Based Routing applied
Implementation of TCP Proxy – Software Architecture Split TCP daemon Connection Connection establish connection Connection Connection Connection Connection close connection Send data Send data Data buffer Process packet Create packet(s) (Mirror) Packet-buffer Packet-buffer decode encode NIC NIC
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
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
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)
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
Evaluation – Distances in WLAN Legend: Room 4 WLAN Access Point Position #4 Mobile Host Room 3 Room 2 Position #1 Room 1 Position #3 Position #2
Evaluation – Distances in WLAN • Measurement Options: • AP transmission power: 30mW • Transmission time: 10s • Proxy turned off
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
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
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
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
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,....
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: dennis@kom.auc.dk
Thanks for listening! Any Questions?
Current IPLab network architecture IP LAB: Current Architecture Aalborg Shanghai Internet Toronto 10.10.2.254 Spjald 10.10.3.254 10.10.4.2 10.10.254.254 10.10.3.1 San Francisco 130.225.51.6 Tokyo Frankfurt Delft GPRS Network 10.10.2.1 10.10.1.1 Toronto Shanghai 10.10.1.254 10.10.1.2 10.10.2.2 Sydney Dhaka