Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УП ВСС

.pdf
Скачиваний:
20
Добавлен:
11.06.2015
Размер:
5.76 Mб
Скачать

Рис. 1.14. Взаимодействие узлов вычислительной сети

Клиентская часть преобразует запрос из локальной формы в сетевой формат и передает его коммуникационным устройствам, обеспечивающим доставку сообщений серверу, к которому подключен принтер. Серверная часть операционной системы узла № 2 принимает запрос, преобразует его и передает для выполнения локальной части операционной системы.

Далее запрос узла № 1 выполняется как обычный запрос локальной части операционной системы. В тех случаях, когда процесс сетевого взаимодействия предусматривает передачу подтверждений результатов выполнения запросов, серверная часть узла № 2 формирует соответствующий ответ и посредством коммуникационных устройств перенаправляет его клиентской части узла № 1. Клиентская часть узла № 1 преобразует ответ из сетевого формата в локальный и передает его приложению, инициировавшему запрос1.

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

ром – сервером.

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

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

1 В данном примере вместо подтверждения выполнения запроса серверная часть узла № 2 может информировать приложение №1 о неготовности устройства или его неисправности, а также об отсутствии необходимых прав доступа и т.д.

41

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

1.9. Понятие сетевой службы и сетевого сервиса

До сих пор вычислительные сети рассматривались в двух аспектах.

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

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

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

Реализация сетевых служб осуществляется программными средствами, причем все сетевые службы соответствуют архитектуре «клиент-сервер».

Пара модулей сетевой операционной системы «клиентсервер» обеспечивает совместный доступ пользователей к оп-

1 В технической литературе англоязычный термин «service» обычно переводится как «служба», «сервис» или «услуга». Часто эти термины используются как синонимы. В то же время в литературе также различают термин «служба», с одной стороны, и термины «сервис» и «услуга», с другой. Под «службой» понимается сетевой компонент, который реализует некоторый набор услуг, а «сервисом» называют описание набора услуг, который предоставляется данной службой. Таким образом, сервис это интерфейс между потребителем услуг (например, пользователем) и поставщиком услуг (службой).

42

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

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

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

Как правило, сетевая операционная система предоставляет услуги основных сетевых служб, обеспечивающих стандартные функции вычислительной сети, тогда как дополнительные услуги (сервис) могут предоставляться сетевыми службами, реализуемыми системными сетевыми приложениями или утилитами, работающими под управление операционной системы. Например, услуги почтового клиента в операционных системах семейства Windows предоставляются программой Outlook Express.

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

43

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

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

Суть данной проблемы заключается в том, что узлы вычислительной сети во многих случаях имеют различные аппаратные платформы и, соответственно, различные сетевые программные средства, которые включают множество протоколов сетевого взаимодействия.

Ранее было отмечено, что на сегодняшний день существует несколько широко используемых стеков протоколов

(TCP/IP, NetBIOS, IPX/SPX), а также множество сетевых архитектур, например, Ethernet, Token Ring, FDDI.

Вполне очевидно, что существование различных стеков протоколов не является проблемой до тех пор, пока не возникает необходимость в их взаимодействии. Как только возникает задача объединения различных сетевых архитектур, так проявляется несовместимость близких по назначению, но различных по форматам данных и алгоритмам протоколов.

Как правило, общность различных стеков протоколов проявляется только на нижних уровнях – физическом и канальном, поскольку большинство стеков ориентированы на использование общих протоколов Ethernet, Token Ring, FDDI. Вместе с тем объединение узлов вычислительной сети, использующих на нижних уровнях (канальном и физическом) различные протоколы, а на верхних (сетевой и выше) – одинаковые, не является в современных вычислительных сетях проблемой. В этом случае можно использовать транслирующий мост, переупаковывающий кадры (без анализа содержимого кадра) из одного формата в другой.

Гораздо более сложной задачей является объединение узлов вычислительной сети и вычислительных сетей, использующих различные протоколы верхних уровней, начиная с сетевого1 уровня. Решение этой задачи является более сложным изза большей сложности протоколов верхних уровней и их разнообразия.

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

44

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

Для организации взаимодействия вычислительных узлов с различными стеками протоколов в настоящее время используется два подхода1.

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

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

ков протоколов.

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

При мультиплексировании стеков протоколов на один из двух взаимодействующих узлов с различными стеками протоколов устанавливается стек протоколов другого узла.

На рис. 1.15 проиллюстрирован принцип мультиплексирования двух стеков протоколов. В представленном примере два сегмента сети на основе сервера X (узлы X1 – X4) и Y (узлы Y1

– Y 4) используют разные стеки протоколов, TCP/IP и IPX/SPX соответственно. Поскольку к выделенному серверу поступают запросы от всех узлов вычислительной сети, то для обеспече-

