White Paper. Connection Multiplexing Understanding Array TCP Offload Technology

Similar documents
Deployment Guide July-2014 rev. a. Deploying Array Networks APV Series Application Delivery Controllers with Oracle WebLogic 12c

Deployment Guide Sept-2014 rev. a. Load Balancing Windows Terminal Server with Session Directory Using Array APV Series ADCs

Deployment Guide May-2015 rev. a. APV Oracle PeopleSoft Enterprise 9 Deployment Guide

Deployment Guide Mar-2016 rev. a. Integrating the Array Standalone Client with RSA Token Automation

Acceleration Performance Tests for IBM Rational ClearTeam Explorer

Deployment Guide Jan-2016 rev. a. Deploying Array Networks APV Series Application Delivery Controllers with Oracle WebLogic 12c

Deployment Guide Sept-2014 rev. a. Array Networks Deployment Guide: AG Series and DesktopDirect with VMware Horizon View 5.2

Deployment Guide July-2014 rev. a. Deploying Array Networks APV Series Application Delivery Controllers for Microsoft Lync Server 2013

Global Server Load Balancing

Deployment Guide July-2015 rev. A. Deploying Array Networks APV Series Application Delivery Controllers with VMware Horizon View

How to Make the Client IP Address Available to the Back-end Server

Cloud Agility with Performance

Array Networks & Microsoft Exchange Server 2010

This ADC is JUST Right

NetScaler carriergrade network

Deployment Guide May-2015 rev. A. Deploying Array Networks APV Series Application Delivery Controllers with Microsoft Exchange 2013

SaaS Optimized Application Delivery Bridging the Gap Between DevOps and Network Planning

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v9.x with Microsoft IIS 7.0 and 7.5

Background. Industry: Challenges: Solution: Benefits: APV SERIES CASE STUDY Fuel Card Web Portal

Integrating F5 Application Delivery Solutions with VMware View 4.5

SharePoint Performance Optimization

How To Use Netscaler As An Afs Proxy

A10 ADC Return On Investment

Load Balancing Clearswift Secure Web Gateway

DesktopDirect. White Paper. Tablet Access to Business Applications

Optimize Your Microsoft Infrastructure Leveraging Exinda s Unified Performance Management

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Citrix NetScaler and Microsoft SharePoint 2013 Hybrid Deployment Guide

Dell PowerVault MD Series Storage Arrays: IP SAN Best Practices


J-Flow on J Series Services Routers and Branch SRX Series Services Gateways

Solutions Guide. Deploying Citrix NetScaler with Microsoft Exchange 2013 for GSLB. citrix.com

DDoS Protection Technology White Paper

SSL VPN Evaluation Guide. Criteria for Choosing the Right SSL VPN

Deploying NetScaler Gateway in ICA Proxy Mode

Load Balancing Security Gateways WHITE PAPER

Proxy Server, Network Address Translator, Firewall. Proxy Server

IMPLEMENTATION OF INTELLIGENT FIREWALL TO CHECK INTERNET HACKERS THREAT

Network Design Best Practices for Deploying WLAN Switches

How To Set Up A Net Integration Firewall

Risks with web programming technologies. Steve Branigan Lucent Technologies

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

The Application Delivery Controller Understanding Next-Generation Load Balancing Appliances

Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks. An Oracle White Paper April 2003

IP SAN Fundamentals: An Introduction to IP SANs and iscsi

Improving Web Application Firewall Testing (WAF) for better Deployment in Production Networks January 2009 OWASP Israel

Setting up an icap Server for ISG- 1000/2000 AV Support

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5

Protecting and controlling Virtual LANs by Linux router-firewall

Intro to Firewalls. Summary

Peak Hosting, founded in 2001, provides comprehensive ITas-a-service

Increase Simplicity and Improve Reliability with VPLS on the MX Series Routers

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0

Microsoft SharePoint 2010 Deployment with Coyote Point Equalizer

Highly Available Unified Communication Services with Microsoft Lync Server 2013 and Radware s Application Delivery Solution

Array Purpose-Built SSL VPN

CIT 380: Securing Computer Systems

The Critical Role of an Application Delivery Controller

Network Address Translation (NAT) Adapted from Tannenbaum s Computer Network Ch.5.6; computer.howstuffworks.com/nat1.htm; Comer s TCP/IP vol.1 Ch.

Stingray Traffic Manager Sizing Guide

Voice Over IP Performance Assurance

Load Balancing Barracuda Web Filter. Deployment Guide

SiteCelerate white paper

Technical Brief. VBrick Rev & DME Interoperability with Cisco Wide Area Application Services (WAAS) and Akamai Connect

