1. ОБЩИЕ ПРЕДСТАВЛЕНИЯ О ВЫЧИСЛИТЕЛЬНОЙ СЕТИ

 

1.1. Вычислительные сети – частный

случай распределенных систем

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

В вычислительных сетях программные и аппаратные связи являются слабыми, а автономность обрабатывающих блоков проявляется в наибольшей сте­пени — основными элементами сети являются стандартные компьютеры, не имею­щие ни общих блоков памяти, ни общих периферийных устройств. Связь между компьютерами осуществляется с помощью специальных периферийных устройств — сетевых адаптеров, соединенных относительно протяженными каналами связи. Каждый компьютер работает под управлением собственной операционной системы, а какая-либо «общая» операционная система, распределяющая работу между компьютерами сети, отсутствует. Взаимодействие между компьютерами сети про­исходит за счет передачи сообщений через сетевые адаптеры и каналы связи. С помощью этих сообщений один компьютер обычно запрашивает доступ к ло­кальным ресурсам другого компьютера. Такими ресурсами могут быть как данные, хранящиеся на диске, так и разнообразные периферийные устройства — принтеры, модемы, факс-аппараты и т. д. Разделение локальных ресурсов каждого компьютера между всеми пользователями сети — основная цель создания вычислительной сети.

Но для построения сети недостаточно снабдить компьютеры сетевыми адаптерами и соединить их кабель­ной системой. Необходимы еще некоторые добавления к операционным системам этих компьютеров. На тех компьютерах, ресурсы которых должны быть доступны всем пользователям сети, необходимо добавить модули, которые постоянно будут находиться в режиме ожидания запросов, поступающих по сети от других компьютеров. Такие модули называются программными серверами (server). На компьютерах, пользователи которых хотят получать доступ к ре­сурсам других компьютеров, добавляются программные модули, которые вырабатывают запросы на доступ к удаленным ресурсам и передают их по сети на нужный компьютер. Такие модули называют программными клиентами (client). Собственно же сетевые адаптеры и каналы связи решают в сети достаточно простую задачу — они передают сообщения с запросами и ответами от одного компьютера к другому, а основную работу по организации совместного использования ресурсов выполняют клиентские и серверные части операционных систем.

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

Термины «клиент» и «сервер» используются не только для обозначения про­граммных модулей, но и компьютеров, подключенных к сети. Если компьютер предоставляет свои ресурсы другим компьютерам сети, то он называется сервером, а если он их потребляет — клиентом. Иногда один и тот же компьютер может одновременно играть роли и сервера, и клиента. Это наиболее ярко проявляется в одноранговых сетях, где каждый компьютер сети равнозначен.

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

·       компьютеров;

·       коммуникационного оборудования;

·       операционных систем;

·       сетевых приложений.

 

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

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

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

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

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

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

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

Однако в последнее время причиной развертыва­ния сетей стало стремление обеспечить сотрудникам оперативный до­ступ к обширной корпоративной информации.

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

Во-первых, это сложности, связанные с программным обеспечением — операционными системами и приложениями. Программирование для распределенных систем принципиально отличается от программирования для централизованных систем. Так, сетевая операционная система, выполняя в общем случае все функции по управлению локальными ресурсами компьютера, сверх того решает многочисленные задачи по предоставлению сетевых служб. Разработка сетевых приложений осложняется из-за необходимости организовать совместную работу их частей, выполняющихся на разных машинах. Много забот доставляет обеспечение совмести­мости программного обеспечения.

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

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