Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программное обеспечение компьютерных сетей

Покупка
Основная коллекция
Артикул: 156650.17.01
К покупке доступен более свежий выпуск Перейти
Учебное пособие включает сведения об основных видах программного обеспечения компьютерных сетей, современных Web-технологиях и популярных средствах разработки Web-приложений. Соответствует требованиям федеральных государственных образовательных стандартов среднего профессионального образования последнего поколения. Предназначено для студентов системы среднего профессионального образования, обучающихся по укрупненной группе специальностей 09.02.00 «Информатика и вычислительная техника» и изучающих дисциплины «Программное обеспечение компьютерных сетей» и «Программное обеспечение компьютерных сетей и Web-серверов». Может быть полезно и для учащихся высших учебных заведений.
Исаченко, О. В. Программное обеспечение компьютерных сетей : учебное пособие / О.В. Исаченко. — 2-е изд., испр. и доп. — Москва : ИНФРА-М, 2023. — 158 с. — (Среднее профессиональное образование). - ISBN 978-5-16-015447-3. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1933141 (дата обращения: 01.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ПРОГРАММНОЕ 
ОБЕСПЕЧЕНИЕ 

КОМПЬЮТЕРНЫХ СЕТЕЙ

О.В. ИСАЧЕНКО

2-е издание, исправленное и дополненное

Москва
ИНФРА-М

202УЧЕБНОЕ ПОСОБИЕ

Рекомендовано Межрегиональным учебно-методическим 

советом профессионального образования 

в качестве учебного пособия для учебных заведений, 

реализующих программу среднего профессионального 

образования по специальностям 09.02.01 «Компьютерные 

системы и комплексы», 09.02.02 «Компьютерные сети», 

09.02.03 «Программирование в компьютерных системах» 

(протокол № 16 от 28.10.2019)


УДК 004.7(075.32)
ББК 32.973.202-018.2я723
 
И85

Исаченко О.В.

И85  
Программное обеспечение компьютерных сетей : учебное пособие / 

О.В. Исаченко. — 2-е изд., испр. и доп. — Москва : ИНФРА-М, 2023. — 
158 с. — (Среднее профессиональное образование). 

ISBN 978-5-16-015447-3 (print)
ISBN 978-5-16-108134-1 (online)
Учебное пособие включает сведения об основных видах программного 

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

Соответствует требованиям федеральных государственных образова-

тельных стандартов среднего профессионального образования последнего 
поколения.

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

УДК 004.7(075.32)

ББК 32.973.202-018.2я723

ISBN 978-5-16-015447-3 (print)
ISBN 978-5-16-108134-1 (online)

© Исаченко О.В., 2012
© Исаченко О.В., 2020, 

с изменениями

ПРЕДИСЛОВИЕ

Сфера информационных технологий является на сегодняшний 
день наиболее динамически развивающейся областью науки и техники, 
что приводит к расширению поля их применения в человеческой 
деятельности. Значительную часть современных информационных 
технологий составляют сетевые технологии и их более глобальное 
проявление — Internet-технологии.
Основу данного учебного пособия составил курс лекций, подготовленный 
в соответствии с современным образовательным стандартом 
по специальностям 09.02.01 «Компьютерные системы и ком-
плексы», 09.02.02 «Компьютерные сети», 09.02.03 «Программирование 
в компьютерных системах», в рамках которого изучается 
дисциплина «Программное обеспечение компьютерных сетей».
В учебном пособии рассматривается главным образом организация 
взаимодействия между персональными компьютерами в соответствии 
с технологией «клиент–сервер» и особенности ее применения 
в Web-системах. При этом наибольшее внимание было уделено не 
только рассмотрению основных видов программного обеспечения, 
используемого в Web-системах, но и особенностям его разработки.
Кроме того, были рассмотрены вопросы, связанные с понятиями 
Web-дизайна и Web-программирования, включая изучение основных 
конструкций языка гипертекстовой разметки документов HTML, 
языка DHTML и JavaScript, а также особенностей разработки расширений 
Web-серверов на примере написания CGI-сценариев на 
языке программирования высокого уровня Object Pascal и с использованием 
специальных средств современных RAD-систем. В новое 
издание пособия включена еще одна глава, которая посвящена сетевым 
операционным системам. В этой главе рассматриваются особенности 
настройки и конфигурирования сетевой операционной системы 
на примере операционных систем из семейства Windows.
Пособие состоит из семи взаимосвязанных частей (глав), каждая 
из которых раскрывает одну из ключевых тем предмета:
 
• технология «клиент–сервер»;
 
• сетевые операционные системы;
 
• программное обеспечение Web-систем;
 
• Web-приложения и методы их разработки;
 
• средства разработки Web-приложений;
 
• разработка Web-приложений;
 
• создание приложений Web-сервера.

ВВЕДЕНИЕ

Компьютерные сети, называемые также вычислительными сетями, 
или сетями передачи данных, можно определить следующим 
образом. С одной стороны, как частный случай распределенных вычислительных 
систем, в которых группа компьютеров согласованно 
выполняет набор взаимосвязанных задач, обмениваясь данными в 
автоматическом режиме, а с другой — как средство передачи информации 
на большие расстояния с использованием методов кодирования 
и мультиплексирования.
Таким образом, компьютерная сеть — это совокупность компьютеров, 
соединенных линиями связи. Линии связи образованы кабелями, 
сетевыми адаптерами и другими коммуникационными устрой-
ствами, называемыми сетевым оборудованием. Все сетевое оборудо-
вание работает под управлением системного и прикладного 
программного обеспечения.
Взаимодействие между компьютерами сети происходит путем пе-
редачи сообщений через сетевые адаптеры и каналы связи. С помо-
щью этих сообщений один компьютер обычно запрашивает доступ 
к локальным ресурсам другого компьютера. Таким ресурсом может 
являться, например, вычислительная мощность компьютера в целом. 
В качестве совместно используемых ресурсов часто выступают дан-
ные, хранящиеся на диске, а также разнообразные периферийные 
устройства: принтеры, модемы, факс-аппараты и т.д.
Разделение локальных ресурсов каждого компьютера между все-
ми пользователями сети — основная цель создания компьютерной 
сети. На тех компьютерах, ресурсы которых должны быть доступны 
всем пользователям сети, необходимо добавить модули, которые 
постоянно будут находиться в режиме ожидания запросов, поступа-
ющих по сети от других компьютеров. Обычно такие модули назы-
ваются программными серверами (server), так как их главная задача — 
обслуживать (serve) запросы на доступ к ресурсам своего компьюте-
ра. На компьютерах, пользователи которых хотят получать доступ к 
удаленным ресурсам и передавать их по сети на нужный компьютер, 
также необходимо установить дополнительные модули. Такие моду-
ли обычно называют программными клиентами (client). Сетевые адап-
теры и каналы связи решают в сети задачу передачи сообщения с 
запросами и ответами от одного компьютера к другому, основную же 
работу по организации совместного использования ресурсов выпол-
няют клиентские и серверные части операционных систем.
Пара модулей «клиент–сервер» обеспечивает совместный доступ 
пользователей к определенному типу ресурсов. Термины «клиент» и 

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

Развитие теории компьютерных сетей является логическим ре-
зультатом эволюции двух важнейших научно-технических отраслей 
современной цивилизации — компьютерных и телекоммуникаци-
онных технологий.

Приложение

Редиректор

Локальная
ОС

Клиентская
часть

Локальные
ресурсы

Драйвер
порта

Серверная
часть

Локальная
ОС

Драйвер
порта

Локальные
ресурсы

Клиент
Компьютер А
Сервер
Компьютер В

Рис. В.1. Взаимодействие программных компонентов

Сеть

Глава 1. 
ТЕХНОЛОГИЯ «КЛИЕНТ–СЕРВЕР»

1.1. Понятие о технологии «клиент–сервер»

Телекоммуникационные технологии лежат в основе современных 
систем коллективной человеческой деятельности, которые можно 
подразделить на две группы:
 
• системы с разделением времени — СВР (Time Sharing System), каж-
дый участник которых пользуется собственной ЭВМ и основ-
ной задачей является защита данных от несанкционированного 
доступа и взаимная изоляция участников;
 
• системы обеспечения групповых решений — СОГР (Computer Sup-
ported Cooperative Work, groupware), ориентированные на задачу 
обеспечения взаимодействия пользователей в процессе приня-
тия решений.
С развитием представлений о распределенных вычислительных 
процессах и процессах обработки данных складывается концепция 
архитектуры «клиент–сервер» — обобщенное представление о взаи-
модействии двух компонентов информационной технологии (техни-
ческого и(или) программного обеспечения) в вычислительных сис-
темах и сетях, среди которых логически или физически могут быть 
выделены активная сторона (источник запросов, клиент) и пассив-
ная сторона (обработчик запросов, сервер).
Рассмотрим основные принципы построения «клиент-серверной» 
технологии. Архитектура «клиент–сервер» на сегодняшний день яв-
ляется доминирующей концепцией, используемой при создании рас-
пределенных сетевых приложений, она предусматривает взаимодей-
ствие и обмен данными между ними. В структуре архитектуры «кли-
ент–сервер» можно выделить следующие основные компоненты: 
 
• набор серверов, предоставляющих информацию или другие 
услуги программам, которые обращаются к ним; 
 
• набор клиентов, использующих сервисы, которые предоставля-
ются серверами; 
 
• сеть, которая обеспечивает взаимодействие между клиентами и 
серверами.
Серверы являются независимыми друг от друга. Клиенты также 
функционируют параллельно и независимо друг от друга. При этом 
отсутствует жесткая привязка клиентов к серверам. Один сервер мо-
жет одновременно обрабатывать запросы от разных клиентов, с дру-
гой стороны, клиент может обращаться то к одному серверу, то к 
другому. Клиенты должны знать о доступных серверах, но могут не 
иметь представления о существовании других клиентов.

Очень важен вопрос о том, что можно рассматривать в качестве 
«клиента». Можно говорить о клиентском компьютере, с которого 
происходит обращение к другим компьютерам; про клиентское и 
серверное программное обеспечение, а также о людях, которые же-
лают с помощью соответствующего программного и аппаратного 
обеспечения получить доступ к той или иной информации.
Общепринятым является соглашение, что клиенты и серверы — 
это прежде всего программные модули. Чаще всего они находятся на 
разных компьютерах, но бывают ситуации, когда обе программы — и 
клиентская, и серверная — физически размещаются на одной маши-
не, в такой ситуации сервер часто называют локальным.
Одним из типичных примеров клиент-серверного взаимодей-
ствия является система публикации ресурсов WWW. Существует ог-
ромное количество Web-серверов, на которых размещается та или 
иная информация. В простейшем случае эта информация представ-
ляет собой набор Web-страниц, которые могут сохраняться на серве-
ре в виде файлов, размеченных с помощью языка разметки HTML. 
Однако значительная часть Web-ресурсов на современном этапе яв-
ляется динамической, т.е. они не существуют в заранее подготовлен-
ном виде, а создаются непосредственно в процессе обработки запро-
са от пользователя.
Для того чтобы любой пользователь Internet мог просмотреть 
определенную страницу, на его компьютере должно быть установле-
но соответствующее программное обеспечение. Программы для 
просмотра Web-страниц называются Web-браузерами, наиболее рас-
пространенным браузером является MSIE.
Но кроме Web-браузеров к серверам могут обращаться и другие 
клиенты, а именно — автономные программы. Они могут предусма-
тривать взаимодействие с человеком, а могут работать полностью в 
автоматическом режиме. Типичный класс таких программ — роботы, 
предназначенные для автоматического просмотра Web-ресурсов. 
В частности, роботы являются важным элементом поисковых систем 
и используются ими для просмотра страниц и сбора информации.
Для запроса к Web-серверу клиентская программа должна задать 
местонахождение компьютера, на котором размещается серверная 
программа, название нужного документа и, возможно, другие данные, 
которые специфицируют запрос. Сеть обеспечивает обнаружение сер-
вера и передачу ему клиентского запроса. Серверные программы об-
рабатывают этот запрос, ответ пересылается по сети клиенту.
Распределение обязанностей между клиентом и сервером опре-
деляет используемую модель клиент-серверного взаимодействия. 
Логически можно выделить три различные операции: 
 
• уровень представления данных, который, по сути, является ин-
терфейсом пользователя и отвечает за представление данных 
пользователю и введение от него управляющих команд; 

• прикладной уровень, который реализует основную логику при-
ложения и на котором осуществляется необходимая обработка 
информации; 
 
• уровень управления данными, который обеспечивает сохране-
ние данных и доступ к ним. 
Двухуровневая клиент-серверная архитектура предусматривает 
взаимодействие двух программных модулей — клиентского и сервер-
ного. В зависимости от того, как между ними распределяются при-
веденные выше функции, различают: 
 
• модель тонкого клиента, в рамках которой вся логика приложе-
ния и управление данными сосредоточена на сервере. Клиент-
ская программа обеспечивает только функции уровня представ-
ления; 
 
• модель толстого клиента, в которой сервер только управляет 
данными, а обработка информации и интерфейс пользователя 
сосредоточены на стороне клиента. 
Тонкими клиентами часто также называют устройства с ограни-
ченной мощностью — карманные компьютеры, мобильные телефо-
ны и др.
Трехуровневая клиент-серверная архитектура, которая начала 
развиваться с середины 1990-х гг., заключается в разделении функ-
ций прикладного уровня от управления данными. Выделяется от-
дельный программный уровень, на котором сосредоточивается при-
кладная логика приложения. Программы промежуточного уровня 
могут функционировать под управлением специальных серверов 
приложений, но запуск таких программ может осуществляться и под 
управлением обычного Web-сервера. При этом управление данными 
осуществляется сервером данных.
Для работы с системой пользователь использует стандартное про-
граммное обеспечение — обычный Web-браузер. Это лишает его не-
обходимости загружать и инсталлировать специальные программы. 
Но пользователю следует предоставить в распоряжение интерфейс, 
который разрешал бы ему взаимодействовать с системой и форми-
ровать запросы к ней; формы, которые определяют этот интерфейс, 
размещаются на Web-страницах и загружаются вместе с ними.
Web-браузер формирует запрос и пересылает его серверу, который 
осуществляет обработку. При необходимости сервер вызывает сер-
верные программные модули, которые обеспечивают обработку за-
проса и по мере необходимости обращаются к серверу данных. Сер-
вер данных осуществляет операции с данными, которые сохраняют-
ся в системе и составляют ее информационную основу. В частности, 
он может осуществить выборку из информационной базы, которая 
соответствует запросу, и передать ее модулю промежуточного уровня 
для дальнейшей обработки. Данные, с которыми работает сервер 
данных, чаще всего организованы как реляционная база данных.

Обычно Web-сервер и серверные модули промежуточного уровня 
размещаются на одном компьютере, хоть и представляют собой от-
дельные и логически независимые программные модули.
На современном этапе для реализации модулей промежуточного 
уровня используется язык серверных сценариев РНР, а для управления 
данными — СУБД MySQL. Таким образом, связку PHP–MySQL сле-
дует рассматривать как стандартный инструмент для создания срав-
нительно простых интерактивных Web-сайтов и систем электронной 
коммерции; около 90% коммерческих систем сегодня создается имен-
но на этой основе. Вместе с тем как средства управления данными, так 
и mіddleware-средства могут быть самыми разнообразными. Так, для 
создания серверных приложений, кроме РНР, широко применяются 
Java, Perl, Python. Технологии создания Web-приложений, в частности 
распределенных, стремительно развиваются. Следует упомянуть о тех-
нологиях EJB (Enterprіse Java Beans), CORBA, а также про .NET — 
сравнительно новую инициативу компании Mіcrosoft. Для сохранения 
данных и их передачи часто используется так называемый расширен-
ный язык разметки XML (Extensіble Markup Language).

1.2. Разновидности функциональных структур 
«клиент–сервер»

Компьютер (процесс), управляющий тем или иным ресурсом, 
является сервером этого ресурса, а компьютер, пользующийся им, — 
клиентом. Каждый конкретный сервер определяется видом того ре-
сурса, которым он владеет (обработка сервером баз данных запросов 
клиентов, управление файловой системой файл-сервером).
Один из основных принципов технологии «клиент–сервер» заклю-
чается в разделении функций стандартного интерактивного (диалого-
вого) приложения на четыре группы: 1) функции ввода и отображения 
данных; 2) прикладные функции, характерные для данной предметной 
области (для банковской системы — открытие счета, перевод денег с 
одного счета на другой); 3) фундаментальные функции хранения и 
управления информационно-вычислительными ресурсами (базами 
данных, файловыми системами и т.п.); 4) служебные функции, осуществляющие 
связь между функциями первых трех групп.
В соответствии с этим в любом приложении выделяются следующие 
логические компоненты: компонент представления (presenta-
tion), реализующий функции первой группы; прикладной компонент 
(business application), поддерживающий функции второй группы; 
компонент доступа к информационным ресурсам (recource manager), 
поддерживающий функции третьей группы, а также вводятся и уточняются 
соглашения о способах их взаимодействия.

