Метод фильтрации трафика в Ethernet-мостах и условия его применения

УДК 004.71

Метод фильтрации трафика в Ethernet-мостах и условия его применения

Сергей Владимирович Маков, аспирант каф. «Радиоэлектронные системы», e-mail: makovs@rambler.ru Игорь Семенович Шрайфель, к.ф-м.н, доцент каф. «Математика»

Виктор Игнатьевич Литюк, проф. каф. «Радиоэлектронные системы»

ФГОУ ВПО «Южно-Российский государственный университет экономики и сервиса», г. Шахты, Ростовская область

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

The authors propose a method for traffic filtering in Ethernet bridges, based on the use of hash functions and operating without a full comparison of MAC-addresses. The article shows that this method allows reducing the maximum recording time in the table filter, and searching in it, as well as significantly reducing the size of memory, which is necessary to store the table filtering. The authors performed the calculation of the probability method of properly work of filter traffic of the bridge connecting the two networks. The graphs are constructed by analytical expression for calculating the probability and for the analysis of the conditions of applicability of the filter.

Ключевые слова: мосты Ethernet, хеш-функция, таблица фильтрации.

Keywords: bridges Ethernet, hash function, table filtering.

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

Для соединения сетей Ethernet применяются мосты (Bridge). Основной отличительной особенностью мостов Ethernet является фильтрация локального (внутреннего) трафика соединяемых сетей. Кадры Ethernet, предназначенные для узлов, принадлежащих одной сети, не должны передаваться мостом в другую сеть. На рис. 1 пунктирными стрелками изображен локальный трафик. Кадр от узла A1, адресованный узлу A2, должен быть отфильтрован портом 1 моста Ethernet. Кадр от узла A2, адресованный узлу удаленный сети В1 (сплошная стрелка), должен быть передан мостом с порта 1 на порт 2.

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

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

В настоящее время в большинстве мостов и коммутаторов Ethernet используется метод фильтрации локального трафика, основанный на анализе адресов источника и назначения кадра Ethernet [2]. Такой метод называется «фильтрация уровня MAC» (Media Access Control level filtering). Для реализации этого метода в коммутаторе создается самообучающаяся система, которая анализирует адреса источников кадров и заносит их в таблицу фильтрации соответствующего порта. Таким образом, в таблице фильтрации сохраняются адреса всех активных узлов сети, подключенных к соответствующему порту моста или коммутатора. Для каждого принимаемого кадра анализируется адрес назначения. Если адрес назначения совпадает с одним из адресов, записанных в таблицу фильтрации, то такой кадр не обрабатывается.

Основная трудность состоит в том, что ограничено время на принятие решения о необходимости дальнейшей обработки кадра. Если до прихода следующего кадра решение не будет принято, то кадр будет потерян.

Рис. 1. Фильтрация кадров Ethernet

Адрес записи

МАС источника   Хеш  Таблица Решение

МАС назначения Хеш Адрес чтения _ фильтрации

Рис. 2. Схема принятия решения о необходимости дальнейшей обработки

Применение хеш-таблиц [3] позволяет сократить время поиска МАС-адреса в таблице фильтрации, однако требуется значительное время для перебора цепочек ключей и полного сравнения МАС-адресов. Таким образом, производительность коммутаторов и мостов ЕШете! ограничена скоростью принятия решения о необходимости дальнейшей обработки кадров - фильтрации.

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

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

Данный метод (рис. 2) заключается в том, что для МАС-адресов вычисляется некоторая хеш-функция, разрядность которой значительно меньше разрядности МАС-адреса. Полученное таким образом значение будет являться адресом для по-

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

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

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

Таким образом, условия применения предложенного метода фильтрации зависят от требуемой вероятности несовпадения хеш-функций МАС-адресов из разных подсетей.

Найдем аналитическое выражение для расчета вероятности отсутствия совпадения хеш-функций для двух сетей, соединяемых мостом.

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

Для любого конечного множества X символом \Х\ будем обозначать число элементов этого множества.

Зададим произвольные натуральные числа т, / и г. Рассмотрим г попарно не пересекающихся /-эле-

Г

ментных множеств А1, А2,..., Аг, и пусть А = ^Д- .

1=1

