Научная статья на тему 'Восстановление стёртых пакетов в компьютерных сетях'

Восстановление стёртых пакетов в компьютерных сетях Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
4122
231
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНЫЕ СЕТИ / КОДИРОВАНИЕ / ВОССТАНОВЛЕНИЕ ПАКЕТОВ / СТИРАЮЩИЕ КОДЫ / COMPUTER NETWORKS / CODING / RENEWAL PACKETS / ERASURE CODES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кубицкий Валерий Иванович

Предлагается метод восстановления информационных пакетов при их потере в компьютерных сетях, основанный на использовании кодов Лагранжа. Разработаны алгоритмы вычисления контрольных пакетов, передаваемых по сети в дополнение к информационным пакетам, и алгоритмы восстановления стёртых пакетов. Определено количество операций в конечных полях и объёмы памяти для хранения постоянных величин при реализации этих алгоритмов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

RENEWAL OF THE LOST PACKETS IN COMPUTER NETWORKS

The method of renewal of informative packets is offered at their loss in computer networks, based on the use of Lagrange codes. The algorithms of calculation of check packets, transferred on a network in addition to the informative packets, and algorithms of renewal of the lost packets, are developed. The amount of operations in the finite fields and memory capacity are defined for storage of constant values during realization of these algorithms.

Текст научной работы на тему «Восстановление стёртых пакетов в компьютерных сетях»

УДК 621.313.684

ВОССТАНОВЛЕНИЕ СТЁРТЫХ ПАКЕТОВ В КОМПЬЮТЕРНЫХ СЕТЯХ

В.И. КУБИЦКИЙ

Статья представлена доктором технических наук, профессором Рудельсоном Л.Е.

Предлагается метод восстановления информационных пакетов при их потере в компьютерных сетях, основанный на использовании кодов Лагранжа. Разработаны алгоритмы вычисления контрольных пакетов, передаваемых по сети в дополнение к информационным пакетам, и алгоритмы восстановления стёртых пакетов. Определено количество операций в конечных полях и объёмы памяти для хранения постоянных величин при реализации этих алгоритмов.

Ключевые слова: компьютерные сети, кодирование, восстановление пакетов, стирающие коды.

Введение

В компьютерных сетях обработки данных для автоматизированных систем управления воздушным движением (АС УВД) существуют помехи, шумы, ведущие к потерям и искажениям данных. Одной из актуальных проблем является проблема потерь и задержек пакетов, что вызвано перегрузками в узлах (коммутаторов, маршрутизаторов и т.п.), коллизиями (наложением пакетов от разных абонентов), «проседанием» пропускной способности каналов передачи данных вследствие слишком большого количества одновременно подключённых пользователей, искажений в пакете, переполнения входных буферов сетевых устройств и др. В системах передачи данных и сетевых приложениях, работающих в режиме реального времени, задержки пакетов равнозначны потерям, поскольку нет возможности приостанавливать процесс обработки, передачи и отображения данных в ожидании пакета или его повторной передачи. Кроме того, запросы на пересылку, особенно в топологии «один-многим», приводят к дополнительным нагрузкам на канал передачи данных, что уменьшает объём трафика в сети. К тому же механизм обратной связи даёт положительный результат, если ошибки или потери пакетов носят случайный характер. При систематических ошибках и потерях пакетов их восстановление в отведённое время с использованием обратной связи весьма затруднительно. Поэтому в современных компьютерных сетях с большими объёмами цифровых данных необходимы методы обмена без использования обратных каналов. Нужны новые методы защиты от ошибок, которые не предусматривают наличие обратного канала.

Рассмотрим некоторые существующие и предложим новые методы восстановления пакетов. Будем использовать следующие термины:

сообщение (message) - блок информации, состоящий из последовательности пакетов;

пакет (packet) - блок информации, содержащий ограничители начала и конца пакета, заголовок, передаваемые данные и код для контроля ошибок.

1. Методы восстановления пакетов в компьютерных сетях

В реальных компьютерных сетях АС УВД часть пакетов может быть не доставлена получателю (потеряна), а часть - доставлена с обнаруженными получателем ошибками. Такие пакеты (потерянные и с ошибками) в теории помехоустойчивого кодирования считаются стёртыми [1], а в качестве базовой математической модели для описания канала с помехами в компьютерных сетях используется модель канала со стираниями пакетов.

