Download presentation
Presentation is loading. Please wait.
Published byTheodora Charlene Marsh Modified over 9 years ago
1
On the Performance of TCP Splicing for URL-aware Redirection Ariel Cohen, Sampath Rangarajan, and Hamilton Slye The 2 nd USENIX Symposium on Internet Technologies & Systems Network Computing Lab, EECS, KAIST Hyun-ju Lee
2
2001-12-11Network Computing Lab.2 Content Introduction Solution approach Implementation detail Performance Conclusion
3
2001-12-11Network Computing Lab.3 Introduction(1) Overview Describe the design, implementation and performance of a layer-7 switch which support URL-aware redirection of HTTP traffic Solution approach URL-aware switch in the Linux kernel that uses TCP splicing Contribution Discuss in detail the design and implementation of URL- aware switch Show the benefit of TCP splicing for small TCP sessions Re-affirm the benefit of TCP splicing for transform of large amount of data
4
2001-12-11Network Computing Lab.4 Introduction(2) Basic layer-4 switch Redirect traffic based on transport-layer(TCP) and network- layer(IP) information Uses : redirecting web traffic to caches, server load balancing, fault tolerance URL-aware redirection Capability of a switch located in front of clients or servers to redirect HTTP requests to servers based on the URL specified by the client in its GET request Extend the scope of information to layer-7 information Benefit : direct requests to optimized server, direct requests for dynamic content to live servers, reduce the need for replication
5
2001-12-11Network Computing Lab.5 Introduction(3) Layer-4 switch Redirect the initial SYN packet from the client to the choosen destination Redirect all subsequent packets on the connection to the same destination Use mechanisms such as NAT, PAT URL-aware redirection Connection must be established between a client and a switch before application-level information can be received Approaches –TCP gateway –TCP Connection hop
6
2001-12-11Network Computing Lab.6 Introduction(4) TCP Connection hop Move the switch side end point of client-switch TCP connection to the server Establish a direct TCP connection between the client and the server TCP/IP stack at the back-end server needs to be extended TCP gateway Two TCP connections –Establish client-switch TCP connection –Receive GET request from client, Determine destination –Establish switch-server TCP connection –Forward GET request to the destination, receive the response –Transfer the response to the client
7
2001-12-11Network Computing Lab.7 Solution approach TCP gateway Overhead due to the use of two TCP connection Go up the protocol stack to the application layer and down the protocol stack TCP splicing Once the two TCP connections are established, they are spliced together IP packets are forwarded from one end point to the other at the network layer Address translation and sequence number modification is required
8
2001-12-11Network Computing Lab.8 Implementation detail(1) Application-level proxy(proxy-s) Splice module(sp-mod) NEPPI(Network Element for Programmable Packet Injector) Linux ipchains firewall
9
2001-12-11Network Computing Lab.9 Implementation detail(2) Establish client-URL- aware proxy TCP connection URL-aware proxy :Receive GET request from client sp-mod : record seq, ack_seq Determine destination Splice commend to sp-mod Send GET request to server Sp-mod : record seq, ack_seq Splice instruction to NEPPI NEPPI : address, sequence # translation All packet are redirected at network layer
10
2001-12-11Network Computing Lab.10 Performance(1) Experiments run for a period of three minutes with a concurrent HTTP request of 75 Once all the data is received, a new batch of requests is issued proxy-s : TCP splicing proxy-ns : do not utilize TCP splicing Internal / external workload Proxy-s : significantly higher number of connections(47% higher) & lower CPU utilization
11
2001-12-11Network Computing Lab.11 Performance(2) Impact of using TCP splicing on different file size The biggest performance gain for large transfers One might expect to obtain larger number of connections for smaller file (CPU was not fully utilized)
12
2001-12-11Network Computing Lab.12 Conclusion URL-aware redirection switch Loadable kernel modules for the Linux OS along with a user-level proxy TCP splicing Significant performance improvement
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.