Beruflich Dokumente
Kultur Dokumente
<Chapter Title>
What Is AppFlow?
AppFlow provides application-level acceleration for three business-critical applications: Microsofts Common Internet File System (CIFS), Microsoft Exchange traffic, and HTTP. AppFlow builds on TCP acceleration by anticipating client-server requests, accelerating data across the WAN, and reducing the number of round-trip times (RTTs) necessary to transfer data with these applications.
Although each of these three protocols uses TCP as its transport mechanism, they present unique challenges that hamper PFAs efforts to accelerate them. We examine each of these protocols in more detail over the remainder of this chapter so you can better understand these challenges and the benefits offered with AppFlow.
Not illustrated in the packet capture is the tremendous amount of overhead required to begin the actual data transfer. CIFS uses a large number of packets simply to allow a client access to a shared folder and to view that folders contents. This verification process must conclude before the client can even begin to download a file. File transfers using CIFS involve examinations of the clients access privileges, the clients operating system, the file system of both the client and the server, and a host of additional details contained within a series of packet exchanges not covered here. Needless to say, any latency on a WAN link will delay transfers of all of these packets as well as the actual data itself for clients opening or downloading files from remote sites using CIFS.
The WX platform near the sending host issues ACK messages to that host at exactly the rate needed to fill the WAN pipe with compressed data. The WX device on the sending hosts side of the transfer then transmits this data across the WAN to the destination WX device through the transport protocolUDP or IPComp. Once the data arrives at the destination device, the requesting clients WX device delivers it to the destination host. Continued on next page.
CIFS-Compatible Platforms
CIFS acceleration supports more recent Windows operating systems, including Windows 2000, XP, Vista, and 2003 servers and clients. CIFS acceleration also supports Samba v3.0 server for Linux. CIFS does not accelerate traffic from Windows NT, Windows 95, or older clients and servers.
The process for CIFS writes is the same, with the WX platforms acknowledging the appropriate number of writes to keep the WAN link full. A 1-MB document, for example, would take 20 seconds to copy over a 512-KB link with 100 ms of latency; the same document would take only 2 seconds with AppFlow.
10
Application Definitions
The default CIFS application definition includes both port 445 and port 139. When creating new CIFS-based definitions, you should specify both ports.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Exchange Inefficiencies
The slide illustrates four different ways that a client can launch a file download from pre-Outlook 2003. Consider a simple e-mail exchange between coworkers. When the recipient opens a message, the Exchange server sends the message content (and any attachments) to the users Outlook client for viewing, although the message itself remains on the Exchange server. If the user closes the application, Outlook initiates a synchronizing process, pulling a copy of the message and its attachments from the server and storing it on the users hard drive for later viewing offline. The same message, therefore, is sent twiceonce for the original viewing and again for the synchronizing process, consuming twice the bandwidth. Exchange compounds this problem with the Sent Items folders. Because most users leave the default setting to copy all messages to that folder, the Outlook client sends the entire message again to the Exchange server to keep the Sent Items folders in sync between the server and the client. Therefore, a single message read and replied to by a single recipient could cross the network four times. Multiply this redundancy by hundreds or thousands of messages per day for a large organization, and add large attachments to the mix, and you can easily see how quickly e-mail can consume bandwidth. Continued on next page.
25
26
27
28
29
30
31
The Result
From the users perspective, the transaction appears to be a normal end-to-end HTTP session, but with much quicker download times.
32
A number of factors determine which objects a caching server can and cannot (or should not) store locally. Various parameters within the Web servers reply help a cache server verify that the objects it has stored locally are still current before handing them out to other Web clients on the LAN. We examine these factors (like pragma-nocache and If-Modified-Since replies) on the next several slides.
33
34
Embedded Objects
Initial responses from a Web server to a client browser include the HTML code that defines the layout of the Web page. Included (or embedded) within that code are the locations for all objects that the browser needs to display. These embedded objects can include a wide variety of items that might reside on the Web server itself. Images, style sheets, documents, and Java scripts are just a few examples of embedded objects. The src tag and value instructs the clients browser where a given object resides and, therefore, how to retrieve and display it on the page.
35
36
37
Transparent Proxy
This type of proxy server does not require any special browser configuration because it is, as the term implies, transparent to network devices, including your browser. Often deployed physically in the path of traffic, transparent proxies can intercept Web requests from clients and return cached objects to them without retrieving those objects from Web servers. The illustration on the slide shows that a transparent proxy server does not alter the clients source IP or source port before forwarding that request to the Web server. Therefore, the proxy does not need to alter the destination IP or destination port in the Web servers reply to the client. These two behaviorstransparent and nontransparentare simply general descriptions of how proxy servers can operate. It might be difficult to categorically describe a given vendors caching solution as one or the other because many caching servers can operate transparently for some types of traffic and nontransparently for others. We offer the explanations here to help you better understand how the WX device operates when you deploy it for HTTP acceleration.
38
39
40
Why 10,000?
The TCP session between the WX device and an external Web server is separate from the initial conversation between the Web client and the WX device. However, the sessions are very similarso much so that should packets from the server inadvertently reach the client directly (that is, if they somehow bypass the WX device), the client might actually begin an ACK storm.
TCP Requirements
The nature of TCP requires that any receiving host acknowledge all data received from a sending host. If a client receives a packet with a sequence number it has already received, the client issues an ACK for that packet and all subsequent packets it has received alreadytherefore, the potential for an ACK storm exists if a client receives an original-looking packet directly from the server. The WX platform therefore adds 10,000 to the clients source port so that any direct replies from the server to the client will not match those response packets the client expects. If one of these modified packets reaches the client from the server, the client simply issues a RST (reset) to the server and drops the packet. You might wonder how a well-designed network can allow any responses to bypass an inline device like the WX platform; however, in networks with multiple paths, the scenario is possible. Additionally, if a WX device suddenly switches-to-wire, all responses from a Web server passes through the WX device unmodified to the client, potentially causing an ACK storm.
41
42
43
44
45
46
47
48
49
50
51
52