Ошибка протокола передачи данных

Обновлено: 30.06.2024

Строго говоря, противопоставление протокола. V.42ITU-T и МNР (the Microcom Networking Protocol) не вполне корректно. Дело в том, что Рекомендация V.42ITU-T - единый стандарт (по традиции называемый "Рекомендация"), описывающий все рассматриваемые протоколы коррекции ошибок. То, что в обиходе называется МNР2 и МNРЗ, есть соответственно байт-ориентированный и бит-ориентированный режимы протокола, описанного в Дополнении А к РекомендацииV.42, а то, что называется протоколом V.42, - протокол, описанный в основной части Рекомендации. Однако исторически сложилось так, что появление протоколов фирмы Microcom предшествовало выходу "Синей Книги" ITU-T с Рекомендацией V42. Поэтому в дальнейшем применяется сложившаяся терминология, которая хоть и не вполне корректна, зато проста и компактна.

То, что по недоразумению называют протоколом МNР4, протоколом на самом деле не является. Это не более, чем модифицированная реализация протоколов МNР2 и МNРЗ. Протокол коррекции ошибок определяет формат кадра, перечень допустимых типов кадров, логическую структуру кадра каждого типа и собственно протокол, т.е. порядок установки режима коррекции ошибок, выхода из режима и допустимого чередования кадров.

MNP-протоколы

MNP (Microcom Network Protocol) - серия наиболее распространенных аппаратных протоколов, впервые реализованная на модемах фирмы Microcom. Эти протоколы обеспечивают автоматическую коррекцию ошибок и компрессию передаваемых данных.

Сейчас известны 10 протоколов:

MNP1. Протокол коррекции ошибок, использующий асинхронный полудуплексный метод передачи данных. Это самый простой из протоколов MNP.

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

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

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

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

Эффективность этого метода составляет около 20% по сравнению с простой передачей данных.

MNP5. Дополнительно к методам MNP4, MNP5 часто использует простой метод сжатия передаваемой информации. Символы, часто встречающиеся в передаваемом блоке, кодируются цепочками битов меньшей длины, чем редко встречающиеся символы. Дополнительно кодируются длинные цепочки одинаковых символов. Обычно при этом текстовые файлы сжимаются до 35% своей исходной длины. Вместе с 20% MNP4 это дает повышение эффективности до 50%.

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

MNP6. Дополнительно к методам протокола MNP5 автоматически переключается между дуплексным и полудуплексным методами передачи в зависимости от типа информации. Протокол MNP6 также обеспечивает совместимость с протоколом V.29.

MNP7. По сравнению с ранними протоколами использует более эффективный метод сжатия данных.

MNP9. Использует протокол V.32 и соответствующий метод работы, обеспечивающий совместимость с низкоскоростными модемами.

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

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

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

Режимы MNP-модемов.

MNP-модем обеспечивает следующие режимы передачи данных:

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

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

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

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

Протоколы V.42 и V.42bis.

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

Вместе с 20% выигрышем от синхронного преобразования это увеличивает эффективность на 60%.


Приветствую всех на нашем сайте! Сегодняшняя статья будет целиком и полностью посвящена обзору протокола CAN. А в одной из следующих статей мы реализуем обмен данными по CAN на практике. Но не буду забегать вперед…

Основные характеристики протокола CAN:

Давайте перейдем к физическому уровню протокола. В интернете можно найти много противоречивой информации на этот счет, но истина тут одна 🙂 Стандарт CAN компании Bosch не регламентирует физический уровень передачи данных, поэтому могут использоваться абсолютно разные варианты, например, оптоволокно. На практике же чаще всего используется соединение посредством двухпроводной дифференциальной линии (витой пары). Ориентировочная максимальная длина линии для разных скоростей передачи данных составляет:

Скорость Длина линии
1 Мбит/с 50 м
500 кбит/с 100 м
125 кбит/с 500 м
10 кбит/с 5 км

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

Структура сети протокола CAN.

Доминантные и рецессивные биты.

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

Это свойство используется для арбитража в сети CAN. Пусть несколько устройств хотят передать данные. Каждый из этих передатчиков сравнивает значение, которое он передает, со значением, фактически присутствующим на линии. В том случае, если передаваемое значение совпадает со считанным, устройство продолжает высылать свои данные. Если значения совпали у нескольких устройств, то все они продолжают передачу как ни в чем не бывало.

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

