Добавление дополнительной пропускной способности интернета может быть дорогостоящим. Некоторые провайдеры интернет услуг берут плату с пользователей на основе объемов использования пропускной способности, поэтому снижение потребления ресурсов пропускной способности может привести к значительной общей экономии средств. Даже если ваше предприятие покупает канал на безлимитной основе, снижение объемов потребляемых ресурсов полосы пропускания может повысить производительность для сетевых пользователей. Существует два типа кэширования – прямой и обратный. Серверы кэширования также можно устанавливать группами, и эти группы можно собирать в различные архитектуры в зависимости от ваших сетевых потребностей.
В следующем разделе мы рассмотрим различия между двумя типами веб кэширования, архитектуры, используемые для установки нескольких серверов кэширования и протоколы, используемые этими серверами для взаимодействий друг с другом.
Типы веб кэширования
Как говорилось выше, существует два основных типа веб кэширования:
- Прямое кэширования (Forward caching)
- Обратное кэширование (Reverse caching)
Брандмауэр 2006 ISA Firewall выполняет оба типа кэширования, так что давайте рассмотрим немного подробнее каждый тип.
Прямое кэширование
Одним из способов снижения потребления пропускной способности сети является хранение часто используемых веб объектов в локальной сети, откуда их могут получать внутренние пользователи без необходимости входа на сервер в интернете. Это называется прямым веб кэшированием и обеспечивает более быстрый доступ для внутренних пользователей, поскольку они получают веб объекты (такие как страницы, графика, аудио и видео файлы) через быстрое LAN соединение, обычно со скоростью 1 Gbps, а не через более медленное интернет соединение со скоростью примерно в 5-15 Mbps.
Все серверы веб кэширования поддерживают прямое веб кэширование. Прямое кэширование ускоряет ответ на исходящие запросы, когда пользователь во внутренней сети запрашивает веб объект с сервера в интернете. Часто запрашиваемые объекты хранятся на сервере кэширования. Это означает, что их можно получить через скоростное локальное соединение, а не через более медленное интернет соединение.
Прямое кэширование используется, когда пользователь в сети, защищенной брандмауэром 2006 ISA, делает запрос на веб содержимое. Запрашиваемое содержимое помещается в веб кэш после того, как первый пользователь делает на него запрос. Следующий (и все последующие) пользователь, делающий запрос на это же содержимое в интернет, получает это содержимое из веб КЭШа машины ISA Server 2004, а не с веб сервера в интернете. Это снижает объем трафика интернет соединения и снижает общие сетевые затраты. Вдобавок, содержимое доставляется пользователю гораздо быстрее из КЭШа, нежели с действительного веб сервера. Это благотворно сказывается на работе и производительности пользователя.
Основным преимуществом прямого кэширования брандмауэра 2006 ISA является экономия затрат, реализуемая посредством снижения объемов использования пропускной способности интернет соединения.
Обратное кэширование
Обратное кэширование, напротив, снижает объем трафика внутренней сети и ускоряет доступ для внешних пользователей, когда компания обладает собственными веб сайтами. Часто запрашиваемые объекты на внутренних веб серверах кэшируются на внутреннем сетевом интерфейсе, на прокси сервере, поэтому нагрузка на веб серверы снижается.
В общей документации о кэшировании обратные КЭШи иногда называют ‘кэшами шлюза (gateway caches)’ или ‘кэшами замещения (surrogate caches)’.
Обратное кэширование используется, когда ваша организация имеет собственные внутренние веб сайты, доступные для внешних интернет пользователей или пользователей интрасети. Сервер кэширования хранит объекты, которые часто запрашиваются внешними веб серверами, и поставляет эти объекты интернет пользователям. Это ускоряет доступ для внешних пользователей, а также снижает загрузку внутренних веб серверов и снижает объем трафика внутренней сети.
Обратное кэширование возникает, когда пользователь интернета делает запрос на веб содержимое, расположенное на веб сервере, опубликованном правилом публикации брандмауэра ISA. Брандмауэр ISA получает содержимое с веб сервера внутренней сети или другой сети, защищенной брандмауэром, и возвращает эту информацию интернет пользователю, делавшему запрос на содержимое. Брандмауэр ISA кэширует содержимое, которое получает с веб сервера внутренней сети. Когда последующий пользователь запрашивает ту же самую информацию, содержимое подается из КЭШа брандмауэра ISA, а не с оригинального веб сайта.
Существует два принципиальных преимущества сценария обратного кэширования:
- Обратное кэширование снижает уровень использования пропускной способности внутренней сети.
- Обратное кэширование позволяет сделать веб содержимое доступным, когда веб сервер отключен.
Как обратное кэширование снижает уровень использования пропускной способности
Обратное кэширование снижает уровень использования полосы пропускания сети, когда кэшированное содержимое подается непосредственно с брандмауэра ISA. Для этого не требуется абсолютно никакого использования пропускной способности внутренней сети; таким образом, эта пропускная способность становится доступной для пользователей внутренней сети. Корпоративные сети, которые уже столкнулись с нестабильной пропускной способностью, могут исправить положение с помощью такой конфигурации.
Как обратное кэширование повышает уровень доступности веб содержимого
Обратное кэширование обладает еще одним преимуществом: это его способность делать содержимое веб сайта доступным, даже когда веб сервер отключен. Это может быть частью плана высокой доступности ваших веб служб.
Веб серверы могут отключаться по нескольким причинам. К примеру, веб сервер может быть отключен, когда требуется обычное обслуживание или после сбоя оборудования или ПО сервера. Не важно, по какой причине сервер отключился, его простой может привести к негативным последствиям, начиная с мелких неудобств и заканчивая серьезными проблемами, для интернет пользователей, когда они пытаются получить доступ к содержимому сайта. Большим преимуществом обратного кэширования брандмауэра ISA является то, что оно дает вам возможность отключать веб сервер, при этом сохраняя доступ к содержимому веб сайта для интернет пользователей, поскольку содержимое подается из КЭШа брандмауэра ISA.
Архитектуры веб кэширования
Несколько серверов веб кэширования можно использовать для обеспечении более эффективного кэширования. Существует две основные архитектуры кэширования, которые используют несколько серверов кэширования, работающих вместе:
- Распределенное кэширование (Distributed Caching)
- Иерархичное кэширование (Hierarchical Caching)
Как следует из названия, распределенное кэширование распределяет или распространяет кэшированные веб объекты между двумя или более серверами кэширования. Все эти серверы расположены на одном сетевом уровне. Рисунок ниже иллюстрирует, как работает распределенное кэширование.
Иерархичное кэширование работает немного по-другому. В такой установке серверы кэширования расположены на разных уровнях сети. Серверы кэширования восходящего потока данных взаимодействуют с прокси серверами нисходящих потоков данных (downstream proxies). Например, серверы кэширования расположены в каждом филиале офиса. Эти серверы взаимодействуют с массивом кэширования в головном офисе. Запросы сначала обслуживаются из локального КЭШа, затем из централизованного КЭШа прежде, чем отправиться на интернет сервер для запроса.
Иерархичное кэширование показано на рисунке ниже.
Иерархичное кэширование более эффективно в плане использования пропускной способности, тогда как распределенное кэширование более эффективно в плане использования места диска.
Наконец, вы можете совмещать два метода для создания смешанной архитектуры кэширования. Такое сочетание дает вам ‘все лучшее двух способов’, улучшая производительность и эффективность. Гибридная архитектура кэширования показана на рисунке ниже.
Протоколы веб кэширования
Когда несколько серверов веб кэширования работают вместе, им нужен способ общаться друг с другом, чтобы, если веб объект, запрашиваемый клиентом, не найден в КЭШе сервера, он мог опросить другие серверы кэширования, прежде чем выходить в интернет и получать документ оттуда.
Существует несколько различных протоколов, которые можно использовать для взаимодействия между серверами веб кэширования. Самыми популярными из них являются следующие:
- Cache Array Routing Protocol (CARP), протокол на основе хеш-значения (hash-based), позволяющий нескольким прокси серверам кэширования объединяться в массив в качестве единого логического КЭШа, и использующий хэш-функцию для определения того, на какой кэш должен быть отправлен запрос. Хэш-функция может также использоваться веб прокси клиентом для определения того, где расположено содержимое в распределенном кэше.
- Internet Cache Protocol (ICP), протокол на основе сообщений (message-based protocol), определенный в RFC 2186, который основан на UDP/IP и изначально использовался для иерархичного кэширования проектом Harvest, из которого образовано бесплатное ПО для кэширования Squid.
- HyperText Caching Protocol (HTCP), который позволяет использовать полные заголовки запроса и ответа для управления кэшем.
- Web Cache Coordination Protocol (WCCP), протокол на базе маршрутизатора (router-based protocol), который удаляет распределение запросов из КЭШа и использует сервисные группы, которым принадлежит кэш. Маршрутизатор рассчитывает хэш-функции.
- Cache digests, протокол на основе хэш-значения (hash-based protocol), которое применяется в Squid, использующем массив битов под названием Bloom filter для кодировки общей информации документов, хранящихся на каждом прокси сервере.
Брандмауэр ISA 2006 версии Enterprise Edition использует CARP для расширения набора функций кэширования, включенных в брандмауэр ISA 2006 версии Standard Edition.
Резюме
В этой статье мы сделали краткий обзор функций веб кэширования, включенных в брандмауэр ISA. Мы увидели, что брандмауэр ISA способен выполнять веб кэширование для исходящих запросов, которое называется прямым кэшированием. Брандмауэр ISA также способен выполнять веб кэширование для входящих запросов, которое называется обратным кэшированием. Существуют различные типы архитектур веб кэширования ISA, которые можно построить. Две наиболее распространенные архитектуры – это распределенное кэширование и иерархичное кэширование. Распределенное кэширование позволяет экономить место на диске, а иерархичное кэширование позволяет снизить потребление ресурсов пропускной способности. Вы можете совмещать распределенное и иерархичное кэширование для достижения наилучшей производительности.