Модем может работать с двумя фиксированными скоростями. Модемы. Как устроен и работает современный модем

Ежедневно по корпоративным сетям передаются миллиарды пакетов данных. Некоторые из них опасны; авторы таких пакетов приняли специальные меры, чтобы обойти брандмауэры и пробиться через линии обороны по периметру сетей, нарушая работу всех встреченных на пути систем. Разрушительное действие таких проведенных с использованием пакетов атак, как Code Red, Nimda, SQL Slammer и MSBlaster, хорошо известно. Все эти вредоносные программы используют в своих целях доверенные протоколы (например, HTTP) или сетевой трафик систем Microsoft. Такие протоколы нельзя просто взять и блокировать, поэтому администраторы обычно стараются как можно быстрее зафиксировать опасный трафик с помощью систем обнаружения несанкционированного доступа, Network Intrusion Detection System (NIDS), чтобы вовремя среагировать на угрозу.

В продаже имеется несколько NIDS, разнообразных по возможностям и стоимости. В целом все они работают успешно. Все коммерческие пакеты, с которыми мне пришлось столкнуться, произвели отличное впечатление. Но что делать организациям со скромным бюджетом, если обнаружение несанкционированного доступа не относится к числу приоритетных задач? На такой случай существует Snort - мощный бесплатный пакет NIDS. В отличие от многих пакетов с открытым кодом, он совместим с Windows.

Знакомство с Snort

Первый разработчик Snort Мартин Реш предоставил программу открытому сообществу на условиях лицензии GNU General Public License (GPL). История этого пакета началась в 1998 г., и с тех пор он не раз доказал свою надежность. Благодаря вкладу членов открытого сообщества и сетевых администраторов во всем мире Snort превратился в очень мощный продукт. Текущая версия обеспечивает анализ сетевого трафика в реальном времени и регистрацию IP-трафика со скоростями Fast Ethernet и Gigabit Ethernet.

Майкл Дэвис перенес Snort 1.7 на платформу Win32, сделав его доступным для сообщества Windows. Затем Крис Рейд взял на себя задачу компиляции новых версий Snort в готовые исполняемые файлы, которые можно без труда развернуть в среде Windows.

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

Требования Snort

Для работы Snort необходим компьютер Windows, оснащенный по крайней мере одним сетевым адаптером. Лучше иметь два сетевых адаптера, один из которых подключен к контролируемой сети, а другой - к производственной сети; последний пересылает отчеты. Snort совместим не только с Windows 2000 Server и более поздними версиями, но и с Windows XP Professional Edition, XP Home Edition и Windows 2000 Professional. Лицензии для сервера не требуется. Ежедневно я подключаю ноутбук XP Pro ко многим сетям клиентов и обычно запускаю Snort в качестве службы. Таким образом, программа работает в фоновом режиме, обнаруживая любые атаки на мою систему, исходящие из данной клиентской сети. Я использую Snort как переносной сенсор - программа играет роль NIDS для любого порта, к которому подключается ноутбук.

В небольших сетях развернуть Snort можно на сервере начального уровня. Для обнаружения попыток несанкционированного доступа выделенная машина большой мощности не нужна. Например, мне приходилось слышать об узлах Snort на платформе FreeBSD с процессорами на 1 ГГц и оперативной памятью объемом 1 Гбайт, которые успешно обслуживали сети с 15 000 пользователей и несколькими соединениями T-3 каналов WAN. Благодаря эффективности исходного текста Snort для работы программы очень мощная машина не требуется.

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

Однако если пользователи подключаются к сети через соединение VPN (по Internet или беспроводной линии связи), имеет смысл разместить NIDS еще дальше за брандмауэром, например за VPN-сервером или концентратором, где пакеты расшифровываются на выходе из туннеля VPN. В противном случае NIDS не сможет противостоять вредоносным программам, встроенным в трафик VPN, так как анализируемые пакеты будут зашифрованы. То же относится и к зашифрованному SMTP-трафику, зашифрованным.zip-файлам, вложенным в сообщения электронной почты, и зашифрованным данным других типов.

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

Теперь, познакомившись с Snort и зная требования к его размещению, можно установить и протестировать NIDS. Более подробную информацию о Snort можно получить из документов, ссылки на которые приведены во врезке «Ресурсы в Web». Данный процесс состоит из семи этапов:

  1. Установка WinPcap
  2. Установка Snort
  3. Тестирование Snort
  4. Настройка Snort
  5. Задание правил
  6. Настройка предупреждений и журналов
  7. Запуск в качестве службы

Этап 1. Установка WinPcap

В сущности, Snort представляет собой сетевой анализатор, работающий в режиме приема всех пакетов (promiscuous-mode), поэтому ему необходима поддержка на уровне драйверов. Эту поддержку обеспечивает WinPcap. Лорис Диджиоанни создал WinPcap, перенеся в среду Windows широко распространенный среди пользователей Unix драйвер перехвата пакетов libpcap. В состав WinPcap входят фильтр пакетов на уровне ядра, низкоуровневая DLL (packet.dll) и высокоуровневая системно-независимая библиотека (wpcap.dll, на базе libpcap 0.6.2).

WinPcap можно загрузить по адресу http://winpcap.polito.it . Драйвер совместим с Windows Server 2003, XP, Windows 2000, Windows NT, Windows Me и Windows 9x. WinPcap также поддерживает открытый анализатор пакетов Ethereal, который можно получить по адресу . С помощью Ethereal можно убедиться в корректности установки Snort.

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

Этап 2. Установка Snort

