Характеристикипроизводительности коммутаторов

Основными характеристикамикоммутатора, измеряющими егопроизводительность, являются:

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

Скорость фильтрации искорость продвижения

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

Скорость фильтрацииопределяет скорость, с которойкоммутатор выполняет следующиеэтапы обработки кадров:

Скорость продвиженияопределяет скорость, с которойкоммутатор выполняет следующиеэтапы обработки кадров:

Как скорость фильтрации, так искорость продвижения измеряютсяобычно в кадрах в секунду. Если вхарактеристиках коммутатора неуточняется, для какого протокола идля какого размера кадра приведенызначения скоростей фильтрации ипродвижения, то по умолчаниюсчитается, что эти показателидаются для протокола Ethernet и кадровминимального размера, то естькадров длиной 64 байта (безпреамбулы), с полем данных в 46 байт.Если скорости указаны длякакого-либо определенногопротокола, например, Token Ring или FDDI,то они также даны для кадровминимальной длины этого протокола(например, кадров длины 29 байт дляпротокола FDDI). Применение вкачестве основного показателяскорости работы коммутатора кадровминимальной длины объясняется тем,что такие кадры всегда создают длякоммутатора наиболее тяжелый режимработы по сравнению с кадрамидругого формата при равнойпропускной способностипереносимых пользовательскихданных. Поэтому при проведениитестирования коммутатора режимпередачи кадров минимальной длиныиспользуется как наиболее сложныйтест, который должен проверитьспособность коммутатора работатьпри наихудшем сочетании для негопараметров трафика. Кроме того, дляпакетов минимальной длины скоростьфильтрации и продвижения имеютмаксимальное значение, что имеетнемаловажное значение при рекламекоммутатора.

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

Зависимость пропускнойспособности коммутатора от размерапередаваемых кадров хорошоиллюстрирует пример протоколаEthernet, для которого при передачекадров минимальной длиныдостигается скорость передачи в 14880кадров в секунду и пропускнаяспособность 5.48 Мб/с, а при передачекадров максимальной длины -скорость передачи в 812 кадров всекунду и пропускная способность9.74 Мб/c. Пропускная способностьпадает почти в два раза припереходе на кадры минимальнойдлины, и это еще без учета потерьвремени на обработку кадровкоммутатором.

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

Величина вносимой коммутаторомзадержки зависит от режима егоработы. Если коммутацияосуществляется "на лету", тозадержки обычно невелики исоставляют от 10 мкс до 40 мкс, а приполной буферизации кадров - от 50 мксдо 200 мкс (для кадров минимальнойдлины).

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

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

Оценка необходимойобщей производительностикоммутатора

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

Посмотрим, как можно оценитьповедение коммутатора на примересети, изображенной на рисунке 4.8.

Рис. 4.8. Распределениетрафика в сети, построенной накоммутаторе

Основой для оценки того, как будетсправляться коммутатор со связьюузлов или сегментов, подключенных кего портам, являются данные осредней интенсивности трафикамежду узлами сети. Для приведенногопримера это означает, что нужнокаким-то образом оценить, сколько всреднем кадров в секунду узел,подключенный к порту P2, генерируетузлу, подключенному к порту P4(трафик P24), узлу, подключенному кпорту P3 (трафик P23), и так далее, доузла, подключенного к порту P6. Затемэту процедуру нужно повторить длятрафика, генерируемого узами,подключенными к портам 3, 4, 5 и 6. Вобщем случае, интенсивностьтрафика, генерируемого одним узломдругому, не совпадает синтенсивностью трафика,генерируемого в обратномнаправлении.

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

Рис. 4.9. Матрица среднихзначений интенсивностей трафика

Подобную матрицу строят агенты RMONMIB (переменная Traffic Matrix), встроенныев сетевые адаптеры или другоекоммуникационное оборудование.

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

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

B і SijPij ,

где B - общая производительностькоммутатора, Pij - средняяинтенсивность трафика от i-го портак j-му; сумма берется по всем портамкоммутатора, от 1 до 6.

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

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

2. Номинальная максимальнаяпроизводительность протоколакаждого порта коммутатора должнабыть не меньше среднейинтенсивности суммарного трафика,проходящего через порт:

Сk і SjPkj + Si Pik,

где Сk - номинальнаямаксимальная производительностьпротокола k-го порта (например, еслиk-ый порт поддерживает Ethernet, то Сk равно10 Мб/с), первая сумма равнаинтенсивности выходящего из портатрафика, а вторая - входящего. Этаформула полагает, что порткоммутатора работает в стандартномполудуплексном режиме, дляполнодуплексного режима величину Сkнужно удвоить.

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

4. Производительность внутреннейшины коммутатора должна быть неменьше средней интенсивностисуммарного трафика, передаваемогомежду портами, принадлежащимиразным модулям коммутатора:

Bbus і SijPij ,

где Bbus - производительностьобщей шины коммутатора, а сумма Sij Pij беретсятолько по тем i и j, которыепринадлежат разным модулям.

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

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

Условия 1 и 2 применимы длякоммутаторов с любой внутреннейорганизацией, а условия 3 и 4приведены в качестве примеранеобходимости учетапроизводительности отдельныхпортов.

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

