1 / 46

Implementation and Evaluation of a Performance Enhancing Proxy for Wireless TCP

Implementation and Evaluation of a Performance Enhancing Proxy for Wireless TCP. Diploma Thesis (Sep 03 – April 04) Dennis Dungs Technical University Munich, Germany Aalborg University, Denmark Final Presentation - May 04 Supervised by Hans-Peter Schwefel Aalborg University, Denmark.

maura
Download Presentation

Implementation and Evaluation of a Performance Enhancing Proxy for Wireless TCP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementation and Evaluation of a Performance Enhancing Proxy for Wireless TCP Diploma Thesis (Sep 03 – April 04) Dennis Dungs Technical University Munich, Germany Aalborg University, Denmark Final Presentation - May 04 Supervised by Hans-Peter Schwefel Aalborg University, Denmark

  2. Overview • Motivation of Master Project • Scenarios • Network Architecture • Traffic Model • Mobility Model • Evaluation Method • Metrics • Measurement Procedure • TCP performance evaluation of wireless access technologies • WLAN 802.11b • General Eval • Influence of High Bit Error Rates • Influence of Cross-Traffic (left out) • Influence of Handovers • Bluetooth • UDP and TCP throughput • TCP Proxy • Implementation • Proxy design • Network setup • Proxy Eval • Influence on RTT & Throughput • Conclusion

  3. Motivation Motivation: • TCP performs good in wired scenarios • Two assumptions in wired TCPs: • No disconnections • Bit Error Rate (BER) very low • Packets are only dropped in case of congestion • Wireless links do not follow these assumptions: • Disconnections due to handovers • High BER Can a TCP Proxy enhance TCPs performance over a IEEE 802.11b (WLAN) or a Bluetooth link? • Goals: • Identify TCP performance lacks in different wireless scenarios in an experimental network • Implement TCP Proxy • Network Integration • Software Design & Implementation • Evaluate TCP Proxy based on TCP performance lacks

  4. Scenarios

  5. Scenarios and Limitations • Network Architecture • Access Technology of mobile node: WLAN (IEEE 802.11b) and Bluetooth • Number of hops: Last single wireless hop • Link Layer types of intermediary links: FastEthernet and 8 MBit/s Serial Links • Proxy Location: fixed Proxy location with no handover support • Mobility Model • Fixed Position • Handover to same subnet • Handover to different subnet (considered) • Handover to different access technology • Traffic Model • Type of Transport Layer Protocol (UDP /TCP) • Size of transmitted data / transmission duration • Number of simultaneous connections • Unidirectional / Biderectional • Constant packet rate / packet burst • Bandwidth • Limited to: • Unidirectional TCP stream • Unidirectional, constant packet rate UDP stream • Unidirectional bursty ON/OFF stream

  6. Evaluation Method

  7. Evaluation – Measurement Procedure • IPerf / UDPBurst • Setup a UDP/TCP connection from sender to receiver • Send data from sender to receiver at maximum bandwidth (TCP) or given bandwidth (UDP) • UDPBurst to generate bursty ON/OFF-Traffic • Ethereal • Trace Ethernet packets at sender and receiver in real-time into a file • Traces arrival times of packets t(n) and contents of Ethernet packets • TCPTrace • Generate TCP Statistics offline • Matlab • Generating UDP Statistics offline • Calculating statistical parameters • GNUPlot • Visualizing TCP Statistics (RTT Graphs, Throughput Graphs)

  8. Evaluation - Metrics • Instantaneous Throughput • Instantaneous Averaged Throughput • Transmission Throughput • Round-Trip-Times (RTT) • Nr. of packets • Nr. of retransmitted bytes • Nr. of retransmission timeouts

  9. WLAN 802.11b Evaluation

  10. Evaluation - General Eval on WLAN 802.11b Delft Dhaka Aalborg Shanghai Toronto Toronto Mobile Node 1 Legend: Router 8 MBit/s 8 MBit/s Tokyo Switch 100 MBit/s 100 MBit/s WLAN Access Point Fixed Host 100 MBit/s 100 MBit/s Mobile Host Server Downstream 10.10.3.254

  11. Evaluation - General Eval on WLAN 802.11b

  12. Evaluation - General Eval on WLAN 802.11b

  13. Evaluation - General Eval on WLAN 802.11b

  14. Evaluation - General Eval on WLAN 802.11b • Observations: • TCP downstream reaches 720 kByte/s, upstream 650 kByte/s • TCP degrades throughput by 16% compared to UDP (downstream) • RTTs in upstream vary wide, vary less in downstream • Most influences in upstream result from strange behaviour of 3COM WLAN card

  15. Evaluation – BERs in WLAN 802.11b Legend: Room 4 WLAN Access Point Position #4 Mobile Host Room 3 Room 2 Position #1 Room 1 Position #3 Position #2

  16. Evaluation – BERs in WLAN 802.11b • Measurement Options: • AP transmission power: 30mW • MN transmission power 50mW • Transmission time: 10s • Proxy turned off • RTS/CTS off • WEP enabled

  17. Evaluation - BERs in WLAN 802.11b • Observations: • NIC reported good signal strength and quality in 1,2,3 and poor signal strength and quality in 4 • Position 1,2 and 3 gain comparable throughput • Only Position 4 suffers from bad channel quality and high BER • No TCP retransmissions observed in all 4 cases • Same behaviour in upstream case • ARQ used by WLAN efficient mechanism to hide BERs from TCP • IP layer provides reliable, but less performant datagram service in bad channel condition situations • TCP can adopt very accurate to those conditions

  18. Evaluation – Handovers in WLAN 802.11b Delft Dhaka Istanbul Aalborg Frankfurt Shanghai Toronto Shanghai Toronto Mobile Node 1 Server Legend: 10.10.2.254 Router 8 MBit/s 8 MBit/s Tokyo Switch 100 MBit/s Home Agent 100 MBit/s Foreign Agent WLAN Access Point 10.10.1.254 Fixed Host 10.10.3.254 100 MBit/s 100 MBit/s Mobile Host Downstream 10.10.1.X 10.10.3.X

  19. Evaluation – Handovers in WLAN

  20. Evaluation – Handovers in WLAN • Observations: • TCP connection restarts after 29s, although receiver available after 16s. • 11s of handover time due to problems in IP assignment (DHCP) • 5s for signaling MIP and IP-Tunnel setup. • 10 runs showed comparable performance • TCP performs poor due to exponential backoff of the retransmission timer

  21. Bluetooth Evaluation

  22. Single Connection over Bluetooth - Scenario Delft China Aalborg Toronto Shanghai Toronto Legend: Router 8 MBit/s 8 MBit/s Tokyo Switch 100 MBit/s 100 MBit/s Bluetooth Access Point 100 MBit/s 100 MBit/s Fixed Host Server Mobile Host 10.10.3.254 10.10.1.X Downstream Mobile Node

  23. Single UDP Connection over Bluetooth

  24. Single UDP Connection over Bluetooth

  25. Single TCP Connection over Bluetooth

  26. Single TCP Connection over Bluetooth

  27. Single TCP Connection over Bluetooth • Possible Reasons for throughput jumps • Traffic in low-bandwidth direction • Packet Scheduler has to send more data • Adjusting to „more symmetric“ bandwidth • Flow Control on Baseband • Interference • Channel quality driven data rate change (CQDDR) • Adhoc – Scenario: • Same throughput jumps (UDP & TCP) as in AP-scenario, but less likely • Higher average throughput • No significant differences between WinXP (WidComm-Stack) and Linux (BlueZ-Stack) • Conclusion: • Some factors could cause the throughput-dropdown • Difficult to analyze TCP performance lacks, if underlying behaviour unclear • To get deeper understandings, packet trace tool for Baseband is needed • Bluetooth uses ARQ, thus hiding BERs to TCP is expected

  28. TCP Proxy: Implementation and Evaluation

  29. 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

  30. Implementation of TCP Proxy - Options • Non-transparent solutions • 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 mobile node necssary • IP-Tunneling • Tunnel the IP-packets from mobile node to Proxy • Unpack IP-packets at Proxy and start a „normal“ TCP/IP-Connection • Disadvantage: additional IP-Overhead • Transparent solutions • 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 • Adjusting routing tables with policy based routing (PBR) • Disdvantage: Processing time for PBR much higher

  31. Implementation of TCP Proxy – Network setup Delft Dhaka 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.1.X 100 MBit/s Mobile Host Server Mobile Node San Francisco 10.10.3.254 Policy-Based Routing applied

  32. Implementation of TCP Proxy – Software Architecture Data buffer Split TCP Daemon Split-TCP Connection establish send data Notify(old state, new state) Get data close TCP Connection TCP Connection Data buffer Process known TCP packet Push packet(s) Find Connection Packet Router Connection Pool Pop packet Forward unknown packet Packet Listener Packet sender packet buffer packet buffer Encode and send Capture and decode NIC NIC

  33. Implementation of TCP Proxy – Current Features • Mirroring • Split TCP: • TCP Reno implementation • Slow start • Congestion avoidance • Fast retransmission • Delayed ACKs • Adjustable Maximum Segment Size • Adjustable data buffer • Asymetrical TCP setup

  34. 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

  35. Evaluation – Delayed ACKs in WLAN • Observations: • Higher number of delayed ACKs leads to higher maximum throughput • Drawback: Higher number of delayed ACKs lead to a slow slow-start, since in first RTT, some retransmissions are needed to trigger one ACK

  36. Evaluation – Delay ACK timer 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

  37. Evaluation – Delay ACK timer in WLAN • Observations: • The shorter the DelayACK timer, the faster the connection reaches steady state • The shorter the DelayACK timer, the higher the probability to send an ACK without necessity • 50ms timer seems to be the best tradeoff between fast connection setup and low probability of unnecesarily sending ACKs in 10s connections. • Linux/Windows send a small initial packet to force an ACK

  38. Network Setup in MIP scenario Mobile Node Home Agent Foreign Agent TCP Proxy • Home Agent uses TCP proxy as gateway • Reverse Tunneling forced to intercept packets from MN to CN • TCP Proxy uses MIP messages to determine MN connectivity • CN is frozen by automatically sending a Zero Window Advertisment • TCP Proxy starts sending data after receiving a MIP response and recovers CN by sending a non-zero Window Advertisment • The TCP Proxy was successfully enhanced with the new routing feature in upstream • MIP messages are decoded and „inform“ the TCP connection • BUT: Some problems in downstream could not be solved to overcome the handover problem of TCP Correspondent Host Visited Network Home Network IP network

  39. Evaluation – RTTs in WLAN

  40. Conclusion • Conclusion: • Wireless LAN: • ARQ hides high BERs to TCP • TCP performs good under such conditions • Disconnections can degrade TCPs performance • Bluetooth: • Behaviour of underlaying layers unclear • Bluetooth also uses ARQ that hides high BERs to TCP • Disconnections have not been evaluated • TCP Proxy: • Mirror adds additional RTTs, but Proxy seems to lower RTTs, but further evaluation needed • Coupling MIP to the TCP Proxy is expected to enhance TCPs performance in handover situations

  41. References • Project WebSite: • http://kom.auc.dk/~dennis/ • IPLab WebSite: • http://kom.auc.dk/iplab/ • WLAN Evaluation Project: • http://kom.auc.dk/~ruipt/ • Specifications: • IEEE 802.11b (WLAN) • Bluetooth SIG, Bluetooth Specification v1.1 • RFCs : • RFC791 (IP) • RFC793 (TCP) • eMail: • dennis@kom.auc.dk • dungs@in.tum.de

  42. Thanks for listening!

  43. Backup

  44. Evaluation – Crosstraffic in WLAN 802.11b Delft Dhaka Aalborg Shanghai Toronto Toronto Mobile Node 2 Mobile Node 1 Legend: Crosstraffic Connection Router 8 MBit/s 8 MBit/s Switch Tokyo 100 MBit/s TCP Connection 100 MBit/s WLAN Access Point Fixed Host 100 MBit/s 100 MBit/s Server Mobile Host San Francisco 10.10.3.254 10.10.1.X

  45. Evaluation – Crosstraffic in WLAN 802.11b

  46. 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

More Related