only for RuBoard - do not distribute or recompile |
The format of the Proxy Array Membership Table is an ASCII text file. It has a global information section followed by a blank line and a list of caching proxies with various parameters.
The first line of the global information section identifies the file as a CARP table and includes the protocol version number, for example:
Proxy Array Information/1.0
The draft document describes only CARP Version 1.0.
The remainder of the global information section consists of the following headers:
The draft states, "This field allows proxies to advertise their implementation of CARP v1 even if they are not members of a Proxy Array." Valid values are 0 and 1. Presumably, a caching proxy sets this field to 0 if it supports CARP but is not a member of an array.
This is a 32-bit integer identifier for a particular instance of a table. This is not a version number ”you can't use ConfigID to tell if one version of a table is newer than another. You can use it to find out if two members have the same table. Perhaps the designers intended it to be something like a cache validator.
This is a purely informational name for the table to help administrators figure out where it came from.
This header specifies the number of seconds for which the table is valid. After this amount of time, the agent should update its copy of the table.
Following the global information and a blank line, the table includes one line for each member of the cache array. These lines have the following nine fields:
The fully qualified domain name of the caching proxy. Downstream agents (i.e., those that treat this proxy as a parent) should resolve this name when opening a connection.
The IP address that other array members should use when opening a connection. This may be different from the address derived by resolving the hostname in the first field. Some caching proxies have multiple IP addresses. This field allows the member to specify which address should be used.
The TCP port where the proxy accepts HTTP connections.
A URL where agents can find a current copy of the array table. In most cases, it is the same URL used to get the table in the first place.
A string that identifies the vendor and version number of the caching proxy. Its not clear why the protocol designers think this is useful information. The agent string is not used by the algorithm; it appears to be purely informational.
The amount of time, in seconds, that the caching proxy has been a member of the array in its current state. This field also appears to be informational. It is not used in the algorithm to select an array member.
Describes the cache's current state and its ability to accept requests . Legal values are UP and DOWN.
An integer value that defines how much of the total load this cache should receive, relative to the whole array. The relative load factor is calculated by dividing a cache's load factor by the sum of all load factors in the array.
The maximum size, in megabytes, of this cache. Cache size is purely informational and not used in the routing function calculations.
only for RuBoard - do not distribute or recompile |