Следующий шаг - установка Snort. Новейшую версию можно найти на Web-узлах CodeCraft Consultants (http://www.codecraftconsultants.com/snort.aspx ) или Snort.org (http://www.snort.org ). Я рекомендую загрузить Snort из CodeCraft Consultants, так как с этого сайта можно получить саморазворачивающийся исполняемый файл. Программа даже проводит пользователя по элементарным операциям установки Snort на компьютере. При подготовке данной статьи использовалась последняя версия Snort 2.1.1, сборка 18. С тех пор были выпущены обновленные версии.

При запуске программы установки в первом диалоговом окне необходимо выбрать режим настройки базы данных для хранения результатов. Если используется MySQL или ODBC-совместимая база данных, можно согласиться на режим, выбираемый по умолчанию (экран 1). Но если предстоит хранить протоколы в базе данных Microsoft SQL Server или Oracle, то необходимо выбрать соответствующий режим и убедиться, что на машине имеется нужная клиентская программа. При подготовке данной статьи использовался режим по умолчанию.

На следующем шаге следует определить компоненты Snort, которые требуется установить. Стандартный набор (экран 2) вполне приемлем, поэтому я рекомендую принять его и щелкнуть на кнопке Next. В диалоговом окне Choose Install Location необходимо указать каталог, в котором будет развернут Snort. Введя имя каталога, следует щелкнуть на кнопке Next, чтобы завершить процесс установки.

Экран 2. Выбор компонентов установки

Этап 3. Тестирование установки Snort

Завершив процесс установки, Snort требуется протестировать. По умолчанию исполняемому файлу Snort необходимо сообщить два адреса: куда записывать журналы и где найти файл конфигурации (snort.conf). Эту информацию предоставляет пользователь при запуске Snort из командной строки с помощью ключей -l и -c соответственно. Например, команда

Snort -l F:snortlog -c F:snortetcsnort.conf -A console

указывает программе, что журналы следует записывать в каталог F:snortlog, а snort.conf находится в каталоге F:snortetc. Ключ -A задает способ передачи генерируемых программой предупреждений. В данном примере предупреждения выводятся на экран консоли, и администратор может убедиться, что Snort работает корректно. Обратите внимание, что в статье команда напечатана на нескольких строках, но в командном окне ее необходимо вводить в одной строке. То же самое относится и к другим многострочным командам в данной статье. Многие ключи командной строки Snort чувствительны к регистру символов, поэтому вводить команды следует именно так, как они напечатаны.

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

Запустив Snort, можно проверить его чувствительность, направив в NIDS специально подготовленный трафик. Один из самых простых способов вызвать предупреждение об опасности - обратиться к командному интерпретатору (cmd.exe) на удаленной машине в рамках запроса HTTP URL (типичный прием «червей» Code Red и Nimda). Чтобы имитировать эту фазу нападения, следует обратиться к любому URL и добавить в конце запроса символы /cmd.exe. Например, в ответ на обращение к http://www.a-website-that-I-can-trust.com/cmd.exe Snort должен вывести предупреждение в командном окне, по виду напоминающее первые три предупреждения на экране 4 . Эти сообщения и записываются в журнал F:snortlog.

Целевые Web-узлы для тестирования следует выбирать с осторожностью. С технической точки зрения большинство администраторов Web-узлов будут рассматривать подобные действия как попытку взлома. Такая попытка не приведет к успеху (если только в конфигурации сервера не допущены серьезные ошибки), но я рекомендую проводить тестирование только с собственным сервером или доверенным сервером, администраторам которого известно о проведении испытаний.

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

Ping -l 32767 ip_address

где ip_address - IP-адрес целевого сервера или Snort-компьютера. Данная команда должна послать очень длинный пакет (точная длина - 32 Кбайт), что явно необычно для команды Ping. Snort должен обнаружить этот пакет, как видно на примере нижних восьми предупреждений на экране 4 .

Если предупреждения получены, можно приступать к настройке Snort для конкретных условий. В противном случае необходимо вернуться к процедуре установки и проверить, не был ли пропущен какой-нибудь этап.

Этап 4. Настройка Snort

Основные данные о конфигурации Snort хранятся в файле snort.conf, который по умолчанию располагается в каталоге %systemdrive%snortetc. Файл можно оставить в этой папке или переместить в другую, если указать программе путь в командной строке.

Детальное описание всех параметров, представленных в snort.conf, может заполнить весь номер журнала, так как Snort - удивительно мощная программа. Мы пока рассмотрим лишь основные ее параметры.

Чтобы отличить входящий трафик от исходящего, необходимо сообщить Snort узлы и IP-адреса сети предприятия. Для ввода этой информации в файле snort.conf должна быть задана переменная HOME_NET. Следует отыскать строку

Var HOME_NET any

и заменить ее диапазоном IP-адресов. Можно задать один диапазон, например

Var HOME_NET 192.168.0.1/24

или несколько диапазонов. Указывая несколько диапазонов, необходимо заключить набор диапазонов в квадратные скобки и отделить каждый диапазон запятой. Вводить пробелы между диапазонами IP-адресов нельзя. Например, строка

Var HOME_NET

указывает Snort, что подсети 10.0.1.0/24, 10.0.2.0/24 и 10.0.3.0/24 относятся к сети предприятия. По умолчанию Snort воспринимает все остальные адреса как внешние. Можно явно указать сети, которые следует считать внешними, задав переменную EXTERNAL_NET. В файле snort.config необходимо отыскать строку

Var EXTERNAL_NET any

и заменить ее IP-адресом сети, которую следует считать внешней. Однако, как правило, для начала лучше оставить переменную EXTERNAL_NET со значением any.

Потратив некоторое время, можно указать типы серверов, имеющиеся на предприятии, и их местоположение. Эта информация содержится в переменных DNS_SERVERS, SMTP_SERVERS, HTTP_SERVERS, SQL_SERVERS и TELNET_SERVERS в следующих строках файла snort.conf:

Var DNS_SERVERS $HOME_NET var SMTP_SERVERS $HOME_NET var HTTP_SERVERS $HOME_NET var SQL_SERVERS $HOME_NET var TELNET_SERVERS $HOME_NET var SNMP_SERVERS $HOME_NET

По умолчанию всем шести серверным переменным присвоено значение $HOME_NET; это означает, что Snort будет контролировать все типы нападений на все системы в диапазоне HOME_NET. Такая конфигурация вполне приемлема для небольшой сети, администраторы которой допускают некоторое число ложных предупреждений. Но для мониторинга интенсивного трафика желательно выполнить более тонкую настройку Snort для проверки только части сигнатур для определенных узлов. Не имеет смысла защищать Web-сервер, работающий только с Microsoft IIS, от атак с переполнением буфера SQL. Чтобы определить особый класс узлов, необходимо заменить $HOME_NET диапазоном IP-адресов целевых серверов в соответствии с форматом, использованным для переменной HOME_NET. Например, для переменной DNS_SERVERS вместо $HOME_NET следует подставить диапазон IP-адресов DNS-серверов.

Точность настройки можно повысить, если определить порты, используемые серверами для конкретных приложений. Например, если Web-серверы задействуют специальный порт 8080 для трафика HTTP вместо порта 80 (этот порт обычно применяется для Web-серверов и браузеров), то можно настроить Snort на отслеживание порта 8080, изменив переменную HTTP_PORTS. В snort.conf следует отыскать строку

Var HTTP_PORTS 80

и заменить ее строкой

Var HTTP_PORTS 8080

Точно так же можно изменить порты для Oracle (определяемые переменной ORACLE_PORTS) и других приложений. Как и переменная HTTP_PORTS, по умолчанию ORACLE_PORTS имеет значение 80. Если сервер использует вместо него порт 1521, то строка будет иметь вид

Var ORACLE_PORTS 1521

Таким образом, в файле snort.conf можно настроить много параметров. Следует просмотреть snort.conf, отыскать параметры, наиболее важные для конкретной среды, и соответствующим образом настроить их.

Этап 5. Задание правил

В одной из строк snort.conf встречается переменная RULE_PATH. Примерный вид этой строки:

Var RULE_PATH ../rules

Параметр../rules указывает, что правила (т. е. сигнатуры) можно найти в каталоге rules, который находится в структуре каталогов на одном уровне с двоичными файлами Snort. Поэтому, например, если установить Snort в типовой папке F:snort, двоичные файлы Snort находятся в F:snortin, а правила - в F:snort ules. При желании можно изменить переменную RULE_PATH, но вполне приемлем и вариант, выбираемый по умолчанию.

Правила - основа Snort. Они представляют собой последовательности байтов, сигнатуры нападений и данные других типов, при обнаружении которых генерируется предупреждение. Snort располагает более чем 1500 готовых сигнатур.

Как выглядит правило? Правило для cmd.exe, которое было нарушено при проведении теста Snort, имеет следующий вид: alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:»WEB-IIS cmd.exe access»; flow:to_server, established; content:»cmd.exe»; nocase; classtype:web-application-attack; sid:1002; rev:5;). Рассмотрим основные компоненты правила. Ссылка $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS указывает, что следует анализировать только трафик, поступающий в сеть извне (как определено переменной EXTERNAL_NET). Параметр content: задает поиск последовательности символов cmd.exe в потоке данных. Обнаружив такую последовательность, Snort генерирует предупреждение, задаваемое параметром msg:.

Как видно на примере cmd.exe, правила в основном просты. Можно составить собственные правила для трафика любых типов. Например, если требуется обнаружить несанкционированные попытки удаленного доступа к каталогу на машине через командный интерпретатор, то можно провести поиск строки volume in drive или volume serial number в портах, где они бывают редко, таких как порты для передачи исходящего трафика. Благодаря гибкому подходу к назначению правил, администраторам предоставляются широкие возможности конфигурирования Snort.

1500 правил Snort хранятся в различных файлах в соответствии с типами анализируемых данных. Например, правило для cmd.exe находится в файле web-iis.rules. Если на предприятии IIS не применяется, то программе не нужно обнаруживать атаки IIS. Файл web-iis.rules легко удалить из конфигурации целиком, отыскав и обозначив как комментарий строку

Include $RULE_PATH/web-iis.rules

