ВЛИЯНИЕ КОЛЛИЗИЙ НА ПРОИЗВОДИТЕЛЬНОСТЬ ETHERNET

В.А. Гулиус
Харьковский Национальный университет радиоэлектроники
пр. Ленина, 14, г. Харьков, 61166, gulius@mail.ru

Цель исследования. Стандартные сети Ethernet используют протокол CSMA/CD (протокол множественного доступа с опросом несущей и обнаружением коллизий) для управления доступом к общему каналу передачи пакетов. Одной из особенностей протокола CSMA/CD является наличие коллизий. MAC-контроллер каждой рабочей станции сети физически прослушивает трафик на канале и начинает передачу только, когда контроллер не обнаруживает другого трафика на канале. Все станции, подключенные к кабелю, начинают записывать передаваемые данные в свои буферы. Та станция, которая распознает свой собственный адрес в заголовке кадра, продолжает записывать этот кадр в свой внутренний буфер. Остальные станции на этом прием кадра прекращают.

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

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

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

$T = \rand (0, 2^{\min(N,~10)}) · 512 bt$,

где: $N$ – значение счетчика попыток;
$\rand (a,~b)$ – генератор случайных нормально распределенных целых чисел в диапазоне $[a,~b]$, включая крайние значения;
$bt$ – битовый интервал соответствует времени между появлением двух последовательных битов данных на кабеле.

Для оценки производительности сети Ethernet были разработаны как аналитические, так и ряд эмпирических моделей [1-3]. Например, в работе [1] авторами предложены аналитические модели расчета полезной пропускной способности сети Ethernet для кадров минимальной и максимальной длины. Однако, как отмечают авторы, при расчете предполагалось, что двум взаимодействующим станциям «не мешают» никакие другие станции, то есть в сети отсутствуют коллизии. Аналогичный недостаток характерен и для работы [3], в которой авторы предложили аналитическую модель оценки производительности сети Fast Ethernet.

Для эмпирической модели анализа теории очередей M/M/1 применительно к сети Ethernet, рассматриваемой в работе [1], авторы отмечают, что она также не учитывает такую важную особенность Ethernet, как коллизии.

В статье автор поставил перед собой цель: определить какое влияние оказывают коллизии на полезную пропускную способность сети Ethernet. Для решения поставленной задачи была выбрана эмпирическая модель сети Ethernet в среде MATLab + Simulink (рис.1), которая была дополнена автором рядом блоков, основное назначение которых состоит в сборе статистических данных, представляющих результаты моделирования.

Структура модели. Модель LAN Ethernet включает три рабочие станции, подключенные к общедоступному 10 Mbps каналу. Блок MAC Controller каждой станции работает в соответствии с протоколом CSMA/CD, реализуя процедуру коллективного доступа с опознаванием несущей и обнаружением коллизий.

Рабочая станция представлена тремя уровнями модели OSI: прикладным, канальным и физическим. Функции уровня Приложений реализует Application block, который моделирует работу пользователя сети. Блок параметров уровня Приложений позволяет задавать скорость генерирования пакетов, минимальный и максимальный размер пакетов.

На подуровень управления доступом (MAC – Media Access Control) возлагается функция проверки доступности разделяемой среды. Если разделяемая среда освободилась, пакет передается средствами физического уровня в сеть, проходит по каналу связи и поступает в распоряжение физического уровня узла назначения. Каждый контроллер MAC-уровня снабжается адресом. В модели сети принята упрощенная систем адресации присвоением возрастающей последовательности десятичных цифр 1, 2, … .

На физическом уровне в модели применен блок T-Junction, выполняющий функции Т-коннектора.

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

gva001.png, 31kB

Рисунок 1 – Эмпирическая модель сети Ethernet

Исследование модели. На первом этапе моделирования была поставлена задача определения соотношения количества рабочих пакетов и коллизий. Под рабочими пакетами подразумеваются пакеты, которые достигают рабочих станций сети без искажений. При этом изменяемым параметром был выбран размер пакетов, который принимал значения от 100 до 1500 с шагом 200. Установка параметров моделирования производилась в блоке параметров Прикладного уровня модели (рис.2).

gva003.png, 15kB

Рисунок 2 – Блок параметров прикладного уровня рабочей станции

Окно Rate of packet generation (packets/s) позволяет установить норму генерирования пакетов рабочей станцией. Этот параметр может быть рассчитан по формуле:

$R = 10^6/(L_f·8+(T_{int}-1))·0.1$, [кадр/с.],

где: $L_f$ – максимальная длина пакета в рабочем диапазоне; (например, для блока параметров, изображенного на рис. 2, $L_f=200$);
$T_{int}$ – межкадровый интервал.

В окнах Minimum packet size (bytes) и Maximum packet size (bytes) устанавливаются соответственно минимальный и максимальный размер пактов, которые задают диапазон генерирования размеров пакетов датчиком псевдослучайных чисел. Для параметра $L_f=100$ (рис. 2) минимальный и максимальный размер кадра принимают значения 72 и 200 байт соответственно.

