Кэширующий прокси-сервер

Автор работы: Пользователь скрыл имя, 10 Октября 2011 в 19:40, дипломная работа

Описание

Данный вид прокси-серверов так же используется и провайдерами. Как говорилось выше, Интернет состоит из большого количества серверов. Некоторые из них содержат веб-сайты, а некоторые являются лишь транспортными узлами, перенаправляющими трафик от пользователя к веб-сайту и обратно. Провайдеры заинтересованы в уменьшении объема трафика. Для этого они применяют технологию кэширования на своих серверах, чтобы отвечать на часть пользовательских запросов, не пересылая их дальше внутренней сети. Данный метод описан в RFC 2616, позволяющий сообщить прокси-серверам, что содержимое желательно кэшировать (Cache-Control: public).

Содержание

Введение………………….………………………………………………………3

1.ПОСТАНОВКА ЗАДАЧИ……………………………………………………..5

2.ОБЗОР СЕТЕЙ И ПРОКСИ-СЕРВЕРОВ…………………………………….6

2.1. Локальная сеть………………………………………………………..6

2.2. Функции различных прокси-серверов………………………………8

2.3. Сравнение «Кэширующего прокси-сервера» с другими прокси-серверами……………..……………………………………………….…..22

2.3.1. Squid………………………………………………………….22

2.3.2. DeleGate……………………...……………...………………..24

2.3.3. WinGate…………………………………………………........26

2.3.4. UserGate………………………………………………………27

2.3.5. Traffic Inspector……………………………………………....28

3. АРХИТЕКТУРА ПРИЛОЖЕНИЯ…………………………………………....30

3.1. Обоснование выбора языка программирования…………………….30

3.2. Протокол TCP…………………………………………………………31

3.3. Формат заголовка HTTP……………………………………………...35

3.4. Сокеты…………………………………………………………………38

3.5. Разработка структуры приложения………………………………....40

4.СОЗДАНИЕ ПРОГРАММЫ «КЭШИРУЮЩИЙ ПРОКСИ-СЕРВЕР» ...…42

4.1 Библиотеки и компоненты, которые использовались при разработке программы……………..……………………………………………….....42

4.2 Реализация функций программы «Кэширующий прокси-сервер»...47

5. КРАТКАЯ ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ…………………...………...56

Заключение……………………………………………………………………….60

Список литературы…..…………………………………………………………..61

Работа состоит из  2 файла

Диплом-текст.doc

— 873.50 Кб (Скачать документ)