Обозначим через tг (т; /) число т-элементных подмножеств В множества А, таких, что при каждом г=1, 2, г справедливо соотношение В П А ^ 0 (в дальнейшем для краткости будем писать tг вместо tг (т; /) ). Пусть к - наименьшее целое число, боль-т

шее или равное —: т

к -1 < — < к . (1) /

т

Тогда к < 1 +— < т +1, а значит, к < т . По/

кажем, что при г < к и при г > т tг = 0, а в случае к < г < т справедливо выражение

^=

I=к

где символом Ср обозначается число сочетаний п!

из п по р, равное ----------.

р!(п -р)!

Поскольку |А| = г/, то при г<к (т. е. при

г < к -1) \А < (к -1)/ < // = т (здесь используется

неравенство (1)) и во множестве А не существует ни одного т-элементного подмножества; при этом tг = 0 . Если же г > т , то любое множество В с А , пересекающееся с каждым из множеств А- , 1 <} < г, содержит не менее г (а значит, более т) элементов. Следовательно, и в этом случае tг = 0.

При к < г < т докажем формулу (2) методом математической индукции. В случае г=к правая часть (2) имеет значение

tk = (-1)к £ (-1)'ст-+к ^ =

г=к

__/ 1\к/ 1 \к ^т^0 _

= (-1) (-1) Ск/Ск = Ск/,

совпадающее с числом всевозможных т-элемент-ных подмножеств множества А (из (1) следует, что к/ > т). В силу вытекающего из (1) неравенства к/ - т < / все эти подмножества пересекаются с каждым из множеств А , 1 < г < к . Итак, при г = к равенство (2) доказано.

Предположим теперь, что оно верно при любом к < г < ] , где j - какое-либо целое число из промежутка к < j < т . Докажем его справедливость для г = j +1. Из г/ = (j +1)/ элементов множества А можно выбрать С™+1)1 т-элементных подмножеств. При каждом натуральномр положим

Чр =

= |{в с А: |В| = т,|{1 < 5 < j +1: В П А ^ 0} = р}.

Очевидно, что при р > j + 1 чр = 0; кроме того, из доказанного выше равенства tp = 0 при р <к следует справедливость равенства чр = 0 при тех же р. Таким образом,

О=£ Чр . <3>

р=к

Каждое слагаемое в сумме (3) можно представить в виде

Чр = £ Ч(Т),

Т с{1,2,..., ]+1}

Т1=р

где ч(Т) = |{В с А: |В| = т,В П А ^ 0 ^ г е Т} .

Нетрудно видеть, что последняя сумма состоит из Ср+1 слагаемых, каждое из которых равно

tp . Таким образом, чр = Ср+1, р = к,..., j +1. Подставив полученное выражение в (3) и учитывая равенство qj+! = tj+! , получим

tJ+1=Си+1)/- £ чр=си+1)/- £ ср+^р. р=к р=к

Воспользовавшись предположением индукции, подставим в последнюю сумму выражение (2), заменим в нем г на р:

<,+1=ст.«-Е с^.н)

-1)к X

р=к

<Е (-«'с

с'-к (р-'+ к)1ср •

'=к

Заменим в (4) индексы суммирования р и ' на

а=у +1-р+' и в = у + 1 -р . Имеем р = у + 1 -в,

Гк < р < у

' = а-в. Решая систему неравенств |к< < отно-

1 <в< у +1 - к

сительно а и в, получим систему . ,

к + в<а<у +1

которая, в свою очередь, равносильна системе к +1 <а< у +1 1 < в<а-к

Следовательно, соотношению (4) можно придать следующий вид:

ь+1=ст+ц/+(-1)к Е ст+1-а+к )1 (-1)ах

а=к+1

а-к

<Е (-1)1-всу++!-вса-в-к

У +1-в •

в=1

Упростим последнюю сумму:

Е (-1)1+в (у+1)!С/+1-в)!

; (у + 1 -в)!в!(а-в-ВД + 1-а + к)!

а-к

(у + 1)!(а — к)!

в=1

а-к

(а- к)!(у +1 -а + к )!в!(а-в- к)!

_Е (-1)вс“+-1к^в-в=1

