· двухбайтовая или четырехбайтовая контрольная последовательность кадра;
· конечный флаг (7Eh).
. Стоит отметить, что управляющее поле кадра идентифицирует один из трех форматов кадра. Информационные кадры (I-формат) предназначены для передачи информации с возможностью одновременного подтверждения принятой информации. Супервизорные кадры (S-формат) предназначены для подтверждения принятой информации, запроса на повторную передачу или сообщения оппоненту о неготовности к приему. И, наконец, ненумерованные кадры (U-формат) выполняют дополнительные управляющие сеансом процедуры, как то: установка/прекращение работы протокола, согласование параметров протокола, передача сигнала break, тестирование канала и пр.
Всего в протоколе LAPM насчитывается 13 типов кадров:
· 1 кадр I-формата;
· 4 типа кадра S-формата: RR, RNR, REJ и SREJ;
· 8 типов кадров U-формата: SABME, DM, UI, DISC, UA, FRMR, XID и TEST.
Двухбайтовая контрольная последовательность кадра подсчитывается с помощью образующего полинома X^16 + X^12 + X^5 + 1. Стоит обратить внимание на тот факт, что образующий полином отличается от того, который используется в протоколе MNP2. Четырехбайтовая контрольная последовательность кадра подсчитывается с помощью образующего полинома X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 + X^8 + X^7 + X^5 + X^4 + X^2 + X + 1. Выбор CRC-16 или CRC-32 производится в процессе согласования параметров протокола с помощью кадров XID.
Вход в протокол - операция весьма ответственная и потому тщательно спланирована. Вызывающий модем начинает установку протокола непрерывной передачей своему оппоненту двухбайтовых "шаблонов обнаружения вызывающего" (ODP, Originator Detection Pattern) в байт-ориентированном режиме, соответствующем Рекомендации V.14 CCITT. ODP состоит из байтов 11h и 91h, разделенных между собой 8 - 16 стоповыми битами. Отвечающий модем, приняв два подряд ODP, начинает выдавать "шаблоны обнаружения отвечающего" (ADP, Answerer Detection Pattern) в том же байт-ориентированном режиме. ADP состоит из байтов 45h ('E') и 43h ('C'), разделенных между собой 8 - 16 стоповыми битами. После выдачи десяти ADP отвечающий модем переключается в синхронный режим. Вызывающий модем, приняв два подряд ADP, прекращает передачу ODP и переключается в синхронный режим. Выдача первого кадра в синхронном режиме предваряется как минимум 16 флаговыми последовательностями, с помощью которых выдерживается пауза для гарантированного переключения обоих сторон в синхронный режим. Первым кадром, как правило, оказывается кадр XID, с помощью которого стороны согласуют параметры протокола коррекции ошибок и сжатия.
Факторы, свидетельствует в пользу V.42
Минимизация накладных расходов.
Совокупное преимущество V.42 по этому фактору имеет несколько составляющих.
а) Очевидное преимущество MNP3 и V.42 перед MNP2, обусловленное переходом на синхронный кадровый формат, заключается в уменьшении объема передаваемых по каналу данных по крайней мере на 20% вследствие отказа от передачи стартовых и стоповых битов.
б) Обеспечение кодовой прозрачности данных в байт-ориентированном режиме приводит в худшем случае, когда вся пользовательская информация состоит из одних байтов DLE, к увеличению объема передаваемых данных на 100%. Для синхронного кадрового формата худший случай, заключающийся в том, что пользовательская информация состоит из одних единиц (байтов 0FFh), приводит к увеличению объема передаваемых данных лишь на 20% - вставки дополнительного 0 после каждых пяти единиц.
в) Накладные расходы на передачу пользовательской информации посредством I кадра протокола V.42, обусловленные структурой кадра, составляют 6 байт. Аналогичные накладные расходы для кадров LT, осуществляющих передачу пользовательской информации, для протокола MNP3 составляют 8 байт, а для протокола MNP2 - 12 байт.
г) При двусторонней передаче информации протоколы MNP будут либо откладывать подтверждение принятой информации, неоправданно "загромождая" буфера оппонента отправленными, но неподтвержденными кадрами, либо будут вынуждены чередовать передачу пользовательской информации с подтверждениями очередных принятых кадров, т.е. увеличивать накладные расходы на 11 байт для MNP3 и на 15 байт для MNP2 (длина кадра LA). I кадр протокола V.42 в самой своей структуре несет функцию подтверждения принятой информации, и потому дополнительных накладных расходов не требует.
Надежность входа в протокол.
Процедура входа в любой из протоколов MNP заключается в обмене сторонами кадрами LR в байт-ориентированном режиме. Переключение в синхронный кадровый формат протокола MNP3 производится только после выдачи инициатором кадра LA (и, соответственно, его приема отвечающим), подтверждающего прием ответного кадра LR. Длина кадра LR составляет 31 байт, а кадра LA - 15 байт. Таким образом, установка протокола обусловлена безошибочным приемом 31 байта отвечающим модемом, затем 31 байта вызывающим модемом и, наконец, 15 байт вновь отвечающим модемом. В то время, как для установки протокола LAPM требуется безошибочно передать всего лишь по 4 байта в каждую сторону - по 2 ODP/ADP, соответственно. Впрочем, эти 4 байта должны перемежаться потоком стоповых бит длиной в среднем в 1.5 байта. Поэтому для корректности надо говорить о 10 байтах. Очевидно, что при наличии помех (в противном случае в протоколе просто нет нужды) вероятность безошибочного приема 10 байт значительно выше, чем 31 байта и, тем более, 46 байт.
Кроме того, поток ODP/ADP включает в себя не менее 10 шаблонов, т.е. каждая пара повторяется не менее 5 раз. В то время, как в случае неудачи приема кадра LR какой-либо из сторон, обмен этими кадрами будет повторен по истечении тайм-аута лишь однажды. Превосходство в кратности повтора процедуры еще более увеличивает разницу в вероятностях успешного входа в протокол коррекции ошибок, подчеркивая преимущество протокола LAPM над MNP.
Устойчивость к полеганию.
Этот фактор характеризует как преимущество синхронного кадрового формата над байт-ориентированным режимом, так и преимущество собственно протокола LAPM над MNP. Имеется в виду здесь следующее. Помехи не разбирают ,какова логическая значимость того или иного бита, который они искажают до неузнаваемости. Это может быть "рядовой" бит пользовательских данных, а может и бит в управляющем поле кадра. Если представить себе, что этот злосчастный бит находится в двухбайтовом управляющем поле конечного флага кадра протокола MNP2, то нетрудно себе представить что это значит для принимающей стороны. Потеря конца кадра приводит к тому, что принимающая сторона воспринимает поток стоповых битов, являющийся межкадровым заполнителем, в качестве паузы между двумя соседними байтами принимаемого незаконченного кадра. Все это продолжается вплоть до появления стартового флага следующего кадра, либо до истечения тайм-аута. Даже если следующий кадр не заставил себя долго ждать, весь он будет фактически накладным расходом, так как даже при безошибочном его приеме, он будет признан недействительным вследствие ошибки последовательной его нумерации из-за неприема его предшественника. Теперь рассмотрим с этой точки зрения синхронный кадровый формат. Пусть произошел сбой в конечном флаге. Но межкадровым то заполнителем служит все тот же флаг. Стало быть будет пойман пусть не первый, так следующий флаг. Кадр будет признан ошибочным, но ждать "у моря погоды" принимающей стороне незачем, ситуация для нее вполне определенная - можно посылать запрос на повтор кадра. Далее в бой вступают уже протокольные преимущества V.42 над MNP. Во-первых, одним из условий признания кадра недействительным в протоколе V.42, в отличие от протоколов MNP, является превышение размера его информационного поля оговоренного в процедуре входа в протокол значения. Это позволяет принимающей стороне в ситуации пропуска флага, разделяющего два соседних кадра, не дожидаться конечного флага второго кадра, а сразу же выдать запрос на повторную передачу. Во-вторых, наличие типа кадра SREJ в протоколе LAPM позволяет не отбрасывать корректно принятый вслед за ошибочным кадр, а запросить селективный повтор одного единственного неверно принятого кадра.
Гибкость.
Сей фактор целиком обязан своим появлением расширенным возможностям собственно протокола LAPM по сравнению с протоколами MNP. Частично эти возможности уже были упомянуты выше. Здесь же будет приведен краткий, по возможности, их перечень.
а) Раздельное согласование параметров передачи в обе стороны. Таких, как максимальный размер кадра и размер окна. Последний параметр определяет количество кадров максимального размера, которое модем может хранить в своей памяти, ожидая их подтверждения. Оба этих параметра зависят от размеров оперативной памяти модемов, участвующих в сеансе связи. Поскольку они могут иметь разный объем памяти, представляется логичным, что для каждого направления передачи согласуются свои значения этих параметров. В протоколе MNP в процессе согласования параметров выбирается одно, наименьшее значение для передачи в обе стороны.
б) Кадр XID протокола LAPM, с помощью которого производится согласование параметров, позволяет модемам обмениваться дополнительной информацией, такой как "ID (идентификатор) изготовителя". Это потенциально (а может и реально) дает возможность модемам одного и того же изготовителя расширять протокол в процессе сеанса по своему усмотрению.
в) Возможность повышения надежности коррекции ошибок с помощью четырехбайтовой контрольной последовательности кадра (CRC-32) в особо ответственных сеансах, при условии поддержки этой возможности обоими модемами. Поддержка этой возможности необязательна.
г) Совмещение функции передачи пользовательской информации с функцией подтверждения принятых данных.
д) Селективный повтор одного неверно принятого кадра. Реализация этой возможности (тип кадра SREJ) необязательна.
е) Кадр U-формата TEST позволяет в любой момент, не прекращая передачу пользовательской информации, осуществить кольцевое тестирование канала передачи данных. Поддержка этой возможности необязательна.