Простейший случай взаимодействия двух компьютеров кратко

Обновлено: 06.07.2024

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

Эволюция вычислительных систем

Локальные сети (Local Area Network, LAN) – это объединение компьютеров, сосредоточенных на небольшой территории, обычно в радиусе 1-2 км, хотя в отдельных случаях локальная сеть может иметь и более протяженные размеры, например в несколько десятков километров. В общем случае локальная сеть представляет собой коммуникационную систему, принадлежащую одной организации. В середине 80-х годов утвердились стандартные технологии объединения компьютеров в сеть – Ethernet, Arcnet, Token Ring, Token Bas, несколько позже FDDI. Мощным стимулом для их появления послужили персональные компьютеры, они явились идеальными элементами для построения сетей – с одной стороны, они были достаточно мощными для работы сетевого программного обеспечения, а с другой – явно нуждались в объединении своей вычислительной мощности для решения сложных задач, а также разделения дорогих периферийных устройств и дисковых массивов. Поэтому персональные компьютеры стали преобладать в локальных сетях, причем не только в качестве клиентских компьютеров, но и в качестве центров хранения и обработки данных, т. е. сетевых серверов. Все стандартные технологии локальных сетей опираются на принцип коммутации пакетов. Конец 90-х гг. выявил явного лидера среди технологий локальных сетей – семейство Ethernet, в которое вошли классическая технология Ethеrnet 10Мбит/с, а также Fast Ethernet 100Мбит/с и Gigabit Ethernet 1000Мбит/с. Простые алгоритмы работы, широкий диапазон иерархии скоростей позволяют рационально строить локальную сеть Ethernet в соответствии с потребностями пользователя.

Глобальные сети (Wide Area Networks, WAN) - сети, объединяющие территориально рассредоточенные компьютеры, возможно находящиеся в различных городах и странах. При их построении были отработаны многие основные идеи и концепции построения современных вычислительных сетей, а именно, многоуровневое построение коммуникационных протоколов, технология коммутации пакетов, маршрутизация пакетов в составных сетях. Выделяемый на время сеанса связи составной канал с постоянной скоростью не мог эффективно использоваться пульсирующим трафиком компьютерных данных, у которого периоды интенсивного обмена чередуются с продолжительными паузами. Натурные эксперименты и математическое моделирование показали, что пульсирующий и в значительной степени не чувствительный к задержкам компьютерный трафик гораздо эффективней передается сетями, использующими принцип коммутации пакетов, когда данные разделяются на небольшие порции – пакеты, которые самостоятельно перемещаются по сети за счет встраивания адреса узла в заголовок пакета.

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

Конвергенция сетей

Сближение локальных и глобальных сетей

В конце 80-х гг. между локальными и глобальными сетями существовали следующие отличия:

Протяженность и качество линий связи.

Локальные компьютерные сети по определению отличаются от глобальных сетей небольшими расстояниями между узлами сети. Это в принципе делает возможным использование в локальных сетях более качественных линий связи.

Сложность методов передачи данных.

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

Скорость обмена данными.

В локальных сетях это величина от 10,16Мбит/с до 100Мбит/с в то время как в глобальных - от 2.4Кбит/с до 2Мбит/с.

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

Постепенно различия между локальными и глобальными типами сетевых технологий стали сглаживаться. Тесная интеграция локальных и глобальных сетей привела к значительному взаимопроникновению соответствующих технологий. Сближение в методах передачи данных происходит на платформе цифровой (немодулированной) передачи данных по волоконно-оптическим линиям связи. Эту среду передачи данных используют практически все технологии локальных сетей для скоростного обмена информацией на расстояниях выше 100 м, на ней же построены современные магистрали первичных сетей SDN и DWDM, предоставляющие свои цифровые каналы для объединения оборудования глобальных сетей. Высокое качество цифровых каналов изменило требование к протоколам глобальных сетей. На первый план вместо процедур обеспечения надежности вышли процедуры обеспечения гарантированной средней скорости доставки информации пользователям, а также механизмы приоритетной обработки пакетов особенно чувствительного к задержкам трафика, например, голосового. Эти изменения нашли отражение в новых технологиях глобальных сетей, таких как “FR” и ATM. В этих сетях предполагается, что искажения битов происходят настолько редко, что ошибочный пакет выгоднее просто уничтожить, а все проблемы, связанные с его потерей, перепоручить программному обеспечению более высокого уровня, которое непосредственно не входит в состав сетей “FR ” и ATM.

