Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
modem.pdf
Скачиваний:
27
Добавлен:
17.05.2015
Размер:
3.06 Mб
Скачать

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

Если программа поддерживает работу с Fossil драйвером, то обычно она сама ищет его в памяти и устанавливает с ним связь. Но иногда нужно сначала настроить программу на работу через Fossil драйвер.

Протоколы передачи файлов

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

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

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

(восстановление после обрыва, crash recovery).

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

Если в модеме реализован аппаратный протокол коррекции ошибок, то протокол передачи файлов работает «поверх» него, лишний раз проверяя и перепроверяя посылаемые данные. Ничего плохого в этом, конечно, нет, но такая двойная страховка

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

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

Xmodem. Самый старый из протоколов, разработанный еще в конце 70 х годов. Использует сравнительно неболь шие блоки (128 байт) и простой метод вычисления контрольной суммы. Имя файла не передается, восстановления после обрыва нет. Тем не менее этот протокол приобрел большую популярность и до сих пор является одним из самых распространенных. Эффективность протокола Xmodem довольно низка, особенно по сегодняшним стандартам.

Xmodem:CRC. Разновидность Xmodem с более сложным алгоритмом вычисления контрольной суммы.

Xmodem:lK. Разновидность Xmodem с размером блока 1 Кб.

Kermit. Разработан в начале 80 х годов. Передает все атрибуты файла (имя, дату и размер), способен посылать несколько файлов в одном пакете. Сжимает данные. Коррекция ошибок отличается большей надежностью, чем у Xmodem. Тем не менее из за малого размера блоков и большого количества служебной информации эффек тивность этого протокола крайне низка.

Ymodem. Разработан в 1981 г. Подобно Kermit, передает атрибуты файлов и несколько файлов в одном пакете. Размер блока — 1 Кб, но из за того, что протокол не спо собен менять эту величину во время передачи, он (как и Xmodem lK) отличается низкой надежностью на шумных линиях.

Zmodem. Созданный в 1986 г., Zmodem — первый из по* токовых (streaming) протоколов. Это означает, что он по сылает блоки данных с контрольными суммами без оста новок, единым потоком. Только после передачи всего

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

Ymodem:G. Этот протокол — особый. Он вообще не забо тится о правильности передачи, посылая данные сплош ным потоком безо всяких контрольных сумм. Поэтому он очень быстрый, но применять его можно только на лини ях, абсолютно свободных от помех (один лишь протокол коррекции типа V.42, вообще говоря, не дает такой защи щенности).

HS/Link. Обладает всеми достоинствами Zmodem, но яв ляется двунаправленным (bidirectional), то есть позволяет сторонам обмениваться файлами — посылать их в обе стороны одновременно.

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

Jmodem. Этот протокол использует сжатие данных, а так же гибкое изменение размера блока в зависимости от уровня помех — если ошибок много, данные передаются меньшими порциями, и наоборот (при отсутствии ошибок размер блока может достигать 8 Кб).

BiModem. Быстрый двунаправленный протокол с возоб новлением после обрыва и гибким изменением размера блоков (в пределах от 16 байт до 16 Кб). Кроме того, за счет двунаправленности BiModem позволяет заказывать файлы, которые вы хотите переслать, прямо во время передачи. К сожалению, BiModem плохо работает на шумных линиях.

Набор протоколов, которыми вы можете пользоваться, зави сит от вашей коммуникационной программы и от того, с кем вы

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

Какой же протокол выбрать? Xmodem и Kermit сейчас уже явно устарели, и к ним стоит прибегать лишь в крайнем случае — если нет другого выбора. Для современных скоростных модемов с коррекцией ошибок эффективнее всего потоковые протоколы, из которых самым популярным является Zmodem. На хороших ли ниях можно также пользоваться двунаправленным протоколом BiModem.

Эмуляция терминала

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

Конечно, некоторый интеллект терминалу все же необходим

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

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

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

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

Заключение

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]