Для обнаружения ошибок в пакетах получателем отправитель обычно использует коды. Простейшим примером является контрольная сумма бит пакета или проверка на чётность, что недостаточно надёжно, особенно при появлении пачек ошибок. В большинстве сетевых приложений применяются более сложные, но и более надёжные циклические коды, к числу которых относятся коды CRC (Cyclic Redundancy Code), способные обнаруживать как независимые ошибки, так и серии ошибок в последовательно расположенных битах, и гарантированно обнаруживают серии ошибок длины r (где r=4, 8, 16, 32) [1].

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

Для обнаружения потерянных пакетов могут использоваться протоколы, предусматривающие в структуре пакета его номер. Реализацию порядковой нумерации пакетов данных обеспечивают, например, протоколы RTP, IP, входящие в стек протоколов TCP/IP.

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

Примером протоколов с использованием обратного канала являются протоколы с гарантированной доставкой данных, такие как TCP (Transmission Control Protocol), FTP (File Transfer Protocol), HTTP (Hypertext Transfer Protocol) и другие. Позитивное подтверждение с повторной передачей, положенное в основу рассмотренных протоколов, является одним из методов, гарантирующих надёжную доставку данных.

Однако в приложениях, работающих в режиме реального времени и подверженных риску потерь пакетов при передаче (например, цифровое телевещание через Интернет, Интернет-телефония, распределенные сетевые игры и т.д.), протоколы с гарантированной доставкой данных не применяются, так как используемая в них повторная пересылка данных приводит к увеличению задержек. А в этих приложениях введены жёсткие ограничения на максимально допустимую задержку данных в цепи «отправитель-получатель». Для таких приложений используются протоколы с негарантированной доставкой пакетов, такие как IP (Internet Protocol), UDP (User Datagram Protocol), RTP (Real-time Transport Protocol), не использующие повторную пересылку данных в случае потерь. Протоколы с негарантированной доставкой пакетов разрабатывались для приложений, в которых приемлемы потери пакетов и ошибки передачи, поэтому они не могут полностью исключить такие события. В то же время для многих приложений недопустимы потери или порча данных, как и повторный запрос. Например, при потере в сетях хранения данных (Storage Area Networks - SAN) большинство ленточных устройств прерывают операцию резервного копирования.

Как отмечено выше, контрольная сумма и коды CRC используются для обнаружения ошибок в пакетах. Для исправления ошибок в пакете используют корректирующий код Хэмминга, при этом обратный канал не используется. Однако применение кодов CRC, Хэмминга и т. п. для кодирования пакетов не решает проблему восстановления всего стёртого пакета без использования обратного канала. Не могут решить проблему другие классические помехоустойчивые коды: свёрточные коды исправляют отдельные битовые ошибки, многие блоковые коды способны исправлять пачки ошибок в отдельно взятом пакете [2].

Для восстановления целого пакета в случае его потери созданы новые помехоустойчивые стирающие коды (коды Лаби) [3], которые позволяют закодировать исходное сообщение конечной длины, состоящее из символов (или пакетов) любой одинаковой длины, потенциально неограниченным потоком кодовых символов (пакетов). Это свойство позволяет говорить о стирающих кодах, как о кодах с нефиксированной скоростью. В случае необходимости кодер стирающего кода по запросу всегда может добавить "на лету" (on-the-fly, on-line) небольшое число

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

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

Ввиду того, что в основе теории кодов ЛТ лежит статистическая задача о мячах, бросаемых случайным образом в корзины, эффективность этих кодов проявляется при достаточно большом числе исходных символов (пакетов). Для кодов ЛТ количество информационных пакетов (K) рекомендуется порядка 10000 [3], при низких значениях K (порядка 100-500 пакетов) не работают статистические свойства, и эффективность кодов ЛТ может существенно снизиться. Снижение эффективности кодов ЛТ может наблюдаться, например, в сетях Ethernet, FDDI, Х.25. Это вызвано тем, что для этих сетей максимальный размер поля данных кадра или пакета (MTU - Maximum Transfer Unit), в которые должен инкапсулировать свой пакет протокол IP, меньше количества информационных пакетов (10000), для которого проявляется эффективность кодов ЛТ. Сети Ethernet имеют значение MTU, равное 1500 байт, сети FDDI - 4096 байт, а сети Х.25 чаще всего работают с MTU в 128 байт.

Для полного декодирования всех исходных пакетов коды ЛТ предполагают возможность досылки кодовых пакетов до тех пор, пока все исходные пакеты не будут восстановлены. Для потоковых сетей в режиме реального времени (например, для «живого» IPTV) возможность ожидания досылки отсутствует. Каждое сообщение должно быть получено (обработано) в строго определённое время, и ждать, пока придёт дополнительный пакет для восстановления данных сообщения, нельзя.

