Next Previous Contents

13. Multicast

13.1 What is Multicast?

Multicast is essentially the ability to send one IP packet to multiple receivers. Multicast is often used for audio and video conferencing systems.

You often hear about the Mbone in reference to Multicast. The Mbone is essentially a ``virtual backbone'' which exists in the Internet itself. If you want to send and/or receive Multicast, you need to be ``is acco half_closed_clients off Then, Squid will always close its side of the connection instead of marking it as half-closed.

12.34 What does --enable-heap-replacement do?

Squid has traditionally used an LRU replacement algorithm. As of version 2.3, you can use some other replacement algorithms by using the --enable-heap-replacement configure option. Currently, the heap replacement code supports two additional algorithms: LFUDA, and GDS.

The heap replacement code was contributed by John Dilley and others from Hewlett-Packard. Their work is described in these papers:

  1. Enhancement and Validation of Squid's Cache Replacement Policy (HP Tech Report).
  2. Enhancement and Validation of the Squid Cache Replacement Policy (WCW 1999 paper).

12.35 Why is actual filesystem space used greater than what Squid thinks?

If you compare df output and cachemgr storedir output, you will notice that actual disk usage is greater than what Squid reports. This may be due to a number of reasons:

12.36 How do positive_dns_ttl and negative_dns_ttl work?

positive_dns_ttl is how long Squid caches a successful DNS lookup. Similarly, negative_dns_ttl is how long Squid caches a failed DNS lookup.

positive_dns_ttl is not always used. It is NOT used in the following cases:

Let's say you have the following settings:

positive_dns_ttl 1 hours
negative_dns_ttl 1 minutes
When Squid looks up a name like www.squid-cache.org, it gets back an IP address like 204.144.128.89. The address is cached for the next hour. That means, when Squid needs to know the address for www.squid-cache.org again, it uses the cached answer for the next hour. After one hour, the cached information expires, and Squid makes a new query for the address of www.squid-cache.org.

If you have the DNS TTL patch, or are using internal lookups, then each hostname has its own TTL value, which was set by the domain name administrator. You can see these values in the 'ipcache' cache manager page. For example:

 Hostname                      Flags lstref    TTL N
 www.squid-cache.org               C   73043  12784  1( 0)  204.144.128.89-OK 
 www.ircache.net                   C   73812  10891  1( 0)   192.52.106.12-OK 
 polygraph.ircache.net             C  241768 -181261  1( 0)   192.52.106.12-OK 
The TTL field shows how how many seconds until the entry expires. Negative values mean the entry is already expired, and will be refreshed upon next use.

The negative_dns_ttl specifies how long to cache failed DNS lookups. When Squid fails to resolve a hostname, you can be pretty sure that it is a real failure, and you are not likely to get a successful answer within a short time period. Squid retries its lookups many times before declaring a lookup has failed. If you like, you can set negative_dns_ttl to zero.

12.37 What does swapin MD5 mismatch mean?

It means that Squid opened up a disk file to serve a cache hit, but it found that the stored object doesn't match what the user's request. Squid stores the MD5 digest of the URL at the start of each disk file. When the file is opened, Squid checks that the disk file MD5 matches the MD5 of the URL requested by the user. If they don't match, the warning is printed and Squid forwards the request to the origin server.

You do not need to worry about this warning. It means that Squid is recovering from a corrupted cache directory.

12.38 What does failed to unpack swapfile meta data mean?

Each of Squid's disk cache files has a metadata section at the beginning. This header is used to store the URL MD5, some StoreEntry data, and more. When Squid opens a disk file for reading, it looks for the meta data header and unpacks it.

This warning means that Squid couln't unpack the meta data. This is non-fatal bug, from which Squid can recover. Perhaps the meta data was just missing, or perhaps the file got corrupted.

You do not need to worry about this warning. It means that Squid is double-checking that the disk file matches what Squid thinks should be there, and the check failed. Squid recorvers and generates a cache miss in this case.

12.39 Why doesn't Squid make ident lookups in interception mode?

Its a side-effect of the way interception proxying works.

When Squid is configured for interception proxying, the operating system pretends that it is the origin server. That means that the "local" socket address for intercepted TCP connections is really the origin server's IP address. If you run netstat -n on your interception proxy, you'll see a lot of foreign IP addresses in the Local Address column.

When Squid wants to make an ident query, it creates a new TCP socket and binds the local endpoint to the same IP address as the local end of the client's TCP connection. Since the local address isn't really local (its some far away origin server's IP address), the bind() system call fails. Squid handles this as a failed ident lookup.


Next Previous Contents ./usr/share/doc/squid/FAQ-13.html0100644000000000000000000002105110332343666015242 0ustar rootroot SQUID Frequently Asked Questions: Multicast Next Previous Contents

13. Multicast

13.1 What is Multicast?

Multicast is essentially the ability to send one IP packet to multiple receivers. Multicast is often used for audio and video conferencing systems.

You often hear about