в файле snort.conf. Чтобы сделать строку комментарием, нужно поставить перед ней символ (#):

# include $RULE_PATH/web-iis.rules

По умолчанию файлы правил некоторых типов (например, icmp-info.rules, chat.rules) представлены комментариями в snort.conf. Используемая по умолчанию конфигурация правил в snort.conf вполне удачна. После активизации блокированных правил программа, как правило, генерирует много лишних предупреждений.

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

При появлении новых источников угрозы файл правил необходимо обновить. Лучший ресурс для новых правил - Web-узел Snort.org. На этом Web-узле нет службы автоматического обновления, поэтому администратору придется регулярно обращаться к нему за обновлениями при возникновении очередной опасности.

Этап 6. Настройка предупреждений и журналов

Как уже отмечалось, Snort обеспечивает запись информации в MySQL, SQL Server, Oracle и ODBC-совместимых базах данных. Достаточно выбрать подходящий тип базы данных в процессе установки Snort. Чтобы чрезмерно не увеличивать объем статьи, рассмотрим стандартные режимы протоколирования с использованием текстового файла и функции записи сообщений в журнал событий Windows.

При запуске NIDS с помощью команды Snort ключ консоли -A обеспечивает вывод предупреждений на экран. Чтобы пересылать сообщения в текстовый файл, следует заменить этот ключ на -A fast или -A full, в зависимости от предпочтительного режима протоколирования. Параметр full выводит подробное описание угрозы в нескольких строках текстового файла с именем alerts.ids каталоге, путь к которому указывает ключ -l. Такой тип протоколирования сообщает исчерпывающие детали, но в них трудно разобраться, если в сети отмечается много событий. В таких «шумных» сетях рекомендуется использовать режим fast для внесения в alerts.ids однострочных записей, содержащих основные характеристики подозрительного трафика. На мой взгляд, работать с текстовым файлом в режиме fast проще, чем в режиме full.

Текущая версия Snort обеспечивает протоколирование в журнале событий Windows. Многие организации уже приобрели инструменты централизованного мониторинга событий, протоколирования и сбора данных, и данная функция будет отличным дополнением для среды Windows.

Для записи предупреждений в журнал событий Application системы, на которой работает Snort, вместо ключа -A используется ключ -E (параметры не обязательны). На экране 5 показано, как выглядит событие Snort (в данном случае попытка обращения к cmd.exe), опубликованное в журнале Application. Событие Windows обеспечивает такую же детальную информацию, как экран консоли.

NIDS бесполезен, если администратор заглядывает в журналы событий (или текстовые журналы) раз в неделю. Если что-то случается в сети, администратор должен узнать об этом незамедлительно. Централизованная система мониторинга и обработки событий может посылать сообщения по электронной почте, на пейджер и другие устройства связи. Но если такой системы нет, это не повод для беспокойства. Компания NETIKUS.NET предлагает бесплатный пакет EventSentry Light, с помощью которого можно посылать предупреждения.

EventSentry Light - ознакомительная версия EventSentry, ее можно загрузить по адресу http://www.netikus.net/products_downloads.html . С помощью EventSentry Light можно настроить систему на мониторинг журналов событий и автоматическую рассылку по электронной почте подробных сообщений о любых событиях Snort, записанных в журнал. На экране 6 показано почтовое сообщение о попытках нападения на cmd.exe. Я получил это сообщение от EventSentry Light спустя несколько секунд после проведения атаки.

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

Этап 7. Запуск в качестве службы

Завершив все приготовления, можно задействовать Snort в качестве службы, вместо того чтобы регистрироваться на настольном компьютере всякий раз, когда требуется запустить программу. Если запустить Snort с параметрами /SERVICE и /INSTALL (наряду с другими параметрами командной строки), то Snort настраивается на работу в качестве службы Windows и автоматически запускается вместе с Windows без вмешательства пользователя.

Следующий уровень: модули расширения

Snort представляет собой полнофункциональное приложение. Однако в некоторых случаях программа нуждается в расширении. Например, если в разных участках сети развернуто несколько NIDS, то управлять Snort удобно из графического интерфейса. Такие возможности реализованы в модулях расширения IDScenter фирмы Engage Security и IDS Policy Manager компании Activeworx. Иногда бывает необходимо проанализировать информацию, которая содержится в сообщениях. Просмотреть и проанализировать сохраненные данные можно с помощью модуля Analysis Console for Intrusion Databases (ACID), разработанного в Университете Карнеги - Меллона.

Надежная защита

Snort - полнофункциональная программа, которая не нанесет ущерба бюджету компании. Объединив Snort с мощным приложением мониторинга событий, таким как EventSentry Light, можно своевременно предупреждать атаки против сети.

5 мин на чтение

Содержание

Snort является сетевой системой обнаружения (IDS) и предотвращения вторжений (IPS) с открытым исходным кодом, способная выполнять регистрацию пакетов и в реальном времени осуществлять анализ трафика в IP-сетях, комбинируя возможности сопоставления по сигнатурам, средства для инспекции протоколов и механизмы обнаружения аномалий. Snort был создан Мартином Решем в 1998-м году и очень быстро завоевал популярность, как бесплатная система обнаружения вторжений, позволяющая самостоятельно и без особых усилий писать правила для обнаружения атак. По сути язык описания сигнатур Snort стал стандартом де-факто для многих систем обнаружения вторжений, которые стали его использовать в своих движках.

Структура и функционирование Snort

Систему обнаружения вторжений Snort по способу мониторинга системы можно отнести как к узловой, так и к сетевой системе в зависимости от параметров настройки. Обычно она защищает определённый сегмент локальной сети от внешних атак из интернета. Система Snort выполняет протоколирование, анализ, поиск по содержимому, а также широко используется для активного блокирования или пассивного обнаружения целого ряда нападений и зондирований. Snort способен выявлять:

  • Плохой трафик
  • Использование эксплойтов (выявление Shellcode)
  • Сканирование системы (порты, ОС, пользователи и т.д.)
  • Атаки на такие службы как Telnet, FTP, DNS, и т.д.
  • Атаки DoS/DDoS
  • Атаки связанные с Web серверами (cgi, php, frontpage, iss и т.д.)
  • Атаки на базы данных SQL, Oracle и т.д.
  • Атаки по протоколам SNMP, NetBios, ICMP
  • Атаки на SMTP, imap, pop2, pop3
  • Различные Backdoors
  • Web-фильтры (чаще используетя для блокировки порно контента)
  • Вирусы

Вы можете настроить Snort для работы в нескольких различных режимах - режим анализа пакетов, режим журналирования пакетов, режим обнаружения сетевых вторжений и встраиваемым (inline) режим. Snort может быть сконфигурирован для работы в этих режимах:

Режиме анализа пакетов (Sniffer mode)

Snort просто читает пакеты приходящие из сети и выводит их на экран. В этом режиме Snort действует просто как анализатор, показывая нефильтрованное содержимое среды передачи. Конечно, если вам требуется только анализатор, можно применить Tcpdump или Ethereal, однако данный режим позволяет убедиться, что все работает правильно и Snort видит пакеты.

Опции Snort:

Режиме журналирования (протоколирования) пакетов (Packet Logger mode)

Позволяет записывать пакеты на диск для последующего анализа. Это полезно при проведении анализа за определенный интервал времени или проверки изменений в настройках и политике безопасности. Чтобы запустить Snort в режиме журналирования, воспользуйтесь той же командой, что и для режима анализа (-v, -d и/или -e), но с добавлением ключа -l каталог_журналов, задающего маршрутное имя каталога журналов, в которые Snort будет записывать пакеты. Пример:

snort -vde -l /var/log/snort

Эта команда создаст файлы журналов в каталоге /var/log/snort.

Режиме обнаружения сетевых вторжений (Network Intrusion Detection System (NIDS) mode)

Наиболее сложный и конфигурируемый режим, который позволяет анализировать сетевой трафик и выполнять обнаружение вторжений на основе набора правил. В этом режиме Snort протоколирует подозрительные или требующие дополнительного внимания пакеты. Для перевода Snort в режим обнаружения вторжений достаточно добавить к приведенной выше инструкции ключ -c конфигурационный_файл, предписывающий использовать указанный конфигурационный файл для управления протоколированием пакетов. Конфигурационный файл определяет все настройки Snort, он очень важен. Snort поставляется с подразумеваемым конфигурационным файлом, но перед запуском в него целесообразно внести некоторые изменения, отражающие специфику вашей среды.

Встраиваемым режим (inline mode)

Режим работы совместно с файерволом iptables. Для того, чтобы запустить в этом режиме, необходимо добавить дополнительный ключ Q: ./snort -GDc ../etc/drop.conf -l /var/log/snort Перед запуском в этом режиме необходимо убедиться, что программа установлена с поддержкой данного режими. После этого следует настроить файервол для взаимодействия со Snort.

Архитектура Snort

Основу Snort составляет движок, состоящий из пяти модулей:

    Снифер пакетов: данный модуль отвечает за захват передаваемых по сети данных для последующей их передаче на декодер. Делает он это с помощью библиотеки DAQ (Data AcQuisition). Работать данный снифер может “в разрыв” (inline), в пассивном режиме (passive) или читать сетевые данные из заранее подготовленного файла.

    Декодер пакетов: данный модуль занимается разбором заголовков захваченных пакетов, их разбором, поиском аномалий и отклонений от RFC, анализом TCP-флагов, исключением отдельных протоколов из дальнейшего анализа и другой аналогичной работой. Фокусируется данный декодер на стеке TCP/IP.

    Препроцессоры: если декодер разбирал трафик на 2-м и 3-м уровне эталонной модели, то препроцессоры предназначены для более детального анализа и нормализации протоколов на 3-м, 4-м и 7-м уровнях. Среди самых популярных препроцессоров можно назвать frag3 (работа с фрагментированным трафиком), stream5 (реконструкция TCP-потоков), http_inspect_ (нормализация HTTP-трафика), DCE/RPC2, sfPortscan (применяется для обнаружения сканирования портов) и различные декодеры для протоколов Telnet, FTP, SMTP, SIP, SSL, SSH, IMAP и т.п. Некоторые российские разработчики пишут свои препроцессоры (например, для промышленных протоколов) и добавляют в собственные системы обнаружения вторжений (IDS), построенные на базе Snort.

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

    Модуль вывода: по факту обнаружения атаки Snort может выдать (записать или отобразить) соответствующее сообщение в различных форматах - файл, syslog, ASCII, PCAP, Unified2 (двоичный формат для ускоренной и облегченный обработки).

Рассмотрим простое графическое представление прохождения данных через Snort:

Метки: , ,

Разделы:

Модем (МОдулятор-ДЕМодулятор) - устройство преобразования последо­вательных цифровых сигналов в аналоговые и наоборот. Организации по стан­дартизации используют общепринятые аббревиатуры АПД (DCE) для обозна­чения модема и ООД (DTE) для обозначения ЭВМ, терминала или любого другого устройства, подключенного к модему. Модем имеет два интерфейса (рис. 2.31): интерфейс между DCE и аналого­вой линией; многопроводный цифровой интерфейс между DCE и DTE.

Двухточечный канал. Простейшей сетью с использованием модемов, яв­ляется двухточечный канал, в котором два модема соединены («точка-точ­ка») одной линией связи (рис. 2.32). Дискретный канал соединяет DTE с DTE. Линия соединяет DCE с DCE. Дискретный канал состоит из линии и двух модемов (DCE). При скорости передачи до 20 кбит/с используют интерфейс V.24/V.28 (RS-232C), осуществляемый с помощью 25- или 9-контактного гнез­дового разъема. При скоростях передачи от 48 до 168 кбит/с необходимы широкополосные модемы, работающие с интерфейсом V.35. При скоростях до 20 кбит/с может быть использована любая из следующих аналоговых теле­фонных линий связи:

4-проводная 2-точечная выделенная линия; 4-проводная многоточечная выделенная линия; 2-проводная 2-точечная выделенная линия; 2-проводная 2-точечная коммутируемая линия (связь путем набора номе­ра через КТСОП); 4-проводная 2-точечная коммутируемая линия, организуемая путем ком­мутации двух отдельных двухпроводных соединений через КТСОП. Стандарты телефонных каналов как производные от стандартного канала КТСОП тональной частоты (ТЧ) представлены в табл. 2.10.

Режимы работы модемов. Асинхронный. Данный режим реализуется асинхронными модемами, такие модемы являются низкоскоростными и рабо­тают в режиме асинхронной стартстопной позначной передачи. Асинхронные модемы не генерируют сигналов синхронизации и могут работать с любой ско­ростью передачи в пределах установленного для них диапазона скоростей. Синхронный. В этом режиме данные передаются блоками, а модем гене­рирует сигналы синхронизации. Модемы, реализующие только синхронный ре­жим, называются синхронными модемами. Асинхронно-синхронный. Такой режим реализуется асинхронно-синхрон­ными модемами, которые могут осуществлять как синхронную, так и асинх­ронную передачу. Модем удаляет стартстопные биты перед передачей и вос­станавливает их после приема. Модемы этого типа генерируют сигналы синхронизации и имеют встроенный асинхронно-синхронный преобразователь. Асинхронно-синхронные и синхронные модемы работают только с фиксиро­ванными скоростями передачи. При выборе модема важное значение имеет тип связи, обеспечиваемый комбинацией модема с линией.

Любой модем, работающий с 4-проводной 2-точечной линией, использует одну пару для передачи, а вторую для приема и, следовательно, может работать в дуплексном режиме. Модемы, работающие с 4-проводной многоточечной линией работают только в полудуплексном ре­жиме. Модемы, имеющие только синхронный режим, работают на 4-провод­ной 2-точечной некоммутируемой линии, либо через КТСОП, при этом одно коммутируемое соединение обеспечивает полудуплексный режим, а двойное коммутируемое соединение - дуплексный режим. Асинхронно-синхронные модемы работают на 2-проводных линиях (либо выделенных, либо коммутируемых), и все они могут работать в дуплексном режиме.Совместимость модемов. Передачу данных по телефонным сетям опи­сывают рекомендации серии V Международного телекоммуникационного со­юза (Сектор технических стандартов) - ITU-T. Проверкой совместимости яв­ляется проверка номера серии V, указанного фирмой-изготовителем в спецификациях модема. Классификация рекомендаций серии V приведена на рис. 2.33.


Модем может работать в двух режимах: командном и передачи данных. Командный режим модема, как правило, устанавливается: при включении питания; при первоначальной инициализации модема; после неудачной попытки соединения с удаленным модемом; при прерывании с клавиатуры нажатием комбинации клавиш «положить труб­ку» (чаще всего); при выходе из режима передачи данных через ESCAPE-последовательностъ. В командном режиме весь поток данных, поступающий в модем через ин­терфейс V.24/V.28, воспринимается им как команда. Режим передачи данных (on-line) устанавливается после посылки модемом сообщения CONNECT в случаях: при удавшейся попытке установления связи с удаленным модемом; при выполнении модемом самотестирования. В режиме передачи данных поток данных, поступающий в модем из DTE транслируется с преобразованием в линию, а поток данных из линии трансли­руется с обратным преобразованием в интерфейс с DTE. Функциональные режимы модема. Модем всегда находится в одном из двух функциональных режимах (за исключением периодов, когда он переходит из одного режима в другой): командном (локальном) и в режиме асинхронного соединения (ON LINE). Схема переходов модема представлена на рис. 2.34. При включении питания модем инициализирует свои параметры в соответствии с конфигурацией, записанной в энергонезависимой памяти, и переходит в асин­хронный командный режим. Только в этом режиме модем воспринимает АТ- команды. По Z-команде модем восстанавливает свою рабочую конфигурацию


из энергонезависимой памяти и возвращается в командный режим, «^-коман­да восстанавливает конфигурацию по профайлу фирмы-изготовителя (установ­ка по умолчанию) и возвращается в командный режим. Модем «поднимает трубку» в режиме автоответа: а) при поступлении А-команды; б) автоматически при S1 = SO, когда счетчик поступивших звонков (вызо­вов) становится равным числу, установленному для ответа; в) при поступлении команды набора номера, когда строка вызова заканчи­вается R. Функции цепей обмена 103, 104, 109 V.24. Рассмотрим функции цепей обмена, связанные с передачей и приемом данных: 103 (2) TxD (передаваемые данные) к DCE; 104 (3) RxD (принимаемые данные) к DTE; 109 (8) CD (детектор принимаемого линейного сигнала) к DTE. Входной поток последовательных данных, поступающих в модем через цепь 103, преобразуется модулятором в модулированный аналоговый сигнал для вывода его в линию (рис. 2.35). На другом конце линии демодулятор удаленно­го модема принимает модулированный линейный сигнал и преобразует его в поток последовательных данных для вывода через цепь приема данных 104.


