Способ пакетной передачи сообщений в сетях связи с многомерной маршрутизацией

Иллюстрации

Показать все

Способ пакетной передачи сообщений относится к области техники связи и может быть использован для передачи дискретной информации, защищенной помехоустойчивым кодом. Технический результат - сокращение времени доставки сообщения. Результат достигается за счет того, что на передающей стороне сообщение разделяют на блоки, длина которых равна числу пакетов в сообщении, каждый блок кодируют помехоустойчивым кодом, выполняют блоковое перемежение символов помехоустойчивого кода с глубиной перемежения, равной длине пакета, и затем символы помехоустойчивого кода разделяют на пакеты таким образом, чтобы каждый символ кода был расположен в своем пакете, причем в каждом пакете формируют контрольную группу для обнаружения ошибок, и далее пакеты по многомерному маршруту передают на приемную сторону. На приемной стороне для каждого пакета проверяют контрольную группу, и пакеты, в которых обнаруживают ошибки, стирают, выполняют деперемежение символов принятых пакетов, формируют помехоустойчивый код, который затем декодируют с исправлением стираний, и получают принятое сообщение. Используемый помехоустойчивый код - код Рида-Соломона. 1 з.п. ф-лы, 1 ил.

Реферат

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

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

Пакетную передачу сообщений поддерживают многие сетевые протоколы. Наиболее распространенным подходом к пакетной передаче сообщений является подход, определяемый рекомендациями МСЭ - ТХ.25. Разновидностью пакетной коммутации является также технология FR (Frame Relay) и стандартизованная технология передачи, мультиплексирования и коммутации - АТМ (Asynchronous Transfer Mode). Своевременная передача сообщений в таких системах достигается за счет высокой надежности маршрутов. Сократить время передачи сообщений можно также за счет резервирования маршрутов помехоустойчивыми кодами. Наиболее эффективно, с точки зрения уменьшения времени доставки сообщения, использование способа в сетях с многомерной маршрутизацией, размерность которых позволяет одновременно и независимо передавать большое число пакетов.

Известен способ пакетной передачи сообщений в сетях связи с многомерной маршрутизацией, при котором на передающей стороне сообщение разделяют на пакеты, причем в каждом пакете формируют контрольную группу для обнаружения ошибок, и далее пакеты по многомерному маршруту передают на приемную сторону. На приемной стороне для каждого пакета проверяют контрольную группу, затем для пакетов, в которых обнаруживают ошибки, формируют запрос на повторную их передачу, а безошибочные пакеты запоминают, после безошибочного приема всех пакетов получают принятое сообщение (Уайндер С. Справочник по технологиям и средствам связи. Пер. с англ. - М.: Мир, 2000, стр.299).

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

Наиболее близким к предлагаемому способу является способ (прототип) пакетной передачи сообщений в сетях связи с многомерной маршрутизацией, при котором на передающей стороне сообщение кодируют помехоустойчивым кодом, затем символы помехоустойчивого кода разделяют на пакеты, причем в каждом пакете формируют контрольную группу для обнаружения ошибок, и далее пакеты по многомерному маршруту передают на приемную сторону. На приемной стороне для каждого пакета проверяют контрольную группу, и пакеты, в которых обнаруживают ошибки, стирают, а из символов пакетов, в которых не обнаруживают ошибки, формируют помехоустойчивый код, который затем декодируют с исправлением стираний в результате получают принятое сообщение (Лагутенко О.И. Современные модемы. М.: Эко-Трендз, 2002, стр.154).

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

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

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

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

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

Исходное сообщение на передающей стороне сети связи состоит из последовательности n символов

a0, a1, a3,..., an-1.

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

и последовательность k блоков, в каждом из которых содержится h символов, запишется в виде

a0, a1,..., ah-1; ah, ah+1,..., a2h-1; ...; a(k-1)h, a(k-1)h+1,..., akh-1.

Затем каждый из блоков символов кодируется помехоустойчивым кодом, например кодом Рида-Соломона. Код Рида-Соломона является МДР-кодом (кодом с максимально достижимым кодовым расстоянием), то есть является наилучшим помехоустойчивым кодом в классе недвоичных кодов. Минимальное кодовое расстояние кода Рида-Соломона равно

где N и К соответственно блоковая и информационные длины кода, r=N-K - число проверочных символов кода. Это позволяет коду Рида-Соломона исправлять s стираний с помощью s проверочных символов или исправлять t ошибок, используя 2t проверочных символов. В результате кодирования блоков помехоустойчивым кодом получим последовательность k помехоустойчивых кодов Рида-Соломона

a0, a1,..., ah-1, b1,..., br-1; ah, ah+1,..., a2h-1, br, br+1,..., b2r-1;...

