1 / 14

ICP and the Squid Web Cache

ICP and the Squid Web Cache. Duane Wessels and K. Claffy 산업공학과 조희권. Contents. Introduction Related Work Internet Cache Protocol (ICP) Implementation of ICP in Squid ICP Delays Experiences and Issue with ICP Recent Work Conclusions & Critique. Introduction (1/2).

shlomo
Download Presentation

ICP and the Squid Web Cache

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. ICP and the Squid Web Cache Duane Wessels and K. Claffy 산업공학과 조희권

  2. Contents • Introduction • Related Work • Internet Cache Protocol (ICP) • Implementation of ICP in Squid • ICP Delays • Experiences and Issue with ICP • Recent Work • Conclusions & Critique

  3. Introduction (1/2) • Since WWW rose to popularity, much effort has focused on reducing latency experienced by users. • Caching has proven a useful technique for reducing end user experienced latency in the Web.

  4. Introduction (2/2) • HTTP and Caching • HTTP has several basic features relevant to Web caching: conditional GET, If-modified-Since header. • Hierarchical Caching and ICP • A group of Web caching can benefit from sharing another cache. • Fig.1: Simple cache hierarchy • ICP provides a quick and efficient method of inter-cache communication.

  5. Related Work • The most difficult part of any caching scheme is maintaining cache consistency. • Harvest Research Software • ICP was originally developed as a component of the Harvest cache project. • Squid • New features have been added to its ICP implementation for a research. • Netcache • The commercial Harvest cache

  6. Internet Cache Protocol (1/2) • Message Format

  7. Internet Cache Protocol (2/2) • Transport • ICP could use either TCP or UDP, however it currently uses only UDP. • ICP vs. HTTP • ICP is simple • Positive: quickly parsing and interpreting • Negative: does not match all HTTP query and increases the request latency

  8. Implementation of ICP in Squid (1/3) • ICP Query Algorithm • Squid sends an ICP_query message to each peer, unless: • Cache_host domain rules prevent use of the peer for the given URL • A TCP connection to the peer has failed within the last minute • The peer has been configured locally with the no-query option • Processing an ICP query • Extract and parses the URL • Check local access controls • Lookup the given URL • ICP_MISS, ICP_HIT, ICP_HIT_OBJ

  9. Implementation of ICP in Squid (2/3) • Collecting ICP replies • Squid collects replies until it receives an ICP_HIT, or until all ICP_MISS replies arrive with default timeout (2seconds). • Lowest RTT first • Detecting Unreachable Peers • Designate a peer as dead when it fails to reply to 20 consecutive ICP queries.

  10. Implementation of ICP in Squid (3/3) • More Network Failures

  11. Experiences and Issues with ICP • Siblings vs. Parents • Freshness Parameters • Hit of Miss? • Security • ICP Scales Poorly • URLs

  12. Recent Work • Probing the Network • Squid supports domain restrictions • The domain names are unrelated to network topology • Then, Squid acquires topology data with ICMP • Multicast • To solve scaling and configuration

  13. Conclusions • ICP provides hints about the location of Web servers • There is a linear relationship between cache load and average ICP delays • Is it all worth it? • For the foreseeable future, there is not another viable alternative.

  14. Critiques • Strengths • ICP process is well described. • Issue is also described clearly. • Weaknesses • The advantage of hierarchy cache is not represented well.

More Related