При обнаружении модулированной несущей частоты демодулятором цепь 109 переходит из состояния ВЫКЛ в состояние ВКЛ. При этом между моментом обнаружения несущей и моментом изменения состояния цепи обмена 109 вно­сится задержка, известная как задержка «включения» обнаружения несущей. Существует также задержка «выключения» обнаружения несущей, возникаю­щая при выключении несущей на другом конце линии. Цепь 109 во внутренней схеме модема необходима для фиксации цепи обмена приема данных 104 (дан­ные принимаются только при включенном состоянии цепи 109). Задержка вклю­чения сигнала CD и фиксация цепи приема данных обеспечивают защиту от кратковременных выбросов линейных шумов, имитирующих ложные сигналы в цепи приема данных 104.

Любая система передачи данных (СПД) может быть описана через три основные свои компоненты. Такими компонентами являются передатчик (или так называемый "источник передачи информации"), канал передачи данных и приемник (также называемый "получателем" информации).

При двухсторонней (дуплексной передаче) источник и получатель могут быть объединены так, что их оборудование может передавать и принимать данные одновременно.

В простейшем случае СПД между точками А и В состоит из следующих основных семи частей:

  • Оконечного оборудования данных в точке А;
  • Интерфейса (или стыка) между оконечным оборудованием данных и аппаратурой канала данных;
  • Аппаратуры канала данных в точке А;
  • Канала передачи между точками А и В;
  • Аппаратуры канала данных в точке В;
  • Интерфейса (или стыка) аппаратуры канала данных;
  • Оконечного оборудования данных в точке В.

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

ООД передает и (или) принимает данные посредством использования аппаратуры канала данных (АКД) и канала передачи. Соответствующий международный термин - DTE (Data Terminal Equipment). Часто в качестве DTE может выступать персональный компьютер, большая ЭВМ (mainframe computer), терминал или любое другое оборудование, способное передавать или принимать данные.

Аппаратуру канала данных также называют аппаратурой передачи данных (АПД). Международный термин DCE (Data Communications Equipment). Функция DCE состоит в обеспечении возможности передачи информации между двумя или большим числом DTE по каналу определенного типа, например, по телефонному. Для этого DCE должен обеспечить соединение с DTE с одной стороны, и с каналом передачи - с другой. DCE может являться аналоговым модемом, если используется аналоговый канал, или, например, устройством обслуживания. канала/данных (CSU/DSU - Channel Semis Unit/ Data Service Unit), если используется цифровой канал.

Аналоговые и цифровые каналы связи.

Канал связи - совокупность среды распространения и технических средств передачи между двумя канальными интерфейсами.

В зависимости от типа передаваемых сигналов различают два больших класса каналов связи цифровые и аналоговые.

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

На вход аналогового канала поступает непрерывный сигнал, и с его выхода также снимается непрерывный сигнал.

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

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

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

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

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

Канал связи - совокупность технических средств и физическая среда, предназначенные для передачи сигнала.

Физическая среда, по которой распространяется сигнал (например, электромагнитные колебания), называется линией .

Приемник - комплекс технических устройств, осуществляющих преобразование сигнала, появляющегося на выходе канала, в сообщение.

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

Каналы классифицируют по различным признакам.

В зависимости от назначения системы, в состав которой входят каналы, их подразделяют на телефонные, телевизионные, телеграфные, телеметрические, телекомандные, передачи цифровой информации и др.; по используемым линиям связи - на кабельные, радиорелейные и др.; по полосе занимаемых частот - на тональные, надтональные, высокочастотные, коротковолновые, световые и др.

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

Такое подразделение каналов связи и введенное ранее подразделение сигналов на непрерывные и дискретные приводит к четырем возможным разновидностям организации передачи сообщений от источника к потребителю:

  1. Источник информации вырабатывает непрерывный сигнал, доставляемый потребителю в форме непрерывной функции, - канал связи непрерывный.
  2. Источник информации вырабатывает непрерывный сигнал, доставляемый потребителю в дискретной форме, - канал связи непрерывно-дискретный.
  3. Источник информации вырабатывает дискретный сигнал, доcтавляемый потребителю в форме непрерывной функции, - канал связи дискретно-непрерывный.
  4. Источник информации вырабатывает дискретный сигнал, доставляемый потребителю в дискретной форме, - канал связи дискретный.

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

Теоретически дискретный канал определяют, задаваясь алфавитом кодовых символов на входе, алфавитом кодовых символов на выходе, количеством информации, пропускаемой каналом в единицу времени, и значением вероятностных характеристик.

В зависимости от количества кодовых символов в алфавите (используемой системы счисления) канал называют двоичным, если m =2, троичным - т =3 и т. д.

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

Каналы, объединяющие между собой оконечные устройства (источники, потребители) и центры коммутации, называют абонентскими (АК).

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

Аналогично, при передаче по цифровым каналам данные от DTE приходится приводить к виду, принятому для данного конкретного канала. Этим преобразованием занимаются цифровые модемы.

Базовая модель коммуникационных систем

Теоретическую основу современных информационных сетей определяет Базовая эталонная модель взаимодействия открытых систем (OSI - Open Systems Interconnection) Международной организации стандартов (ISO - International Standards Organization). Она описана стандартом ISO 7498. Модель является международным стандартом для передачи данных.

Согласно эталонной модели взаимодействия OSI выделяются семь уровней, обра-зующих область взаимодействия открытых систем.

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

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

Под протоколом подразумевается набор правил и форматов, определяющих взаимодействие объектов одного уровня модели.

Модемы .

История модемов началась в 30-х годах. Именно тогда появилась аппаратура, позволяющая передавать человеческую речь на большие расстояния, официально именуемая "аппаратурой тонального телеграфирования" и лишь особо продвинутыми специалистами называемая "модем". Вообще говоря, человеческая речь передается по телефонным проводам в виде колебаний электрического напряжения. Для того чтобы качество было безупречным, надо передавать колебания с частотами от 50 до 10 000 Гц. Но обеспечить передачу такого широкого диапазона частот слишком дорого, поэтому ограничиваются диапазоном частот, обеспечивающим удовлетворительную разборчивость речи, - от 300 до 3400 Гц.

