X КОДИРОВАНИЕ И ПЕРЕДАЧА ИНФОРМАЦИИ
УДК 004.7
МЕТОДИКИ ОЦЕНКИ ПАРАМЕТРОВ РАДИОКАНАЛА
С. Д. Андреев,
аспирант С. А. Семёнов, аспирант А. М. Тюрликов,
канд. техн. наук, доцент
Санкт-Петербургский государственный университет аэрокосмического приборостроения
Ставится задача измерения пропускной способности и вероятности потери пакета в радиоканале. Уточняется, что в ряде практических приложений необходимо измерять значения пропускной способности с высокой дискретизацией. Предлагаются две методики получения искомых значений, удовлетворяющих выдвинутым требованиям, и обсуждаются границы их применимости.
The paper addresses the problem of the wireless channel throughput and packet error rate estimation. It is shown that some practical applications require the throughput estimation values obtained with high sampling rate. Two methods are introduced to obtain the sought values with high sampling rate and the limits of their applicability are discussed.
Постановка задачи
При передаче видеоданных с высоким разрешением системе, осуществляющей такую передачу, требуется значительный объем ресурсов канала связи. Например, при передаче HDTV-видеоданных [1] по беспроводным широковещательным каналам связи стандарты беспроводных сетей передачи данных накладывают различные ограничения на объем доступных системе передачи ресурсов.
Для выбора оптимальных параметров работы схемы передачи в режиме реального времени необходимо построение той или иной модели канала связи. Для построения такой модели требуется предварительно измерить основные параметры радиоканала (вероятность ошибки и пропускную способность). При этом, в силу существования ограничения на доступные системе передачи ресурсы, пропускную способность необходимо измерять с максимально высоким разрешением по времени, что представляет собой, как будет показано ниже, определенную сложность. Рассмотрим перечисленные параметры канала связи с более формальной точки зрения.
Важнейшей характеристикой любой системы передачи данных, бесспорно, является физическая скорость передачи R (Bit rate, Data rate), равняющаяся числу бит, передаваемых источником в единицу времени. В теореме для канала с шумом К. Шеннон ввел теоретический предел, или пороговое значение, для величины R. В зарубежной ли-
тературе этот порог носит название Capacity (C), а в отечественных работах за ним закрепилось название пропускной способности канала связи. Термин Capacity часто употребляют синонимично с термином Maximum throughput, однако сам термин Throughput означает объем данных, принимаемый получателем в единицу времени. При решении реальных задач исследователя интересует именно реальное значение Maximum throughput или его наиболее точная оценка. К сожалению, в отечественной литературе нет установившегося эквивалента термину Throughput, поэтому далее мы будем не совсем правильно называть пропускной способностью реальное значение Maximum throughput.
С вероятностью ошибки дела обстоят несколько проще. Очевидно, наличие шумов в реальном канале связи ведет к тому, что на стороне получателя значения некоторых бит передаваемого пакета данных изменяются на противоположные. Естественным параметром канала тогда становится вероятность ошибки на бит (Bit Error Ratio — BER). В реальных системах для обнаружения битовых ошибок применяются всевозможные схемы помехоустойчивого кодирования, которые уничтожают принятый пакет, если не удается исправить в нем все обнаруженные ошибки. Таким образом, даже оценка вероятности ошибки на бит выглядит весьма затруднительной. Однако упрощенно можно представлять, что пакеты данных в канале связи «те-
ряются» с некоторой вероятностью. Тогда достаточно легко вычислить оценку вероятности потери пакета (Packet Error Ratio — PER). Подводя итог, отметим, что для решения поставленной задачи необходимо получить оценку пропускной способности канала с высокой дискретизацией, а также оценку вероятности потери пакета в среднем.
При передаче видеоданных по сети, особенно в режиме реального времени, основным требованием является отсутствие задержек при воспроизведении. При этом допускается частичная потеря качества изображения. Поэтому для передачи видеоданных следует по возможности свести к минимуму повторные передачи пакетов на канальном уровне, а лучше совсем от них отказаться.
В этих условиях использование протокола TCP является неэффективным, так как данный протокол изначально проектировался для проводных сетей, в которых ошибки редки, и если и возникают, то чаще всего являются результатом перегрузки. Поэтому когда в канале происходят потери пакетов, протокол TCP уменьшает окно передачи, снижая, таким образом, скорость передачи данных. Протокол UDP допускает потери пакетов на канальном и физическом уровне, поэтому в статье будут рассматриваться методы измерения пропускной способности с использованием именно этого протокола.
Средства измерения пропускной способности
Существующие средства измерения (с открытым исходным кодом) пропускной способности сети, такие как iperf, netperf, ttcp и treno [2-5] не подходят для решения поставленной задачи, поскольку ориентированы скорее на определение «проблемных» участков сетей со сложной топологией, чем на измерения в одном канале с двумя абонентами (источником и получателем). Под «проблемными» участками здесь подразумеваются места, в которых производительность сети падает по причине перегрузок отдельных компонентов, например вследствие неправильной настройки коммутаторов или брандмауэров.
Поддержку измерения пропускной способности с использованием протокола UDP имеют практически все рассматриваемые средства измерения. Однако предоставляемое временное разрешение составляет не выше 100 мс и является неприемлемым для задачи построения имитационной модели канала передачи видеоданных. Ниже, после обсуждения особенностей функционирования операционной системы (ОС), предлагаются две методики оценки рассмотренных параметров радиоканала, которые дают более высокое разрешение по времени.
Особенности реализации сокетов в ОС Windows
В целях реализации рассматриваемых методик опишем процесс создания приложения на основе архитектуры «клиент—сервер». При этом клиент (ис-
точник) будет, действуя по какому-либо алгоритму, посылать пакеты, а сервер (получатель) будет получать и обрабатывать пакеты так, чтобы результатом явилась искомая оценка. Программный интерфейс, с помощью которого осуществляется передача пакетов, называется сокетом и определяет пару значений <1Р-адрес, порт>. С точки зрения ОС, сокет связан с парой буферов определенной длины, один из которых содержит пакеты, предназначенные для отправки (выходной), а другой — принятые, но еще не обработанные пакеты (входной).
По функционированию сокеты подразделяют на блокирующие и неблокирующие. Блокирующие сокеты приостанавливают (блокируют) исполнение программы в двух случаях: если выходной буфер заполнен, а в него делается попытка записать новый пакет, и если входной буфер пуст, а из него делается попытка считать очередной пакет. Неблокирующие сокеты, как ясно из названия, не приостанавливают работу программы ни в одном из этих случаев. Тип сокета получателя чаще всего выбирают блокирующим, поскольку пока пакеты из канала не пришли, считывание из входного буфера получателя бессмысленно. Вопрос выбора типа сокета источника представляется более интересным. При использовании блокирующего сокета можно гарантировать, что все пакеты, сгенерированные источником, рано или поздно попадут в канал. Таким образом, поскольку потерь пакетов из-за переполнения буфера источника не возникает, данный тип сокета подходит для измерения оценки вероятности потери пакета, например способом непрерывной передачи пакетов в канал.
Однако существует один тонкий момент, заключающийся в том, что при достаточно высокой заполненности выходного буфера, особенно при его переполнении, возрастает нагрузка на ОС, связанная с обработкой вновь поступивших пакетов. Экспериментально было выяснено, что в ОС Windows при постоянном переполнении блокирующего сокета число посылаемых в единицу времени пакетов уменьшается по сравнению с аналогичной величиной для неблокирующего сокета. Скорее всего, это вызвано тем, что ОС Windows начинает замедлять свою работу при частых попытках передачи управления приложению-клиенту после разблокировки сокета. Таким образом, появляется дополнительная задержка, которая тем больше, чем дольше буфер проводит в заполненном состоянии. Увеличение задержки, в свою очередь, ведет к уменьшению оценочных значений пропускной способности по сравнению с реальными значениями. Следовательно, использование методики непрерывной передачи пакетов в совокупности с блокирующим сокетом не решает проблемы точной оценки пропускной способности канала связи.
Методика непрерывной передачи пакетов
Первой из предлагаемых методик оценки параметров радиоканала является методика непрерыв-
ной передачи пакетов. Отправитель генерирует пакеты с произвольным содержимым и с максимально возможной интенсивностью передает по каналу. Получатель протоколирует время и размеры принятых пакетов, после чего вычисляется пропускная способность в каждый момент времени способом «скользящего окна».
Способ «скользящего окна» представляет собой сбор статистики в пределах некоторого временного интервала, называемого окном (рис. 1). В этом окне вычисляется пропускная способность, исходя из общего числа принятых бит. Полученное значение присваивается позиции окна. Затем окно сдвигается на следующий отсчет времени, и процедура вычисления повторяется.
Таким образом, точность оценки пропускной способности будет зависеть от размера окна, а разрешение по времени будет определяться величиной сдвига на каждой итерации. При обработке результатов эксперимента исследователь сталкивается с выбором: с одной стороны, при уменьшении размера окна увеличивается разрешающая способность по времени, с другой стороны, число пакетов в окне уменьшается и увеличивается ошибка оценки пропускной способности, которая может быть вычислена по следующей формуле:
Раске^е^'ЪЬ х 8
, где Раске^е^^ - длина
ДB =
WindowSize
пакета в байтах, а WindowSize — размер окна. Данная формула и была использована для выбора минимально возможного размера окна, исходя из заданных параметров точности измерения.
Очевидно, что для точной оценки пропускной способности при такой методике измерений необходимо максимально «загружать» канал. Поэтому источник должен посылать наибольшее возможное число пакетов в единицу времени. Как было отмечено выше, использование блокирующего сокета в этом случае не позволяет получить точную оценку пропускной способности. Для неблокирующего сокета использование методики непрерывной передачи пакетов будет приводить к переполнению выходного буфера и, как следствие, к неизбежным потерям пакетов на стороне источни-
ка. При таком подходе загруженность канала будет максимальна, однако оценить вероятность потери пакета не представляется возможным.
Интерпретация процесса передачи пакетов в терминах теории массового обслуживания
Для того чтобы показать, как можно обеспечить максимальную загрузку канала, опишем рассматриваемую систему передачи в терминах теории массового обслуживания. Тогда ее можно рассматривать как обслуживающий прибор с некоторым временем обслуживания и очередью под пакеты (рис. 2).
Для оценки параметров радиоканала требуется, с одной стороны, поддерживать такую систему массового обслуживания в состоянии насыщения (т. е. в очереди должен быть как минимум один готовый для передачи пакет), а с другой стороны, не допускать потерь пакетов, связанных с переполнением очереди. Предположим, что в простейшем случае время обслуживания рассматриваемого обслуживающего прибора постоянно: T0 = x.
Из теории массового обслуживания известно, что интенсивность входного потока пакетов в систему не должна превышать величины, обратной x, иначе количество пакетов в очереди будет неограниченно возрастать. Известно также, что величина _ совпадает с максимальной интенсивно-x
стью выходного потока, а значит, определяет искомый параметр пропускной способности канала связи.
Очевидно, что в реальных системах рассматриваемое время обслуживания является некоторой случайной величиной T0 = X. Тогда максимальная интенсивность выходного потока является обратной среднему значению X, т. е. математическому ожиданию X (М^]). Таким образом, для получения оценки пропускной способности канала необ-
1
ходимо оценить величину-------.
Чтобы еще более приблизиться к описанию реальной системы, но при этом сохранить относительную простоту модели, следует рассматривать
.Сдвиг^ | окна ■
Время
►
(*ь В) (й, В)
Рис. 1. Графическое представление первой методики измерения
■ Рис. 2. Простейшая модель системы передачи
систему передачи данных как две последовательно соединенные системы массового обслуживания, первая из которых соответствует вышележащим (верхним) уровням источника, а вторая включает его нижележащие (нижние) уровни (рис. 3). Очередь первой системы массового обслуживания как раз и представляет собой выходной буфер сокета, а обслуживающим прибором является ОС. Очередь второй системы обусловлена наличием буферизации пакетов на уровнях ниже сетевого [6].
Следует отметить, что функционированием первой системы можно управлять программно, задавая размер очереди (выходного буфера источника) и выбирая блокирующий или неблокирующий тип сокета, в то время как на поведение второй системы напрямую воздействовать не удается. Таким образом, основная сложность состоит в поддержании второй очереди в состоянии насыщения. Вви-
Источник пакетов
К получателю пакетов Канал связи
■ Рис. 3. Усложненная модель системы передачи
ду того, что при непрерывной передаче пакетов вторая очередь не всегда находится в состоянии насыщения, т. е. могут возникать перерывы в передаче пакетов, которые не могут быть учтены при обработке на стороне получателя, при использовании первой методики возникает неточность в оценке пропускной способности канала. Предлагаемый ниже подход призван решить данную проблему.
Описание методики оценки с использованием циклов
Для решения проблемы, связанной с переполнением выходного буфера неблокирующего сокета (первой из двух очередей на рис. 3), предлагается модифицировать алгоритм непрерывной посылки пакетов таким образом, чтобы в передаче пакетов возникали перерывы, которые бы учитывались на стороне получателя. Таким образом, все время эксперимента T по посылке N пакетов длиной L разбивается на так называемые циклы. В течение каждого цикла источник сначала посылает пакеты с максимально возможной интенсивностью так, чтобы они не переполняли выходной буфер. Затем источник ожидает оставшееся до конца цикла время, а заполненный буфер имеет за это время возможность освободиться (рис. 4). Центральным вопросом при использовании такого подхода является выбор подходящих параметров цикла, а именно, его продолжительности t и числа пакетов п в нем.
Для определения количества пакетов в цикле естественно учитывать размер буфера BS (в байтах) таким образом, чтобы суммарная длина этих пакетов nL не превышала BS. Как уже обсуждалось, имеет смысл выбирать число п так, чтобы пакеты заполняли не весь выходной буфер, а лишь некоторую его часть, определяемую коэффициентом заполнения FC (в процентах). Число пакетов
BS х FC
в цикле, не переполняющих буфер: п = ------
|_ L х100 ^
Тогда продолжительность цикла t рассчитывает ся, исходя из длительности эксперимента T и об-
п х T
щего числа посылаемых пакетов м: £ =----. При
N
этом можно также рассчитать количество циклов
" Т'
q в течение одного эксперимента: q = —
На стороне получателя вычисляется оценка веЛ N
роятности потери пакета в среднем как Р = 1-,
N
где N - общее число успешно принятых пакетов, N < N. Заметим также, что, зная число пакетов п в цикле, можно по номеру пришедшего пакета однозначно определить номер того цикла, в котором он был послан. Таким образом, для каждого цикла получатель замеряет время от момента приема первого пакета в цикле до момента приема послед-
Ш Рис. 4. Графическое представление второй методики измерений
него пакета в нем t', t > t. Кроме того, для каждого цикла вычисляется число успешно принятых в нем пакетов n', n' < п. Тогда оценкой пропускной спо-
„ Л п x L x В
собности будет являться величина о =------------
t' xlOOO2
[Мбит/с].
Проверка методик с использованием симулятора ns-2
Для проверки методик был использован симулятор ns-2 [Т]. В качестве модели была выбрана сеть, состоящая из двух узлов и канала без задержки, пропускная способность которого меняется со временем по следующему синусоидальному закону:
Т-W \ І • I nxt I
B(t) = C + A x sinl----I.
I period j
Буфер сокета моделируется очередью пакетов в канал, размер которой задается в пакетах и равен
SocketBufSize „ , я,.
---------------, где SocketBufSize — размер вход-
PacketSize
ного буфера сокета (в байтах), а PacketSize — размер пакета (в байтах).
Симулятор ns-2 позволяет моделировать работу очереди в режимах, полностью соответствующих работе блокирующего и неблокирующего сокетов. Как показало моделирование, результаты в обоих режимах оказались идентичными, что не отражает реальную ситуацию в ОС Windows. Обе методики, реализованные в симуляторе ns-2 (рис. 5, б) дают адекватную оценку пропускной способно-
сти канала. При использовании первой методики уменьшение окна статистики ведет к увеличению не только разрешающей способности, но и ошибки измерения.
Результаты измерений
Приведем результаты оценки параметров канала связи под управлением двух стандартов беспроводных сетей передачи данных: сравнительно нового стандарта для персональных сверхшироко-полосных (Ultra-WideBand — UWB) беспроводных сетей [8] (далее — стандарт UWB) и стандарта для
■ Рис. 5. Проверка первой методики измерения:
1— 50 +10хsin| nXt | [Мбит/с]; 2 — окно [ 0,001)
статистки — 0,1 мс, сдвиг 0,1 мс; 3 — окно статистки — 0,5 мс, сдвиг 0,1 мс
Время, с
Рис. б. Проверка второй методики измерения:
nxt
Ї — 5O + 1O x sin
O,O1
[Мбит/с]; 2 — бу-
фер 2О ООО байт; 3 — буфер ЇО ООО байт
Рис. 7. Зависимость вероятности потери пакета от времени для трафика различных приоритетов в сверхширокополосномрадиоканале: 1 — Best Effort; 2 — Video; 3 — Voice
локальных беспроводных сетей передачи данных IEEE 802.11 [9] (далее — стандарт WiFi). В целях потенциальной максимизации пропускной способности (уменьшения количества дополнительных пакетов) для базовой скорости стандарта UWB авторами была проведена соответствующая настройка оборудования. Выбранные для оценки канала параметры даны в табл. 1.
На графиках (рис. 7) показан характер временной зависимости вероятности потери пакета для различных значений приоритета трафика, заявленных в стандарте UWB. Каждая точка графиков получена по итогам посылки примерно 1 млн пакетов. Отметим, что наименьший приоритет трафика (Background) не рассматривался, поскольку для него значение вероятности потери близко к нулю, т. е. потери пакетов практически не происходят.
С повышением приоритета вероятность потери пакета в среднем увеличивается. Этот факт можно пояснить следующей гипотезой. Характеристики радиоканала постоянно изменяются, что можно условно представить как переход канала из «хорошего» состояния в «плохое» и обратно. В силу специфики используемого на канальном уровне алгоритма случайного множественного доступа с повышением приоритета абонент ждет меньшее время перед тем, как послать пакет в канал. Таким образом, повышение приоритета трафика ведет к тому, что «загрубляется» отслеживание состояний канала и передаваемый пакет искажается его «плохим» состоянием.
Таблица1
Параметр Значение
Количество абонентов 2
Политика подтверждения Без подтверждения (No-ACK)
Механизм RTS/CTS Отключен
Расстояние от источника до получателя 1 м
Особенности беспроводной среды Линия видимости (Line Of Sight—LOS)
Скорость передачи данных Я 53,3 Мбит/с
Механизм доступа к каналу Состязательный доступ с приоритетом (PCA)
Время, с
Рис. 8. Зависимость пропускной способности канала от времени для трафика различных приоритетов в сверхширокополосном радиоканале: 1 — Voice; 2 — Best Effort; 3 — Background; 4 — Video
Время, с
Рис. 9. Зависимость пропускной способности канала от времени: 1 — для сверхширокопо-лосного радиоканала; 2 — для радиоканала WiFi
Далее продемонстрируем зависимость пропускной способности от времени. На рис. 8 дано сравнение четырех приоритетов стандарта UWB. Видно, например, что значения для трафика с приоритетом Video расположены выше остальных, что поясняется заданным в стандарте UWB максимальным временем «захвата» канала для трафика этого приоритета. Однако для приоритета Video наблюдается также наибольший размах колебаний полученных значений пропускной способности. На рис. 9 сравнивается временная зависимость оценки пропускной способности WiFi-канала с аналогичной оценкой для UWB-канала с наименьшим приоритетом трафика. Видно, что уже на базовой скорости 53,3 Мбит/с пропускная способность канала UWB выше.
Заключение
В данной статье решалась задача получения оценочных значений пропускной способности с
Литература
1. High-definition television. http://www.dtv.gov/
2. Средство измерения Iperf. http://dast.nlanr.net/ Projects/Iperf/
3. Средство измерения Netperf. http://www.netperf. org/netperf/
4. Средство измерения Test TCP (TTCP). http://www. pcausa.com/Utilities/pcattcp.htm
5. Средство измерения TReno. http://www.psc.edu/ networking/papers/inet96.treno.html
6. Стандарт ISO/IEC 7498-1 (рекомендации ITU-T (CCITT) серии X.200). Information technology - Open Systems Interconnection - Basic Reference Model: The Basic Model. Январь 1994. http://standards.iso.org/ ittf/PubliclyAvailableStandards/s020269 ISO IEC 7498-1 1994(E).zip
Таблица 2
Методика оценки Оценка пропускной способности Оценка вероятности потери пакета
Непрерывной передачи пакетов Дает наиболее высокое разрешение по времени Неприменима, поскольку пакеты могут теряться на стороне источника
С использованием циклов С момента посылки последнего пакета в цикле и до начала следующего цикла канал не отслеживается Может использоваться для оценки как вероятности потери, так и вида распределения ошибок
высокой дискретизацией и вероятности потери пакета в среднем применительно к радиоканалу. Показана необходимость в выработке некоторой методики измерений, поскольку доступные на сегодняшний день программные средства оказались неспособны решить поставленную задачу. Был предложен естественный алгоритм непрерывной передачи пакетов. Хотя использующая его методика измерений и позволяет получить наивысшее разрешение по времени, она оказывается неспособной вычислить значение вероятности потери пакета. Исходя из рассмотрения особенностей работы ОС по передаче пакетов был сформулирован альтернативный алгоритм посылки, предполагающий разбиение общего времени передачи на так называемые циклы. Данная методика позволяет решить поставленную задачу, получая оценки обоих параметров радиоканала за один эксперимент. Тем не менее, серьезным недостатком второй методики является наличие интервалов времени, когда параметры канала не отслеживаются. Результат сравнения предложенных методик измерения представлен в табл. 2.
7. Программа Network Simulator (ns-2). http://www.isi. edu/nsnam/ns
8. Стандарт ECMA-368. High Rate Ultra Wideband PHY and MAC Standard. Декабрь 2005. http://www.ecma-international.org/publications/files/ECMA-ST/ ECMA-368.pdf
9. Стандарт IEEE 802.11 (ISO/IEC 8802-11). IEEE Standards for Information Technology - Telecommunications and Information Exchange between Systems -Local and Metropolitan Area Network — Specific Requirements — Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Июнь 1997. http://standards.ieee. org/getieee802/802.11.html)