Однако, какой бы общейпроизводительностью не обладалкоммутатор, всегда можно указатьдля него такое распределениетрафика между портами, с которымкоммутатор не справится и начнетнеизбежно терять кадры. Для этогодостаточно, чтобы суммарный трафик,передаваемый через коммутатор длякакого-нибудь его выходного порта,превысил максимальную пропускнуюспособность протокола этого порта.В терминах условия 2 это будетозначать, что второе слагаемое Si Pik превышаетпропускную способность протоколапорта Сk. Например, если портыP4, Р5 и Р6 будут посылать на порт Р2каждый по 5 Мб/c, то порт Р2 не сможетпередавать в сеть трафик со среднейинтенсивностью 15 Мб/с, даже еслипроцессор этого порта обладаеттакой производительностью. Буферпорта Р2 будет заполняться соскоростью 15 Мб/с, а опустошаться соскоростью максимум 10 Мб/с, поэтомуколичество необработанных данныхбудет расти со скоростью 5 Мб/с,неизбежно приводя к переполнениюлюбого буфера конечного размера, азначит и к потере кадров.

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

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

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

Очевидно, что коммутатор будетнеблокирующим, если общаявнутренняя производительностькоммутатора B равна суммемаксимальных пропускныхспособностей протоколов всех егопортов Сk:

B = Sk Сk

То есть, если у коммутатораимеется, например, 12 портов Ethernet и 2порта Fast Ethernet, то внутреннейпроизводительности в 320 Мб/с будетдостаточно для обработки любогораспределения трафика, попавшего вкоммутатор через его порты. Однако,такая внутренняяпроизводительность являетсяизбыточной, так как коммутаторпредназначен не только для приемакадров, но и для их передачи на портназначения. Поэтому все портыкоммутатора не могут постоянно смаксимальной скоростью толькопринимать информацию извне -средняя интенсивность уходящейчерез все порты коммутатораинформации должна быть равнасредней интенсивности принимаемойинформации. Следовательно,максимальная скоростьпередаваемой через коммутаторинформации в стабильном режимеравна половине суммарнойпропускной способности всех портов- каждый входной кадр является длякакого-либо порта выходным кадром.В соответствии с этим утверждениемдля нормальной работы коммутаторадостаточно, чтобы его внутренняяобщая производительность быларавна половине суммы максимальныхпропускных способностейпротоколов всех его портов:

B = (SkСk)/2

Поэтому, для коммутатора с 12портами Ethernet и 2 портами Fast Ethernetвполне достаточно иметь среднююобщую производительность в 160 Мб/с,для нормальной работы по передачелюбых вариантов распределениятрафика, которые могут бытьпереданы его портами в течениедостаточно длительного периодавремени.

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

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

Размер адресной таблицы

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

Значение максимального числаМАС-адресов, которое можетзапомнить процессор порта, зависитот области применения коммутатора.Коммутаторы рабочих групп обычноподдерживают всего несколькоадресов на порт, так как онипредназначены для образованиямикросегментов. Коммутаторыотделов должны поддерживатьнесколько сотен адресов, акоммутаторы магистралей сетей - донескольких тысяч, обычно 4К - 8Кадресов.

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

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

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

Рис. 4.10. Использованиемагистрального порта для доставкикадров
с неизвестным адресом назначения

Хотя метод магистрального порта ибудет работать эффективно вомногих случаях, но можнопредставить такие ситуации, когдакадры будут просто теряться. Однаиз таких ситуаций изображена нарисунке 4.11. Коммутатор нижнегоуровня удалил из своей адреснойтаблицы адрес МАС8, которыйподключен к его порту 4, для того,чтобы освободить место для новогоадреса МАС3. При поступлении кадра садресом назначения МАС8, коммутаторпередает его на магистральный порт5, через который кадр попадает вкоммутатор верхнего уровня. Этоткоммутатор видит по своей адреснойтаблице, что адрес МАС8 принадлежитего порту 1, через который он ипоступил в коммутатор. Поэтому кадрдалее не обрабатывается и простоотфильтровывается, а,следовательно, не доходит доадресата. Поэтому более надежнымявляется использованиекоммутаторов с достаточнымколичеством адресной таблицы длякаждого порта, а также с поддержкойобщей адресной таблицы модулемуправления коммутатором.

Рис. 4.11. Потеря кадра прииспользовании магистральногопорта

Объем буфера

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

Для предотвращения потерь кадровпри кратковременном многократномпревышении среднего значенияинтенсивности трафика (а длялокальных сетей часто встречаютсязначения коэффициента пульсациитрафика в диапазоне 50 - 100)единственным средством служитбуфер большого объема. Как и вслучае адресных таблиц, каждыйпроцессорный модуль порта обычноимеет свою буферную память дляхранения кадров. Чем больше объемэтой памяти, тем менее вероятныпотери кадров при перегрузках, хотяпри несбалансированности среднихзначений трафика буфер все равнорано или поздно переполниться.

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

Предыдущаяглава | Оглавление| Следующая глава


Hosted by uCoz