Сигнал на выходе телеграфного аппарата имеет колебания частот от 0 Гц (то есть постоянного тока) до 200 Гц. Понятно, что такой диапазон частот не попадал в границы полосы пропускания и поэтому не мог быть передан через телефонную аппаратуру, предназначенную для дальней связи, а создавать специальные линии для телеграфа было невыгодно.

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

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

Самым первым модемом для ПК стало устройство производства компании Hayes Microcomputer Products, которая в 1979 году выпустила Micromodem II для популярных тогда персональных компьютеров Apple II. Модем стоил $380 и работал со скоростью 110/300 bps. До этого на рынке существовали только специализированные устройства, которые объединяли мейнфреймы.

Кстати, фирма Hayes выпустила в 1981 году и первый модем Smartmodem 300 bps, система команд которого стала отраслевым стандартом и остается им по сей день. Первые модемы с "коммерческой" скоростью передачи 2400 bps были представлены несколькими компаниями в декабре 1981 года на выставке Comdex по цене $800-900. А затем настало время U.S. Robotics. В 1985 году эта компания начала выпуск своей знаменитой серии Courier, существенно снизив планку стоимости модемов 2400 бит/с. В начале следующего года появился первый модем Courier HST со скоростью передачи 9600 бит/с, а в 1988 году - модемы Courier Dual Standard, которые поддерживали протоколы связи HST и v.32 ($1600), и Courier v.32 ($1500). Еще через два года был выпущен модем Courier v.32bis, в 1994-м - Sportster v.34 со скоростью передачи 28,8 Кбит/с ($349), а в 1995-м - Courier v.Everything 33,6 Кбит/с.

Цифровые сигналы, вырабатываемые компьютером, нельзя напрямую передавать по телефонной сети, потому что она предназначена для передачи человеческой речи - непрерывных сигналов звуковой частоты.

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

Модуляция процесс изменения одного либо нескольких параметров выходного сигнала по закону входного сигнала.

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

В настоящее время модемы наиболее широко используются для передачи данных между компьютерами через коммутируемую телефонную сеть общего пользования (КТСОП, GTSN - General Switched Telefone Network).

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


Схема реализации модемной связи

Модемы также можно классифицировать в соответствии с реализованными в них протоколами.

Протокол - это набор правил, управляющих информационным обменом взаимодействующих устройств.

Все протоколы, регламентирующие те или иные аспекты функционирования модемов, могут быть отнесены к двум большим группам: международные и фирменные.

Протоколы международного уровня разрабатываются под эгидой Сектора стандартизации Международного союза электросвязи (ITU-T - International Telecommunications Union - Telecommunications) и принимаются им в качестве рекомендаций. Все рекомендации ITU-T относительно модемов относятся к серии V. Фирменные протоколы разрабатываются Отдельными компаниями - производителями модемов, с целью преуспеть в конкурентной борьбе. Часто фирменные протоколы становятся стандартными протоколами де-факто и принимаются частично либо полностью в качестве рекомендаций ITU-T, как это случилось с рядом протоколов фирмы Microcom. Наиболее активно разработкой новых протоколов и стандартов занимаются такие известные фирмы, как AT&T, Motorolla, U. S. Robotics, ZyXEL и другие.

Типы модемов

В настоящее время выпускается огромное количество всевозможных модемов, начиная от простейших, обеспечивающих скорость передачи около 300 бит/сек, до сложных факс-модемных плат, позволяющих вам послать с вашего компьютера факс или звуковое письмо в любую точку мира.

Рассмотрим только так называемые hayes-совместимые модемы. Эти модемы поддерживают разработанный фирмой Hayes набор АТ-команд управления модемами. В настоящее время такие модемы широко используются во всем мире для связи персональных компьютеров через телефонные линии.

Аппаратно модемы выполнены либо как отдельная плата, вставляемая в слот на материнской плате компьютера, либо в виде отдельного корпуса с блоком питания, который подключается к последовательному асинхронному порту компьютера.

Первый из них называется внутренним модемом, а второй - внешним .

Внутренние модемы , как правило, сильнее подвержены влиянию помех и менее устойчивы в работе. К тому же они имеют довольно неприятное свойство "подвисать" и вывести их из этого состояния можно лишь кнопкой RESET компьютера. Hо у них есть и большой плюс: они не мешают Вам, не занимая место на Вашем рабочем столе и, кроме того, получают питание по шине компьютера. Кроме того, у них есть возможность хранения каких-либо данных при выключении питания компьютера (аналогично CMOS компьютера).

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

Модемы могут работать в синхронном и асинхронном режиме. Кроме того, есть дуплексный и полудуплексный режимы. Их отличие в том, что в полудуплексном режиме передача в один момент времени идет лишь в одном направлении, в то время как в дуплексном режиме передача осуществляется в обоих направлениях одновременно.

Стандарты факсимильной связи

Согласно рекомендациям Сектора стандартизации Международного союза электросвязи (ITU-T - International Telecommunications Union - Telecommunications) в зависимости от используемого вида модуляции различают факсы четырех групп. Первые факсимильные стандарты, относящиеся к группе 1, были основаны на аналоговом методе передачи информации. Страница текста факсами группы 1 передавалась за 6 минут. Стандарты группы 2 усовершенствовали эту технологию в направлении увеличения скорости передачи, в результате чего время передачи одной страницы сократилось до 3 минут.

Радикальное отличие факсаппаратов группы 3 от более ранних заключается в полностью цифровом методе передачи со скоростями до 14400 бит/с. В результате, применяя сжатие данных, факс группы 3 передает страницу за 30-60 с. При ухудшении качества связи факсы группы 3 переходят в аварийный режим, замедляя скорость передачи. Согласно стандарту группы 3 возможны две степени разрешения: стандартное, обеспечивающее 1728 точек по горизонтали и 100 точек/дюйм по вертикали; и высокое, удваивающее количество точек по вертикали, что дает разрешение 200х200 точек/дюйм и вдвое уменьшает скорость.

Факсимильные аппараты первых трех групп ориентированы на использование аналоговых телефонных каналов КТСОП.

Стандарт группы 4 предусматривает разрешение до 400х400 точек/дюйм и повышение скорости при более низком разрешении. Факсы группы 4 дают разрешение очень высокого качества. Однако, они нуждаются в высокоскоростных каналах связи, которые могут предоставить сети ISDN, и не могут работать через каналы КТСОП.

Слово «модем» (modem) происходит от сочетания «модулятор/демодулятор» и используется для обозначения широкого спектра устройств передачи цифровой информации при помощи аналоговых сигналов путем их модуляции — изменения во времени одной или нескольких характеристик аналогового сигнала: частоты, амплитуды и фазы. При этом модулируемый аналоговый сигнал называется несущим (carrier) и обычно представляет собой сигнал постоянной частоты и амплитуды (несущая частота).

Количество модуляций в секунду называется скоростью модуляции и измеряется в бодах (Бод); количество переданной при этом информации измеряется в битах в секунду (бит/с или BPS — Bits Per Second). Одна модуляция может передавать как один бит, так и большее или меньшее их количество. В новых модемных протоколах единица информации, передаваемая за одну модуляцию, называется символом (character). «Модемный» символ может в общем случае иметь любой размер.

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

Несмотря на то, что модуляторы/демодуляторы применяются во множестве устройств — сетевых адаптерах, дисководах, CD-рекордерах и т.п., термин «модем» (modem) закрепился для обозначения в основном интеллектуальных модемов для телефонных линий. Такой модем является сложным устройством, в который собственно модулятор и демодулятор входят лишь в качестве основных по смыслу функциональных узлов.

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

Типовая схема организации связи двух цифровых устройств при помощи модемов имеет вид:

DTE1 — DCE1 — Линия связи — DCE2 — DTE2

Аббревиатурой DTE (Data Terminal Equipment — оконечное оборудование передачи данных) в терминологии систем связи обозначаются оконечные цифровые устройства, генерирующие или получающие данные. Аббревиатурой DCE (Data Communication Equipment — оборудование передачи данных) обозначаются модемы. Линия связи между DCE — аналоговая, между DCE и DTE — цифровая.

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

Модемы различного типа используются во многих областях связи; в данном FAQ рассматриваются только интеллектуальные модемы для телефонных линий связи, предназначенные для связи между компьютерами и алфавитно-цифровыми терминалами.

Как устроен и работает современный модем?

Практически все современные модемы имеют похожие функциональные схемы, состоящие из основного процессора, сигнального процессора, оперативного запоминающего устройства (ОЗУ, RAM), постоянного запоминающего устройства (ПЗУ, ROM), перепрограммируемого запоминающего устройства (Non-Volatile RAM, NVRAM — неразрушающаяся память с прямым доступом), собственно модулятора/демодулятора, схемы согласования с линией и динамика.

Основной процессор фактически является встроенным микрокомпьютером, отвечающим за прием и выполнение команд, буферизацию и обработку данных — кодирование, декодирование, сжатие/распаковку и т.п., а также за управление сигнальным процессором. В большинстве модемов используются специализированные процессоры на основе типовых наборов микросхем, а в некоторых (US Robotics, ZyXEL) — процессоры общего назначения (Intel, Zilog, Motorola).

Сигнальный процессор (DSP, Digital Signal Processor — цифровой сигнальный процессор) и модулятор/демодулятор занимаются непосредственно операциями с сигналом — модуляцией/демодуляцией, разделением частотных полос, подавлением эха и т.п. В качестве таких процессоров также используются либо специализированные, ориентированные на конкретный набор способов и протоколов модуляции (AT&T, Rockwell, Exar), либо универсальные со сменной микропрограммой (например, TMS), позволяющие впоследствии дорабатывать и изменять алгоритмы работы.

