Основные программные и аппаратные компоненты сети
Даже в результате достаточно поверхностного рассмотрения работы в сети становится ясно, что вычислительная сеть — это сложный комплекс взаимосвязанных и согласованно функционирующих программных и аппаратных компонентов. Изучение сети в целом предполагает знание принципов работы ее отдельных элементов:
- компьютеров;
- коммуникационного оборудования;
- операционных систем;
- сетевых приложений.
Простейший случай взаимодействия двух компьютеров
В самом простом случае взаимодействие компьютеров может быть реализовано с помощью тех же самых средств, которые используются для взаимодействия компьютера с периферией, например, через последовательный интерфейс RS-232C. В отличие от взаимодействия компьютера с периферийным устройством, когда программа работает, как правило, только с одной стороны — со стороны компьютера, в этом случае происходит взаимодействие двух программ, работающих на каждом из компьютеров. Программа, работающая на одном компьютере, не может получить непосредственный доступ к ресурсам другого компьютера — его дискам, файлам, принтеру. Она может только «попросить» об этом программу, работающую на том компьютере, которому принадлежат эти ресурсы. Эти «просьбы» выражаются в виде сообщений, передаваемых по каналам связи между компьютерами. Сообщения могут содержать не только команды на выполнение некоторых действий, но и собственно информационные данные (например, содержимое некоторого файла). Рассмотрим случай, когда пользователю, работающему с текстовым редактором на персональном компьютере А, нужно прочитать часть некоторого файла, расположенного на диске персонального компьютера В (рис. 4). Предположим, что мы связали эти компьютеры по кабелю связи через СОМ-порты, которые, как известно, реализуют интерфейс RS-232C (такое соединение часто называют нуль-модемным). Пусть для определенности компьютеры работают под управлением MS-DOS, хотя принципиального значения в данном случае это не имеет. Рис. 4.Взаимодействие двух компьютеров Драйвер СОМ-порта вместе с контроллером СОМ-порта работают примерно так же, как и в описанном выше случае взаимодействия ПУ с компьютером. Однако при этом роль устройства управления ПУ выполняет контроллер и драйвер СОМ-порта другого компьютера. Вместе они обеспечивают передачу по кабелю между компьютерами одного байта информации. (В «настоящих» локальных сетях подобные функции передачи данных в линию связи выполняются сетевыми адаптерами и их драйверами.) Драйвер компьютера В периодически опрашивает признак завершения приема, устанавливаемый контроллером при правильно выполненной передаче данных, и при его появлении считывает принятый байт из буфера контроллера в оперативную память, делая его тем самым доступным для программ компьютера В. В некоторых случаях драйвер вызывается асинхронно, по прерываниям от контроллера. Таким образом, в распоряжении программ компьютеров А и В имеется средство для передачи одного байта информации. Но рассматриваемая в нашем примере задача значительно сложнее, так как нужно передать не один байт, а определенную часть заданного файла. Все связанные с этим дополнительные проблемы должны решить программы более высокого уровня, чем драйверы СОМ-портов. Для определенности назовем такие программы компьютеров А и В приложением А и приложением В соответственно. Итак, приложение А должно сформировать сообщение-запрос для приложения В. В запросе необходимо указать имя файла, тип операции (в данном случае — чтение), смещение и размер области файла, содержащей нужные данные. Чтобы передать это сообщение компьютеру В, приложение А обращается к драйверу СОМ-порта, сообщая ему адрес в оперативной памяти, по которому драйвер находит сообщение и затем передает его байт за байтом приложению В. Приложение В, приняв запрос, выполняет его, то есть считывает требуемую область файла с диска с помощью средств локальной ОС в буферную область своей оперативной памяти, а далее с помощью драйвера СОМ-порта передает считанные данные по каналу связи в компьютер А, где они и попадают к приложению А. Описанные функции приложения А могла бы выполнить сама программа текстового редактора, но включать эти функции в состав каждого приложения — текстовых редакторов, графических редакторов, систем управления базами данных и других приложений, которым нужен доступ к файлам, — не очень рационально. Гораздо выгоднее создать специальный программный модуль, который будет выполнять функции формирования сообщений-запросов и приема результатов для всех приложений компьютера. Как уже было ранее сказано, такой служебный модуль называется клиентом. На стороне же компьютера В должен работать другой модуль — сервер, постоянно ожидающий прихода запросов на удаленный доступ к файлам, расположенным на диске этого компьютера. Сервер, приняв запрос из сети, обращается к локальному файлу и выполняет с ним заданные действия, возможно, с участием локальной ОС. Программные клиент и сервер выполняют системные функции по обслуживанию запросов приложений компьютера А на удаленный доступ к файлам компьютера В. Чтобы приложения компьютера В могли пользоваться файлами компьютера А, описанную схему нужно симметрично дополнить клиентом для компьютера В и сервером для компьютера А. Схема взаимодействия клиента и сервера с приложениями и операционной системой приведена на рис. 5. Несмотря на то, что мы рассмотрели очень простую схему аппаратной связи компьютеров, функции программ, обеспечивающих доступ к удаленным файлам, очень похожи на функции модулей сетевой операционной системы, работающей в сети с более сложными аппаратными связями компьютеров. Рис. 5.Взаимодействие программных компонентов при связи двух компьютеров Очень удобной и полезной функцией клиентской программы является способность отличить запрос к удаленному файлу от запроса к локальному файлу. Если клиентская программа умеет это делать, то приложения не должны заботиться о том, с каким файлом они работают (локальным или удаленным), клиентская программа сама распознает и перенаправляет (redirect)запрос к удаленной машине. Отсюда и название, часто используемое для клиентской части сетевой ОС, —редиректор. Иногда функции распознавания выделяются в отдельный программный модуль, в этом случае редиректором называют не всю клиентскую часть, а только этот модуль.
Аппаратные компоненты локальных компьютерных сетей
Любая компьютерная сеть представляет собой довольно сложный комплекс программных и аппаратных средств, осуществляющих связь компьютеров и других устройств между собой.
В основе аппаратной части локальной сети лежат стандартизованные компьютерные платформы различных классов — от персональных компьютеров до мэйнфреймов и суперЭВМ. Использование тех или иных компьютерных платформ, а также прочих аппаратных средств обосновывается набором задач, на решение которых ориентирована создаваемая сеть.
Кроме того, к аппаратной составляющей компьютерной сети относятся кабельные системы линий связи и коммуникационное оборудование, позволяющее объединять отдельные сегменты сети и организовывать информационные потоки.
Сетевые адаптеры
Сетевой адаптер (Network Interface Card — NIC) — это периферийное устройство компьютера. Именно сетевой адаптер непосредственно взаимодействует со средой передачи данных, которая прямо или через коммуникационное оборудование связывает его с другими компьютерами.
В зависимости от технологии построения сети, с которой работает адаптер, они делятся на Ethernet-адаптеры, Token Ring-адаптеры, FDDI-адаптеры и т. д.
Как правило, сетевые адаптеры выполняются в виде отдельной платы, вставляемой в слоты расширения системной шины компьютера. Плата сетевого адаптера обычно имеет также один или несколько внешних разъемов для подключения к ней кабеля сети.
К основным функциям сетевых адаптеров относятся:
- гальваническая развязка компьютера и кабеля локальной сети;
- кодирование и декодирование данных;
- опознавание принимаемых кадров (передача на компьютер только тех пакетов, которые адресованы данной рабочей станции);
- буферизация передаваемой и принимаемой информации в буферной памяти адаптера;
- организация доступа к сети в соответствии с принятым методом доступа к среде передачи данных.
Концентраторы
- с фиксированным количеством портов;
- как модульные устройства на основе шасси;
- со стековой конструкцией.
- прозрачный мост;
- маршрутизация по источнику.
Программные и аппаратные компоненты компьютерных сетей
Наряду с автономной работой значительное повышение эффективности использования компьютеров может быть достигнуто объединением их в компьютерные сети (network).
Под компьютерной сетью в широком смысле слова понимают любое множество компьютеров, связанных между собой каналами связи для передачи данных.
Существует ряд веских причин для объединения компьютеров в сети. Во-первых, совместное использование ресурсов позволяет нескольким ЭВМ или другим устройствам осуществлять совместный доступ к отдельному диску (файл-серверу), дисководу CD-ROM, стримеру, принтерам, плоттерам, к сканерам и другому оборудованию, что снижает затраты на каждого отдельного пользователя.
Во-вторых, кроме совместного использования дорогостоящих периферийных устройств имеется возможность аналогично использовать сетевые версии прикладного программного обеспечения. В-третьих, компьютерные сети обеспечивают новые формы взаимодействия пользователей в одном коллективе, например при работе над общим проектом.
В-четвертых, появляется возможность использовать общие средства связи между различными прикладными системами (коммуникационные услуги, передача данных и видеоданных, речи и т.д.). Особое значение имеет организация распределенной обработки данных. В случае централизованного хранения информации значительно упрощаются процессы обеспечения ее целостности, а также резервного копирования.
2. Основные программные и аппаратные компоненты сети
Компьютерная сеть— это сложный комплекс взаимосвязанных и согласованно функционирующих программных и аппаратных компонентов.
Изучение сети в целом предполагает знание принципов работы ее отдельных элементов:
Весь комплекс программно-аппаратных средств сети может быть описан многослойной моделью. В основе любой сети лежит аппаратный слой стандартизованных компьютерных платформ, т.е. система конечного пользователя сети, в качестве которого может выступать компьютер или терминальное устройство (любое устройство ввода-вывода или отображения информации). Компьютеры в узлах сети иногда называют хост-машинами или просто хостами.
В настоящее время в сетях широко и успешно применяются компьютеры различных классов — от персональных компьютеров до мэйнфреймов и суперЭВМ. Набор компьютеров в сети должен соответствовать набору разнообразных задач, решаемых сетью.
Второй слой — это коммуникационное оборудование. Хотя компьютеры и являются центральными элементами обработки данных в сетях, в последнее время не менее важную роль стали играть коммуникационные устройства.
Кабельные системы, повторители, мосты, коммутаторы, маршрутизаторы и модульные концентраторы из вспомогательных компонентов сети превратились в основные наряду с компьютерами и системным программным обеспечением как по влиянию на характеристики сети, так и по стоимости. Сегодня коммуникационное устройство может представлять собой сложный специализированный мультипроцессор, который нужно конфигурировать, оптимизировать и администрировать.
Третьим слоем, образующим программную платформу сети, являются операционные системы (ОС). От того, какие концепции управления локальными и распределенными ресурсами положены в основу сетевой ОС, зависит эффективность работы всей сети.
При проектировании сети важно учитывать, насколько просто данная операционная система может взаимодействовать с другими ОС сети, насколько она обеспечивает безопасность и защищенность данных, до какой степени она позволяет наращивать число пользователей, можно ли перенести ее на компьютер другого типа и многие другие соображения.
Самым верхним слоем сетевых средств являются различные сетевые приложения, такие как сетевые базы данных, почтовые системы, средства архивирования данных, системы автоматизации коллективной работы и др.
Очень важно представлять диапазон возможностей, предоставляемых приложениями для различных областей применения, а также знать, насколько они совместимы с другими сетевыми приложениями и операционными системами.