Необходимость буферизации большого числа исходных пакетов (т. к. эффективность кодов ЛТ начинает проявляться для большого числа исходных пакетов) вызывает длительную (до нескольких десятков секунд [4]) задержку сигнала между приёмником и передатчиком.

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

Отмеченные недостатки рассмотренных кодов приводят к необходимости разработки для вычислительных систем реального времени кодов, лишённых этих недостатков.

2. Требования к кодам для вычислительных систем

Помехоустойчивые коды для АС УВД и других систем, работающих в реальном масштабе времени, должны отвечать следующим требованиям:

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

2) для восстановления исходного сообщения получателем должны быть использованы любые полученные пакеты;

3) иметь минимальную избыточность при высоких корректирующих возможностях;

4) обеспечивать по возможности гибкую схему кодирования (добавлять "на лету" контрольные символы), в зависимости от степени зашумлённости канала передачи;

5) контрольные символы (пакеты) должны формироваться независимо друг от друга;

6) кодирование/декодирование кода должно осуществляться с использованием минимального объёма вычислительных ресурсов;

7) учитывать байтовую структуру данных;

8) обладать способностью обнаружения и/или исправления ошибок при передаче, обработке и хранении информации;

9) обладать способностью защиты функциональных преобразований при обработке;

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

Исследования показывают, что наиболее полно удовлетворяют этим требованиям полиномиальные коды Лагранжа, введённые в [5].

3. Коды Лагранжа для восстановления стёртых пакетов

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

Для обеспечения возможности восстановления стёртых пакетов представляется необходимым кодировать всё сообщение, состоящее из пакетов.

3.1. Общая схема кодирования

Код Лагранжа представляет собой блоковый код, в котором символы состоят из т бит. Если эти символы рассматривать как пакеты сообщения, то код может быть использован для доставки сообщений в канале со стираниями [6]. При этом основным свойством кода является следующее: для доставки к информационных пакетов (символов) достаточно принять любые к пакетов (символов) из п, то есть стёртыми могут быть любые из г=п-к пакетов (символов). Для кода Лагранжа не существует проблемы добавления «на лету» небольшого числа контрольных пакетов (символов), так как число контрольных символов г<Ы-к (где к - фиксировано для конкретного сообщения, Ы=рт - количество элементов конечного поля) и контрольные символы независимы друг от друга. Поэтому при переходе от г=п-к (г+к=п<Ы) контрольных пакетов (символов) к большему числу г'=п'-к (г'+к=п'<Ы) все контрольные пакеты (символы) не требуют повторного вычисления. Это свойство кодов Лагранжа вытекает из положений работы [7].

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

1. Формируются информационные пакеты исходного сообщения:

а) исходное сообщение, подлежащее передаче, разбивается на части (блоки данных - блоки данных информационных пакетов), количество которых равно к;

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

Количество элементов г-го блока данных равно Д = —, / = 1, к, где Ц - длина /-го блока

т

данных (бит);

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

В результате получим к информационных пакетов.

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

2. В дополнение к к информационным пакетам формируются r контрольных пакетов:

а) по правилам кодирования выбранного кода производится формирование блоков данных контрольных пакетов.

При этом каждый p-й ( p = 1, 1) элемент блока данных в каждом j-м ( j = 1, r ) контрольном пакете кодируется кодом, который будем называть внешним кодом. Этот код, каждый символ которого состоит их m двоичных бит, является недвоичным.

Длина каждого p-го кодового слова внешнего кода составляет np < 2m ;

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

Количество контрольных пакетов (r) определяется максимальным количеством пакетов, которое необходимо будет восстановить после стирания. Общее количество передаваемых пакетов составит n = к + r.

Отметим, что формирование контрольных пакетов будет происходить без задержки передачи исходных информационных пакетов.

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

3.2. Кодирование сообщения кодом Лагранжа

Формирование блоков данных контрольных пакетов будет производиться поэлементно (посимвольно) по интерполяционной формуле Лагранжа с применением одного из алгоритмов: параллельного, последовательного или параллельно-последовательного [8].

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

s+j-1 x — b _____________________________

f("(ß,)=—If!p) nbT7• j = 1 r• p = 11, (!)

i=0 l=j+1 Pj Pl

где П Ptp=—jß,)='(Xi к S

l=j+1ß j ßl

