![](/user_photo/2706_HbeT2.jpg)
- •Классификация сетевого программного обеспечения
- •Опорная модель сети
- •Сокеты, датаграммы и каналы связи
- •Стандартные стеки коммуникационных протоколов
- •Обзор сетевых протоколов
- •Распределенные и параллельные вычисления. Клиент- серверная модель
- •Адресация компьютеров в сети Интернет
- •Понятие proxy-сервера. Назначение. Классификация
- •Сетевые операционные системы
- •Конфигурация локальной сети в Windows xp
- •Описание служб в Windows xp/Vista/7
- •Глобальная сеть Интернет. История создания и развития
- •Электронная почта
- •Группа новостей (телеконференция)
- •Общение в сети Internet (irc, icq, ip-телефония)
- •Структура Internet
- •Способы подключения к глобальной сети
- •Telnet. Понятие, назначение, возможности, команды.
- •Браузеры - программы для просмотра web-страниц
- •Работа с почтовыми клиентами
- •Кодировка сообщений. Типы кодировок. Проблемы русификации
- •Поиск в сети Интернет
- •Дополнительное по для работы в сети Интернет
- •По для диагностики и анализа сетей
- •Общие сведения о межсетевой защите
- •Планирование web-узла. Этапы разработки сайта
- •Логическая и физическая структуры сайта
- •Типы web-страниц в узле
- •Статическая и динамическая компоновка сайта
- •Элементы web-страниц
- •Краткий обзор технологий для Интернет- приложений
- •Создание фреймов
- •Разбор данных html-форм. Понятие cgi
- •Понятие события и обработчики событий.
- •Обзор редакторов для создания web-сайтов
- •Серверные технологии и персональный веб-сервер
- •Начальные сведения asp. Возможности asp. Понятие asp-сценария
- •Начальные сведения php. Возможности и особенности php.
- •Понятие растровой и векторной графики. Обзор популярных графических редакторов
Понятие proxy-сервера. Назначение. Классификация
Понятие прокси-сервера
Proxy сервер - это промежуточный компьютер, который является посредником ("proxy" - посредник) между Вашим компьютером и интернетом.
Через него проходят все Ваши обращения в Internet. Proxy их обрабатывает, и результаты (скаченные из Internet файлы) передает Вам.
Proxy-сервер может многое. Он способен:
ускорить Вашу работу с Internet;
сделать работу в Сети анонимной;
позволить входить в чаты, даже если Вас заблокировали;
помочь посмотреть те сайты, к которым закрыл доступ Ваш системный администратор;
Соединение через прокси в некоторых случаях улучшает связь. Вы соединяетесь с proxy-сервером (из "А" в "C"), а proxy-сервер, используя выделенную линию или оптоволокно (самолет) передает или получает данные с web-сервера (из "C" в "B").
То есть связь без proxy реализуется по следующей схеме:
Ваш компьютер >>>> web-сайты
А при использовании proxy-сервера схема выглядит так:
Ваш компьютер >>>> proxy >>>> web-сайты
За счет чего прокси сервер ускоряет соединение с Internet?
Во-первых, это происходит за счет двух факторов:
Proxy-сервер находится близко к Вам - т.е. ближе чем большинство других сайтов, с которыми Вы работаете;
У proxy-сервера мощный канал связи (выделенная сеть или оптоволокно) и большой пул (максимальная скорость обмена с Intenet).
В этом случае ускорение происходит за счет того, что:
между Вами и proxy-сервером устанавливается максимальная скорость передачи данных, допустимая вашим оборудованием (за счет того, что proxy близко от Вас): если Вы используете модем, то скорость обмена будет максимально допустимой для Вашей линии связи;
proxy-сервер использует заведомо более высокую скорость связи (за счет мощного канала) с web-сайтами, чем Вы;
Во-вторых, ускорение связи с Internet происходит за счет кэширования информации. Кэширование по сути аналогично кэшу в Вашем браузере (где хранятся временные файлы), однако является гораздо более эффективным за счет того, что:
Размер кэша в отличие от Вашего компьютера составляет не мегабайты, и даже не десятки мегабайт, а гигабайты;
Этот кэш используете не только Вы, но еще десятки (сотни и тысячи) других пользователей. Представьте себе ситуацию: на сервере новостей появилась свежая информация. Первый пользователь обратился к proxy с запросом скачать новости. Proxy скачал новости себе, передал их пользователю, и сохранил в своем кэше. После этого Вы также обращаетесь к proxy за теми же новостями. Proxy-сервер обнаруживает эти новости в своем кэше, и передает их сразу Вам, не скачивая их с сервера новостей (и не тратя на это лишнее время). Таким образом, Вы получаете заметный выигрыш, используя общедоступные proxy-сервера.
Каким образом прокси сервер делает мое путешествие по Internet анонимным?
Когда Вы приходите на какие-либо web-сайты, Ваш компьютер посылает запрос на скачивание страничек, картинок, и т.д. с web-сервера. При этом компьютер передает Ваш IP-адрес - уникальный номер компьютера в Internet. Используя этот адрес, злоумышленник может "подвесить" Ваш компьютер, запустить к Вам вирус, подключиться к Вашему компьютеру и украсть конфиденциальную информацию, и т.д.
Для того чтобы этого не произошло, Вы можете установить на своем компьютере мощные системы защиты - Firewall. Однако, это не является панацеей - любую программу можно взломать. Поэтому в качестве дополнительных мер защиты, Вам имеет смысл использовать анонимный proxy-сервер. При обращении к web-серверам proxy "подменит" Ваш IP-адрес на свой, и злоумышленник будет пытаться вторгнуться не к Вам, а на proxy- сервер (у которого гораздо более мощная система защиты).
Однако далеко не все proxy-сервера в Internet являются анонимными (подменяют Ваш IP-адрес). Большинство из них предназначено именно для ускорения доступа в Internet, и не "прячет" Ваш IP-адрес. Чтобы найти анонимные proxy-сервера, Вам необходимо воспользоваться программой Proxy Checker (или аналогичной).
Все возможности proxy основаны на том, что он является промежуточным звеном между Вашим компьютером (или локальной сетью) и Internet. Поэтому как следствие, он также, в принципе, может:
фильтровать содержимое просматриваемых Вами страниц, в частности, удал ять рекламу;
"изменить" географическое расположение Вашего компьютера (актуально для сайтов, показывающих разное содержимое в зависимости от того, из какого региона / страны идет обращение);
если proxy-сервер в одной локальной сети с Вами, то достаточно, чтобы только proxy был подключен к Internet - используя одно подключение, в Internet сможет выходить вся сеть;
Настройка браузер для работы с прокси-сервером (на примере Internet Explorer 6.X)
Выберите меню "Сервис" ("Service"), пункт "Свойства обозревателя" ("Internet Options");
Вкладка "Соединение" ("Connections");
Если используется Dial-up - выделите нужное соединение и нажмите "Настройка" ("Settings"). Иначе - нажмите кнопку "Настройка сети" ("LAN Settings") в подразделе "Настройка локальной сети" ("Local Area Network (LAN) Settings").
Поставьте галочку рядом с опцией "Использовать прокси-сервер" ("use a proxy server");
В поле "Адрес" ("Address") введите имя proxy-сервера, а в поле "порт" ("port")- номер порта proxy;
При необходимости поставьте галочку рядом с опцией "Не применять прокси- сервер для локальных адресов" ("bypass proxy server for local addresses");
При необходимости - нажмите на кнопку "Дополнительно" ("Advanced") и укажите параметры для разных протоколов;
Нажмите кнопку "OK" чтобы закрыть окно настроек локальной сети или Dial-Up;
Нажмите кнопку "OK" чтобы закрыть окно настроек Internet.
(на примере Opera 5.X - 6.x)
В меню "Файл" ("File") выберите "Настройки..." ("Preferences...");
В разделе "Category" (слева) выберите "Подключения" ("Network");
Кликните по кнопке "Прокси-серверы..." ("proxy servers...");
Укажите proxy-сервера для соответствующих протоколов.
(на примере Mozilla)
В меню "Правка" ("Edit") выберите "Установки" ("Preferences");
В разделе "Category" (слева) дважды щелкните мышью по надписи "Дополнительно" ("Advanced"), а затем выберите "Соединения" ("Proxies");
Установите опцию "Настройка вручную" ("Manual proxy configuration");
Укажите proxy-сервера и порты для соответствующих протоколов.
Классификация proxy
Существует несколько типов proxy серверов. Каждый тип proxy предназначен для решения своего круга задач.
NAT-proxy
Самый простой вид прокси. Он входит в состав ОС Windows начиная с Windows 2000 и XP (а также в 98SE и Me). Там он называется «Общий доступ к подключению интернета» и включается галочкой в свойствах модемного соединения. Этот прокси работает прозрачно для пользователя, никаких специальных настроек в программах не требуется. Но на этом удобства этого прокси заканчиваются. Влиять на работу «общего доступа» Windows (например, ограничивать список доступных сайтов для отдельных пользователей) вы не сможете. Другие NAT-proxy могут быть более гибкими, но их общая проблема — универсальность. Они не «вникают» в тонкости тех прикладных протоколов, которые через себя пропускают, поэтому и не имеют средств управления ими. Специализированные прокси (свой вид для каждого протокола) имеют ряд преимуществ и с точки зрения администраторов, и с точки зрения пользователей.
HTTP proxy
Это наиболее распространенный тип proxy серверов и говоря просто "proxy", имеют в виду именно его. Раньше с помощью этого типа proxy можно было только просматривать web страницы и картинки, скачивать файлы. Теперь же новые верс ии программ (ICQ и т.п.) умеют работать через HTTP proxy. С этим типом proxy умеют работать и браузеры любых версий.
HTTP-прокси - самый распространенный. Он предназначен для организации работы браузеров и других программ, использующих протокол HTTP. Браузер передает прокси-серверу URL ресурса, прокси-сервер получает его с запрашиваемого веб-сервера (или с другого прокси-сервера) и отдает браузеру. У HTTP-прокси широкие возможности при выполнении запросов:
Можно сохранять полученные файлы на диске сервера. Впоследствии, если запрашиваемый файл уже скачивался, то можно выдать его с диска без обращения в интернет - увеличивается скорость и экономится внешний трафик (который может быть платным). Эта опция называется кэшированием - именно её очень любят администраторы и пользователи - настолько, что считают её главной функцией прокси. Однако приводимые оценки экономии (в описаниях встречалось от 30 до 60%) слишком оптимистичны. На деле получается не более 10-15% - современный интернет очень динамичен, страницы часто меняются, зависят от работающего с ними пользователя и т.д.
такие данные кэшировать нельзя, веб-серверы обычно вставляют в HTTP-заголовки специальные указания об этом, чтобы браузеры и прокси имели это в виду. Хотя многие прокси-серверы можно настроить так, чтобы эти указания частично игнорировались - например, перечитывать страницу не чаще одного раза в день.
Можно ограничивать доступ к ресурсам. Например, завести «черный список» сайтов, на которые прокси не будет пускать пользователей (или определенную часть пользователей, или в определенное время и т.д.). Ограничения можно реализовать по-разному. Можно просто не выдавать ресурс - например, выдавая вместо него страницу «запрещено администратором» или «не найдено». Можно спрашивать пароль и авторизованных пользователей допускать к просмотру. Можно, не спрашивая пароля, принимать решение на основании адреса или имени компьютера пользователя. Условия и действия в принципе могут быть сколь угодно сложными (не во всех прокси).
Можно выдавать не тот ресурс, который запрашивается браузером. Например, вместо рекламных баннеров и счетчиков показывать пользователям прозрачные картинки, не нарушающие дизайн сайта, но существенно экономящие время и трафик за счет исключения загрузки картинок извне.
Можно ограничивать скорость работы для отдельных пользователей, групп или ресурсов. Например, установить правило, чтобы файлы *.mp3 качались на скорости не более 1кб/сек, чтобы предотвратить забивание вашего интернет-канала трафиком меломанов, но не лишать их полностью этого удовольствия. Эта возможность, к сожалению, есть не во всех прокси.
Ведутся журналы работы прокси - можно подсчитывать трафик за заданный период, по заданному пользователю, выяснять популярность тех или иных ресурсов и т.д.
Можно маршрутизировать веб-запросы - например, часть направлять напрямую, часть через другие прокси (прокси провайдера, спутниковые прокси и т.д.). Это тоже помогает эффективнее управлять стоимостью трафика и скоростью работы прокси в целом.
HTTPS-прокси - фактически часть HTTP-прокси. S в названии означает “secure”, т.е. безопасный. Не смотря на то, что программно это часть HTTP-прокси, обычно HTTPS выделяют в отдельную категорию (и есть отдельное поле для него в настройке браузеров). Обычно этот протокол - безопасный HTTP - применяют, когда требуется передача секретной информации, например, номеров кредитных карт. При использовании обычного HTTP-прокси всю передаваемую информацию можно перехватить средствами самого прокси (т.е. это под силу администратору ЛС) или на более низком уровне, например, tcpdump (т.е. и администратор провайдера и любого промежуточного узла и вообще любой человек, имеющий физический доступ к маршрутам передачи ваших данных по сети, может при большом желании узнать ваши секреты). Поэтому в таких случаях применяют secure HTTP - всё передаваемое при этом шифруется. Прокси-серверу при этом дается только команда «соединится с таким-то сервером», и после соединения прокси передает в обе стороны шифрованный трафик, не имея возможности узнать подробности (соответственно и многие средства управления доступом - такие как фильтрация картинок - не могут быть реализованы для HTTPS, т.к. прокси в этом случае неизвестно, что именно передается). Собственно в процессе шифрации/дешифрации прокси тоже участия не принимает - это делают клиентская программа и целевой сервер. Наличие команды «соединиться с таким-то сервером» в HTTPS-прокси приводит к интересному и полезному побочному эффекту, которым все чаще пользуются разработчики клиентских программ. Так как после соединения с указанным сервером HTTPS-прокси лишь пассивно передает данные в обе стороны, не производя никакой обработки этого потока вплоть до отключения клиента или сервера, это позволяет использовать прокси для передачи почти любого TCP-протокола, а не только HTTP. То есть
HTTPS-прокси одновременно является и простым POP3-прокси, SMTP-прокси, IMAP-прокси, NNTP-прокси и т.д. - при условии, что соответствующая клиентская программа умеет так эксплуатировать HTTPS-прокси (увы, далеко не все еще это умеют, но есть вспомогательные программы, «заворачивающие» трафик обычных клиентов через HTTPS-прокси). Никаких модификаций целевого сервера не требуется. Фактически HTTPS-прокси является программируемым mapping-proxy, как и Socks-proxy.
Mapping-прокси - способ заставить работать через прокси те программы, которые умеют работать с интернетом только напрямую. При настройке такого прокси администратор создает как бы «копию» целевого сервера, но доступную через один из портов прокси-сервера для всех клиентов локальной сети - устанавливает локальное «отображение» заданного сервера. Например, пользователи локальной сети хотят работать с почтовым сервером mail.ru не через браузер, а с использованием почтовой программы Outlook Express или TheBat?. Эти программы не умеют работать через прокси (кроме случая, когда Outlook получает почту по HTTP с hotmail.com - тогда он, как и браузер, пользуется HTTP-прокси). Простейший способ работать с mail.ru по POP3 через прокси - установить локальное отображение сервера pop.mail.ru. И в Outlook^ вместо pop.mail.ru написать имя прокси-сервера и порт отображения. Outlook будет соединяться с прокси- сервером ("думая", что это почтовый сервер), а прокси при этом будет соединяться с pop.mail.ru и прозрачно передавать всю информацию между Outlook и pop.mail.ru, таким образом «превращаясь» на время соединения в POP3-сервер. Неудобство mapping-прокси в том, что для каждого необходимого внешнего сервера нужно вручную устанавливать отдельный порт на прокси. Но зато не требуется модификация ни серверов, ни клиентов. Особенно это помогает в случае необходимости «проксирования» многочисленных «доморощенных» протоколов, реализованных в играх или финансовых программах. Почему-то они часто игнорируют существование прокси и стандартных протоколов. Такие программы можно «обмануть» и направить через прокси практически всегда, если они не делают другой глупости - передачи клиентского IP-адреса внутри протокола и пытаются с ним соединяться напрямую еще раз (что невозможно, т.к. локальные адреса недоступны извне).
Socks proxy
Эти proxy сервера умеют работать практически с любым типом информации в Internet (протокол TCP/IP), однако для их использования в программах должно быть явно указана возможность работы с socks proxy. Для использования socks proxy в браузере нужны дополнительные программы (браузеры не умеют сами работать через socks proxy). Однако любые версии ICQ (и многих других популярных программ) отлично могут работать через socks proxy. При работе с socks proxy нужно указывать его версию: socks 4 или socks 5.
SOCKS — сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволами). SOCKS — это сокращение от «SOCKetS» (сокеты, гнёзда).
Клиенты за межсетевым экраном, нуждающиеся в доступе к внешним серверам, вместо этого могут соединяться с SOCKS прокси сервером. Такой прокси сервер контролирует права клиента для доступа к внешним ресурсам и передаёт запрос к серверу. SOCKS может использоваться и противоположным способом, разрешая внешним клиентам соединяться с серверами за межсетевым экраном (брандмауэром).
В отличие от HTTP прокси серверов, SOCKS передаёт все данные от клиента, ничего не добавляя от себя, то есть с точки зрения конечного сервера, SOCKS прокси является обычным клиентом. SOCKS более универсален — не зависит от конкретных протоколов уровня приложений (7-го уровня модели OSI) и базируется на стандарте TCP/IP — протоколе 4-го уровня. Зато HTTP прокси кэширует данные и может более тщательно фильтровать содержимое передаваемых данных.
Этот протокол был разработан Дэвидом Кобласом (David Koblas), системным администратором MIPS Computer Systems. После того, как в 1992 году MIPS вошла в состав Silicon Graphics (SGI), Коблас сделал доклад о SOCKS на Симпозиуме по Безопасности Usenix (Usenix Security Symposium), и SOCKS стал публично доступным. Протокол был расширен до четвёртой версии Ин-Да Ли (Ying-Da Lee) из NEC Systems Laboratory.
CGI proxy (анонимайзеры)
С этим типом proxy серверов можно работать только через браузер. В других программах их использование затруднено (да и не нужно - есть HTTP proxy). Однако поскольку этот тип proxy изначально рассчитан на работу через браузер, использовать их исключительно просто. Вы легко сможете не только задействовать анонимайзер в своей работе, но и без проблем построить цепочку из CGI proxy.
Этот тип proxy серверов называют по-разному: CGI proxy, анонимайзеры (по названию наиболее популярного proxy сервера такого типа - http://www.anonymizer.com/), free web anonymizer, web proxy и т.д.
Proxy сервер данного типа представляет собой (с точки зрения пользователя) обычную web-страничку, очень похожую на страницы поисковых систем. Только вместо поисковых фраз Вам необходимо в поле ввода набрать URL того сайта, на который Вы хотите перейти. После чего, нажав кнопку "Submit" или "Go", Вы попадете на страницу, URL которой указали CGI proxy. Только во т адрес этой страницы (указанный в поле адреса) с точки зрения Вашего компьютера будет другой - что-то вроде http://www. cgi-proxy. com/http/www.your-url.com/path/ например: http://www. cgi-proxy. com/http/www.yahoo.com/
Используя такие proxy сервера, Вы можете анонимно перемещаться по всему Internet, не меняя настроек Вашего браузера и не используя никаких дополнительных программ. CGI proxy поддерживают HTTP и (иногда) FTP протоколы.
С точки зрения анонимности CGI proxy бывают такими же, как и HTTP proxy:
прозрачные - эти proxy не являются анонимными. Они во-первых дают знать, что используется proxy-сервер, а во-вторых "выдают" IP-адрес своего клиента. Задачами таких proxy, как правило, является кэширование информации и / или обеспечение выхода в Internet нескольких компьютеров через одно соединение.
анонимные - эти proxy дают знать удаленному компьютеру (web -серверу) о том, что используется proxy, однако не выдают IP-адрес своего клиента.
искажающие - в отличие от предыдущего типа, они передают удаленному web- серверу IP-адрес, однако это адрес фиктивный: либо произвольно сгенерированный proxy-сервером, либо какой-то фиксированный (не Ваш) IP. То есть эти proxy искажают Ваш IP адрес с точки зрения web -сервера.
реально анонимные (элитные) - не сообщают удаленному компьютеру Ваш IP- адрес. Более того, они даже не сообщают о том, что используется proxy сервер! То есть web-сервер "считает", что он работает непосредственно с клиентом - а клиентом для него является proxy!
Эта классификация анонимности весьма условна.
FTP proxy
Этот тип proxy серверов отдельно от корпоративных сетей встречается довольно редко. Обычно его использование связано с тем, что в организации имеется Firewall (система защиты компьютеров от вторжения извне), препятствующий прямому доступу в Internet. Использование proxy этого типа предусмотрено во многих популярных файловых менеджерах (FAR, Windows Commander), download менеджерах (GetRight, ReGet, ...) и в браузерах. Этот тип proxy является узко специализированным и предназначен для работы только с FTP серверами.
FTP-прокси бывает двух основных видов в зависимости от протокола работы самого прокси. С ftp-серверами этот прокси, конечно, всегда работает по протоколу FTP. А вот с клиентскими программами - браузерами и ftp-клиентами (CuteFTP, FAR, и др.) прокси может работать как по FTP, так и по HTTP. Второй способ удобнее для браузеров, т.к. исторически является для них «родным». Браузер запрашивает ресурс у прокси, указывая протокол целевого сервера в URL - http или ftp. В зависимости от этого прокси выбирает протокол работы с целевым сервером, а протокол работы с браузером не меняется - HTTP. Поэтому, как правило, функцию работы с FTP-серверами также вставляют в HTTP-прокси, т.е. HTTP-прокси, описанный выше, обычно с одинаковым успехом работает как с HTTP, так и с FTP-серверами. Но при «конвертации» протоколов FTP<->HTTP теряется часть полезных функций протокола FTP. Поэтому специализированные ftp-клиенты предпочитают и специальный прокси, работающий с обеими сторонами по FTP. В Eserv и Eproxy мы называем этот прокси FTP-gate, чтобы подчеркнуть отличие от FTP-прокси внутри HTTP-прокси. Также этот прокси называется в некоторых ftp-клиентах. Хотя встречаются и вносящие путаницу названия. Например, в программе CuteFTP FTP-gate называют firewall, хотя FireWall в общем случае - это вообще не прокси, а фактически программа обратного назначения - не для подключения к интернету, а для изоляции от него. Для прокси в FireWall оставляют специальные «дыры». FTP-gate поддерживают различные способы указания в FTP- протоколе целевого сервера, с которым FTP-клиент хочет работать, в настройке FTP- клиентов обычно предлагается выбор этого способа.