Сигналы, которые передаются по витой паре, получили название CAN_H и CAN_L (High и Low). Доминантное состояние соответствует случаю, когда потенциал сигнала CAN_H выше потенциала CAN_L. Рецессивное — когда потенциалы равны (разница потенциалов не превышает допустимого отклонения, 0.5 В).

С этим вроде бы разобрались, давайте двигаться дальше!

Пришло время определить, как биты объединяются в кадры. Протокол CAN определяет 4 вида кадров:

  • Кадр данных (data frame)
  • Кадр удаленного запроса (remote frame)
  • Кадр перегрузки (overload frame)
  • Кадр ошибки (error frame)

Для кадра данных возможны два варианта — базовый формат и расширенный. Вот так выглядит структура базового формата:

А это структура расширенного:

Поле Длина Описание
Начало кадра (SOF) 1 бит Начало передачи кадра
Идентификатор A (ID A) 11 бит Первая часть идентификатора
Подмена запроса на передачу (SRR) 1 бит Рецессивный бит
Бит расширения идентификатора (IDE) 1 бит Бит определяет длину идентификатора, для расширенного формата — рецессивный бит
Идентификатор B (ID B) 18 бит Вторая часть идентификатора
Запрос на передачу (RTR) 1 бит Доминантный бит
Зарезервированные биты 2 бита Зарезервировано
Длина данных (DLC) 4 бита Количество байт данных
Данные 0 — 8 байт Данные
Контрольная сумма (CRC) 15 бит Контрольная сумма
Разграничитель контрольной суммы 1 бит Рецессивный бит
Промежуток подтверждения (ACK) 1 бит Для приемника — доминантный бит, для передатчика — рецессивный
Разграничитель подтверждения 1 бит Рецессивный бит
Конец кадра (EOF) 7 бит Все биты рецессивные

Кадр удаленного запроса (remote frame) представляет из себя кадр данных, описанный выше, но без поля данных и с рецессивным битом RTR. Он используется в случае, когда один узел хочет запросить данные у другого узла.

Кадр ошибки (error frame) передает устройство, обнаружившее ошибку в сети. Фрейм ошибки имеет наивысший приоритет и принимается всеми устройствами сети в обязательном порядке.

Кадр перегрузки (overload frame) используется очень редко… Его идея и назначение заключается в том, что с его помощью устройство, которое в данный момент не может принять данные, запрашивает повторную передачу этих же данных.

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

Итак, что у нас на очереди теперь? Конечно же контроль ошибок — важнейший аспект работы протокола CAN! Стандарт предусматривает несколько механизмов контроля ошибок.

  • Во-первых, это контроль передачи битов — уровень сигнала в сети сравнивается с передаваемым для каждого бита.
  • Второй механизм заключается в использовании дополнительных битов (stuffing bit). После передачи любых пяти одинаковых битов автоматически добавляется передача бита противоположного значения. Таким образом, при передаче шести одинаковых битов диагностируется ошибка stuffing’а. Этот механизм используется для кодирования всех полей фреймов данных и запроса. Исключением являются только поля промежутка подтверждения, разграничителя контрольной суммы и EOF.
  • Стандартная процедура проверки контрольной суммы. Передатчик вычисляет контрольную сумму для текущего кадра и передает ее в линию. В свою очередь, приемник также вычисляет контрольную сумму для принимаемых данных и сравнивает ее с тем значением, которое было отправлено передатчиком. В случае не совпадения значений диагностируется ошибка CRC.
  • Также выполняется контроль битов фрейма, которые должны иметь заранее определенное значение. В случае, если реальное значение не совпадает с тем, которое ожидается, возникает ошибка.

Благодаря всем этим механизмам, вероятность необнаружения ошибки является очень низкой, что, конечно же, не может не радовать 🙂

И на этом еще не все! Каждый узел может находиться в одном из трех состояний:

  • Error Active
  • Error Passive
  • Bus Off

Протокол CAN предусматривает, что изначально, после старта, узел находится в первом из этих состояний — Error Active. Каждое устройство имеет два счетчика ошибок:

  • Счетчик ошибок передачи
  • Счетчик ошибок приема

Если значение любого из этих двух счетчиков узла превысит значение 127, то узел переходит в состояние Error Passive. А если величина одного из счетчиков превысит 255, то узел перейдет в состояние Bus Off.

Разница между этими состояниями заключается в действиях узла при диагностировании ошибки:

Как видите, протокол CAN крайне интересен для изучения, надежен, безопасен, и удобен в использовании 🙂

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

Схема вложения ICMP-пакетов в Ethernet-кадр

