Web – технологии и СУБД - Інститут телекомунікаційних систем

advertisement
3. Інформаційні ресурси телекомунікаційних мереж
Введение в Интернет и Web.
Как и все сложные системы, телекоммуникационные сети характеризуются
определенными, присущими только им, принципами организации. Все эти
вопросы рассматриваются в рамках архитектуры, которая определяет общие
принципы
построения,
топологию
и
функциональные
характеристики
описываемой системы.
Архитектура
телекоммуникационной
организации
физической
структурную
организацию
и
логической
компонентов
сети
охватывает
структуры
сети,
а
вопросы
(топологии)
также
сети,
правила
их
взаимодействия.
Физическая структура
сети определяется взаимным расположением
узлов сети и соединяющими их физическими каналами.
Логическая структура определяет те же самые элементы, но в том виде, в
котором они представлены для аппаратных и программных стредств сети.
Примером может служить локальная сеть Token Ring, физическая
структура
которой
функционирования
является
сети,
а
звездообразной,
также
но
реализующих
их
для
алгоритмов
программных
и
аппаратных средств логическая структура данной сети является кольцевой.
В телекоммуникационных сетях используется многоуровневый принцип
структурной организации, при котором все множество сетевых функций
распределяется по определенным иерархическим уровням.
С целью создания единой концепции обмена данными в сетях ISO –
Международной организацией по стандартизации (International Organization
for Standardization) была разработана в 1984 году модель ISO/OSI – модель
ISO взаимосвязи открытых систем (Open Systems Interconnection).
В модели ISO/OSI задача передачи информации от одной
прикладного
процесса,
A,
функционирующего
в
компьютерной
прикладному процессу в компьютерной системе B,
системе
разбивается
другому
на
семь
более мелких иерархических подзадач – уровней (layers).
Каждый уровень для решения своей подзадачи должен обеспечить
выполнение определенных моделью функций данного уровня,
действий
(услуг) для вышележащего уровня и взаимодействовать с аналогичным
уровнем в другой компьютерной системе.
Набор правил организации взаимодействия между
называется
в модели ISO/OSI интерфейсом,
соседними уровнями
а правила взаимодействия
между одинаковыми уровнями в разных узлах – протоколами.
Количество уровней и их функции могут различаться для различных
реализаций телекоммуникационных сетей, однако в совокупности уровни
телекоммуникационной сети должны обеспечить все функции, определеные в
семиуровневой модели ISO/OSI. Поэтому данная модель часто используется
как
эталонная
при
описании
архитектуры
конктретной
телекоммуникационной сети.
В настоящее время существует несколько реализаций архитектур
телекоммуникационных сетей, охватывающие все уровни модели ISO/OSI.
Каждая
из
них
имеет
свою
сферу
использования,
однако
имеется
тенденция как к сближению протоколов и интерфейсов, используемых
в этих архитектурах, так и разработке протоколов, аппаратных и
программных средств взаимодействия сетей различной архитектуры.
Основными
архитектурами,
используемыми
настоящее
время
в
телекоммуникационных сетях, являются:

архитектура XNS;

архитектура OSI/ISO;

архитектура SNA;

архитектура AppleTalk;

архитектура MAP/TOP