В зависимости от типа и сложности модема основная интеллектуальная нагрузка смещается в сторону DSP или модулятора/демодулятора. В низкоскоростных (300..2400 бит/с) модемах основную работу выполняет модулятор/демодулятор, в скоростных (4800 бит/с и выше) — DSP.

В ПЗУ хранятся программы для основного и сигнального процессоров (firmware). ПЗУ может быть однократно программируемым (PROM), перепрограммируемым со стиранием ультрафиолетом (EPROM) или перепрограммируемым электрически (EEPROM, Flash ROM). Последний тип ПЗУ позволяет оперативно менять прошивки по мере исправления ошибок или появления новых возможностей.

ОЗУ используется в качестве временной памяти при работе основного и сигнального процессоров; оно может быть как раздельным, так и общим. В ОЗУ хранится также текущий набор параметров модема (active profile).

В NVRAM хранятся сохраненные наборы параметров модема (stored profiles), один из которых загружается в текущий набор при каждом включении или сбросе. Обычно имеется два сохраненных набора — основной (profile 0) и дополнительный (profile 1). По умолчанию для инициализации используется основной набор, но есть возможность переключиться на дополнительный. Ряд модемов имеет более двух сохраненных наборов.

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

На динамик (speaker) выводится усиленный сигнал с линии для слухового контроля ее состояния. Динамик может быть включен на время набора номера и соединения, во время всего соединения, а также отключен совсем.

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

Чем различаются внутренние и внешние модемы?

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

Достоинства внутреннего модема:

Недостатки внутреннего модема:

Достоинства внешнего модема:

Недостатки внешнего модема:

Как организуется передача данных посредством модемов?

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

Первые три группы относятся только к связи DCE-DCE, последняя — только к связи DCE-DTE.

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

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

Для определения направления передачи в физическом канале используются понятия вызывающего (инициирующего соединение) и отвечающего модемов; направление передачи определяется со стороны вызывающего модема.

Вторая группа устанавливает правила обнаружения и коррекции ошибок, возникающих на этапе передачи с помощью протоколов первой группы. Эти протоколы имеют дело только с цифровой информацией; для проверки целостности информации она разделяется на блоки (пакеты), снабжаемые контрольными избыточными кодами (CRC — Cyclic Redundancy Check). При несовпадении контрольного кода на приемном конце переданный пакет считается ошибочным и запрашивается его повторная передача. Эта группа протоколов формирует из ненадежного физического канала надежный (защищенный от ошибок) канал более высокого уровня, однако это приводит к потере связи в реальном времени и дается ценой определенных накладных расходов. В модели OSI эта группа соответствует уровню 2 (канальный).

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

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

Какие протоколы модуляции используются в модемной связи?

Большинство используемых протоколов стандартизировано Международным Союзом Связи (International Telecommunications Union — ITU), ранее носившим название Международный Консультативный Комитет по Телеграфии и Телефонии, МККТТ (Comite Consultatif Internationale de Telegraphie et Telephonie — CCITT). Отдел ITU, относящийся к телефонной связи, обозначается ITU-T.

Из протоколов физической связи наибольшее распространение получили следующие:

V.34 (ITU-T). Протокол последнего поколения со скоростью передачи до 28800 бит/с, промежуточные скорости — 2400..26400 бит/с с дискретностью 2400. Принятию стандарта ITU предшествовали протоколы ряда производителей под названиями V.Fast и V.FC. Модуляция — 256-позиционная КАМ с дополнительным временнЫм кодированием, при котором решение на приемном конце принимается по двум смежным состояниям сигнала. В связи с увеличением размера передаваемого за одну модуляцию элемента данных вместо понятия «бод» используется «символ в секунду»; в данном случае размер символа равен 8 битам, или одному байту. Соответственно, введено понятие «символьная скорость» — 2400, 2743, 2800, 3000, 3200, 3429 симв/с. Две последние скорости формально не укладываются в стандартную полосу пропускания телефонного тракта, однако ряд телефонных линий реально обладает нужной пропускной способностью.

V.34bis (ITU-T). Расширение V.34 до скорости 33600 бит/с с промежуточной скоростью 31200 бит/с.

V.90 (ITU-T). Несимметричный, «полуцифровой» скоростной протокол, позволяющий поднять скорость передачи в одну сторону до 56 кбит/с. Стандарту предшествовали протоколы x2 (USR/3COM) и k56flex (Rockwell/Lucent). Данная группа протоколов известна также под названиями V.PCM и 56k. Протоколы 56k реализуются только на несимметричных линиях, когда с одной стороны устанавливается блок прямого сопряжения («цифровой модем») с подключением к цифровому каналу T1/E1, ISDN и др., а с другой — аналоговый модем с поддержкой V.90. При таком соединении сигнал со стороны цифрового канала большую часть расстояния передается в неизменной цифровой форме, и только от абонентского комплекта до обычного модема — в аналоговой. Поскольку преобразование из цифровой формы в аналоговую сопряжено с меньшими потерями информации, чем обратно, предельная пропускная способность цифрового канала (64 кбит/с) понижается только до 56 кбит/с (реально обычно до 45-53 кбит/с). В обратную сторону предельной является скорость 33.6 кбит/с.

Протоколы 56k ориентированы в первую очередь на централизованные системы связи — провайдеры Internet (ISP — Internet Service Provider), банковские и информационные сети и т.п., где преобладает передача информации от центра к абоненту (download), а передача от абонента к центру (upload) встречается гораздо реже.

Что такое CPS ?

Это исторически укоренившаяся единица измерения скорости передачи данных между программами (Characters Per Second — символов в секунду), которая обозначает скорость передачи «компьютерных» (восьмибитовых) символов (байтов) между оконечными программами. «Модемная» скорость в BPS для этого не подходит, так как обозначает скорость передачи данных между модемами в физическом канале, а на реальную скорость передачи по полному каналу (между программами) влияют коррекция ошибок, сжатие данных, тонкости аппаратных и системных протоколов, настройки портов и т.п.

CPS — чисто «компьютерная» единица, не имеющая отношения к «модемным» символам модуляции, введенным в V.FC, V.34 и более поздних протоколах.

Как работают протоколы коррекции ошибок?

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

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

Наиболее распространенные протоколы коррекции — MNP (Microcom Networking Protocol) уровня 4 (MNP4), введенный фирмой Microcom и ставший стандартом де-факто, и включающий его более поздний V.42, называемый также LAP-M (Link Access Procedure — Modems), введенный ITU-T. Последний более эффективен, поэтому при установлении связи модемы в первую очередь пытаются использовать V.42, а при неудаче — MNP4.

И в MNP4, и в V.42 отвергание (reject) принимающим модемом ошибочного кадра может быть как индивидуальным, так и включать в себя все последующие кадры, которые к этому моменту успел передать удаленный модем. Чаще всего реализуется вторая схема, как более простая, однако в ряде моделей используется выборочный повтор кадров — Selective Reject (SREJ), заметно повышающий скорость передачи на каналах с частыми ошибками связи.

Еще более позднее расширение MNP уровня 10 ориентировано на каналы с быстро меняющимися параметрами (радиочастотные, сотовые) и оптимизировано для снижения потерь от таких изменений.

Кроме исправления ошибок, протоколы коррекции могут передавать ряд служебных сообщений между модемами. В основном используется два типа таких сообщений — сигнал временного перерыва в передаче (Breаk), передаваемый между компьютером и модемом в виде длинной серии без стопового бита в конце, и сигнал разрыва связи (Link Disconnect), передаваемый одним модемом другому при прекращении связи (многократная неудача приема блока, падение DTR, команда ATH и ей подобные). Первое сообщение позволяет передавать между компьютерами «несимвольный» сигнал, который часто называется сигналом типа «внимание», а второе — облегчить и ускорить процедуру разрыва связи, чтобы удаленный модем не пытался ее восстановить.

Как работают протоколы сжатия данных?

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

Наиболее распространены протоколы сжатия MNP5, введенный фирмой Microcom, и V.42bis, введенный ITU-T. Алгоритм MNP5 основан на относительно простых методах сжатия, его эффективность в лучших случаях редко превышает 2. V.42bis основан на популярном методе сжатия LZW, применяемом в большинстве архиваторов, и в удачных случаях обеспечивает сжатие до четырех раз. В модемах, где реализованы оба протокола, предпочтение при соединении по умолчанию отдается V.42bis.

В протоколе MNP5 алгоритм сжатия не отключается, и протокол всегда пытается кодировать поступающие данные. Это часто приводит к тому, что данные, не поддающиеся сжатию, за счет кодирования увеличиваются в размере, и эффективная скорость передачи падает. Протокол V.42bis следит за эффективностью сжатия потока, и временно прекращает работу, если сжатие не достигает своих целей. Если в модеме реализован только протокол MNP5, рекомендуется отключать его для сеансов, в которых преобладают данные с низкой избыточностью (архивы, дистрибутивы, изображения, звук, видео и т.п.), и включать — для сеансов передачи текстов, HTML-страниц, непакованных баз данных и т.п.

Алгоритм сжатия в модеме всегда имеет дело с непрерывным потоком данных, из-за чего сжатию подвергаются лишь отдельные, относительно небольшие и независимые фрагменты потока, а это не позволяет достичь столь же высокой степени сжатия, как в архиваторах. Например, текст на русском языке большинством архиваторов сжимается в 4-5 раз, в то время как реальная эффективность лучших модемных протоколов сжатия не превышает 2-3, а более высокая степень достигается лишь при передаче повторяющихся серий (таблиц, непакованных баз данных с высокой избыточностью и т.п.).

