Протокол Internet Cache Protocol (ICP)

Кэш, в котором отсутствует запрашиваемый объект, может проверить его наличие в другом кэше. Такой метод взаимодействия отличается от традиционного запроса ресурсов у исходного сервера. В этом случае кэши являются как источниками, так и получателями сообщений. Для этого необходим специальный протокол межкэшевого взаимодействия. Одним из самых ранних протоколов для взаимодействия кэшей и был разработай Internet Cache Protocol (ICP) [WC97b, WC97aJ. Эгот протокол является примером протокола запросов — сообщение, посланное клиентским кэшем, является запросом о паличии кэшированной копии определенного ответа, необходимого клиентскому кэшу. Популярность ICP оспована на гом, что он реализован в свободно распространяемом и широко используемом кэши- рующем прокси-сервере Squid [WC98].

Протокол ICP оказался подходящим и для иерархических паборов кэшей, взаимодействующих на каждом уровне иерархии и имеющих общего родителя. При перемещении вверх по иерархии эта схема повторяется, соответствуя перемещению к центральному кэшу, который может быть подключен к другому центральному кэшу в другой локальной сети по такой же схеме. Центральный кэш может иметь в качестве родителя региональный кэш, а набор региональных кэшей может в качестве родителя иметь национальный кэш. Предположим, что некоторый кэш (назовем его исходным) не имеет запрашиваемого ресурса. Он носылает 1СР-запрос (Обычно это UDP-сообщение) ко всем своим соседям на данном уровне иерархии одновременно. Успешный ответ будет указывать о наличии требуемого ресурса в одном из кэшей данного уровня, и исходный кэш может запросить этот ресурс, используя протокол HTTP. Если в кэшах данного уровня иерархии отсутствует данный ресурс, то исходный кэш пошлет ICP-запрос родительскому кэшу. Возможен также вариант, что ответа от кэшей данного уровня иерархии не поступит за определенный интервал времени, что инициирует в исходном кэше событие, свя- занное с таймаутом. Родительский кэш повторяет указанную процедуру. Если от кэшей не поступит ответа, то исходный кэш запросит данный ресурс у исходного сервера. Предположение, лежащее в основе ICP-протокола, заключается в том, что передача кэшам набора ICP-запросов столько раз, сколько имеется уровней в иерархии, выполняется быстрее, чем взаимодействие с исходным сервером. Кроме того, иекогорая оптимизация помогает сократить общие издержки. Например, когда ответ возвращается от исходного сервера или кэша в иерархии, то промежуточные кэши могут сохранять ответ для будущего использования. Не ответившие соседние кэши сообщают о возможности своего взаимодействия с исходным кэшем.

Хотя региональные и национальные прокси могут сократить расстояние, которое проходят извлекаемые ресурсы для большого числа пользователей, по переходы между уровнями иерархии могут снижать производительность. Если на текущем уровне иерархии ресурс не найден, то это дает дополнительный вклад в общую задержку. Даже если ресурс будет обнаружен в национальном прокси-сервере, то это все равно обусловит задержку, связанную с передачей ресурса клиенту, сделавшему запрос.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100