1 Взаимодействие узлов, принадлежащих разным сетям, во многом похоже на общение людей, говорящих на разных языках, которые для достижения взаимопонимания могут использовать два подхода: пригласить переводчика (аналог программного шлюза) или перейти на язык собеседника, если они им владеют (аналог мультиплексирования стеков протоколов).

45

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

При мультиплексировании протоколов помимо самих стеков протоколов на сервере устанавливается мультиплексор протоколов, задачей которого является определение стека протоколов узла, отправившего запрос1.

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

Практика применения рассмотренных подходов для согласования различных протоколов вычислительных сетей показывает, что эти подходы не исключают друг друга и каждый из них имеет свои достоинства и недостатки.

Клиент Х1

Приложение №1

Стек протоколов

TCP/IP

Сетевой интерфейс

Сервер

Мультиплексор

протоколов

TCP/IP

IPX/SPX

Стек

Стек

протоколов

протоколов

TCP/IP

IPX/SPX

Сетевой интерфейс

КлиентY1

Приложение №2

Стек протоколов

IPX/SPX

Сетевой интерфейс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Клиент Х2

Клиент Х3

КлиентY2

КлиентY3

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

46

Рис. 1.15. Принцип мультиплексирования стеков протоколов

1.10.Определение вычислительной сети

иее обобщенная структура

Врезультате всестороннего рассмотрения наиболее распространенных сетевых архитектур, принципов построения вычислительных сетей и управления ими, сформулируем следующее определение вычислительной сети [1][3].

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

Обобщенная многоуровневая структура вычислительной сети представлена на рис. 1.16.

Уровень сетевых приложений и сетевого сервиса

Уровень сетевых программных средств

Уровень сетевых аппаратных средств

Рис. 1.16. Обобщенная структура вычислительной сети

Самый нижний уровень вычислительной сети – «Уровень сетевых аппаратных средств» – объединяет все сетевые аппаратные средства, в том числе каналы передачи данных (проводные и беспроводные), различные коммуникационные устройства (повторители, мосты, коммутаторы, маршрутизаторы, концентраторы, модемы и др.), а также аппаратные средст-

47

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

Второй уровень обобщенной структуры вычислительной сети – «Уровень сетевых программных средств» – вклю-

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

Верхний уровень обобщенной сетевой модели – «Уро-

вень сетевых приложений и сетевого сервиса» – является исключительно прикладным уровнем, предоставляющим пользователь набор сетевых услуг и сетевого сервиса. Возможный набор сетевых услуг определяется возможностями двух нижних уровней этой модели. Например, доступ пользователя к webсерверу и просмотр web-страницы будет возможен, если в распоряжении пользователя имеется специальная программа webбраузер. Другой пример – работа пользователя по высокоскоростному каналу ADSL возможна при наличии соответствующего оборудования и т.д. Выделение сетевых служб в отдельный уровень в обобщенной структуре является условным, поскольку работа всех служб обеспечивается соответствующими программами, поэтому этот уровень соответствует уровню сетевых программных средств. Однако, в последнее время, особенно с развитием глобальной сети Internet, число сетевых служб значительно возросло, а пользователь в большинстве случаев работает именно с этими сетевыми службами, при этом работа базовых сетевых программных средств для самого пользователя становится все менее заметной. Это обстоятельство являет-

48

ся решающим при выборе обобщенной структуры вычислительной сети.

В заключение можно заметить, что представленная обобщенная структура вычислительной сети хорошо согласуется с основными сетевыми моделями. Так, например, уровень сетевых аппаратных средств частично соответствует сетевому уровню модели TCP/IP, функции уровня сетевых программных средств во многом совпадают с функциями межсетевого и транспортного уровней этой модели, а уровень сетевых приложений обобщенной структуры вычислительной сети в полной мере соответствует прикладному уровню модели TCP/IP.

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

Вопросы для самопроверки

1.Каковы основные функции вычислительных сетей?

2.В чем преимущество коммутации пакетов по сравнению с коммутацией сообщений?

3.Что является определяющим признаком виртуального соединения?

4.Что определяет физическая топология?

5.Что определяет логическая топология?

6.Какие недостатки присущи шинной топологии?

7.К какой группе методов доступа к физической среде передачи данных относится маркерный метод?

8.Что понимается под средой передачи данных в вычислительных сетях?

9.Как классифицируется физическая среда передачи данных?

10.Что понимается под архитектурой вычислительной сети?

11.Какого назначение контрольной суммы в кадре стандарта

IEEE 802.3.

12.Что понимается под маркером в сетях с детерминированным доступом?

13.Что относится к сетевому программному обеспечению?

14.Какие элементы включает сетевая операционная система?

15.В чем состоит основной принцип функционирования сетевой операционной системы с «клиент-серверной» архитектурой?

49

16.Каковы функции программного шлюза?

17.Что означает мультиплексирование протоколов?

18.Какие уровни включает обобщенная структурная схема вычислительной сети?

19.Что понимается под вычислительной сетью?

20.Что такое сетевая служба?

50