Автор работы: Пользователь скрыл имя, 22 Мая 2015 в 15:07, курс лекций
Эволюция вычислительных сетей
Два корня сетей передачи данных
История любой отрасли науки или техники позволяет не только удовлетворить естественное любопытство, но и глубже понять сущность основных достижений в этой отрасли, а также выявить тенденции и правильно оценить перспективность тех или иных направлений развития.
Вычислительные сети Занятие 9
Функциональные роли компьютеров в сети
Даже поверхностно рассматривая работу сети, можно заключить, что вычислительная сеть - это сложный комплекс взаимосвязанных и согласованно функционирующих программных и аппаратных компонентов. Изучение сети в целом предполагает знание принципов работы отдельных ее элементов, таких как:
Весь комплекс программно-аппаратных средств сети может быть описан многослойной моделью. В основе любой сети лежит аппаратный слой стандартизированных компьютерных платформ. В настоящее время в сетях успешно применяются компьютеры различных классов - от персональных компьютеров до мэйнфреймов и супер-ЭВМ. Набор компьютеров в сети должен соответствовать набору решаемых сетью задач.
Второй слой - это коммуникационное оборудование. Хотя компьютеры и являются центральными элементами обработки данных в сетях, в последнее время не менее важную роль стали играть коммуникационные устройства. Кабельные системы, повторители, мосты, коммутаторы, маршрутизаторы и модульные концентраторы из вспомогательных компонентов сети превратились в основные наряду с компьютерами и системным программным обеспечением, как по влиянию на характеристики сети, так и по стоимости. Сегодня коммуникационное устройство может представлять собой сложный специализированный мультипроцессор, который нужно конфигурировать, оптимизировать и администрировать. Изучение принципов работы коммуникационного оборудования требует знакомства с большим количеством протоколов, используемых как в локальных, так и в глобальных сетях.
Третьим слоем, образующим программную платформу сети, являются операционные системы (ОС). От того, какие концепции управления локальными и распределенными ресурсами положены в основу сетевой ОС, зависит эффективность работы всей сети. При проектировании сети важно учитывать, насколько легко данная операционная система может взаимодействовать с другими ОС сети, какой она обеспечивает уровень безопасности и защищенности данных, до какой степени позволяет наращивать число пользователей, можно ли перенести ее на компьютер другого типа и многие другие соображения.
Самый верхний слой сетевых средств образуют различные сетевые приложения, такие как сетевые базы данных, почтовые системы, средства архивирования данных, системы автоматизации коллективной работы и т.д. Очень важно представлять диапазон возможностей, предоставляемых приложениями для различных областей применения, а также знать, насколько они совместимы с другими сетевыми приложениями и операционными системами.
Вычислительная сеть - это многослойный комплекс взаимосвязанных и согласованно функционирующих программных и аппаратных компонентов: компьютеров, коммуникационного оборудования, операционных систем, сетевых приложений.
В зависимости от того, как распределены функции между компьютерами сети, они могут выступать в трех разных ролях:
Очевидно, что сеть не может состоять только из клиентских или только из серверных узлов
Сеть может быть построена по одной из трех схем:
Каждая из этих схем имеет свои достоинства и недостатки, определяющие их области применения.
В одноранговых сетях (рис. 9.5) все компьютеры равны в возможностях доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут с ним работать. В одноранговых сетях на всех компьютерах устанавливается такая операционная система, которая предоставляет всем компьютерам в сети потенциально равные возможности. Сетевые операционные системы такого типа называются одноранговыми ОС. Очевидно, что одноранговые ОС должны включать как серверные, так и клиентские компоненты сетевых служб (на рисунке они обозначены буквами, соответственно, С и К). Примерами одноранговых ОС могут служить LANtastic, Personal Ware, Windows for Workgroups, Windows NT Workstation, Windows 95/98.
При потенциальном равноправии всех компьютеров в одноранговой сети часто возникает функциональная несимметричность. Обычно некоторые пользователи не желают предоставлять свои ресурсы для совместного доступа. В таком случае серверные возможности их операционных систем не активизируются, и компьютеры играют роль "чистых" клиентов (на рисунке неиспользуемые компоненты ОС изображены затемненными).
В то же время администратор может закрепить за некоторыми компьютерами сети только функции, связанные с обслуживанием запросов от остальных компьютеров, превратив их таким образом в "чистые" серверы, за которыми пользователи не работают. В такой конфигурации одноранговые сети становятся похожими на сети с выделенными серверами, но это только внешнее сходство - между этими двумя типами сетей остается существенное различие. Изначально в одноранговых сетях отсутствует специализация ОС в зависимости от того, какую роль играет компьютер - клиента или сервера. Изменение роли компьютера в одноранговой сети достигается за счет того, что функции серверной или клиентской частей просто не используются.
Одноранговые сети проще в развертывании и эксплуатации; по этой схеме организуется работа в небольших сетях, в которых количество компьютеров не превышает 10-20. В этом случае нет необходимости в применении централизованных средств администрирования - нескольким пользователям нетрудно договориться между собой о перечне разделяемых ресурсов и паролях доступа к ним.
Однако в больших сетях средства централизованного администрирования, хранения и обработки данных, а особенно защиты данных необходимы. Такие возможности легче обеспечить в сетях с выделенными серверами.
В сетях с выделенными серверами (рис. 9.6) используются специальные варианты сетевых ОС, которые оптимизированы для работы в роли серверов и называются серверными ОС. Пользовательские компьютеры в таких сетях работают под управлением клиентских ОС.
Специализация операционной системы для работы в роли сервера является естественным способом повышения эффективности серверных операций. А необходимость такого повышения часто ощущается весьма остро, особенно в большой сети. При существовании в сети сотен или даже тысяч пользователей интенсивность запросов к разделяемым ресурсам может быть очень значительной, и сервер должен справляться с этим потоком запросов без больших задержек. Очевидным решением этой проблемы является использование в качестве сервера компьютера с мощной аппаратной платформой и операционной системой, оптимизированной для серверных функций.
Чем меньше функций выполняет ОС, тем более эффективно можно их реализовать, поэтому для оптимизации серверных операций разработчики ОС вынуждены ущемлять некоторые другие ее функции, причем иногда даже полностью отказываться от них. Одним из ярких примеров такого подхода является серверная ОС NetWare. Ее разработчики поставили перед собой цель оптимизировать выполнение файлового сервиса и сервиса печати. Для этого они полностью исключили из системы многие элементы, важные для универсальной ОС, в частности, графический интерфейс пользователя, поддержку универсальных приложений, защиту приложений мультипрограммного режима друг от друга, механизм виртуальной памяти. Все это позволило добиться уникальной скорости файлового доступа и вывело NetWare в лидеры серверных ОС на долгое время.
Однако слишком узкая специализация некоторых серверных ОС является одновременно и их слабой стороной. Так, отсутствие в NetWare 4 универсального интерфейса программирования и средств защиты приложений, не позволившее использовать эту ОС в качестве среды для выполнения приложений, приводит к необходимости применения в сети других серверных ОС в тех случаях, когда требуется выполнение функций, отличных от файлового сервиса и сервиса печати. Поэтому разработчики многих серверных операционных систем отказываются от функциональной ограниченности и включают в состав серверных ОС все компоненты, позволяющие задействовать их в качестве универсальных серверов и даже клиентских ОС. Такие серверные ОС снабжаются развитым графическим пользовательским интерфейсом и поддерживают универсальный API. Это сближает их с одноранговыми операционными системами, но существует несколько отличий, которые позволяют отнести их именно к классу серверных ОС:
Клиентские операционные системы в сетях с выделенными серверами обычно освобождаются от серверных функций, что значительно упрощает их организацию. Разработчики клиентских ОС уделяют основное внимание пользовательскому интерфейсу и клиентским частям сетевых служб. Наиболее простые клиентские ОС поддерживают только базовые сетевые службы, обычно файловую и службу печати. В то же время существуют так называемые универсальные клиенты, которые поддерживают широкий набор клиентских частей, позволяющих им работать практически со всеми серверами сети.
Многие компании, разрабатывающие сетевые ОС, выпускают две версии одной и той же операционной системы. Одна версия предназначена для работы в качестве серверной ОС, а другая - для работы на клиентской машине. Эти версии чаще всего основаны на одном и том же базовом коде, но отличаются набором служб и утилит, а также параметрами конфигурации, в том числе устанавливаемыми по умолчанию и не поддающимися изменению.
Например, операционная система Windows NT выпускалась в версии для рабочей станции - Windows NT Workstation - и в версии для выделенного сервера - Windows NT Server. Оба эти варианта операционной системы включают клиентские и серверные части многих сетевых служб.
Так, ОС Windows NT Workstation, кроме выполнения функций сетевого клиента, может предоставлять сетевым пользователям файловый сервис, сервисы печати, удаленного доступа и другие, а, следовательно, может служить основой для одноранговой сети. С другой стороны, ОС Windows NT Server содержит все необходимые средства, которые позволяют задействовать компьютер в качестве клиентской рабочей станции. Под управлением ОС Windows NT Server локально запускаются прикладные программы, которые могут потребовать выполнения клиентских функций ОС при появлении запросов к ресурсам других компьютеров сети. Windows NT Server имеет такой же развитый графический интерфейс, как и Windows NT Workstation, что позволяет с равным успехом применять эти ОС для интерактивной работы пользователя или администратора.
Однако версия Windows NT Server имеет больше возможностей для предоставления ресурсов своего компьютера другим пользователям сети, так как может выполнять более широкий набор функций, поддерживает большее количество одновременных соединений с клиентами, реализует централизованное управление сетью, имеет более развитые средства защиты. Поэтому рекомендуется применять Windows NT Server в качестве ОС для выделенных серверов, а не клиентских компьютеров.
В больших сетях наряду с отношениями клиент-сервер сохраняется необходимость и в одноранговых связях, поэтому такие сети чаще всего строятся по гибридной схеме (рис. 9.7).
Для конечного пользователя сеть - это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть - это, прежде всего, набор сетевых служб, с помощью которых он получает возможность просмотреть список имеющихся в сети компьютеров, прочитать удаленный файл, распечатать документ на "чужом" принтере или послать почтовое сообщение. Именно совокупность предоставляемых возможностей - насколько широк их выбор, насколько они удобны, надежны и безопасны - определяет для пользователя облик той или иной сети.
Кроме собственно обмена данными, сетевые службы должны решать и другие, более специфические, задачи, например, задачи, связанные с распределенной обработкой данных. К таким задачам относится обеспечение непротиворечивости нескольких копий данных, размещенных на разных машинах (служба репликации), или организация выполнения одной задачи параллельно на нескольких машинах сети (служба вызова удаленных процедур). Среди сетевых служб можно выделить административные, то есть такие, которые в основном ориентированы не на простого пользователя, а на администратора, и служат для обеспечения правильной работы сети в целом. Служба администрирования пользовательских учетных записей, которая позволяет администратору вести общую базу данных о пользователях сети, система мониторинга сети, позволяющая захватывать и анализировать сетевой трафик, служба безопасности, в функции которой может входить, помимо прочего, выполнение процедуры логического входа с последующей проверкой пароля, - все это примеры административных служб.
Реализация сетевых служб осуществляется программными средствами. Все сетевые службы построены в архитектуре "клиент-сервер".
Основные службы - файловая служба и служба печати - обычно предоставляются сетевой операционной системой, а вспомогательные, например служба баз данных, факсимильной связи или передачи голоса, - системными сетевыми приложениями или утилитами, работающими в тесном контакте с сетевой ОС. Вообще говоря, распределение служб между ОС и утилитами достаточно условно и меняется в зависимости от реализации ОС.
При разработке сетевых служб приходится решать задачи, свойственные любым распределенным приложениям: определение протокола взаимодействия между клиентской и серверной частями, распределение функций между ними, выбор схемы адресации приложений и т.д.
Одним из главных показателей качества сетевой службы является ее удобство. Для одного и того же ресурса может быть разработано несколько служб, по-разному решающих в общем-то одну и ту же задачу. Отличия могут заключаться в производительности или в уровне удобства предоставляемых услуг. Например, файловая служба может быть основана на использовании команды передачи файла из одного компьютера в другой по имени файла, а это требует от пользователя знания имени нужного файла. Та же файловая служба может быть реализована и так, что пользователь монтирует удаленную файловую систему к локальному каталогу, а далее обращается к удаленным файлам как к своим собственным, что гораздо удобнее. Качество сетевой службы зависит и от качества пользовательского интерфейса - интуитивной понятности, наглядности, рациональности.