1 Web Proxies Dr. Rocky K. C. Chang 6 November 2005.

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Introduction 1-1 Chapter 3 Transport Layer Intro and Multiplexing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Lecture 7 Transport Layer
TELE202 Lecture 14 TCP/UDP (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »TCP/UDP (1) »Source: chapter 17 ¥This Lecture »TCP/UDP (2) »Source: chapter.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
1 Internet Networking Spring 2004 Tutorial 13 LSNAT - Load Sharing NAT (RFC 2391)
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
TCP Splicing for URL-aware Redirection
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Introduction to Management Information Systems Chapter 5 Data Communications and Internet Technology HTM 304 Fall 07.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #12 LSNAT - Load Sharing NAT (RFC 2391)
Gursharan Singh Tatla Transport Layer 16-May
Understanding Networks Charles Zangla. Network Models Before I can explain how connections are made from across the country, I would like to provide you.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
The Transport Layer.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
Redirection and Load Balancing
1 3 Web Proxies Web Protocols and Practice. 2 Topics Web Protocols and Practice WEB PROXIES  Web Proxy Definition  Three of the Most Common Intermediaries.
NECP: the Network Element Control Protocol IETF WREC Working Group November 11, 1999.
Common Devices Used In Computer Networks
Computers Are Your Future Tenth Edition Chapter 8: Networks: Communicating & Sharing Resources Copyright © 2009 Pearson Education, Inc. Publishing as Prentice.
 Network Segments  NICs  Repeaters  Hubs  Bridges  Switches  Routers and Brouters  Gateways 2.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Okay, here’s a scenario… You’re sitting at a computer…. Type in www. yourcompany.com As soon as you click on search your browser will ask your Operation.
Packet Filtering Chapter 4. Learning Objectives Understand packets and packet filtering Understand approaches to packet filtering Set specific filtering.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Chapter 12 Transmission Control Protocol (TCP)
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
5: Link Layer Part Link Layer r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer.
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
Web Cache Redirection using a Layer-4 switch: Architecture, issues, tradeoffs, and trends Shirish Sathaye Vice-President of Engineering.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
CSE 461 HTTP and the Web. This Lecture  HTTP and the Web (but not HTML)  Focus  How do Web transfers work?  Topics  HTTP, HTTP1.1  Performance Improvements.
The Intranet.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Presented by Rebecca Meinhold But How Does the Internet Work?
Setup and Management for the CacheRaQ. Confidential, Page 2 Cache Installation Outline – Setup & Wizard – Cache Configurations –ICP.
Networks. Ethernet  Invented by Dr. Robert Metcalfe in 1970 at Xerox Palo Alto Research Center  Allows group of computers to communicate in a Local.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
1. Layered Architecture of Communication Networks: TCP/IP Model
Transmission Control Protocol (TCP) Internet Protocol (IP)
Midterm Review Chapter 1: Introduction Chapter 2: Application Layer
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: interne t interface DNS server IP:
MPTCP Proxy MPTCP Client MPTCP Proxy Server.
Communication Networks NETW 501 Tutorial 2
TPOT Translucent Proxying of TCP Pablo Rodriguez, Sandeep Sibal, Oliver Spatscheck AT&T Labs - Research.
Ch 3. Transport Layer Myungchul Kim
CSEN 404 Introduction to Networks Amr El Mougy Lamia AlBadrawy.
A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the.
Ch 3. Transport Layer Myungchul Kim
The Intranet.
Internet Networking recitation #12
TCP/IP Networking An Example
CSE 461 HTTP and the Web.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
Network Architecture Models: Layered Communications
Presentation transcript:

1 Web Proxies Dr. Rocky K. C. Chang 6 November 2005

2 Motivation for Web proxies  Sharing access to the Web Clients requesting the same resource from an origin server may share a single connection.  Caching responses Same as above when clients requesting the same resource at different times.  Anonymizing clients Some proxies can be configured not to provide anonymity by adding a header to the message.

3 Motivation for Web proxies  Transforming requests and responses Different HTTP versions between proxy-server and client-proxy. Different compression algorithms between proxy-server and client-proxy.  Gateway to nonHTTP systems Between a Web client and an FTP server.  Filtering requests and responses Filtering based on URL or keywords

4 A classification of Web proxies  Caching vs noncaching proxies  Transparent vs nontransparent proxies A transparent proxy does not modify the request or response in anything more than a superficial manner. E.g, adding identification information about itself or the server from which the message is received.

5 A classification of Web proxies  Interception vs explicit proxies Often referred to transparent proxies The presence of interception proxies is transparent to clients.  Forward vs reverse proxies (or surrogates) Forward proxies are placed close to clients. Reverse proxies are placed close to origin servers. Reverse proxies may not use HTTP to communicate with the origin servers behind it.

6 Explicit proxies  Clients are aware of the proxy ’ s presence. Send the requests to the proxy instead of the origin server. Delegate the DNS resolutions to the proxy.  Explicit proxy configuration Explicit client configuration Browser autoconfiguration: Configured to download a special URL which identifies the proxy to use.

7 Explicit proxies 1. TCP setup 3. TCP setup 2. HTTP request 4. HTTP request 5. response 6. response Browser ProxyServer

8 Interception proxies  Require some network element (interceptor) to intercept all traffic from Web clients and divert them to an interception proxy. client : Interceptor Proxy Origin server Other traffic dest port = 80

9 Interception proxies and TCP  After the interceptor intercepts and forwards the first packet in a request (TCP SYN) to a proxy, the proxy impersonates the origin server and establishes a TCP connection with the client  with the source IP and port numbers the same as the original destination information. sends a response to the client if it has the requested resource; otherwise, forwards the request to the origin server.

10 Interception proxies and DNS  Unlike explicit proxies, clients here resolve the origin servers ’ domain names themselves. The interception proxy needs the domain name of the origin server to resolve the IP address. An HTTP/1.0 request may lack a Host header to indicate the server ’ s domain name. The HTTP/1.1 mandates the inclusion of a host header in a request. GET /pub/WWW/TheProject.html HTTP/1.1 Host:

11 Pros and cons of interception proxies  Pros Do not need explicit client configuration. The proxy ’ s domain name and IP address are not exposed to clients. Better performance during proxy failures or overload  Cons Violation of the end-to-end principle Require the responses from the origin servers to return to the same interceptor; otherwise, a multipath problem would occur.

12 Interception mechanisms  Once intercepted, the packet is delivered to the proxy using either layer 2 or 3 mechanisms.  Layer 2 solution: replace the destination MAC address by the proxy ’ s MAC address. No modifications to the IP packets The interceptor and the proxy must be directly connected in a datalink network. Modifications to the proxy ’ s protocol stack is also required.

13 Interception mechanisms  Layer 3 solution: The packet is tunneled in another IP packet destined to the proxy.  Another solution: How about simply replacing the destination IP address with that of the proxy?

14 Layer-4 switches as interceptors  Layer-4 switches: read layer 3 and layer 4 protocol information. client : Interceptor client : Interceptor Proxy

15 Layer-4 switches as interceptors  Each switch may perform hashing on destination addresses for outgoing traffic in order to distribute the load to a set of proxies. Each switch must produce the same hash value for the same set of source and destination addresses.  Layer-4 switches use the layer-2 solution to forward the intercepted packet to the proxy.

16 Routers as interceptors  When multiple paths are available (through two different routers), only one of them is configured as the primary access router and the interceptor. Proxy RR RR client

17 Layer-7 switches as interceptors  A layer-7 switch understands application protocols (HTTP in our case). Intercepts the TCP SYN segment for a request and performs handshaking. Intercepts and interprets requests and only then forwards client packets to a proxy or the Internet.  The content-aware switch can be configured to send requests for different types of content to different proxies.

18 Forward proxy caches  Caches at browsers, ISP proxies, enterprise proxies, local exchange proxies  Forward proxy caches are intended to reduce latency and bandwidth usage by “ sharing hits. ” Increase in hit shares conflicts with the objective of latency and bandwidth reduction. : : Origin server

19 Latency reduction  Reduce the time of sending the request and receiving the response (the proxy is closer to the client). A higher reduction when the access network speed is higher.  Reduce the time to establish the TCP connection between client and origin server. More reduction when reusing TCP connections  TCP-related factors: TCP connection splitting, network congestion, etc.

20 TCP connection caching  A proxy may maintain persistent TCP connections with its clients on one side and with origin servers on the other. Reusing TCP connection instead of reusing cached objects proxy A B Q S

21 Benefits of TCP connection caching  A requests a resource from Q, and later B requests another resource from Q. A persistent connection between the proxy and Q eliminates the second connection setup.  A requests a resource from Q, and later A requests another resource from S. A persistent connection between the proxy and A eliminates the second connection setup.  Moreover, the origin servers are keeping persistent connections with proxies, instead of individual clients.

22 Benefits of TCP connection caching  In order to avoid the head-of-the-line problem, the proxy must be careful to only use idle cached connections to servers.  Studies showed that connection caching provides generally much greater latency reduction than data caching. For modem environment,  The connection alone reduced mean and median latencies by 21% and 40%, respectively.  Together with data caching, the total benefits were 24% and 48%, respectively.

23 Benefits of TCP connection caching For Ethernet LAN environment,  The connection alone reduced mean and median latencies by 2% and 20%, respectively.  Together with data caching, the total benefits were 47% and 40%, respectively.  For the modem environment, sizable benefits can be achieved by maintaining connections with the clients only.

24 TCP connection splitting  A TCP connection is split by a proxy. The proxy incurs some processing delay.  Each new TCP connection has half of the original RTT. It takes half of the time for the ACKs to come back: send new packets and increase the congestion window. RTT RTT/2

25 TCP connection splitting Get out of the slow start phase quickly. Timeout value is less when there are packet losses.  With additional delay at the proxy, previous studies on the case of 2 proxies reported that the throughput is almost doubled.  The connection splitting only benefits large resource and when the throughput is limited by the TCP congestion window.

26 Reduction in bandwidth  The complicating factor is aborted object transfers.  When a proxy learns about aborts, it can do one of two things. It can continue transferring the object, so that it has the object in the cache for future use. It can “ forward ” the abort.  The first approach would waste the bandwidth if the hit rate is not high or the object is not cacheable.

27 Reduction in bandwidth  The second approach would not be very effective if the speed of the client-side link is smaller than that of the server-side link. By the time the abort is received, the proxy has already received most, if not all, of the object. FIN request response clientproxyserver

28 Summary  Proxies, notably Web proxies, are part of today ’ s Internet infrastructure.  Although violating the end-to-end principle, Web proxies enhance the Web performance in a number of important ways.  Interception proxies offer a number of advantages over the traditional explicit proxies.  Forward proxy caches generally reduce latency by data and connection caching.

29 Acknowledgments  The slides are prepared mainly based on B. Krishnamurthy and J. Rexford, Web Protocols and Practice, Addison Wesley, M. Ravinovich and O. Spatscheck, Web Caching and Replication, Addison Wesley, 2002.