(a(k-1)h, a(k-1)h+1,..., akh-1, b(k-1)r, b(k-1)r+1,..., bkr-1;

где r - число проверочных символов кода Рида-Соломона, a bi - проверочные символы кода.

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

a0, ah,..., a(k-1)h, a1, ah+1,..., a(k-1)h+1,..., ah-1, a2h-1,..., akh-1,

b0, bh,..., b(k-1)r, b1, bh+1,..., b(k-1)r+1,..., br-1, b2r-1,..., bkr-1,

то есть сначала расположены первые символы всех помехоустойчивых кодов, далее - вторые символы и так далее. В конце последовательности расположены последние символы помехоустойчивых кодов. Такое перемежение называют блоковым перемежением [Гаранин М.В. и др. Системы и сети передачи информации. Учебн. пособие для вузов. - М.: Радио и связь, 2001, стр.119].

Затем полученную последовательность символов делят на пакеты. Поскольку длина информационной части пакетов равна k, то пакеты получают добавлением к символам кода с одинаковыми номерами некоторой служебной информации (заголовка и конечной части), в частности добавлением контрольных групп ci. В результате, с учетом только контрольных групп, получим последовательность h+r пакетов следующего вида:

из которых h пакетов содержат информационные символы кода, а r пакетов - проверочные символы кода. Соответственно можно говорить, что имеется h информационных пакетов и r проверочных, избыточных пакетов. Заметим, что прямоугольная таблица символов (2) образует итеративный код, столбцы которого составлены из кодов Рида-Соломона, а строки проверяются контрольными группами пакетов.

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

На приемной стороне сначала проверяют контрольные группы пакетов. Символы пакетов, в которых обнаружены ошибки, стирают. Это означает, что некоторые строки таблицы (2) будут стерты. Ясно, что стирание s строк таблицы (2) приводит к стиранию точно s символов в каждом коде Рида-Соломона.

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

После этого выполняют декодирование кодов Рида-Соломона с исправлением стираний и восстановление исходного сообщения. Число проверочных символов кода Рида-Соломона равно r, поэтому, исходя из оценки минимального кодового расстояния кода (1), для декодирования кода необходимо выполнение условия s≤r, то есть для правильного приема сообщения необходимо, чтобы число стертых пакетов не превосходило число проверочных символов в коде Рида-Соломона. Если формулировать условие правильного приема по отношению не к стертым, а к принятым пакетам, то можно сказать, что прием любых К пакетов из общего числа N переданных обеспечивает правильный прием всего сообщения. Таким образом, для приема сообщения справедлив принцип К из N. В терминах теории надежности это означает, что используется постоянное резервирование маршрутов с дробной кратностью [Головко А.М. Основы теории надежности. М., Наука, 1964].

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

Предлагаемый способ обеспечивает вероятность приема сообщения не хуже, чем в известном способе. В известном способе блоковая длина кода равна kN, а информационная - kK, и для приема сообщения общее число стертых символов кода не должно превосходить величины R=kN-kK=k(N-K)=kr. Поскольку в пакете k символов, то стирание s пакетов означает стирание ks символов. Для декодирования длинного кода в известном способе необходимо выполнение условия ks≤kr, то есть s≤r. Последнее условие совпадает с условием декодирования короткого кода, поэтому предлагаемый способ по достоверности приема сообщения не хуже известного.

Известно, что при случайном и независимом распределении ошибок в канале связи более высокую достоверность передачи сообщения обеспечивают длинные помехоустойчивые коды [Галлагер Р. Теория информации и надежная связь. Пер. с англ., М., "Сов. радио", 1974]. Высокая достоверность передачи сообщения короткими кодами в предлагаемом способе, по сравнению с передачей сообщения одним длинным кодом, достигается за счет равномерного распределения стираний между отдельными кодами. При этом равномерное распределения стираний обеспечивается блочным перемежением символов кода между пакетами сообщения, так, что стирание каждого пакета приводит к стиранию ровно одного символа в каждом коротком коде.

Отметим также, что для других помехоустойчивых кодов и других оценок их корректирующей способности, например для двоичных кодов Боуза-Чоудхури-Хоквингема (БЧХ-коды), предлагаемый способ будет даже превосходить по достоверности известный.

С другой стороны, предлагаемый способ имеет меньшее время доставки сообщения, чем известный. Это обусловлено меньшим временем кодирования и декодирования помехоустойчивого кода в рассматриваемом способе. Оценка сложности реализации, то есть количества операций, необходимых для кодирования и декодирования кода Рида-Соломона, в зависимости от его блоковой длины, выражается в виде m-=O(Nlog2(N)) [Блейхут Р. Теория и практика кодов, контролирующих ошибки: Пер. с англ. - М.: Мир, 1986, стр.387].

Поэтому для известного способа сложность реализации одного длинного кода с блоковой длиной kN запишется m1=O((kN)log2(kN)), а для предлагаемого способа сложность реализации k коротких кодов с блоковой длиной N будет m2=kO(Nlog2(N)). Ясно, что для k>1 справедливо m1>m2.

Например, при длине сообщения kK=1024 байта, длине информационной части пакета, равной 64 байта, количество информационных пакетов будет равно 16. Соответственно число коротких кодов в предлагаемом способе будет равно 64. Для обеспечения высокой достоверности приема сообщения в сети связи достаточно исправления 2-х стираний в помехоустойчивом коде, значит, короткий код Рида-Соломона, определенный над полем Галуа GF(28), будет иметь блоковую длину, равную 18, а информационную длину, равную 16 байт. Длинный код будет иметь блоковую длину, равную 1152 (1024+2·64) байта, а информационную длину - 1024 байта.

Количество операций декодирования длинного кода равно m1=64·18 log2(64·18), суммарная сложность декодирования 64 коротких кодов будет m2=64·18log2(18), поэтому время декодирования помехоустойчивого кода предлагаемого способа примерно в 5,95 раз меньше известного, а значит, меньше и время доставки сообщения.

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

Достигаемым техническим результатом предлагаемого способа пакетной передачи сообщений в сетях связи с многомерной маршрутизацией является сокращение времени доставки сообщения.

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

2. Способ по п.1, отличающийся тем, что блоки кодируют помехоустойчивым кодом Рида-Соломона.