Accurate End-to-End Performance Management Using CA Application Delivery Analysis and Cisco Wide Area Application Services

Monitoring WAAS Using Cisco Network Analysis Module. Information About NAM CHAPTER

Getting More Performance and Efficiency in the Application Delivery Network

Table of Contents. Chapter 1: Installing Endpoint Application Control. Chapter 2: Getting Support. Index

Firewalls. configuring a sophisticated GNU/Linux firewall involves understanding

Network Security. Chapter 3. Cornelius Diekmann. Version: October 21, Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik

Availability Digest. Redundant Load Balancing for High Availability July 2013

APV9650. Application Delivery Controller

安 瑞 科 技 物 聯 網 對 應 用 交 付 器 (ADC) 的 需 求 及 應 用 實 例 徐 乃 丁 博 士 研 發 副 總 裁 / 技 術 長

Six Days in the Network Security Trenches at SC14. A Cray Graph Analytics Case Study

Application Note. Active Directory Federation Services deployment guide

Load Balancing McAfee Web Gateway. Deployment Guide

HP Intelligent Management Center v7.1 Network Traffic Analyzer Administrator Guide

CIT 480: Securing Computer Systems. Firewalls

Load Balancing Sophos Web Gateway. Deployment Guide

Cisco WAAS Express. Product Overview. Cisco WAAS Express Benefits. The Cisco WAAS Express Advantage

Alteon Global Server Load Balancing

White Paper. SSL vs. IPSec. Streamlining Site-to-Site VPN Deployments

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

Solutions Guide. Deploying Citrix NetScaler for Global Server Load Balancing of Microsoft Lync citrix.com

Deployment Guide. AX Series with Microsoft Office Communications Server

IP SAN BEST PRACTICES

How to Hack Millions of Routers. Craig Heffner, Seismic LLC

VPN. Date: 4/15/2004 By: Heena Patel

Project 4: (E)DoS Attacks

Question: 3 When using Application Intelligence, Server Time may be defined as.

Transcription:

Understanding Array TCP Offload Technology

Table of Contents White Paper Table of Contents Overview 3 Introduction 3 How Works 3 Understanding Array TCP Offload Technology 4 Figure 1: Array ADC configuration showing one-to-one connections 4 Technical Details of 5 Figure 2: Array ADC configuration showing many-to-one connection 5 Summary 6 About Array Networks 7 2

Overview When the number of connections coming to a server increases, eventually the server runs out of network resources. This does not necessarily mean the server doesn t have enough horsepower, memory, or bandwidth available, it simply means that the server s TCP/IP implementation wasn t meant for such a high rate of connection turnover. Enter connection multiplexing. Learn about: How connection multiplexing converts a large number of short connections to a lesser number of high-throughput connections Using connection multiplexing to take advantage of optimized bulk throughput server settings without changing configurations or content Doing more with less by implementing connection multiplexing technology Introduction It was a Friday afternoon that the problem first came up. Array Networks had just moved into their first real office, a mere two months after being born, when an engineer wanted to show off his latest performance improvements. Unfortunately, he found himself frustrated that the few servers he had were not enough to demonstrate the increases. The engineer spoke with Array Networks founder and CTO, about purchasing additional servers. With tight budgets and no outside investors yet, he had to say no to the request for additional servers. Thinking about the problem some more, he realized that his future customers would face similar situations as well. Going on an all-weekend hacking spree, the two designed and implemented a new feature: Connection Multiplexing. With the new feature in place, the CTO and his engineering team were able to demonstrate significant performance improvements using the same handful of servers built out of leftover parts. Marketing was impressed. A new feature was born. How Works Typical network topologies put Array APV Series application delivery controllers (ADCs) between Web clients and Web servers. In these situations, the APV appliance acts as an intermediary by accepting connections on behalf of the servers and then passing the connection onward if it meets the necessary security criteria. (i.e. the packet is not part of a DoS attack, etc.) 3

Clients A P V Server Figure 1: Array ADC configuration showing one-to-one connections Understanding Array TCP Offload Technology The result of such a configuration is a one-to-one correlation between connections sent by users and connections received by Web servers. While this may work okay in low-volume traffic, servers are often not designed to support a large number of concurrent connections with a high rate of connection turnover. When the number of connections coming to a server increases, the server eventually runs out of network resources. This does not necessarily mean the server doesn t have enough horsepower, memory, or bandwidth available, it simply means that the server s TCP/IP implementation wasn t meant for such a high rate of connection turnover. This situation is made worse by the fact that most TCP/IP stacks are not tuned for a large number of short connections, but rather for bulk throughput. Enter connection multiplexing. The purpose of connection multiplexing is to convert a large number of short connections into a few connections needing more throughput. This allows us to take advantage of the server s optimized bulk throughput settings without changing any configurations or content. Connection multiplexing works by taking advantage of a feature in HTTP/1.1 that allows for multiple HTTP requests to be made over the same TCP connection. So instead of passing each HTTP connection from the client to the server in a one-to-one manner, the APV application delivery controller combines many separate HTTP requests from clients into relatively few HTTP connections to the server. The APV keeps the connections to the server open across multiple requests, thus eliminating the high turnover typically encountered in high-volume web sites. Net result: higher performance out of the same servers without any changes or improvements to the server infrastructure. 4

