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

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

Покупка
Основная коллекция
Артикул: 156650.14.01
К покупке доступен более свежий выпуск Перейти
Учебное пособие включает сведения об основных видах программного обеспечения компьютерных сетей, современных Web-технологиях и популярных средствах разработки Web-приложений. Соответствует требованиям федеральных государственных образовательных стандартов среднего профессионального образования последнего поколения. Предназначено для студентов системы среднего профессионального образования, обучающихся по укрупненной группе специальностей 09.02.00 «Информатика и вычислительная техника» и изучающих дисциплины «Программное обеспечение компьютерных сетей» и «Программное обеспечение компьютерных сетей и Web-серверов». Может быть полезно и для учащихся высших учебных заведений.
Исаченко, О. В. Программное обеспечение компьютерных сетей : учебное пособие / О.В. Исаченко. — 2-е изд., испр. и доп. — Москва : ИНФРА-М, 2021. — 158 с. — (Среднее профессиональное образование). - ISBN 978-5-16-015447-3. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1189344 (дата обращения: 19.04.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-е изд., испр. и доп. — Москва : ИНФРА-М, 2021. — 
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 Supported 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) служебные функции, осуществляющие связь между функциями первых трех групп.
В соответствии с этим в любом приложении выделяются следующие логические компоненты: компонент представления (presentation), реализующий функции первой группы; прикладной компонент 
(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

запросов; невозможность администрирования приложений, так как 
в одной программе совмещаются различные по своей природе функции (представления и прикладные).
Технология DBS реализована в некоторых реляционных (табличных) СУБД (Informix, Sybase, Oracle) (рис. 1.3).

Ее основу составляет механизм хранимых процедур (средство 
программирования SQL-сервера). Процедуры хранятся в базе данных, разделяются между несколькими клиентами и выполняются на 
том же компьютере, где функционирует SQL-сервер. В сервере баз 
данных компонент представления выполняется на компьютере-клиенте, в то время как прикладной компонент оформлен как набор 
хранимых процедур и функционирует на компьютере сервере БД. 
Там же выполняется компонент доступа к данным, т.е. ядро СУБД. 
Достоинства технологии заключаются в следующем: возможность 
централизованного администрирования прикладных функций; снижение трафика; возможность разделения процедуры между несколькими приложениями; экономия ресурсов компьютера за счет использования однажды созданного плана выполнения процедуры. К недостаткам относится ограниченность средств написания хранимых 
процедур, представляющих собой процедурные расширения SQL, 
которые уступают по возможностям таким языкам, как C или Pascal.
На практике чаще используются смешанные модели, когда целостность базы данных и некоторые простейшие прикладные функ
Компонент
представления

Клиент
Сервер

SQL
запрос

Файлы

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

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

Рис. 1.2. Технология Remote Data Access

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

Клиент
Сервер
Вызов

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

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

Рис. 1.3. Технология Data Base Server

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