Главная > Компьютеры > Коммуникации >
O пpотоколле ASL

            O пpотоколле ASL (Михаил Лихачев)
        
                         Все об ASL!
        
        DG>  Hаcколько я понял,  неапгpейженные Sportster'ы  14400  не  yмеют
        DG>  повышать cкоpоcть  пpи  pетpейнах.  Пpавда,  в некотоpых моделях
        DG>  можно включить ASL,  котоpый бyдет pаботать  только  c  модемами
        DG> USR.  Что  можно  cказать в отношении модемов Russian Courier по
        DG>  этомy поводy?  Умеют ли они повышать  cкоpоcть  пpи  pетpейне  c
        DG>  модемами дpyгих фиpм?  Имеетcя ли там cабж - Adaptive Speed Rate
        DG>  -  cпоcобноcть  динамичеcки  изменять  cкоpоcть  в   линии   без
        DG>  pетpейна (опять же пpи коннекте c модемами дpyгих фиpм)?
        
        
        Это довольно большой вопрос, на котором в полном объеме ответить не очень 
        легко.
        Попробую сделать это в доступной форме и не очень подробно.
        
        ASL, как и HST - это расширения протоколов V.42 (а последний еще - и MNP),
        которые используют высокоуровневое управление там, где обычные модемы
        управляются только по стандарту V.32, что имеет ряд существенных 
        приемуществ перед стандартной схемой. Вот некоторые из них:
        
        Точный подбор оптимальной скорости, вплоть до разных скоростей в разные стороны.
        Делается это так: принимающая сторона анализирует качество сигнала (Signal
        Quanity по команде ATY7 именно это и выводит, но имейте в виду, что во всех
        моделях 28800 эта команда выводит бред), и делает заключение о том, какая именно
        скорость оптимальна в настоящий момент. Затем, накопив некоторую статистику,эта
        информация передается удаленной стороне с требованием переключить скорость
        передачи на указанную. Вот фрагмент статистики реального времени от модема
        RC-21600 (+Req - наш запрос, *Ack - удаленный запрос):
        02:15:30.71 *ACK:2D:0001 -- Primary V32 connect established at 7200
        
        Это - свойство ASL-коннкетов - начинать соединение на низкой, более
        помехоустойчивой скорости.
        
        02:15:30.71 *ACK:03:0000 -- Transmit channel opened
        02:15:30.77 *ACK:02:0000 -- Receive channel opened
        02:15:30.77 +req:0A:0003 -- Set data receive mode
        02:15:30.77 *ACK:20:0007 -- New recommended speed is (1) 21600
        02:15:30.77 +req:44:003F -- Enable eV32
        
        Это - включение ASL. После чего (по логу не видно) был послан запрос поднятия
        скорости приема на удаленную сторону.
        02:15:32.82 +req:41:0007 -- Wait for receive speed shift at eV32 to 9600t
        02:15:32.82 *ACK:22:0000 -- Speed shift granted
        02:15:32.82 *ACK:02:0000 -- Receive channel opened
        
        
        
        Следующий запрос:
        02:15:34.33 +req:41:0008 -- Wait for receive speed shift at eV32 to 12000t
        02:15:34.38 *ACK:22:0000 -- Speed shift granted
        02:15:34.44 *ACK:02:0000 -- Receive channel opened
        
        А вот это с той стороны пришел запрос:
        02:15:34.88 +req:40:0007 -- Set new transmit speed at eV32 to 9600t
        
        Опять наш запрос:
        
        02:15:36.55 +req:41:0009 -- Wait for receive speed shift at eV32 to 14400t
        02:15:36.55 *ACK:22:0000 -- Speed shift granted
        02:15:36.55 *ACK:02:0000 -- Receive channel opened
        
        Это - опять с той стороны. Буква t означает тербовскую, более устойчивую
        модуляцию. Такое возможно только на связи RC-RC, поскольку у Роботиксов
        здесь ошибка, и вместо тербовской они используют устаревшую модуляцию на
        скоростях до 16800. Это касается всех модемов 28800 и выше в том числе.
        02:15:36.77 +req:40:0008 -- Set new transmit speed at eV32 to 12000t
        
        ----------------------------
        
        А в стандартном V.32 это выглядит вот как:
        01:36:36.16 *ACK:41:0000 -- Remote requests fallback
        
        Это удаленная сторона решила поменять скорость.
        01:36:36.16 +req:42:0FF1 -- Set valid speeds mask: 4800,7200,9600,12000,,,
        
        Это мы запретили все, выше _нашей_ рекомендуемой скорости,  поскольку требуется
        установить Min(наша, удаленная) допустимая скорость.
        
        01:36:36.27 *ACK:20:0006 -- New recommended speed is (1) 19200
        01:36:36.33 *ACK:20:0005 -- New recommended speed is (1) 16800
        
        А теперь мы обнаружили, что связь улучшилась, а удаленная сторона прислала в
        свое время маску, где сказано что она может работать и быстрее. Запрашиваем
        поднятие скорости:
        
        01:36:36.33 +req:42:0FF9 -- Set valid speeds mask: 4800,7200,9600,12000,14400,,
        01:36:36.33 +req:3E:003F -- FallBack request at sV32
        
        Hа слух это - короткое (доли секунды) попискивание, то есть голая несущая без
        модуляции.
        01:36:36.38 *ACK:42:0000 -- Our fallback request granted by remote
        
        Вот здесь - потенциальная дырка: по таймауту начинается длинный ретрейн.
        01:36:36.44 *ACK:2D:0003 -- Primary V32 connect established at 12000
        
        Облом. Удаленная сторона решила, что 14400 для нее слишком много, и вычеркнула
        из маски допустимых скоростей.
        
        01:36:36.44 *ACK:03:0000 -- Transmit channel opened
        01:36:36.44 *ACK:02:0000 -- Receive channel opened
        01:36:36.49 *ACK:20:0006 -- New recommended speed is (2) 19200
        01:36:36.55 *ACK:20:0007 -- New recommended speed is (1) 21600
        
        А хоть 115200 - у удаленной стороны нет таких скоростей, или она по крайней 
        мере не желает их показывать.
        
        ----------------------------------
        
        Как видно из вышеприведенного, может ли быть повышена скорость во время
        коннекта, полностью определяется удаленным модемом: спортстеры и курьеры все -
        могут. Практика показывает, что если с той стороны стоит кусок г.., то он один
        раз сползает до 7200, скажем, и дальше такую маску и ставит все время. Кроме
        того, о скорости _в его_ сторону он сам и должен забоиться. Если он этого не
        делает, то ничего хорошего не будет. Если же брать ASL, то там совсем другой,
        "мягкий" механизм изменения скорости, и впридачу еще и быстрые ретрейны, без
        настройки эхогашения. А HST - это практически то же самое, что и ASL, с разницей
        лишь в том что длинных ретрейнов не бывает в принципе, поскольку нет эхогашения
        как такового, так как обратный канал не перекрывает спектр частот прямого.
        Особенно смешно бывает читать высказывания [не будем показывать пальцем],
        которые говорят что в 28800 HST существенно лучше: он не может быть ни лучше, ни
        хуже по определению, так как иначе был бы просто несовместим. Может быть хуже
        (что и имеет место быть в 28800) сигнальная часть, занимающаяся модуляцией на
        нижнем уровне, что практически означает более низкую рекомендуемую (при прочих
        равных условиях) скорость, чем в моделях 14400. Это объясняется врожденной
        "глухотой" моделей 28800. А вот это свойство проявляется отнюдь не только на
        HST, а на всех протоколах вообще, поскольку с точки зрения модуляции протокол
        HST есть ни что иное как односторонний V.32, и в принципе не может быть лучше,
        как не может быть "лучше" таблица умножения: либо она верная, либо - нет. Он
        может либо врать из-за неправильно посчитанных сигнальных таблиц, как это
        делается в глюко-тербе (которую этот же автор одно время обещал "исправить"),
        либо быть глухим, как в 28800, и пропускать "мимо ушей" половину используемых
        при модуляции состояний. Точную причину этой глухоты мы сейчас и изучаем ...
        
        
        
                                    Михаил Лихачев.



Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

Copyright © 2001 - 2002 Olexandr Slobodyan.
Сайт создан в системе uCoz