По существу, значения полей типа и кода выполняют почти ту же функцию, что и порт в ТСР и UDP -протоколах.

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

Формат эхо-запроса и отклика ICMP


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

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

Отсюда видно, что наиболее узкими участками маршрута (на момент выполнения процедуры) являются Гамбург-Дюссельдорф-Берн-CERN. Следует иметь в виду, что канал МГУ-Гамбург был спутниковым и 500мс задержки здесь вносит удвоенное время распространения сигнала до спутника и обратно. Участок Гамбург-Дюссельдорф (X.25, квота 256кбит/с) был общим для потока данных из Германии в США. Передача IP поверх X.25 также снижает эффективную широкополосность канала. Остальные связи обладают недостаточной пропускной способностью. Программа ping показывает для данных участков в часы пик высокую долю потерянных пакетов. Таким образом, имея карту связей и используя указанные процедуры, вы можете успешно диагностировать ситуацию в сети. Продвинутые же программисты могут легко написать свои диагностические программы, базирующиеся на ICMP , как для локальной сети, так и для "окрестного" Интернет .

Так как собственные часы различных ЭВМ имеют свое представление о времени, протокол ICMP , среди прочего, служит для синхронизации работы различных узлов, если это требуется (запросы временных меток). Протокол синхронизации NTP ( network time protocol ) описан в RFC-1119.

Формат ICMP-запроса снижения загрузки

Формат ICMP-запроса переадресации

Команды переадресации маршрутизатор посылает только ЭВМ и никогда другим маршрутизаторам. Рассмотрим конкретный пример. Пусть некоторая ЭВМ на основе своей маршрутной таблицы посылает пакет маршрутизатору M1. Он, просмотрев свою маршрутную таблицу, находит, что пакет следует переслать маршрутизатору M2. Причем выясняется, что пакет из M1 в M2 следует послать через тот же интерфейс , через который он попал в M1. Это означает, что M2 доступен и непосредственно для ЭВМ-отправителя. В такой ситуации M1 посылает ICMP - запрос переадресации ЭВМ-отправителю указанного пакета с тем, чтобы она внесла соответствующие коррективы в свою маршрутную таблицу (либо чтобы администратор поменял IPадрес или маску ЭВМ).

Формат запроса маршрутной информации

Если вы работаете с ОС Windows , а конфигурационными сетевыми параметрами являются IP - адрес вашей ЭВМ, сетевая маска и адреса GW и DNS , то процедуры переадресации, скорее всего к вам отношения не имеют.

Значение поля код определяет природу таймаута (см. табл. 3.1).

Формат ICMP-запроса временной метки

Поле тип=13 указывает на то, что это запрос , а тип=14 - на то, что это отклик. Поле идентификатор и номер по порядку используются отправителем для связи запроса и отклика. Поле исходная временная метка заполняется отправителем непосредственно перед отправкой пакета. Поле временная метка на входе заполняется маршрутизатором при получении этого пакета, а временная метка на выходе - непосредственно перед его отправкой.

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

Формат запроса (отклика) маски субсети

Процесс интеграции услуг в Интернет несколько лет назад перешел в практическую плоскость и вслед за IPтелефонией, настала очередь цифрового телевидения . Главным транспортным средством для мультимедиа-данных является протокол UDP (RTP/ RTCP ). Но в протоколе UDP нет встроенных средств для подавления перегрузки. Возможность использования ICMP (4) трудно рассматривать всерьез, так как этот механизм достаточно груб и включается тогда, когда перегрузка уже привела к потере пакетов. Решить проблему управления перегрузкой в потоках без гарантии доставки должен новый протокол DCCP .

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

Глобальная сеть Интернет

Почему возникает ошибка

Операционные системы Microsoft, начиная с Windows 7, постоянно проводят мониторинг сетевых подключений, и коль скоро глобальная сеть недоступна, сразу же сообщают об этом. Причин, по которым на компьютере может отсутствовать подключение к Internet, не так и мало. Таковыми могут быть проблемы у провайдера, неверная настройка оборудования со стороны пользователя или сбои в работе сетевых протоколов. Сегодня получает всё большее распространение новый протокол IPv6, но процент его ещё совсем невелик, уж тем более в домашних сетях, поэтому основное внимание будет уделено старой версии — IPv4.


Подключение через роутер по сетевому кабелю без доступа к интернету

Неполадки у провайдера

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

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

Проблема с физическим подключением

