Ошибки на пакетном уровне классифицируются следующим образом:
а) синтаксические ошибки - получение пакета, формат которого не соответствует спецификациям пакетного уровня.
Примерами синтаксических ошибок являются:
получение любого пакета с недействительным идентификатором общего формата,
получение любого пакета с неприсвоенным идентификатором логического канала (сюда относятся любые пакеты, кроме пакетов повторного пуска, регистрации и ДИАГНОСТИКА, поступивших с нулевым идентификатором логического канала),
получение любого пакета с недействительным идентификатором типа пакета,
получение пакета ДАННЫЕ, у которого длина данных превышает максимальную длину поля "данные пользователя", разрешенную в этом логическом канале;
б) логические ошибки - получение пакета, который неприемлем в текущем состоянии логического канала, или пакета с недействительным номером Ппм или Ппд. Примерами логических ошибок являются:
получение пакета ПОДТВЕРЖДЕНИЕ (ЗАВЕРШЕНИЕ, ПОВТОРНАЯ УСТАНОВКА, ПОВТОРНЫЙ ПУСК или РЕГИСТРАЦИЯ) до передачи соответствующего пакета ЗАПРОС;
получение второго пакета ПРЕРЫВАНИЕ до передачи пакета ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ;
получение любого пакета со значением Ппм, не превышающим или равным значению последнего принятого Ппм, либо не меньшим или равным значению следующего Ппд, подлежащего передаче через интерфейс ООД/ХХД;
получение пакета ДАННЫЕ с номером Ппд, расположенным вне окна, либо внутри окна, но не являющимся очередным;
в) ошибки передачи - ошибки возникающие из-за потери или задержки пакетов. Примерами ошибок передачи являются:
неполучение соответствующего ответного пакета (например ПОДТВЕРЖДЕНИЕ ПОВТОРНОГО ПУСКА) после передачи пакета ЗАПРОС ПОВТОРНОГО ПУСКА и до истечения тайм-аута Т20;
неполучение соответствующего ответного пакета (например СОЕДИНЕНИЕ УСТАНОВЛЕНО) после передачи пакета ЗАПРОС ВЫЗОВА и до истечения тайм-аута Т21;
неполучение соответствующего ответного пакета (например ПОДТВЕРЖДЕНИЕ ПОВТОРНОЙ УСТАНОВКИ) после передачи пакета ЗАПРОС ПОВТОРНОЙ УСТАНОВКИ и до истечения тайм-аута Т22;
неполучение соответствующего ответного пакета (например ПОДТВЕРЖДЕНИЕ ЗАВЕРШЕНИЯ) после передачи пакета ЗАПРОС ЗАВЕРШЕНИЯ и до истечения тайм-аута Т23;
неполучение соответствующего ответного пакета (например ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ) после передачи пакета ПРЕРЫВАНИЕ и до истечения тайм-аута Т26;
неполучение соответствующего ответного пакета (например ПОДТВЕРЖДЕНИЕ РЕГИСТРАЦИИ) после передачи пакета ЗАПРОС РЕГИСТРАЦИИ и до истечения тайм-аута Т28.
Приведенные выше примеры не охватывают всех ошибочных ситуаций. Действия, выполняемые ООД при обнаружении синтаксической или логической ошибки, приведены в табл.37 ... 42. Действия, выполняемые ООД при обнаружении ошибки передачи, приведены в табл.32 и 33.
11.1. Пакет ДИАГНОСТИКА
Пакет ДИАГНОСТИКА применяется как в конфигурации ООД/АКД, так и в конфигурации ООД/ООД. Однако в первом случае передавать пакет ДИАГНОСТИКА может только АКД. ООД в конфигурации ООД/ООД может передавать пакет ДИАГНОСТИКА при условии, что оно способно подавлять его выдачу, будучи подключенным к сети.
Пакет ДИАГНОСТИКА используется для информирования об ошибочных условиях в тех случаях, когда обычные методы информирования (т.е. повторная установка, завершение и повторный пуск с указанием причины и диагностики) неприменимы (см. табл.37 и 38). Пакет ДИАГНОСТИКА содержит информацию об ошибочных ситуациях, которые считаются неустранимыми на пакетном уровне. При получении пакета ДИАГНОСТИКА пакетный уровень посылает логическому объекту вышерасположенного уровня уведомление о его приеме и содержащуюся в нем информацию об ошибке.
Пакет ДИАГНОСТИКА выдается только один раз для каждого случая возникновения ошибки. От ООД не требуется передавать подтверждения при приеме пакета ДИАГНОСТИКА.
См. также:
формат пакета ДИАГНОСТИКА (п.12.7 и черт.24);
диагностические коды (табл.30 и 31);
процедуры повторной установки (разд.8);