суббота, 12 июня 2010 г.

Соединение двух компьютеров


Рубрика:  Компьютерные сети

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

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



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

Запросы будут передаваться от одного компьютера к другому по сети – проводам, которые физически соединяют оба компьютера. Но по этим проводам передаются только биты данных. Поэтому нам обязательно надо, чтобы программное обеспечение, которое стоит на обоих компьютерах, понимало что мы передаем. То есть – нам надо, чтобы ПО интерпретировало биты так, как нам надо. Для этого надо заранее разработать протокол – взаимодействия приложений. Этот протокол разрабатывают программисты, встраивают в приложения. Причем не обязательно, чтобы приложения на различных компьютерах были одинаковыми. Надо, чтобы оба эти приложения «понимали» одинаковый протокол обмена сообщениями – тогда все у нас будет работать так, как надо.

Давайте вкратце рассмотрим, что будет происходить тогда, когда одно приложение захочет распечатать текст на принтере, подключенном к другому компьютеру:

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

Во-вторых, COM-порт компьютера B принимает биты и отправляет их в буфер приложения B.

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

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


И еще раз с днем России:


2 комментария:

  1. Сейчас соединяют через Ethernet перевертыш. Или даже не перевертыш, ибо новые сетевые платы умеют работать и так и так. У COM порта скорость никакая. А у сетевух - 100М-1Г бит/с.

    ОтветитьУдалить
  2. Да, на счет COM-порта знаю. Просто самый простой пример с ним был =)

    ОтветитьУдалить