УДК 004.724: 004.728
М. К. Бойченко, И. П. Иванов
ВЕРОЯТНОСТНАЯ МОДЕЛЬ КОММУТАТОРОВ ЛОКАЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ
Рассмотрена методика расчета времени пребывания кадров в коммутаторах локальных вычислительных сетей с учетом доступности интерфейсов, зависящей от их взаимной блокировки для полнодуплексных режимов передачи информации.
E-mail: [email protected]
Ключевые слова: интерфейс, транзитный узел, сеть, блокировка, ресурс, хост, транспортная подсистема, маршрутизатор.
В современных компьютерных сетях в качестве транзитных узлов используются коммутаторы и маршрутизаторы, при этом наблюдается тенденция сближения коммутации и маршрутизации, что подтверждается наличием коммутаторов 3-го и 4-го уровней эталонной модели ISO/OSI и маршрутизаторов, реализующих стандарт MPLS (Multiprotocol Label Switching) [1, 2]. Как правило [2, 3], локальные компьютерные сети (ЛВС) строятся на коммутаторах различных уровней, функционирующих в полнодуплексном режиме обмена информацией на всех уровнях сети, начиная от уровня доступа (микросегментирование) и заканчивая магистральным уровнем (ядро транспортной подсистемы). Особенностью реализации транспортных подсистем на коммутаторах является неизбежность буферизации данных сетью при востребованности общих ресурсов различными информационными процессами, протекающими в хостах компьютерной сети [3, 4]. Доступность ресурсов транспортных подсистем корпоративных сетей существенно влияет на их производительность. Построить полностью неблокирующую ЛВС нереально, так как взаимная блокировка информационных потоков неизбежна уже в самих транзитных узлах для определенных схем коммутации входных и выходных интерфейсов. В работе [4] рассмотрены вопросы влияния возможной блокировки интерфейсов коммутаторов на время передачи кадра с порта на порт, однако исследован частный случай распределения информационных потоков, при котором конкретный выходной интерфейс равновероятно должен быть скоммутирован с одним из K входных интерфейсов при мультиплексировании потоков, или конкретный входной порт равновероятно коммутируется с одним из K выходных при демультиплексировании. Сам коммутатор рассматривается в этом случае как система массового обслуживания (СМО) и не учитывается полнодуплексность режимов передачи информации. Для более детального анализа функционирования коммутатора следует отказаться от его модели уровня системы и перейти к его модели уровня элементов, рассмотрев более
детально процесс передачи информации с порта на порт. Функционально любой коммутатор выполняет следующие операции.
1. Прием кадра из сегмента сети в аппаратный буфер порта, осуществляемый побитно. В технологии Ethernet, повсеместно применяемой в ЛВС, предварительно от источника к приемнику передается семь байтов преамбулы и один стартовый байт для синхронизации источника и приемника [3]. Время приема кадра зависит от его длины, измеряемой в байтах, и от пропускной способности входного интерфейса коммутатора, а точнее от пропускной способности сегмента между данным входным портом и взаимодействующим с ним интерфейсом (либо портом другого коммутатора, либо сетевым адаптером оконечного узла сети):
?Т = 8т, (1)
Ri
где T™ — время приема кадра (по биту) в аппаратный буфер i-го порта коммутатора, с; Li — размер кадра (в байтах), поступающего в i-й порт коммутатора; Ri — пропускная способность i-го интерфейса коммутатора (бит/с).
2. После приема первых шести байтов, следующих за преамбулой и стартовым байтом, оказывается известным MAC-адрес узла назначения ЛВС, т.е. того узла сети, которому предназначается данный кадр. По таблице коммутации, хранящейся в памяти входного порта, устанавливается номер порта коммутатора, в который следует передать поступающий кадр. Если требуемый порт свободен в этот момент времени, то принимаемый кадр уже может быть передан в выходной интерфейс и начата его дальнейшая передача по сети. Необходимым условием для такой передачи является равенство пропускных способностей входного и выходного портов коммутатора (Ri = Rj). Если обозначить через Zjom время коммутации i-го входного и j-го выходного портов, включающее время определения по таблице коммутации потребного выходного интерфейса и собственно коммутации, то суммарное время задержки на коммутаторе будет равно
-rmin _ тсот , 8 (8 + 6)
Ri
Tjin = j + V 7. (2)
Описанная процедура является так называемой коммутацией на лету, а Т™1П — минимально возможным временем передачи кадра из сегмента в сегмент сети. Отметим, что все это время на входной порт продолжают поступать байты входного кадра (по биту). Если Я^ = Я^, то коммутация "на лету" невозможна. Кроме того, ко времени определения потребного выходного интерфейса он может быть скоммути-рован с каким-либо иным портом коммутатора и требуется ожидание
его освобождения или в буферной памяти входного интерфейса могут присутствовать ранее поступившие на него и еще не переданные кадры. Не менее важной причиной непопулярности коммутации "на лету" является необходимость проверки контрольной суммы кадра, передаваемой дополнительно вместе с ним в концевике размером 4 байта (CRC — Cyclic Redundancy Check) [3]. В случае несовпадения передаваемого вместе с кадром концевика с аппаратно-вычисляемым по мере приема кадра в аппаратный буфер входного порта, принятый кадр считается искаженным и подлежит уничтожению в целях повышения общей производительности сети, снижающейся при необходимости повторной передачи искаженного кадра. Проверка совпадений CRC может быть выполнена лишь после приема в аппаратный буфер порта всего кадра, включая концевик. Отмеченные особенности коммутации "на лету" существенно ограничивают ее применимость [1].
3. По мере побитного приема кадра из сегмента сети в аппаратный буфер входного интерфейса могут выполняться различные операции, а именно:
— порционное переписывание кадра из аппаратного буфера в очередь, организуемую в оперативной памяти входного порта, с проверкой возможности размещения кадра в этой очереди и принятием решения об уничтожении этого кадра в соответствии с алгоритмами борьбы с перегрузками (TD - Tail Drop или WRED — Weighted Random Early Detect [2, 5]);
— выполнение запроса на коммутацию с требуемым выходным портом в соответствии с используемым алгоритмом обслуживания интерфейсов (например, WRR — Weighted Round Robin [2, 5]);
— продвижение кадра к началу (голове) очереди, организуемой в оперативной памяти входного порта, по мере эвакуации из нее информации в выходные интерфейсы и т.д.
После проверки целостности кадра сравнением концевика с аппа-ратно-вычисленным CRC устанавливается флаг готовности кадра к передаче в выходной порт и завершается его запись в оперативную память входного интерфейса. Обозначим через Tj время ожидания кадра с момента выставления флага готовности до достижения им головы очереди в оперативной памяти входного порта.
4. Осуществляется коммутация i-го входного порта с j-м выходным за время Xjom при условии отсутствия коммутации j-го порта с каким-либо иным интерфейсом коммутатора. В случае невозможности коммутации имеем режим блокировки, которая может длиться в течение времени TB.
5. После прекращения возможной блокировки и выполнения коммутации кадр порционно из головы очереди входного порта передается в хвост очереди выходного порта с последующей его эвакуацией.
Время передачи зависит от конструктивного выполнения коммутатора [1]. В случае коммутаторов с общей разделяемой памятью это время не зависит от размера передаваемого кадра. Для коммутаторов с общей шиной из-за ограничения разрядности последней время передачи оказывается пропорциональным размеру кадра. Аналогичная ситуация имеет место для коммутационных матриц. В работе [6] излагается методика определения времени передачи кадров коммутаторами различных производителей. Однако при этом рассмотрение коммутаторов как СМО уровня системы дает возможность рассчитать не собственно время передачи кадра из головы очереди входного порта в хвост очереди выходного интерфейса, а суммарное время пребывания кадра в ненагруженном коммутаторе. Если из полученных значений вычесть Tiin и Tjom, то могут быть установлены собственно значения времени передачи кадров с i-го входного порта на j-й интерфейс как функции размера передаваемого кадра TS _ TS (Li).
Общее время пребывания передаваемого кадра в коммутаторе можно найти суммированием соответствующих составляющих:
T _ Tin + Tcom i Tw т^ i Tw TB (3)
Tij _ Ti + Tij + Ti + Tij + Tj + Tij , (3)
где TiW — время пребывания передаваемого кадра в очереди i-го входного порта; Tw - время пребывания переданного кадра в очереди j -го выходного интерфейса.
Отметим, что время Tw явно зависит от TB — от числа очередей во входном интерфейсе и установленного на этом интерфейсе алгоритма обслуживания очереди. Время Tw также определяется числом очередей в выходном интерфейсе и приоритетностью их обслуживания при передаче кадров в следующий сегмент транспортной подсистемы ЛВС.
Рассмотрим функционирование коммутатора с N портами, реализующего полнодуплексные режимы передачи информации на всех своих интерфейсах. Для определенности будем считать, что в стационарном режиме на i-й входной порт поступает поток информации с интенсивностью Ai (кадр/с), складывающийся из кадров, предназначенных для разных выходных интерфейсов:
Ai = 5] Aij, i е 1 ,N, j e 1,N, (4)
j
где Aij - интенсивность потока кадров из i-го входного в j-й выходной интерфейс коммутатора.
Каждый поток моделируем по Бернулли, т.е. с вероятностью pij кадр имеет размер Lmin _ 84 байт и с вероятностью qij = 1 — pij — размер Lmax _ 1538 байт для технологии Ethernet [2, 3]. Средняя длина кадров, передаваемых с i-го входного на j-й выходной порт, может
быть найдена как математическое ожидание размера передаваемых кадров Ьг] = рг]Ьтп + (1 - рг])Ьтах.
Введем понятие востребованности портов заданием вероятностей п^-. За некоторый промежуток времени т на вход г-го входного порта для передачи на ^'-й выходной интерфейс поступает объем информации, бит:
Бц = 8Лг^ Ьг^т (5)
За этот же промежуток времени в г-й порт может поступить (в битах)
Вг = ДгТ. (6)
Тогда вероятность востребованности ]-го порта г-м может быть найдена как отношение Б^ к Вг, т.е.
Ьг] (7)
Пг3 = -К-• (7)
Кг
Таким образом, взаимная востребованность портов может быть описана квадратной матрицей [п^] размера N х N. Диагональные элементы этой матрицы для полнодуплексного режима передачи информации тождественно равны нулю, т.е. пгг = 0, г = 1,N. Также равны нулю элементы пг^, для которых Лг^ = 0, т.е. отсутствуют потоки информации из г-го в ]-й порт.
Вероятность невостребованности ]-го выходного порта ни одним из входных интерфейсов составляет
Рг0^ = Д(1 - Пг^), г = 1,N; 3 = 1,N••• • (8)
г
Вероятность того, что этому ]-му выходному порту за рассматриваемый интервал времени не требуется ни один из входных портов для полнодуплексного режима, равна
РгОГ = Д(1 - Пг), г = 1,N; 3 = 1,N••• • (9)
г
Вероятность востребованности ]-го выходного интерфейса только одним из входных портов
РтЩ = ^ пц Д (1 - Пг^), г = 1,N; 3 = 1,N••• • (10)
гг
Вместе с тем вероятность связи ]-го интерфейса для обратного потока информации в полнодуплексном режиме хотя бы с одним из входных интерфейсов составляет
Рг1°и = 1 - Рг0°и', ] = ... . (11)
С вероятностью (1 - Рг0*п - Рг1^п) ]-й выходной интерфейс требуется одновременно более чем одному из входных портов, а с ве-
роятностью Рг1°и этот порт уже связан с каким-либо из входных интерфейсов для передачи обратного потока информации при полнодуплексном режиме. Следовательно, вероятность блокировки на з'-м выходном интерфейсе
РгВз = 1 - Рг0}п - Рг1}п + Рг з = .... (12)
Отличие значения РгВз от нуля свидетельствует о дополнительной задержке входных информационных кадров в коммутаторе. Если недоступность з-го выходного порта вызвана уже существующей его коммутацией с каким-либо из входных интерфейсов, то математическое ожидание длительности его освобождения может быть найдено как
3 = ^i = 1,^; з = 1,^.... (13)
г
Если дополнительная задержка вызвана конкуренцией входных портов, то ее значение зависит от дисциплины обслуживания интерфейсов коммутатора. Так, например, для равновзвешенного циклического обслуживания (WRR) время равновероятно меняется от нуля (если первым обслуживается данный входной порт) до суммы времен передачи кадров всех остальных потоков (если данный входной порт оказывается последним в очереди на обслуживание), т.е. 1
г
Длительность блокировки можно найти как математическое ожидание рассчитанных задержек
ТВ = Рг1°^+ (1 - Рг1°^)т7 =
= РП^ТТ + РгО^Т" i = 1,^; з = .... (15)
Аналогичные формулы расчета математического ожидания времени блокировки могут быть выведены и для иных дисциплин обслуживания интерфейсов коммутатора.
Для экспериментальной проверки правильности полученных зависимостей необходимо создание сети, включающей в себя не менее трех хостов, подключенных к исследуемому коммутатору, и проведение большого объема экспериментов в реальной ЛВС, что планируется в ходе дальнейших исследований, проводимых в корпоративной сети МГТУ им. Н.Э. Баумана.
СПИСОК ЛИТЕРАТУРЫ
1. О л и ф е р В.Г., О л и ф е р Н. А. Новые технологии и оборудование 1Р-сетей.
-СПб.: БХВ, 2001. -512с.
ТП = njTS, i = 1,N; j = 1,N... . (14)
2. Таненбаум Э. Компьютерные сети. - СПб.: Питер, 2009. - 992 с.
3. О л и ф е р В. Г., О л и ф е р Н. А. Компьютерные сети. - СПб.: Питер, 2011. - 944 с.
4. Б о й ч е н к о М. К., И в а н о в И. П., Кондратьев А. Ю. Доступность ресурсов транспортных подсистем корпоративных сетей // Вестник МГТУ им. Н.ЭБаумана. Сер. Приборостроение. -2010. -№ 3. -C. 103-118.
5. Филимонов А. Ю. Построение мультисервисных сетей Ethernet. - СПб.: БХВ, 2007. - 592 с.
6. И в а н о в И. П. Математические модели коммутаторов локальных вычислительных сетей // Вестник МГТУ им. Н.Э Баумана. Сер. Приборостроение. -2009. - № 2. - C. 84-92.
Статья поступила в редакцию 25.10.2011
Максим Константинович Бойченко родился в 1978 г., окончил МГТУ им. Н.Э. Баумана в 2001г. Ведущий программист лаборатории ИТ Управления информатизации МГТУ им. Н.Э. Баумана. Специализируется в области информационных и телекоммуникационных технологий.
M.K. Boychenko (b. 1978) graduated from the Bauman Moscow State Technical University in 2001. Leading programmer of "Information Technologies" laboratory of Administration on Informatization of the Bauman Moscow State Technical University. Specializes in the field of information and telecommunication technologies.
Игорь Потапович Иванов родился в 1955 г., окончил в 1979 г. МВТУ им. Н.Э. Баумана. Проректор по информатизации, заведующий кафедрой "Теоретическая информатика и компьютерные технологии" МГТУ им. Н.Э. Баумана. Д-р техн. наук, доцент. Автор более 30 научных работ в области информационно-коммуникационных технологий.
I.P. Ivanov (b. 1955) graduated from the Bauman Moscow Higher Technical School in 1979. Ph. D. (Eng.), vice-rector on informatization, head of "Theoretical Information Technology and Computer Technologies" department of the Bauman Moscow State Technical University. Author of more than 30 publications in the field of data and communication technologies.