460 likes | 641 Views
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.
E N D
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
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
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
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
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)
Evaluation - Metrics • Instantaneous Throughput • Instantaneous Averaged Throughput • Transmission Throughput • Round-Trip-Times (RTT) • Nr. of packets • Nr. of retransmitted bytes • Nr. of retransmission timeouts
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
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
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
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
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
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
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
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
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
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 • 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
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
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
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
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 • 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
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
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
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
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
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
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
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