Различия в реализации технологии «клиент–сервер» определяются 
следующими факторами: виды программного обеспечения, в которые 
интегрирован каждый из этих компонентов; механизмы программного 
обеспечения, используемые для реализации функций всех 
трех групп; способы распределения логических компонентов между 
компьютерами в сети; механизмы, используемые для связи компо-
нентов между собой.
Выделяются четыре подхода, реализованные в следующих техно-
логиях: 1) файловый сервер (File Server — FS); 2) доступ к удаленным 
данным (Remote Data Access — RDA); 3) сервер баз данных (Data 
Base Server — DBS); 4) сервер приложений (Application Server — AS). 
Технология FS является базовой при реализации локальных сетей 
ПК. Один из компьютеров в сети назначается файловым сервером и 
предоставляет другим компьютерам услуги по обработке файлов. 
Файловый сервер работает под управлением сетевой операционной 
системы и играет роль компонента доступа к информационным ре-
сурсам (т.е. к файлам). На других ПК в сети функционирует прило-
жение, в кодах которого совмещены компонент представления и 
прикладной компонент (рис. 1.1).

К недостаткам данной технологии относится низкий сетевой тра-
фик, небольшое количество операций манипуляции с данными, от-
сутствие адекватных средств безопасности доступа к данным и т.д.
Технология RDA существенно отличается от FS методом доступа к 
информационным ресурсам, так как здесь компонент представления 
и прикладной компонент совмещены и выполняются на компьюте-
ре-клиенте. Доступ к информационным ресурсам обеспечивается 
операторами специального языка или вызовами функций специаль-
ной библиотеки. Запросы к информационным ресурсам направля-
ются по сети удаленному компьютеру, который обрабатывает и вы-
полняет их, возвращая клиенту блоки данных (рис. 1.2).
Достоинство RDA заключается в унификации интерфейса «кли-
ент–сервер» в виде языка запросов и широком выборе средств раз-
работки приложений. К недостаткам можно отнести существенную 
загрузку сети при взаимодействии клиента и сервера посредством 

Компонент
представления

Клиент
Сервер
Запросы

Файлы

Прикладной
компонент

Компонент доступа
к ресурсам

Рис. 1.1. Технология File Server

К покупке доступен более свежий выпуск Перейти