Моделирование выполнялось в течение 20 единиц модельного времени. Результаты моделирования представлены в таблице 1 и на рис. 3.

Таблица 1 – Влияние коллизий на полезную пропускную способность Ethernet
Размер пакета
$L_f$
Число пакетов Относительный
коэффициент
рабочих пакетов, $D$
Пропускная способность
рабочих пакетов,
пак/с
Полезная пропускная способность
рабочих коллизий расчетная,
Мбит/с $B_{расч}$
рабочая,
Мбит/с $B_{раб}$
1 2 3 4 5 6 7
100 58780 2481 0.9595 10721 6.61 6.35
300 25163 2656 0.9045 3625 8.78 7.95
500 15143 2395 0.8634 2108 9.26 7.99
700 10640 2292 0.8228 1445 9.47 7.79
900 8083 2219 0.7846 1075 9.58 7.52
1100 6456 2170 0.7484 841 9.66 7.23
1300 5334 2110 0.7166 683 9.71 6.96
1500 4606 2206 0.6762 559 9.75 6.59

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

$D = R/(R + C)$,

где: $R$ – число рабочих пакетов;
$C$ – число коллизионных пакетов.

На рис. 3 представлена столбиковая диаграмма, на которой показаны количества рабочих пакетов и коллизий в зависимости от размера передаваемых по сети пакетов.

gva006.jpg, 27kB

Рисунок 3 – Зависимость количества рабочих пакетов и коллизий от размера пакета

Дальнейшие исследования модели Ethernet были направлены на определение влияния коллизий на одну из основных характеристик сети – полезную пропускную способность. Под полезной пропускной способностью протокола понимается максимальная скорость передачи пользовательских данных, которые переносятся полем данных пакета [1].

Полезная пропускная способность представлена в столбцах 6 и 7 табл.1, озаглавленных расчетная и рабочая. Расчетная полезная пропускная способность соответствует идеальному случаю, когда в сети отсутствуют коллизии.

Расчетная пропускная способность вычисляется:

$P_{расч} =10^6/(L_f·8+(T_{int}-1))·0.1$, [пакет/с.].

Рабочая пропускная способность вычисляется:

$P_{раб} =10^6·D/(L_f·8+(T_{int}-1))·0.1$, [пакет/с.];

где $D$ – относительный коэффициент рабочих пакетов.

Расчетная полезная пропускная способность вычислялась по формуле:

$B_{расч} = P_{расч}(L_f - 26)·8$, [Мбит/с.].

Рабочая полезная пропускная способность вычисляется:

$B_{раб} = P_{раб}·(L_f - 26)·8$, [Мбит/с.].

gva008.jpg, 44kB

Рисунок 4 – Зависимость полезной пропускной способности сети Ethernet от размера пакета

На основании графиков (рис. 4), отражающих результаты выполненного моделирования на эмпирической модели в среде MATLab, можно прийти к следующим выводам:

Перечень ссылок

  1. Олифер И.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Учебник для вузов. 3-е изд. – СПб.: Питер. 2006. – 958 с.: ил.
  2. Новиков Ю.В., Кондратенко С.В. Локальные сети: архитектура, алгоритмы, проектирование. М.: Издательство ЭКОМ, 2000. – 312 с.: ил.
  3. Гулиус В. А., Янковский А. А. Модель оценки производительности сети Fast Ethernet. Матеріали Х Міжнародної науково-технічної конференції “Системний аналіз та інформаційні технології”. Київ, 2008.

Список статей автора

  1. Гулиус В.А. Влияние дисциплины обслуживания заявок на производительность коммутатора. Представлены результаты исследований аналитических моделей и даны рекомендации по выбору дисциплины обслуживания заявок (пакетов LIFO) в буфере коммутатора, позволяющие снизить задержки, повысить полезную пропускную способность и обеспечить требуемое качество обслуживания (Quality of Service, QoS).
  2. Гулиус В.А. Исследование динамических характеристик пакетного коммутатора. В статье описано исследование, цель которого состояла в определении средних значений задержек продвижения пакетов в коммутаторе (в зависимости от размера пакета и емкости входного буфера), и в выявлении влияния дисциплины обслуживания заявок FIFO и LIFO на задержки.
  3. Гулиус В.А. Имитационная модель коммутатора. Цель данной работы – исследование характеристик коммутатора, и, в первую очередь, его производительности (в среде MatLab+SimEvents).
  4. Гулиус В.А. Интеллектуальная модель системы массового обслуживания с очередью типа D/D/1 в среде SimEvents (MATLab/SimuLink).
  5. Гулиус В.А. Влияние коллизий на производительность Ethernet. В статье выполнено исследование модели сети Ethernet в среде Simulink. Цель исследования – определение влияния коллизий на полезную пропускную способность.