архитектура Internet.
Архитектура XNS – сетевых
систем
Xerox
(Xerox
Network Systems)
была создана корпорацией Xerox в конце семидесятых – начале восьмидесятых
годов
и была предназначены для использования в различных передающих
средах, различных процессорах и учрежденческих приложениях. В настоящее
время сетей XNS практически не существует, однако многие идеи и методы,
впервые использованные в этой сети, были позаимствованы затем при
разработке других сетей, в частности, сети Internet.
На
основе
разработанной
семиуровневой
модели
ISO
начала
и
продолжает разработку и модификацию системы сетевых стандартов и
протоколов, послуживших основой архитектуры
настоящее время практически закончена и
OSI/ISO. Эта работа
в
существуют программные
реализации протоколов OSI для функционирования в различных
сетевых
архитектурах.
Однако,
несмотря
на
очевидную
необходимость
стандартизации сетевого обмена, в целом протоколы и стандарты ISO не
достигли
степени
популярности
архитектуры
Internet.
Телекоммуникационные сети архитектуры OSI/ISO используются в основном в
Европе.
Архитектура SNA – системная
сетевая
архитектура
(System Network
Architecture) была впервые объявлена фирмой IBM в 1974 году
для
использования в сетях, объединяющих компьютеры этой фирмы.
Архитектура SNA реализована в локальных и глобальных сетях, включающих
компьютеры
IBM
компьютеры),
разных
классов
(большие,
мини
и является открытой для подключения
и
персональные
компьютеров других
производителей (протоколы SNA опубликованы).
SNA является фирменной архитектурой IBM и, поскольку она начала
разрабатываться
до
появления
эталонной
модели
OSI,
концепции
и
реализация SNA существенно отличается от данной модели, хотя и выполняет
все функции эталонной модели.
Впервые представленная
разработана
фирмой
Apple
в
для
1985 году,
архитектура AppleTalk была
взаимодействия
выпускаемых
ею
компьютеров в сети. Все компьютеры, производимые фирмой, имеют сетевой
интерфейс AppleTalk.
Хотя протоколы
AppleTalk
является
собственностью
фирмы, Apple
опубликовала спецификации этих протоколов и в настоящее время многие
компании, включая Novell и Microsoft, выпускают программные продукты с
использованием AppleTalk.
Архитектура AppleTalk в основном используется в телекоммуникационных
сетях, в которых преобладают компьютеры фирмы Apple.
MAP
–
протокол
автоматизации
производства
(Manufacturing
Automaton Protocol)
был разработан компанией General Motors (GM) для
локальных
целью
сетей
с
обеспечить
поддерживающие
фирмы,
являющиеся
поставщиками
продукции
автоматизации
производства
интерфейсам.
Локальные сети MAP заняли одно из ведущих мест в
промышленности.
и
различные
компании
GM,
крупные
едиными
системы
требованиями
к
TOP – технический и учрежденческий протокол (Technical and Office
Protocol),
разработанный
Boeing
Computer
Services,
предназначен
для
использования в основном в локальных сетях сферы управления.
Необходимость
интеграции
технологической
процессов
подготовки
проектирования,
производства
и
изготовления
промышленной продукции привела к объединению архитектур TOP и MAP
в общую архитектуру MAP/TOP.
Эта архитектура базируется на эталонной
модели OSI и ее реализации в архитектуре OSI/ISO, но существенно
конкретизирует
эту
технологий,
также
а
модель
по
части
параметров
выбора
телекоммуникационных
межсетевой
связи
и
протоколов
прикладного уровня.
Помимо
используются
компаний
и
Boeing
другими
и
крупными
GM,
сети
архитектуры
MAP/TOP
промышленными
компаниями
и
в
время
самой
настоящее
время
учреждениями.
Архитектура
Internet
распространенной
и
является
наиболее
настоящее
развивающейся
в
архитектурой телекоммуникационной сети. Поэтому в данной дисциплине
рассматривается архитектура, алгоритмические и программные средства этой
сети.
Компоненты технологии WWW
Основной технологией сетей Internet и Intranet является технология WWW.
Все больше информации в сети распространяется с помощью этой технологии,
поэтому проектировщики Web-страниц (Web-дизайнеры) становятся, наряду с
программистами, одной из самых востребованных профессий.
Технология WWW содержит следующие основные средства и
компоненты (взаимодействие этих средств и компонент представлено на
рис. 1.6):

универсальный способ адресации ресурсов в сети URL (Universal
Resource Locator);

протокол передачи гипертекста HTTP (HyperText Transfer Protocol)
между клиентами и серверами WWW;

язык гипертекстовой разметки документов HTML (HyperText Markup
Language);

средства обработки данных на сервере: универсальный интерфейс
шлюзов CGI (Common Gateway Interface), включения со стороны сервера – SSI
(Server-Side Includes) активные серверные страницы – ASP(Active Server Pages),
персональные домашние страницы – PHP (Personal Home Pages) или серверные
страницы Java – JSP (Java Server Pages);
Средствами, расширяющими возможности технологии WWW, являются:

формы HTML;

языки сценариев;

средства динамического HTML – DHTML (Dynamic HTML);

язык XML (eXtended Markup Language);

апплеты Java и компоненты ActiveX.
Рис. 1. Компоненты WWW и их взаимодействие
С помощью этих средств осуществляется интерактивное взаимодействие
пользователей с Web-страницами, а также связь с внешними программами и
базами данных, в том числе и с программными средствами других технологий
сети Internet.
Технология WWW реализована по схеме «клиент-сервер». На компьютересервере (Web-сервере) хранятся документы в форматах HTML, либо XML или
XHTML. Программа, также называемая Web-сервером, обеспечивает запись
и сопровождение Web-страниц (этот процесс называется публикацией), а
также взаимодействие с другими программами на сервере.
По запросу со стороны Web-клиента Web-сервер может выполнять следующие
действия:

передать Web-клиенту запрошенный документ HTML;

передать
Web-клиенту
файлы
MIME-типов
(рисунки,
сценарии,
таблицы стилей, апплеты, компоненты ActiveX и т.п.) для переданного
документа HTML;

может
запустить программу с использованием интерфейса CGI, которая
обращаться
к
внешним
программам,
получать
доступ
и
модифицировать данные в файлах и базах данных;

с использованием одной из технологий: включений на стороне сервера
– SSI (Server Side Includes), активных серверных страниц – ASP (Active Server
Pages), персональных домашних страниц – PHP (personal Home Pages) или
серверных страниц Java – JSP (Java Server Pages) модифицировать исходный
документ HTML перед отправкой его Web-клиенту, а также получать доступ и
модифицировать данные в файлах и базах данных на сервере.
На стороне Web-клиента используются программы, называемые Webбраузерами
(Web-browsers).
выводимые на дисплей
Эти
программы
позволяют
сформировать
Web-страницы из полученного с Web-сервера
документа HTML и файлов MIME-типов. При формировании Web-страницы
могут использоваться как встраиваемые модули Web-браузера, так и внешние
программы.
Структура протоколов Internet
В
середине
70-х
годов
DARPA
–
агентство
по
перспективным
исследовательским оборонным проектам (Defense Advanced Research Project
Agency) начало финансирование работ
по
исследованиям
в области
технологий в сетях с пакетной коммутацией. В результате этих исследований
в конце 70-х годов было создано семейство протоколов для сети ARPANET, а
затем (после добавления межсетевого уровня) для сети Internet, по имени
которой эти протоколы получили свое название. Из этих протоколов самыми
известными
являются
TCP
–
протокол
управления
передачей
(Transmission
Control Protocol) и IP – межсетевой протокол (Internet
Protocol). По именам этих протоколов иногда все протоколы Internet называют
протоколами TCP/IP, хотя семейство включает протоколы, реализующие
функции всех уровней модели OSI.
В настоящее время протоколы Internet являются самыми распространенными
в компьютерных сетях по следующим причинам:

они специально созданы для неоднородных
сетей
и
одинаково
хорошо работают как в локальных, так и в глобальных сетях;

они не ориентированы на
конкретную
компьютерную
платформу
или операционную среду (хотя имеются их реализации для всех
распространенных в настоящее время операционных сред);

имеется документация по всем функциям и протоколам (в отличие от
протоколов OSI/ISO,
часть из которых еще находится в различных
стадиях разработки).
Стандарты для
Internet
Internet – IAB (Internet
специалистов,
разрабатываются Комитетом по деятельности
Activities Board). Комитет состоит из группы
регулярно
функционирования Internet,
Стандарты
Internet
входят
собирающихся
в
в
для
обсуждения
вопросов
том числе и выработки стандартов Internet.
число
документов
RFC
–
запросов
на
комментарии (Requests For Comments). Название стандартов RFC связано с
технологией
их
утверждения:
сначала
некоторая
инициативная
группа
разрабатывает положения того или иного стандарта, а затем эти положения
рассылаются по сети для внесения замечаний и предложений (комментариев)
широкому кругу организаций и лиц – специалистов и пользователей данного
стандарта. Процедура доработки и согласования может включать несколько
итераций и занимать довольно продолжительное время, однако позволяет
учесть предложения всех заинтересованных лиц. Такая процедура разработки
и принятия приводит к тому, что стандарты Internet, как правило, являются
простыми и не содержат неясностей и противоречий, что в конечном счете
послужило одной из причин широкого распространения протоколов Internet.
Поскольку
протоколы
Internet
начали
разрабатываться
до
появления
эталонной модели OSI, архитектура Internet существенно отличается от этой
модели
(хотя
функции,
выполняемые
эталонной
моделью
OSI/ISO
и
протоколами Internet являются одинаковыми) и содержит следующие четыре
уровня:

сетевой, предназначенный для приема пакетов
и
их
передачи через
физическую сеть;

межсетевой, управляющий обменом сообщениями между машинами;

транспортный, организующий обмен сообщениями между различными
прикладными процессами;

прикладной,
обеспечивающий
выполнение
прикладных
задач
пользователей.
Адресация в Internet
Каждый уровень протоколов Internet имеет собственную систему адресации.
Например, для уровня сетевого интерфейса (соответствующего физическому
уровню и уровню канала данных модели OSI/ISO) в локальных сетях
используется физический адрес интерфейса. Он представляет собой 48битный адрес, как правило, записанный в память платы. Для отображения
физического адреса в адрес протокола верхнего уровня (Internet) используется,
как уже говорилось, ARP и RARP.
Уровень Internet (или сетевой уровень модели OSI/ISO) в качестве адресов
использует IP-адреса.
Адресация компьютеров в сети Internet построена на концепции сети,
состоящей из хостов и других сетей. Хост представляет собой объект сети,
который может передавать и принимать IP-пакеты, например, сервер,
рабочую станцию или маршрутизатор.
Каждый IP-адрес (длиной в 32 бита) можно представить состоящим из двух
частей: адреса (или идентификатора) сети и адреса хоста в этой сети.
Существует пять возможных форматов IP-адреса, отличающихся по числу бит,
которые отводятся на адрес сети и адрес хоста. Эти форматы определяют
классы адресов, получивших названия от A до E. Определить используемый
формат адреса позволяют первые биты, как это показано на рис. 1.1.
Рис. 1.1. Классы адресов Internet
Взаимосвязанные сети должны обеспечивать общее адресное пространство.
Адрес IP каждого хоста этих сетей должен быть уникальным. На практике это
достигается с использованием иерархии, заложенной в базовый формат
адреса. Информационный центр сети NIC (Network Information Center)
отвечает за назначение номеров сетей, следя за их уникальностью, в то время
как администраторы отдельных сетей могут назначать номера хостов, также
следя за уникальностью этих номеров в рамках собственной сети. В итоге
каждый хост получит уникальный адрес. В случае глобальной сети Internet
уникальность адресов также должна выполняться глобально.
В соответствии с соглашением, принятым в Internet, IP-адрес
описывается
идентификатором W.X.Y.Z, содержащим четыре группы цифр, описывающих
каждый байт в десятичной форме (при этом каждый компонент адреса
меняется в диапазоне от 0 до 255). Идентификаторы сетей, в том случае, если
сеть является частью Internet, распределяются NIC.
Адреса
класса
A
позволяют
использовать
7
бит
для
адресации
сети,
ограничивая таким образом количество сетей этого класса числом 126. Этот
формат
адреса
напоминает
формат,
используемый
в
предшественнице
современной глобальной сети Internet – сети ARPANET, и предназначен для
больших сетей общего пользования. В те времена мало кто мог предвидеть
столь бурное развитие этих технологий и число 126 не казалось малым.
Адреса класса B используются в сетях среднего размера, например, сетях
университетов и крупных компаний. Число уникальных сетей класса A
значительно больше – 16382, поскольку адрес сети состоит из 14 бит. Однако
сегодня и этого недостаточно – поэтому адреса сетей этого класса больше не
предоставляются.
В настоящее время выделяются сети с адресами класса C. Сетей такого класса
в Internet может быть не более 2 097 150. Но и это число сегодня нельзя
назвать большим. При этом в каждой сети класса C может находиться не более
254 хостов.
Адреса класса D резервируются для групповой адресации в соответствии с
официальным документом RFC-1112 и используются для обращения к группам
хостов.
Адреса класса E зарезервированы для использования в будущем.
Популярность локальных сетей в середине 80-х годов и стремительный рост
числа пользователей Internet в последнее десятилетие привели к значительному
«истощению» адресного пространства. Дело в том, что если
организация
использует только четыре адреса сети класса C, то остальные 250 адресов
«потеряны» для сообщества Internet и использоваться не могут.
Поэтому для более эффективного распределения адресного пространства была
предложена дополнительная иерархия IP-адреса. Теперь адрес хоста может в
свою очередь быть разделен на две части – адрес подсети (subnetwork) и адрес
хоста в подсети.
Заметим,
что
протокола
подсети
IP,
по-прежнему
требующими
являются
наличия
отдельными
маршрутизатора
сетями
для
для
передачи
дейтаграмм из одной подсети в другую.
Для определения фактической границы между адресом подсети и хоста
используется
маска
сети,
представляющая
собой
32-битное
число,
маскирующее единицами (в двоичном виде) номера сети и подсети и
содержащее нули в позициях номера хоста. Модуль протокола IP производит
логическую операцию "И" между маской и конкретным адресом, и таким
образом определяет, предназначена ли эта дейтаграмма данному хосту (для
модуля протокола хоста), или дейтаграмма адресована непосредственно
подключенной подсети, или ее необходимо передать другому шлюзу для
последующей доставки. Использование маски сети показано на рис. 1.2.
Рис. 1.2. Использование маски сети для адресации хоста
Описанная выше технология использования масок подсети переменной длины
VLSM (variable length subnet masks) была принята IETF (Internet Engineering
Task Force) в 1992 г. и получила название бесклассовой внутридоменной
маршрутизации CIDR (Classless Inter-Domain Routing).
все организации, предоставляющие услуги Internet,
При этой технологии
разделяются не по
классам своих сетей, а по маске предоставленного им адреса. Например,
провайдер Internet "ABC", которому NIC делегировал адреса с 198.24.0.0 по
198.31.255.255 (маска 255.248.0.0) может назначить своему клиенту "ABC"
группу адресов с 198.24.8.0 до 198.24.11.255 (маска 255.255.252.0). Ясно, что
сеть "ABC" не принадлежит ни к какому классу, и, тем не менее, может
успешно работать в Internet.
Новая структура адресного пространства позволит значительно сэкономить
адреса для тех организаций, которым они действительно нужны, и взять
лишние у других. Если организация желает получить пул адресов для работы в
Internet,
она
заказывает
кортеж
<адрес,
маска>,
исходя
из
своих
потребностей. Если, к примеру, ей нужно подсоединить к Internet 999 хостов,
не нужно заказывать четыре сети класса C или одну класса B, достаточно
заказать адрес и маску, позволяющие работать такому количеству хостов,
например < 198.24.8.0, 255.255.252.0> – 1024 хоста.
Это удобно, во-первых, из экономических соображений – не нужно платить за
неиспользованные адреса, во-вторых, сетевым администраторам не нужно
хлопотать
о
настройке
маршрутизации
между
группами
хостов,
принадлежащих
разным
классам,
в
третьих,
значительно
упрощается
управление единой сетью.
Обычно
сетевого
маска подсети указывается в файле стартовой конфигурации
программного
обеспечения.
автоматическое определение маски
Однако
можно
использовать
и
(с запросом значения маски по сети с
помощью протокола ICMP).
Ряд IP-адресов имеют специальное значение и не могут присваиваться
сетевым элементам (хостам, шлюзам и т. д.). Эти значения приведены в
следующей таблице:
Адрес
Пример
Интерпретация
Адрес: 192.85.160.46
Маска: 255.255.255.240
Сеть: 0, Хост: 0
0.0.0.0
Адрес сети: 192.85.160.0
Адрес подсети: 2
Адрес хоста: 14
Данный хост в данной сети
Определенный хост в данной
Сеть: 0, Хост: Н
0.0.0.5
сети
(только
для
адреса
источника)
Сеть: 1 1 1 1 . . . 1
Подсеть:1 1 1 1 . . . 1
255.255.255.255
Хост:1 1 1 1 ..1
Сеть: N
Подсеть:1 1 1 1 . . . 1
192.85.160.255
Хост:1 1 1 1 ...1
Сеть: N
Подсеть: S
192.85.160.47
Хост:1 1 1 1 ...1
Сеть: 127
данной подсети
Групповой адрес всех хостов
всех подсетей сети N
Групповой адрес всех хостов
подсети S сети N
Адрес внутреннего логического
127.0.0.1
Хост:1
Групповой адрес всех хостов
хоста
В выделенных IP-адресах все нули соответствуют либо данному узлу, либо
данной IP-сети, а IP-адреса, состоящие из всех единиц, используются при
широковещательных
передачах.
Для
ссылок
на
всю
IP-сеть
в
целом
используется IP-адрес с нулевым номером узла.
Особый смысл имеет
IP-адрес, первый байт которого равен 127.
Он
используется для тестирования программ и взаимодействия процессов в
пределах одной машины. Когда программа посылает данные по IP-адресу
127.0.0.1, то образуется как бы "петля". Данные не передаются по сети, а
возвращаются модулям верхнего уровня, как только что принятые. Поэтому в
IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127.
Адрес IP обычно представляется для пользователя в виде символического
адреса.
Этот
символический
адрес
преобразуется
(справа
налево)
в
рассмотренный выше числовой адрес (194.44.128.10) с помощью системы
имен доменов – DNS.
Доменная система имен – это метод назначения имен путем передачи
сетевым группам ответственности за их подмножество имен. Каждый уровень
этой системы называется доменом. Домены в именах отделяются друг от друга
точками: inr.msk.su,
polytech.kiev.ua, nic.ddn.mil. В имени может быть
различное количество доменов, но практически их не больше пяти. По мере
движения по доменам слева направо в имени, количество имен, входящих в
соответствующую группу возрастает.
Первым в имени стоит название рабочей машины – реального компьютера с
адресом IP. Это имя создано и поддерживается группой (например, компьютер
polytech). После имени компьютера может следовать имя группы (например,
jinr), к которой он относится (имя группы может быть опущено). Группа
входит в более крупное подразделение (например, городское объединение –
сеть города Киева – kiev), которое в свою очередь, является частью
национальной сети (например, сети Украины – ua). Для США наименование
страны по традиции опускается, там самыми крупными объединениями
являются сети образовательных (edu), коммерческих (com), государственных
(gov), военных (mil) учреждений, а также сети других организаций (org) и
сетевых ресурсов (net). Группа может создавать или изменять любые
принадлежащие ей имена.
Поскольку Internet – сеть мировая, требовался также способ передачи
ответственности
за
имена
внутри
стран
им
самим.
двухбуквенная кодировка государств. Это оговорено в
например, домен Канада называется ca, Украина – ua,
Сейчас
принята
RFC 822. Так,
США – us и т.д. США
также включили в эту систему структурирования для всеобщности и порядка.
Всего же кодов стран почти 300, из которых около 100 имеет компьютерную
сеть того или иного рода. Единый каталог Internet находится у SRI
International (Менло-Парк, Калифорния, США) – государственной организации.
Протоколы транспортного уровня замыкают систему адресации Internet.
Адреса, которые используются протоколами этого уровня и называются
номерами
портов
(port
number),
служат
для
определения
процесса
(приложения), выполняющегося на данном хосте, которому адресованы
данные.
Другими
словами,
для
передачи
сообщения
от
источника
к
получателю требуется шесть адресов – по три с каждой стороны (физический
адрес адаптера, IP-адрес и номер порта) – для однозначного определения пути.
Номер порта адресует конкретный процесс (приложение) и содержится в
заголовке пакета TCP или UDP. IP-адрес определяет сеть и хост, на котором
выполняется процесс, и содержится в заголовке IP-дейтаграммы. Адрес
сетевого адаптера определяет расположение хоста в физической сети.
Номера портов занимают 16 бит и стандартизированы в соответствии с их
назначением. Полный список стандартных номеров портов приведен в RFC
1700 "Assigned Numbers". Часть из них в качестве примера приведена в
следующей таблице:
Номер
Назначение
Название
порта
(протокол прикладного уровня)
Передача данных и управляющих команд
20 и 21
ftp-data
23
telnet
Удаленный доступ (Telnet)
25
smtp
Электронная почта по протоколу SMTP
53
domain
Сервер доменных имен (Domain Name Server)
80
www-http
World Wide Web (HyperText Transfer Protocol)
119
nntp
161
snmp
179
bgp
протокола FTP
Телеконференции
(Network
News
Transfer
Protocol)
Менеджмент/статистика
(Simple
Network
Management Protocol)
Информация
о
маршрутизации
(Border
Gateway Protocol)
Сети Intranet
Сеть Internet, которая, как уже говорилось выше, является совокупностью
административно независимых сетей,
охватившей
практически
все
стала фактически всемирной сетью,
страны.
Вследствие
этого
протоколы
и
технологии
Internet
стали
самыми
распространенными
средствами
взаимодействия в глобальных сетях.
До недавнего времени в локальных сетях, особенно в корпоративных
(ведомственных) локальных сетях преобладали другие архитектуры, протоколы
и технологии.
Наиболее распространенной архитектурой в локальных сетях
являлась (и сейчас еще остается) архитектура
NetWare
фирмы
Novell,
использующая свои протоколы и технологии электронной почты, обмена
файлами, удаленного доступа и т.д. Кроме того, во многих корпоративных
сетях используются разнообразные системы управления базами данных
(СУБД), как с базами данных размещенными на сервере (централизованное
хранение данных), так и с базами данных, размещенными на разных
компьютерах локальной сети (распределенное хранение данных).
Хотя, в принципе, корпоративные сети являются замкнутыми системами, и
основная доля трафика приходится на обмен данными внутри корпоративной
сети, тем не менее, многие такие сети, для доступа к внешним источникам
данных и для того, чтобы дать возможность внешним пользователям получить
доступ к некоторым из своих данных, многие корпоративные сети стали
подключаться к глобальным сетям, в частности к Internet.
Это привело к тому, что многие приложения Internet (особенно электронная
почта и WWW) стали популярными и в корпоративных сетях. Производители
сетевых программных средств стали встраивать в свои продукты реализации
протоколов прикладного уровня Internet (SMNP, FTP, Telnet и WWW), а также
возможность работы в локальной сети по протоколам TCP/IP. Так появились
сети Intranet.
Строгого определения термина Intranet не существует. Считается, что сети
Intranet - это корпоративные сети, использующие протоколы и технологии
Internet. Однако многие сети (особенно созданные давно) уже используют
протоколы сетевого и транспортного уровня, отличные от TCP/IP (например,
протоколы IPX/SPX в NetWare). В то же время, на прикладном уровне эти сети
все больше используют протоколы и технологии Internet. Поэтому видимо более
точным будет определить сети Intranet как сети, использующие на прикладном
уровне основные протоколы и технологии Internet.
Подключение корпоративной сети к Internet и использование одних и тех же
протоколов прикладного уровня и в Intranet и в Internet существенно
увеличило возможность несанкционированного доступа к корпоративным
данным. Для решения этой проблемы используются брандмауэры (firewalls),
осуществляющие
функции
мониторинга
и
фильтрации
трафика
между
корпоративной сетью Intranet и Internet.
Адресация ресурсов в Internet
Идентификация типов, методов работы и компьютеров, на которых находятся
определенные ресурсы, доступные через Internet, выполняется с помощью
унифицированного указателя ресурсов URL (Uniform Resource Locator).
указания ресурсов используются также термины:
Для
унифицированный
идентификатор ресурса URI (Uniform Resource Identifier) и унифицированное
имя
ресурса
URN
(Uniform
Resource
Name).
В
различных
источниках
существуют разные толкования этих терминов. Так, в спецификации HTML
для
обозначения
доступа
к
ресурсам
используется
термин
URI,
а
в
большинстве пособий и справочников по HTML используется термин URL,
который и будет использоваться в данной дисциплине.
Указатель URL имеет следующий общий формат:
протокол://адрес-ресурса
В URL не должно быть пробелов. Если пробелы все же необходимы, например,
в именах каталогов или файлов, а также значениях параметров, они
кодируются символом "+" или последовательностью "%20". Хотя считается, что
регистр букв в URL не имеет значения, тем не менее, для некоторых Webсерверов в UNIX неверное указание регистра в пути доступа может привести к
ошибке.
Параметр протокол указывает протокол прикладного уровня Internet, с
помощью которого осуществляется доступ к ресурсу, например, http или ftp.
Для каждого протокола адресация ресурсов имеет свои особенности.
Для протокола TELNET указатель URL имеет следующий общий формат:
telnet://имя:пароль@сервер:порт
Обязательным параметром в указателе является только параметр сервер –
символическое
имя или числовой IP-адрес сервера TELNET. Если порт не
указан, принимается номер порта по умолчанию
параметры
(порт 23). Если не заданы
имя и/или пароль пользователя, программа-клиент выведет
запрос на ввод этих данных.
Пример URL для протокола TELNET:
telnet://guest:guest@127.0.0.1
Подключение пользователя с именем guest и паролем guest к локальному
серверу TELNET.
Для протокола FTP указатель URL имеет следующий общий формат:
ftp://имя:пароль@сервер:порт/путь-доступа/имя-файла;type=код
Так
же,
как
и
для
протокола
TELNET,
единственным
обязательным
параметром является параметр сервер. Если не заданы параметры имя и/или
пароль пользователя, программа-клиент выведет запрос на ввод этих данных.
Если порт не указан, принимается номер порта по умолчанию
Параметр
путь-доступа
указывает
путь
к
заданному
(порт 21).
каталогу,
если
необходимо получить доступ к конкретному файлу, можно указать его имя в
параметре имя-файла (если имя файла опущено, после соединения с сервером
FTP указанный в параметре путь-доступа каталог становится текущим).
Параметр код задает тип передаваемых данных и может иметь одно из трех
значений: значение i – для двоичных данных (это значение принимается по
умолчанию), значение a – для текстовых данных и значение d – для вывода
списка файлов в каталоге, указанном в параметре путь-доступа.
Пример URL для протокола FTP:
ftp://ftp.company.com/products;type=d
Будет выведено оглавление каталога products на сервере FTP с именем
ftp.company.com.
Для электронной почты указатель URL имеет следующий общий формат:
mailto:пользователь@сервер
Данный протокол, в отличие от других, не предназначен для указания и
передачи какого-либо ресурса. Вместо этого он просто открывает окно, в
котором можно создать и отправить почтовое сообщение по указанному
адресу.
Пример URL для электронной почты:
mailto:ivanov@polytech.kiev.ua
Будет
вызвана
почтовая
программа
ввода
сообщения,
адресованного
ivanov@polytech.kiev.ua.
Указатель URL для чтения новостей в группах новостей USENET имеет
следующие два формата:
news:группа-новостей
и
news:сообщение@сервер:порт
В первом формате URL протокола news просто запрашивает группу новостей
по ее названию. Адрес сервера новостей, принимаемый по умолчанию,
задается в настройках браузера или программы новостей.
Во втором формате URL протокола news запрашивает определенное сообщение
на определенном сервере новостей, используя для этого идентификатор
сообщения.
Примеры URL для новостей USENET:
news: rec.music.folk
news:13c65a7a@microsoft.public
В первом примере запрашивается группа новостей rec.music.folk, а во втором
примере сообщение 13c65a7a на сервере новостей microsoft.public.
Можно получить доступ к новостям с использованием протокола NNTP,
для которого указатель URL имеет следующий формат:
nntp://сервер:порт/группа-нoвocтeй/номер-сообщения
Если параметр порт не задан, принимается значение номера порта по
умолчанию (порт 119).
Пример URL для протокола NNTP:
nntp://news.company.com/microsoft.public/118
Запрос сообщения с номером 118 в группе новостей
microsoft.public на
сервере новостей news.company.com.
Для протокола HTTP указатель URL имеет следующий общий формат:
http://сервер:порт/путь-доступа/имя-файла?параметры-доступа
Параметр сервер указывает адрес Web-сервера. Параметр порт указывает
номер порта, по которому в компьютере осуществляется доступ к указанному
протоколу. Если номер порта совпадает с номером, принятым для протокола
HTTP по умолчанию (порт 80), данный параметр, вместе с предшествующим
двоеточием, можно опустить.
Параметр путь-доступа указывает путь к данному ресурсу в форме, принятой
в UNIX. При использовании протокола HTTP, если в качестве ресурса
указывается
так
называемая
домашняя
страница
Web-сервера,
этот
параметр можно опустить.
Если необходимо получить доступ к конкретному файлу, можно указать его
имя в параметре имя-файла (если параметр имя-файла опущен, вызывается
так называемая домашняя страница данного каталога).
Если файл, к которому выполняется доступ, является документом HTML и
имеет метки (anchors), можно получить доступ к отдельному помеченному
фрагменту файла, задав параметр имя-файла в следующем виде:
имя-файла#метка
Строка
параметров-доступа
состоит
из
последовательностей
символов
(лексем), разделяемых символом "&". Каждая лексема состоит из имени
параметра и его значения, разделенных символом "=". Нетекстовые символы, а
также символы второй половины кодовой
таблицы ASCII (в том числе и
русские буквы) заменяются знаком "%" и шестнадцатеричным значением
этого символа (например, символ пробела заменяется последовательностью
символов "%20"). Для указанного ресурса вся строка параметров является
символьной строкой, поэтому тип, очередность или уникальность имен
отдельных параметров строки не существенны.
Примеры URL для протокола HTTP:
1. Файл readme.htm, расположенный на WWW-сервере фирмы Microsoft,
представляет собой ресурс с URL:
http://www.microsoft.com/readme.htm
Если необходимо получить доступ к разделу этого файла, помеченного меткой
part3, то необходимо задать URL в следующем виде:
http://www.microsoft.com/readme.htm#part3
2. Доступ
к
программе
login.pl,
расположенной
на
Web-сервере
www.company.com описывается следующим URL:
http://www.company.com/bin/login.pl?name=John&password=stud1
При запуске программы login.pl ей будут переданы два параметра: name со
значением John и password со значением stud1.
Протокол file указывает на файл, расположенный на удаленном или локальном
компьютере. С помощью этого протокола Web-браузер может просматривать
файлы, расположенные на локальном компьютере пользователя или на других
компьютерах локальной сети.
Для протокола file указатель URL имеет следующий общий формат:
file://сервер/имя-диска/путь-доступа/имя-файла
Если параметр сервер опущен, то предполагается локальный компьютер.
В некоторых ситуациях необходимо получить доступ к файлу, расположенному
на другом компьютере локальной сети. На компьютерах
под управлением
Windows в равноранговой локальной сети формат доступа в этом случае имеет
следующий вид:
file://\\имя-компьютера\имя-диска\путь-доступа\имя-файла
Примеры URL для протокола file:
file:///c:/Web/testpage.html
Запрос на доступ к файлу testpage.html в каталоге Web диска c: на локальном
компьютере.
file://\\pc1\C\Netlog.txt
Запрос на доступ к файлу Netlog.txt на диске C компьютера pc1 в локальной
сети.
Протокол HTTP
Протокол HTTP – это протокол прикладного уровня, который, как правило,
работает поверх транспортного протокола TCP, хотя, в принципе, он может
функционировать поверх любого транспортного протокола. При работе по TCP
сервер HTTP использует, как правило, порт 80.
Первая версия протокола HTTP, с номером 0.9, появилась в 1990 году. Затем
была принята версия HTTP 1.0. Однако практика использования этого
протокола
выявила
его
ограничения
по
обработке
запросов
и
производительности, поэтому в 1996 г. была принята новая версия протокола –
HTTP 1.1, действующая в настоящее время.
Соединение HTTP должно открываться клиентом перед каждым запросом и
закрываться сервером после отправки ответа. Как клиент, так и сервер
должны иметь в виду, что соединение может быть преждевременно закрыто
либо пользователем, либо по истечении времени соединения, либо из-за сбоя
системы.
После установления соединения ТСР между клиентом и сервером HTTP, клиент
отправляет на сервер запрос. Запрос состоит из заголовка и тела запроса (тело
запроса
может
отсутствовать,
но
пустая
строка
должна
быть
задана
обязательно). Разделителем между заголовком и телом запроса служит пустая
строка.
Первая строка заголовка запроса имеет следующий формат (поля строки
отделяются друг от друга одним или несколькими пробелами):
метод URL версия-HTTP
Поле метод задает идентификатор метода обращения к ресурсу. Наиболее
используемыми методами являются GET и POST.
Методы GET и POST запрашивает ресурс, расположенный по заданному URL
(например, файл документа HTML). Различие между ними заключается в
следующем: если ресурсу URL для работы необходимы параметры, то для
метода GET они должны быть указаны в самом URL после символа "?", а для
метода POST – в теле запроса.
Другие методы протокола HTTP приведены в таблице:
Ме
тод
HEAD
Описание
Запрос информации о ресурсе, указанном в URL
Если задан URL, запрос информации о возможных методах
OPTIONS
запроса объекта. Если в качестве URL задан символ "*", запрос
информации о параметрах Web-сервера.
PUT
DELETE
Отправляет в теле запроса данные (например, файл) на Webсервер и записывает их по адресу, указанному в URL.
Удаляет ресурс, указанный в URL на Web-сервере (обычно этот
метод на сервере отключен).
Web-сервер должен немедленно отправить поступившую ин-
TRACE
формацию обратно (этот метод используется для получения
информации о временах прохождения и обработки запросов).
Параметр URL задает полный или усеченный (начиная с поля путь-доступа)
URL запрашиваемого ресурса.
Параметр версия-HTTP задает версию протокола HTTP в виде HTTP/1.0 или
HTTP/1.1.
Пример задания первой строки запроса:
GET /maindoc.html HTTP/1.1
После первой строки могут следовать поля заголовков запроса (каждое поле
задается в отдельной строке). Поля запроса можно разделить на следующие
группы:

общий заголовок (General Header) (может использоваться как в
запросе, так и ответе Web-сервера). Поля этой группы могут использоваться
только тогда, когда задано тело сообщения. В эту группу входят следующие
поля: поле Date: (время построения сообщения); поле Pragma: (для установки
специальных директив участникам соединения, например, значение поля nocache не позволяет промежуточным объектам соединения использовать кэш
при ответе на запрос); поле Host: (адрес и порт Web-сервера, на который
отправляется запрос); поле
Connection: (тип соединения, если указано
значение Keep-Alive, Web-браузер просит сервер поддерживать соединение
открытым, чтобы можно было принимать несколько элементов, используя одно
и то же соединение).

заголовок запроса (Request Header) появляется только в запросах
клиентов и
позволяет клиентам отправлять на сервер дополнительную ин-
формацию о себе и о запросе. В эту группу входят следующие поля: поле
Authorization: (информация аутентификации пользователя); поле From: (адрес
пользователя в Internet); поле User-Agent: (информация о программном
обеспечении клиента); поле MIME-version: (версия протокола MIME, который
понимает Web-браузер); поле Referer: (URL предшествующего ресурса); поля IfModified-Since:
дата
время
и
If-Unmodified-Since:
дата
время
(при
обработке запроса, проверяется, время последнего изменения ресурса и
посылается либо сам ресурс, либо сообщение о том, что ресурс не изменился –
при работе с методом GET); поля If-Match: переключатель и If-None-Match:
переключатель (запрос должен быть выполнен только при совпадении или
несовпадении условия); поля Range: и If-Range: переключатель (для запроса
определенного диапазона данных при заданном условии).

заголовок принимаемых параметров (Accept Header) указывает,
какие типы данных понимает Web-браузер и содержит следующие поля: поле
Accept: (список MIME-типов данных, принимаемых Web-браузером, например:
text/html, image.gif или */* – все данные); поля Accept-Charset:, AcceptEncoding:, Accept-Language: (определяют, соответственно, допустимые в
ответе значения символьного набора, типов кодировок и используемого
национального языка).

заголовок передаваемого сообщения (Entity Header) содержит
информацию о структуре и формате тела запроса, или, если тело сообщения
отсутствует, информацию о запрашиваемом ресурсе (может появляться как в
запросе клиента, так и ответе сервера). В эту группу входят следующие поля:
поле Allow: (список методов, поддерживаемых ресурсом); поле ContentEncoding: (идентификатор типа дополнительной кодировки ресурса, т. е. для
использования этого ресурса он должен быть перекодирован указанным
алгоритмом); поле Content-Length: (длина тела сообщения); поле ContentType: (тип ресурса и таблицу кодировки представляемых данных, например,
us-ascii, iso8580-1, windows-1251, koi8-r и др.); поле Content-Language:,
(основные национальные языки, используемые при формировании тела
сообщения); поле Expires: (дата окончания срока действия ресурса); поле LastModified: (дата и время последнего изменения ресурса).
Пример запроса по протоколу HTTP:
GET http://testserver/ HTTP/1.1
Connection: Keep-Alive
Accept: image/gif, image/x-xbitmap,
image/jpeg, image/jpeg, image/png, */*
Accept-Charset: iso-8859-1, *,utf-8
Accept-Encoding: gzip
Accept-Language: en, en-GB, de, fr, ru
Host: testserver:80
User-Agent: /4.51 [en]C-c32f404p
(WinNT; U)
Date: Tue, 15 Nov 1994 08:12:31 GMT
Pragma: no-cache
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
From: webmaster@w3.org
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Referer:
http://www.w3.оrg/hypertext/Data Sources/Overview.html
Allow: GET, HEAD
Content-Length: 3495
Content-Type: text/html; charset=windows-1251
Expires: Thu, 01 Dec 2002 16:00:00 GMT
Last-Modified: Tue, 15 Nov 1999 12:45:26 GMT
Content-Language: ru, en
Тело запроса (если оно есть) обычно содержит либо передаваемые данные (при
использовании метода PUT), либо параметры, передаваемые с использованием
метода POST.
После получения запроса, сервер обрабатывает его и отправляет результат
обработки клиенту. Так же, как и запрос, ответ состоит из заголовка и тела
ответа, разделенных пустой строкой.
Первая строка заголовка ответа имеет следующий формат:
версия-HTTP код-обработки пояснение
Параметр версия-HTTP содержит идентификатор версии протокола HTTP,
которую поддерживает сервер.
Параметр
код-обработки
содержит
трехзначный
числовой
код
статуса
обработки запроса, который обрабатывается программным обеспечением
клиента.
Числовые
коды
обработки
структуру. Например, 200 – код
сигнализирует
невозможности
о
тем
или
составляют
иерархическую
успешной обработки запроса, код 400
синтаксической
по
запроса
ошибке
иным
в
запросе,
причинам
а
код
выполнить
500
–
о
правильно
составленный запрос.
Параметр пояснение содержит короткую строку описания кода обработки,
которая, в основном, предназначена для текстового анализа результата
обработки запроса.
После первой строки ответа может следовать общий заголовок, поля которого
аналогичны общему заголовку запроса.
Следующие поля образуют группу полей заголовка ответа (Response-Header).
Эта группа содержит следующие поля: поле Location: (полный URL ресурса,
который отвечает на отправленный запрос, т.е. если клиент отправил запрос
на Web-сервер с целью получения какого-либо документа, который был
перемещен в другой каталог или на другой сервер, и запрашиваемый сервер
выдает поле Location:, то запрос клиента, автоматически, перенаправляется
по URL, указанному Web-сервером); поле Server: (спецификация программного
обеспечения Web-сервера, отвечающего на запрос); поле WWW-Authenticate:
(параметры схемы и пространства аутентификации).
После полей заголовка ответа могут следовать поля заголовка передаваемого
сообщения, аналогичные соответствующим полям в заголовке запроса
Поле ответа обычно содержит возвращаемые по запросу MIME-данные,
например, файл документа HTML или графический файл.
Пример ответа по протоколу HTTP:
HTTP/1.0 200 OK
Date: Wednesday, 05-Feb-9'7 23:04:12 GMT
Server: IIS 5.01
MIME-version: 1.0
Last-modified: Monday, 15-Nov-00 23:33:16 GMT
Content-type: text/html
Content-length: 2345
пустая строка
документ HTML
Помимо приведенных полей, Web-браузер и Web-сервер могут обрабатывать
пользовательские заголовки (Custom Headers), введенные специально для
данного Web-браузера и/или Web-сервера, но не поддерживаемые текущей
спецификацией HTTP.
Протокол
HTTP
пользователя
предоставляет
ресурсов
простой
WWW-сервера.
механизм
Механизм
аутентификации
построен
на
обмене
информацией аутентификации между клиентом и сервером ресурса и
позволяет
выбирать
схему
аутентификации
и
уровень
секретности
передаваемых данных.
Наиболее
распространенная
схема
аутентификации
–
Basic,
предусматривающая передачу клиентом своего идентификатора и пароля для
получения
доступа
к
ресурсам
на
сервере.
Идентификатор
и
пароль
пользователя при передаче кодируются с помощью base64.
Схема Basic не предусматривает какого-либо шифрования пользовательских
данных, поэтому в системах, требующих высокого уровня защищенности,
применяется шифрование данных на уровне протоколов TCP или UDP.
В тех системах, где требования к безопасности передаваемых данных не столь
высоки, применяется механизм SSL (Secure Socket Layer – уровень сокетов
безопасности), обеспечивающий дополнительное шифрование данных на
уровне наиболее распространенных протоколов шифрования. В этом случае
обычно используется так называемая безопасная версия протокола HTTP (с
шифрованием данных) – протокол HTTPS (HTTP Secure).
Протокол HTTP построен по модели «запрос-ответ».
Вначале клиент
устанавливает соединение с сервером и отправляет запрос. Сервер HTTP
отвечает строкой статуса обработки запроса, а затем передает запрошенную
информацию.
В простейшем случае соединение представляет собой поток данных между
клиентом – инициатором соединения и сервером. В более сложной ситуации, в
процессе передачи данных принимают участие несколько промежуточных
объектов. Они могут быть трех видов:

proxy – промежуточный агент;

gateway – шлюз;

tunnel – туннель.
Промежуточный объект proxy принимает запрос клиента и, в зависимости от
своих настроек, изменяет часть или все сообщение запроса и передает
переформатированный запрос далее по цепочке, например, другим серверам
или запрашиваемому серверу. В момент принятия запросов proxy может
работать как сервер, а при передаче запросов – как клиент. Объект proxy
часто используется как ретранслятор протоколов внутренней сети в
Internet
и,
как
правило,
представляет
собой
«ворота»
для
выхода
пользователей внутренней сети наружу.
В отличие от proxy, шлюз принимает запросы клиента, так, как будто он
и есть запрашиваемый сервер, и передает их дальше. Работа шлюза прозрачна
для клиента. Шлюз, как правило, используется как ретранслятор
запросов или протоколов внешней сети во внутреннюю сеть, к
ресурсам сервера, т.е. как ворота входа пользователей внешней сети.
Туннель
представляет
собой
программу-посредник
между
двумя
соединениями. Туннели используются в тех случаях, когда необходимо
организовать
поток
данных
через
какой-либо
промежуточный
объект
(например, тот же proxy), который не может интерпретировать структуру
потока данных.
Каждый из объектов – участников соединения, за исключением тоннеля,
может поддерживать внутренний кэш запросов и ответов.
Кэш представляет собой локальную базу данных сообщений ответов и
систему управления этой базой. Кэш хранит ответы серверов и возвращает
их по запросу клиента, не передавая запрос следующему объекту цепочки
соединения.
Эффект от кэширования состоит в том, что он уменьшает длину цепочки
соединения и, тем самым, уменьшает время соединения. Однако не все ответы
могут
кэшироваться.
Некоторые
запросы
могут
содержать
параметры,
накладывающие ограничения на работу кэша.
Традиционная двухуровневая архитектура «клиент/сервер»
Бизнес-приложения для интенсивной работы с данными состоят из 4
основных компонентов: базы данных, логики транзакций, логики приложения
и интерфейса пользователя.
Для
удовлетворения
новых
требований
была
разработана
архитектура
«клиент/сервер». Традиционная двухуровневая архитектура «клиент/сервер»
предусматривает
уровнями.
распределение
Клиент
прежде
основных
всего
решаемых
отвечает
за
задач
между
представление
2
данных
пользователю, а сервер – за предоставление сервисов данных этому клиенту.
Сервисы
предоставления
управляют
пользовательским
интерфейсом
и
основной бизнес - логикой приложения. Сервисы данных обеспечивают
ограниченную поддержку бизнес-логики приложения, обычно в виде правил
проверки
корректности
ввода
данных,
а
также
реализуют
доступ
к
запрашиваемым данным независимо от их расположения. Данные могут
происходить
от
реляционных
СУБД,
объектно-ориентированных
СУБД,
традиционных СУБД или от устаревших спец.систем доступа к данным.
Первый уровень
Функции:
Клиент

Интерфейс пользователя,

Основная логика обработки
данных
Второй уровень
Серверы баз данных
Функции:

Контроль данных на
серверной стороне

Трехуровневая архитектура
Доступ к базе данных
Необходимость масштабируемости систем по мере развития предприятия
стала непреодолимым барьером для традиционной двухуровневой
архитектуры «клиент/сервер». Проблемы препятствующие достижению
истинной масштабируемости:
1. «Толстый» клиент, для эффективной работы которого требуются
значительные вычислительные ресурсы, включая дисковое пространство,
оперативку и мощность центрального процессора.
2. значительные накладные расходы на администрирование клиентского
приложения.
При появлении новой архитектуры три уровня программного обеспечения
могли функционировать на разных платформах:
уровень пользовательского интерфейса, который располагается на
компьютере конечного пользователя (клиента)
уровень бизнес-логики и обработки данных. Этот промежуточный
узел располагается на сервере и часто наз. сервером приложения.
СУБД, в которой хрантся данные, необходимые для
функционирования промежуточного уровня. Этот уровень может
выполняться на отдельном сервере базы данных.
Первый уровень
Функции:
Клиент
Интерфейс пользователя
Второй уровень
Функции:
Сервер приложения
Основная логика приложения ;
Логика обработки данных
Третий уровень
Функции:
Сервер базы данных
Контроль данных;
Доступ к базе данных
Трехуровневая архитектура «клиент/сервер» имеет многие преимущества
перед предыдущими моделями:
1. «Тонкий» клиент, для которого требуется менее дорогостоящее
аппаратное обеспечение,
2. Централизация бизнес-логики для многих конечных пользователей на
сервере приложения и, как следствие, централизация сопровождения,
3. Дополнительная модульность упрощает модификацию или замену
программного обеспечения каждого уровня без оказания влияния на
остальные уровни,
4. Отделение основной бизнес-логики приложения от функий базы данных
упрощает задачу равномерного распределения нагрузки.
Схема взаимодействия с Web-сервером
В настоящее время наиболее перспективной является архитектура "клиент-сервер",
основанная на Web-технологии.
Обмен информацией по Web-технологии не отличается от информационного обмена,
реализуемого по принципу "клиент-сервер", когда программа-сервер осуществляет
обработку запросов, поступающих от программы-клиента.
Рис. 1.9. Обобщенная схема взаимодействия Web-навигатора с сервером
В качестве программ-клиентов выступают программы Web-навигации, располагаемые
на рабочих станциях сети, или служебные Web-приложения. Web-навигаторы
используются для непосредственной визуализации и интерпретации Web-документов,
хранящихся на сервере, а также для доступа к другим отдельным сервисам (рис. 1.9):
- сервису копирования файлов с сервера (РТР-сервису);
- сервису управления сервером (Telnet-сервису);
- сервису многоуровневых меню по доступу к компьютерным ресурсам (Gopherсервису).
Доступ к другим отдельным сервисам возможен в связи с тем, что с самого начала
программы
навигации
разрабатывались
как
мультипротокольные
программы,
обеспечивающие интерфейс доступа ко многим ресурсам сети.
К Web-навигаторам относятся такие известные продукты, как Netscape
Navigator компании Netscape или Internet Explorer от Microsoft.
Служебные Web-приложения используются чаще всего для получения некоторых
статистических данных о Web-сервере или индексирования содержащейся там
информации с целью пополнения базы данных поисковых систем.
При использовании Web-технологии в качестве основной программысервера выступает Web-сервер, который запускается на компьютере-сервере и
осуществляет обработку запросов, приходящих от Web-клиентов. Взаимодействие между Web-клиентом и Web-сервером осуществляется в соответствии с
протоколом
HTTP
(HyperText
Transfer
Protocol
—
протокол передачи
гипертекста). Будучи запущенным, Web-сервер контролирует логический порт,
по умолчанию номер которого равен 80, и полагает, что любые сообщения,
присланные к этому порту, предназначены для Web-сервера.
При получении запроса от Web-клиента Web-сервер устанавливает связь по
протоколу TCP/IP и обменивается информацией в соответствии с протоколом
HTTP. В случае запроса защищенной информации Web-сервер может
потребовать от пользователя введения идентификатора и пароля. Защищенные
Web-документы предоставляются
только при
наличии
у пользователей
соответствующих прав доступа.
Web-документы, получаемые навигатором от Web-сервера, представляют
собой текстовые файлы, написанные на специальном языке, называемом
языком HTML (HyperText Markup Language — гипертекстовый язык меток). Этот
язык состоит из набора соглашений, в соответствии с которыми в текстовый
файл помимо требуемого текста на любом языке мира вставляются метки,
определяющие форматирование этого текста и его внешний вид в окне Webнавигатора, а также ссылки на любые объекты и отображаемые графические
файлы. Кроме меток в Web-документ могут быть вставлены программы на
языках JavaScript (Java Scripting) и VBScript (Visual Basic Scripting),
интерпретируемые Web-навигатором при загрузке и просмотре Web-документа.
Для доступа к той информации, которая не может обрабатываться Webсервером непосредственно, например для доступа к базам данных, используется
система программных шлюзов. Программный шлюз, получив запрос от Webсервера, обрабатывает его сам или выступает в качестве посредника между
сервером Web и каким-либо другим сервером, например, сервером СУБД (рис.
1.9). Программные шлюзы разрабатываются в соответствии с определенными
стандартами, определяющими способы вызова Web-сервером прикладных
программ или функций динамических библиотек, а также способы обмена
информацией
с
этими
программными
объектами.
Одним
из
наиболее
распространенных стандартов данного типа является интерфейс CGI (Common
Gateway Interface — общий интерфейс шлюзов).
Обработка запроса от Web-клиента
Рассмотрим полную последовательность шагов, реализуемую Web-сервером при
обработке запроса, поступившего от Web-клиента.
1. Web-навигатор или другой Web-клиент посылает Web-серверу запрос на
получение от него какого-либо информационного ресурса. Запрос передается в
формате HTTP, а адрес ресурса указывается в формате URL.
2. После получения запроса Web-сервер определяет наличие запрашиваемо-I го
ресурса среди локальных ресурсов, т. е. среди ресурсов, которыми I данный
сервер управляет.
3. Если запрашиваемый ресурс имеется в наличии, то Web-сервер проверяет права
доступа к этому ресурсу и, если права не нарушены, то возвращает содержимое
ресурса Web-клиенту.
4. Если запрос Web-клиента нарушает права доступа к ресурсу, то Web-сервер
отклоняет запрос и возвращает соответствующее предупреждение клиенту.
5. В случае, если запрашиваемый ресурс не относится к локальным ресурсам Webсервера, сервер определяет наличие в его файлах настройки информации о
перемещении ресурса в сети. Если ресурс был размещен на сервере, но в данный
момент перемещен в другое место, то сервер сообщает об этом клиенту (рис. 1.10).
Рис. 1.10. Схема перенаправления запроса.
6. Если
Web-сервер
поддерживает
виртуальное
дерево
другого
Web-сервера,
то запрос будет перенаправлен на нужный ресурс по аналогии с предыдущим
шагом (рис. 1.10).
7. Если
Web-сервер используется
в качестве сервера-посредника (proxy-
сервера), то он выступает, с одной стороны, в качестве Web-сервера для
клиента, пославшего запрос, а с другой стороны — в качестве Webклиента, который посылает запрос к другому Web-серверу (рис. 1.11).
8. После возвращения информации клиенту сервер разрывает соединение с ним.
Рис. 1.11. Использование Web-сервера в качестве сервера-посредника
Web-сервер может использоваться для решения широкого круга задач. Наиболее
типичными для современных серверов являются следующие функции:
-
ведение иерархической базы данных документов, обработка запросов и
контроль за доступом к информации со стороны программ-клиентов;
- предварительная обработка данных перед ответом на запрос;
- взаимодействие с внешними программами и другими серверами, например, с
информационно-поисковыми системами.
Большинство современных Web-серверов, таких как Enterprise Server от
корпорации Netscape и Internet Information Server от Microsoft, реализуют
криптографический протокол SSL (Secure Sockets Layer), обеспечивающий
поддержание конфиденциальности, целостности и подлинности передаваемых по
сети данных. Этот протокол реализован и в современных Web-навигаторах —
Netscape Navigator и Internet Explorer. Данная особенность позволяет безопасно
использовать Web-технологию в компьютерных сетях.
Управление информацией о ресурсах и пользователях сети
Масштабность и неоднородность современных компьютерных сетей не только
усложняют администрирование и защиту компьютерных ресурсов, но и снижают
удобство использования распределенных сетевых сервисов конечными пользователями.
В этих условиях требуемый уровень управляемости, безопасности и удобства
использования компьютерной сети может быть обеспечен только при наличии
эффективного управления информацией о ее ресурсах и пользователях. В противном
случае администратор не сможет осуществлять должный контроль компьютерных
ресурсов, а пользователи не будут иметь возможности прозрачного доступа к любому
сервису сети вне зависимости от его местонахождения.
Эффективное управление информацией о ресурсах и пользователях сети
предполагает динамическое накопление и обновление этой информации, а также
выдачу необходимых сведений по запросам пользователей и программ в соответствии с
их полномочиями. Различают два вида управляемой информации о ресурсах и
пользователях сети:
-
административная информация, включающая сведения о пользователях и
сетевых ресурсах, которые не детализируют описания информационных
ресурсов на уровне отдельных файлов, например, файлов документов (Webдокументов, обычных текстовых документов, документов Word, Excel и др.);
-
детальные сведения об информационных ресурсах сети на уровне отдельных
файлов, отражающие их содержимое и адреса.
Способы управления административной информацией о сети и детальными
сведениями об информационных сетевых ресурсах были разработаны до появления
Web-технологии. Однако при переходе на Web-архитектуру, благодаря которой
повысились доступность и популярность, а соответственно и
масштабность
компьютерных сетей, эти способы получили новое развитие.
Управление административной информацией
Для управления административной информацией о сети в состав современных
сетевых операционных систем входит подсистема, названная службой каталогов
(directory service). Данная служба поддерживает имена, описания и адреса ресурсов и
пользователей сети, что существенно упрощает установление связей и управление
работой сети. Благодаря службе каталогов созда ется единое унифицированное
сетевое пространство для всех пользователей и сетевых сервисов за счет выделения
единых точек доступа и единообразного управления ресурсами и пользователями
сети.
Задачи службы каталогов
Служба каталогов обеспечивает решение следующих важных задач:
-
автоматический
поиск
сетевых
ресурсов
и
зарегистрированных
пользователей, а также прозрачный доступ к ресурсам сети;
-
административный контроль и учет компьютерных ресурсов и пользователей;
- поддержка удобной системы именования сетевых ресурсов и пользователей;
- однократная регистрация пользователей и ресурсов сети.
Поиск сетевых ресурсов и зарегистрированных пользователей реализуется с
помощью службы каталогов прозрачным образом. Здесь уместна аналогия с
"желтыми страницами", позволяющими определять местоположение нужной службы
по имени в известном окружении, например, в каком-либо городе, или производить
поиск по определенным категориям, например, по музеям. Служба каталогов
выполняет функции поиска аналогичным образом, но в качестве окружения
использует компьютерную сеть и в отличие от "желтых страниц" процесс поиска
выполняется автоматически. Это обеспечивает возможность прямого доступа к
любому сервису в сети вне зависимости от его местонахождения.
Служба каталогов позволяет охватить централизованным административным
контролем все ресурсы и всех пользователей компьютерной сети любого масштаба,
покончив с допотопным способом управления каждым сервером в отдельности. Эта
служба помогает администраторам собирать и просматривать информацию о
ресурсах,
распределенных
по
представление этой информации.
узлам
сети,
и
обеспечивает
единообразное
Одной из важнейших функций службы каталогов является установление соответствия между сетевыми именами пользователей и ресурсов и сетевыми адресами или,
иными словами, перевод одних в другие. Данная функция, называемая службой имен,
позволяет работать с удобопонятными псевдонимами, а также переводить эти имена
в машинные адреса и выполнять обратный перевод. Современные службы каталогов
поддерживают все стандартные системы именований, что дает возможность единым
образом управлять различными пространствами имен в неоднородных компьютерных
сетях.
Благодаря службе каталогов пользователи и ресурсы регистрируются в сети лишь
один раз, и все серверы могут параллельно осуществлять доступ в одни и те же
каталоги. Когда общесетевая служба каталогов отсутствовала, каж дым сервером сети
приходилось управлять в индивидуальном порядке. Пользователь, нуждавшийся в
каких-либо ресурсах сервера, должен был иметь на нем свою учетную запись. Это
приводило к тому, что многие конечные пользователи регистрировались на нескольких
серверах сети масштаба предприятия, и им все время приходилось помнить, где и
какие ресурсы размещены.
Множество учетных записей сказывалось весьма болезненно как на пользователях,
так и на администраторах. Но, что более важно, подвергало риску систему
безопасности. Из-за необходимости помнить множество имен и паролей пользователи
либо записывали их на бумагу, либо хранили в незащищенных местах, либо
использовали несколько легко идентифицируемых паролей или, что еще хуже, задавали
один и тот же пароль для всех учетных записей.
При использовании службы каталогов наличие одного идентификатора и пароля для
доступа в сеть позволяет свести к минимуму риск для системы безопасности и, кроме
того, администраторы получают больший контроль над доступом пользователей к
конкретным сетевым ресурсам. В случае однократной регистрации аутентификация
конкретного пользователя осуществляется на основе одного пароля или аппаратного
ключа. При этом пользователь получает доступ к любому сетевому ресурсу, на который
администратор дал ему права.
Принципы построения службы каталогов
Служба каталогов обеспечивает единое согласованное представление сети и
унифицированный доступ к административной информации о сетевых ресурсах и
пользователях. В услугах данной службы нуждаются все пользователи и сервисы сети.
Доступ любого пользователя или сервиса к службе каталогов реализуется в
соответствии с его полномочиями.
Схема использования и организационная структура службы каталогов представлена
на рис. 1.19. Доступ к любым административным сведениям о сети выполняется
специализированной СУБД через интерфейсную подсистему, которая обеспечивает
единый способ представления этих сведений. СУБД службы каталогов в процессе
обработки запросов взаимодействует с подсистемой идентификации, предназначенной
для установления соответствия между сетевыми именами пользователей и ресурсов и
их реальными адресами в сети.
База данных службы каталогов организована в виде иерархий каталогов
аналогично
структуре
каталогов
файловой
системы.
Иерархии
каталогов
обеспечивают систематизацию хранящихся в них объектов путем их распре
деления по каталогам в соответствии с какими-либо признаками.
В базе данных службы каталогов объектами являются порции информации,
характеризующие ресурсы и пользователей сети. Объекты объединяются в
поименованные каталоги по определенному признаку, например, по принадлежности
к подразделениям организации. Каждый каталог может содержать другие каталоги и
объекты (рис. 1.20). Каталог, который не входит ни в какие другие каталоги,
является корневым.
Рис. 1.19. Схема использования и организационная структура службы каталогов
Рис. 1.20. Древовидная структура корневого каталога базы данных службы
каталогов
Таким образом, в древовидной структуре любого корневого каталога нелистовыми
вершинами (имеющими выходные дуги) являются каталоги, а листовыми (не имеющими
выходных дуг) — объекты. Для отдельных операционных систем, например, для
Windows NT, база данных службы каталогов может включать несколько корневых
каталогов, объединенных определенными типами отношений. В этом случае полное
дерево корневого каталога называют доменом.
Объект в каталоге базы данных представляет собой ее запись, соответствующую
реальному объекту или субъекту сети, например, принтеру или пользователю. Каждый
объект каталога содержит информацию в виде набора свойств (атрибутов) и их
значений. Например, сетевой принтер характеризуется в базе данных объектом Printer,
для которого определены такие свойства, как имя, описание, местоположение и
сетевой адрес. Одни и те же типы объектов обладают одинаковыми свойствами, в то
время как у разных типов объектов свойства могут отличаться. Для каждого типа
объектов определяются обязательные свойства, без указания значений которых объект
данного типа не сможет быть создан. Например, обязательным свойством объектов
всех типов является имя.
Различают следующие типы объектов базы данных службы каталогов:
- объект рабочая станция, содержащий описание рабочей станции сети;
- объект сервер, описывающий сервер сети;
- объект тома, характеризующий логический том на дисковом носителе
информации;
- объект принтер, содержащий описание принтера;
- объект очередь, описывающий очередь заданий на печать;
- объект пользователь, содержащий учетную запись пользователя (идентификатор,
фамилия и имя, пароль, полномочия, адрес электронной почты, сценарий
регистрации и др.);
- объект группа, описывающий группу пользователей;
- объект профиль, описывающий задаваемые для пользователей параметры
конфигурации;
- объект схема каталога, характеризующий каталог;
- другие объекты, зависящие от конкретной службы каталогов.
Объединение с помощью иерархий каталогов описаний реальных сетевых объектов и
субъектов существенно упрощает администрирование сети, а также поиск ее ресурсов
и пользователей.
Заполнение базы данных службы каталогов выполняют как соответствующие
компоненты сетевой операционной системы и сетевые сервисы, так и администраторы
сети.
Для высокой надежности функционирования компьютерной сети современные
службы каталогов поддерживают функции тиражирования и синхронизации своих
баз данных. Тиражирование предполагает формирование нескольких копий базы
данных, распределенных по различным серверам. Синхронизация обеспечивает
своевременное обновление распределенных копий базы данных для их поддержания
в актуальном состоянии.
Современные службы каталогов соответствуют стандартам Х.500 и LDAP
(Lightweight Directory Access Protocol — облегченный протокол доступа к каталогам).
Наиболее распространенным является стандарт LDAP, который представляет собой
подмножество протокола Directory Access Protocol (DAP), используемого для
построения каталогов Х.500. Однако DAP работает только в стеках протоколов
модели OSI (Open System Interconnection) и требует серьезных вычислительных
мощностей. Протокол LDAP, как и DAP, предназначен для извлечения информации
из иерархических каталогов, но в отличие от него, имеет ограничение по числу
ответов на запрос к каталогу Х.500, что снижает загрузку сети. Преимуществом
LDAP является также его программный интерфейс, более дружественный и легкий
для использования, чем интерфейс Х.500 или DAP. Кроме того, LDAP проще
реализуется, чем вышеупомянутые протоколы, поскольку в нем используются для
кодирования обычные текстовые строки без дополнительного форматирования.
Download