Большой вклад в сближение локальных и глобальных сетей внесло доминирование протокола IP. Этот протокол сегодня используется поверх любых технологий локальных и глобальных сетей – Ethernet, Token Ring, ATM, “FR ” – для создания из различных подсетей единой составной сети. Глобальные сети, работающие на основе скоростных цифровых каналов, существенно расширили набор своих услуг и догнали в этом локальные сети. Стало возможным создание служб, работа которых связана с доставкой пользователю больших объемов информации в реальном времени – изображений, видеофильмов, голоса и т.д.

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

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

Конвергенция компьютерных и телекоммуникационных сетей

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

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

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

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

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

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

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

§ 2.2. Простейший случай сети из двух компьютеров

Взаимодействие двух компьютеров

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

Рассмотрим случай, когда пользователю, работающему с текстовым редактором на персональном компьютере А, нужно прочитать часть некоторого файла, расположенного на диске персонального компьютера В (рис. 2.1). Предположим, что мы связали эти компьютеры по кабелю через СОМ-порты, которые, как известно, реализуют интерфейс RS-232С (такое соединение часто называют нуль-модемным). Пусть для определенности компьютеры работают под управлением МS-DОS, хотя принципиального значения в данном случае это не имеет.

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

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

Предположим, что мы связали компьютеры по кабелю через COM-порты, которые, как известно, реализуют интерфейс RS-232C (такое соединение часто называют нуль-модемным). Связь между компьютерами осуществляется аналогично связи компьютера с ПУ. Только теперь контроллеры и драйверы портов действуют с двух сторон. Вместе они обеспечивают передачу по кабелю между компьютерами одного байта информации. (В "настоящих" локальных сетях подобные функции передачи данных в линию связи выполняются сетевыми адаптерами и их драйверами .)

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

Клиент, редиректор и сервер

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

Очень удобной и полезной функцией клиентской программы является способность отличить запрос к удаленному файлу от запроса к локальному файлу. Если клиентская программа умеет это делать, она сама распознает и перенаправляет (redirect) запрос к удаленной машине. Отсюда и название, часто используемое для клиентской части — редиректор . Иногда функции распознавания выделяются в особый программный модуль , в этом случае редиректором называют не всю клиентскую часть, а только этот модуль .

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

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


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

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

Начнем с наиболее простого случая непосредственного соединения двух устройств физическим каналом, такое соединение называется связью "точка-точка" ( point-to-point ).

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

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

Для обмена данными компьютер и периферийное устройство (ПУ) оснащены внешними интерфейсами или портами (рис. 3.1). В данном случае к понятию "интерфейс" относятся:

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

Со стороны компьютера логикой передачи сигналов на внешний интерфейс управляют:

  • контроллер ПУ - аппаратный блок, часто реализуемый в виде отдельной платы;
  • драйвер ПУ - программа, управляющая контроллером периферийного устройства .

Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления ПУ, хотя встречаются и программно-управляемые периферийные устройства .

