... А связь у меня никогда не обры%^NO CARRIER, или немного о модемах

Спецвыпуск Xakep, номер #012, стр. 012-098-1


MOOF (moof@real.xakep.ru; http://moof.ru)

Вот несколько ссылок с более подробным описанием модемов:

http://ixbt.com/communication.shtml

http://www.usrsupport.ru/

http://www.usrmodem.ru/

http://www.inpro.ru/

http://www.zyxel.ru/

Dialing

Я уверен, что ты знаешь, что такое модем. Давай немного освежим твои знания. Слово "модем" на самом деле было составлено из двух слов: МОДулятор и ДЕМодулятор. Объясняю на пальцах. Если ты хоть раз в жизни пользовался звуковыми редакторами, ну или хотя бы видел в кино как бравые американские копы обрабатывают голос плохих парней на компьютере, то представляешь, как выглядит то, что передается по телефону, когда мы разговариваем. Это такие ребристые, волнистые, угловатые линии :). Человек их легко распознает, и, как ты смог заметить, часто этим пользуется для общения с себе подобными. В отличие от биологического человека, компьютер - просто железка, и ему не дано (вероятно только на данный момент) разобраться во всем разнообразии звуков, издаваемых человеком. Да, компьютер можно научить синтезировать голос, но разобрать человеческую речь ему пока не под силу. Это потому, что в силу своей природы компьютер - вещь простая, и работает всего с двумя состояниями: «включено» и «выключено» (0 и 1). После того, как мы скомандовали компьютеру позвонить куда-нибудь, он просит об этом момед. Модем является как бы отдельным органом компьютера. Он снимает трубку, набирает номер, и привлекает к работе модулятор. Модулятор - это такая штука, которая позволяет переводить 0 и 1 в аналоговый сигнал (что-то вроде человеческого голоса), который легко можно передавать по обычной телефонной линии. Говоря языком школьного учебника физики, «изменяя во времени частоту, амплитуду и фазу, можно передавать цифровой сигнал в виде аналогового». Наверняка ты слышал, как "свистит" модем - так вот, он кодирует 0 и 1, с которыми работает компьютер. После того, как сигнал закодирован, его можно передавать по телефонной линии, на другой стороне которой должен быть установлен другой модем. Конечно, ты можешь попросить своего друга посвистеть в телефонную трубку вместо модема. Может быть, ему даже удастся установить соединение со скоростью 300 бит/с :)).

По ту сторону луны

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

Ring

Скорость. Можно измерить количество модуляций в секунду (зачем это нам? :)) - Боды. Скорость в бодах показывает, с какой частотой модем может переключаться с одного аналогового сигнала на другой. Это не очень интересно. Гораздо интереснее – узнать, какое количество битов (один бит - это тот самый 0 или 1, понятный компьютеру) модем передает в секунду - BPS (Bits Per Second). Следовательно, чтобы два модема могли друг с другом общаться, они оба должны уметь передавать одинаковое количество BPS. Иначе, если первый модем будет работать быстрее второго, второй модем не будет успевать за первым, и карнавала не будет. При этом, за одну модуляцию модем может передать один бит, а может - сразу несколько (или даже меньше одного =)). Но для простого чайника мерить скорость в BPS слишком напряжно (ну какой чайник знает, что такое бит? :)), поэтому производители софта договорились использовать термин "символ" (character). И соответственно скорость передаваемой по модему информации решили измерять в символах в секунду, а проще - CPS (character per second). Зная скорость модема в BPS можно примерно вычислить CPS :). Если представим, что мы передаем уже заархивированные файлы (модемы тоже умеют сжимать данные, поэтому упростим работу и будем передавать архивы), то CPS будет равен: «95% от скорости в BPS разделить на 8». Например, если скорость модема - 36600 BPS, то он будет передавать примерно 4346 символов в секунду (это легко считается с помощью обычного виндовского калькулятора :)). В реальных условиях - когда на линиях помехи, и модему приходится передавать одну и туже информацию несколько раз - скорость падает. Но с другой стороны, скорость возрастает, когда информация сжимается. Из-за этого CPS может сильно меняться каждую секунду, поэтому измеряя CPS корректно брать некое среднее значение. Чем лучше линия - тем лучше CPS.

Содержание  Вперед на стр. 012-098-2