Tr =0, xe S—^ ßje T ;

S = {x0,..., xs} - множество информационных узлов мощности к;

T = ß ..., ßr} - множество контрольных узлов мощности r;

f(p)(ßj ) = fS+pj - вычисленное значение p -го элемента в j-м контрольном пакете;

f(+j—1 - вычисленные значения p -го элемента в предыдущих (j — 1) -х пакетах;

fp) - значение p -го элемента в i-м информационном пакете (i = 0, s);

1 - количество элементов в блоке данных пакета (длина блока данных пакета).

,, = SUК..., рЛ t, = T\{ß1,..., р, }

В [6] доказано, что при любом n (2e < n < q, где n - длина кодового слова, q = pm - количество элементов конечного поля GF(pm) ) для исправления е стираний кодом Лагранжа достаточно e контрольных узлов (пакетов), то есть r=e.

Алгоритм вычисления всех (r) контрольных символов по каждому p -му элементу

(p = 1, Л) в соответствии с формулой (1) будет следующим:

1. Для каждого i = 0, s , задавая l = r, 2, вычисляем величины ail = хг — b и определяем

s s s s

суммы: Z fflrr , Z ( fiair ) aг,r-1,■■■, Z ((" .(fiair)...) ai3) аг2. Отдельно определяется Z f .

i=0 i=0 i=0 i=0

r

2. Вычисляем gj = — 1/ ^ (bj — Pi ) . На первом шаге j = 1, в дальнейшем каждый раз при

1 = J +1

обращении к этому пункту увеличиваем j на единицу до ( r — 1 ).

3. Определяем контрольные символы fs+j . При j = r — 1 переходим к пункту 5.

4. Для каждого j = 1, r — 1, задавая значения l = r, j + 2, вычисляем произведения ocj)bjl,

где 0 ) : 0 ) = fs+j , 0—11) = fs+jbjr , ■ , 0jj+2) = (K (fs+jbjr )■■) bjj +3 ; bfl =P —b . При этом при-

s

бавляем величины fs+ . к сумме Z fi ■ После каждого изменения j выполняем пункт 2.

г=0

s+ r—2

5. Суммируя f.+r-, и Z f , вычисляем fs+r .

i=0

Здесь b12 = b1 — P2 , b13 = b1 — b3 , b23 = Pi — b3 , ••• , b1r = b1 — Pr ,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

b2r =P2 —Pr , • , br—1,r =br—1 —br , ai 2 = Хг —b2 , ai 3 = Хг — b3 , • , a<r = Хг —pr , g1 1 /(b12 b13 •••b1r ), g2 =—1/(b23b24 K-b2 r ), •” , gr—1 =—1/ br—1,r .

Для вычисления всех (r) контрольных символов по каждому p -му элементу ( p = 1, Л ) в соответствии с этим алгоритмом потребуется выполнить операции сложения, умножения и инвертирования в конечном поле соответственно в количестве

Ne= n(2r — 1) — r(r +1), N^= (n — 1)(r — 1), N = r — 1.

Расчёт количества операций производился с учётом наличия ( r — 1 ) регистров памяти для хранения величин b jl . С учётом наличия памяти для хранения n узлов интерполирования необходимо иметь ( n + r —1 ) регистров.

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

При формировании блоков данных контрольных пакетов исходного сообщения для уменьшения количества операций можно использовать параллельно-последовательный алгоритм кодирования кода Лагранжа [8]. В этом случае узлы интерполирования являются фиксированными и фундаментальные полиномы Лагранжа Z(i)( x) можно вычислить заранее и хранить в памяти как постоянные величины. Значения элементов блоков данных контрольных пакетов вычисляются по формулам

s s r —1

f p)(bj)=Zf‘,)A, ■ /“(л)=—[Zf'p)+Z/“Ob-)]■ (2)

i=0 i=0 J=1

где Ajt = LS (bj ) = const, J = 1, r — 1.

Для вычисления всех (r) контрольных символов по каждому p -му элементу ( p = 1, Л ) в соответствии с формулой (2) потребуется выполнить операции сложения и умножения в конечном поле соответственно в количестве Næ = r(n — r) — 1, NQ = (r — 1)(n — r).

Для хранения коэффициентов х) необходимо иметь (г — 1)(п - г) регистров.

3.3. Восстановление стёртых пакетов

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

