Кафедра Информационных Систем и Технологий. Сдана на проверку Допустить к защите 2007 г. 2008 г. Защищена с оценкой 2008 г курсовая

Вид материалаКурсовая

Содержание


2.4.Другие виды прокси-серверов
2.4.1.Обратные прокси-серверы или серверы-заместители
2.4.2.Перехватывающие прокси-серверы
3.Цели Web-кэширования
Целями кэширования является уменьшить
Первая цель
Вторая цель
Третья цель
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11
^

2.4.Другие виды прокси-серверов




Мы рассмотрели различные роли прокси-серверов, в которых значение данного термина было достаточно прояснено. Однако имеются и другие виды прокси-сер­веров. Мы рассмотрим два из них: обратные прокси-серверы и перехватывающие прокси-серверы. Мы обсудим причины, но которым такие прокси-серверы находят применение, а также выясним, чем они отличаются от традиционных прокси-серве­ров, рассмотренных ранее. Важно отметить, что хотя термины обрат­ный и перехватывающий прокси-сервер используются достаточно часто, эти про­кси-серверы не всегда соответствуют спецификации протокола HTTP. Что еще бо­лее важно, их поведение пока не стандартизовано.
^

2.4.1.Обратные прокси-серверы или серверы-заместители




Изначально прокси-серверы размещались как можно ближе к пользователю. Администраторы конфигурировали прокси-серверы для локальных сетей или пользо­вателей небольших организаций. По мере роста популярности Web ряд Web-сайтов начал притягивать к себе большое число пользователей. Чтобы уменьшить нагрузку на серверы, прокси-серверы пришлось размещать ближе к исходным серверам. Та­кие прокси-серверы получили название обратных прокси-серверов, поскольку они располагались на другом конце цепочки запрос-ответ по сравнению с традиционны­ми прокси-серверами, располагающимися ближе к пользователю. Другой причиной, по которой прокси-серверы стали размещать перед исходным сервером (или груп­пой серверов, обслуживающих сайт), стало желание сделать исходные серверы «не­видимыми» для входящих запросов. Обратные прокси-серверы защищают исходный сервер от прямых атак извне. Промежуточный компонент перед исходными сервера­ми может также оказать помощь в распределении нагрузки между группой серверов, обслуживающих активно посещаемый сайт. Прокси-сервер в этом случае переадре­сует запросы на другие компьютеры. Обратный прокси-сервер представляется кли­енту как исходный сервер. Обратный прокси-сервер действует как внешний интер­фейс для одного или нескольких исходных серверов, которые могут находиться за сетевым экраном. Клиентский запрос передается обратному прокси-серверу, кото­рый пересылает его исходному серверу. Обратный прокси-сервер может также иметь кэш. При пересылке запроса обратный прокси-сервер действует как туннель; т.е. биты, передаваемые в обоих направлениях, остаются без изменений. Извне можно видеть лишь один IP-адрес обратного прокси-сервера.

Заметим, что хотя термин «обратный прокси-сервер» стал достаточно популярным, в действительности необходимости в применении отдельного термина нет. С точки зрения клиента он взаимодействует с исходным сервером. Обратный прокси-сервер является лишь шлюзом, а взаимодействие между обратным прокси-сервером и внут­ренним исходным сервером (серверами) скрыто от клиента. Фактически обратный прокси-сервер может не использовать HTTP для взаимодействия с исходным серве­ром (серверами), находящимися позади него. Для обратных прокси-серверов в настоя­щее время используется и новый термин - сервер-заместитель.
^

2.4.2.Перехватывающие прокси-серверы




Если прокси-сервер явно предназначен для размещения перед Web-клиеитом (т.е. агентом пользователя, трактующим прокси-сервер как сервер), то все запросы и ответы к клиенту и от клиента будут проходить через прокси-сервер. Вне зависи­мости от конфигурации локальной сети, прокси-сервер пропускает через себя все передаваемые между Internet и клиентом пакеты. У клиента отсутствует возмож­ность миновать прокси-сервер и напрямую связаться с исходными серверами. Во многих организациях данная конфигурация используется по умолчанию. Однако в том случае, если у пользователей имеется несколько способов выхода в Internet или обхода прокси-сервера, прокси-сервер не сможет пропускать через себя все за­просы и ответы.
^

