Назад в раздел
ВВЕДЕНИЕ В ТЕЛЕКОММУНИКАЦИИ
ВВЕДЕНИЕ В ТЕЛЕКОММУНИКАЦИИ
В дальнейшем речь будет идти о коммуникации между двумя
компьютерами (необязательно персональными) по коммутируемым телефонным
каналам общего пользования -- только такие коммуникации доступны
любителям (за исключением пакетной радиосвязи, но об этом далее).
Для коммуникации между двумя компьютерами по коммутируемым
каналам необходимы (кроме, разумеется самих компьютеров)
- аппаратно-совместимые модемы
- коммуникационное программное обеспечение, использующее
совместимые методы обмена информацией;
КАКИЕ БЫВАЮТ МОДЕМЫ.
Сначала о модемах -- на каждом углу они у нас пока не продаются,
к тому же не каждый модем можно использовать. Существующее
программное обеспечение (целые горы КАЧЕСТВЕННОГО программного
обеспечение - своеобразный феномен для SHAREWARE, который я еще опишу)
ориентированы на использование так называемых Хейз-совместимых модемов
(Hayes-compatible modems) использующих набор AT-команд, совместимых с
Hayes Smartmodem - изделие, ставшее стандартом для низкоскоростных
модемов. Кроме набора команд, модем должен соответствовать
какому-либо стандарту передачи информации по телефонным сетям
(рекомендациям МККТТ - международного консультативного комитета по
телефонии и телеграфии) :
- 300 бод CCITT V.21 или Bell 103
- 1200 бод CCITT V.22 или Bell 212A
- 2400 бод CCITT V.22bis
(бод - единица скорости передачи информации, бит за секунду)
Модемы разных производителей, соответствующие этим стандартам,
могут свободно обмениваться информацией между собой.
Более редко встречаются модемы стандартов V.26bis (1200/2400 бод)
и V.23 (600/1200 бод).
Несмотря на существование подобия стандарта (CCITT V.32) для
модемов со скоростями выше 2400 бод, совместимость между модемами
разных производителей практически отсутствует. Существуют несколько
распространенных модемов крупных производителей, работающих на
скоростях 9600 бод и выше (Telebit TrailBlazer, US Robotics HST) между
которыми идет конкурентная борьба. Модемы US Robotics HST 19200
позволяют передавать информацию по советским телефонным линиям со
скоростью около 1 Кбайта в секунду (для сравнения - скорость
стандартного модема 1200 бод соответствует максимально 0.1 килобайта в
секунду). Кроме того, большинство высокоскоростных модемов совместимы
с менее быстрыми стандартами (1200, 2400 бод и др.); однако при цене
таких модемов около 1000$ U.S. они остаются совершенно недоступными
для советских пользователей.
Примечание. Для операторов BBS - любительских систем обмена
информацией - американские производители модемов делают
скидку более чем на 50%.
Еще одной возможностью повышения скорости и надежности обмена
информацией являются т.н. MNP модемы -- модемы с аппаратным сжатием и
коррекцией информации. Большинство модемов, работающих со скоростью
2400 бод являются MNP модемами. Так как протоколы коррекции ошибок в
MNP модемах реализованы аппаратно, скорость обмена (учтем также сжатие
-- для текстовых данных это немало) заметно возрастает -- в некоторых
случаях в 2 раза!
Другими характеристиками модемов является способы подключения к
компьютеру -- внутренний модем, вставляемый в разъем на шине PC или
внешний, подключаемый к компьютеру через коммуникационный порт RS232c
(мне кажется, что первые более предпочтительны - не используют
возможно необходимый для других целей коммуникационный порт, не
требуют подключения к сети и т.д.) -- и способ подключения модема к
телефонной сети -- контактный или бесконтактный (присоединяемые с
помощью резиновых наконечников к телефонной трубке микрофон и телефон
-- практически не используется).
Стоимость модемов колеблется от 30$ (простейший внутренний модем
на 1200 бод) до 200$ (модем на 2400 бод с MNP, модем-факс) и даже до
1000$ (U.S. Robotics HST 19200).
Для связи между PC обычно используются следующие режимы работы
модема и коммуникационного порта (если он есть) : 1200 (2400) бод, 8
бит данных, без контроля по четности, один стоп-бит. (те, кого
интересуют подробности данной спецификации, могут обратиться к
описанию интерфейса RS232c; для пользования модемом нет необходимости
разбираться до мелочей в этих параметрах; достаточно того, чтобы модем
компьютера с которым Вы связываетесь был настроен так же, как Ваш).
КОММУНИКАЦИОННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
ПРОТОКОЛЫ ОБМЕНА ИНФОРМАЦИЕЙ.
BBS И ЭЛЕКТРОННАЯ ПОЧТА.
Существует несколько функций, выполняемых коммуникационным
программным обеспечением; в соответствии с этими функциями его можно
разделить на
- терминальные программы (Telix, Procomm Plus, MTE и др.)
- программы, реализующие протоколы передачи данных (часто
бывают встроены в терминальные программы)
- программы поддержки коммуникаций между пользователями --
почтовые системы, BBS и так далее
Кратко рассмотрим каждый тип.
Терминальные программы предназначены для эмуляции терминалов и
общей поддержки коммуникаций. Они позволяют пользователям обмениваться
текстовыми сообщениями в некотором стандартном формате -- обычно
используется стандарт ANSI или стандарт обмена информацией с
определенным терминалом. Это позволяет получать одинаковые результаты
на компьютерах разных типов. Терминальные программы также обычно
хранят список номеров телефонов, с которыми возможно соединение (с
этим связано необычное использование модемов и этих программ как
телефонных книжек с автоматическим набором номера) и позволяют
вызывать эти номера, протоколировать обмен информацией, обмениваться
файлами с помощью разнообразных протоколов обмена информацией. Я хотел
бы отметить несколько из них :
- PROCOMM PLUS v.1.1b (C) 1988 Datastorm Technologies
Универсальная терминальная программа с удобным интерфейсом,
многочисленными протоколами обмена файлами, хорошими
возможностями протоколирования. Имеет командный язык для
написания пакетных программ.
- TELIX v.3.12 (C) 1989 Exis Inc.
Аналогична PROCOMM. Имеет встроенный протокол обмена файлами
ZMODEM. Имеет мощный C-подобный компилируемый командный язык!
- MNP Terminal Emulator v.2.10f (C) 1989 MagicSoft Inc.
Аналогична PROCOMM, возможно даже несколько проще. Упомянута
исключительно из-за возможности эмуляции MNP-модемов. Для
пользователя это означает отсутствие "мусора" на экране при
соединениях по линиям любого качества (помехи приводят к
замедлению обмена информацией; протоколы обмена файлами
(ZMODEM) на зашумленных линиях работают иногда даже хуже,
чем без эмуляции MNP из-за коллизий между коррекцией данных
MNP и ZMODEMа. В целом программа ОЧЕНЬ полезна.
Существует огромное количество не описанных мной терминальных
программ (BitCom, ProComm, ComBase, PC Talk и др.) Я описал лучшие на
мой взгляд, известные на сегодняшний день терминальные программы.
Словосочетание "протокол передачи данных" вызывает у многих
мистический ужас. Ничего страшного в нем нет - это набор правил,
которых должны придерживаться передающая и принимающая стороны для
обмена данными. Примером простейшего протокола обмена информацией
может служить обмен сообщениями и текстовыми файлами между двумя ПЭВМ
без использования средств обнаружения и коррекции ошибок
(ASCII-протокол). Этот протокол может использоваться в тех случаях,
когда ошибки в паре байт не приведут к серьезным последствиям (вы
сумеете понять сообщение даже если будет изменена половина
информации!). Однако при передаче важной информации (исполняемого кода
программ и т.д.) изменение в одном бите может сыграть роковую роль.
Для надежного обмена файлами создано и создается много протоколов.
Рассмотрим подробнее простейший из таких протоколов - XMODEM.
XMODEM был создан в 1977 году Уордом Кристенсеном (Word
Christensen) для непосредственной передачи файлов между двумя микро-ЭВМ
с ОС CP/M (причиной была несовместимость дискет). В дальнейшем
программа приобрела популярность и будучи Public Domain мгновенно
стала стандартом передачи данных между микро-ЭВМ (даже сейчас любая
коммуникационная программа реализует этот протокол). В общих чертах
XMODEM работает следующим образом:
1. Принимающая ЭВМ посылает символ NAK (ASCII 021 dec.)
2. Передающая ЭВМ посылает блок информации (см.ниже)
3. Принимающая ЭВМ вычисляет контрольную сумму блока,
сравнивает ее с переданной и посылает в зависимости
от результата символы ACK (ASCII 06 dec.) если сумма
верна и NAK в противном случае.
4. Передающая ЭВМ в зависимости от посланного на шаге 3
символа либо переходит к шагу 2, либо повторяет пересылку
предыдущего блока.
Формат блока информации, используемого XMODEMом содержит номер
блока (пакета), 128 байт данных и 2-х байтную контрольную сумму данных
пользователя. Разумеется, реальный протокол имеет дополнительные
свойства (например, специфицированы временные задержки, допустимые при
передаче информации и т.д.), однако данный пример в общих чертах
иллюстрирует работу всех протоколов передачи данных.
Другим широко известным протоколом является KERMIT. Этот протокол
уникален количеством типов ЭВМ на которых он реализован. Существуют
реализации для PDP/11, VAX (на Фортране!), IBM PC, ПЭВМ на основе
Intel8080 и т.д. Распространены переносимые исходные тексты KERMITа
(C,FORTRAN) для ОС UNIX, RSX11M. Преимущественно этот протокол и
используется для обмена информацией между различными типами машин.
Для передачи данных по коммутируемым телефонным каналам
потребовалась большая надежность при передаче данных и меньшие потери
времени, чем те, которые мог обеспечит XMODEM.
Так были созданы другие, более сложные протоколы передачи данных:
- MODEM7 (передается имя файла -- в XMODEM необходимо вручную
указывать имя на принимающей стороне)
- XMODEM/1024 (увеличен размер блока до 1024 байт)
- XMODEM/CRC (вместо 16-битной контрольной суммы применена CRC-16)
- TELINK (CRC-16, передается также имя файла, размер, дата, время.
возможна передача нескольких файлов в одной операции)
- YMODEM (CRC-16, передача имени, размера, даты, времени, в
зависимости от качества линии динамически используют-
ся блоки размером 1024 и 128 байт; возможна передача
нескольких файлов; автор Чак Форсберг
(Chuck Forsberg, Omen Technology Inc.))
- XMODEM-g, (отличаются от соответствующих протоколов отсутствием
YMODEM-g возможности повторной пересылки информации -- передаю-
щая сторона не ожидает подтверждения; используются для
передачи информации по линиям, свободным от ошибок --
например при использовании MNP модемов)
- SEALINK (CRC-16, передача имени и др., динамическое изменение
размера блока (окна) в зависимости от качества линии
разработан Systems Enhancement Assoсiates)
- и, наконец, его Величество ZMODEM !!!
-- повышенная надежность передачи файлов - использована CRC-32
-- динамически меняющийся размер блока (32,64,128,256,512,1024...)
адаптирующийся к качеству линии - чем меньше ошибок, тем больше
"окно"
-- ZMODEM в отличие от других протоколов, защищает управляющую
информацию - команды протокола, имя, размер и дату/время
создания файлов и т.д.
-- ZMODEM умеет сжимать файлы при передаче
-- если передача файла не завершена (например, при разрыве
соединения) ZMODEM позволяет продолжить передачу с прерванного
места
-- ZMODEM стал практическим стандартом для передачи файлов не
только между IBM PC, но и между огромным количеством компьютеров
с ОС UNIX
-- версия ZMODEM для IBM PC (DSZ by Chuck Forsberg, Omen Technology,
Inc.)обладает многими другими достоинствами (возможность исполь-
зования в многозадачных средах, автоматический старт получения
файлов и т.д.)
Большинство коммуникационных программ для IBM PC реализуют все
или почти все описанные протоколы. Наиболее часто используются ZMODEM,
SEALINK и YMODEM (остальные протоколы (за исключением KERMIT) уже
устарели -- по крайней мере морально).
|
|
|
|