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 Final Presentation - April 04 Supervised by Hans-Peter Schwefel Aalborg University, Denmark Slide 1 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 Influence of Handovers – Bluetooth • UDP and TCP throughput • TCP Proxy – Implementation • Proxy design • Network setup – Proxy Eval • Influence on RTT & Throughput • Conclusion Slide 2 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 • TCP Proxies are a known concept to overcome those problems 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 Slide 3 Scenarios Slide 4 Scenarios and Limitations • Network Architecture – – – – • Mobility Model – – – – • 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 Link Proxy Location: fixed Proxy location Fixed Position Handover to same subnet Handover to different subnet (considered) Handover to different access technology Traffic Model – – – – – – – Type of Transport Layer Protocol 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 Slide 5 Evaluation Method Slide 6 Evaluation – Measurement Procedure • IPerf – Setup a UDP/TCP connection from sender to receiver – Send data from sender to receiver at maximum bandwidth (TCP) or given bandwidth (UDP) • 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) Slide 7 Evaluation - Metrics • Instantaneous Throughput payloadsiz en Inst (n) t n t n 1 • Instantaneous Averaged Throughput nk Avgerage(i ) payloadsiz e l l n 1 tn k tn , n k * (i - 1), k const. • Transmission Throughput n transmission (n) • • • • payloadsiz e i i 1 t n t1 Round-Trip-Times (RTT) Nr. of packets Nr. of retransmitted bytes Nr. of retransmission timeouts Slide 8 WLAN 802.11b Evaluation Slide 9 Evaluation - General Eval on WLAN 802.11b Legend: Router 8 MBit/s 8 MBit/s Aalborg Tokyo Delft 100 MBit/s Toronto Switch 100 MBit/s WLAN Access Point Shanghai Toronto Fixed Host 100 MBit/s 100 MBit/s Server Dhaka Downstream 10.10.3.254 Mobile Node 1 Slide 10 Mobile Host Evaluation - General Eval on WLAN 802.11b Slide 11 Evaluation - General Eval on WLAN 802.11b Slide 12 Evaluation - General Eval on WLAN 802.11b Slide 13 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 Slide 14 Evaluation – BERs in WLAN 802.11b Legend: Room 4 Position #4 WLAN Access Point Mobile Host Room 3 Room 2 Room 1 Position #1 Position #3 Position #2 Slide 15 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 Slide 16 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 Slide 17 Evaluation – Crosstraffic in WLAN 802.11b Legend: Crosstraffic Connection Router 8 MBit/s 8 MBit/s Aalborg 100 MBit/s Toronto Tokyo Delft TCP Connection 100 MBit/s Shanghai Switch WLAN Access Point Fixed Host Toronto 100 MBit/s 100 MBit/s Server Dhaka San 10.10.3.254 Francisco 10.10.1.X Mobile Node 2 Mobile Node 1 Slide 18 Mobile Host Evaluation – Crosstraffic in WLAN 802.11b Slide 19 Evaluation – Handovers in WLAN 802.11b Server Shanghai Legend: Frankfurt 10.10.2.254 Router 8 MBit/s 8 MBit/s Aalborg Home Agent Tokyo Delft 100 MBit/s 100 MBit/s Toronto Switch Foreign Agent WLAN Access Point Shanghai 10.10.1.254 100 MBit/s Downstream Toronto 100 MBit/s Dhaka Istanbul 10.10.1.X 10.10.3.X Mobile Node 1 Slide 20 10.10.3.254 Fixed Host Mobile Host Evaluation – Handovers in WLAN Slide 21 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 Slide 22 Bluetooth Evaluation Slide 23 Single Connection over Bluetooth - Scenario Legend: Router 8 MBit/s 8 MBit/s Aalborg Tokyo Delft Toronto 100 MBit/s Switch 100 MBit/s Shanghai Toronto Bluetooth Access Point 100 MBit/s 100 MBit/s Fixed Host Server China 10.10.3.254 10.10.1.X Downstream Mobile Node Slide 24 Mobile Host Single UDP Connection over Bluetooth Slide 25 Single UDP Connection over Bluetooth Slide 26 Single TCP Connection over Bluetooth Slide 27 Single TCP Connection over Bluetooth Slide 28 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 Slide 29 TCP Proxy: Implementation and Evaluation Slide 30 Implementation of TCP Proxy - Idea Split TCP Idea: Sender TCP Proxy Receiver Application Split TCP-Daemon Application TCP TCP TCP TCP IP IP IP IP LL / PHY LL / PHY LL / PHY LL / PHY Slide 31 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 Slide 32 Implementation of TCP Proxy – Network setup Legend: Proxy Router 10.10.254.254 100 MBit/s Aalborg Toronto 8 MBit/s 8 MBit/s Tokyo Switch Delft WLAN Access Point 100 MBit/s Dhaka 10.10.1.X 100 MBit/s Fixed Host Toronto 100 MBit/s Mobile Host Server Mobile Node San 10.10.3.254 Francisco Slide 33 Policy-Based Routing applied Implementation of TCP Proxy – Software Architecture Split TCP Daemon Split-TCP Connection establish Notify(old state, new state) Get data send data close TCP Connection TCP Connection Data buffer Data buffer Process known TCP packet Packet Router Find Connection Pop packet Push packet(s) Connection Pool Forward unknown packet Packet Listener Packet sender packet buffer packet buffer Encode and send Capture and decode NIC NIC Slide 34 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 Slide 35 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 36 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 Slide 37 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 Slide 38 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 Slide 39 Network Setup in MIP scenario Correspondent Host Visited Network Home Network IP network Mobile Node Foreign Agent TCP Proxy Home Agent • • • • • 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 nonzero 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 Slide 40 Evaluation – RTTs in WLAN Slide 41 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 Slide 42 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 Slide 43 Thanks for listening! Slide 44 Backup Slide 45 Current IPLab network architecture IP LAB: Current Architecture Spjald 10.10.3.254 10.10.4.2 10.10.254.254 Shanghai 10.10.3.1 Toronto Aalborg Internet San Francisco 130.225.51.6 Delft GPRS Network Tokyo Frankfurt 10.10.2.1 10.10.1.1 Toronto Shanghai 10.10.2.254 10.10.2.2 10.10.1.254 10.10.1.2 Sydney Dhaka Slide 46