Программное обеспечение компьютерных сетей
Покупка
Основная коллекция
Издательство:
НИЦ ИНФРА-М
Автор:
Исаченко Олег Вячеславович
Год издания: 2023
Кол-во страниц: 158
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Среднее профессиональное образование
ISBN: 978-5-16-015447-3
ISBN-онлайн: 978-5-16-108134-1
Артикул: 156650.17.01
К покупке доступен более свежий выпуск
Перейти
Учебное пособие включает сведения об основных видах программного обеспечения компьютерных сетей, современных Web-технологиях и популярных средствах разработки Web-приложений.
Соответствует требованиям федеральных государственных образовательных стандартов среднего профессионального образования последнего поколения.
Предназначено для студентов системы среднего профессионального образования, обучающихся по укрупненной группе специальностей 09.02.00 «Информатика и вычислительная техника» и изучающих дисциплины «Программное обеспечение компьютерных сетей» и «Программное обеспечение компьютерных сетей и Web-серверов». Может быть полезно и для учащихся высших учебных заведений.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 681: Точная механика. Автоматика. Приборостроение
ОКСО:
- Среднее профессиональное образование
- 09.02.01: Компьютерные системы и комплексы
- 09.02.02: Компьютерные сети
- 09.02.03: Программирование в компьютерных системах
- 09.02.04: Информационные системы (по отраслям)
- 09.02.05: Прикладная информатика (по отраслям)
- 09.02.06: Сетевое и системное администрирование
- 09.02.07: Информационные системы и программирование
- 10.02.03: Информационная безопасность автоматизированных систем
- 11.02.15: Инфокоммуникационные сети и системы связи
- 11.02.16: Монтаж, техническое обслуживание и ремонт электронных приборов и устройств
ГРНТИ:
Скопировать запись
Программное обеспечение компьютерных сетей, 2024, 156650.19.01
Программное обеспечение компьютерных сетей, 2022, 156650.16.01
Программное обеспечение компьютерных сетей, 2021, 156650.14.01
Программное обеспечение компьютерных сетей, 2020, 156650.12.01
Программное обеспечение компьютерных сетей, 2019, 156650.11.01
Фрагмент текстового слоя документа размещен для индексирующих роботов
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРНЫХ СЕТЕЙ О.В. ИСАЧЕНКО 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
К покупке доступен более свежий выпуск
Перейти