Введение 

     Глобальная  сеть обладает гигантским объемом информации, к которой ежедневно обращаются миллионы пользователей, как работники  компаний, так и обычные пользователи. Пользователям домашних сетей проще, так как, в большинстве своем, они обладают достаточно широким интернет-каналом и не ограничены в использовании траффика.

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

     Данный  вид прокси-серверов так же используется и провайдерами. Как говорилось выше, Интернет состоит из большого количества серверов. Некоторые из них содержат веб-сайты, а некоторые являются лишь транспортными узлами, перенаправляющими трафик от пользователя к веб-сайту и обратно. Провайдеры заинтересованы в уменьшении объема трафика. Для этого они применяют технологию кэширования на своих серверах, чтобы отвечать на часть пользовательских запросов, не пересылая их дальше внутренней сети. Данный метод описан в RFC 2616, позволяющий сообщить прокси-серверам, что содержимое желательно кэшировать (Cache-Control: public).

     Основное  назначение программы «кэширующий прокси-сервер»: сохранить полученные из Интернета данные на локальном диске сервера и при повторном обращении клиентских рабочих станций к ним взять их не с удаленного сервера, а с локального.

     Существенные преимущества использования кэширования:

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

     Данный  прокси-сервер реализует кэширование  по протоколу HTTP 1.1. и описывается в RFC 2616, в 13 разделе «Кэширование HTTP».

 

  1. Постановка задачи
 

       Необходим программный продукт, который будет являться шлюзом  доступа в Интернет для рабочих станций пользователей и будет обеспечивать сохранение полученных данных из глобальной сети.

       Программа должна быть рассчитана на использование  в локальных сетях малого офиса  и предприятия (до 50 рабочих станций).

    Требования  к программному продукту:

  • Работа в среде семейства ОС «Windows».
  • Снижение расходов на ежемесячный трафик.
  • Увеличение скорости работы в интернете.

 

  1. Обзор сетей и прокси-серверов

    2.1 Локальная сеть 

    Локальная сеть – это группа связанных между собой компьютеров, серверов, принтеров, расположенных в пределах здания, офиса или комнаты. Локальная сеть  дает возможность получать совместный доступ к общим папкам, файлам, оборудованию, различным программам и т.д. Использование ресурсов локальной сети дает возможность существенно снизить финансовые затраты предприятия, повысить уровень безопасности хранения важных данных, сократить временные затраты сотрудников компании на решение различного вида задач, а так же повышение общей эффективности работы. Локальная сеть состоит из следующего оборудования и технологий:

    - концентраторы  (HUB) – соединяет сетевые кабели  и обеспечивает взаимодействие  между подключенными к ним  устройствами (компьютеры, принт-серверы  и т.д.);

    - управляемый  коммутатор – концентратор, который предоставляет возможности начального администрирования конфигурации локальной сети;

    - принт-сервер  – специальное устройство, которое  обеспечивает подключение принтера  к компьютерной  сети и дает  возможность печати всем пользователям локальной сети;

    - файл-сервер  – один компьютер локальной  сети, предоставляющий дисковое  пространство для хранения информации  с возможностью непрерывного  доступа к ней пользователям;

    - устройство  беспроводного доступа – радиосигнал,  позволяющий соединять локальные сети, расположенные в пределах прямой видимости на расстоянии до 25 км;

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

    

                                  Рисунок 2.1 Локальная  сеть. 

    Локальная сеть малого офиса (до 15 рабочих мест) предполагает создание одной рабочей группы пользователей с подключением к сети Интернет. Сетевой принтер используется для печати. Основная функция такой локальной сети – авторизация пользователей для выхода в сеть Интернет, защита локальной сети от внешних атак, тарификация Интернет трафика.

    Локальная сеть масштаба предприятия (20-50 рабочих мест) базируется на основе проведения сети малого офиса. В такой локальной сети реализуется решение разграничения доступа между пользователями разных подразделений компании. В каждом подразделении пользователи объединены в отдельную подсеть. Так же рабочая группа может иметь собственный сервер. Коммутатор контролирует возможность доступа пользователей одной подсети в другую. 

      2.2 Функции различных прокси-серверов

     В компьютерных сетях под прокси-сервером (компьютерной системой или приложением) понимается сервер, который выступает в роли промежуточного звена для запросов клиентами различных ресурсов с других серверов. Клиент подключается к прокси-серверу, запрашивая какие-либо ресурсы, такие как файл, соединение, веб-страница или другие виды ресурсов, доступных на удаленном сервере. Прокси-сервер обрабатывает запрос согласно правилам фильтрации. Например, он может фильтровать трафик по IP-адресу или протоколу. Если запрос был одобрен фильтром, прокси предоставляет ресурс, предварительно запрашивая его как клиент у соответствующего сервера. Дополнительно, прокси-сервер может изменять запросы клиента или ответы сервера, также он может предоставить запрашиваемый ресурс без подключения к какому-либо серверу вообще. В этом случае, прокси-сервер "кэширует" ответы от удаленных серверов и предоставляет сохраненную информацию в ответ на все последующие запросы.

       Два основных назначения прокси-сервера  заключаются в следующем:

     Сохранить анонимность своих клиентов (в основном для безопасности),

     Ускорить  доступ к ресурсу (посредством кэширования). Обычно это функция используется для ускорения доступа к веб-страницам.

       Прокси-сервер, который передает  запросы и ответы в неизменном  виде обычно называется шлюзом или, иногда, "туннелирующим прокси".

       Прокси-сервер может быть расположен  как на локальном компьютере  пользователя, так и в других  точках между пользователем и  серверами в Интернет. Обратный  прокси-сервер это прокси, использующийся  в качестве front-end сервера для ускорения и кэширования ресурсов, предоставляемых по требованию (таких как веб-страницы).

       Далее попробуем раскрыть функции  основных типов прокси-серверов.

     Обратный  прокси - это прокси-сервер, который ставится по соседству с одним или несколькими веб-серверами. Весь трафик, приходящий из Интернета в их направлении проходит через прокси-сервер. Причин для установки обратного прокси-сервера несколько:

  • Шифрование, ускорение SSL: часто, при создании защищенных веб-сайтов, SSL-шифрование осуществляется не веб-сервером, а обратным прокси-сервером, снабженным специальным оборудованием для ускорения SSL. Кроме того, один "SSL-прокси" можно использовать для организации шифрования на нескольких веб-серверах, без необходимости получения отдельного сертификата на каждый из них. Недостатком такого способа является необходимость того, чтобы все сервера обладали одним и тем же доменным именем или IP-адресом для SSL подключений.
  • Балансировка нагрузки: обратный прокси-сервер может распределять нагрузку между несколькими веб-серверами, при этом веб-сервера могут обслуживать различные области веб-приложения. В таком случае у обратного прокси-сервера может возникнуть потребность в переформировании адресов каждой веб-страницы (преобразование имен ресурсов, доступных снаружи, в имена, доступные во внутренней сети).
  • Выдача/кэширование статического содержимого: обратный прокси-сервер может снять нагрузку с веб-серверов за счет кэширования статического содержимого, такого как фотографии или статические графические изображения.
  • Сжатие: прокси-сервер может оптимизировать и сжимать передаваемую информацию и, таким образом, увеличивать скорость ее загрузки.
  • "Кормление с ложки" уменьшает количество ресурсов, используемых "медленными" клиентами путем кэширования передаваемого веб-сервером содержимого, а затем медленной передачей его клиенту. Весомый выигрыш в экономии ресурсов наблюдается для динамически создаваемых страниц.
  • Безопасность: обратный прокси-сервер представляет из себя дополнительный слой безопасности и может защитить некоторые операционные системы, веб-сервера и приложения от специфических атак. Однако, возможности прокси-сервера по защите веб-приложений (а именно веб-приложения подвергаются атакам чаще всего), весьма ограничены.
  • Публикация внутренних ресурсов во внешней сети: обратный прокси-сервер, имеющий выход в Интернет, можно использовать для предоставления доступа к закрытым брандмауэрам внутренним серверам компании, без необходимости выведения серверов из под его защиты. При использовании обратного прокси-сервера таким образом следует предпринять дополнительные меры безопасности для того, чтобы защитить внутреннюю инфраструктуру сети, в том случае если сервер будет взломан в результате атаки из Интернет.

     Кэширующий  прокси-сервер ускоряет обработку запросов путем предоставления данных, сохраненных во время предыдущего запроса от того же самого или других клиентов. Кэширующие прокси сохраняют локальные копии часто запрашиваемых ресурсов, позволяя большим организациям существенно снизить расходы на доступ в Интернет и уменьшить потребление полосы пропускания при значительном увеличении быстродействия. Большинство провайдеров и крупных организаций имеют собственный кэширующий прокси. Эти сервера настроены так, чтобы обеспечить максимальную производительность файловой системы (обычно используется RAID с журналированием) и используют "разогнанные" версии протокола TCP. Кэширующие прокси были первым типом прокси-серверов.

 Некоторые  недоработанные прокси-серверы обладают  существенными недостатками (например, не поддерживают аутентификацию пользователя). Некоторые проблемы, связанные с прокси-серверами, описаны в RFC 3143 (Известные проблемы HTTP-прокси/Проблемы кэширования).

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

     Прокси-сервер, который работает с WWW трафиком, называется "веб прокси-сервером". Типичное использование веб-прокси - кэширование страниц. Большинство программных прокси-серверов (например, Squid) предоставляют средства для блокировки доступа к определенным адресам, находящимся в черном списке, таким образом предоставляя возможности фильтрации содержимого. Эта возможность часто используется как в корпоративной, образовательной и библиотечной среде, так и в других местах. Некоторые веб-прокси переформатируют страницы с учетом специфических нужд или аудитории (например, для мобильных телефонов или КПК).

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

Титульный лист.doc

— 30.00 Кб (Открыть документ, Скачать документ)

Информация о работе Кэширующий прокси-сервер