Из [5] следует, что любые (п — к ) символов кода Лагранжа (к - количество информационных символов) могут считаться избыточными (контрольными). Это означает, что в качестве контрольных узлов в случае стирания можно взять стёртые узлы (если их не больше, чем п — к ). Расширяясь на эти узлы, получим значения символов, которые соответствуют стёртым значениям.

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

/+Х—1 в х — V ___ ____

/'><) = — I I,'р) П-х—ь ■ Х=1. в. р = 1.1, (3)

¿=о 1=Х+^Х— vl

где П^-^ = —= Z(fl(х'), ^—1 = £ и 1V1, к , ^1}, УХ= У \ 1V1, к , vx^,

г=Х+^Х — vl

V =0, х'е З'х—^ vx&Vx;

£' = {х'0,к,х^} — множество узлов мощности к' принятых (нестёртых) пакетов;

V = к, ve} - множество узлов мощности в стёртых пакетов;

/(р)(Vx) = //р£ - вычисленное значение р -го элемента в Х-м восстанавливаемом пакете;

—1 - вычисленные значения р -го элемента в предыдущих (Х — 1) -х восстановленного

пакетах;

/■'р) - значение р -го элемента в /-м нестёртом пакете (/ = 0, я');

I - количество элементов в блоке данных пакета (длина блока данных пакета).

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

Заключение

Рассмотрена возможность применения корректирующих кодов для восстановления данных при потерях пакетов в компьютерных сетях. Установлено, что применение для этих целей стирающих кодов, основанных на методах статистического кодирования, ограничено свойствами этих кодов. Разработаны требования к кодам для использования в вычислительных системах. Предложенные для исправления стираний коды Лагранжа, удовлетворяющие этим требованиям, имеют простые алгоритмы декодирования, сводящиеся к вычислению стёртых пакетов (символов) посредством алгоритмов кодирования. Эти коды, являясь блоковыми кодами, позволяют добавлять «на лету» контрольные символы. Тем самым можно получить код с нефиксированной скоростью. Коды могут быть использованы в любом канале со стираниями, независимо от статистики стираний. Алгоритмы кодирования и декодирования принципиально не зависят от размера пакета.

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

Разработанные алгоритмы дают возможность выполнить программную и аппаратную реализацию восстановления стёртых пакетов.

ЛИТЕРАТУРА

1. Варгаузин В.А. Помехоустойчивое кодирование в пакетных сетях // ТелеМультиМедиа. - 2005. - № 3.

2. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки / пер. с англ. / под ред. Р.Л. Добрушина и С.И. Самойленко.

- М.: Мир, 1976.

3. Luby M. LT Codes // Proc. of the 43rd Annual IEEE Symposium on Foundations of Computer Science (FOCS). - 2002.

4. Шинкаренко К.В., Кориков А.М. Помехоустойчивое кодирование мультимедиа данных в компьютерных сетях // Известия Томского политехнического университета. - 2008. - Т. 313. - № 5.

5. Амербаев В.М. Теоретические основы машинной арифметики. - Алма-Ата: Наука, 1976.

6. Кубицкий В.И. Процедуры декодирования в каналах с ошибками и стираниями // Проблеми інформатизаціі та управління: Збірник наукових праць. - К.: НАУ, 2007. - Вип. 3 (21).

7. Кубицкий В. И. Кодирование для неполного кода Лагранжа // Проблеми інформатизаціі та управління: Збірник наукових праць. - К.: НАУ, 2005. - Вип. 4 (15).

8. Кубицкий В.И. Процедуры кодирования и декодирования для полиномиальных кодов // Эксплуатация программного обеспечения систем реального времени, построенных на базе микро - и мини-ЭВМ: сб. научн. тр.

- Киев: КИИГА, 1989.

RENEWAL OF THE LOST PACKETS IN COMPUTER NETWORKS

Kubitskiy V.I.

The method of renewal of informative packets is offered at their loss in computer networks, based on the use of Lagrange codes. The algorithms of calculation of check packets, transferred on a network in addition to the informative packets, and algorithms of renewal of the lost packets, are developed. The amount of operations in the finite fields and memory capacity are defined for storage of constant values during realization of these algorithms.

Key words: computer networks, coding, renewal packets, erasure codes.

Сведения об авторе

Кубицкий Валерий Иванович, 1951 г. р., окончил КИИГА (1973), начальник сектора ФГУП Гос-НИИ «Аэронавигация», автор более 40 научных работ, область научных интересов - проектирование, эксплуатация, надёжность и помехоустойчивость АС УВД, компьютерные системы и компоненты.

i Надоели баннеры? Вы всегда можете отключить рекламу.