( а-к

= с

а-к

у+1

Л

1 -Е св-* (-1)в1

а-к-в

в=0

=с“-к (1 - (-1+1)а-к) = с у-,

-у+1

поскольку а > к + 1. Итак,

у+1

<„1=у+(-1)к Е (- 1)а ст+1-а+„ „с

а-к

у+1

а=к+1

у+1

:(-1)к е (-1)а ст+1- а+к )гс

а-к

у+1

а=к

Применим формулу (2) к решению следующей вероятностной задачи. Наряду с введенными выше числами т, I, г, к зададим произвольным образом еще одно натуральное число п < г/ - т . Пусть 5 - наименьшее целое число, большее или

равное / . Во множестве А наудачу выберем т-эле-

ментное множество В, а затем во множестве А В наугад выберем п-элементное множество с. В данном случае слова «наудачу», «наугад» означают равные вероятности попадания в выбираемое множество для всех элементов исходного множества. Положим

Ь = {1 <' < г: В П А *0},

М = {1 <' < г: с П А1 *0},

Найдем вероятность того, что случайные множества Ь и М не пересекаются. Назовем благоприятной любую пару множеств В, с, выбор которой обеспечивает наступление этого события. Проведенное выше рассуждение позволяет указать диапазоны возможных значений случайных величин X и /и (при условии Ь ПМ = 0):

к < X < min

Поскольку к < т, 5 < п, то система неравенств (6) имеет решение тогда и только тогда, когда

к < г

что равносильно одному неравенству

5 < г - к'

к + 5 < г .

Итак, условие (7) необходимо и достаточно для положительности интересующей нас вероятности. Допустим, что оно выполнено. Тогда для каждого решения (2, и) системы (6) существует г!

----------------- пар множеств Ь,М с {1,2,...,г!,

2!и!(г - X - и)!

таких, что Ь ПМ = 0, 2 = |Ь|, и = М1. Каждой такой паре соответствует tX(т;I) п;I) благоприятных пар множеств В, с. Следовательно, общее число таких пар равно

min< г;т) min< г-2;п) !

р = Е Е 2и(гг\ ..\Мщ 1 )ги(п;1).

2=к и=5

2!и!( - X-и)!

и получаем равенство (2) при г = у +1. Следовательно, оно верно при всех к < г < т .

Подставив в правую часть этого равенства выражение (2), получим

шт(г;т) шт(г-,;п) .

р = У у -------------------------(-1)‘* х

Ь ц -х-ц)

X ц

хУ (-1)'СД-, ск у (-Ц'с;,-,,, „сц--.

г=к ,=s

Общее же число способов, которыми можно из г1 элементов множества А выбрать непересе-кающиеся т-элементное множество В и п-эле-ментное множество с, равно

д =________________.

т'п'(г1 -т -п)'

В соответствии с классическим определением вероятности, вероятность непересечения множеств Ь и М равна Рд .

Применим полученное аналитическое выражение для нахождения вероятности несовпадения хеш-функций МАС-адресов двух сетей, соединяемых мостом.

По стандарту 1БББ 802.3, МАС-адрес состоит из 48 бит, старший из которых обозначает принадлежность адреса к групповым адресам, которые не нужно анализировать. Таким образом, множество возможных МАС-адресов, которые необходимо

о47 7 о 47

анализировать, имеет 2 элементов, т.е. и = 2 .

Число элементов множества возможных значений хеш-функций зависит от способа ее вычисления. Наиболее распространенным способом вычисления хеш-функции является вычисление СЯС (контрольной суммы). В этом случае общее число значений хеш-функций будет зависеть от степени генераторного полинома. Для ^-битного СЯС количество элементов множества возможных значений хеш-функций будет 2ё. Аналогичная ситуация будет, если в качестве хеш-функции из 47 младших бит МАС-адреса выбрать g любых бит. Очевидно, что множество всех анализируемых МАС-адресов разбивается на 241-g подмножеств размером 2g, для которых хеш-функция одинакова, т.е. I = 247-g , г = 2g .

Приведем зависимости вероятности несовпадения хеш-функций от числа узлов в соединяемых сетях и от разрядности хеш-функции (рис. 3 и 4).

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

15-битной хеш-функции и числе узлов в каждой из сетей не больше 10 вероятность больше 0,997, а для

