Модем как прибор для мониторинга телефонной линии
Достаточно часто (или редко — в зависимости от провайдера) скорость передачи данных неожиданно падает и, похоже, совсем не собирается возвращаться назад. Можно, конечно, позвонить в службу поддержки и выслушать совершенно бесполезный совет "переустановить Windows", но лучше попытаться разобраться с проблемой самостоятельно. Виновником может быть кто угодно: операционная система, браузер, злобный троян, неисправность DSL-модема, телефонный кабель, сервер провайдера или… да все что угодно!
Через несколько месяцев интенсивного серфинга через DSL, браузер, за счет фрагментации файловой системы, может начать конкретно тормозить, хотя ни модем, ни Интернет-канал тут ни причем. Кстати, очистка кэша, равно как и дефрагментация штатными дефрагментатором, помогает далеко не всегда — используйте дефрагментаторы от O&O или Symantec.
Ладно, оставим операционное окружение в стороне. Читатель и сам с ним как-нибудь разберется (на то он и хакер!). Остаются два главных подозреваемых — телефонный кабель и провайдер. Если сервер провайдера отдает файлы с нормальной скоростью (за вычетом возможной нагрузки, характерной для данного времени суток), то DSL-модем функционирует нормально и за телефонный канал можно даже не волноваться. Наиболее вероятная причина падения скорости — перегрузка магистральных Интернет-каналов или проблемы у аплинка (вышестоящего провайдера).
Если даже сервер провайдера откликается неохотно, необходимо исследовать качество передачи данных по телефонному кабелю. Вот за что мыщъх любит ZyXEL ONMI 56k Pro – так это за его LCD-дисплей, отображающий в реальном времени АЧХ-линии и прочую полезную информацию. А как на счет DSL-модемов?
Практика показывает, что большинство DSL модемов (даже из дешевых серий) содержат довольно развитую систему мониторинга физического канала связи, но по непонятным соображениям, прячут этот агрегат от пользователей в недокументированных сочетаниях команд.
Возьмем, например, ZyXEL OMNI ASDL USB — дешевый, но довольно неприхотливый и стабильно работающий модем, лениво перемигивающийся бело-зеленой иконой в правом углу экрана (см.
рис. 9)
Рисунок 9 иконка модема ZyXEL OMNI ASDL USB
Двойной мышиный щелчок вызывает информационное окошко спартанского типа, с указанием сколько байт было принято, а сколько передано. В правом верхнем углу наличествует традиционный крестик "закрыть". Никаких других элементов управление не наблюдается…
Рисунок 10 стандартное информационное окно
Но стоит нам нажать "секретную" комбинацию <ALT-A>, как диалоговое окно значительно преображается, показывая кнопки "Advanced monitoring" и "Configuration wizard" (см. рис. 11). Ну, "Configuration wizard" нам мало интересен — это обычный мастер, вызываемый при настройке модема, а вот на "Advanced monitoring" мы остановимся поподробнее.
Рисунок 11 <ATL-A> открывает доступ к магическим клавишам
Нажимаем его и… попадем в стандартный настроечный диалог (см. рис. 12). Тот самый, в который можно вызывать и с Панели Управления, и через "Главное меню\Программы\ZyXEL OMNI ADSL USB\ZyXEL OMNI ADSL USB". Фи! Какое разочарование. Нам предлагают узнать "протокольную" скорость приема/передачи (не путать с мгновенной скоростью), изменить модуляцию, параметры ASDL-заголовка, идентификаторы виртуальных каналов, и максимальный размер пакетов.
За исключением размера пакетов, остальные настройки лучше не трогать. В лучшем случае — скорость не измениться вообще, в худшем — DSL-модем просто не сможет установить связь с оконечным оборудованием, поскольку большая часть настроек продиктована именно им!
Рисунок 12 три вкладки стандартного окна настроек
Но вот мы нажимаем <ALT-A> и… настроечный диалог радикально преображается. То есть абсолютно! Во вкладке "General" (см. рис. 13) появляется симпатичный "светодиодный" индикатор, отображающий мгновенную скорость приема, а ниже — очень полезная кнопка "Stop ADSL", которую стоит отметить особо.
Это единственный способ выйти из сети без прав администратора и без выдергивания телефонного кабеля из розетки, но, увы, — недокументированный. Думаю не надо перечислять все ситуации, по которым пользователь хочет временно отключиться от Интернета, особенно если он сидит на скоростном канале, когда выражение "время — деньги" приобретает особую финансовую остроту. Опять-таки атаки…
Рисунок 13 вкладка "General" расширенного окна настроек
В следующей закладке (см. рис. 14) — ATM Link Statistic (которой в Стандартном Диалоге и не ночевало) мы можем узнать статистику по ATM-линку, из которлй наибольший интерес представляет параметр Cells/Second — мгновенная скорость приема/передачи в ячейках. Размер самой ячейки можно вычислить разделив количество переданных (принятых) байтов на количество переданных (принятых) ячеек. В моем случае оно равно 53 байтам. (Попутно заметим, что есть два типа ячеек — CPL0 и CPL1, что расшифровывается как Cell Lass Priority — приоритет потери ячейки, а следующая за ним цифра показывает может ли он быть потерян — 1 или нет — 0, приоритет может назначаться как самим DSL-модемом, так и оконечным оборудованием), в любом случае — это принятые ячейки. А непринятие указываются в графе Unroutable Cells и на нормальных каналах с исправным модем здесь должен наличествовать ноль. Так же обратите внимание на количество HEC (Heder Error Control) ошибок. Ненулевое значение свидетельствует о проблемах связи, и чем это значение больше — тем актуальнее проблемы.
Рисунок 14 вкладка "ATM Link Statistics" расширенного окна настроек
Следующая (см. рис. 15) вкладка по сути является продолжением предыдущей и приводит статистику по "хорошим" байтам и фреймам, а так же сообщает общее количество "отброшенных" фреймов и байт (на нормальных каналах и то и другое должно быть равно нулю). Далее следуют: ошибки CRC, число пакетов с неправильной длиной, ошибки тайм-аута.
Все они так же должны быть равны нулю, ну или во всяком случае близки к нему.
Рисунок 15 вкладка "ATM Link Statistics" расширенного окна настроек (продолжение)
Последняя вкладка "Physical Layer Statistic" (см. рис. 16) целиком и полностью посвящена характеристикам физического канала связи, то есть телефонного кабеля. "noise margin" — это ни что иное как "запас помехоустойчивости", естественно, чем он больше — тем лучше. Вообще-то, уровень зашумленности канала принято выражать в несколько иных единицах — RMS Noise Energy — среднеквадратичной мощности шума, влияние которой на качество передачи описано в таблице 3, по можно приблизительно оценить вашу линию ("приблизительно" потому, что для точного пересчета необходимо знать максимальный уровень шума, при котором модем еще соглашается работать, а нам он неизвестен).
Поле "Attenuation" определяет затухание сигнала в линии. Чем оно выше — тем ниже качество линии и, следовательно, меньше скорость передачи/приема данных.
Рисунок 16 вкладка "Physical Layer Statistics" расширенного окна настроек
затухание сигнала |
качество линии |
от 5dB до 20dB |
линия отличная |
от 20dB до 30dB |
линия хорошая |
от 30dB до 40dB |
линия плохая |
от 50dB и выше |
это не линия |
уровень шума: RMS Noise Energy [dBm] |
качество линии |
от -65dBm до -50dBm |
линия отличная |
от -50dBm до -35dBm |
линия хорошая |
от -35dBm до -20dBm |
линия плохая |
от -20dBm и выше |
это не линия |
Магическая кнопка "Bit Loading" выводит на экран замечательную гигсограмму (см. рис. 17), отображающую распределение скорости передачи в битах по частотам. Дело в том, что в ADSL-протоколе весь частотный диапазон нарезается на крохотные кусочки, каждый из которых используется независимо от остальных.
Чем выше зашумленность на данном участке — тем ниже битовая плотность (скорость передачи) и, соответственно, наоборот.
Чем больше провалов (и чем глубже они) — тем выше уровень зашумленности линии. Сравнивая гигсограмы, полученное в разное время, можно попробовать локализовать возможный источник помех, поскольку большинство источников включаются и выключаются в определенное время.
Рисунок 17 графическая гигскограмма "Bits Per Bin"
Лабораторные испытания показывают (http://www.radioradar.net/staty/staty2005-02-25_18-39-56.php), что основной вклад в скорость передачи данных вносит частотная характеристика линии (напрямую зависящая от ее емкости) и… этот вездесущий шум. При низком уровне шума, соединение устанавливаться даже на "запредельных" расстояниях, не смотря на затухание. Сопротивление кабеля — DSL-модему не помеха. Самый страшный враг — контакт с землей, возникающий как правило, в результате повреждения изоляции или замокание кабеля. Порожденный им низкочастотный шум, в первую очередь бьет по исходящему потоку, однако, и высокочастотного шума, образующегося за счет асимметрии параметров линии при включенном ASDL-оборудовании тоже оказывается предостаточно и скорость приема падает буквально на глазах. Только не пытайтесь "сушить" кабеля ни ВЧ током, ни (тем более) подачей в телефонную сеть напряжения в 220 Вольт. Вы только сожжете оконечное оборудование (а оно, между прочим, нехилый денег стоит) и неизвестно, что станет с телефонным кабелем. Короче, угробить его легко, а вот тянуть заново придется явно за свой счет…
Другой частный дефект — окислившаяся скрутка кабеля или непропай. Это встречается сплошь и рядом. Но если с этим еще хоть как-то можно бороться, то соседство витой пары с АВУ и прочими системами ВЧ уплотнения порождают помехи, от которых очень сложно избавиться. Тоже самое относится к ситуации две витой пары, висящие на DSL, в одном кабеле. Неожиданная потеря скорости вполне может объясняться тем, что кто-то из ваших соседей (по кабелю) приобрел себе DSL-модем.
В этом случае, измерение характеристик линии, окажет неоценимую помощь, позволив разобраться в ситуации. Во всяком случае, будет с чем идти к провайдеру, чтобы поругаться.
Остальные DSL-модемы так же умеют измерять характеристики линии, причем многие из них делают это намного круче, чем ZyXEL OMNI USB, однако, "магические" комбинации каждый раз приходится определять самостоятельно.
В частности, ADSL ZyXEL USB630-11 требует совершить следующий магический обряд: дважды щелкаем мышью по пиктограмме модема, отображаемой в системном трее à на экране появится диалог "ADSL Control and Status" с прямоугольным голубым логотипом ZyXEL в левом вернем углу. Жмем <Ctrl>+<Shift> и, не отпуская их, щелкаем мышкой логотип. Под логотипом тут же появляется кнопка с соблазнительным названием "Advanced", открывающая диалог с огромным количеством разнообразных вкладок, в которых не так-то просто разобраться! Да ну их… идем к вкладке "Detonator" (хорошее имечко, нечего сказать) с единственной кнопкой "Monitor Performance" (см. рис. 18).
Все ключевые характеристики линии сосредоточены именно здесь! А вызов графической гигсограммы осуществляется нажатием кнопки "Bits Per Tone".
Рисунок 18 скрытое окно "Monitor Performance" модема ADSL ZyXEL USB630-11
Модем "ADSL USB D-Link DSL 200 Generation II" поддерживает секретную комбинацию <Ctrl-F1>, вызываемую из закладки "Physical Link" и отображающую все необходимые нам характеристики, модем " ADSL USB D-Link DSL 200I" делает тоже самое посредством комбинации <ALD-D>, модемы ADSL ZyXEL USB 630-C1 и ADSL ZyXEL USB 630-C1 заклинаются при помощи <ALT-A>.
Владельцам остальных модемов можно посоветовать либо тупо перебирать все комбинации одна за другой, либо полазить по хакерским форумам — наверняка кто-то уже распотрошил драйвер и раскопал все заклинания.