150 likes | 334 Views
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).
E N D
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) • 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.
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.
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
Internet Cache Protocol (1/2) • Message Format
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
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
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.
Implementation of ICP in Squid (3/3) • More Network Failures
Experiences and Issues with ICP • Siblings vs. Parents • Freshness Parameters • Hit of Miss? • Security • ICP Scales Poorly • URLs
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
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.
Critiques • Strengths • ICP process is well described. • Issue is also described clearly. • Weaknesses • The advantage of hierarchy cache is not represented well.