Автор работы: Пользователь скрыл имя, 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
fprintf(stderr, "Ошибка: не могу удалить файл %s: %s\n", filename, strerror(errno));
exit(1); }
/* Удаляем запись элемента из хэш-таблицы. */
hash_table[cache_
/* Если это последний элемент в кэш-таблице, просто отнимем 1. */
if (i == cache_count-1)
cache_count-
else {
/* Двигаем последний элемент в кэш-таблице на эту позицию. */
hash_table[
memcpy(&
cache_count-
/* Возвращаем новое количество элементов в кэше. */
return(cache_count);
}
Простнйшая функция рассчета хэша(Б. Кернингэн, Д. Ричи «Язык программирования С», с.144).
unsigned calculate_hash(char*
s) {
unsigned
hashval;
for(hashval = 0; *s != '\0'; s++)
hashval = *s + 31 * hashval;
return(hashval
% HASH_SIZE);}
Для запуска приложения запустите файл “ProxySRV.exe”.
При первом запуске в папке содержащей файл запуска создается папка «cache». В этой папке будут храниться все скэшированные файлы с префиксом «prx.». По умолчанию, число записей кэша составляет 100 000.
В случае переполнения файлов, старые будут удалены.
Следующие аргументы доступны при запуске приложения:
-h – данный аргумент выводит список комманд с пояснениями
-d – включение режима отладки. Данный режим необходим для исправления ошибок. По умолчанию этот режим выключен, так как выводится много служебной информации.
-p [порт] – данный аргумент указывает порт прослушивания сервера. По умолчанию используется порт 3128.
-t [временная папка] – данный аргумент позволяет задать имя для папки, где хранятся скэшированные элементы.
-a [максимальное время жизни файла] – данный аргумент позволяет задавать максимальное время жизни файла.
В
случае, если приложение запускается
без аргументов, то будут использованы
значения по умолчанию и будет показана
справка:
Использование:
ProxySRV.exe [-h] [-d] [-p порт] [-t временная папка]
[-a возраст].
После запуска приложения начинается функционирование прокси сервера.
После
закрытия программы необходимо очищать
содержимое папки кэш.
Для подключение клиентских рабочий станций необходимо в настройках обозревателя указать адрес и порт прокси-сервера. Для этого откройте «Панель управления» и запустите «Свойства обозревателя»(рис.2)
Рисунок
2. Панель управления Windows 7. Выделен
пункт «Свойства обозревателя»
В открывшемся окне перейдите на вкладку «Подключения» и нажмите кнопку «Настройка сети»
Рисунок
3. Свойства обозревателя – Подключения.
Здесь включите «Использовать прокси-сервер для локальных подключений» и введите адрес и порт прокси-сервера.
Рисунок 4. Настройка параметров локальной сети.
Заключение
В
этой дипломной работе разработана
концепция приложения кэширующего
прокси-сервера, а также определены
механизмы кэширования и
Программа «Кэширующий прокси-сервер» разрабатывается для специалистов компьютерных сетей и будет использоваться на предприятиях, где количество рабочих станций не превышает 50. После завершения тестирования и доработки появится возможность использования на более крупных предприятиях.
В
дальнейшем программа будет
Список
литературы
Мэтью, Н. - Основы программирования в Linux: пер. с англ. /Н. Мэтью, Р. Стоунс – 4-е изд., перераб. и доп. – СПб.:БХВ-Петербург, 2009.
Снейдер, Й. - Эффективное программирование TCP/IP. Библиотека программиста. - СПб.: Питер, 2002
Пахомов, Б. - C/C++ и MS Visual C++ 2008 для начинающих – СПб.:БХВ-Петербург, 2009
Фостер, Дж., Прайс, М. – Защита от взлома: сокеты, эксплойты, shell-код: Пер. с англ. Слинкина А.А. – М.: Издательский Дом ДМК-пресс, 2006
Dawsom, A. - UNIX Custom Application Migration Guide. Volume 3 - Migrate Using Win32 - Win64 .: MSDN, 2006
RFC 2616 «Протокол передачи гипертекста - HTTP/1.1» 2008