Обмен данными между ПУ и компьютером, как правило, является двунаправленным. Так, например, даже принтер, который представляет собой устройство вывода информации, возвращает в компьютер данные о своем состоянии.

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

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

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

  1. Приложение обращается с запросом на выполнение операции печати к операционной системе. В запросе указываются: адрес данных в оперативной памяти, идентифицирующая информация принтера и операция, которую требуется выполнить.
  2. Получив запрос, операционная система анализирует его, решает, может ли он быть выполнен, и если решение положительное, то запускает соответствующий драйвер , передавая ему в качестве параметров адрес выводимых данных. Дальнейшие действия, относящиеся к операции ввода-вывода, со стороны компьютера реализуются совместно драйвером и контроллером принтера.
  3. Драйвер передает команды и данные контроллеру , который помещает их в свой внутренний буфер. Пусть, например, драйвер загружает значение некоторого байта в буфер контроллера ПУ.
  4. Контроллер перемещает данные из внутреннего буфера во внешний порт .
  5. Контроллер начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы сообщить устройству управления принтера о том, что начинается передача байта, перед передачей первого бита данных контроллер формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита - стоповый сигнал. Эти сигналы синхронизируют передачу байта. Кроме информационных бит, контроллер может передавать бит контроля четности для повышения достоверности обмена.
  6. Устройство управления принтера, обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности, то выполняется проверка корректности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления принтера устанавливается признак завершения приема информации. Наконец, принятый байт обрабатывается принтером - выполняется соответствующая команда или печатается символ.

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

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

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

Возможно распределение функций между драйвером и контроллером (ПУ).

Функции, выполняемые драйвером :

  • ведение очередей запросов;
  • буферизация данных;
  • подсчет контрольной суммы последовательности байтов;
  • анализ состояния ПУ;
  • загрузка очередного байта данных (или команды) в регистр контроллера ;
  • считывание байта данных или байта состояния ПУ из регистра контроллера .

Функции, выполняемые контроллером :

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

Связь двух компьютеров

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

Рис. 3.2. Взаимодействие двух компьютеров.

Предположим, что мы связали компьютеры по кабелю через COM-порты, которые, как известно, реализуют интерфейс RS-232C (такое соединение часто называют нуль-модемным). Связь между компьютерами осуществляется аналогично связи компьютера с ПУ. Только теперь контроллеры и драйверы портов действуют с двух сторон. Вместе они обеспечивают передачу по кабелю между компьютерами одного байта информации. (В "настоящих" локальных сетях подобные функции передачи данных в линию связи выполняются сетевыми адаптерами и их драйверами .)

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

Клиент, редиректор и сервер

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

Очень удобной и полезной функцией клиентской программы является способность отличить запрос к удаленному файлу от запроса к локальному файлу. Если клиентская программа умеет это делать, она сама распознает и перенаправляет (redirect) запрос к удаленной машине. Отсюда и название, часто используемое для клиентской части - редиректор . Иногда функции распознавания выделяются в особый программный модуль, в этом случае редиректором называют не всю клиентскую часть, а только этот модуль.

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

Рис. 3.3. Взаимодействие программных компонентов при связи двух компьютеров.

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

Задача физической передачи данных по линиям связи

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

При соединении " точка-точка " на первый план выходит задача физической передачи данных по линиям связи. Эта задача среди прочего включает:

  • кодирование и модуляцию данных;
  • взаимную синхронизацию передатчика одного компьютера с приемником другого;
  • подсчет контрольной суммы и передача ее по линиям связи после каждого байта или после некоторого блока байтов.

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

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

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

Рис. 3.4. Задачи физической передачи данных.

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

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

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

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

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

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

В самом простом случае взаимодействие двух компьютеров может быть реализовано так же, как взаимодействие компьютера с ПУ (например, через последовательный интерфейс RS-232C). Разница в том, что в случае двух компьютеров происходит взаимодействие двух программ, работающих на каждом компьютере.


Рисунок 2.2. – Взаимодействие двух компьютеров (в простейшем случае)

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

Функции обработки и формирования запросов для всех приложений выполняют специальные программные модули: клиентские и серверные части ОС. (Рисунок 2.3)


Рисунок 2.3. – Взаимодействие программных компонентов при связи двух компьютеров

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

Читайте также: