Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_Сетей_(методичка_Дабогяна).docx
Скачиваний:
74
Добавлен:
16.04.2019
Размер:
425.54 Кб
Скачать
    1. 2. Общие принципы построения компьютерных сетей

2.1. Аппаратное и программное обеспечение сети

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

Для организации связи узлов между собой предусмотрены внешние интерфейсы.

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

Физический интерфейс (порт) определяется набором электрических связей и характеристиками сигналов. Обычно это разъем с набором контактов для синхронизации и для передачи данных. Пара разъемов соединяется кабелем.

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

Примерами физических интерфейсов являются: Centronics - параллельный порт для принтеров, COM (RS232) – порт для последовательного кода, а также порты USB и PS/2.

В компьютере сетевой интерфейс реализуется на физическом уровне интерфейсной, сетевой картой (контроллером), а на программном уровне – драйвером соответствующего периферийного устройства.

В периферийных устройствах интерфейс чаще всего реализуется аппаратно (контроллером), но в сложных устройствах (универсальные принтеры и т.п.) иногда используют и программное управление.

Рассмотрим теперь, как компьютер связывается с периферийными устройствами, например, как распечатываются данные на принтере.

Приложение, например, Microsoft Word, выдает запрос операционной системе (ОС) на печать результата работы (операция ввод/вывод).

ОС запускает драйвер принтера и передает управление соответствующему интерфейсу (карте ввода/вывода)

Драйвер принтера вырабатывает команды, понятные контроллеру принтера («Печать символа «X», «Перевод строки», «Возврат каретки» и т.п.), и побайтно пересылает их через параллельный порт. Интерфейсная карта передает соответствующие сигналы на принтер.

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

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

После завершения печати драйвер принтера сообщает об этом ОС.

Подобным образом взаимодействуют и компьютеры в компьютерных сетях, но это взаимодействие происходит с помощью драйверов уже через сетевые интерфейсные карты («адаптеры», NIC).

Например, рассмотрим, как распечатывается документ на сетевом принтере, т.е. принтере, который соединен с компьютером через компьютерную сеть.

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

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

Получив и проверив информацию, компьютер - приемник обращается к своей ОС и выполняет локальную печать по ранее рассмотренной схеме. В случае возникновения ошибок – компьютер-приемник извещает об этом компьютер-источник.

Таким образом, оба компьютера поочередно выступают как источник и приемник команд или информации, другими словами как сервер или клиент.

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

Один сервер может выполнять запросы нескольких клиентов, причем одновременно.

Компьютер, использующий сетевые ресурсы называют клиентом (client) или рабочей станцией (workstation). В общем случае – клиент это компьютер или программный модуль, предназначенный для формирования запросов в компьютерных сетях от различных приложений, приема результатов и передачи их соответствующим приложениям. Клиент должен уметь отличать запрос к локальному ресурсу от запроса к удаленному сетевому ресурсу и соответственно их перенаправлять (redirect). Поэтому клиент иногда называют редиректором (redirector).

Иногда (достаточно редко) один и тот же компьютер может одновременно являться и сервером и клиентом (для различных приложений).

Обычно сервером в компьютерных сетях является специально назначенный для этой роли компьютер, причем он, как правило, обладает улучшенными параметрами. Требования, предъявляемые к компьютерам – клиентам сравнительно невысоки.

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

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

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

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

Распределенное приложение состоит из нескольких частей, каждая из которых выполняет определенную законченную часть решения прикладной задачи. Например, первая часть – поддерживает графический интерфейс, вторая производит статистическую обработку вводимых данных, третья заносит результаты в базу данных. Такие сетевые приложения максимально используют возможности распределенной обработки данных в компьютерной сети (этот метод еще называют «распараллеливанием вычислений»). Его сложно организовать, поэтому он до сих пор еще мало используется. Примером его применения является известная задача поиска внеземных цивилизаций, для решения которой, на добровольной основе, привлекаются ресурсы десятков тысяч компьютеров по всему миру.