7.3.1 Организация модемного соединения
Организация модемного соединения
Слово "модем" означает "модулятор - демодулятор". Это устройство предназначено для того, чтобы модулировать звуковой сигнал какими-либо данными или, наоборот, распознавать данные, которыми был промодулирован принимаемый сигнал. Обычные модемы подключаются к аналоговой телефонной линии и через неё обмениваются модулированными сигналами. Вначале функции модемов были достаточно просты и предназначались просто для обмена данными между обладателями двух разных компьютеров, которые живут далеко друг от друга, но могут друг другу позвонить. Например, два человека, назовём их условно Васей и Петей, хотят иногда оперативно обмениваться данными - пересылать друг другу файлы. Они покупают себе по модему и подключают к компьютеру и телефонной линии. Когда наступает время переслать файл, наш Вася включает модем и ставит его в режим автоответа. Обычно это делается с помощью команды АТА Петя также включает свой модем и "просит" его набрать номер домашнего телефона Васи, например 1234567. Итак, Петя даёт модему команду Модем Пети начинает звонить, т. е. набирать номер, как обычный телефон. На другом конце линии модем Васи "снимает трубку", т. е. отвечает на звонок, устанавливая обычное телефонное соединение для телефонного разговора. Затем модем Васи начинает посылать звуковые сигналы, а модем Пети, распознав их, "отвечает ему". Далее, модемы, "узнав" друг друга, "договариваются" о свойствах соединения. Когда соединение между модемами установлено, модемы сообщают об этом "своим" компьютерам, и терминальная программа каждого из компьютеров, в свою очередь, выводит сообщение об установке соединения. Теперь можно пересылать по этому соединению, или, как говорят, каналу, любые файлы. Для пересылки файлов были созданы различные "протоколы". Протокол определяет на какие части будет разбит передаваемый файл, как эти части, называемые пакетами, будут "упакованы" (подобно письмам, отсылаемым в конверте, каждый пакет снабжается заголовком и заключительной записью), каким образом будет проверяться целостность каждого полученного пакета, что делать при неудачной попытке переслать очередной пакет данных, и многое другое. Если нужно просто обмениваться файлами между двумя компьютерами, то подойдут такие протоколы, как Kermit, Xmodem, Ymodem или Zmodem. Итак, указав название соответствующего протокола передачи и имя файла, наш герой Петя может передать Васе любой файл со своего компьютера. При этом модем Васи распознаёт начало серии пакетов данных и начинает приём файла по указанному протоколу. Через некоторое время, зависящие от скорости соединения и качества телефонных линий, файл будет передан на компьютер Васи. Когда все нужные файлы переданы, одному из модемов даётся команда на разрыв соединения, например, АТН+++ Модем завершает телефонное соединение, т. е. "вешает трубку". Другой модем перестаёт слышать модемные сигналы в телефонной линии и также сообщает о разрыве соединения, после чего "вешает трубку". Заметьте, что пока что всё происходящее не имеет никакогоотношения к подключению к Интернету, с которым в последнее время чаще всего ассоциируются модемы. Пока что два модема просто "разговаривают" друг с другом, так же, как наши Петя с Васей могли бы просто говорить по телефону голосом. Правда, голосом они не смогли бы передавать файлы. (Впрочем, небольшие текстовые файлы можно передавать и голосом, просто читая их...) В последнее время передача файлов между двумя модемами напрямую используется достаточно редко, хотя разумное объяснение этому найти довольно трудно. Вместо этого в ходу платное соединение с сетью Интернет: используются механизмы электронной почты или веб-сервер и пр. Обо всём об этом речь, разумеется, ещё пойдёт впереди. Но пока мы говорим просто о модемах и о том, для чего и как они могут соединяться друг с другом. Если между двумя компьютерами, находящимися на удалении друг от друга, нужно передавать много различных файлов, то для удобства можно объединить их в мини-сеть через модемное соединение.. Для этого нужно соответствующим образом настроить сетевые свойства в операционной системе. После этого между компьютерами можно будет передавать файлы так, как будто эти компьютеры объединены в обычную локальную сеть. Однако такая возможность тоже используется редко, так как при этом оба компьютера занимали бы телефонную линию постоянно, да и настройка такой "сети" требует приложить несколько больше усилий, чем просто пересылка файлов. Если модем какого-либо компьютера настроен на автоответ при звонке, то можно с помощью специальных программ сделать так, чтобы звонящий мог взять какие-либо файлы с этого компьютера без участия хозяина этого компьютера. Например, звонящий соединяется с таким компьютером по модему, после чего может с помощью специальных команд просмотреть содержимое тех папок, которые выложены на удалённом компьютере на "всеобщее обозрение", выбрать нужный файл и скачать его себе на компьютер. При этом звонящий, по сути, нажимая какие-то клавиши на своём компьютере, управляет программой-сервером на удалённом компьютере. При этом программа-сервер может посылать звонящему подсказки, какие клавиши можно нажимать и что они означают в данном контексте, и т. д. Это взаимодействие происходит в терминальном режиме, при котором модемы могут посылать друг другу последовательности символов и, естественно, файлы по одному из вышеназванных протоколов (Kermit, Xmodem, Ymodem, Zmodem и пр.) По такому принципу организуют так называемые BBS, которые ещё так недавно были очень популярны. На какой-либо компьютер выкладывались файловые архивы и устанавливалась программа "BBS-сервер", которая при входящем звонке посылала подсказки по управлению и принимала внешние команды. Таким образом, позвонив по одному из BBS-телефонов, любой мог поискать в открытом доступе нужные ему материалы. Ну, а теперь, наконец,несколько слов остоль популярном сегодня соединении с Интернетом через модем. Как известно, Интернет - глобальная сеть, в которую объединены миллионы компьютеров по всему миру. Обычный пользователь может получить доступ к этой сети, воспользовавшись услугами одной изкомпаний,занимающихся обслуживанием и предоставлением этого доступа, - "провайдером" Интернета. В начале существования Интернета доступ к нему осуществлялся по примерно такой же схеме, какая была описана выше. Пользователь с помощью своего модема звонил на телефон провайдера, а там один из модемов провайдера отвечал ему. После этого на терминальную программу пользователю передавались подсказки поуправлению программой - сервером провайдера. Например, нажать "е" - просмотр электронной почты, "Ь" - получение сведений о балансе ипр. Потом пришли к выводу, что пользователю гораздо удобнее устанавливать соединение не в терминальном режиме, а по протоколуРРР. После установки соединения по этому протоколу поверх него можно запускать протоколы электронной почты, веб-протоколы ипр. Модемы при этом общаются только между собой, и пользователю не требуется вводить никаких специальных команд. Он может просто запустить программу работы с электронной почтой иливеб-браузер и работать с данными сервисами так же, какесли бы он был подключён к интернету напрямую через локальную сеть. 7.3.2 Виды модемов О работе в Интернете мы ещё расскажем подробнее в гл. 9, а сейчас кратко опишем виды модемов и способы их подключения. Внутренние и внешние модемы. Внутренний модем ( 7.11)выполняется в виде платы расширения, которая вставляется в один из слотов материнской платы. Ранее все модемы выпускались для шины ISA. Однако сегодня шина ISA из употребления практически вышла, и большинство материнских плат уже не имеют слотов ISA. Поэтому внутренние модемы выпускаются сейчас для шиныPCI. Теоретически, возможны ещёмодемы для специальных слотовAMR, которыми оснащаются некоторые материнские платы. Однако такие модемы практически встречаются очень редко (их вообще мало кто видел "живьём"). Внешние модемы ( 7.12) имеют отдельный корпус, который устанавливается поблизости от системного блока, и подключаются к последовательному порту компьютера обычно кабелем RS-232. Компьютер, как правило, оснащается двумя последовательными портами, который в системах DOS и Windows принято называть СОМ1 и COM2, а в системе Linux и ей подобных - ttySO и ttySl. Как известно, существуют два различных стандарта на разъёмы последовательных портов: "маленький" 9-контактный и "большой" 25контактный. Ранее компьютеры обычно имели оба варианта разъёмов: один последовательный порт (обычно первый, СОМ1) имел 9-контактный разъём, а другой (обычно второй) - 25-контактный. Однако на многих материнских платах оба разъёма бывают 9-контактными, а иногда вообще оставляют только один последовательный порт. Поэтому для внешних модемов в последнее время стали делать специальные разветвлённые кабели ( 7.13). Один конец такого кабеля, подключаемый к модему, выполнен обычным образом, а другой конец раздвоен и имеет два разъёма - 9- и 25-контактный. Кроме того, внешний модем необходимо подключить кэлектропитанию, для чего в комплекте с нимпоставляется блок питания. В последнее время появились модемы, которые подключаются нек последовательному порту, а к порту USB. Такие модемы, в принципе,могут получать питание непосредственно пошине, если онане перегружена другими устройствами. Аппаратные и программные модемы. Помиморазделения на внешние и внутренние, модемы можно условно разделить на "полноценные" (аппаратные) и так называемые софт-модемы (программные). Аппаратные модемы содержат микрочип, который занимается обработкой информации, например делит поступающие от компьютера данные на пакеты, расшифровывает сигналы отвечающего модема и поступающие данные и т. д. Такие модемы стоят дороже, чем софтмодемы, но гораздо надёжнее в работе. Программные модемы, которые всегда бывают внутренними, несодержат аппаратных средств дляобработки исходящей и входящей информации. При использовании таких модемов этифункции перекладываются "наплечи" процессора. При этом операционная система должна поддерживать работу с такими модемами, иначе ничего неполучится. Например, софт-модемы нефункционируют под управлением операционной системы DOS. Поскольку первой системой, которая поддержала работу стакими модемами, была Windows, их иногда называют также win-модемами. Другие продвинутые системы, например Linux, также имеют поддержку софт-модемов. Единственным преимуществом софт-модемов является их низкая цена, которая непокрывает их существенных недостатков. Замечено, что софт-модемы устойчиво работают только с очень качественными цифровыми АТС. А при работе с аналоговыми АТС (коих у нас в стране подавляющее большинство, включая Москву и другие крупные города, не говоря уже о небольших городах и посёлках) софт-модемы часто дают сбои и, что называется, не "держат" соединение. Это означает, что установленное соединение быстро обрывается, и часто не удаётся пробыть на связи с другим компьютером (и с Интернетом тоже) более 1-2 мин. Поэтому, мы настоятельно рекомендуем приобретать только аппаратные модемы. Причём модемы внешние намного предпочтительнее, так как они гораздо лучше защищают сигнал от внешних наводок. Кроме всего прочего, модемы различаются также и по скоростипередачи данных. Правда, в последнее время это стало менее актуально. Дело в том, что производители достигли некоторого технического предела скорости передачи данных по аналоговым телефонным линиям, который составляет примерно 56 кбит/с. Эта скорость поддерживается низкоуровневыми протоколами передачи данных V.90 и V.92, которые используют практически все современные модемы. Однако, если речь идёт о более старых моделях, то многие из них имели ограничения по скорости передачи данных. Во времена их "молодости" максимальная скорость передачи данных считалась одной из основных характеристик модема и обычно указывалась сразу вслед за названием модели, а иногда и входила в неё. Существуют, например, модемы, которые имеют максимальную скорость передачи данных 33600, 28800, 24000, 16800, 14400, 9600, 7200, 4800, 2400 и даже всего 1200 бит/с. Были модемы даже с ещё меньшими скоростными показателями. Правда, когда речь идёт о фактической установке соединения, то её скорость далеко не всегда соответствует максимально возможной скорости. Фактическая скорость соединения зависит от качества телефонных линий и конкретных условий соединения в данный момент, например, присутствия и уровня различных помех. При плохом прохождении сигнала соединение устанавливается на гораздо меньшей скорости, чем позволяют модемы. Современные протоколы устроены так, что модемы могут изменять скорость соединения прямо в его процессе передачи данных. Например, если количество помех внезапно возросло, модемы могут понизить скорость соединения, а если помехи исчезли, снова поднять её.