Каким образом происходит общение DTE с модемом?

Практически все телефонные модемы общего назначения имеют унифицированный набор команд, предложенный и закрепленный фирмой Hayes, по имени которой назван и сам набор. Другое название набора — AT-набор (AT-set), поскольку большинство команд начинается с префикса AT (ATtention — внимание). Ряд специализированных модемов имеет собственные наборы команд, несовместимые с Hayes и между собой.

Различаются два основных режиме работы модема: режим команд и режим данных. В первом режиме DTE передает модему команды и получает сообщения, во втором модем прозрачно передает данные между DTE и удаленным модемом.

В командном режиме процессор Hayes-модема постоянно следит за потоком битов от DTE и пытается обнаружить сочетание «AT» или «at», переданное на одной из допустимых скоростей. Как только такое сочетание обнаружено — процессор фиксирует данную скорость и переходит в режим ввода командной строки, записывая получаемые символы во внутренний буфер, объем которого обычно равен 40 символам. Пробелы в командах игнорируются, если это не оговорено особо для отдельных команд. Неправильно набранные символы можно стирать символом «забоя» (по умолчанию — BS, код 08 hex), однако префикс AT в буфер не заносится, поэтому невозможно ни его стирание, ни отмена режима ввода командной строки.

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

Большинство команд Hayes-модемов обозначаются буквой — «A», «P», или символом с буквой — &C, %T. Команда может иметь параметр (обычно числовой) — X1, &D2. Если числовой параметр опущен, он полагается нулевым. Ряд команд имеет синтаксис, не подчиняющийся этим правилам.

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

Примеры командных строк:

Каждая строка AT-команд завершается символом CR (код по умолчанию — 0D hex, клавиша Enter). После получения CR процессор модема анализирует командную строку и по возможности выполняет каждую команду в ней, после чего выдает сообщение о подтверждении, ошибке или запрошенную командами информацию. Диагностические сообщения Hayes-модемов по умолчанию выдаются в текстовой форме, но могут выдаваться и в виде трехзначных десятичных кодов.

AT-команды служат для получения сведений о состоянии модема, изменения режимов его работы, набора номера, установки/завершения связи и тестирования модема и линии. Для изменения основных параметров имеются отдельные команды, прочие параметры хранятся в так называемых S-регистрах, принимающих значения от 0 до 255. Значения S-регистров могут использоваться как полностью, так и раздельно по полям и отдельным битам. На самом деле все или большая часть параметров хранятся в S-регистрах, а отдельные команды управления ими введены исключительно для удобства.

За редкими исключениями, команды изменения состояния действуют только на текущий набор параметров, теряющий свои значения при отключении или сбросе модема. Содержимое текущего набора может быть записано в один из сохраненных наборов в NVRAM; кроме этого, ряд команд может непосредственно изменять содержимое NVRAM.

Кроме командных строк, начинающихся с AT, Hayes-модемы поддерживают также команду «A/». Она повторяет последнюю введенную командную строку; исполнение начинается сразу после получения символа «/», кода CR не требуется.

При выполнении команд соединения (вызов, ответ, тестирование) происходит соединение модемов и переход в режим данных, сопровождаемый выдачей сообщения CONNECT. В режиме данных все поступающие символы прозрачно пересылаются модемом. Исключение составляет так называемая Escape-последовательность из трех одинаковых символов (по умолчанию — «+»), перед и после которой должны быть выдержаны охранные интервалы (по умолчанию — 1 сек). При получении такой последовательности модем переходит в командный режим, не разрывая соединения; впоследствии можно как вернуться в режим данных, так и разорвать соединение любой из подходящих команд.

Какие основные команды используются в Hayes-модемах?

Модемы, поддерживающие коррекцию ошибок и сжатие данных, почти всегда имеют группу команд »\» и «%»:

Какова структура команды набора номера?

Команда набора номера D имеет параметр в виде строки последовательно интерпретируемых символов, управляющих процессом набора номера:

Какова структура команды работы с S-регистрами?

Команда работы с S-регистрами S имеет две формы:

Какие ответы модем может давать на командные строки?

Основной набор ответов, определенный для всех Hayes-модемов:

Дополнительные ответы, введенные в некоторых расширениях:

Сообщение CONNECT без параметров выдается либо в том случае, когда запрещены расширенные сообщения (X0), либо установлено соединение на скорости 300 бит/с.

Сообщение RING выдается модемом после завершения каждого вызывного сигнала (интервал около 5 сек). Сообщения RINGING/RINGBACK выдаются не всеми типами модемов.

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

Что представляет собой факс-модем?

Это модем со встроенными факсовыми протоколами установления связи, модуляции и передачи изображений. Такой модем может работать как с обычными модемами посредством протоколов передачи данных, так и с факс-машинами через протоколы передачи изображений.

Функциональность факс-модема определяется его классом: 1, 2 или 2.0. Класс 1 предполагает поддержку только протоколов физического уровня, все остальные процедуры выполняет управляющая программа компьютера. Класс 2 вносит бОльшую часть интеллектуальных функций в сам модем, однако является «промежуточным» стандартом де-факто. Класс 2.0 добавляет функции кодирования и декодирования изображений, содержит ряд изменений, и утвержден в качестве официального стандарта.

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

Программы, ориентированные на работу с факс-модемами (BitFax, BGFax, WinFax и др.), позволяют передавать и принимать избражения в различных графических форматах (BMP, GIF, TIFF, JPG и т.п.). Кроме этого, большинство программ, а также встроенные факс-службы современных ОС, позволяют передавать документы любого типа, для чего в системе устанавливается фиктивное устройство класса «принтер», при «печати» документов на которое они преобразуются в чистое изображение и отправляются факс-модемом.

Что представляет собой голосовой модем?

Это модем с возможностью голосового (voice) контакта между абонентами. Первые модемы с поддержкой голоса имели только микрофонный и телефонный усилитель с возможностью подключения наушников с микрофоном, что добавляло к модему функции обычного телефонного аппарата. Современные модемы, кроме этого, способны одновременно передавать по каналу данные и голос, отчего эта группа модемов имеет общее обозначение SVD (Simultaneous Voice and Data), и часто позволяет делать это при помощи подключенного к модему телефонного аппарата.

Различаются две основные технологии передачи голоса вместе с данными:

Что такое Soft-modem?

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

Встречаются также три наиболее распространенные разновидности soft-модемов:

Как первоначально настроить новый модем?

Для внутреннего модема прежде всего необходимо установить номер COM-порта и линии IRq, которые он будет использовать. Подавляющее большинство внутренних модемов видны компьютеру, как дополнительный COM-порт, за исключением Soft-модемов с полностью программным управлением, которые могут иметь произвольный интерфейс.

При установке номера порта нужно иметь в виду, что на всех современных системных платах имеется встроенный контроллер ввода/вывода, поддерживающий два последовательных порта, по умолчанию обычно работающих как COM1 и COM2. В BIOS Setup для каждого из этих портов может быть также режим Auto, в котором порт включается только в случае наличия свободных стандартных адресов и линий IRq. Например, если для второго системного порта задано Auto и в плату установлен внутренний модем, настроенный, как COM2, BIOS в зависимости от типа и версии может либо перенести второй системный порт на COM4, либо отключить его совсем.

Если два порта настроены на одну линию IRq (IRq sharing), то возможна работа только с одним из них в каждый конкретный момент времени. При попытке активизировать оба порта не сможет работать ни один, кроме случая, когда оба порта обслуживает специализированная программа, которая в состоянии разобраться, какой порт генерирует какое прерывание. При настройке двух портов на один и тот же адрес оба будут неработоспособны.

Внутренние модемы с интерфейсом Plug & Play в специальной настройке не нуждаются; может потребоваться разве что установка перемычками режима PnP, если модем допускает также и прямое конфигурирование адреса и IRq.

На внешнем модеме может потребоваться установка режимов работы переключателями, если они есть.

Проверить правильность работы порта модема можно при помощи любой терминальной программы (Telix, Terminate, Telemate — для DOS, или стандартный Hyper Terminal (Программа Связи) — для Windows 95). На ввод строки AT&F модем обязательно должен дать ответ OK. Можно использовать и строку ATZ, однако в том случае, если в параметрах по умолчанию установлен режим Q1, модем не даст ответа OK на эту строку.

Убедившись, что модем работает, необходимо сформировать набор параметров по умолчанию. Для этого вводится команда &Fn с нужным номером конфигурации, описанной в руководстве к модему; крайне желательна конфигурация с аппаратным (hardware, RTS/CTS) управлением потоком данных.

Если некоторые параметры желательно иметь отличными от заводской конфигурации, их нужные значения задаются после команды &Fn. После настройки всех параметров вводится команда &W, которая записывает сформированный набор в качестве набора по умолчанию с номером 0. Впоследствии, при каждом включении модема или после выполнения команды Z, будет устанавливаться этот набор параметров.

Для того, чтобы программы правильно отображали скорость установленного соединения, необходимо задать модему режим вывода в строке CONNECT реальной скорости вместо скорости модем-DTE. Для этого служит команда Wn; также могут потребоваться и другие команды (например, \Vn), которые нужно найти в описании. Проверить формат строки CONNECT на большинстве модемов можно командой &T1, устанавливающей тестовое соединение по типу Local Analog Loopback.

Что такое строка инициализации и зачем она нужна?

Строкой инициализации называют последовательность команд, приводящую модем в заранее известное состояние. Обычно такая строка начинается с одной из команд &Fn, устанавливающей заводские установки, следом за которой идут команды установки нужных режимов.

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

