Web Proxy Web Proxy Caching Caching Caching Web Proxy Web Proxy - - PowerPoint PPT Presentation
Web Proxy Web Proxy Caching Caching Caching Web Proxy Web Proxy - - PowerPoint PPT Presentation
Web Proxy Web Proxy Caching Caching Caching Web Proxy Web Proxy Caching By Miquel Company Company By Miquel Contents Contents Contents Contents Basics Basics of of Proxy Proxy Caching Caching Cache Cache
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 2 2
Contents Contents Contents Contents
- Basics
Basics of
- f Proxy
Proxy Caching Caching
- Cache
Cache Consistency Consistency
- Proxy
Proxy Cache Cache Cooperation Cooperation. .
- Benefits
Benefits of
- f using
using Proxies Proxies. .
- Dangers
Dangers of
- f using
using Proxies Proxies. .
- Commercialized
Commercialized sofware sofware. .
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 3 3
Basics Basics Basics Basics of
- f
- f
- f Web Proxy
Web Proxy Web Proxy Web Proxy Caching Caching Caching Caching. .
- Definition: A
Definition: A Web cache Web cache sits between one or more Web sits between one or more Web servers (also known as servers (also known as origin servers
- rigin servers) and a client or
) and a client or many clients, and watches requests come by, saving many clients, and watches requests come by, saving copies of the responses for itself. Then, if there is copies of the responses for itself. Then, if there is another request for the same URL, it can use the another request for the same URL, it can use the response that it has, instead of asking the origin server response that it has, instead of asking the origin server for it again. for it again.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 4 4
Basics Basics Basics Basics of
- f
- f
- f Web Proxy
Web Proxy Web Proxy Web Proxy Caching Caching Caching Caching. .
- Why use them?
Why use them?
- To reduce latency: Because the request is
To reduce latency: Because the request is satisfied from the client instead of the origin satisfied from the client instead of the origin server, it takes less time for the client to get server, it takes less time for the client to get the object. the object.
- To reduce traffic: Because each object is
To reduce traffic: Because each object is
- nly gotten once from the server, it reduces
- nly gotten once from the server, it reduces
the amount of the amount of bandwith bandwith used by a client. used by a client.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 5 5
Basics Basics Basics Basics of
- f
- f
- f Web Proxy
Web Proxy Web Proxy Web Proxy Caching Caching Caching Caching. .
- How does it work:
How does it work:
- Without Proxy:
Without Proxy:
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 6 6
Basics Basics Basics Basics of
- f
- f
- f Web Proxy
Web Proxy Web Proxy Web Proxy Caching Caching Caching Caching. .
- How it works?
How it works?
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 7 7
Basics Basics Basics Basics of
- f
- f
- f Web Proxy
Web Proxy Web Proxy Web Proxy Caching Caching Caching Caching. .
- How it works?:
How it works?:
- When a client asks for an object, the proxy server looks for the
When a client asks for an object, the proxy server looks for the
- bject in the cache. If it is inside the cache we
- bject in the cache. If it is inside the cache we’
’ve got a ve got a Hit Hit. . And then de proxy returns the cached object to the client. And then de proxy returns the cached object to the client.
- If the object is in the cache but it is not valid, the proxy ser
If the object is in the cache but it is not valid, the proxy server ver asks for the object to the origin server, and checks if the asks for the object to the origin server, and checks if the cached object is the same on the origin server. If it is the pro cached object is the same on the origin server. If it is the proxy xy sends the object to the client. If it is not, the proxy download sends the object to the client. If it is not, the proxy downloads s the object from the server. the object from the server.
- If the object asked by the client is not cached then we
If the object asked by the client is not cached then we’ ’ve got a ve got a Miss, and the proxy cache has to look for it on the outside Miss, and the proxy cache has to look for it on the outside internet. internet.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 8 8
Cache Consistency Cache Consistency Cache Consistency Cache Consistency
- What is consistency?: If the original
What is consistency?: If the original
- bject changes after the cache had save
- bject changes after the cache had save
a copy then the copies immediately a copy then the copies immediately become out of date. become out of date. The consistency tries to have all the The consistency tries to have all the stored copies up to date. stored copies up to date.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 9 9
Cache Consistency Cache Consistency Cache Consistency Cache Consistency
- Inconsistence problems:
Inconsistence problems:
- Waste of HDD space: It
Waste of HDD space: It’ ’s better to use the HDD s better to use the HDD space for Up space for Up-
- date copies than to Out
date copies than to Out-
- dated copies.
dated copies.
- Out
Out-
- dated objects: The client gets wrong information
dated objects: The client gets wrong information and may get angry. and may get angry.
- Waste of
Waste of trafic trafic: If we : If we don don´ ´t t keep the copies the keep the copies the proxy has to look for them proxy has to look for them everytime everytime the client the client demands it. demands it.
- Having an Inconsistent cache is useless.
Having an Inconsistent cache is useless.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 10 10
Cache consistency Cache consistency Cache consistency Cache consistency
- Different ways of having a consistent
Different ways of having a consistent cache: (soft consistency) cache: (soft consistency)
- Checking the staleness of an object at
Checking the staleness of an object at regular time intervals. regular time intervals.
- Defining document
Defining document’ ’s TTL: The TTL depends s TTL: The TTL depends
- n the time the object changes.
- n the time the object changes.
- More changing objects => More the cache
More changing objects => More the cache refreshes the object. refreshes the object.
- Less changing objects => The cache refreshes
Less changing objects => The cache refreshes the object less times. the object less times.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 11 11
Cache Consistency Cache Consistency Cache Consistency Cache Consistency
- Different ways of having a consistent
Different ways of having a consistent cache: (hard consistency). cache: (hard consistency).
- The proxy checks the staleness of the object
The proxy checks the staleness of the object each time the object is requested. each time the object is requested.
- It
It doesn doesn´ ´t t save to much save to much bandwith bandwith. .
- All the objects requested in hard consistency
All the objects requested in hard consistency are ,for sure, up are ,for sure, up-
- to
to-
- dated objects.
dated objects.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 12 12
Proxy Proxy Proxy Proxy Cache Cache Cache Cache Cooperation Cooperation Cooperation Cooperation
- Several servers can form a server hierarchy:
Several servers can form a server hierarchy:
- Parent servers: They
Parent servers: They’ ’re on top of the hierarchy, they re on top of the hierarchy, they receive petitions of local servers (children). And if receive petitions of local servers (children). And if they don they don’ ’t have the requested object ask their t have the requested object ask their parents, or to the original server. parents, or to the original server.
- Siblings: If the original cache don
Siblings: If the original cache don’ ’t have a copy of t have a copy of the requested object it sends a request to their the requested object it sends a request to their siblings (brothers) and if they don siblings (brothers) and if they don’ ’t have the t have the requested object then the proxy ask to his parents. requested object then the proxy ask to his parents.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 13 13
Proxy cache cooperation Proxy cache cooperation Proxy cache cooperation Proxy cache cooperation
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 14 14
Proxy cache cooperation Proxy cache cooperation Proxy cache cooperation Proxy cache cooperation
- Problems:
Problems:
- Cache hierarchies can yield successive
Cache hierarchies can yield successive reductions in network traffic, but there is a reductions in network traffic, but there is a cost in replication of disk storage. When a cost in replication of disk storage. When a request is request is passwd passwd up a branch the returning up a branch the returning response is likely to be saved by each cache response is likely to be saved by each cache it passes though. it passes though.
- Worst latency: You have to check in several
Worst latency: You have to check in several servers if they have the object saved. servers if they have the object saved. Less Less time than looking for the original object. time than looking for the original object.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 15 15
Benefits of using Proxies: Benefits of using Proxies: Benefits of using Proxies: Benefits of using Proxies:
- Reduces traffic
Reduces traffic bandwith bandwith: More clients : More clients using the same using the same bandwith bandwith, than without , than without using proxy. using proxy.
- Reduces latency: The client gets the
Reduces latency: The client gets the requested object sooner than going to requested object sooner than going to look for it outside the LAN. look for it outside the LAN.
- Improves network security: All the
Improves network security: All the requests passes through the same point. requests passes through the same point.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 16 16
Dangers of using proxies. Dangers of using proxies. Dangers of using proxies. Dangers of using proxies.
- Ok, proxies save
Ok, proxies save traffic traffic bandwith bandwith, , reduces latency, and increases Network reduces latency, and increases Network security security, but: , but:
- You can get out
You can get out-
- to
to-
- date content
date content
- More difficult to code web
More difficult to code web-
- sites. More
- sites. More
difficult to configure web difficult to configure web-
- servers.
servers.
- Lost of privacy for the client: You can keep a
Lost of privacy for the client: You can keep a logfile logfile in the proxy server telling which in the proxy server telling which
- bjects have you looked for.
- bjects have you looked for.
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 17 17
Actual Proxy Servers: Actual Proxy Servers: Actual Proxy Servers: Actual Proxy Servers:
- Squid: The most widely used. The better working and the free one
Squid: The most widely used. The better working and the free one. . http://www.squid http://www.squid-
- cache.org
cache.org/ /
- Microsoft ISA Server 2004 : Microsoft developed ISA to replace
Microsoft ISA Server 2004 : Microsoft developed ISA to replace Microsoft proxy server. It Microsoft proxy server. It’ ’s fully functional with Active Directory s fully functional with Active Directory http://www.microsoft.com/ http://www.microsoft.com/isaserver isaserver/ /
- Apache: Apache web server has a module to do reverse caching
Apache: Apache web server has a module to do reverse caching (experimental). (experimental). http://httpd.apache.org/docs http://httpd.apache.org/docs-
- 2.0/mod/mod_cache.html
2.0/mod/mod_cache.html
- Cisco Cache Engine: sits next to (mostly) Cisco routers and
Cisco Cache Engine: sits next to (mostly) Cisco routers and receives transparently redirected HTTP requests receives transparently redirected HTTP requests http://www.cisco.com/warp/public/cc/pd/cxsr/500/index.shtml http://www.cisco.com/warp/public/cc/pd/cxsr/500/index.shtml
- CERN/W3C
CERN/W3C HTTPd HTTPd: It was the original proxy server. : It was the original proxy server. http://www.w3.org/hypertext/WWW/Daemon/Status.html http://www.w3.org/hypertext/WWW/Daemon/Status.html
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 18 18
Real Life Example: Real Life Example: Real Life Example: Real Life Example:
- Cesca
Cesca: Supercomputing center of : Supercomputing center of
- Catalonia. The have the parent proxy
- Catalonia. The have the parent proxy
cache that gives support to all cache that gives support to all catalonian catalonian universities. universities.
- Cesca
Cesca Proxy server is the parent server Proxy server is the parent server
- f several campus, like
- f several campus, like UPC
UPC’ ’s s Campus Campus Nord Nord, or , or UB UB’ ’s s Zona Zona Universitaria Universitaria. .
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 19 19
Real Life Example: Real Life Example: Real Life Example: Real Life Example:
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 20 20
Real Life Example: Real Life Example: Real Life Example: Real Life Example:
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 21 21
Real Life Example: Real Life Example: Real Life Example: Real Life Example:
Miquel Company Miquel Company Rodriguez Rodriguez T110.456 Next Generation T110.456 Next Generation Cellular Networks Cellular Networks 22 22