16-битной - 0,9985, что вполне приемлемо, так как чаще всего на практике мосты Б1Ьете1; применяют-

P/Q

£=15

Рис. 3. Вероятность несовпадения 15-разрядной хеш-функций

P/Q

1,00

0,99

0,98

0,97

0,96

0,95

0,94

0,93

0,92

0,91

0,9.

п=т=\ ^ — ^ - - ‘

s' 10 r

s' J у... r'

/

J f" 20

/ J...

/

7 /

/

Г i i

2-12

2-13

2-14

2-15

216

2-17*

Рис. 4. Вероятность несовпадения хеш-функций при заданном числе узлов двух соединяемых сетей

ся для соединения разнесенных на большое расстояние шлюзов. Число узлов в соединяемых таким образом сетях, как правило, не превышает 10.

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

Кроме того, можно изменять способ вычисления хеш-функции таким образом, чтобы были исключены совпадения их для разных сетей [4]. Такое адаптивное вычисление позволит использовать метод в крупных сетях, не увеличивая разрядность хеш-функции.

Предлагаемый метод был реализован в серии устройств МЦ-115Т, выпускаемых фирмой ООО «НПФ Сельсофт». Для реализации метода была использована ПЛИС фирмы Altera семейства Cyclone

(ЕР1С3Т144С8) (рис. 5). На реализацию метода было затрачено 68 логических ячейки и 32768 бит внутренней памяти. Такая реализация исключила необходимость ис-Рис. 5. Печатая плата моста пользования процессора Б&ете1 и значительно удешевила

устройство.

Испытания проводились в ведомственных сетях и сетях операторов услуг связи. В результате испытаний не было зарегистрировано ни одного случая совпадения вычисленных хеш-функций для МАС-адресов из соединяемых мостом сетей.

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

• в результате использования предлагаемого метода время принятия решения о необходимости фильтрации сократилось до одного такта и значительно снизились требования к аппаратным ресурсам, ввиду того, что отсутствует необходи-

мость использования процессора для работы с таблицей фильтрации;

• метод можно применять в мостах, соединяющих небольшие сети, для применения в больших сетях необходимо увеличивать разрядность хеш-функции;

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

ЛИТЕРАТУРА

1. Артюшенко В. М., Корчагин В. А. Анализ беспроводных технологий обмена данными в системах автоматизации жизнеобеспечения производственных и офисных помещений // Электротехнические и информационные комплексы и системы. 2010. Т. 6. № 2. С. 10 - 17.

2. Лаем Куин, Ричард Рассел. Fast Ethernet / Киев: Издательская группа BHV. 1998.

3. Кормен Т. Х., Лейзерсон Ч. И., Ривест Р. Л., Штайн К. Алгоритмы. Построение и анализ. Изд. 2-е. М: Вильямс. 2007.

4. Маков С. В. Быстрая фильтрация кадров в мостах

Ethernet с адаптивным вычислением хеш-функции // Современные проблемы радиоэлектроники: Сборник научных трудов. Ростов-на-Дону: РТИСТ ГОУ ВПО

«ЮРГУЭС». 2010.

Поступила 07.09.2010 г.

Уважаемые коллеги!

Федеральное государственное образовательное учреждение высшего профессионального образования «Российский государственный университет туризма и сервиса» приглашает Вас принять участие во всероссийской заочной научно-практической конференции «Информационные системы сервиса», которая состоится 4 апреля 2011 года.

НАПРАВЛЕНИЯ РАБОТЫ КОНФЕРЕНЦИИ

1.Мультимедийные технологии в сервисе

2. Проектирование информационных систем в сервисе

3. Беспроводные технологии в системах сервиса

РУКОВОДИТЕЛЬ КОНФЕРЕНЦИИ

Артюшенко Владимир Михайлович - д.т.н., профессор

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

Участникам заочной конференции в адрес Оргкомитета необходимо направить:

S заявку на публикацию статьи;

•/ текст статьи, оформленной согласно требованиям;

S копию об оплате публикации.

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

Контактная информация:

Тел. 8(496) 585-02-60; 8(495) 940-83-60, 61-63 доб. 395 - Логачева Ирина Николаевна

e-mail: redkollegiamgus@mail. ru