Clients A P V Server Figure 2: Array ADC configuration showing many-to-one connection Technical Details of Array application delivery controllers work as a full proxies, thereby allowing them to perform connection multiplexing. With this feature, the Array ADC pre-opens several connections to the origin server and keeps them open. As connections come from various clients, the ADC attempts to reuse the pre-opened connections. The Array ADC will keep the connection to the server open until it receives a Connection: close HTTP header or TCP FIN packet from the server. Because of connection multiplexing, the Array ADC is able to take advantage of the Van Jacobson Header Prediction found in most TCP stacks (including Microsoft Windows 2000/.Net, Solaris, Linux, and the many flavors of BSD Unix). This feature of TCP stacks provides a fast path to move packets from the core operating system (kernel space) to the Web server application itself (user space) so long as each packet meets the following requirements: The packet s associated connection is established The SYN, FIN, RST, or URG flags must not be set The packet must acknowledge previously sent data The packet is in order The TCP window size has not changed Tests performed by W. Richard Stevens (author of the TCP/IP Illustrated Series, the now de-facto definition of TCP/IP) found that header prediction worked between 97 and 100% of the time in LAN environments, which is typically the case between Array ADCs and servers. 5

Another important benefit of connection multiplexing is that it removes the burden placed on servers to turn over new connections very frequently a process whose code path is often not as optimized as the path of a packet that meets the header prediction requirements. Furthermore, by not having to turn over new connections, the server is less likely to burn up its ephemeral ports by placing them into the TIME_WAIT state. Because connection multiplexing removes the one-to-one correlation between client connections and server connections, the application delivery controller inserts the X-Forwarded-For HTTP header into each request. This header has one parameter, the client IP s address. Modules for IIS and Apache web servers are available from Array Networks to set the client IP s address in the necessary data structures, logging systems, and CGI environment variables. These modules are available with source code to any Array Networks customer. If the administrator chooses not to have connection multiplexing enabled, the APV can transparently pass the client IP address in the IP header of each packet, thereby allowing the origin server to work as if it were directly communicating with the client browser. Note that connection multiplexing and client IP transparency are mutually exclusive. This is because it is not possible to spoof the client IP address from one client, keep the same connection open, and then spoof another client IP for a second request. The best alternative is the insertion of the X-Forwarded-For header with the true client IP on a per request basis. Summary Connection multiplexing is an easy way to reduce load on Web servers without needing to make any drastic infrastructure changes to either the network or the servers. Array Networks makes this technology easy to deploy and easy to administer in all application delivery controller products. 6

About Array Networks Array Networks is a global leader in application delivery networking with over 5000 worldwide customer deployments. Powered by award-winning SpeedCore software, Array application delivery, WAN optimization and secure access solutions are recognized by leading enterprise, service provider and public sector organizations for unmatched performance and total value of ownership. Array is headquartered in Silicon Valley, is backed by over 300 employees worldwide and is a profitable company with strong investors, management and revenue growth. Poised to capitalize on explosive growth in the areas of mobile and cloud computing, analysts and thought leaders including Deloitte, IDC and Frost & Sullivan have recognized Array Networks for its technical innovation, operational excellence and market opportunity. Corporate Headquarters info@arraynetworks.com 408-240-8700 1 866 MY-ARRAY www.arraynetworks.com EMEA rschmit@arraynetworks.com +32 2 6336382 China support@ arraynetworks.com.cn +010-84446688 France and North Africa infosfrance@ arraynetworks.com +33 6 07 511 868 India isales@arraynetworks.com +91-080-41329296 Japan sales-japan@ arraynetworks.com +81-45-664-6116 To purchase Array Networks Solutions, please contact your Array Networks representative at 1-866 MY-ARRAY (692-7729) or authorized reseller. May-2014 rev. a 2014 Array Networks, Inc. All rights reserved. Array Networks and the Array Networks logo are trademarks of Array Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered marks, or registered service marks are the property of their respective owners. Array Networks assumes no responsibility for any inaccuracies in this document. Array Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice. 7