информатика для экономистов. 1. Информатика для экономистов. Учебное пособие Нижний Новгород Издательство Нижегородского госуниверситета 2012
Скачать 0.95 Mb.
|
5.3. ПротоколыНа самом низком уровне компьютеры обмениваются пакетами сообщений, которые включают адрес отправителя, адрес получателя, характеристики, определяющие содержимое пакета, собственно данные, а также специализированные данные (контрольную сумму пакета, CRC), используемые для обнаружения ошибок передачи. Пакеты могут вкладываться друг в друга. На вложении пакетов сообщений основано понятие протоколов. Протокол - это стандарт, определяющий структуру и порядок интерпретации передаваемых пакетов данных. При передаче данных в сети одновременно может использоваться несколько протоколов, которые наслаиваются один на другой. Протокол верхнего уровня вкладывается в протокол более низкого уровня и т.д. В сильно упрощенном виде процесс передачи данных в сети реализуется следующим образом. Протокол верхнего уровня определяет запрос на получение данных или содержит сами данные. В этом протоколе нет никаких сведений о способах передачи данных и типе передающего адаптера. Сформированный таким образом пакет данных передается программе, обслуживающей передачу данных в сети, которая “вкладывает” его в протокол транспортного уровня, "приписывая" заголовок и окончание, соответствующие этому протоколу. Далее, полученный пакет передается протоколу нижнего уровня, соответствующего используемому сетевому адаптеру. Его программно-аппаратное обеспечение присоединяет к пакету заголовок и окончание соответствующего протокола. Далее, пакет передается по сетевому кабелю, где его принимает адаптер компьютера-адресата. Средствами сетевого адаптера убираются заголовок и окончание протокола нижнего уровня. Далее, пакет передается программе, обслуживающей передачу данных (транспортный уровень). Она проверяет правильность передачи, убирает “свои” заголовок и окончание и передает пакет программе, обслуживающей протокол верхнего уровня. Он выделяет из пакета данные и передает их программе, которой они предназначены. За счет вложенности протоколов реализуется независимость программного обеспечения, реализующего обработку данных, от особенностей их передачи, а также программ, обслуживающих передачу данных от используемых сетевых адаптеров. Самая общая модель обмена данными в сети OSI (Open System Itnterconnection) предполагает наличие 7 уровней протоколов. Однако в большинстве случаев все 7 уровней не используются. Протоколы нижнего уровня соответствуют типам сетевых адаптеров (Ethernet, Token Ring, FDDI). Протоколы среднего (транспортного) уровня обеспечивают компоновку и контроль передачи пакетов сообщений (NetBIOS, SPX/IPX, TCP/IP). Протоколы верхнего уровня обеспечивают обращение к файлам других компьютеров. Когда программа запрашивает обращение к данным того или иного файла, программа обслуживания файловой системы ОС проверяет, находится ли он на дисках данного компьютера. Если это так, то обращение к этому файлу производится стандартным для данной ОС и данной файловой системы способом. Если обнаруживается, что файл размещен на другом компьютере и доступ к нему с данного компьютера данному пользователю разрешен, то вступает в действие рассмотренный выше механизм передачи пакетов сообщений. 5.4. Способы организации многопользовательской работыПрограммное обеспечение, предназначенное для использования в компьютерных сетях, разделяется на серверное и клиентское ПО, а также ПО промежуточного уровня (middleware). Важнейшей частью системного серверного ПО являются сетевые ОС, управляющие работой сетей с выделенным сервером. Для небольших и средних сетей - это Novell NetWare, Windows NT/2000/2003 Server, различные версии ОС Unix. При необходимости создания одноранговой сети можно использовать Windows 95/98/ME/NT Workstation/2000/XP. Специализированное серверное ПО используется для выполнения специфических функций обслуживания пользователей сети. Это, например, SQL-серверы обслуживающие работу с единой базой данных, которые могут одновременно взаимодействовать с несколькими прикладными программами, выполняющимися на рабочих станциях. В качестве клиентского системного ПО может выступать практически любая ОС. ПО промежуточного уровня предназначено для повышения эффективности доступа к серверному ПО. Прикладное программное обеспечение, предназначенное для работы в сети, часто разделяется на клиентскую и серверную части. Коллективная работа группы пользователей возможна на основе централизованной или распределенной обработки данных. Централизованная обработка данных - это способ организации работы, при котором все функции обработки данных, необходимые различным пользователям, выполняются одной или несколькими ЭВМ коллективного использования. В этом случае все данные хранятся на ЭВМ коллективного использования и полностью обрабатываются на ней. К такой ЭВМ пользователи подключаются через терминалы. Терминал - это устройство, обеспечивающее передачу и прием данных от ЭВМ. Терминал не может обрабатывать данные, но имеет клавиатуру, дисплей и блок связи с ЭВМ. Распределенная обработка данных - это способ организации работы, при котором данные и функции их обработки распределены между несколькими индивидуально и коллективно используемыми ЭВМ. Распределенная обработка данных возможна как при автономном функционировании ЭВМ отдельных рабочих мест, так и при их объединении в вычислительную сеть. Сетевые системы обработки данных могут быть построены на основе архитектур файл-сервер и клиент-сервер. При построении системы обработки данных в архитектуре файл-сервер общие для нескольких пользователей данные хранятся на сетевом сервере, но их обработка выполняется на ЭВМ рабочего места. Программа, выполняющаяся на рабочей станции, запрашивает данные нужного ей файла у функционирующей на сервере сетевой ОС. Сервер считывает искомые данные из указанного файла и передает их рабочей станции. На ней эти данные обрабатываются, а результаты обработки могут быть опять переданы серверной ОС, для размещения их в файлах сетевого сервера. Достоинством архитектуры файл-сервер является то, что прикладная программа включает только клиентскую часть, а обращение к файлам, размещенным на сервере, производится общесистемными средствами обслуживания сети. Однако в этом случае, при необходимости отобрать только определенный фрагмент данных того или иного файла, последний полностью пересылается по каналам сети на рабочую станцию. Если в сети одновременно работает много пользователей, и они интенсивно обращаются к данным, хранящимся на сервере, сеть сильно перегружается и выполнение прикладных программ может очень замедлиться из-за ожидания окончания процедур пересылки данных. При построении систем в архитектуре "клиент-сервер" часть функций обработки данных выполняется сервером, а часть - клиентом. Если прикладной программе, выполняющейся на рабочей станции, нужны данные, удовлетворяющие определенным критериям, то она только выдает запрос серверной части программы на их выборку. Серверная компонента программы отбирает данные по этому запросу и пересылает по сети только их. Например, прикладная программа передает запрос на выборку данных SQL-серверу. Тот обрабатывает запрос к базе данных и передает по сети на рабочую станцию только необходимые данные. За счет этого становится возможным существенно уменьшить объем пересылаемых по сети данных. Специально отметим, что при использовании архитектуры файл-сервер такой отбор не производится и по сети пересылается вся база данных и отбор выполняется рабочей станции. При использовании архитектуры клиент-сервер, помимо доступа к данным серверная часть программы может выполнять еще и определенные действия по их обработке. Более того, в ряде случаев реализуется даже эмуляция централизованной обработки данных, когда все функции их обработки выполняются сервером. В этом случае с рабочей станции на сервер передаются только сведения о нажатых пользователем клавишах и перемещениях мыши, а с сервера на нее поступают только образы представления данных на экране монитора, которые также формируются сервером. То есть, фактически, ПК на время превращается в терминал. Построение систем обработки данных в архитектуре клиент-сервер возможно на основе моделей "толстого" и "тонкого" клиентов. В модели "толстого" клиента сервер выполняет только функции отбора данных, а их прикладная обработка выполняется на рабочей станции. В модели "тонкого" клиента сервер выполняет отбор данных и их обработку, а на рабочую станцию пересылаются только результаты обработки. Различают также двух-, трех- и многоуровневую архитектуру клиент-сервер. При двухуровневой архитектуре система обработки данных включает клиентскую и единую серверную компоненты. При трехуровневой архитектуре серверная компонента делится на сервер базы данных и сервер приложений. В качестве сервера базы данных обычно выступает SQL-сервер. Сервер приложений выступает в роли промежуточного уровня ПО сетевой системы обработки данных (middleware). Обычно в его функции входит реализация наиболее сложных и общих процедур прикладной обработки данных, требующих постоянного взаимодействия с большими информационными массивами, управляемыми сервером базы данных. Сервер базы данных и сервер приложений могут выполняться на одной или на разных ЭВМ. Трехуровневая архитектура обычно соответствует модели тонкого клиента, а двухуровневая - модели толстого клиента. Но модель тонкого клиента можно организовать и при двухуровневой архитектуре. В этом случае единая серверная компонента совмещает функции доступа к данным и их обработки. В общем случае, функции большинства систем обработки данных можно разделить на четыре группы: а) функции представления данных; б) функции обработки данных; в) функции доступа к структурированной информации; г) функции доступа к файлам. Функции представления данных - это операции организации взаимодействия программы с пользователем, связанные с отображением данных на экране монитора и при печати, приема данных, вводимых с помощью устройств ввода информации в ЭВМ и т.д. Функции обработки данных - это операции, связанные с непосредственной реализацией алгоритмов обработки исходных данных и получением результатной информации. Функции доступа к структурированной информации - это операции интерпретации и извлечения данных из информационных массивов, в которых они хранятся, и записи их в эти массивы с учетом заданной логической и физической структуры их размещения на носителях данных. Функции доступа к файлам - это операции непосредственного доступа к файлам, в которых хранятся используемые программой информационные массивы. Обычно реализуются средствами ОС. Распределение функций обработки данных при различных способах организации многопользовательской работы представлено в следующей таблице. При централизованной обработке данных рабочие места оснащаются терминалами, а все остальные операции выполняются одной или несколькими центральными ЭВМ. Терминалы исполняют только функции отображения и ввода данных. Функции представления данных распределены между ними и центральной ЭВМ, поскольку именно последняя формирует образы экранов, отображаемых терминалами. То есть выполняет еще и часть функций представления данных. При автономном функционировании рабочих мест все функции исполняются установленными на них ПК. В системах сетевой обработки данных, основанных на архитектуре файл-сервер, в функции сетевого сервера входит только реализация операций доступа к файлам, а функции представления данных, их обработки и доступа к структурированной информации реализуются программным обеспечением, исполняющимся на ПК отдельных рабочих мест. В системах, построенных в архитектуре клиент-сервер на основе модели толстого клиента, серверные компоненты выполняют функции доступа к массивам структурированной информации и хранящим их файлам. Функции представления данных и их обработки полностью реализуются программным обеспечением, выполняющимся на рабочих станциях. При построении системы на основе модели архитектуры тонкого клиента, функции доступа к массивам структурированной информации и хранящим их файлам полностью выполняются серверным программным обеспечением, а функции обработки данных могут быть разделены между клиентской и серверной компонентами. Функции представления данных полностью выполняются клиентской компонентой. При реализации архитектуры клиент-сервер в режиме эмуляции централизованной обработки на рабочих станциях выполняются только функции представления данных. При этом часть этих функций перенесена на сервер, поскольку именно он формирует образы экранов и пересылает их клиентской стороне, которая занята только их отображением. Отличие полностью централизованной обработки от режима ее эмуляции состоит в том, что в первом случае рабочее место оборудовано терминалом, который в состоянии только отображать и вводить данные, но не может их обрабатывать, а во втором - персональным или сетевым компьютером, который может исполнять программы. Если на рабочем месте установлен полноценный ПК, то он может для одного приложения работать в режиме эмуляции централизованной обработки, то есть выполнять только функции терминала, а другие приложения исполнять самостоятельно. Например, какая-то программа может полностью исполняться на сервере, а ПК будет только отображать полученные результаты и вводить данные, но наряду с этим на нем же параллельно может быть запущен текстовый процессор, все функции которого будут полностью выполняться с использование аппаратных ресурсов данного ПК. |