Главная страница
Навигация по странице:

  • Физический интерфейс

  • О драйвером сетевой интерфейсной карты

  • Сетевые службы и сервисы

  • Компьютерные сети. Принц, техн, прот 1-303. Книга переведена на английский, испанский, китайский и португальский языки


    Скачать 5.49 Mb.
    НазваниеКнига переведена на английский, испанский, китайский и португальский языки
    Дата26.10.2022
    Размер5.49 Mb.
    Формат файлаdoc
    Имя файлаКомпьютерные сети. Принц, техн, прот 1-303.doc
    ТипКнига
    #754706
    страница4 из 42
    1   2   3   4   5   6   7   8   9   ...   42
    Сетевые интерфейсы

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

    ПРИМЕЧАНИЕ

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

    Разделяют физический и логический интерфейсы.

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

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

    На рис. 2.2 мы видим интерфейсы двух типов: компьютер – компьютер и компьютер – периферийное устройство.

    • Интерфейс компьютер – компьютер позволяет двум компьютерам обмениваться информацией. С каждой стороны он реализуется парой:

    О аппаратным модулем, называемым сетевым адаптером или сетевой интерфейсной картой (ИК), или (в англоязычном варианте) Network Interface Card, NIC;

    О драйвером сетевой интерфейсной карты – специальной программой, управляющей работой сетевой интерфейсной карты.

    • Интерфейс компьютер – периферийное устройство (в данном случае интерфейс компьютер – принтер) позволяет компьютеру управлять работой периферийного устройства (ПУ). Этот интерфейс реализуется:

    О со стороны компьютера – интерфейсной картой и драйвером ПУ (принтера), подобным сетевой интерфейсной карте и ее драйверу;

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

    Связь компьютера с периферийным устройством

    Для понимания того, как решить задачу организации доступа приложения, выполняемого на компьютере Л, к ПУ через сеть, давайте прежде всего посмотрим, как управляет этим устройством приложение, выполняемое на компьютере В, к которому данное ПУ подключено непосредственно (см. рис. 2.2).

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

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

    3. Драйвер принтера оперирует командами, понятными контроллеру принтера, такими, например, как «Печать символа», «Перевод строки», «Возврат каретки». Драйвер в определенной последовательности загружает коды этих команд, а также данные, взятые из буфера ОП, в буфер интерфейсной карты принтера, которая побайтно передает их по сети контроллеру принтера.

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

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

    Обмен данными между двумя компьютерами

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

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

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

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

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

    На стороне компьютера А приложение, следуя логике протокола, размещает в буфере ОП либо собственное очередное сообщение, либо данные и обращается к ОС с запросом на выполнение операции межкомпьютерного обмена данными. ОС запускает соответствующий драйвер сетевой карты, который загружает байт из буфера ОП в буфер интерфейсной карты, после чего инициирует ее работу. Сетевая интерфейсная карта последовательно передает биты в линию связи, дополняя каждый новый байт стартовым и стоповым битами. На стороне компьютера В сетевая интерфейсная карта принимает биты, поступающие со стороны внешнего интерфейса, и помещает их в собственный буфер. После того как получен столовый бит, интерфейсная карта устанавливает признак завершения приема байта и выполняет проверку корректности приема, например, путем контроля бита четности. Факт корректного приема байта фиксируется драйвером сетевой интерфейсной карты компьютера В. Драйвер переписывает принятый байт из буфера интерфейсной карты в заранее зарезервированный буфер ОП компьютера В. Приложение В извлекает данные из буфера и интерпретирует их в соответствии со своим протоколом либо как сообщение, либо как данные. Если согласно протоколу приложение В должно передать ответ приложению А, то выполняется симметричная процедура.

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

    Доступ к периферийным устройствам через сеть

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

    А теперь посмотрим, как работают вместе все элементы этой простейшей компьютерной сети при решении задачи совместного использования принтера.

    1. В соответствии с принятым протоколом приложение А формирует сообщение-запрос к приложению В, помещает его в буфер ОП компьютера А и обращается к ОС, снабжая ее необходимой информацией.

    2. ОС запускает драйвер сетевой интерфейсной карты, сообщая ему адрес буфера ОП, где хранится сообщение.

    3. Драйвер и сетевая интерфейсная карта компьютера А, взаимодействуя с драйвером и интерфейсной картой компьютера В, передают сообщение байт за байтом в буфер ОП компьютера В.

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

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

    Уже на этом начальном этапе, рассматривая связь компьютера с периферийным устройством, мы столкнулись с важнейшими «сетевыми» понятиями: интерфейсом и протоколом, драйвером и интерфейсной картой, а также с проблемами, характерными для компьютерных сетей: согласованием интерфейсов, синхронизацией асинхронных процессов, обеспечением достоверности передачи данных.

    Сетевое программное обеспечение

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

    Сетевые службы и сервисы

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

    Более эффективным представляется подход, при котором эти функции исключаются из приложений и оформляются в виде пары специализированных программных модулей – клиента и сервера печати (рис. 2.3), функции которых ранее выполнялись соответственно, приложениями Ли В. Теперь эта пара клиент-сервер может быть использована любым приложением, выполняемым на компьютере Л.

    Рис. 2.3. Совместное использование принтера в компьютерной сети
    с помощью сетевой службы печати Пара клиент-сервер, предоставляющая доступ к конкретному типу ресурса компьютера через сеть, образует
    сетевую службу.

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

    Услуги, предоставляемые службой, называются сервисом.

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

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

    На схеме веб-службы, показанной на рис. 2.4, два компьютера связаны не непосредственно, как это было во всех предыдущих примерах, а через множество промежуточных компьютеров и других сетевых устройств, входящих в состав Интернета. Чтобы отразить этот факт графически, мы поместили между двумя компьютерами так называемое коммуникационное облако, позволяющее абстрагироваться от всех деталей среды передачи сообщений. Обмен сообщениями между клиентской и серверной частями веб-службы выполняется по стандартному протоколу HTTP и никак не зависит от того, передаются ли эти сообще Сервером и клиентом также называют компьютеры, на которых работают серверная и клиентская части сетевой службы соответственно.

    ния «из рук в руки» (от интерфейса одного компьютера к интерфейсу другого) или через большое число посредников – транзитных коммуникационных устройств. Вместе с тем усложнение среды передачи сообщений приводит к возникновению новых дополнительных задач, на решение которых не был рассчитан упоминавшийся ранее простейший драйвер сетевой интерфейсной карты. Вместо него на взаимодействующих компьютерах должны быть установлены более развитые программные
    1   2   3   4   5   6   7   8   9   ...   42


    написать администратору сайта