Кафедра Информационных Систем и Технологий. Сдана на проверку Допустить к защите 2007 г. 2008 г. Защищена с оценкой 2008 г курсовая
Вид материала | Курсовая |
- Калининградский Государственный Технический университет Экономический факультет Кафедра, 305.66kb.
- Курсовая работа защищена с оценкой, 18.89kb.
- Конференция «Безопасность информационных систем предприятия», 59.58kb.
- Московская финансово-юридическая академия «Согласовано» «Утверждено на 2007 / 2008, 21.72kb.
- О защите конкуренции, 1152.72kb.
- Институт информационных технологий Кафедра информационных и коммуникационных технологий., 195.33kb.
- Институт информационных технологий Кафедра информационных и коммуникационных технологий, 207.89kb.
- Уголовный кодекс российской федерации, 3723.74kb.
- Титульный лист программы обучения по дисциплине Syllabus, 456.17kb.
- Принят Государственной Думой 8 декабря 1995 года Глава I. Общие положения статья, 545.05kb.
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-соединений из-за переполнения очередей и задержек обработки запросов.
Эти факторы задержки прослеживаются от передачи запроса браузером серверу до воспроизведения им полученного ответа. Рассмотрим влияние кэширования на каждый из перечисленных факторов задержки.