3.Цели Web-кэширования




Проект стандарта НТТР/1.1 (RFC 2616) определяет кэширование как локальное хранение ответных сообщений. Более свободная трактовка определения кэширова­ния - перемещение содержания ближе к пользователю. Кэширование является, по-видимому, наиболее изученным Web-приложением. В настоящее время на рынке имеется ряд коммерческих программных и аппаратных решений различных компа­ний. Начнем с краткой истории кэширования, далее определим цели кэширования и перечислим проблемы, возникающие при решении задач кэширования.

Первый Web-сервер httpd (созданный в Швейцарии, в Женевской лаборатории ЦЕРН) имел прокси-сервер, который включал кэш [LA94]. Один из самых ранних проектов, связанных с Web-кэшированием, Harvest [BDH+94], индексировал ин­формацию в Internet. Harvest кэшировал и реплицировал информацию, собранную другими средствами. Иерархический объект кэша был фундаментальным компо­нентом его архитектуры. Реестр сервера позволял собирать информацию о других кэшах. Реестр отвечал за запросы о расположении других кэшей. Разнесенные в пространстве кэши могли объединять свои ресурсы. После разработки Harvest начали развиваться и ряд других проектов, связанных с кэшированием.

Ко времени появления НТТР/1.0 кэширование уже стало важным и необходи­мым компонентом Web. Ранние эксперименты, связанные с кэшированием и изме­рениями, проведенные до 1994 г. [ВС94], продемонстрировали возможности значи­тельного сокращения объема данных, передаваемых через сеть. В кэши начали за­писывать разнообразную информацию, связанную с документами, включая тип содержания, его размер и среднее время между модификациями. Проверка акту­альности содержимого кэша и доставка кэшированных ответов аутентифицированным пользователям становилась весьма важной. Группы кэшей организовывались в иерархические системы, которые выходили за границы регионов и национальные границы. Кэширование было первым из основных Web-приложеиий, используе­мых в повседневной практике обычными пользователями.

^ Целями кэширования является уменьшить:

• время между началом Web-запроса и моментом получения агентом пользова­теля ответа (время ожидания ответа пользователем);

• нагрузку на сеть путем устранения повторных передач одинаковых ответов;

• нагрузку исходного сервера за счет наличия прокси-сервера на пути между клиентом и сервером, обрабатывающим запрос.

^ Первая цель является наиболее известной целью кэширования. Сокращение вре­мени ожидания пользователя имеет значение не только для пользователя Web, но и для разработчика Web-содержания. Исследования показали, что когда пользователь быстро получает ответ от Web-сайта, то он проводит на этом сайте больше времени. Многие пользователи еще имеют относительно медленное подклю­чение к Internet. Быстрое получение Web-страпиц увеличивает пользовательские ожидания на получение большего объема информации с сайта.

^ Вторая цель главным образом влияет на сеть. Передача только необходимой информации (т.е. устранение повторных передач содержания, которое пользователь может получить из кэша, расположенного к нему ближе) уменьшает нагрузку на сеть. Сокращение нагрузки приводит, в свою очередь, к увеличению производительности для всех, кто использует сеть, т.к. теряется мень­шее число пакетов, а затраты на повторную их передачу уменьшаются.

^ Третья цель подразумевает, что исходный сервер может обработать большее число запросов от различных клиентов. Увеличение числа обрабатываемых запро­сов отражается не только на прикладном, но и на транспортном уровне. Это приво­дит к уменьшению числа отказов в установлении TCP-соединений из-за перепол­нения очередей и задержек обработки запросов.

Эти факторы задержки прослеживаются от передачи запроса браузером серверу до воспроизведения им полученного ответа. Рассмотрим влияние кэширования на каждый из перечисленных факторов задержки.