В том случае, если для всех применений модема достаточно одного набора параметров, наиболее удобным будет запоминание его в NVRAM. Строка инициализации в этом случае сводится к одной команде Z.

Как можно оптимизировать настройку модема и управляющей программы?

В общем случае оптимальная настройка модема и программы весьма сложна и неоднозначна, однако в большинстве случаев можно выделить несколько наиболее типичных моментов:

Эффективность сжатия данных. По умолчанию все современные модемы пытаются задействовать протокол сжатия. В случае передачи неупакованных данных это чаще всего повышает общую скорость обмена, однако в случае передачи эффективно упакованной информации (архивы ZIP, ARJ, RAR, свернутые дистрибутивные наборы, CAB-файлы и т.п.) алгоритм сжатия V.42bis чаще всего работает вхолостую, а алгоритм MNP5 в любом случае пытается сжимать поток, вызывая его увеличение из-за накладных расходов. Поэтому, если данная сессия связи ориентирована главным образом на передачу непакованных данных — лучше разрешить сжатие, если же преобладают большие объемы пакованных, а модем поддерживает только MNP5 — сжатие имеет смысл запретить.

Пропускная способность интерфейса с DTE. При установке соединения модем может либо установить с DTE такую же скорость передачи, что и в канале (floating speed), либо всегда работать с DTE на фиксированной скорости (fixed speed). Последний случай называется режимом фиксации скорости порта (Port Locking, Baud Locking и т.п.) и является наиболее удобным и эффективным. Фиксированную скорость порта рекомендуется устанавливать максимальной, на которой система и программы сохраняют способность надежно принимать данные, или хотя бы вдвое большей максимальной скорости соединения. В результате возрастание скорости передачи вследствие сжатия данных будет компенсировано увеличением скорости порта, и интерфейс с DTE не будет узким местом модемного тракта.

Чем различаются асинхронные и синхронные режимы?

В асинхронном режиме данные передаются побайтно, каждый байт предваряется стартовым битом и завершается одним или двумя стоповыми битами. Таким образом, минимальной единицей передачи является байт, а стартовые/стоповые биты между байтами обеспечивают правильное опознание начала и конца каждого байта. Этот режим удобен с точки зрения надежности выделения сигналов с линии однако требует упаковки/распаковки битовых данных в байты, а также снижает скоростей передачи в канале за счет избыточных стартовых и стоповых битов (минимум на 25% — 2/8).

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

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

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

Почему модем не распознает сигнал «занято» ?

Подавляющее большинство модемов настроено на распознавание телефонных сигналов в стандарте США/Канады. Сигнал «занято» в этом стандарте представляет собой сочетание двух частот — 480 и 620 Гц, длительность тона и паузы — 0.5 с, причем громкость сигнала существенно (на 12 дБ) ниже громкости непрерывного гудка. В российской телефонной системе сигналы «занято» передаются посылками частоты 425 Гц, длительность тона и паузы 0.35 с, уровень всех сигналов одинаковый. В результате, если анализатор модема не имеет достаточного запаса по длительности/интенсивности сигналов, корректное их опознание происходит редко или его не происходит вовсе.

Если модем имеет возможность регулировки чувствительности к сигналам станции и диапазона их параметров — можно попытаться подобрать подходящие значения. Модемы, ориентированные на российскую телефонную сеть (IDC, Russian ZyXEL, Russian Courier) изначально настроены на параметры отечественных сигналов.

Для модемов, не имеющих подобных регулировок, в том случае, когда трудность в опознании сигнала «занято» вызвана слишком громким его уровнем, можно попытаться ослабить входной сигнал, включив последовательно с линией резистор сопротивлением 50..500 Ом, однако это чаще всего отрицательно сказывается на качестве связи.

Чем различается работа по коммутируемой и выделенной линии?

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

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

Модемы, поддерживающие работу по выделенной линии (команда &L1) в этом режиме автоматически отключают проверку наличия непрерывного гудка, а также автоматически пытаются восстановить соединение при его разрыве. Для начальной установки соединения один модем должен быть активизирован как вызывающий (команда D), а другой — как отвечающий (команда A). После этого восстановление связи при обрыве модемы выполняют сами в тех же ролях.

Кроме этого, модемы с поддержкой выделенных линий имеют запоминаемые режимы, в которых установление связи в выбранной роли выполняется автоматически при включении питания (либо после появления сигнала DTR). Таким образом, пара таких модемов сразу после включения питания или появления DTR создает автоматически поддерживаемое соединение без вмешательства управляющих программ, которым в этом случае остается лишь слежение за сигналом DCD и/или сообщениями CONNECT/NO CARRIER. В идеальном случае такая пара модемов позволяет организовать полностью прозрачное соединение, аналогичное нуль-модемному кабелю, при котором программам совершенно неизвестно о существовании в каких-либо дополнительных устройств в тракте.

Модем не набирает номер. Почему?

Если попытка соединиться завершается сообщением «Нет сигнала в линии» (No Dialtone), и при этом Вы слышите через динамик модема (если таковой имеется) длинный гудок, то скорее всего Ваша АТС выдает нестандартный сигнал набора. В этом случае поможет команда X3 (модем игнорирует сигнал набора). Если эта команда не помогает, то попробуйте заменить ее на X0.

Если же Вы не слышите длинного гудка, то либо у Вас проблема с линией (проверяется подключением обычного телефона вместо модема), либо Вы включили телефонный шнур не в тот разъем модема. У модема обычно есть два разъема (исключение составляют недорогие модемы неизвестного производства, которые лучше не приобретать) называемые PHONE и LINE (иногда WALL). Шнур телефонной линии должен быть включен в разъем LINE (WALL). Во второй разъем включают телефонный аппарат (когда модем работает, то телефонный аппарат отключается).

Если команда X3 (или X0) не помогла, и Вы уверенны, что телефонная линия исправна и подключена правильно, то неисправность следует искать в модеме. В этом случае Вам следует обратиться в сервисный центр производителя или в организацию, указанную в гарантийном талоне.

Удаленный модем снял трубку и отвечает, но мой модем его не слышит. Что делать?

Если модем исправен и сигнал ответа имеет достаточную мощность, то причина скорее всего в том, что он не смог распознать длинный гудок от АТС перед началом обмена (Ваш модем может не уметь одновременно распознавать гудок и сигнал ответа). Это могло произойти, если гудок был очень тихий или очень короткий (встречается на некоторых АТС и многоканальных телефонах). Универсальное средство — команда X2.

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

Модемы начали обмен, проверка имени пользователя и пароля прошла успешно, но соединение было разорвано при входе в сеть. Почему?

Зайдите в «Мой компьютер»->«Удаленный доступ», далее щелкните правой кнопкой мыши на настраиваемом соединении и выберите пункт «Свойства» в появившемся меню. Далее перейдите на закладку «Тип сервера» и уберите галочку возле пункта «Войти в сеть».

Модемы начали обмен, но соединение было разорвано до проверки имени пользователя и пароля. Как это исправить?

Скорее всего в настройках соединения установлен слишком короткий интервал ожидания установления соединения. Для изменения этого интервала зайдите в «Мой компьютер»->«Удаленный доступ» , далее щелкните правой кнопкой мыши на настраиваемом соединении и выберите пункт «Свойства» в появившемся меню. Далее нажмите кнопку «Настройка», выберите закладку «Подключение». Здесь либо поменяйте цифру в пункте «Отмена вызова при отсутствии связи» (рекомендуем поставить как минимум 120 секунд), либо уберите галочку вообще. Также обратите внимание на пункт «Отключение при простое более...».

Если это не помогло, то смотрите ответ на следующий вопрос.

Как побороть частые обрывы связи?

Причина — плохое качество линии (большое затухание, импульсные помехи, периодическое замирание сигнала и т.п.). Для начала попробуйте добавить к строке инициализации следующие команды: S7=200S10=200. Если это не помогло, то Вы можете попробовать подобрать уровень сигнала, чувствительность на прием, протокол связи (запретить V.90), установить режим соединения с коррекцией ошибок или подобрать ограничение по скорости. Этот процесс достаточно длителен и утомителен, т.к. оптимальные параметры придется подбирать методом проб и ошибок. Соответствующие команды Вы можете найти в руководстве к своему модему или в конце этого FAQ.

Как побороть низкую скорость соединения или кратковременные перерывы в передаче данных?

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

Рекомендуемые настройки модемов в зависимости от качества линии.

<мин.скорость_на_прием>,<макс.скорость>, <мин.скорость_на_передачу>, <макс.скорость> — от 300 до 33600 (в случае V.34) или 56000 (в случае V.90)
Модем «Хорошая» линия «Средняя» линия «Плохая» линия
Motorola Модем Уровень сигнала Чувст-ть Запрет V.90 Режим соединения
с корр. без корр. авто
USR Sportster N/A N/A S32=66 &M5 &M0 &M4
USR Courier N/A N/A S58=32 – – –
ZyXEL Omni *Pn
Motorola CODEX *MX3 *MX4 *MX5 *MX7 *MX9 *MX10 *MX11 *MX12
US Robotics &N4 &N5 &N6 &N8 &N10 &N11 &N12 &N13
ZyXEL &N5 &N19 &N4 &N17 &N66 &N65 &N64 &N63
IDC 2814 BXL+ S37=7 S37=8 S37=9 S37=11 S37=13 S37=14 S37=15 S37=16

Copyrights

При составлении данного FAQ в значительной степени были использованы Frequently Asked Questions (Часто Задаваемые Вопросы) по модемам для телефонных линий, составленные Евгением Музыченко (Eugene Muzychenko) (2:5000/14@FidoNet, [email protected]). Copyright (C) 1998-99, Eugene V. Muzychenko. All rights reserved.