1 / 12

Network Computing Lab, EECS, KAIST Hyun-ju Lee

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. Content. Introduction Solution approach Implementation detail

yazid
Télécharger la présentation

Network Computing Lab, EECS, KAIST Hyun-ju Lee

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. On the Performance of TCP Splicing for URL-aware RedirectionAriel Cohen, Sampath Rangarajan, and Hamilton SlyeThe 2nd USENIX Symposium on Internet Technologies & Systems Network Computing Lab, EECS, KAIST Hyun-ju Lee

  2. Content • Introduction • Solution approach • Implementation detail • Performance • Conclusion Network 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 Network 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 Network 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 Network 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 Network 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 Network 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 Network Computing Lab.

  9. 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 Implementation detail(2) Network 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 Network 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) Network 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 Network Computing Lab.

More Related