ATM - история и базовые принципы


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


1.2.3. Обработка ошибочных данных

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

В рекомендации описана процедура восстановления данных при обслуживании однонаправленного видеосервиса, т.е. для системы, где требуется высокое качество и нет возможности запросить повторную передачу. Метод основан на применении ошибкоисправляющих кодов. Используемые в спецификации коды позволяют исправлять до двух искаженных байт или четырех "затертых" байт. Затертым является байт с ошибкой, положение которого в теле блока точно известно. Однако, если просто добавлять в каждый блок данных проверочную последовательность, то никак не возможно будет исправить ошибки, связанные с потерей селлов - ведь вместе с данными потеряется и проверочная последовательность. Поэтому используется двумерное кодирование, проиллюстрированное на рис.6.

Формат матрицы чередований

Рис. 6. Формат матрицы чередований

В системе на передаче организована матрица, куда будут записываться данные пользователя. Матрица содержит 47 строк и 128 столбцов. Данные от пользователя записываются, группируются по 124 байта, и к ним добавляется еще 4 байта проверочной последовательности. Получившиеся 128 байт записываются в строку матрицы. Таким образом, данные от абонента последовательно записываются в матрицу строка за строкой. Всего в матрицу будет записано 128*47=6016 байт - из них потом получится 128 селлов (заметим, что размер столбца матрицы соответствует размеру поля данных, подаваемого на уровень сборки/разборки).




- Начало -  - Назад -  - Вперед -