Не так редки случаи, когда виной всему является частично перебитый сетевой кабель или разболтавшееся подключение в разъёме. А если у вас есть домашние животные или дети, то вероятность такого развития событий возрастает. Даже пользователям Wi-Fi не стоит забывать о том, что к беспроводному роутеру тоже протянут кабель. Проверьте целостность всей проводки — нет ли где-либо сильных перегибов, все ли штекеры плотно вставлены в гнёзда и вставлены ли они туда, куда действительно нужно. При условии, что здесь проблема не обнаружена, переходим к следующему этапу.

Подключение по локальной сети

Подключение по локальной сети Windows 7 без доступа к интернету

Если используется роутер

Перезагрузка оборудования

Бывает, что установленный роутер банально зависает. В таком случае помогает его перезагрузка. Для этого достаточно отключить у него питание и через несколько секунд подключить снова. Не помешает одновременно с этим перезапустить и компьютер. Если происходит так, что подобные зависания роутера происходят с раздражающей регулярностью, задумайтесь о покупке нового устройства. Также необходимо попробовать подключить интернет-кабель напрямую к ПК или ноутбуку. При отсутствии результата, для начала разберёмся с компьютером.

Проверяем настройки компьютера

Настройка подключения по локальной сети

Настройка подключения по локальной сети в Windows 7

Выясняем адрес роутера

Протокол интернета версии 4 (TCP/IPv4)

Настройка внутренней сети на роутере

После правильного ввода учётных данных, вы попадёте в панель управления маршрутизатором, и дальнейшие действия зависят от модели устройства и его прошивки. Вам необходимо найти управление DHCP-сервером, который отвечает за автоматическое получение устройствами IP адресов и других параметров, необходимых для того, чтобы сеть нормально функционировала. Ищите блоки, в названии которых указано DHCP settings, DHCP-сервер или подобное. Блок будет содержать переключатель со значениями Enable (Разрешить) или Disable (Запретить). Чаще всего, эти настройки находятся в разделе LAN (Сеть). Включите DHCP-сервер, сохраните изменения и перезагрузите роутер. Поле этого, на компьютере появится подключение к Internet.

Проверьте настройки подключения к провайдеру

Не стоит делать поспешные выводы, если предыдущие действия не помогли настроить подключение. Раз сеть всё ещё нормально не работает, проверяем соединение с провайдером, для чего в панели управления маршрутизатором перейдите в соответствующий раздел. Практически у всех производителей эти опции называются WAN или Internet. Вариантов настроек в этом разделе довольно много. Какие предназначены для вас, можно узнать из договора или в техподдержке вашего поставщика услуг.

Переустановка драйверов сетевой карты и проверка файервола

Делать это имеет смысл в том случае, когда вы уверены, что все предыдущие настройки верны, подключение с провайдером установлено, но сеть нормально настроить не получается. Лучшим вариантом будет скачать наиболее свежую версию драйвера с сайта производителя, для чего, похоже, придётся сходить к другу или соседу. При отсутствии такой возможности, вполне подойдёт тот драйвер, который прилагается на установочном диске. После переустановки обязательно перезагрузите ваш компьютер. Здесь необходимо отметить также сбои в драйверах, возникающие из-за установленного программного обеспечения, которое вносит изменения в работу сетевых протоколов на компьютере. Наиболее часто встречающиеся представители — это антивирусы и сетевые экраны. Убедитесь, что подобные программы не установлены, а если имеются, то отключите или удалите их на время проверки, поскольку они могут блокировать соединение.

Замена MAC-адреса сетевой карты

Очистка кэша DNS и сброс настроек TCP/IP

  1. ipconfig /flushdns
  2. netsh winsock reset
  3. netsh int ip reset c:\resetlog.txt — эта команда полностью сбросит все подключения и их придётся настраивать заново!

Очистка кэша DNS

Очистка кэша DNS c помощью командной строки

У вас установлено прямое подключение к провайдеру

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

Вообще ничего не помогло

Может быть, вам повезло, и ваш провайдер предоставляет доступ с использованием нового протокола IPv6, настройка которого требует знания некоторых тонкостей. Нужно отметить, что расширение использования IPv6 неизбежно, поскольку адресное пространство предыдущей версии протокола, IPv4 подошло к концу, а глобальная сеть растёт с каждым днём. Раз усилия оказались потрачены, а ваша сеть так и не заработала, то совет только один — вызывайте мастера. Вполне реально, что возникшая проблема нестандартная или для её решения требуется замена/ремонт оборудования.

Читайте также: